互联网协议(Internet Protocol,IP)
IPv4 地址
IPv4 地址为 32 位(bit),通常用 4 段十进制数表示。
子网掩码 255.255.255.0 可以用斜杠记法表示为/24,表示子网掩码长度为 24 位。255.255.255.0 的二进制形式为11111111.11111111.11111111.00000000。
IPv4 网络
IPv4 对应于网络四层模型中的第二层(网络层),或者 OSI 六层模型的第三层。
单播
唯一一个源主机发送IP包到唯一一个目的主机。
广播(Broadcast)
- 定向广播:发往“某个特定子网”的广播地址
例子 A:同一子网内
- 子网:172.16.4.0/24
- 该子网广播地址:172.16.4.255
- 主机:172.16.4.10
- 发送 UDP 包到:172.16.4.255
这个包的目的 IP 是 172.16.4.255,它是 172.16.4.0/24 这个特定网络的广播地址。因此:
- 172.16.4.0/24 内所有主机都会收到;
- 以太网目的 MAC 通常是
FF:FF:FF:FF:FF:FF; - 这个包不会跑到 172.16.5.0/24 等其他子网。
例子 B:从其他网络发往某子网的广播地址
- 发送主机:172.16.5.20/24
- 目的地址:172.16.4.255
这也是定向广播:目的地址是特定网络 172.16.4.0/24 的广播地址。
理论上,路由器可以把该包转发到 172.16.4.0/24,然后在那个子网内广播。但实际网络中,路由器通常默认丢弃定向广播,因为可能被滥用做“Smurf 攻击”。只有显式启用类似ip directed-broadcast才可能转发。
所以定向广播的关键是:目的 IP 是某个特定子网的广播地址,例如:
- 172.16.4.255 对应 172.16.4.0/24
- 192.168.1.255 对应 192.168.1.0/24
- 10.1.2.255 对应 10.1.2.0/24
- 有限广播:发往“本地广播域”的 255.255.255.255
例子:DHCP 客户端请求地址
- 新开机主机:还没有 IP,源 IP 为 0.0.0.0
- 目的 IP:255.255.255.255
- 发送 DHCP Discover
这个包是有限广播:
- 只在本地广播域/本地链路内传播;
- 路由器不会转发 255.255.255.255;
- 同一局域网内的 DHCP 服务器能收到;
- 不会到达其他子网。
再比如:
主机 192.168.1.10/24 发送 UDP 到 255.255.255.255:
- 同一 192.168.1.0/24 广播域内主机能收到;
- 路由器收到后不会把它转发到 192.168.2.0/24。
有限广播的关键是:目的地址固定为 32 位全 1,即 255.255.255.255,只作用于本地广播域。
注:IPv6 没有广播。
多播
多播把IP包发给一组订阅了多播组的主机,该IP包中的目的IP是多播地址,IPv4把224.0.0.0 ~ 239.255.255.255划为多播地址。
动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)
一般有静态、动态两种方式配置主机的 IP 地址。
静态即手动在主机上设置。菊厂的黄区电脑要手动设置 IP,并要在内网系统上登录帐号申请 IP 与 MAC 绑定,使得人、机、网三者关联,估计是一种安全策略。
DHCP是一种动态配置IP的协议。暂无IP地址的主机首先发出DHCP Discover的有限广播,DHCP服务器用DHCP offer包回应,主机收到分配的IP、子网掩码与网关,设置后再发出DHCP Request,DHCP服务收到反馈,最后发出ACK确认。