UDP之多播/组播

目录


一.什么是多播(组播)?为什么出现多播(组播)?

由上节课讲到的广播,可以知道:Server给局域网的交换机发送数据,无论连接到局域网的客户端想不想接收该数据,Server都会给客户端发送该数据。—>进而造成客户端上数据的拥塞—>因此引出了多播(组播):Server可以将数据包只发送给指定组内的客户端,而不发送给指定组外的客户端。

二.组播地址

IP 多播通信必须依赖于 IP 多播地址,在 IPv4 中它是一个 D 类 IP 地址,范围从== 224.0.0.0 到 239.255.255.255==,并被划分为局部链接多播地址、预留多播地址和管理权限多播地址三类

IP地址
244.0.0.0~244.0.0.255 局部链接多播地址:是为路由协议和其它用途保留的地址,路由器并不转发属于此范围的IP包
244.0.1.0~244.0.1.255 预留多播地址:公用组播地址,可用于Internet;使用前需要申请
244.0.2.0~238.255.255.255 预留多播地址:用户可用组播地址(临时组地址),全网范围内有效
239.0.0.0~239.255.255.255 本地管理组播地址,可供组织内部使用,类似于私有 IP 地址,不能用于 Internet,可限制多播范围

三.主机网卡对应的编号

ifconfig命令

说明:大型机器上一般有大量的主机网卡,即eth0,eth1,eth2,… …
UDP之多播/组播

ip ad (ip adress)获取网卡对应的编号

说明:lo/eth0前面的1/2就是这两个网卡对应的编号
UDP之多播/组播

四.多播实现

int setsockopt( int sockfd, int level,int optname, const void *optval, socklen_t optlen );
UDP之多播/组播

(59条消息) UDP之多播/组播_JaweG-CSDN博客_udp组播

上一篇:Flutter 90: 图解 Dart 单线程实现异步处理之 Future (一)


下一篇:C# UDP同步获取消息