第20章 广播
1.概述
UDP和原始套接字支持广播
广播的用处:
(1)客户端确定服务器位于本子网内时,使用广播探测服务器
(2)服务器广播发送信息给本子网内客户端,以减少网络上分组。
常见使用广播的程序:
DHCP,ARP,RIP
2.广播地址
广播地址有两种:
(1)子网定向广播地址:{子网,-1},192.168.43.255
(2)受限广播地址:{-1, -1},255.255.255.255
3.从UDP数据报的传递理解广播
主机A发送UDP单播给主机B
通过sendto 赋予 源端口,目的端口,源IP,目的IP,以太帧类型为IPv4分组。
又通过路由表,直到下一条IP,从而获得源MAC和目的MAC。
帧被发出。
中间主机的网络接口看到该帧的目的MAC和自己不同,忽略该帧,次计算不使用主机CPU。
B主机网络接口对比该帧目的MAC和自己MAC相同,校验成功后,向上传。
由于帧的类型是IPv4,所以被存入IP的输入队列。
IP协议对比该帧的目的IP和自己相同,校验成功后,向上传,查看IP协议字段,发现是UDP协议,数据报被送到UDP层。
UDP对比目的端口,通过,将数据放到对应套接字输入缓冲。
主机A发送UDP广播
报文获得源端口,目的端口,源IP,目的IP(广播地址),类型为IPv4。
ARP将目的Ip映射为ff:ff:ff:ff:ff:ff:ff的目的MAC地址。
帧被发出。
所有主机网络接口收到该帧后,都会上传。
IP层也会上传。
UDP会对比端口。
4. 编程
广播需要设置 SO_BROADCAST 套接字选项。