目录

  • 一.什么是多播(组播)?为什么出现多播(组播)?
  • 二.组播地址
  • 三.主机网卡对应的编号
  • ifconfig命令
  • ip ad (ip adress)获取网卡对应的编号
  • 四.多播实现

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

由上节课讲到的广播,可以知道: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,… …

java udp 加入多播组 udp可以多播吗_java udp 加入多播组

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

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

java udp 加入多播组 udp可以多播吗_网络_02

四.多播实现

int setsockopt( int sockfd, int level,int optname, const void *optval, socklen_t optlen );

java udp 加入多播组 udp可以多播吗_网络_03