OSI参考模型7层
应用层:直接面向用户应用程序
表示层:负责数据格式转化、、编码、加密、压缩
会话层:建立、管理、端口会话
传输层:端到端通信(端口)
网络层:跨网络通信
数据链路层:负责局域网内部通信
物理层:负责真正的信号传输,把0、1数据发出去
为什么要分层呢?
解耦
OSI七层模型汇总表
|--------|-------|---------------|----------------------------------|---------|------------------------|
| OSI 层级 | 名称 | 主要功能 | 典型协议 | 数据单位 | 常见设备 |
| 7 | 应用层 | 提供网络应用服务 | HTTP、HTTPS、DNS、FTP、SMTP、SSH、MQTT | 数据 / 报文 | 浏览器、Web服务器、DNS服务器、应用网关 |
| 6 | 表示层 | 编码、加密、压缩、格式转换 | TLS、SSL、JPEG、PNG、JSON、XML、UTF-8 | 数据 | 通常无专门设备 |
| 5 | 会话层 | 建立、管理、断开会话 | RPC、NetBIOS、Session机制 | 数据 | 通常无专门设备 |
| 4 | 传输层 | 端到端传输,端口通信 | TCP、UDP | 段 / 数据报 | 防火墙、负载均衡器 |
| 3 | 网络层 | IP寻址、路由转发 | IP、ICMP、OSPF、BGP、RIP | 包 / 数据报 | 路由器、三层交换机、防火墙 |
| 2 | 数据链路层 | 局域网内传输,MAC寻址 | Ethernet、Wi-Fi、ARP、VLAN | 帧 | 交换机、网桥、网卡、AP |
| 1 | 物理层 | 传输比特流 | 网线、光纤、无线、802.3物理标准 | 比特 | 网线、光纤、集线器、中继器 |
TCP/IP 四层模型汇总
|-----------|-------------|----------------|----------------------------------|-----------|
| TCP/IP 层级 | 对应 OSI | 功能 | 典型协议 | 数据单位 |
| 应用层 | OSI 5、6、7 层 | 应用服务、数据格式、会话管理 | HTTP、HTTPS、DNS、FTP、SMTP、SSH、MQTT | 数据 / 报文 |
| 传输层 | OSI 第 4 层 | 端口到端口通信 | TCP、UDP | 段 / 数据报 |
| 网络层 | OSI 第 3 层 | IP寻址、路由选择 | IP、ICMP、OSPF、BGP | 包 / IP数据报 |
| 网络接口层 | OSI 第 1、2 层 | 物理传输、MAC寻址、帧传输 | Ethernet、Wi-Fi、ARP、PPP | 帧 / 比特 |
(一)物理层
这一层负责得把0和1真正放到传输介质上传出去,也就是解决"怎么传比特流"的问题。
- 比特怎样变成可传输的信号
-
- 电信号:高电压表示 1,低电压表示 0
- 光信号:有光表示 1,无光表示 0
- 无线电波信号:用不同频率/相位表示 0/1
- 发送端和接收端如何同步
-
- 规定统一的时钟节奏
- 在信号编码里带上同步信息
- 双方按约定的时间间隔读取信号
- 数据传输速率是多少常见单位是:
-
- bps:比特每秒
- Mbps
- Gbps
- 传输方向是什么
-
- 单工:只能单方向传,比如广播。
- 半双工:双方都能传,但不能同时传。比如对讲机。
- 全双工:双方能同时传。比如打电话。
- 信号通过什么介质传输物理层规定用什么"路"来传:
不同介质的特点不同:
-
- 双绞线
- 同轴电缆
- 光纤
- 无线信道
- 双绞线便宜,常用于局域网
- 光纤快、远、抗干扰强
- 无线方便,但更容易受干扰
集线器(hub)
集线器是一种最基础的网络连接设备,工作在物理层。
它的作用是把多台设备接到同一个局域网里。
功能
- 把多台电脑或设备连在一起
- 把某一台设备发来的信号,转发给其他所有端口
工作原理
集线器的原理很简单:收到信号,然后广播出去。
- 某个端口收到电信号
- 集线器几乎不做判断、不看数据内容
- 直接把这个信号复制后发到其他所有端口
缺点
- 所有端口共享带宽
- 容易发生冲突
- 安全性差,因为所有端口都能收到信号
- 效率低
(二)数据链路层
数据链路层在相邻节点之间传输数据。
- 封装成帧
把网络层交下来的数据加上首部、尾部,组成"帧"。 - 物理寻址
使用 MAC 地址 标识局域网中的设备。 - 差错检测
常见方式是 CRC,发现帧在传输中有没有出错。 - 流量控制
防止发送方发得太快,接收方来不及收。 - 介质访问控制
如果多台设备共用一条链路,要解决"谁先发"的问题,避免冲突。
MAC 地址是数据链路层用来识别同一局域网内设备网卡的地址。
成帧
数据链路层把网络层交下来的数据包装成"帧"再发送。
因为物理层只是传输 0 和 1,它不知道一段数据从哪开始、到哪结束,所以数据链路层必须告诉接收方:"这一帧的边界在这里。"
|-----------------|--------|--------|
| 帧头 | 数据部分 | 帧尾 |
| 目标 MAC|源 MAC|类型 | IP 数据包 | FCS 校验 |
差错检测
链路上传输时,比特可能出错,比如 1 变成 0。
数据链路层要检查这一帧有没有错,最常见就是 CRC 循环冗余校验。
注意:
- CRC 只能检错,通常不负责纠错
- 接收方如果发现出错,一般直接丢弃
介质访问控制
如果多个设备共用一条信道,就会出现"大家都想发"的问题。
这时必须规定谁先发、怎么避免冲突,这就是介质访问控制。
典型例子:
- 有线以太网:CSMA/CD------载波监听、多路访问、冲突检测。
- 无线局域网:CSMA/CA------载波监听、多路访问、冲突避免。
设备
网卡 (Network Interface Card, NIC)
- 功能:
-
- 唯一标识 :每一块网卡在出厂时都有一个全球唯一的 MAC地址(物理地址)。
- 封装与解封装:将网络层传下来的IP数据报封装成"帧"(Frame)发送到物理介质上;反之,将收到的帧还原为数据报。
- 控制数据传输:处理帧的同步、差错校验(CRC)以及介质访问控制(如CSMA/CD协议)。
二层交换机 (Layer 2 Switch)
交换机是现代局域网的核心设备,本质上可以看作是多端口的网桥。
- 工作原理:
-
- MAC地址表学习:交换机会记录每个端口连接设备的MAC地址,并维护一张映射表(MAC Address Table)。
- 定向转发(点对点传输):当交换机收到一个数据帧时,它会查找表,直接将帧发送到目标端口,而不是向所有端口广播。
- 核心特点:
-
- 隔离冲突域:每个端口都是一个独立的冲突域,支持全双工通信。
- 高性能:内部采用高速交换背板,能够并发处理多对端口间的数据传输。
- VLAN划分:现代二层交换机通常支持虚拟局域网(VLAN),可以在数据链路层对广播域进行逻辑划分。
工作流程

集线器和交换机区别
|-------------|--------------------|-----------------------------|
| 对比点 | 集线器 Hub | 交换机 Switch |
| 工作层次 | 物理层设备 | 数据链路层设备 |
| 转发机制 | 收到数据后,直接向所有端口广播 | 根据 MAC 地址表,精准转发到目标端口 |
| 是否学习 MAC 地址 | 不学习 MAC 地址 | 会学习源 MAC 地址,并建立 MAC 地址表 |
| 冲突域 | 所有端口共享一个冲突域,容易发生冲突 | 每个端口是独立冲突域,基本避免冲突 |
| 广播方式 | 所有数据都广播给所有设备 | 未知目的 MAC 或广播帧才泛洪;已知 MAC 则单播 |
| 通信方式 | 半双工,一次只能一个方向通信 | 通常支持全双工,可同时收发 |
| 性能 | 性能低,所有设备共享带宽 | 性能高,每个端口可独享带宽 |
| 安全性 | 较差,所有设备都能收到数据 | 较好,普通单播只发给目标端口 |
| 典型特点 | "无脑转发",类似扩音器 | "智能转发",类似快递分拣中心 |
| 现在是否常用 | 基本淘汰 | 局域网中广泛使用 |
(三)网络层
网络层负责寻址和路径选择。
网络层主要负责这几件事:
- 给主机提供逻辑地址,也就是 IP 地址
- 进行路由选择,决定数据包走哪条路
- 实现转发,让路由器把分组送往下一跳
- 处理不同网络之间的互联,也就是"网络的网络"
IP地址
在网络中,任何接入互联网的设备都需要一个唯一的标识,这个标识就是 IP 地址。
IP地址分为网络号 和主机号 。根据子网掩码进行识别区分。
它的核心作用有两个:
- 身份识别:证明"你是谁"(比如这台正在发邮件的电脑)。
- 位置定位:指示"你在哪"(数据包该怎么通过路由器找到你)。
IPv4(第四版)
- 格式 :由 32 位二进制数组成,通常分成 4 段,每段 8 位,用十进制表示,中间用点隔开(这叫点分十进制)。
- 例子:192.168.1.1 或 114.114.114.114。
- 容量 :每段数字的范围是 0~255,总共能提供约 43亿 个地址。
IPv6(第六版)
- 格式 :由 128 位二进制数组成,通常分为 8 段,每段 16 位,用十六进制表示,中间用冒号隔开。
- 例子:2400:3200:b66:1::1。
子网掩码
用来判断一个 IP 地址中,哪一部分是"网络号",哪一部分是"主机号"的规则。
作用
|-----------|---------------------------|
| 作用 | 说明 |
| 区分网络号和主机号 | 判断 IP 地址哪部分表示网络,哪部分表示具体设备 |
| 判断是否同网段 | 决定数据是直接发,还是交给网关 |
| 支持子网划分 | 把一个大网络划分成多个小网络 |
| 控制广播范围 | 广播只在本子网内传播,减少网络干扰 |
常见子网掩码
|-----------------|---------|------------|
| 子网掩码 | CIDR 写法 | 含义 |
| 255.0.0.0 | /8 | 前 8 位是网络位 |
| 255.255.0.0 | /16 | 前 16 位是网络位 |
| 255.255.255.0 | /24 | 前 24 位是网络位 |
| 255.255.255.128 | /25 | 前 25 位是网络位 |
| 255.255.255.192 | /26 | 前 26 位是网络位 |
IP协议
IP 协议是计算机网络中最底层、最核心的协议之一。负责"寻址"和"转发"。
核心特性
- 无连接(Connectionless) 在发送数据之前,发送方和接收方不需要建立任何连接。
- 不可靠 IP 协议不保证数据包一定能送达、不保证按顺序送达、也不保证不重复。
- 独立的数据包(独立的路由)每个数据报都是独立 的,它们可能会走完全不同的路线到达目的地
IP协议工作机制

IPv4数据报格式

CIDR(Classless Inter-Domain Routing)
CIDR(无类别域间路由)规定了网络号的划分方法。
它彻底废除了 A类、B类、C类 这种死板的划分方法。它允许网络号的长度可以是任意的,不再局限于 8、16、24 这三个固定的数字。
它解决了什么问题?
- IP 地址被严重浪费
- 全球路由器的"内存爆炸"
它的表现形式:
IP 地址后面加一个斜杠 /,然后跟一个数字。这个数字表示**"网络号占据了前多少位"**。
- **例子 **:192.168.1.0/24
-
- 意思是:前 24 位是固定的网络号(小区),剩下 8 位(32-24=8)是主机号(门牌号)。
- 容量:256-2=254台设备。(减 2 是因为要扣除网络地址和广播地址)
- 这其实就等同于以前的 C 类网络。
作用
- 极其精准的 IP 分配(VLSM - 可变长子网掩码)
- 路由聚合(Supernetting - 超网)它可以把多个小网络合并成一个大网络,从而极大地精简路由器的导航表(路由表)
ICMP协议(Internet Control Message Protocol)
用来在网络层中报告错误、传递控制信息、辅助网络诊断的协议。
为什么需要它?
IP 协议本身是不可靠传输协议。IP 只负责尽力把数据包送到目的地,不保证一定送达、不保证顺序、不保证不重复。
作用分类
ICMP 报文主要分为两大类:差错报告报文 和 查询(信息)报文。
1. 差错报告报文(报告网络异常)
当数据包无法正常交付时触发,常见的有:
- 终点不可达(Destination Unreachable): 路由器找不到通往目标的路径,或者目标主机的端口未打开。
- 时间超过(Time Exceeded): IP 包里有一个 TTL(生存时间) 字段,每经过一个路由器 TTL 减 1。当 TTL 减到 0 时,路由器会丢弃该包,并返回一个 ICMP 时间超时报文。这可以防止数据包在网络中无限死循环。
- 重定向(Redirect): 路由器发现发送方把包发错了路由器,会告诉发送方:"下次发给另一个路由器,那条路更近"。
2. 查询报文(用于网络探测)
用于节点之间的信息交互,最常见的是:
- 回送请求 / 回送应答(Echo Request / Echo Reply): 这就是 ping 命令的底层原理。A 向 B 发请求,B 收到后发应答,用来测试网络通不通以及延迟是多少。
- 时间戳请求 / 应答(Timestamp Request / Reply): 用于测量两台机器之间报文往返所需的时间,或者用于时间同步。
ARP(Address Resolution Protocol)
ARP(地址解析协议 )的作用就是将网络层的 IP 地址,解析为数据链路层的 MAC 地址。
为什么需要ARP?
IP 地址与 MAC 地址的脱节:网络层到数据链路层需要进行封帧,这就需要原Mac地址和目标Mac地址,所以怎么根据目标IP获取到目标Mac地址?这就需要用到ARP协议。
工作机制
如果目标IP地址不在当前网段内,主机会通过ARP默认网关的Mac地址,将目标Mac地址设置为默认网关的Mac地址,然后把数据帧发给网关。

RIP(路由信息协议)
RIP(Routing Information Protocol )是一种古老且经典的内部网关协议 (IGP)。
- 类别: 它属于距离矢量 (Distance-Vector, DV) 路由协议。
- 核心指标: 它以**"跳数" (Hop Count)** 作为衡量路径好坏的唯一标准。经过一个路由器算1跳。
- 极限: RIP 规定最大跳数为 15 跳,16 跳表示网络不可达。
解决思路:
- 只和邻居交流: 我(路由器)只把我的"路由表"(我能到达哪些网络,距离多远)发给我的直连邻居。
- 距离加一: 邻居收到我的路由表后,如果它想通过我去某个网络,它就把我提供的距离加上 1(因为经过了我这一跳)。
- 全局收敛: 通过这种"口口相传"的方式,经过一段时间,网络里的所有路由器最终都会知道去往所有目的地的最短路径(最少跳数)。
针对当时静态路由,手动配置维麻烦,出故障需要人工解决的问题。
RIP 主要解决的是小型自治系统 (AS) 内部的动态路由问题。具体来说:
- 自动化路由发现: 路由器开机后,能自动和周围的邻居"聊天",学习到整个网络的地形图,不需要人手工干预。
- 自动故障恢复: 当网络拓扑发生变化(断网、新增网络)时,路由器能自动计算出新的替代路线。
- 极低的计算门槛: 早期的路由器 CPU 和内存非常弱,RIP 的算法极其简单,不吃硬件资源。
工作机制

路由器
路由器是一种网络层设备 。它的核心职责是连接不同的网络,并根据IP地址,在复杂的网络拓扑中为数据包(Packet)选择最佳的传输路径。
为什么需要它?
- 问题一:广播风暴(Broadcast Storms)
-
- 未解决前:交换机在寻找未知设备时会发送广播("谁是这个MAC地址,请回答")。如果全球互联网只用交换机连在一起,一次广播会让全球所有电脑收到消息,网络会瞬间瘫痪。
- 路由器解决 :路由器隔离了广播域。广播包到达路由器就会被丢弃,不会跨越到另一个网络中。
- 问题二:异构网络无法互通
-
- 未解决前:Wi-Fi网络、以太网、光纤网络底层的数据格式(帧格式)是不一样的,它们直接无法听懂对方的话。
- 路由器解决 :路由器在网络层统一使用IP协议。它把底层的差异屏蔽掉,实现不同介质、不同类型网络之间的互联。
- 问题三:MAC地址没有寻址逻辑
-
- 未解决前:MAC地址就像人的身份证号,毫无地理位置规律。你要找一个MAC地址,只能盲目广播。
- 路由器解决 :引入IP地址(网络层)。IP地址就像"国家-省-市-街道",具有层级结构。路由器可以根据IP地址的网络号,快速判断目标在哪个大区,从而跨地区高效传输。
作用
路由器的核心作用可以总结为两个词:路由(Routing) 和 转发(Forwarding)。
- 路径选择(路由):在有多条路可以到达目的地的情况下,路由器通过算法(如最短路径、最少拥堵)计算并选择一条最优路径。
- 数据包转发:将收到的数据包从输入接口(接收端)搬运到输出接口(发送端),发往下一个目的地。
- 网络互联与隔离:连接不同网段,同时隔离本地的二层网络故障。
- 安全与控制:通过访问控制列表(ACL)过滤非法数据包,或者通过NAT(网络地址转换)隐藏内部私有IP。
工作机制
路由器的工作机制可以分为控制层面(建地图) * 和 ***数据层面(按图指路)**。
A. 控制层面:建立"路由表"(Routing Table)
路由器内部有一张"地图",叫路由表 。里面记录着:去往某个IP网段,应该走哪个接口,下一跳给谁。
这张表是怎么来的?
- 直连路由:路由器自己接口连着的网络,自动知道。
- 静态路由:网络管理员手工一条条配置输入的。
- 动态路由协议:路由器之间互相"聊天"交换情报。比如OSPF协议、BGP协议。路由器A告诉B:"我能连通北京",B记录下来;B再告诉C,依此类推。这样全网的路由器都能拼凑出完整的网络地图。
B. 数据层面:数据包的处理流程(Step-by-step)
当一台电脑向互联网发送一个数据包时,路由器是这样工作的:
- 解封装:路由器网卡收到以太网帧,剥离二层MAC头部,露出三层的IP数据包。
- 提取目标IP:读取IP包头中的"目的IP地址"。
- 查表匹配 :拿着这个目的IP,去查自己的路由表。采用**"最长前缀匹配"原则**(找描述最精确的那条路径)。
- 处理TTL与校验:将数据包的生命周期(TTL)减1(防止数据包在网络中无限死循环),并重新计算校验和。
- 重新封装:找到下一跳的IP后,通过ARP协议找到下一跳的MAC地址,给数据包重新套上新的二层MAC头部。
- 转发输出 :将打包好的数据从指定的接口发送出去。
(这个过程在数据包经过的每一个路由器上都会重复,直到到达最终目的地,这就是" 逐跳(Hop-by-hop)**"传输机制。)

三层交换机
三层交换机是一种同时具备"二层交换"和"三层路由"功能的网络设备
为什么需要它?
三层交换机主要解决了大量内网不同网段之间通信效率低的问题。
- 因为跨网段不能用二层交换机
- 原来是路由做网关的,但是存在问题:
-
- 大量内网流量都经过路由器
- 路由器压力大
- 速度可能慢
- 网络结构也复杂
作用
- 实现VLAN间的高速路由(最核心作用): 让不同网段、不同VLAN内的设备能够互相通信,且速度极快,不会像传统路由器那样卡顿。
- 局域网的核心与汇聚节点: 在中大型企业网络中,三层交换机通常被放置在"核心层"或"汇聚层",负责处理内网的海量数据交换。
- 减轻网络拥堵: 通过硬件芯片转发数据,极大提升了内网的数据吞吐量。
- 提供网络安全与控制(ACL): 可以基于IP地址、协议端口等配置访问控制列表(ACL),比如设定"只允许老板的IP访问财务服务器"。
工作机制

二层交换机和三层交换机的区别
|----------------|-----------|-----------------|
| 对比项 | 二层交换机 | 三层交换机 |
| 工作层次 | 数据链路层 | 数据链路层 + 网络层 |
| 主要依据 | MAC 地址 | MAC 地址 + IP 地址 |
| 核心表项 | MAC 地址表 | MAC 地址表 + 路由表 |
| 是否能跨网段转发 | 不能 | 可以 |
| 是否能实现 VLAN 间通信 | 不能单独实现 | 可以 |
| 常见作用 | 接入终端设备 | 汇聚层、核心层、VLAN 网关 |
| 典型场景 | 同一局域网内部通信 | 多 VLAN、多网段内网通信 |
| 默认网关功能 | 没有 | 可以作为默认网关 |
| 转发速度 | 二层转发快 | 三层转发也很快,通常硬件转发 |
| 配置复杂度 | 较简单 | 更复杂 |
三层交换机和路由器
|-------|----------|-------------------------|
| 对比项 | 三层交换机 | 路由器 |
| 主要场景 | 内网高速转发 | 内外网连接、广域网连接 |
| 性能 | 内网转发性能高 | 路由策略能力强 |
| 接口类型 | 以太网接口多 | WAN/LAN接口、运营商线路等 |
| 功能复杂度 | 相对偏交换和路由 | NAT、防火墙、VPN、PPPoE 等功能更强 |
| 常见位置 | 汇聚层、核心层 | 网络出口 |
| 适合处理 | VLAN 间路由 | 出口上网、跨地域连接、复杂路由 |
(四)传输层
传输层负责把数据准确地交给主机里的哪个应用程序
TCP
TCP,全称 Transmission Control Protocol,传输控制协议。
它工作在 传输层,主要负责:
在两台主机的应用程序之间,提供一种 可靠的、面向连接的、按顺序的字节流传输服务。
为什么需要TCP?
因为网络层的IP协议是不可靠的。它只负责尽力把数据包从源主机送到目标主机,但是IP协议不保证:
- 数据一定到达
- 数据按顺序到达
- 数据不会重复
- 数据不会损坏
- 发送速度是否合适
- 接收方是否来得及处理
所以就需要一个协议来保证可靠传输------TCP
TCP核心特点
|------|--------------|
| 作用 | 说明 |
| 面向连接 | 通信前先建立连接 |
| 可靠传输 | 丢了会重传 |
| 顺序保证 | 数据会按正确顺序交给应用 |
| 差错检测 | 发现数据损坏会丢弃并重传 |
| 流量控制 | 防止发送方把接收方撑爆 |
| 拥塞控制 | 防止把整个网络压垮 |
TCP核心机制
建立连接------三次握手
TCP 是可靠的传输层协议,它通过序列号(Sequence Number)来保证数据包不丢、不重、按序到达。
为了实现这一点,通信双方在建立连接时,必须相互确认对方的初始序列号(ISN)。
- 客户端发送 SYN:服务端收到后,得知"客户端的发送能力"和"服务端的接收能力"正常。
- 服务端发送 SYN-ACK:客户端收到后,得知"服务端的发送和接收能力"正常,同时也确认了"客户端自己的发送和接收能力"正常。
- 客户端发送 ACK:服务端收到后,得知"客户端的接收能力"和"服务端的发送能力"正常。

序列号
TCP 把传输的数据看成连续的字节流。每个字节都有编号。
比如发送数据:ABCDE
可能编号为:A: 1001,B: 1002,C: 1003,D: 1004,E: 1005
通过序列号可以确认:数据顺序、数据是否重复、数据是否缺失。
确认应答 ACK
TCP 接收方收到数据后,会返回 ACK。
比如:发送方发送:序号 1001 ~ 1500 的数据,接收方收到后回复:ACK = 1501
注意:
TCP 的 ACK 是"期望收到的下一个字节序号"。
重传机制
超时重传:如果发送方发出数据后,迟迟收不到 ACK,就认为数据可能丢了。
快速重传:如果接收方发现中间缺了一段数据,会不断重复确认同一个 ACK。
滑动窗口
如果每发一个包都等 ACK,效率太低。TCP 使用 滑动窗口机制。
它允许发送方连续发送多个数据段,而不用每个都等 ACK。

TCP四次挥手机制

经典面试题:为什么握手是三次,挥手却是四次?
- 因为 TCP 是全双工通信(允许同时双向传输)。
- 在握手时,服务端可以将确认(ACK)和同步(SYN)放在一个报文里发给客户端。
- 但在挥手时,客户端发来 FIN,只能说明客户端没数据要发了 。此时服务端可能还有数据没发完,所以必须先回一个 ACK 告诉客户端"我收到你的断开请求了",等自己把剩下的数据发完,才能再发一个 FIN 告诉客户端"我也发完了,可以断了"。因此,服务端的 ACK 和 FIN 一般是分开发送的,就变成了四次。
经典面试题:为什么客户端最后要等待 2MSL(TIME_WAIT 状态)?
- 保证服务端能收到最后的 ACK: 如果这第四次挥手的 ACK 包丢了,服务端收不到,服务端会以为自己的 FIN 丢了,就会重发 FIN。客户端在 TIME_WAIT 期间如果再次收到 FIN,就会重新发送一次 ACK,并重新计时 2MSL。如果没有这个等待期,客户端直接关闭,服务端重发 FIN 就会收到 RST 报错,无法正常关闭。
- 防止"已失效的连接请求报文段"出现在本连接中: 2MSL 是网络中报文生存的最长时间。等待 2MSL 可以保证本次连接中产生的所有报文段都在网络中彻底消失(过期丢弃)。这样在下一个新的连接中,就不会出现旧连接的滞留数据造成的混乱。
DHCP
