本章所有示例代码>>gtihub
向大量客户端发送相同数据时,可以使用多播技术解决。
14.1 多播
多播(Multicast)方式的数据传输是基于UDP完成的。区别在于,UDP数据传输以单一目标进行,而多播数据同时传递到加入(注册)特定组的大量主机。换言之,采用多播方式时,可以同时向多个主机传递数据。
1. 多播的数据传输方式及流量方面的优点
- 多播服务器端针对特定多播组,只发送1次数据;
- 即使只发送1次数据,但该组内的所有客户端都会接收数据;
- 多播组数可在IP地址范围内任意增加;
- 加入特定组即可接收发往该多播组的数据;
多播组是D类IP地址(224.0.0.0~239.255.255.255)。
向网络传递1个多播数据包时,路由器将复制该数据包并传递到多个主机。
多播主要用于“多媒体数据的实时传输”。
虽然理论上可以完成多播通信,但不少路由器并不支持多播,或即便支持也因网络拥堵问题故意阻断多播。因此,为了在不支持多播的路由器中完成多播通信,也会使用隧道(Tunneling)技术(