无类寻址
IP 地址不应该被强制分成 A / B / C 类,
而应该按"实际需要的规模"来分配。
无类寻址到底"无"在哪?
1️⃣ "无类"不是没有规则
而是:
不再固定用 A/B/C 类的边界
从此:
-
网络号可以是:
-
/13
-
/17
-
/20
-
/27
-
想要多少地址,就给多少(向上取 2 的幂)
-

-
tip:从主机号入手(主机号由长到短),看主机号长度,然后网络好就是32-主机号
iPV4不能分配的地址
先看类别,确定网络号和主机号长度,接着看网络号和主机号分别是什么
这两类不能分配:
- 网络号全0(表示本地网络/主机)
- 主机号全1,表示广播地址

IP协议



超级易错!hhhhh 注意:片偏移字段的单位是8字节,所以数据部分的长度都必须是8的整数倍(最后一个分配不强求) 所以由题:一个分片的数据部分是800-20 = 780字节,取最大的8的整数倍就是776
路由选择



ARP

ARP 是一种用于在局域网内根据 IP 地址查询对应 MAC 地址的协议,通过广播请求和单播应答实现地址解析。
-
ARP 是干什么的?
👉 IP → MAC
-
ARP 请求是广播还是单播?
👉 请求广播,应答单播
-
ARP 能跨路由器吗?
👉 不能
-
主机给外网发包时 ARP 谁?
👉 默认网关的 MAC【再由于路由器去ARP下一个,主机永远 ARP 的是"下一跳"的 MAC,而不是最终目的主机,不在同一局域网就ARP默认网关】
ICMP 是干啥的?(你其实天天在用)
一句话定义
ICMP(Internet Control Message Protocol)
用来传递 IP 层的差错信息和控制信息
⚠️ 重点:
-
不传数据
-
只管网络"状况说明"
你最熟的例子:ping
ping 在干什么?
-
用的就是 ICMP
-
具体是:
-
ICMP Echo Request
-
ICMP Echo Reply
-
👉 翻译成人话:
"你在吗?"
"我在。"
IGMP 是干啥的?(只和"多播"有关)
一句话定义
IGMP 用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
**IGMP 在干什么?**只干一件事
👉 告诉路由器:
-
"我想加入这个多播组"
-
或者
-
"我不想要这个多播组了"
两步过程:
建立:第一阶段:当某个主机加入新的多播组时,该主机应向多播组的多播地址发送IGMP 报文,声明自己要成为该组的成员。 本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器。
第二阶段:因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。 只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。 但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器。
携带IGMP分组的IP分组的TTL字段的值为1

