组播学习笔记_第1页
组播学习笔记_第2页
组播学习笔记_第3页
组播学习笔记_第4页
组播学习笔记_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、组播学习笔记一、基础知识1、组播的概念:使用组播的好处:一个源可以利用组播向多个目标发送数据(如:IGP的无类路由协议使用的组播)使用组播可以节省带宽和设备的cost组播的缺点:组播是基于UDP发送的。(数据层面)2、RTP(real-time transport protocol):实时传输协议,因为组播是基于UDP的,其传输是无序的,为了解决接受数据时有序的,就需要对数据的实时传输。3、由于是基于UDP的所以他的传输和UDP一样都是尽力的传输。没有拥塞避免机制。因为是无序传输,需要利用RTP来解决。在冗余拓扑中,可能让接受者收到多个一样的报文,可以通过PIM来解决。4、组播应用的类型,a、

2、1对多 b、多对多(视频会议)c、多对15、组播的专用名词。First-hop:第一跳路由器 Last-hop:最后一跳路由器IGMP:典型的个人和路由器之间沟通的协议。6、PIM:协议无关的组播,即和运行的IGP没有关系。7、ip地址的分类回顾:A类:0127 B类:128191 C类:192223 D类:224239 其中D类是组播地址,不能被配置在设备的接口上。在A类地址中127是被保留的特色地址,也就是我们常用的本地环回地址。8、组播地址不能被当做源地址,只能被当做目标地址。9、组播地址的细分:AB保留的公网组播地址SSM(source specific multicast)指定源的组

3、播(在CCSP中会涉及)这种协议时PIM的高级协议(232.0.0.0232.255.255.255)GLOP地址(233.0.0.0233.255.255.255)就是申请一个BGP的AS号会送一段组播地址,这段地址就是GLOP地址。这个地址是可以根据AS号来算出来的,如下所示:如果AS:64521,那么所得组播地址是?1、将64521转化成十六进制的数FC092、将FC09从中间断开得到FC 09 3、将FC和09 分别转化成两个十进制的数得到252 94、分别将这两个数字放在GLOP地址的第二位和第三位。就得到基于本的地址C10、典型的私有地址的使用:发向所有的主机和路由器发向所有的路由

4、器OSPF向所有路由器发送路由信息使用的组播地址。OSPF中MA网络,发向DR使用的组播地址RIPv2EIGRPPIM发送hello包的组播地址二、IGMP协议1、IGMP的定义:( internet group management protocol) internet组管理协议,本协议有三个版本V1、V2、V3、这里我们重点学习V2。IGMP是封装在IP包里面的,这里IGMP的协议号是。IGMPv1的数据包模型:2、IGMPv1:他有两种报文;(1)、查询包,由最后一跳路由器发送,查询有哪些组员(每60秒发一次,发送的组播地址是:224.0.0.2)查询报文的目标地址和组地址(2)、rep

5、ort包,由主机发送,说明加入了某个组。他的目标地址和组地址分别是:D:224.1.1.1 G:224.1.1.1 如左所示:其目标和组地址都一样,这是因为通过路由器向下发送查询报文,主机收到该报文后,会向路由器发送report报文来回复,而发送的report的报文由本地主机运行的应用程序而决定加入什么样的组,故而确定了组地址。而用本地的组地址作为发送report包的目的地址。则是有两方面的优点:使用组地址作为report报文的目标地址,可以将报文发给网关路由器和加入同一个组的PC,这时,所有的PC都会以这个地址来发report报文,而相同的报文会被抑制掉,从而只发一个相同的report报文给

6、网关路由器。(3)离组消息:在180S内发送三次查询包,如果一直没有收到该组的report回复报文,则意味这该组自动解散。最后一跳路由器清除该组相关表项。(缺点是在180s内还在转发组播消息)3、IGMPv2:版本2相对于版本1的常规查询和report新增了2中报文。其解决了版本1在180s内仍然转发组播消息的问题。IGMPv2的四种报文1、常规查询,和版本1一样; 2、report报文和版本1一样。 3、group-specific query 指定组的查询。4、leave group massage 离组消息。在最后一跳路由器冗余的情况下会出现查询者的选举,既在这样的一个网络下会出现que

7、rier的选举,其选择的原则是选取IP地址小的设备作为查询者。由于(路由器和PC都接收)所以在查询的过程中就会选出来查询者。(在版本1 中也存在这样的选路,而在版本1 中则使用的是PIM来选择DR选出的DR就充当了查询者)当查询者down了之后,非查询者在120S之内没有收到查询者的查询,那么非查询者就会充当查询者。4、IGMPv2的报文格式:(右图)5、离组报文,其发送离组消息的目标地址是:224.0.0.1.group 地址是:就是原有的group地址6、当查询者收到了这个的离组报文后,路由器就会发送一个指定组的查询报文。发送指定组的查询报文后,路由器会等待,如果没有收到这个组的repor

8、t报文,那么路由器就会删除这个组的所有表项。到目前为止,离组完成。如果PC收到指定查询,那么PC就会马上发送一个report的报文。7、在路由器上面启用组播路由协议:全局下#ip mlticast-routing 在接口下运行PIM协议:# ip pim sparse-mode 查看谁是查询者以及相关信息:show ip igmp interface Debug ip igmp 可以详细的看看离组的过程。查看组员信息:show ip igmp groups三、二层的组播地址1、mac地址:mac地址是一个48位。其前24位是需要申请的,简称是OUI .后24位是厂家自己任意指定的。2、理论上组

9、播地址有2的28次方个组播地址。因为前四位是固定的。3、在一个需要运行组播的网络中,当数据进行封装的时候,在IP报文前面会封装以太网包头,在分装以太网包头的时候,需要有源和目标mac地址。当然,封装的时候源mac地址就是该报文出去的以太网口的mac地址,那么目标mac地址就需要和运行的组播地址进行换算了,其换算的方法是:首先,这个目标mac地址的前25为是确定的,既:01-00-5e-0(0是固定的)后面的23为是自己分配的。其次,将本组的组播地址转换成二进制,取后23位直接放在前面的25位后面,这就得到了我们需要的目的mac地址。那么着就意味着我们有32个组播地址对应了一个组播数据包的目标m

10、ac地址。就有可能有32个组播地址映射到了一个mac地址。4、当一个交换机接受到一个组播地址或者广播地址的数据包时,就会向所有属于同一个vlan的接口泛红这个数据,但是在在实际工程中为了减少不必要的组播泛红到其他的链路上去,这时就有了IGMP snooping 协议和思科私有的cisco group management protocol (CGMP)协议。5、IGMP snooping:他是一个业界标准,其只需要在交换机上面做就可以解决问题。 原理:默认的一台交换机只可以将包拆到mac地址就可以转发了,但是IGMP snooping之后就可以将包拆到三层的iip地址。当PC加入一个组之后会发

11、送report 报文,而且目标ip地址和组ip地址是一样的,如果这个交换机启用的IGMP snooping 功能,他就会把这个报文截获下来,这时,就会将截获来的报文的组地址和接口就会有一个映射表。当交换机接受来的组播报文,就只会向有映射的接口发送。而不会向所有本vlan的接口发送。 全局下:#iip igmp snooping vlan 1 针对vlan1 开启snooping 。不加vlan的话就是针对所有的vlan都开启snooping。 查看交换机上IGMP snooping 表项:#show ip igmp snooping group 6、CGMP:需要交换机和路由器的一个协同工作。

12、(思科私有的) 原理: PC向路由器发送report报文,当交换机和路由器都启用了CGMP功能后,report报文会直接透传交换机发送给路由器。而路由器会截获report报文的目标mac地址和源mac地址作为GDA(group destination address 组的目标地址)和USA(unicast source address单播的源mac地址 )封装成CGMP报文,再将CGMP报文发送给交换机,交换机就有了这个表项。既一个PC的mac地址和一个组播mac地址的映射表项。当交换机收到一个224.1.1.1 的组播数据,数据转发时的目标mac地址就变成GDA了,交换机收到这个数据包之后就

13、会向和GDP mac地址映射表项的USA mac地址的接口区转发。开启交换机cgmp 全局#cgmp;开启路由器cgmp 接口下#ip cgmp(运行多播协议和PIM)四、组播路由协议PIM(协议无关的组播协议)单播路由协议和组播路由协议的区别:单播路由是决定数据时从哪(走哪)出去的一种协议;而组播路由协议则是决定数据时从哪个接口进来的一种协议(既防止接受重复报文;既路由器接收一个组播报文只可能有一个接口)1、RPF(reverse path forwarding )反向路径转发,把路由器的包的进入接口称之为RPF接口,一个路由器只有一个RPF接口。2、RPF校验:如右图所示:当路由器接收到一

14、个源地址为151.10.3.21的组播数据的时,路由器会做RPF校验,这时,路由器会找自己的单播路由表,来查找源151.10.3.21的路由,在右图所示的例子中,查找的结果是从s1口出去的,而组播数据时从s0口进来的,这是RPF校验失败。3、当最后一跳路由后面有负载均衡的链路时,这时候选举RPF接口的办法是,在校验的时候:、优选与到达源地址路由条目的最短路由管理距离(多个路由协议)的接口;、如果以上是一样的,那就选择最小metric的哪条链路的接口;3、如果若果metric值一样,那就选择较大的IP地址的那个接口作为RPF接口。4、当我们需要基于组来做组播的负载分担的时候,可以写一条组播的静态

15、路由来干扰个别流量的的走向。全局下#ip mroute 1.1.1.1 255.255.255.255 +入接口(其中1.1.1.1 255.255.255.255是发送组播数据的源地址。入接口就是本地路由器上的组播数据进入的接口)组播的静态路由的AD是05、组播中的两棵树 A、source rooted:源树(SPT) 原理:当一个网络中有多个组播数据源的时候,每个源会在这个网络中生成一棵树,这时就会在本地产生一个表项(组播路由表)他会标识出这个组播数据流量是从哪个接口进来的,要从哪个接口出去。运SPT的缺点是:占用路由器的cost。优点是:源到达接受者是最优的。 B、shared tree

16、s:共享树(RPT) 原理:当有多个组播数据源的时候,在网络中指定一个RP路由器,这时,所有的组播数据流量都发向RP设备,然后,网络中以RP为源树,来形成一棵树,这个模型是一个分段模型,在RP以前还是源树,在RP以后就是共享树了。6、PIM的两种模式。 1、sparse mode:稀疏模式 2、dense mode:密集模式;(有组播流量才能够形成树形结构)所谓的密集模式就是接受者非常多。使用的模式是push模式,使用的树是spt树,其运行原理:当源路由器有组播数据流量向下发的时候,第一跳路由器会将流量发向所有的最后一跳路由器,一旦组播流量泛洪完成后,每台设备上就会产生一个表项(S,G),如果

17、有的最后一跳设备上面没有接受者,那么就会发送一个pruning 包,当源树的根收到pruning包之后就会修剪掉没有接受者的设备的组播表项。到了这个时候,组播流量就只向有接受者的最后一跳设备发送,在这个过程完成后,每三分钟会泛洪一次组播流量,也会在进行一次修剪。如此,循环这个过程。(如果,网络在接受者比较多,那么这种模式就比较好。) 3、PIM的工作原理:当两台设备的接口都运行PIM的sparse或者dense模式,就开始建立邻居,发hello包,30s发送一次,hold时间是105s ,(在IGMPv1中选举查询者就是在这个过程中进行的,选举规则是:先比接口优先级,再比接口的地址较高)、当邻

18、居建立成功后,可以使用命令show ip pim neighbor 查看。这时会看到这个表有三个状态属性,如下图所示:Dense mode 的配置: 首先,在设备上面需要配置的设备上面启IGP路由,为了防止RPF校验失败;其次,开启设备的组播路由功能,全局下#ip multicast-routing最后,在所有转发组播流量的接口下配置PIM模式#ip pim dense-mode(在ping组播地址的时候,要是没有回包,很有可能是接受者的最后一跳路由器没有回去的路由) 5、在PIM中修改接口的优先级#ip pim dr-priority+优先级 6、查看组播路由表:#show ip mrout

19、e,在查看组播路由器的路由表的时候后面的flags位的字母分别表示:D-表示运行的是dense模式;S表示运行的是sparse模式;T表示SPT位置位了,表示组播数据已经从形成好的源树开始转发。 7、组播中的通用规则: A、当组播运行的时候,其路由表中产生一个(S,G)就会自动产生一个(*,G);但是在dense 模式下(*,G)不做组播数据转发 8、sparse 模式:稀疏模式,其使用了pull模式来转发组播流量,其用到了SPT树和RPT树。这种模式只要有了接受者就会形成树形结构。 原理:(右图为例)在运行sparse模式之前,在网络中选取一个RP,当接受者加入一个组之后,连接接受者的的最后

20、一跳设备会向RP发出一个(*,G)的join包,此时,RP到达最后一跳路由器,这棵树(RPT)就形成了,让RP知道有接受者。在这个过程中从RP路由器到最后一跳路由器都会形成一个(*,G)的表项;当第一跳路由器接收到组播流量的时候,会向RP用单播发送一个register报文(S,G),register报文里面IP包头之后封装的是PIM信息,目的是查看RP上面有无该组的组员。这时,有两种情况,如果有的话,那么就直接把这个register包解封装,就按照正常的组播流量向下走;然后,RP会向第一跳路由器发送一个join信息(S,G),因为所有的组播流量都封装在一个单播数据包中,最终需要通过组播路由表来

21、转发,当第一跳路由器收到后形成spt树。组播流量就会通过spt发个RP,再通过RPT发给接收者。这时,第一跳路由器仍在向RP发送单播register报文,为了抑制这种现象,RP就会向第一跳路由器就会以单播的形式向第一跳路由器发送一个 (S,G)register stop报文,来禁止第一跳路由器单播发送register(S,G)报文。 如果在第一跳路由器发送register报文的时候,RP路由器上没有接收者的信息,那么就会直接向第一跳路由器发送register stop 报文,将组播流量在第一跳设备上面丢掉。 9、在运行sparse模式的时候,设备会自动运行switchover,当最后一跳路由器在从RP接收到组播流量的时候,最后一跳路由器就会向源发送一个(S,G)join的报文,这时就自己切换到最短路径了,切换的筏值是看组播的速率0kbps,当组播流量的速率大于0kbps就会向SPT转换。(默认切换)要使得不切换需要在最后一跳路由器上面配置:#ip pim spt-threshold infinity 配置:和dense 模式的配置一样,只不过命令行不一样;RP的配置:1、静态配置(一般使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论