TCP_IP 上的多播.doc
上传人:sy****28 上传时间:2024-09-12 格式:DOC 页数:9 大小:60KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

TCP_IP 上的多播.doc

TCP_IP上的多播.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

TCP/IP上的多播1介绍:对于一个音频或视频会议来讲,若采用单播,由于占用巨大的网络带宽而使网络崩溃;如果采用广播,会有以下两个缺点:1)不参加会议的结点也会收到信息;2)局域网外的结点不会收到信息。最好的解决办法是采用多播。对于一个多播报文和普通的报文一样,也是一个IP报文;只是路由算法不同而已;由多播路由来决定该转发到何处,不该转发到何处;2多播地址224.0.0.1:包括所有的多播主机组;当你PING这个组时,参加多播的所有主机会有响应;224.0.0.2:包括所有的多播路由器组224.0.0.4:包括所有的实现DUMRP算法的多播路由器组224.0.0.5:包括所有的实现OSPF算法的多播路由器224.0.0.13:包括所有的实现PIM算法的多播路由器224.0.0.0---224.0.0.255:用于本地的管理和维护,发送给这些地址的信息不被多播路由器转发。239.0.0.0---239.255.255.255:为管理范围保留;3发送多播数据报在实际应用中,创建一个UDP套接字,并填写一个D类目的地址即可发送数据;有时也需要我们的发送进程选择以下的控制信息:TTL:生存时间;以避免由于路由失败而产生的路由循环;多播中发送者发出一个消息后,自己本身的回环;主机有多个网络接口时,要选择一个作为输出接口;否则,系统回在配置文件里选择一个缺省的接口作为输出接口。4接收多播报文多播数据报或者被硬件,或被IP层,或被两者同时作用,要进行过滤;只有提前注册目的组的主机才可以收到该多播消息。注意:1)我们是通过接口来加入一个组;2)一个主机上多个接口可以加入同一个组3)若没有指定具体接口,则内核根据路由信息来进行发送;4)主机上多个进程可以通过一个接口加入同一个多播组,注意该接口上的数据复制如何处理。5离开一个多播组一个主机上的所有进程均离开一个多播组,表明该主机离开多播组参加一个多播组仅仅意味者:你告诉IP层和数据连路层接收发给该多播组的报文;其是一个主机成员为单位,而不是一个进程为单位;6内核要求和初始化LINUX可以不用怀疑的配置为多播服务器来使用;若你想让主机具有发送和接收多播信息的能力,你只要配置内核即可;若你想让主机具有多播路由器的功能,你需要配置LINUX系统的以下参数IP:forwarding/gatewaying;IP:multicastroutingIP:tunning其中,最新版本的mrouted守护进程将多播报文封装成单播报文,利用IP隧道来传送中间有单播路由器组成的网络;其实际上是运行一个路由算法些LINUX内核将多播标为“EXPERIMANTAL”,所以你必须使能以下选项:Codematurityleveloption--Promptfordevlopmentand/orincompletecode/drivers5)当你在本地上运行了mrouted守护进程,多播报文可以由本地转发给别的网络,但在本地局域网上看不到别的网络发来的数据报,可以检查以下两项工作:第一:看有没有ICMP报文;第二:LINUX路由器中的IP隧道是否打开;对于多播来讲,其掩码为:224.0.0.0;所以,给网络224.0.0.0增加一条路由的命令应该是:routeradd224.0.0.0netmask224.0.0.0deveth0根据你路由程序的新旧来判断是否要在add后加一个–net;在这里,我们将eth0配置成多播接口,从这里可以发送多播报文;通过改变dev参数,可以改变多播接口;你也可以通过看/proc/net/igmp来看你的主机属于那一个多播组;7Mbone每一个新技术的出现,有其两面性;对于多播来讲,其优点不言而语;但其缺点是:实际网络中,数以千计的路由器不支持多播;作为结果:人们要启动多播服务,必须买新的设备(多播路由器),修改操作系统,在本地网上建立多播岛;我们会发现,其中有一个路由器发生问题,做同一件事情的人们之间的多播通信就会失败;解决该问题的方法很明确:在现有网络的基础上,建立一个虚拟的多播网络;只要结点之间存在多个多播路由器即可进行多播通信,即使他们中间有单播路由器存在。多播岛一端的多播路由器将多播报文封装成单播报文,通过多播隧道,发送到另一个多播岛一端的多播路由器,在该路由器上,对数据报在进行解包,沿多播路由发送;在隧道上是按传统的单播进行发送;多播隧道的定义:将多播报封装成单播报,通过单播路由,在另一端在将单播报文解报成原始的多播报文的过程。Mbone(MulticastBackbone)就是通过多播隧道将多个多播岛连接起来的一个多播网络。8多播的应用SessionTool可以检测到当前网络上那些多播