1. 1. 总览
  2. 2. TCP/IP五层架构
  3. 3. 计算机网络与因特网
    1. 3.1. 1.2 互联网的边缘部分
    2. 3.2. !1.3 互联网的组成
    3. 3.3. ! 1.3计算网络的性能
      1. 3.3.1. 小结
    4. 3.4. 1.4 协议与划分层次
      1. 3.4.1. 分层
    5. 3.5. !1.5 计算机网络的类别
  4. 4. 一、物理层
    1. 4.1. 物理层的概念
    2. 4.2. 码元
    3. 4.3. 编码
    4. 4.4. 调制
    5. 4.5. 极限数据传输率计算
    6. 4.6. !信道复用技术
    7. 4.7. !常见的物理层设备
  5. 5. 二、数据链路层
    1. 5.1. 基本概念
    2. 5.2. !三个基本问题
    3. 5.3. PPP 点对点协议
      1. 5.3.1. PPP协议的组成
      2. 5.3.2. PPP协议的帧格式
      3. 5.3.3. PPP帧的透明传输的两种填充方式
    4. 5.4. 使用广播信道的数据链路层(局域网)
    5. 5.5. !网络适配器(网卡)的作用
      1. 5.5.1. !集线器、以太网交换机的区别和各自的功能特点
    6. 5.6. !交换机的自学习和转发帧
    7. 5.7. !虚拟局域网VLAN
  6. 6. 三、网络层
    1. 6.1. 两种服务
    2. 6.2. !IP地址
    3. 6.3. ! 路由协议与SDN
      1. 6.3.1. 地址掩码(子网掩码)
      2. 6.3.2. 无分类编码CIDR
    4. 6.4. 网络地址
    5. 6.5. 地址解析协议(ARP)
    6. 6.6. 网际控制报文协议ICMP
    7. 6.7. IPV6
    8. 6.8. 互联网的路由选择协议
    9. 6.9. 虚拟专用网VPN和网络地址转换协议
  7. 7. 四、传输层
    1. 7.1. ! TCP与UDP的对比
    2. 7.2. !可靠传输的工作原理
      1. 7.2.1. 1. 停止等待协议
      2. 7.2.2. 2. 连续ARQ自动重传请求
    3. 7.3. TCP协议
    4. 7.4. TCP连接管理
    5. 7.5. !TCP报文段的首部格式
    6. 7.6. !流量控制与拥塞控制
      1. 7.6.1. TCP拥塞控制的四大算法:
  8. 8. 五、应用层
    1. 8.1. DNS
    2. 8.2. DNS的作用
    3. 8.3. DHCP(动态主机配置协议)
      1. 8.3.1. FTP协议
      2. 8.3.2. 电子邮件
      3. 8.3.3. 万维网和HTTP协议

计算机网络学习

总览

应用层数据

传输层:在前面加 TCP/UDP 头 → 成为

网络层:在前面加 IP 头 → 成为 包(Packet)

链路层:在前面加 帧头(含 MAC 地址),在后面加帧尾(如 CRC 校验) → 成为 帧(Frame)

物理层:把整个帧转换成 0/1 比特流 发送

[ 应用层数据 ]

[ TCP头 ] + [ 应用层数据 ] → 段(Segment)

[ IP头 ] + [ TCP头 + 应用层数据 ] → 包(Packet)

[ 帧头 ] + [ IP头 + TCP头 + 应原数据 ] + [ 帧尾 ] → 帧(Frame)

010101010101… → 比特流(Bits)

🔸只有链路层通常会加“尾部”(如以太网帧的 FCS/CRC 校验码);

🔸 其他层(传输层、网络层)只加头部(Header)

image.png

image.png

image.png

TCP/IP五层架构

image.png

OSI七层架构

image.png

计算机网络与因特网

计算机网络的起源是形成一个自主、自治、互联的计算机系统

1.2 互联网的边缘部分

核心部分提供连通性和交换,主要提供分组交换

边缘部分主要做资源共享,资源放在边缘

**端系统进程间通信:**运行在一台主机上的进程和运行在另一台主机上的进程通过网络来通信

!1.3 互联网的组成

主机A与主机B通信是指:运行在主机A上的某个程序和运行在主机B上的另一个程序通信

  1. 通信模式:

    1. 客户服务器方式(C/S方式)

      Client/Server方式

      资源集中在服务器上

    2. 对等方式(P2P方式):

      Peer-to-Peer方式

      每个主机既是服务器又是主机

  2. 在网络核心部分其特殊作用的是路由器,路由器是实现分组交换的关键构件,任务是转发收到的分组

  3. 电路交换的特点:

    1. 面向连接
    2. 三个阶段:建立连接、通信、释放连接
    3. 缺点:利用率低(实际传送数据时间占比少)
  4. 分组交换的特点:

    1. 采用存储转发技术
    2. 在发送端,先把较长的报文划分为较短的、固定长度的数据段
    3. 在每一个数据段前面添加首部构成分组
    4. 以分组作为数据传输单元
    5. 优点

    image.png

  5. !!三种方式的对比:

对比维度 电路交换 报文交换 分组交换
是否建立连接 是(通信前建立专用物理通路) 数据报方式:否;
虚电路方式:是(逻辑连接)
传输单位 比特流(连续数据) 完整报文(整个消息) 分组(Packet)——报文被分割成多个小单元
资源占用 独占带宽,即使空闲也不释放 共享带宽,按需使用 共享带宽,高效利用
传输时延 低(建立连接后几乎无额外延迟) 高(每个节点需完整存储再转发) 中等(分组排队、处理带来一定延迟)
实时性 优(适合语音、视频等实时业务) 一般(可通过QoS优化)
线路利用率 低(尤其对突发性数据) 较高
可靠性 高(通路固定,有序无损) 依赖存储可靠性 可能出现乱序、丢失、重复,需高层协议处理
节点缓存需求 小(无需存储数据) 大(需缓存完整报文) 中等(只需缓存分组)
适用场景 传统电话网(PSTN) 早期电报、电子邮件(历史用法) 互联网(如IP网络)、现代数据通信
典型协议/技术 PSTN、ISDN —(现代网络中基本淘汰) IP(数据报)、X.25/帧中继/ATM(虚电路)

! 1.3计算网络的性能

  1. 速率:最重要的性能指标,指的是数据的传送速率,也称为数据率/比特率

    • 往往指的是额定速率(标称速率),并非实际运行速率
    • 单位:bit/s,Kbit/s,Mbit/s,Gbit/s等(跨度为10^3)
    • 注意与存储容量的区别(乘2^10 / 乘1024)
      • Byte(字节,基本单位)、KByte(KB)、MByte(MB)、GByte(GB)(跨度1024倍)
      • 1 Byte = 8bit
  2. 带宽:信号具有的频率成分范围,也可称为信道的频道宽度(允许通过的最高频率成分与最低频率成分之差

    • 单位:赫兹(Hz) KHz、MHz、GHz
    • 常用来表示网络中某通道传送数据的能力,表示在单位时间内网络中某信道所能通过的“最高数据率”(bit/s)

    image.png

  3. 吞吐量

    1. 在单位时间内通过某个网络(或信道、接口)的数据量。
    2. 用来测量实际上到底有多少数据量能够通过网络
    3. 受网络的带宽或网络的额定速率限制
  4. 时延:数据(一个报文或分组,甚至比特)从网络一端传送到另一端所需的时间,又是也称为延迟

    1. 由以下几个不同部分组成

      • 发送时延:发送数据,数据帧从结点进入到传输媒介所需时间。从发送数据帧的第一个bit开始算起,到该帧的最后一个bit发送完毕所需时间

      image.png

      • 传播时延:电磁波在信道中需要传播一定的距离而花费的时间,传播速率约为光速的60%-80%,速度不变(约为200m/us)
      • 处理时延:主机或路由器在收到分组时,为处理分组(如分析首部、提取数据等)所花费的时间
      • 排队时延:分组在路由器输入输出队列中排队等待处理所经历的时延。排队时延的长短往往取决于网络中当时的通信量
  5. 时延带宽积:又称为以比特为单位的链路长度,即某段链路中现在有多少比特,只有在代表链路的管道都充满比特时,链路才得到充分利用。

                  **时延带宽积 = 传播时延 * 带宽**
    
  6. 往返时间 (RTT)

    从发送方发送数据开始,到发送方收到来自接收方的确认,总共经理的时间

  7. 利用率

比特由香农在1947年提出,比 特称为信息的基本单位

比特(bit)也是计算机中数据量的单位,来源于(binary digit),表示一个二进制数字,一个比特表示二进制数字中的1或0

小结

image.png

1.4 协议与划分层次

分层

按功能进行抽象分层:

  • 定义层间接口和提供什么服务,层间如何调用服务
  • 对等层间的必须遵循的规则(协议)

两种标准:

TCP/IP协议(事实标准)

ISO-OSI/RM(国际标准)

  1. 概念网络协议,是为进行网络中的数据交换而建立的规则、标准或约定
  2. !网络协议的三个组成要素:
    1. 语法:数据与控制信息的格式或结构,解决交换信息的格式问题
    2. 语义:需要发出何种控制信息,完成何种动作以及做出何种响应,解决做什么的问题
    3. 同步:事件实现顺序的详细说明,什么时间什么条件下某一特定操作的规定

!1.5 计算机网络的类别

  1. 按照网络的作用范围:
    1. 广域网 WAN
    2. 城域网 MAN
    3. 局域网 LAN
    4. 个人区域网 PAN
    5. 注:如果CPU距离非常近(<1m)称为多处理机系统
  2. 按网络使用者分类
    1. 公用网(public network)
    2. 专用网(private network)
    3. 接入网(AN,Access Network):既不属于核心部分,也不属于边缘部分接入网是某个用户端系统到互联网中第一个路由器之间的一种网络

一、物理层

image.png

物理层的概念

  1. 定义:在连接各种计算机的传输媒体上传输比特流,确定与传输媒体接口有关的一些特性
  2. !物理层定义的特性
    1. 机械特性
    2. 电气特性
    3. 功能特性
    4. 过程特性

码元

概念:用一个固定时长的信号波形(数字脉冲),代表不同离散数值的基本波形,是数字通信中数字信号的计量单位,这个时长内的信号称为k进制码元,而该时长称为码元宽度。当码元的离散状态有M个时候(M>2),此时码元为M进制码元

image.png

码元传输速率(波特率):单位时间内传输的码元个数,单位是波特Baud(B)

编码

基带信号:来自信源的信号

  1. 编码(基带调制):变成数字信号
  2. 带通调制:变成模拟信号(带通信号)

常见的编码方式

  1. 归零编码:高1低0,后半段归零 (看整段)
  2. 非归零编码:高1低0,后半段不归零(只看前半段)
  3. 曼彻斯特编码
  4. 差分曼彻斯特编码

信道:表示向某一个方向传送信息的载体

调制

常用带通调制方式:

  1. 调幅
  2. 调频
  3. 调相
  4. 正交正幅调制

极限数据传输率计算

W:信道带宽

S/N:利用信噪比换算

  1. 奈氏准则(理想)

    在理想低通(无噪声、带宽受限)条件下,极限码元传输速率为2W Baud,W是信道带宽,单位是Hz,V是每个码元离散电平的数目(有多少种码元)

    理想低通信道下的极限数据传输率 = 2Wlog2(V) (b/s)

  2. 香农定理(噪声)

    在(有噪声、带宽受限)的信道中,为了不产生误差,信息的传输速率有上限值。

    信道的极限数据传输速率 = Wlog2(1+S/N) (b/s)

    信噪比(dB)= 10log10(S/N)

!信道复用技术

概念:把多个信号组合在一条物理信道上进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率。把一条广播信道,逻辑上分成几条用于两个节点之间通信的互不干扰的子信道,实际就是把广播信道转变为点对点信道。

静态划分信道(信道划分介质访问控制):

  1. 频分多路复用 FDM
  2. 时分多路复用 TDM → 统计时分复用(STDM)
  3. 波分多路复用 WDM
  4. 码分多路复用 CDM

!常见的物理层设备

设备 英文名 主要功能 是否严格属于物理层 说明
集线器 Hub 将多个设备连接到一个共享的局域网段;收到信号后广播到所有端口(无智能转发) ✅ 是 工作在物理层,不识别MAC地址,所有端口处于同一冲突域,已被交换机取代。
中继器 Repeater 放大和再生信号,用于延长传输距离(如以太网超过100米时) ✅ 是 仅处理电信号/光信号,不解析数据内容,纯物理层设备。
网线 Network Cable(如双绞线、光纤) 作为传输介质,承载比特流 ✅ 是 属于物理层的“传输媒介”,定义在物理层标准中(如 Cat5e、Cat6、单模/多模光纤)。
调制解调器 Modem(Modulator-Demodulator) 数字信号 ↔ 模拟信号相互转换(如用于电话线、光纤宽带接入) ⚠️ 主要工作在物理层 核心功能是信号调制/解调,属于物理层;但部分智能 Modem(如家用光猫)可能集成路由、NAT 等功能,涉及更高层。
网卡 NIC(Network Interface Card) 提供设备接入网络的硬件接口,发送和接收比特流 ⚠️ 横跨物理层和数据链路层 - 物理层部分:处理电信号、编码(如 Manchester 编码)、连接网线;
- 数据链路层部分:封装/解封装帧、处理 MAC 地址;
因此通常认为 NIC 同时涉及第1层和第2层

二、数据链路层

重点:

数据链路层的几个共同问题
网络适配器(网卡)的作用
CSM/ACD协议
链路层的设备
集线器、以太网交换机的区别和各自的功能特点
以太网交换机的自学习功能
虚拟局域网VLAN

基本概念

主要是解决局域网内传输问题

  1. 主要使用两种类型信道
    1. 点对点信道
    2. 广播信道
  2. 信道:指的是一个节点到相邻节点的一段物理线路,中间没有节点

!三个基本问题

  1. 封装成帧

image.png

image.png

帧的数据部分最大长度(MTU) = 1500字节

帧首部、尾部:定界。都是二进制形式

帧开始符(SOH)

帧结束符(EOT)

  1. 透明传输

    当帧的数据部分含有SOH、EOT的时候,会导致帧提前中断,所以为了防止这种情况,当数据部分出现SOH、EOT的时候,在前面填充一个一个ESC。

    透明传输概念:无论发送什么样的比特组合的数据,这些数据都能按照原样没有差错地通过数据链路层。用“字节填充”或“字符填充”。

  2. 差错控制

    概念:判断传输中是否产生误码,0→1 , 1→0

    常用的检错技术:循环冗余校验(CRC)

    算法:模2运算(异或)

    被除数:待发送数据+几个0(除数二进制位数-1)

    除数:(1)直接给出

       (2)多项式中提取各项系数、组合成除数(等同于添加多项式最高次数个0)
    

    image.png

CRC校验例题:

image.png

PPP 点对点协议

PPP协议的组成

  1. 一个将IP数据报封装到串行链路的方法
  2. 网络控制协议NCP
  3. 链路控制协议额LCP

PPP协议的帧格式

image.png

PPP帧的透明传输的两种填充方式

  1. 字节填充:异步传输使用字节填充,发送时,如果原载荷中含帧定界符、转义字符和控制字符,在其前面插入转义字符“7D”
    1. 帧定界符:一般为7E,填充时减去20,变为5E
    2. 控制字符:一般为ASCII中数值小20的字符,转换时加上20,如03+20→23

image.png

  1. 零比特传输:同步传输使用零比特填充,在发送端,先扫描整个信息段,只要发现5个连续1,立即填入一个0,接受时逆操作

使用广播信道的数据链路层(局域网)

广播信道的局域网:用同轴电缆或集线器组网

image.png

为了防止传输出现碰撞乱码:

!CSMA/CD协议:

(1)发送之前,对整条线路进行侦听

(2)边发边听

(3)发生冲突立即停止发送

(4)停止发送数据后,发送增强冲突信号

(5)执行退避算法

以太网(局域网)的两个主要标准:

  1. DIX Ethernet V2
  2. IEEE 802.3标准

根据标准的不同,数据链路层分为两层:

LLC 逻辑链路控制子层 (几乎不用)

MAC 媒体接入控制子层(物理地址/硬件地址)(48位,全球唯一,生产时标识)

!网络适配器(网卡)的作用

重要功能:

  1. 进行串行/并行转换
  2. 对数据进行缓存
  3. 在计算机的操作系统安装设备驱动程序
  4. 实现以太网协议

!集线器、以太网交换机的区别和各自的功能特点

特性 集线器(Hub) 以太网交换机(Switch)
OSI 层次 物理层(Layer 1) 数据链路层(Layer 2)
处理单位 比特(Bit) 帧(Frame)
是否识别 MAC 地址 ❌ 否 ✅ 是
冲突域数量 所有端口共享1个冲突域 每个端口独立1个冲突域
广播域数量 所有端口在1个广播域 所有端口默认在1个广播域(可用 VLAN 分割)
通信方式 半双工 全双工(主流)
是否需要 CSMA/CD ✅ 需要 ❌ 不需要(全双工无冲突)
数据转发方式 广播(所有端口都收到) 智能转发(仅目标端口)
性能/安全性 低、差 高、好
现代使用情况 已淘汰 广泛使用

!交换机的自学习和转发帧

  1. 自学习**目的:**构建并维护 MAC 地址表(也称转发表),记录 “MAC 地址 ↔ 端口” 的映射关系
  2. 过程:
    1. 交换机初始时 MAC 表为空
    2. 当收到一个帧时:
      • 读取帧的源 MAC 地址
      • 记录该地址来自哪个端口
      • <源 MAC, 入端口> 写入 MAC 表(若已存在则更新时间戳)。
    3. 表项通常有 老化时间(如 300 秒),超时未更新则删除。

!虚拟局域网VLAN

概述:在一台物理交换机上,虚拟出多个“逻辑交换机”,每个 VLAN 是一个独立的广播域。

三、网络层

主要是解决不同网络、远距离传输问题

两种服务

  1. 虚电路服务

    特点:必须建立连接、可靠,建立好连接后只能沿着连接通信

  2. 数据报服务(IP服务)

    特点:不需要建立连接、不可靠、尽最大努力交付

区别:

image.png

网际协议IP:TCP/IP体系结构网际层中的核心协议

!IP地址

世界范围内唯一的32位标识符,点分十进制计法

注意与MAC地址区分,MAC地址为48位(数据链路层)

IP地址的分类:IP地址可分为网络号和主机号,根据网络号和主机号的不同,可以分为五类

image.png

  1. A类地址

    8位网络号(第一位为0) 24位主机号

    范围 1.0.0.0 - 127.255.255.255

    image.png

  2. B类地址

    16位网络号(前两位为10) 16位主机号

    image.png

  3. C类地址

    24位网络号(前三位为110) 8位为主机号

    image.png

  4. D类地址

    前四位固定1110,后面为多播地址

    image.png

  5. E类地址

    前四位为1111,后面为多播地址

    image.png

! 路由协议与SDN

特性 RIP (Routing Information Protocol) OSPF (Open Shortest Path First) BGP (Border Gateway Protocol)
类型 IGP (内部网关协议) IGP (内部网关协议) EGP (外部网关协议)
算法 距离向量 (Distance Vector) 链路状态 (Link State) 路径向量 (Path Vector)
度量值 跳数 (Hop Count),最大15跳,16不可达 带宽/开销 (Cost) 策略 (Policy) + 属性 (AS-PATH)
交换信息内容 自己完整的路由表 (Routing Table) 链路状态通告 (LSA) - “我周围有哪些邻居” 网络可达性信息 (包含完整的AS路径)
交换对象 仅与相邻路由器交换 向本自治系统内所有路由器洪泛 与BGP对等体 (Peers) 交换
协议/端口 UDP / 520 IP / 协议号89 TCP / 端口179

地址掩码(子网掩码)

子网掩码:与IP地址一起使用,用于定义一个网络中哪些部分是网络地址,那些地址是主机地址

IP地址 ::= {<网络号> , <主机号>}

地址掩码 ::= {<11..11> , <00..00>}

A类网络的地址掩码:255.0.0.0

B类网络的地址掩码:255.255.0.0

C类网络的地址掩码:255.255.255.0

无分类编码CIDR

CIDR记法:斜线记法,a.b.c.d/n (二进制IP地址的前n位是网络号)

image.png

image.png

网络地址

网络地址 = (二进制的IP地址) AND (地址掩码)

image.png

网络地址与IP地址的区别:

  1. 定义不同

    1. IP地址是分配给网络中每一台设备的唯一标识符,用于在网络中定位和通信。例如:192.168.1.102001:db8::1

    2. 是一个IP地址段中的起始地址,用于标识整个子网(网络),而不是某台具体设备。

      例如:在子网 192.168.1.0/24 中,192.168.1.0 就是该子网的网络地址。yo

  2. 用途不同

    1. IP地址:用于主机之间的通信(如你的电脑、服务器、路由器接口等)。
    2. 网络地址:用于标识一个网络范围,在路由选择、子网划分、防火墙规则等场景中使用。
  3. 是否可分配给设备

    1. 网络地址不能分配给主机使用(它是保留的,表示整个网络)。
    2. IP地址(非网络地址、非广播地址)可以分配给具体设备

地址解析协议(ARP)

地址解析协议(ARP):通过IP地址找出相应的MAC地址

逆地址解析协议(RARP):通过MAC地址找出对应IP地址

网际控制报文协议ICMP

ICMP功能:差错报告

封装在IP数据报的数据部分

应用:分租间探测Ping

IPV6

IPV6:128位,分为八组(每组16位,采用冒号十六进制记法

零压缩:一串连续的零可以用一堆冒号代替,只能使用一次

FFD5:0:0:0:0:B3 - FFD5::B3

从IPV4向IPV6过度:

双协议栈 和 隧道技术

互联网的路由选择协议

image.png

RIP更新报文:

image.png

路由器的构成:路由选择部分和分组转发部分

路由器属于网络层设备

虚拟专用网VPN和网络地址转换协议

  1. 虚拟专用网VPN:利用公用的互联网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网VPN。使用隧道技术实现虚拟专用网VPN

  2. 网络地址转换协议NAT

    将本地地址转换为全球地址

四、传输层

[

UDP:无连接

TCP:面向连接

! TCP与UDP的对比

特性 UDP (User Datagram Protocol) TCP (Transmission Control Protocol)
连接性 无连接 (发送前不需要握手) 面向连接 (3次握手,4次挥手)
可靠性 不可靠 (不保证交付,可能丢包、乱序) 可靠交付 (无差错、不丢失、不重复、按序)
传输单位 报文 (保留应用层报文边界) 字节流 (Byte Stream,无边界)
控制功能 无拥塞控制、无流量控制 有流量控制、有拥塞控制
首部开销 小 (8 字节) 大 (最小 20 字节)
适用场景 实时视频、IP电话、广播多播、DNS 文件传输、邮件(SMTP)、网页(HTTP)

!可靠传输的工作原理

1. 停止等待协议

概念:每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。

出现差错:B当检测到接收出现差错的时候,丢弃包,其他不做

解决方法:超时重传:nA 为每一个已发送的分组都设置了一个超时计时器。nA 只要在超时计时器到期之前收到了相应的确认,就撤销该超时计时器,继续发送下一个分组 M2 。

2. 连续ARQ自动重传请求

概念:为克服停止等待的低效率,连续 ARQ 允许发送方连续发送多个帧,无需每发一帧就等待。

过程:

  • 发送方维持一个 发送窗口(Send Window),窗口内可连续发送多个帧;
  • 接收方通常采用 累积确认(Cumulative ACK):ACK n 表示“n 以前的所有帧都已正确接收”;
  • 若某帧丢失,则从该帧开始的所有后续帧都要重传(Go-Back-N)。

传输层的功能:提供进程与进程之间的逻辑通信,靠套接字Socket=(主机IP地址,端口号)找到应用进程

传输层会对收到的报文进行差错检测

image.png

常用的应用端口号(0-1023):

image.png

TCP协议

  1. TCP是面向连接(虚连接)的传输层协议

  2. 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的

  3. TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。(可靠有序,不丢不重)

  4. TCP提供全双工通信

    1. 发送缓存(滑动窗口):准备发送&已发送但未收到确认的数据
    2. 接收缓存:按序到达但尚未被接收应用程序读取的数据&不按序到达的数据(排序后交给应用层)

    image.png

  5. 报文由TCP首部+TCP数据部分构成

    1. 首部固定20字节

image.png

TCP连接管理

  1. 传输三个阶段:

    连接建立 → 数据传送 → 连接释放

    三次握手 四次挥手

  2. TCP连接采用C/S方式,主动发起连接建立的应用进程叫做客户,被动等待连接的应用进程叫服务器

!TCP报文段的首部格式

image.png

字段 长度 说明
源端口、目的端口 各占2字节 标识发送方和接收方的端口号
序号 (Sequence Number, seq) 4字节 指出本报文段数据部分的第一个字节的序号
确认号 (Acknowledgment Number, ack) 4字节 期望收到对方下一个报文段的第一个字节的序号口诀:若确认号为 $N$,则表明到序号 $N-1$ 为止的所有数据都已正确收到
数据偏移 (首部长度) 单位是4字节 指示TCP首部的长度
URG 控制位 紧急指针有效
ACK 控制位 确认号有效(建立连接后所有报文 ACK 必须为 1)
PSH 控制位 推送(接收方尽快交付应用进程)
RST 控制位 复位(连接出错,需重新建立)
SYN 控制位 同步(用于建立连接)。SYN=1, ACK=0 代表连接请求
FIN 控制位 终止(用于释放连接)
窗口 (Window) 2字节 指发送本报文段的一方的接收窗口。告诉对方:”我现在还能接收多少数据”。这是流量控制的基础

!流量控制与拥塞控制

比较维度 流量控制 (Flow Control) 拥塞控制 (Congestion Control)
目标 解决 发送方接收方 速度不匹配的问题 解决 网络 中过载导致性能下降的问题
参与者 端到端 (Sender $\leftrightarrow$ Receiver) 全局性 (Sender $\leftrightarrow$ Network $\leftrightarrow$ Receiver)
机制 滑动窗口 (接收方通告窗口 rwnd) 拥塞窗口 (cwnd) + 四大算法
控制手段 接收方在 ACK 中告诉发送方:“我窗口只有这么大,别发太快” 发送方检测网络拥塞(如丢包),主动减小发送窗口
最终发送窗口 $\min(\text{rwnd}, \text{cwnd})$ (取接收方窗口和拥塞窗口的最小值)

TCP拥塞控制的四大算法:

  1. 慢开始 (Slow Start):cwnd 指数增长 (1, 2, 4, 8…),直到达到门限值 (ssthresh)。
  2. 拥塞避免 (Congestion Avoidance):cwnd 线性增长 (加法增大),每经过一个 RTT 加 1。
  3. 快重传 (Fast Retransmit):收到3个重复ACK,立即重传丢失报文。
  4. 快恢复 (Fast Recovery):发生快重传后,将 ssthresh 减半,cwnd 设置为新的 ssthresh,然后执行拥塞避免(跳过慢开始)。

图示

三次握手

image.png

四次挥手

image.png

五、应用层

  1. 主要功能协议
    1. 网络应用模型:P2P、C/S
    2. 域名系统DNS
    3. 电子邮件:SMTP、POP3
    4. 文件传输协议:FTP
    5. 万维网WWW和HTTP协议
  2. 概述:应用层是对应用程序的通信提供服务

DNS

递归查询DNS(比较少用)与递归与相结合

image.png

DNS的作用

核心作用:将人类易于记忆的主机名(如 www.baidu.com)转换为路由器易于处理的 IP 地址(如 110.242.68.4)。

核心运行机制:

  1. 分布式数据库:没有一台电脑存储了全世界所有的域名,而是分层管理(根域名服务器 -> 顶级域名服务器 -> 权限域名服务器)。
  2. 查询方式:
    1. 递归查询:靠别人(主机向本地域名服务器查询)。
    2. 迭代查询:迭代查询:靠自己(本地域名服务器向根/顶级/权限服务器查询)
  3. 协议与端口:通常使用 UDP 协议,端口号 53

DHCP(动态主机配置协议)

  1. 核心作用:DHCP (Dynamic Host Configuration Protocol) 的作用是给网络中的主机自动分配 IP 地址及相关配置信息(如子网掩码、默认网关、DNS服务器地址)。
  2. 特点即插即用 (Plug-and-Play)。如果没有DHCP,每台连入WiFi的手机都需要你手动输入IP地址,那将是灾难。
  3. 工作流程
    • DHCP DISCOVER:主机广播“有没有人能给我一个IP?”
    • DHCP OFFER:服务器回应“我这里有一个IP给你。”
    • DHCP REQUEST:主机回应“好的,我要用这个IP。”
    • DHCP ACK:服务器确认“批准使用,租约给你。”
  4. 协议与端口:使用 UDP 协议。
    • 客户端:68端口
    • 服务器:67端口

FTP协议

FTP是基于C/S的协议

使用TCP协议

TCP控制连接:

传请求:21

传文件:20

传输过程:

image.png

电子邮件

采用C/S模型

发送邮件:SMTP(TCP)

读取邮件:POP3、IMAP(不常用)(TCP)

image.png

SMTP通信的三个阶段的过程:

image.png

万维网和HTTP协议

以C/S工作

万维网是一个大规模、联机的信息空间,是无数网络站点的集合

URL唯一标识资源

<协议>://<主机>/路径

服务器监听端口:80

image.png