小白也能轻松学的计算机网络零基础入门(附学习路线 + 计算机网络教程)

news2024/9/22 19:37:08

本文作者:程序员鱼皮

免费编程学习 - 编程导航网:https://www.code-nav.cn

介绍

计算机网络是指将地理位置不同的多台计算机或设备通过通信线路进行连接,从而实现信息传递和资源共享,或者组成一个更完整的计算机系统。

如今,我们开发的绝大多数程序都依赖网络来加载文件和数据,比如网站、小程序、后台程序等,因此计算机网络的重要性不言而喻。

学习计算机网络后,我们能够了解数据在不同计算机之间传输的过程和细节,一方面可以帮助我们了解一些基本的、生活中比较实用的网络知识,比如服务器、带宽、网速、流量等。另一方面,学好计算机网络,有助于我们开发出性能更高、更安全稳定的前端和后台应用。比如使用 HTTP 2.0 协议来代替 HTTP 1.x 来减少网页加载时间、使用 HTTPS 来提高网络的安全性、选用 UDP 而不是 TCP 协议来提高多人实时游戏数据的传输速度、在网络模型的第 4 层和第 7 层去实现负载均衡和 DDOS 防护等。

计算机网络也有很多知识点和设计值得学习,可以应用到我们平时的项目开发、系统架构中,比如计算机网络分层思想、TCP 三次握手和四次挥手的连接机制、TCP 通过滑动窗口来进行拥塞控制等,学习这些思想也有助于我们更好地理解框架的设计和源码。

此外,和操作系统一样,计算机网络也是 考研和面试的重点(尤其是前端和服务端开发),如果是大学期间的小伙伴,在课堂上就要认真学习!

如果你想要从事网络方面的工作,比如网络工程师、网络运维、网络实施等,计算机网络一定要重点学习!核心中的核心!

学习条件

  1. 至少学过一门编程语言(计算机网络理论知识较多,直接学容易被劝退)
  2. 急着找工作的同学可以先不学,等面试前直接看一些题目即可(从事网络方面的工作则必须好好学,不能等到面试再学)

大纲

知识

学习重点

  • 计算机网络分层模型以及各层的作用
  • 数据在两台计算机之间的整个网络传输过程(网站加载过程)
  • 应用层协议:HTTP、HTTPS、DNS
  • 传输层协议:TCP(重中之重)、UDP

知识点大全

  • 互联网基本概念

  • 计算机网络分类

  • 计算机网络分层模型

    • 分层思想
    • 协议和服务
    • OSI 七层模型
    • TCP / IP 四层模型
  • 计算机网络性能指标

    • 速率
    • 带宽
    • 时延
    • 利用率
    • 往返时间
    • 丢包率
    • 吞吐量
  • 应用层

    • 作用和原理

    • 应用进程通信方式

      • 客户 / 服务器方式
      • P2P 对等方式
    • 常用协议

      • HTTP
      • HTTPS
      • DNS
      • FTP
      • DHCP
      • NTP
      • 邮件相关协议
    • CDN

  • 传输层

    • 作用和原理
    • 复用和分用
    • 常用协议
      • TCP

        • 连接建立与断开
        • 流量控制
        • 拥塞控制
        • 超时重传机制
        • 可靠传输实现
        • 报文首部格式
      • UDP

        • 报文结构
      • UDP 和 TCP 的对比及应用场景

  • 网络层

    • 路由器

    • 常用协议

      • IP 协议

        • 地址划分
        • IPV4
        • IPV6
        • 数据报首部格式
      • ICMP 协议

      • ARP / RARP 协议

      • NAT 协议

      • OSPF 协议

      • BGP 协议

    • 路由选择算法

    • VPN 技术

  • 数据链路层

    • 作用和原理
    • 封装数据帧
    • 差错控制
    • 可靠传输
    • MAC 地址
    • PPP 协议
  • 物理层

    • 作用和原理
    • 物理介质
    • 数据交换方式
    • 信道复用
  • 网络安全

    • 加密
    • 认证
    • 防火墙
    • 常见攻击及防范

学习建议

  1. 计算机网络的理论知识较多,初学不建议啃教材或者专业书籍,而是通过一些趣味科普书籍或视频来逐步了解。
  2. 建议和写文章一样,从整体到局部去学计算机网络,先了解有哪些网络分层、每个层次的作用和联系,再去按序了解每个层次内部的协议和细节。
  3. 计算机网络知识不要去死记硬背,哪怕记不住也没关系,等自己开发程序的时候可以思考数据传输的过程(比如网站加载的过程),通过抓包等实操的方式来加深印象。
  4. 不从事网络相关工作的话,计算机网络不用学的很深入,学习完重点知识就够了,甚至直接通过看面试题去学习也完全没有关系。
  5. 如果要从事网络相关工作(比如网络工程师),建议去考一些认证,比如华为认证、思科认证等等,可以自行了解一下。

学习路线

建议大家按照以下 3 个阶段来学习:

  1. 基础学习
  2. 实际运用
  3. 备战面试

一、基础学习

急于求职的话,本阶段可跳过

本阶段的目标:了解计算机网络基础知识,跟着一个视频或书籍过一遍,对网络分层模型和重点知识有个大致的印象即可。

自学网络可能会比较枯燥,建议先看看有趣的课外书,比如《图解 HTTP》,当个睡前读物即可。

正式学习网络的话,如果目标是求职,可以看《计算机网络微课堂》视频课来入门。如果目标是考研升学,还在学校的同学好好上课一般就没问题了,自学的话可以看《王道计算机考研 - 计算机网络》视频,也可以阅读《计算机网络 - 自顶向下方法》或《计算机网络 - 谢希仁》等书籍。

后面要面试前,再重点去背一些八股文就行。

推荐资源
  • 视频
    • ⭐ 计算机网络微课堂:https://www.bilibili.com/video/BV1c4411d7jb(强烈推荐)
    • 王道计算机考研 - 计算机网络:https://www.bilibili.com/video/BV19E411D78Q(适合考研)
    • 中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版)》:https://www.bilibili.com/video/BV1JV411t7ow(适合考研、学术)
    • 中国大学 MOOC 哈工大计算机网络课程:https://www.icourse163.org/course/HIT-154005
  • 书籍
    • ⭐《图解 HTTP》:https://www.aliyundrive.com/s/HifozcgJwep 提取码: 9gc7
    • ⭐《图解 TCP / IP》:https://www.aliyundrive.com/s/XYyAymeeXRy 提取码: 9gc7
    • 《网络是怎样连接的》:https://www.aliyundrive.com/s/3FgCbvHGQQZ 提取码: 9gc7
    • 《计算机网络(第 7 版)》 谢希仁:https://www.aliyundrive.com/s/3VsnQoKqxdi 提取码: 9gc7
    • 《计算机网络 - 自顶向下方法(第 6 版)》:https://www.aliyundrive.com/s/Dc3itcB6GU9 提取码: 9gc7(大黑书,难度比较大,一般不推荐)
  • 大学课件
    • 浙大计算机网络基础:https://github.com/QSCTech/zju-icicles

二、实际运用

本阶段可跳过,在开发中实践即可

本阶段的目标:根据自己的职业发展方向进行不同的实践,运用和巩固计算机网络知识。

比如:

  1. 后端开发:基于 Socket 开发自己的通讯应用 / 框架、实现自己的浏览器、阅读开发框架源码等
  2. 前端开发:使用 HTTPS 协议增加网站安全性、使用 HTTP 2 协议提高网站加载速度、使用控制台等抓包工具分析请求 / 响应
  3. 网络工程师:使用华为 eNSP 或 Cisco Packet Tracer 模拟器搭建网络拓扑并进行配置
  4. 安全工程师:使用 Wireshark 之类的抓包工具分析数据包 / 数据帧
资源
实验
  • 《计算机网络-自顶向下方法(第 6 版)》编程作业:https://github.com/moranzcw/Computer-Networking-A-Top-Down-Approach-NOTES
  • 《计算机网络 - 自顶向下方法》习题 / 编程 / 实验答案:https://github.com/jzplp/Computer-Network-A-Top-Down-Approach-Answer
  • 哈工大计算机网络实验:https://github.com/rccoder/HIT-Computer-Network
网络相关认证
  • 华为 HCIA-HCIP-HCIE router&switch 视频教程:https://t.zsxq.com/FEiaEEA
  • H3C 厂商认证资料(面试+笔记+电子书+培训课件+实验手册+产品资料):https://t.zsxq.com/NBAQRZ3

三、备战面试

面试时对计算机网络的考察主要有 5 种形式(主要针对前后端开发):

  1. 直接问你某个具体的知识点,比如:讲解 TCP 三次握手和四次挥手机制
  2. 结合不同方向的专业知识来考察,比如:谈谈网站的加载过程(前端)、聊聊四七层负载均衡的实现和优缺点(后端)
  3. 通过实际开发中遇到的问题考察你的网络基础,比如:网站加载过慢,有哪些优化方式?
  4. 问你某个框架(轮子)的核心设计和源码细节,可能会包含计算机网络知识点的运用,比如 Netty 针对 UDP 协议的封装设计
  5. 系统设计类问题,比如:如何实现一个浏览器?(这种问题相对比较少)
经典面试题
  1. 计算机网络分层结构,各层有哪些常用协议?
  2. TCP 和 UDP 协议的区别?如何选择应用哪个协议?
  3. TCP 为什么需要三次握手和四次挥手?为什么不是两次握手、四次握手?为什么不是三次挥手?
  4. TCP 滑动窗口和拥塞控制机制
  5. TCP 如何保证可靠性?
  6. HTTP 协议常用状态码和含义
  7. HTTP 和 HTTPS 协议的区别?
  8. HTTPS 的原理、请求流程?
  9. HTTP 2 为什么快?
  10. HTTP 的短连接和长连接,以及如何选择?
  11. POST 和 GET 请求的区别
  12. 浏览器中输入URL 返回页面的过程?(包括 DNS 解析过程)
  13. Cookie 和 Session 的区别?
资源
总结复习
  • ⭐️ 小林的图解网络:https://pan.baidu.com/s/1D6ygpsrZbEKK9V-Z80xcvQ 提取码: ecf2(号主原创,质量很高)
  • 软件设计师计算机网络考点:https://pan.baidu.com/s/1K1hpKuS6XGG71jWr4N3UCg 提取码: 2g55
  • 软件设计师计算机网络基础知识:https://pan.baidu.com/s/1XJzDJcxRhqs360nw-_T8VA 提取码: cs81
  • 计算机网络基础面试宝典:https://pan.baidu.com/s/1whsPlPyDnQGf8uH5sV4Awg 提取码: 5j4n
  • 13 道计算机网络面试题:https://pan.baidu.com/s/1Ou_aEWq4o7cfoz1TY126TA 提取码: 8uru
面试题
  • 25 道计算机网络面试题总结:https://blog.csdn.net/lxw1844912514/article/details/120279006

加油小伙伴们!

更多编程学习资源

  • Java前端程序员必做项目实战教程+毕设网站
  • 程序员免费编程学习交流社区(自学必备)
  • 程序员保姆级求职写简历指南(找工作必备)
  • 程序员免费面试刷题网站工具(找工作必备)
  • 最新Java零基础入门学习路线 + Java教程
  • 最新Python零基础入门学习路线 + Python教程
  • 最新前端零基础入门学习路线 + 前端教程
  • 最新数据结构和算法零基础入门学习路线 + 算法教程
  • 最新C++零基础入门学习路线、C++教程
  • 最新数据库零基础入门学习路线 + 数据库教程
  • 最新Redis零基础入门学习路线 + Redis教程
  • 最新计算机基础入门学习路线 + 计算机基础教程
  • 最新小程序入门学习路线 + 小程序开发教程
  • 最新SQL零基础入门学习路线 + SQL教程
  • 最新Linux零基础入门学习路线 + Linux教程
  • 最新Git/GitHub零基础入门学习路线 + Git教程
  • 最新操作系统零基础入门学习路线 + 操作系统教程
  • 最新计算机网络零基础入门学习路线 + 计算机网络教程
  • 最新设计模式零基础入门学习路线 + 设计模式教程
  • 最新软件工程零基础入门学习路线 + 软件工程教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1964585.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【MySQL】用户管理连接池原理{数据库权限/连接池/mysql访问逻辑}

文章目录 1.普通用户的引入用户创建用户删除用户修改用户密码 2.数据库的权限给用户授权回收权限实操过程 3.简略介绍mysql连接池3.一个用户注册/登录/使用网页版mysql逻辑 1.普通用户的引入 用户 MySQL中的用户,都存储在系统数据库mysql的user表中 mysql> use…

Internet Download Manager(IDM)2024最新免费版电脑下载管理器

1. Internet Download Manager(IDM)是一款流行的下载管理软件,以其高速、稳定的下载性能著称。 2. IDM支持多线程下载,可以显著提高下载速度。 3. 该软件还具备恢复中断下载的功能,对于网络不稳定的用户非常实用。 …

蓝鹏测径仪非标定制订制流程

测径仪通常属于非标定制设备,非标定制意味着这些设备不是按照标准规格批量生产的,而是根据特定的客户需求和应用场景设计和制造的。例如,某些测径仪可能需要特殊的测量范围、精度、传感器或软件来满足特定的工业检测要求。 测径仪非标定制的…

Axure Web端元件库:构建高效互动网页的基石

在快速迭代的互联网时代,Web设计与开发不仅追求视觉上的美感,更注重用户体验的流畅与功能的强大。Axure RP,作为一款专业的原型设计工具,凭借其强大的交互设计能力和丰富的元件库,成为了众多UI/UX设计师、产品经理及前…

箱型图大揭秘!Matplotlib带你玩转数据界的‘变形金刚’

想要一窥数据深海的秘密?Matplotlib箱型图来助阵!不是魔术师,却能让数据‘箱’中显真章,异常值无所遁形。笑点低?不,是数据洞察力强!跟着这波操作,让数据可视化变得既科学又有趣&…

【手撕数据结构】链表面试题进阶

目录 相交链表环形链表扩展问题 环形链表||原理 随机链表的复制 相交链表 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 图示两个链表在节点 c1 开始相交: 思…

Centos7.6升级Nginx到nginx-1.27.0

Centos7.6升级Nginx到nginx-1.27.0 简介 升级过程 常见问题 简介 Nginx 更新到了1.27.0,为了系统的安全性将进行服务升级 升级过程 一、Nginx的卸载 升级前需要先卸载以前安装的版本 1、yum的卸载 > yum remove nginx同时还需要手动删除配置文件和日志文…

sqli-labs靶场——第三关

1、判断注入类型 ?id1和?id2-1的页面不一样 2、判断闭合类型 http://127.0.0.1/sqli-labs/Less-3/?id1)and 11 -- 页面正常 http://127.0.0.1/sqli-labs/Less-3/?id1)and 12 -- 页面变化 3、order by查看有几列 http://127.0.0.1/sqli-labs/Less-3/?id1)order by 4 --页面…

vue3+ts+pinia+vant-项目搭建

1.pnpm介绍 npm和pnpm都是JavaScript的包管理工具,用于自动化安装、配置、更新和卸载npm包依赖。 pnpm节省了大量的磁盘空间并提高了安装速度:使用一个内容寻址的文件存储方式,如果多个项目使用相同的包版本,pnpm会存储单个副本…

LABVIEW2016安装教程完整版安装图文教程、注册下载方法

大家好,今天分享下LABVIEW2016安装步骤,同样的安装前请大家务必退出杀毒软件,安装路径千万不要出现中文或其他特殊符号,否则都会导致安装失败的,跟着教程来安装都会安装成功的,如果你遇到了安装问题&#x…

springboot整合mybatis-plus(数据层Dao/Mapper测试)

第一部分:创建springboot文件 第一步:打开软件,点击file,点击new 然后选择module,在右侧选择springboot 第二步:选择配置和JDK以及java版本 ①选择maven类型 ②选择JDK1.8版本 ③选择java8版本 ④选择j…

破解监控难题,局域网电脑监控软件哪家强?

现在的环境,企业要想茁壮成长,员工的高效工作那可是关键中的关键。但不少老板都发现了一个头疼的问题,员工上班老是偷懒,这可怎么行?今天,就来给大家详细说道说道几款出色的局域网电脑监控软件,…

使用Nginx Proxy Manager配置Halo的反向代理和申请 SSL 证书

本文介绍Nginx Proxy Manager配置Halo的反向代理和申请 SSL 证书,如需要了解Halo 2的安装,参考 如何在Linux云服务器上通过Docker Compose部署安装Halo,搭建个人博客网站?。 文章目录 安装Nginx Proxy ManagerNginx Proxy Manager…

人工智能会越来越闭源——对话东北大学副教授王言治 | Open AGI Forum

作者 | Annie Xu 责编、采访 | Echo Tang 出品丨GOSIM 开源创新汇 在读期间研究方向为并不“火”的模式识别与深度学习,毕业却刚好踩上人工智能计算研究的风口……来自美国东北大学的王言治副教授深耕深度学习与大模型,前瞻性地探索大模型的本地化部署…

服务器并发模型

服务器: 单循环服务器:服务器在同一时刻只能响应一个客户端的请求 并发服务器模型:服务器在同一时刻可以响应多个客户端的请求 UDP:无连接 TCP:有连接 1.多进程 资源空间消耗大 效率低 2.多线程 相…

yolo格式数据集之地面道路病害检测4种数据集已划分好|可以直接使用|yolov5|v6|v7|v8|v9|v10通用

yolo格式数据集之地面道路病害检测4种数据集已划分好|可以直接使用|yolov5|v6|v7|v8|v9|v10通用 本数据为地面道路病害检测检测数据集,数据集数量如下: 总共有:8535张 训练集:5981张 验证集:1768张 测试集:786 类别数量…

机器学习之心一区级 | Matlab实现SMA-Transformer-LSTM多变量回归预测(黏菌算法优化)

机器学习之心一区级 | Matlab实现SMA-Transformer-LSTM多变量回归预测(黏菌算法优化) 目录 机器学习之心一区级 | Matlab实现SMA-Transformer-LSTM多变量回归预测(黏菌算法优化)效果一览基本介绍程序设计参考资料 效果一览 基本介…

leetcode 矩阵专题——java实现

73. 矩阵置零 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 关键在于:一次扫描全表…