408
本文最后更新于:2025年10月25日 下午
默认网关
技术上的精确定义
默认网关是一个网络设备(几乎总是路由器),它连接着你的本地网络和外部网络(如互联网)。当你的电脑要访问的目标IP地址不在当前本地网络的范围内时,它会把所有数据包都发送到这个设备上。
它是如何工作的?
- 决策时刻:当你的电脑要发送数据时(比如你打开浏览器输入
www.google.com),操作系统会做一件事:- 拿目标IP地址(Google的IP)和你自己的IP地址、子网掩码进行计算。
- 判断:“这个目标和我是在同一个小区(局域网)里吗?”
- 结论:“不是,Google的IP是
142.251.42.206,和我家的192.168.1.x完全不是一个地方。”
- 转向大门:既然目标在外面,你的电脑就不会尝试在本地找它,而是直接把这个数据包发往默认网关。
- 网关接手:默认网关(路由器)收到数据包后,它扮演两个角色:
- 导航仪:它查看自己的“地图”(路由表),决定下一步该把这个包发给谁(你的互联网服务提供商)。
- 翻译官:它执行
NAT。把你的“内部门牌号”(私有IP,如
192.168.1.101)翻译成它对外的“小区地址”(公有IP)。这样,Google的回信才能准确找到回你小区的路。
- 送达与返回:数据包经过互联网的复杂路径到达Google,Google的回复再沿着原路返回到你的网关,网关再根据NAT记录把回信准确送到你的电脑。
要点总结
- 它是什么? 它是一个硬件设备,通常是路由器。
- 它的作用? 它是局域网和外部网络之间的唯一通道。
- 它在哪里? 在你的网络配置中。用
ipconfig命令看到的172.21.36.1就是它。 - 没有它会怎样? 你的电脑会变成“孤岛”,可以和同一局域网内的其他电脑通信(如打印机、NAS),但完全无法上网。
- 它和交换机的关系?
- 交换机负责内部事务(小区内送信),看的是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
网关
- 网关是什么? 是一个硬件设备,通常就是你家的路由器。
- 它在哪里? 在你的电脑的网络设置里,叫“默认网关”。
- 它有什么用? 是你上网的必经之路。没有它,你的电脑就只能在自己家的小局域网里玩,永远上不了互联网。
- 它和交换机什么关系?
- 交换机管内部事务(谁家在哪,内部怎么走)。它负责把数据送到“小区大门”(网关)。
- 网关管对外联络(出了大门怎么去全市/全球)。它负责把数据从大门送出去,再把回信接回来。
所以,下次有人问你“网关是啥”,你就可以告诉他:“它就是你家网络的看门大爷,所有进出都得经过他!”
IPv4数据包头部
MF (More Fragments):
- 值:
0= 这是最后一个分片,1= 后面还有更多分片 - 作用:这是一个“状态指示”。它告诉接收方:“我是不是所有分片中的最后一个?”
- 值:
DF (Don‘t Fragment):
值:
0= 允许分片,1= 禁止分片作用:这是一个“强制命令”。当发送方设置
DF=1时,它在告诉路径上的所有路由器:“这个数据包必须保持完整,不许你把它拆开!”
MTU(Maximum Transmission Unit)
MTU(最大传输单元) , 就是一条网络链路所能传输的单个数据包的“最大尺寸限制”,单位是字节。
技术上的精确定义
MTU 定义了一个网络接口(如网卡)一次能够发送的最大帧的数据部分的大小。
这里有几个关键点:
- 它作用于第二层:MTU是数据链路层的概念,它限制的是数据帧的“数据字段”的最大长度。
- 它包含IP头和数据:对于上层的IP层来说,MTU限制的是整个IP数据包(IP头部 + 传输层头部 + 应用层数据)的总大小。它不包括以太网帧头和帧尾。
- 它是一个本地概念:MTU是逐跳生效的。从你的电脑到路由器,从路由器到运营商网络……路径上的每一段链路都可能有不同的MTU值。整个通信路径的MTU由其中MTU最小的那段链路决定,这被称为路径MTU。
总结
MTU就像网络世界的“标准集装箱尺寸”。
- 它规定了数据包在特定链路上传输的尺寸上限。
- 它确保了不同网络设备之间的顺畅通信。
- 当数据包过大时,会触发分片机制,但这会降低效率。
- 因此,最佳的实践是通过 路径MTU发现 机制,让发送方主动探测出路径上的最小MTU,并以此为标准发送数据包,从而避免在传输途中被分片。
PDU(Protocol Data Unit)
PDU (协议数据单元)就是在网络通信的每一层中,数据和该层控制信息组合在一起的“标准格式的数据包”。
它的关键精髓在于:数据的名称和格式,取决于你站在哪一层来看它。
封装与解封装的过程: 数据从上到下传递时,每一层都会给上一层的PDU加上自己的头部(和尾部),封装成本层的PDU。这个过程就像俄罗斯套娃,一层套一层。
- 数据 → 段 → 包 → 帧 → 比特
数据从下到上传递时,则进行相反的解封装过程,每一层拆掉自己的头部,将数据部分交给上一层。
总结
PDU就是网络分层架构中的“标准话语单元”。
- 在传输层,我们谈论 TCP段 或 UDP数据报。
- 在网络层,我们谈论 IP包。
- 在数据链路层,我们谈论 以太网帧。
路由选择协议
TTL(Time To Live)
生存时间
在网络和数据传输中,TTL 的全称是 Time To Live,即生存时间。
1. 核心定义
TTL 是 IP 数据包头部(Header)中的一个字段,它是一个计数器,或者更准确地说,是一个跳数限制。它的值指定了数据包在被丢弃之前最多能经过多少台路由器。
- 它是什么? TTL 是一个数值,用于限制数据包在计算机网络中的“生命”周期,防止数据包因为路由环路等原因在网络中无限循环下去。
2. 工作原理
- 设置初始值:当您的计算机或服务器创建一个数据包时,会为它设置一个初始的
TTL 值。
- 不同的操作系统默认值不同(例如,Windows 默认通常是 64 或 128,Linux 默认通常是 64)。
- 逐跳递减:每当这个数据包经过一台路由器(网络上的一个“中转站”,称为“一跳”),该路由器会将数据包中的 TTL 值减 1。
- 判断与丢弃:路由器在减去 1 之后,会检查新的 TTL
值:
- 如果 TTL > 0:路由器会将数据包转发到下一个目的地。
- 如果 TTL = 0:路由器会丢弃这个数据包,并向数据的原始发送者发送一个 ICMP 超时消息(类型为 “Time Exceeded”)。
3. 主要作用
TTL 机制有两个核心作用:
- 防止路由环路 这是最主要的作用。如果网络路由配置出现错误,可能会导致数据包在两个或多个路由器之间来回传递,形成一个无限循环(就像开车在环岛上永远出不去)。如果没有 TTL,这些“迷路”的数据包会永远占用网络资源,最终导致网络拥塞。TTL 确保了即使发生环路,数据包也会在有限次数的循环后被清除。
- 作为网络诊断工具的原理 最经典的例子就是
traceroute(在 Windows 系统中是tracert)命令。这个工具就是巧妙地利用 TTL 来工作的:- 它首先向目标地址发送一个 TTL=1 的数据包。
- 第一台路由器收到后,将 TTL 减至 0,于是丢弃该包,并向源地址发回一个
ICMP 超时消息。
traceroute由此知道了第一台路由器的地址。 - 接着,它发送一个 TTL=2
的数据包。这个包在到达第二台路由器时被丢弃,并返回超时消息。
traceroute知道了第二台路由器的地址。 - 以此类推,直到数据包最终到达目标主机。通过这个过程,
traceroute就能描绘出从源到目标所经过的完整路径。
简单比喻: 就像快递包裹上的“最大中转次数”,每经过一个中转站就盖一个章,章盖满了,包裹就被销毁并通知寄件人。