大家好,我是小当家,一名正在备战明年暑期实习的计算机学生。相信很多同学和我一样,面对计算机网络这门“既重要又庞杂”的课程,常常感到无从下手:期末知识点琐碎,面试八股文深不见底,光看教材又容易昏昏欲睡。

为了最高效地攻克这个难题,我决定采取 “面试问题驱动”的学习方法,以广受好评的 湖科大教书匠老师的《深入浅出计算机网络》微课视频为核心教材,边学边记录这份核心笔记。本系列的最大特色是:

  1. 目标明确:一切内容围绕面试高频考点期末核心题型展开,不重要的知识果断“一笔带过”。

  2. 可视化学习:我会直接截取视频中的关键PPT作为图解,用最直观的方式帮助理解复杂概念(如三次握手、流量控制)。

  3. 实战导向:每个重要知识点后,都会附上我整理的面试真题/学校往年题,并给出答案分析。

本系列将根据我的学习进度持续更新,计划覆盖从物理层到应用层的所有核心协议。你的每一个点赞、收藏和关注,都是我持续更新的最大动力!

如果文章中有任何错误或更好的理解,欢迎在评论区指正交流!让我们一起进步!

视频链接:https://www.bilibili.com/video/BV1NT411g7n6?p=2&vd_source=dcfc9dbffa81a6fce64aad9c9dabcc17

其他资料:

        

颜色深浅代表重要程度(主要对于面试),对于期末考试一般带往年真题的就是重点,当然我也会用标出来

第一章

知识总汇图

核心知识详解

1.1 & 1.2 因特网概述 (基础概念,了解即可)

1. 网络、互连网、因特网

  • 网络:由若干结点和连接这些结点的链路组成。

  • 互连网:多个网络通过路由器互连起来,构成一个覆盖范围更大的网络,即“网络的网络”。

  • 因特网:当前全球最大的、开放的、由众多网络相互连接而成的特定互连网(Internet 首字母大写)。

2. ISP

  • 全称:因特网服务提供者。

  • 作用:普通用户通过ISP接入因特网。ISP拥有IP地址、通信线路和路由器等资源。

3. 因特网的组成

  • 边缘部分:由所有连接在因特网上的主机组成。用户直接使用,进行通信和资源共享。(我们开发的Java后端服务就处于边缘部分!)

  • 核心部分:由大量网络和连接这些网络的路由器组成。为边缘部分提供连通性交换服务。

1.3 三种交换方式 (重点掌握分组交换)

1. 电路交换

  • 特点:通信前需建立一条专用的物理通路。

  • 三步曲建立连接 → 通话 → 释放连接

  • 优点:时延小、有序传输。

  • 缺点:线路独占、效率低、灵活性差。

  • 类比:传统的电话网络。

2. ★ 分组交换 (核心!)

  • 特点:采用存储转发技术,将数据分割成一个个“分组”进行传输。

  • 流程

    1. 发送方:将报文划分为多个分组,添加首部(含地址、序号等信息)。

    2. 路由器:接收分组,暂存,查找转发表,转发到下一个接口。

    3. 接收方:接收分组,去掉首部,按序号还原为原始报文。

  • 优点:无需建立连接、线路利用率高、可靠性强。

  • 缺点:会引起转发时延,需要传输额外信息(分组头)。

  • 类比:邮寄明信片,一张写不完就分多张寄,每张都有收件人地址和序号。

3. 报文交换

  • 特点:与分组交换类似,但不对报文大小进行分割。(现代网络已很少使用)

总结对比

交换方式

特点

适用场景

电路交换

专用物理路径,实时性强

电话、视频会议

报文交换

存储转发,对报文大小无限制

已被分组交换取代

分组交换

存储转发,分割报文

现代互联网、数据传输


1.4 计算机网络的定义和分类 (了解即可)

  • 定义:一些互相连接的、自治的计算机的集合。

  • 分类(按覆盖范围)个域网PAN → 局域网LAN → 城域网MAN → 广域网WAN。这是考试常考点


1.5 计算机网络的性能指标 (非常重要,后端排查问题基础)

1. 速率

  • 指数据的传输速率,也称数据率或比特率。

  • 单位b/s(bps), kb/sMb/sGb/s

  • 注意:存储容量中的 B(字节)是 b(比特)的8倍。1 MB/s = 8 Mb/s

2. 带宽

  • 在计算机网络中,表示网络的通信线路传送数据的能力,即“最高数据率”。

  • 单位:同速率。网络带宽越高,能力越强。

3. 吞吐量

  • 表示在单位时间内通过某个网络的实际数据量

  • 受网络带宽限制。吞吐量 ≤ 带宽

4. ★★ 时延 (核心概念!)

数据从网络的一端传送到另一端所需的总时间,由四部分组成:

  1. 发送时延:主机或路由器发送数据帧所需的时间。发送时延 = 数据帧长度 / 发送速率

  2. 传播时延:电磁波在信道中传播一定距离需要的时间。传播时延 = 信道长度 / 电磁波传播速率

  3. 处理时延:主机或路由器在收到分组时要花费一定时间进行处理。

  4. 排队时延:分组在进入路由器后要在输入队列中排队等待处理。

总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

对于后端开发:高并发时,排队时延会急剧增加,导致请求响应变慢。

5. 时延带宽积

  • 公式时延带宽积 = 传播时延 × 带宽

  • 意义:表示链路上可容纳的比特数量,即“以比特为单位的链路长度”。

6. 往返时间RTT

  • 从发送方发送数据开始,到发送方收到接收方的确认所经历的时间。

  • 重要性TCP协议的很多机制(如超时重传)都依赖于RTT,直接影响网络性能。

7. 利用率

  • 信道利用率:信道有百分之几的时间是被利用的。

  • 网络利用率:全网络信道利用率的加权平均。

  • 重要规律:根据排队论,利用率增大,时延会急剧增加。关系式:D = D0 / (1 - U)D0为空闲时延,U为利用率)。因此,ISP通常控制利用率不超过50%。

8. 丢包率

  • 在一定时间内,传输中丢失的分组数量与总分组数量的比率。

  • 原因:①分组误码被丢弃;②网络拥塞(路由器队列已满)时被丢弃。

  • 意义:反映网络拥塞程度。丢包率 > 5%表示网络严重拥塞。

1.6 计算机网络体系结构 (本章核心,必须彻底掌握!)

1.6.1 常见的三种体系结构

重点掌握五层协议体系结构,它是学习和教学的标准模型。

层次

功能

协议数据单元

对应Java后端开发

5. 应用层

通过应用进程间的交互来完成特定网络应用

报文

HTTP, DNS, FTP- 你写的API就在这一层

4. 运输层

向两台主机中进程之间的通信提供通用的数据传输服务

报文段(TCP)/ 用户数据报(UDP)

TCP, UDP- 保证你的服务可靠通信

3. 网络层

为分组交换网上的不同主机提供通信服务

分组/数据报

IP- 负责寻址和路由

2. 数据链路层

将网络层交下来的IP数据报组装成帧,在一段链路上传输

以太网、PPP

1. 物理层

传输比特流,定义物理规格

比特

网线、光缆、无线电磁波

1.6.2 分层的必要性

    每一层都有自己要处理的事

  • 将复杂问题分解为若干个小问题,易于实现、标准化和维护。

  • 类比编程:面向对象编程中的“高内聚、低耦合”思想。

1.6.3 ★★ 分层思想举例:数据封装与解封装 (灵魂流程!)

以浏览器访问Web服务器为例:

1. 发送端(向下封装)

1. 应用层:HTTP请求 -> 构建 **HTTP报文**
2. 运输层:添加TCP首部(含端口号) -> 封装成 **TCP报文段**
3. 网络层:添加IP首部(含IP地址) -> 封装成 **IP数据报**
4. 数据链路层:添加首部(MAC地址)和尾部 -> 封装成 **帧**
5. 物理层:将帧看作比特流,转换为信号在物理媒体上传输

2. 路由器(解封装与再封装)

  • 在物理层、数据链路层、网络层工作。

  • 剥掉帧的首尾部,查看IP数据报首部的目的IP地址,查路由表决定转发方向,然后重新封装成新的帧转发出去。

3. 接收端(向上解封装)

1. 物理层:将信号转换为比特流 -> 交付给数据链路层
2. 数据链路层:去掉首尾部,检查误码 -> 将 **IP数据报** 交付给网络层
3. 网络层:去掉IP首部 -> 将 **TCP报文段** 交付给运输层
4. 运输层:去掉TCP首部,根据端口号找到对应进程 -> 将 **HTTP报文** 交付给应用层
5. 应用层:解析HTTP请求,生成HTTP响应,并按原路返回。

整个流程再返回

这个流程是理解整个网络通信的基石,务必反复理解,做到能自己画出来!

1.6.4 专用术语

  • 实体:任何可发送或接收信息的硬件或软件进程。同一层的实体叫对等实体

  • 协议:控制两个对等实体进行逻辑通信的规则的集合(水平)。

    • 三要素:语法(数据格式)、语义(要完成的操作)、同步(操作的时序)。

  • 服务:在协议的控制下,下层为上层提供的功能(垂直)。

  • 服务访问点:相邻两层实体交换信息的地方。如:数据链路层的“类型字段”,网络层的“协议字段”,运输层的“端口号”

  • PDU:对等层次之间传送的数据包(如TCP报文段、IP数据报)。

  • SDU:同一系统内,层与层之间交换的数据包(如运输层交给网络层的TCP报文段)。

实战

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐