408

本文最后更新于:2025年10月25日 下午

默认网关

技术上的精确定义

默认网关是一个网络设备(几乎总是路由器),它连接着你的本地网络和外部网络(如互联网)。当你的电脑要访问的目标IP地址不在当前本地网络的范围内时,它会把所有数据包都发送到这个设备上。

它是如何工作的?

  1. 决策时刻:当你的电脑要发送数据时(比如你打开浏览器输入 www.google.com),操作系统会做一件事:
    • 拿目标IP地址(Google的IP)和你自己的IP地址、子网掩码进行计算。
    • 判断:“这个目标和我是在同一个小区(局域网)里吗?”
    • 结论:“不是,Google的IP是 142.251.42.206,和我家的 192.168.1.x 完全不是一个地方。”
  2. 转向大门:既然目标在外面,你的电脑就不会尝试在本地找它,而是直接把这个数据包发往默认网关
  3. 网关接手:默认网关(路由器)收到数据包后,它扮演两个角色:
    • 导航仪:它查看自己的“地图”(路由表),决定下一步该把这个包发给谁(你的互联网服务提供商)。
    • 翻译官:它执行 NAT。把你的“内部门牌号”(私有IP,如 192.168.1.101)翻译成它对外的“小区地址”(公有IP)。这样,Google的回信才能准确找到回你小区的路。
  4. 送达与返回:数据包经过互联网的复杂路径到达Google,Google的回复再沿着原路返回到你的网关,网关再根据NAT记录把回信准确送到你的电脑。

要点总结

  1. 它是什么? 它是一个硬件设备,通常是路由器
  2. 它的作用? 它是局域网和外部网络之间的唯一通道
  3. 它在哪里? 在你的网络配置中。用 ipconfig 命令看到的 172.21.36.1 就是它。
  4. 没有它会怎样? 你的电脑会变成“孤岛”,可以和同一局域网内的其他电脑通信(如打印机、NAS),但完全无法上网
  5. 它和交换机的关系?
    • 交换机负责内部事务(小区内送信),看的是MAC地址
    • 网关负责对外联络(出小区大门),看的是IP地址

所以,默认网关不是一种软件,也不是一个抽象概念,它就是你网络流量的“出口路由器”的IP地址。它是你通往整个互联网世界的起点。

CIDR

无类别域间路由(Classless Inter Domain Routing)

CIDR形式就是一种简洁、强大的方式,用来明确地表达: “一个IP地址中,有多少位是代表网络的,有多少位是代表主机的。”

它用 IP地址/前缀长度 的格式(如 172.21.38.106/22)取代了笨重的子网掩码,是现代互联网能够高效运行的关键技术之一。

如:

我们可以根据 172.21.38.106/22 计算出来:

  • 网络地址172.21.36.0(这是这个网段的起始地址)
  • 广播地址172.21.39.255(这是这个网段的结束地址)
  • 可用IP范围172.21.36.1 ~ 172.21.39.254

网关

  1. 网关是什么? 是一个硬件设备,通常就是你家的路由器
  2. 它在哪里? 在你的电脑的网络设置里,叫“默认网关”。
  3. 它有什么用? 是你上网的必经之路。没有它,你的电脑就只能在自己家的小局域网里玩,永远上不了互联网。
  4. 它和交换机什么关系?
    • 交换机内部事务(谁家在哪,内部怎么走)。它负责把数据送到“小区大门”(网关)。
    • 网关对外联络(出了大门怎么去全市/全球)。它负责把数据从大门送出去,再把回信接回来。

所以,下次有人问你“网关是啥”,你就可以告诉他:“它就是你家网络的看门大爷,所有进出都得经过他!”

IPv4数据包头部

  • MF (More Fragments)

    • 0 = 这是最后一个分片, 1 = 后面还有更多分片
    • 作用:这是一个“状态指示”。它告诉接收方:“我是不是所有分片中的最后一个?
  • DF (Don‘t Fragment)

    • 0 = 允许分片, 1 = 禁止分片

    • 作用:这是一个“强制命令”。当发送方设置 DF=1 时,它在告诉路径上的所有路由器:“这个数据包必须保持完整,不许你把它拆开!

MTU(Maximum Transmission Unit)

MTU(最大传输单元) , 就是一条网络链路所能传输的单个数据包的“最大尺寸限制”,单位是字节。

技术上的精确定义

MTU 定义了一个网络接口(如网卡)一次能够发送的最大帧的数据部分的大小。

这里有几个关键点:

  1. 它作用于第二层:MTU是数据链路层的概念,它限制的是数据帧的“数据字段”的最大长度。
  2. 它包含IP头和数据:对于上层的IP层来说,MTU限制的是整个IP数据包(IP头部 + 传输层头部 + 应用层数据)的总大小。它不包括以太网帧头和帧尾。
  3. 它是一个本地概念:MTU是逐跳生效的。从你的电脑到路由器,从路由器到运营商网络……路径上的每一段链路都可能有不同的MTU值。整个通信路径的MTU由其中MTU最小的那段链路决定,这被称为路径MTU

总结

MTU就像网络世界的“标准集装箱尺寸”。

  • 它规定了数据包在特定链路上传输的尺寸上限
  • 它确保了不同网络设备之间的顺畅通信。
  • 当数据包过大时,会触发分片机制,但这会降低效率。
  • 因此,最佳的实践是通过 路径MTU发现 机制,让发送方主动探测出路径上的最小MTU,并以此为标准发送数据包,从而避免在传输途中被分片。

PDU(Protocol Data Unit)

PDU (协议数据单元)就是在网络通信的每一层中,数据和该层控制信息组合在一起的“标准格式的数据包”。

它的关键精髓在于:数据的名称和格式,取决于你站在哪一层来看它。

啊啊啊啊啊,多少年没用PicGo了啊,我哭了,竟然还能这么流畅

封装与解封装的过程: 数据从上到下传递时,每一层都会给上一层的PDU加上自己的头部(和尾部),封装成本层的PDU。这个过程就像俄罗斯套娃,一层套一层。

  • 数据 → 段 → 包 → 帧 → 比特

数据从下到上传递时,则进行相反的解封装过程,每一层拆掉自己的头部,将数据部分交给上一层。

总结

PDU就是网络分层架构中的“标准话语单元”。

  • 传输层,我们谈论 TCP段UDP数据报
  • 网络层,我们谈论 IP包
  • 数据链路层,我们谈论 以太网帧

路由选择协议

路由选择协议

TTL(Time To Live)

生存时间

在网络和数据传输中,TTL 的全称是 Time To Live,即生存时间

1. 核心定义

TTL 是 IP 数据包头部(Header)中的一个字段,它是一个计数器,或者更准确地说,是一个跳数限制。它的值指定了数据包在被丢弃之前最多能经过多少台路由器。

  • 它是什么? TTL 是一个数值,用于限制数据包在计算机网络中的“生命”周期,防止数据包因为路由环路等原因在网络中无限循环下去。

2. 工作原理

  1. 设置初始值:当您的计算机或服务器创建一个数据包时,会为它设置一个初始的 TTL 值。
    • 不同的操作系统默认值不同(例如,Windows 默认通常是 64 或 128,Linux 默认通常是 64)。
  2. 逐跳递减:每当这个数据包经过一台路由器(网络上的一个“中转站”,称为“一跳”),该路由器会将数据包中的 TTL 值减 1
  3. 判断与丢弃:路由器在减去 1 之后,会检查新的 TTL 值:
    • 如果 TTL > 0:路由器会将数据包转发到下一个目的地。
    • 如果 TTL = 0:路由器会丢弃这个数据包,并向数据的原始发送者发送一个 ICMP 超时消息(类型为 “Time Exceeded”)。

3. 主要作用

TTL 机制有两个核心作用:

  • 防止路由环路 这是最主要的作用。如果网络路由配置出现错误,可能会导致数据包在两个或多个路由器之间来回传递,形成一个无限循环(就像开车在环岛上永远出不去)。如果没有 TTL,这些“迷路”的数据包会永远占用网络资源,最终导致网络拥塞。TTL 确保了即使发生环路,数据包也会在有限次数的循环后被清除。
  • 作为网络诊断工具的原理 最经典的例子就是 traceroute(在 Windows 系统中是 tracert)命令。这个工具就是巧妙地利用 TTL 来工作的:
    1. 它首先向目标地址发送一个 TTL=1 的数据包。
    2. 第一台路由器收到后,将 TTL 减至 0,于是丢弃该包,并向源地址发回一个 ICMP 超时消息。traceroute 由此知道了第一台路由器的地址。
    3. 接着,它发送一个 TTL=2 的数据包。这个包在到达第二台路由器时被丢弃,并返回超时消息。traceroute 知道了第二台路由器的地址。
    4. 以此类推,直到数据包最终到达目标主机。通过这个过程,traceroute 就能描绘出从源到目标所经过的完整路径。

简单比喻: 就像快递包裹上的“最大中转次数”,每经过一个中转站就盖一个章,章盖满了,包裹就被销毁并通知寄件人。


408
http://viper2383.github.io/2025/10/25/408/
作者
w1per3
发布于
2025年10月25日
许可协议