组播协议相关
- 格式:doc
- 大小:478.00 KB
- 文档页数:13
计算机三级考试《网络技术》重要考点:组播技术合集1篇计算机三级考试《网络技术》重要考点:组播技术 1 单播:通常采用的传播方式,基本特点是一对一传输数据。
单播发送者发送的信息一次只能传到一个接收方。
广播:由路由器或交换机将同一个信息无条件地发送给每一条路径中的节点,由接收者决定接收还是丢弃。
(一对多),发送方只发送一次,由路由器和交换机重复发送。
组播:允许一个或多个发送方发送单一数据报到多个接收方的`网络传输方式。
无论组成员多少,只发送一次数据包,组播采用组播地址寻址,只向需要数据包的主机或网络发送。
(一对一组) 2、IP组播特点:组播使用组地址:每个组播组拥有唯一的组播地址(D类地址),组播数据包可以送到标识目的主机的组地址。
动态的组成员:组播成员是动态的,本地的组播路由器周期性的向本地网络主机进行轮询。
底层硬件支持的组播:Internet是络互联,__些网络是以太网,以太网本身具有硬件组播能力。
3、组播技术基础(1)IP组播地址:A、B、C为单播地址,D为组播地址,E保留地址。
组播地址最高4位为1110+ 28位,范围224.0.0.0至239.255.255.255。
每一个组播地址标识为一个组播组。
(2)组播相关协议组播协议分为主机和路由器之间的协议(IP组播管理协议);路由器和路由器之间的协议(IP组播路由协议)。
IP组播组管理协议:组管理协议(IGMP)在主机和与主机直连接接的路由器之间运行。
实现双向:主机通过IGMP通知本地路由希望加入特定组;另一方面,路由器通过IGMP周期查询局域网内某个已知组的成员是否处于活动状态,实现组成员关系的收集与维护。
包括IGMP和CGMP。
IP组播路由协议:组播路由协议分为域内组播路由协议和域间组播路由协议。
其中域内组播路由分为密集模式和稀疏模式。
域内组播有MOSPF协议、DVMRP协议、PIM协议。
组播路由不同于单播路由,由源地址、组地址、入接口列表和出接口列表4部分组成。
组播路由协议包括igmp协议组播路由协议包括IGMP协议双方基本信息:委托方:___________(以下简称“甲方”)地址:_____________联系人:______________联系电话:____________委托对象:______________(以下简称“乙方”)地址:_____________联系人:______________联系电话:____________一、各方身份、权利、义务、履行方式、期限、违约责任1. 甲方身份:组播路由服务需求方,需要由乙方提供相关服务。
2. 乙方身份:组播路由服务提供方,需要向甲方提供组播路由服务和协议。
3. 甲方权利:根据双方协议的约定,向乙方支付服务费,并获得乙方提供的组播路由服务。
4. 乙方权利:根据双方协议的约定,收取服务费,并根据甲方的需求,提供相关组播路由服务。
5. 甲方义务:支付乙方提供的组播路由服务费,并按照约定充分利用乙方提供的组播路由服务。
6. 乙方义务:提供高质量、高效率的组播路由服务,并保证甲方的信息安全。
7. 履行方式:甲乙双方在协议中约定服务方式、服务内容、服务质量等。
8. 服务期限:双方协议中约定的服务期限。
9. 违约责任:如果一方违反协议的约定,应当依据协议约定承担违约责任。
二、遵守中国相关法律法规1. 甲方与乙方都必须遵守中国相关法律法规,并承担由此产生的责任。
2. 如果任何一方违反相关法律法规,应当承担相应的法律责任,并可能导致协议的解除。
三、明确各方的权力和义务1. 协议中明确了甲方与乙方的权利、义务以及协议的约定内容。
2. 双方必须严格按照协议约定行事,并致力于达成合作共赢的目标。
四、明确法律效力和可执行性1. 协议是双方真实意愿的表达,并可以证明双方之间的权利义务关系。
2. 双方同意在遵守法律的前提下,自愿对协议内容进行履行,并承认协议具有法律效力和可执行性。
五、其他1. 协议中未约定的事项,双方应妥善协商解决。
组播-IGMP协议组播是一种广播方式,它可以将一条信息同时传输给一组设备。
IGMP协议是实现组播的一个重要协议,它定义了组播成员的管理和查询方式,保证了组播的正常运行。
本文将详细介绍组播和IGMP协议的相关概念、工作原理以及实现方式。
一、组播的概念组播是指在单个发送端向一个多播地址传送数据时,该数据会被传输到多个接收端的一种通信方式。
组播广播的数据只需要发送一次,就可以被所有对应的成员接收到,在实际的网络应用中,组播通常被用于视频、音频和实时信息的传输。
组播可以基于UDP协议实现,因为UDP协议与TCP协议不同,数据包不会返回确认。
组播可以同时传输给多个应用程序,而不会消耗太多带宽,所以对于一些实时应用或者实时视频来说,组播通常是比较理想的通信方式。
二、IGMP协议的概念IGMP是Internet组管理协议,它是用于管理Internet上的组播的协议。
通过IGMP协议,网络设备可以在不影响其他广播或单播流量的情况下,检测组播用户的组播成员资格和需求,并为它们提供快速可靠的组播传输。
IGMP协议所有的信息都在IP数据包的头部被传送。
IGMP 分别定义了四种类型的数据包:查询报文、报告报文、离开报文、查询应答报文。
其中查询报文和报告报文是最重要的两种。
查询报文由组播路由器发送,用于查询本子网上是否有组成员。
而报告报文是由组员发送的,用于向接收组播数据的设备宣布自己是组播组的成员。
三、IGMP协议的工作原理IGMP协议的主要工作原理就是:组播路由器向所有的主机发送查询报文以确认组播组的成员状态。
如果有主机传递报告报文表明自己是该组播组的成员,组播路由器就会将订阅的端口添加到转发表中。
当有数据包发送到该组播组时,组播路由器轮流向每个转发端口发送一个数据包副本。
主机接收数据包时会检查发送数据包的组播地址,如果它是组播组成员之一,它就会接收这个数据包副本。
当有成员从组播组的成员列表中离开时,它会发送一个离开报文,组播路由器将会把该成员从接收端口转发表中删除。
组播基本协议简介组播基本协议简介1 组成员管理协议简介2 组播路由协议2.1 组播路由协议基本概念2.2 DVMRP简介在IP组播通讯中需要完成两个方面的基本工作:组播成员如何加入组播以及如何将组播数据传送到它的接收者那里去。
由此产生了组播的两类基本协议:组成员管理协议和组播路由协议。
1 组成员管理协议简介Internet组管理协议(IGMP)在IP主机上应用,并向任一个邻近的路由器报告他们的组播成员关系。
它包含两个方面的内容:主机端和路由器端。
目前IGMP协议已有三个版本既IGMPv1,IGMPv2,IGMPv3。
IGMPv2在IGMPv1的基础上增加了对报告相应时间的控制,并加入退出控制的机制,减少了成员离开组的延时。
而IGMPv3则加入了对组播源地址的选择。
和ICMP一样, IGMP 也是IP的一个组成部分。
要求在所有想接收IP组播的主机都进行实现。
IGMP消息封装在IP报文中,其IP的协议号为2。
此处介绍以IGMPv2为例,所有和主机相关的IGMP 消息见下:0 1 2 3+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Max Resp Time | Checksum |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| Group Address |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+图1 IGMPv2格式图IGMP协议包含三种类型的报文,并用type字段进行区分,分别为:Type = 0x11 成员关系查询。
该类型进一步分为两个子类,一般组查询消息和特定组查询消息。
一般组查询用于了解在一个子网中是否有组成员,而特定组查询则用于了解在一个子网中是否有特定组播组的成员。
什么是组播?让我们⼀起解密组播协议(IGMP、PIM)写在前⾯:本⼈是⼀名计算机系⼤⼆的学⽣,会不定时的将我的学习笔记分享给⼤家!如果需要更多的学习资源可以通过我的⾃⾏下载!⽬录组播技术传统的点到点单播存在的问题重复流量过多消耗设备资源、带宽资源难以保证传输质量概述信息发送者:组播源接受相同的信息接受这过程⼀个组播组,并且接受者都是定义:⼀点发出,多点接应优势提⾼效率优化性能分布式应⽤缺点基于udp尽⼒⽽为报⽂重复报⽂失序缺少拥塞避免机制61、ip组播(1) 对于IP 组播,需要关注下列问题:组播源将组播信息传输到哪⾥?即组播寻址机制;⽹络中有哪些接收者?即主机注册;这些接收者需要从哪个组播源接收信息?即组播源发现;组播信息如何传输?即组播路由。
(2) IP 组播属于端到端的服务,组播机制包括以下四个部分:寻址机制:借助组播地址,实现信息从组播源发送到⼀组接收者;主机注册:允许接收者主机动态加⼊和离开某组播组,实现对组播成员的管理;组播路由:构建组播报⽂分发树(即组播数据在⽹络中的树型转发路径),并通过该分发树将报⽂从组播源传输到接收者;组播应⽤:组播源与接收者必须安装⽀持视频会议等组播应⽤的软件,TCP/IP 协议栈必须⽀持组播信息的发送和接收。
为了让组播源和组播组成员进⾏通信,需要提供⽹络层组播地址,即IP 组播地址。
同时必须存在⼀种技术将IP 组播地址映射为链路层的组播MAC 地址。
(3) IP 组播地址IANA(Internet Assigned Numbers Authority,互联⽹编号分配委员会)将D类地址空间分配给IPv4组播使⽤,范围从224.0.0.0到239.255.255.255,具体分类及其含义如下表所⽰。
组播地址D类地址范围含义224.0.0.0-224.0.0.255为路由协议预留的永久组地址224.0.1.0-231.255.255.255 /233.0.0.0-238.255.255.255⽤户可⽤的asm临时组地址,全⽹范围有效232.0.0.0-232.255.255.255⽤户可⽤ssm临时组地址,全⽹范围内有效239.0.0.0-239.255.255.255⽤户可⽤的asm临时组地址,尽在特定的本地管理域内有效,陈伟本地管理组播地址D类地址范围含义IPv4 组播地址的范围及含义说明:组播组中的成员是动态的,主机可以在任何时刻加⼊或离开组播组。
组播主机之间采用的通信协议
组播主机之间采用的通信协议主要有两种,分别是Internet 组播协议(IGMP)和Internet 组播协议版本2(IGMPv2)。
1. Internet 组播协议(IGMP):IGMP是Internet上用于在组播主机和路由器之间传输组播数据的一种协议。
它定义了组播组成员的管理机制和路由更新机制,允许主机向路由器注册加入或离开组播组。
2. Internet 组播协议版本2(IGMPv2):IGMPv2是IGMP的改进版本,它在IGMP的基础上增加了一些功能,包括更灵活的组播查询报文格式、多个组播组的状态查询以及更有效的组播组成员管理。
这两种协议都是用于组播主机之间的通信,其中IGMPv2在功能和性能上稍有改进。
选择使用哪种协议取决于网络的需求和设备的兼容性。
IGMP协议分析组播协议的工作机制IGMP(Internet Group Management Protocol,互联网组管理协议)是一种网络协议,用于多播的组播管理。
组播是一种网络传输方式,可以在单一数据流上同时发送给多个目标设备。
IGMP协议允许主机加入或离开一个多播组,以及路由器为特定多播组提供流量转发。
IGMP协议的工作机制基于主机和路由器之间的交互。
主机通过发送特定的IGMP报文向路由器注册加入或离开一个多播组的意图。
路由器则负责根据这些报文来进行相应的组播流量管理与转发。
在IGMP协议中,主机和路由器的交互可以分为两个角色:主机可以是一个多播组的成员,路由器则充当组播流量的转发和管理者。
主机角色中的IGMP报文主要分为三种类型:成员关系查询报文(Membership Query)、成员关系报告报文(Membership Report)和成员离开报文(Leave Group)。
成员关系查询报文用于路由器定期发送以查询网络中的主机是否还是某个多播组的成员。
成员关系报告报文则是主机向路由器发送的,用于通知路由器它们的成员关系。
成员离开报文则是主机主动发送给路由器,用于通知路由器其离开了某个多播组。
路由器角色中的IGMP报文主要有两种类型:成员关系查询报文(Membership Query)和成员关系报告报文(Membership Report)。
成员关系查询报文用于路由器周期性地向多播组的成员发送,以获取其成员关系,并维护组播组的活跃状态。
成员关系报告报文则是路由器在接收到主机发来的成员关系报告后,向其他路由器发送的,以便提供多播组的流量转发和管理。
IGMP协议的工作流程如下:1. 主机在加入一个多播组时,会向网络中的路由器发送成员关系报告报文,以通知路由器其加入了该组。
2. 路由器在收到成员关系报告报文后,会更新其组播组成员数据库,记录下该主机加入了该组。
3. 路由器会定时发送成员关系查询报文,以获取组播组的成员列表,并维护组播组的活跃状态。
组播路由协议组播路由协议(Multicast Routing Protocol)是一种网络协议,用于支持组播传输,将数据从一个源节点传输到多个目的节点。
组播路由协议通过建立一棵组播树来实现数据的传输,其中源节点作为根节点,目的节点作为叶子节点。
组播路由协议有多种类型,常见的包括DVMRP、IGMP、PIM和MOSPF等。
每种协议都有各自的特点和适用场景。
其中,Distance Vector Multicast Routing Protocol(DVMRP)是一种基于距离向量的组播路由协议。
它使用了类似于BGP的距离矩阵来选择最佳的路径,并通过向邻居节点广播消息来更新路由表。
DVMRP适用于小型网络,但在大型网络中可能产生大量的控制消息。
Internet Group Management Protocol(IGMP)是一种用于在主机和组播路由器之间交换组播组信息的协议。
它允许主机加入和离开组播组,并向路由器报告组播组成员。
IGMP采用了查询-报告机制,通过查询消息和报告消息来维护组播组的成员关系。
Protocol Independent Multicast(PIM)是一种独立于底层网络的组播路由协议。
它可以与各种底层网络协议一起使用,如IP、ATM和Frame Relay等。
PIM使用了两种模式:稠密模式(Dense Mode)和稀疏模式(Sparse Mode)。
稠密模式适用于具有大量组播组成员的网络,而稀疏模式适用于成员分布较不密集的网络。
Multicast Open Shortest Path First(MOSPF)是一种基于OSPF协议的组播路由协议。
它通过向OSPF协议添加组播扩展来支持组播传输。
MOSPF使用与OSPF相同的链路状态数据库(LSDB)和最短路径树(SPF)算法来计算最优的组播路径。
无论是哪种组播路由协议,其基本目标是找到一条最佳的路径,以最小的开销实现数据的组播传输。
IGMP协议1 IGMP概述简介IGMP(Internet Group Management Protocol,互联网组管理协议)是TCP/IP协议族中负责IPv4组播成员管理的协议。
IGMP用来在接收者主机和与其直接相邻的组播路由器之间建立和维护组播组成员关系。
IGMP通过在接收者主机和组播路由器之间交互IGMP报文实现组成员管理功能,IGMP报文封装在IP报文中。
协议号2,TTL字段为1.目的IP组播通信的特点是报文从一个源发出,被转发到一组特定的接收者。
在组播通信模型中: * 发送者不关注接收者的位置信息,只是将数据发送到约定的目的组播地址。
* 接受者不受限制地加入组播组,只需要控制加入与退出。
* 组播路由器不需要保存加入的主机,保存组播网段信息。
IGMP是用来在接收者主机和与其所在网段直接相邻的组播路由器之间建立、维护组播组成员关系的协议。
组成员关系建立过程•接收者向共享网络报告组播的成员关系。
•处于同一网段的能使用IGMP功能的路由器选举查询器,查询器周期性地向共享网段发送组播成员查询消息。
•主机接收到该查询消息后进行响应,报告组成员关系。
•查询器接收的响应刷新组成员的存在信息。
查询器通过IGMP了解每个接口连接的网段上是否存在某个组播组的接收者。
2.1 IGMPv1报文ICMPv1报文类型•成员关系查询报文(General Query):查询器向共享网络上所有主机和路由器发送的查询报文,用于了解哪些组播组存在成员。
•成员关系报告报文(Report):主机向查询器发送的报告报文,用于申请加入某个组播组或者应答查询报文。
IGMPv1报文格式字段说明Version IGMP版本,值为1。
Type 报文类型。
该字段有以下两种取值:0x11:表示成员关系查询报文。
0x12:表示成员关系报告报文。
Unused 在IGMPv1中,该字段在发送时被设为0,并在接收时被忽略。
Checksum IGMP报文的校验和。
pim协议PIM(Protocol Independent Multicast)协议是一种网络组播协议,旨在实现高效的组播数据传输。
PIM协议并不依赖于任何特定的单播协议,而是可以与各种单播协议结合使用。
它可以在不同的网络环境下实现多播数据的传输,包括以IPv4和IPv6为基础的网络。
PIM协议的主要目标是实现高效的组播数据传输,以减少网络带宽的消耗和提高数据传输的速度。
PIM协议使用两种基本的路由协议来实现组播转发:PIM-DM(PIM-Dense Mode)和PIM-SM(PIM-Sparse Mode)。
PIM-DM是一种基于洪泛(flooding)的路由协议,适用于网络中的密集型组播场景。
当组播数据包到达一个路由器时,该路由器会将数据包发送到所有的接口上,直到数据包到达组播组的所有成员。
然而,这种方法会产生大量的数据副本,造成网络带宽的浪费。
因此,在网络拓扑中使用PIM-DM协议需要谨慎考虑。
与之相对的,PIM-SM采用一种树状结构的路由方式,只在需要的时候才将组播数据发送到具体的接口。
PIM-SM通过建立组播树(Multicast Tree)来实现组播数据的传输。
这个树的根节点是源节点,叶节点是接收组播数据的成员节点。
PIM-SM 协议使用广播及其他技术来构建和维护组播树,以动态地调整组播数据的传输路径。
这种方式可以有效地减少组播数据在网络中的传播范围,节约了网络资源的开销。
除了PIM-DM和PIM-SM,还有扩展的PIM协议:PIM-SSM (PIM-Source Specific Multicast)和PIM-BSR(PIM-Bootstrap Router)。
PIM-SSM是一种源特定的组播协议,只允许源IP 地址和组播组的IP地址相匹配的数据通过,极大地减少了组播数目。
PIM-BSR则是用来识别和维护网络中的组播源和组播组的协议。
总而言之,PIM协议是一种实现高效组播数据传输的协议。
组播相关:一、组播协议体系:1)组成员关系协议包括IGMP(互连网组管理协议);2)组播路由协议分为域内组播路由协议及域间组播路由协议;3)域内组播路由协议包括MOSPF,CBT,PIM-SM、PIM-DM、DVMRP等协议;4)域内的组播协议又分为密集,与稀疏模式的协议。
DVMRP,PIM-DM,MOSPF属于密集模式,CBT,PIM-SM属于稀疏模式。
5) 针对域间组播路由有两类解决方案:短期方案和长期方案。
短期方案包括三个协议MBGP/MSDP/PIM-SM:MBGP(组播边缘网关协议),用于在自治域间交换组播路由信息;MSDP(组播信源发现协议),用于在ISP之间交换组播信源信息;以及域内组播路由协议PIM-SM长期方案目前讨论最多的是MASC/MBGP/BGMP,它建立在现有的组播业务模型上,其中MASC实现域间组播地址的分配、MBGP在域间传递组播路由信息、BGMP完成域间路由树的构造。
此外还有一些组播路由策略,如PIM-SSM(特定信源协议无关组播)等,建立在其它的组播业务模型上。
目前仅短期方案MBGP/MSDP/PIM-SM是成熟的,并在许多的运营商中广泛使用。
6)同时为了有效抑制组播数据在链路层的扩散,引入了IGMP Snooping、HGMP,HMVR,RGMP,GMRP等二层组播协议。
名词解释:组播路由协议有距离矢量组播路由协议(DVMRP)、协议无关组播-密集模式(PIM-DM)、协议无关组播-稀疏模式(PIM-SM)、开放式组播最短路径优先(MOSPF)、有核树组播路由协议(CBT)IGMP协议简介:IGMP(Internet Group Management Protocol,因特网组管理协议)是TCP/IP协议族中负责IP组播成员管理的协议。
它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
IGMP不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议完成。
所有参与组播的主机必须实现IGMP协议。
IGMP有三个版本:IGMP版本1(由RFC1112定义)、IGMP版本2(由RFC2236定义)和IGMP版本3。
目前应用最多的是版本2。
IGMP版本2对版本1所做的改进主要有:1. 共享网段上组播路由器的选举机制共享网段即一个网段上有多个组播路由器的情况。
在这种情况下,由于此网段下运行IGMP 的路由器都能从主机那里收到成员资格报告消息,因此,只需要一个路由器发送成员资格查询消息,这就需要一个路由器选举机制来确定一个路由器作为查询器。
在IGMP版本1中,查询器的选择由组播路由协议决定;IGMP版本2对此做了改进,规定同一网段上有多个组播路由器时,具有最低IP地址的组播路由器被选举出来充当查询器。
2. IGMP版本2增加了离开组机制在IGMP版本1中,主机悄然离开组播组,不会给任何组播路由器发出任何通知。
造成组播路由器只能依靠组播组响应超时来确定组播成员的离开。
而在版本2中,当一个主机决定离开一个组播组时,如果它是对最近一条成员资格查询消息作出响应的主机,那么它就会发送一条离开组的消息。
3. IGMP版本2增加了对特定组的查询在IGMP版本1中,组播路由器的一次查询,是针对该网段下的所有组播组。
这种查询称为普遍组查询。
在IGMP版本2中,在普遍组查询之外增加了特定组的查询,这种查询报文的目的IP地址为该组播组的IP地址,报文中的组地址域部分也为该组播组的IP地址。
这样就避免了属于其它组播组成员的主机发送响应报文。
4. IGMP版本2增加了最大响应时间字段IGMP版本2增加最大响应时间字段,以动态地调整主机对组查询报文的响应时间。
二、组播原理:1)组播地址:IANA预留了两个地址范围:224.0.0.0~224.0.0.255和239.0.0.0~239.255.255.255。
前一个地址范围的所有地址都有特殊用途,如:224.0.0.1表示所有组播成员(包括路由器),224.0.0.2表示所有组播路由器。
可以向IANA就某个特殊用途申请专用IP组播地址,如:224.0.0.13表示所有PIM路由器。
后一个地址范围作为用于私人组播领域的管理权限地址,犹如单播的10.x.x.x/8等私有地址网段。
组播MAC地址:以0x01005Exx.xxxx的24位前缀开始的MAC层地址都是组播地址。
2)组播地址映射关系:在以太网中,第3层的IP组播地址信息的全部28位不能映射进入只有23位的第2层MAC 地址空间,所以在映射过程中丢失5位地址信息,导致32:1的地址不明确。
这意味着一个IEEE MAC地址能表示32个IP组播地址。
主机必须考察每一个收到帧的IP部分才能确定是不是需要的组播信息。
3)组播数据转发:RPF(Reverse Path Forward检查):组播数据包中的目的地址是组地址而不是一个明确的主机地址;并且在与路由器相连的每条路径上或者说每个接口都可能有组成员。
因此,组播数据转发将采用逆向数据转发.即:对到达的组播数据包作逆向检查(Reverse Path Forward检查),判断数据包是否是从指向源站点的接口(指向源的接口是根据单播路由获得的,亦即单播路由的目的网络)上到达;如果是,逆向检查成功,数据包被转发;否则,数据包就被丢弃。
4)组播2层交换:网桥或二层交换机(以下统称二层交换机)是工作在二层的网络设备。
当它们收到组播数据包后如何处理?最简单的处理方式就是当网桥从一个接口收到组播数据报后向所有其它接口都转发出去。
一般的没有组播功能的二层交换机都是这么处理的,所以这样的网桥也最便宜。
但是这样处理就偏离的组播的初衷。
二层交换机将在转发表中添加一项:MAC地址是组播地址,端口包含与希望接收到组播数据的主机相连所有的端口。
以后当二层交换机接收到组播数据报后,将向除接收端口外的所有转发表项的其它希望接收组播数据的端口转发组播数据。
三、组播路由协议:1)PIM:PIM(协议无关组播)表示它不依赖于某种具体的IP路由选择协议。
PIM协议报文基于UDP协议,其端口号是103。
PIM还有专门的组播地址224.0.0.13,表示所有的PIM路由器。
在组播应用环境中大致可分为两类:一类是密集环境。
即:在某一个范围内组成员众多。
比如:股票交易大厅信息的发布,学校的网上教学等。
路由器的几乎每一个接口都有组成员正在接收组播信息。
对于这种环境将采用密集模式协议如:PIM_DM(协议无关组播_密集模式)来解决。
PIM_DM转发在运行PIM-DM协议的网络中,路由器默认所有接口上都有接收者。
当组播数据到达路由器后,路由器立即建立起转发项。
转发项的入接口是路由器依据单播到数据源的接口;出接口则包括除入接口外的所有接口。
如果数据RPF检查成功,它将根据转发项向所有接口(除入接口外)溢流。
PIM_DM剪枝如果路由器所有出接口上都没有接收者,它将清空转发项的出接口列表,并向其RPF上游发送剪枝消息,以使组播数据不再流向本路由器。
上游路由器收到剪枝消息后,从转发项出接口列表中删除接收到剪枝消息的接口。
组播数据就不再从该接口转发出去。
但是这种状况只能维持一段时间。
在经过一段时间后,上游路由器重新将该出口添加到转发项出接口列表中。
组播数据又能流向先前被剪枝的下游路由器。
然后,下游路由器再发起剪枝。
周而复始,这个过程被称之为扩散-剪枝。
PIM_DM嫁接和嫁接应答当剪枝期间,路由器需要接收组播数据(比如:收到IGMP加入),怎么办?这时,路由器并不需要等到下一个扩散-剪枝周期,而是立即向RPF上游路由器发送嫁接消息,要求将自己添加到出接口列表中。
上游路由器收到嫁接消息后,立即回送一个嫁接应答,告知下游路由器已收到嫁接消息;然后,上游路由器将收到嫁接消息的接口添加到出接口列表中。
组播数据就能够到达希望接收数据的路由器和组成员PIM_DM状态维护PIM_DM如何维护转发项而不必总是重复创建过程?PIM_DM是依靠组播数据流来维护的。
只要路由器收到某个组的组播数据包,路由器就刷新该转发项。
路由器如果长时间未收到这个组的组播数据包,将删除该转发项。
断言(assert)机制在共享网段上,当有多个路由器向网络上发送组播数据包时,共享网段上将收到重复的数据包。
怎么办?Assert断言机制能够解决这个问题。
当路由器从出接口接收到其它路由器发来的重复组播数据时,路由器将向该出接口发送断言消息。
断言消息中带有本路由器的优先级、到源S的路由开销等信息。
网段上的其它路由器收到断言消息后,将对端路由器的优先级、路由开销以及IP地址与自身相比较(先比较优先级,优先级低者获胜;若二者相同,则比较路由开销,开销小者获胜;若二者还相等,则比较IP地址,大者获胜)。
若自己失败,则剪枝该接口,不再向该共享网段转发组播数据包。
若自己获胜,则发送断言消息,申明组播数据流应该从本出接口转发,其它路由器重复上面的动作。
PIM邻居发现与PIM HELLO消息路由器周期性的发送Hello消息到所有PIM路由器(224.0.0.13),并借此来发现邻居,建立邻居关系。
PIM路由器可以借邻接关系判断自己是否为叶路由器。
PIM Hello消息除了用于建立邻接外,它还被用来为共享网段上选择指定路由器(DR)。
PIM 路由器都被配有优先级。
这个优先级被包含在PIM Hello消息中。
当路由器收到PIM Hello 消息时,先比较自己的优先级。
如果自己的优先级高,路由器将默认消息源为DR,自己变成非DR。
当优先级相同时,IP地址最大的获胜,被选举为DR。
DR主要应用在SM中,将在SM中由DR负责向上游发起加入/剪枝过程,或是将直连组播源的数据发向组播分发树。
这在PIM-SM一节会有讲述。
如果路由器是工作在IGMPv1下,DR同时也是IGMP查询器。
2)PIM-SM:BSR即“BootStrap Router”,自举路由器,负责在PIM-SM网络启动后,收集网络内的RP 信息,为每个组选举出RP,然后将RP集(即组-RP映射数据库)发布到整个PIM-SM网络。
一个网络内部只有一个BSR,可以配置多个候选BSR (C-BSR),一旦某个BSR Down掉,可以切换到另外一个。
候选RP(C-RP)将声明发送到BSR,C-RP通告通过单播发送。
BSR在RP集存储所有的C-RP通告;BSR周期性地向所有路由器发送BSR消息,BSR 消息包含整个RP-set和BSR地址,消息一跳一跳地自BSR向整个网络泛滥(flood)。
所有的路由器使用收到的RP集来确定RP,所有路由器都使用相同的RP选择算法,选择的RP也是一致的。
同时实现RP负载分担(不同组映射到不同RP)。
PIM-SM转发、加入前面讲到,PIM-SM适合于接收成员较少的环境。