实验十三组播通信

实验十三组播通信

ID:1773540

大小:29.05 KB

页数:5页

时间:2017-11-13

实验十三组播通信_第1页
实验十三组播通信_第2页
实验十三组播通信_第3页
实验十三组播通信_第4页
实验十三组播通信_第5页
资源描述:

《实验十三组播通信》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验十三组播通信§1.1实验目的理解组播通信的概念及原理,比较组播通信方式和通常的单播通信方式有何不同。理解组播通信的实现,通过编制简单的利用组播方式通信的应用程序来加深对组播的理解。§1.2实验原理1.组播介绍IP组播(组播)技术,是一种允许一台或多台主机(组播源)发送单一数据包到多台主机的TCP/IP网络技术。组播作为一点对多点的通信,是节省网络带宽的有效方法之一。在网络音频/视频广播的应用中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只

2、有组播才是最好的选择。组播能使一个或多个组播源只把数据包发送给特定的组播组,而只有加入该组播组的主机才能接收到数据包。2.组播地址IP组播通信必须依赖于组播地址,在IPv4中它是一个D类IP地址,范围从224.0.0.0到239.255.255.255,并被划分为局部链接组播地址、预留组播地址和管理权限组播地址三类。其中,局部链接组播地址范围在224.0.0.0~224.0.0.255,这是为路由协议和其它用途保留的地址,路由器并不转发属于此范围的IP包;预留组播地址为224.0.1.0~238.255.25

3、5.255,可用于全球范围(如Internet)或网络协议;管理权限组播地址为239.0.0.0~239.255.255.255,可供组织内部使用,类似于私有IP地址,不能用于Internet,可限制组播范围。使用同一个IP组播地址接收组播数据包的所有主机构成了一个主机组,也称为组播组。一个组播组的成员是随时变动的,一台主机可以随时加入或离开组播组,组播组成员的数目和所在的地理位置也不受限制,一台主机也可以属于几个组播组。此外,不属于某一个组播组的主机也可以向该组播组发送数据包。3.组播的工作过程在局域网内,

4、主机的网络接口将到目的主机的数据包发送到高层,这些数据包中的目的地址是物理接口地址或广播地址。如果主机已经加入到一个组播组中,主机的网络接口就会识别出发送到该组成员的数据包。因此,如果主机接口的物理地址为80:C0:F6:A0:4A:B1,其加入的组播组为224.0.1.10,则发送给主机的数据包中的目的地址必是下面三种类型之一:接口地址:80:C0:F6:A0:4A:B1广播地址:FF:FF:FF:FF:FF:FF:FF:FF组播地址:01:00:5E:00:01:0A(组播地址如何映射到MAC层地址可以参

5、见RFC1112。)广域网中,路由器必须支持组播路由。当主机中运行的进程加入到某个组播组中时,主机向子网中的所有组播路由器发送IGMP(Internet分组管理协议)报文,告诉路由器凡是发送到这个组播组的组播报文都必须发送到本地的子网中,这样主机的进程就可以接收到报文了。子网中的路由器再通知其它的路由器,这些路由器就知道该将组播报文转发到哪些子网中去。子网中的路由器也向224.0.0.1发送一个IGMP报文(224.0.0.1代表组中的全部主机),要求组中的主机提供组的相关信息。组中的主机收到这个报文后,都各

6、将计数器的值设为随机值,当计数器递减为0时再向路由器发送应答。这样就防止了组中所有的主机同时向路由器发送应答,造成网络拥塞。主机向组播地址发送一个报文做为对路由器的应答,组中的其它主机一旦看到这个应答报文,就不再发送应答报文了,因为组中的主机向路由器提供的都是相同的信息,所以子网路由器只需得到组中一个主机提供的信息就可以了。如果组中的主机都退出了,路由器就收不到应答,因此路由器认为该组目前没有主机加入,遂停止到该子网报文的路由。IGMPv2的解决方案是:组中的主机在退出时向224.0.0.2发送报文通知组播路

7、由器。1.应用编程接口(API)如果你有套接字编程的经验,就会发现,对组播选项所进行的操作只需五个新的套接字操作。函数setsockopt()及getsockopt()用来建立和读取这五个选项的值。下表中列出了组播的可选项,并列出其数据类型和描述:IPv4选项数据类型描述IP_ADD_MEMBERSHIPstructip_mreq加入到组播组中IP_ROP_MEMBERSHIPstructip_mreq从组播组中退出IP_MULTICAST_IFstructip_mreq指定提交组播报文的接口IP_MULTI

8、CAST_TTLu_char指定提交组播报文的TTLIP_MULTICAST_LOOPu_char使组播报文环路有效或无效在头文件中定义了ip_mreq结构:structip_mreq{structin_addrimr_multiaddr;/*IPmulticastaddressofgroup*/structin_addrimr_interface;/*localIPaddr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。