广播与组播
这是IP层的功能, 即3层协议提供的.
但在发送广播或组播数据报时, 用的是UDP协议.
这是因为数据包中有业务数据, 而业务数据需要四层传输层协议来承载. TCP是面向连接的协议, 也就是只能实现单播的功能.
这时就能用上面向数据报的协议了, 就是UDP的应用场景.
组播
组播中的组, 对应的是D类IP地址, 即组播IP地址. 即 224.0.0.0 ~ 224.255.255.255.
在Go中, 服务端用net.ListenMulticastUDP建立监听服务, gaddr是对应的组播IP:port.
客户端使用net.DialUDP发送报文, laddr(localAddr/srcAddr)传nil, raddr(remoteAddr/dstAddr)传组播ip.
三类IP地址
-
单播地址
-
广播地址
-
多播地址(组播) D类地址
参考地址