计算机网络

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. 比特怎样变成可传输的信号
    • 电信号:高电压表示 1,低电压表示 0
    • 光信号:有光表示 1,无光表示 0
    • 无线电波信号:用不同频率/相位表示 0/1
  1. 发送端和接收端如何同步
    • 规定统一的时钟节奏
    • 在信号编码里带上同步信息
    • 双方按约定的时间间隔读取信号
  1. 数据传输速率是多少常见单位是:
    • bps:比特每秒
    • Mbps
    • Gbps
  1. 传输方向是什么
    • 单工:只能单方向传,比如广播。
    • 半双工:双方都能传,但不能同时传。比如对讲机。
    • 全双工:双方能同时传。比如打电话。
  1. 信号通过什么介质传输物理层规定用什么"路"来传:

不同介质的特点不同:

    • 双绞线
    • 同轴电缆
    • 光纤
    • 无线信道
    • 双绞线便宜,常用于局域网
    • 光纤快、远、抗干扰强
    • 无线方便,但更容易受干扰

集线器(hub)

集线器是一种最基础的网络连接设备,工作在物理层

它的作用是把多台设备接到同一个局域网里。

功能

  • 把多台电脑或设备连在一起
  • 把某一台设备发来的信号,转发给其他所有端口

工作原理

集线器的原理很简单:收到信号,然后广播出去。

  • 某个端口收到电信号
  • 集线器几乎不做判断、不看数据内容
  • 直接把这个信号复制后发到其他所有端口

缺点

  • 所有端口共享带宽
  • 容易发生冲突
  • 安全性差,因为所有端口都能收到信号
  • 效率低

(二)数据链路层

数据链路层在相邻节点之间传输数据。

  1. 封装成帧
    把网络层交下来的数据加上首部、尾部,组成"帧"。
  2. 物理寻址
    使用 MAC 地址 标识局域网中的设备。
  3. 差错检测
    常见方式是 CRC,发现帧在传输中有没有出错。
  4. 流量控制
    防止发送方发得太快,接收方来不及收。
  5. 介质访问控制
    如果多台设备共用一条链路,要解决"谁先发"的问题,避免冲突。

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地址分为网络号主机号 。根据子网掩码进行识别区分。

它的核心作用有两个:

  1. 身份识别:证明"你是谁"(比如这台正在发邮件的电脑)。
  2. 位置定位:指示"你在哪"(数据包该怎么通过路由器找到你)。

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 协议是计算机网络中最底层、最核心的协议之一。负责"寻址"和"转发"。

核心特性
  1. 无连接(Connectionless) 在发送数据之前,发送方和接收方不需要建立任何连接
  2. 不可靠 IP 协议不保证数据包一定能送达、不保证按顺序送达、也不保证不重复。
  3. 独立的数据包(独立的路由)每个数据报都是独立 的,它们可能会走完全不同的路线到达目的地
IP协议工作机制
IPv4数据报格式

CIDR(Classless Inter-Domain Routing

CIDR(无类别域间路由)规定了网络号的划分方法。

它彻底废除了 A类、B类、C类 这种死板的划分方法。它允许网络号的长度可以是任意的,不再局限于 8、16、24 这三个固定的数字。

它解决了什么问题?

  1. IP 地址被严重浪费
  2. 全球路由器的"内存爆炸"

它的表现形式:

IP 地址后面加一个斜杠 /,然后跟一个数字。这个数字表示**"网络号占据了前多少位"**。

  • **例子 **:192.168.1.0/24
    • 意思是:前 24 位是固定的网络号(小区),剩下 8 位(32-24=8)是主机号(门牌号)。
    • 容量:256-2=254台设备。(减 2 是因为要扣除网络地址和广播地址)
    • 这其实就等同于以前的 C 类网络。

作用

  1. 极其精准的 IP 分配(VLSM - 可变长子网掩码)
  2. 路由聚合(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. 只和邻居交流: 我(路由器)只把我的"路由表"(我能到达哪些网络,距离多远)发给我的直连邻居。
  2. 距离加一: 邻居收到我的路由表后,如果它想通过我去某个网络,它就把我提供的距离加上 1(因为经过了我这一跳)。
  3. 全局收敛: 通过这种"口口相传"的方式,经过一段时间,网络里的所有路由器最终都会知道去往所有目的地的最短路径(最少跳数)。

针对当时静态路由,手动配置维麻烦,出故障需要人工解决的问题。

RIP 主要解决的是小型自治系统 (AS) 内部的动态路由问题。具体来说:

  1. 自动化路由发现: 路由器开机后,能自动和周围的邻居"聊天",学习到整个网络的地形图,不需要人手工干预。
  2. 自动故障恢复: 当网络拓扑发生变化(断网、新增网络)时,路由器能自动计算出新的替代路线。
  3. 极低的计算门槛: 早期的路由器 CPU 和内存非常弱,RIP 的算法极其简单,不吃硬件资源。
工作机制

路由器

路由器是一种网络层设备 。它的核心职责是连接不同的网络,并根据IP地址,在复杂的网络拓扑中为数据包(Packet)选择最佳的传输路径。

为什么需要它?

  • 问题一:广播风暴(Broadcast Storms)
    • 未解决前:交换机在寻找未知设备时会发送广播("谁是这个MAC地址,请回答")。如果全球互联网只用交换机连在一起,一次广播会让全球所有电脑收到消息,网络会瞬间瘫痪。
    • 路由器解决 :路由器隔离了广播域。广播包到达路由器就会被丢弃,不会跨越到另一个网络中。
  • 问题二:异构网络无法互通
    • 未解决前:Wi-Fi网络、以太网、光纤网络底层的数据格式(帧格式)是不一样的,它们直接无法听懂对方的话。
    • 路由器解决 :路由器在网络层统一使用IP协议。它把底层的差异屏蔽掉,实现不同介质、不同类型网络之间的互联。
  • 问题三:MAC地址没有寻址逻辑
    • 未解决前:MAC地址就像人的身份证号,毫无地理位置规律。你要找一个MAC地址,只能盲目广播。
    • 路由器解决 :引入IP地址(网络层)。IP地址就像"国家-省-市-街道",具有层级结构。路由器可以根据IP地址的网络号,快速判断目标在哪个大区,从而跨地区高效传输。
作用

路由器的核心作用可以总结为两个词:路由(Routing)转发(Forwarding)

  1. 路径选择(路由):在有多条路可以到达目的地的情况下,路由器通过算法(如最短路径、最少拥堵)计算并选择一条最优路径。
  2. 数据包转发:将收到的数据包从输入接口(接收端)搬运到输出接口(发送端),发往下一个目的地。
  3. 网络互联与隔离:连接不同网段,同时隔离本地的二层网络故障。
  4. 安全与控制:通过访问控制列表(ACL)过滤非法数据包,或者通过NAT(网络地址转换)隐藏内部私有IP。
工作机制

路由器的工作机制可以分为控制层面(建地图) * ***数据层面(按图指路)**。

A. 控制层面:建立"路由表"(Routing Table)

路由器内部有一张"地图",叫路由表 。里面记录着:去往某个IP网段,应该走哪个接口,下一跳给谁。

这张表是怎么来的?

  • 直连路由:路由器自己接口连着的网络,自动知道。
  • 静态路由:网络管理员手工一条条配置输入的。
  • 动态路由协议:路由器之间互相"聊天"交换情报。比如OSPF协议、BGP协议。路由器A告诉B:"我能连通北京",B记录下来;B再告诉C,依此类推。这样全网的路由器都能拼凑出完整的网络地图。
B. 数据层面:数据包的处理流程(Step-by-step)

当一台电脑向互联网发送一个数据包时,路由器是这样工作的:

  1. 解封装:路由器网卡收到以太网帧,剥离二层MAC头部,露出三层的IP数据包。
  2. 提取目标IP:读取IP包头中的"目的IP地址"。
  3. 查表匹配 :拿着这个目的IP,去查自己的路由表。采用**"最长前缀匹配"原则**(找描述最精确的那条路径)。
  4. 处理TTL与校验:将数据包的生命周期(TTL)减1(防止数据包在网络中无限死循环),并重新计算校验和。
  5. 重新封装:找到下一跳的IP后,通过ARP协议找到下一跳的MAC地址,给数据包重新套上新的二层MAC头部。
  6. 转发输出 :将打包好的数据从指定的接口发送出去。
    (这个过程在数据包经过的每一个路由器上都会重复,直到到达最终目的地,这就是" 逐跳(Hop-by-hop)**"传输机制。)

三层交换机

三层交换机是一种同时具备"二层交换"和"三层路由"功能的网络设备

为什么需要它?

三层交换机主要解决了大量内网不同网段之间通信效率低的问题

  1. 因为跨网段不能用二层交换机
  2. 原来是路由做网关的,但是存在问题:
    • 大量内网流量都经过路由器
    • 路由器压力大
    • 速度可能慢
    • 网络结构也复杂
作用
  1. 实现VLAN间的高速路由(最核心作用): 让不同网段、不同VLAN内的设备能够互相通信,且速度极快,不会像传统路由器那样卡顿。
  2. 局域网的核心与汇聚节点: 在中大型企业网络中,三层交换机通常被放置在"核心层"或"汇聚层",负责处理内网的海量数据交换。
  3. 减轻网络拥堵: 通过硬件芯片转发数据,极大提升了内网的数据吞吐量。
  4. 提供网络安全与控制(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)。

  1. 客户端发送 SYN:服务端收到后,得知"客户端的发送能力"和"服务端的接收能力"正常。
  2. 服务端发送 SYN-ACK:客户端收到后,得知"服务端的发送和接收能力"正常,同时也确认了"客户端自己的发送和接收能力"正常。
  3. 客户端发送 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 状态)?

  1. 保证服务端能收到最后的 ACK: 如果这第四次挥手的 ACK 包丢了,服务端收不到,服务端会以为自己的 FIN 丢了,就会重发 FIN。客户端在 TIME_WAIT 期间如果再次收到 FIN,就会重新发送一次 ACK,并重新计时 2MSL。如果没有这个等待期,客户端直接关闭,服务端重发 FIN 就会收到 RST 报错,无法正常关闭。
  2. 防止"已失效的连接请求报文段"出现在本连接中: 2MSL 是网络中报文生存的最长时间。等待 2MSL 可以保证本次连接中产生的所有报文段都在网络中彻底消失(过期丢弃)。这样在下一个新的连接中,就不会出现旧连接的滞留数据造成的混乱。
DHCP
相关推荐
祺风挽楠13 小时前
ansible编辑
网络·ansible
莫名的好感°13 小时前
手机RAR解压怎么选?2026年二季度四款产品问答
服务器·网络·智能手机
AI科技星16 小时前
数术工坊第八卷:算力革命
c语言·开发语言·网络·量子计算·agi
liulilittle16 小时前
固定数组时间轮的槽过载优化:桶链表与批次执行
网络·数据结构·链表
行走__Wz17 小时前
【网工入门-eNSP模拟-05】静态路由
网络
xiangw@GZ17 小时前
802.11全系列标准调制编码与速率档对应关系
网络·单片机·嵌入式硬件·架构
liulilittle17 小时前
KCC:在 BBR 思路上的一次探索
网络·tcp/ip·算法·bbr·通信·拥塞控制·kcc
276695829219 小时前
泡泡玛特app 腾讯企业加固/支付宝加固脱修frida rpc调用
网络·网络协议·rpc·frida·泡泡玛特·ppmt·泡泡玛特app-rpc调用
其实防守也摸鱼19 小时前
软件安全与漏洞--Windows底层原理与软件逆向工程基础
linux·网络·数据库·算法·安全·安全架构·软件安全与漏洞