CN101459578A - 一种pimdm路由器上的优化方法 - Google Patents
一种pimdm路由器上的优化方法 Download PDFInfo
- Publication number
- CN101459578A CN101459578A CNA2007101723012A CN200710172301A CN101459578A CN 101459578 A CN101459578 A CN 101459578A CN A2007101723012 A CNA2007101723012 A CN A2007101723012A CN 200710172301 A CN200710172301 A CN 200710172301A CN 101459578 A CN101459578 A CN 101459578A
- Authority
- CN
- China
- Prior art keywords
- assert
- state
- winner
- pimdm
- upstream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种pimdm路由器上的优化方法,包括Assert状态的保存步骤和探寻assert winner的状态步骤;其中,所述Assert状态的保存步骤为每台pimdm路由器都需要保存同一个网段上游的(s,g)assert winner邻居的端口地址,还需要保存本地端口的assert状态。所述探寻assert winner的状态步骤为采用keepalive机制方式以可配置的时间间隔探寻上游assert winner状态的邻居是否正常。该方法能够让现有pimdm路由器尽快知道assert winner的变动,以便及时采取相应措施,恢复整个组播通路。
Description
技术领域:
本发明涉及数据通信中的IP组播路由,特别涉及一种pimdm路由器上的优化方法。
背景技术:
Internet路由协议中,对于密集模式的组播路由协议pimdm而言,在实际数据通信中存在以下缺陷:如图1所示,上游两台设备,实际上是由assert winner负责组播报文的转发。如果同一个网段有三台或者三台以上机器,assertwinner的下游端口出现故障,则目前的RFC中的做法,无法让下游邻居快速知道上游assert winner已经失效,势必要等到邻居(assert winner)超时或者上游另外一台机器的assert timer超时后,重新打通组播路由链。极端情况下,这个过程要等105秒,也就是组播业务数据可能在这一段时间内全部丢失。所以,只有通过判断down掉的邻居是否是assert winner,才能加快切换速度。
以往图1扩充前的工作原理过程是:
路由器R133和R134,R135通过hello报文建立邻居关系并进行邻居状态位置,同理,R134,R135,R136也有这一个过程。
当邻居关系建立好以后,如果组播数据源src开始发生主播数据,则会在R133上复制数据分别发给R134和R135,也就是一份数据变为了两份,转发给R136,这样,就会导致业务报文重复。为了解决这个问题,RFC的规定是,当R134和R135,如果有一方下游端口收到组播业务数据,就启动assert竞争机制,发送assert报文,宣布自己是assert winner,通过竞争,最后产生一个winner,由winner负责报文的转发,而竞争后处于loser的机器,比如R134的下游端口则处于prune状态,并启动assert定时器,如果定时器没超时,则一直维持prune和loser状态。
上述过程出现的问题:如果assert winner的下游端口突然出现故障,这个时候,负责报文转发的端口失效,则因为hello维持邻居定时器还没有超时,下游机器R136将不能及时切换到R135上,导致在维持定时器超时以前无法获取组播源的业务数据。
名词解释:
RFC—Request for Comments请求注解;
PIM—协议无关组播;
PIM-DM—协议无关组播,密集模式;
(s,g)—组播路由条目;
Upstream—组播上游端口,PIM-DM协议,是指向数据源的端口;
Downstream—组播下游端口;
GenID—组播路由器端口协议UP/DOWN是带的一个ID,用于判断机器或者端口是否重启;
assert winner—对于同一个网段的PIM-DM端口,需要通过竞选,来设置一个负责数据转发的下游端口,该端口就是对应的winner;
assert—实际是一种断言机制,通过这种机制来决定由胜出的一方进行组播数据的转发。
graft—嫁接,用于通知上游邻居,本地需要组播业务报文。
src—组播数据源。
发明内容:
鉴于上述技术问题,本发明的目的是提供一种pimdm路由器上的优化方法。该方法能够让现有pimdm路由器尽快知道assert winner的变动,以便及时采取相应措施,恢复整个组播通路。
为了实现上述技术效果,本发明所述的方案主要包括两大操作流程:
(1)Assert状态的保存:
每台pimdm路由器都需要保存同一个网段上游的(s,g)assert winner邻居的端口地址,还需要保存本地端口的assert状态。
(2)探寻assert winner的状态:
采用keepalive机制方式以可配置的时间间隔探寻上游assert winner状态的邻居是否正常。
具体步骤如下:
①每台pimdm路由器都需要保存同一个网段上的(s,g)assert winner,如果是(s,g)的下游端口,还需要保存本地的assert状态。
②下游pimdm路由器的(S,G)上游状态机,增加了keepalive机制,即采用类似于ping的信息,以设定的时间间隔,采用单播形式探索上游pimdm(s,g)assert winner的状态。采用惩罚值进行处理:刚开始以设置的时间间隔t进行ping,并且设置允许连续无回应次数为n。如果发现没有回应,则第二个ping包产生的时间间隔为t/2,同时n值自减一,依次类推。如果n值自减为0,则表明所发出去的连续n个keepalive报文都没有得到上游assert winner邻居的响应,据此判断该assert winner工作状态异常;
③如果如果发现上游assert winner不正常,则快速向上游的其它pimdm邻居发送嫁接报文,让原来处于prune/assert loser状态的上游邻居切换为可转发状态。
④如果发现上游回应的报文中GenID已经发生变化,则也需要快速嫁接到上游assert winner。
⑤本地pimdm的下游端口如果收到嫁接报文,如果assert状态机不是winner状态,则切换为assert的状态设置为缺省状态,反之则不做变动;同时端口处于组播报文转发状态。
⑥可能导致新一轮assert协商,重新维持一个新的组播通路。
使用本本发明方法可以做到在自己设定的时间间隔范围内追踪assertwinner的状态,使下游邻居不再被动依赖于上游assert状态机的迁移来决定如何选择。可以确保上游assert winner down掉后,及时保持整个组播路径的通畅。
另外,该方法的创新之处在于下游pimdm路由器的(S,G)上游状态机,增加了keepalive机制,以单播形式探索上游pimdm(s,g)assert winner的状态。如果发现上游assert winner不再up,则快速嫁接到上游的其它pimdm邻居。同时会触发上游pimdm邻居引起新一轮assert协商机制
附图说明:
以下结合附图和具体实施方式来进一步说明本发明。
图1为现有采用组播路由协议pimdm的网络结构示意图。
此图通过背景技术所述指出了现行assert机制存在的问题。
图2为本发明方法的流程示意图。
图3为pimdm协议,依靠数据驱动创建组播路由(s,g)的流程示意图。
具体实施方式:
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
根据上述发明内容,本发明方法作为一种新增keepalive机制处理流程如下所描述(参见图2):
1.每台pimdm路由器都需要保存同一个网段上的(s,g)assert winner,如果是(s,g)的下游端口,还需要保存本地的assert状态。
2.下游pimdm路由器的(S,G)上游状态机,增加了keepalive机制,以单播ping形式探索上游pimdm(s,g)assert winner的状态。
3.如果如果发现上游assert winner不再up,则快速graft到上游的其它pimdm邻居。
4.如果发现上游回应的报文中GenID已经发生变化,则也需要快速graft到上游assert winner。
5.本地pimdm的下游端口如果收到graft报文,如果assert状态机不是winner状态,则切换为noinfo状态,反之则不做变动;同时端口处于组播报文转发状态。
6.可能导致新一轮assert协商,重新维持一个新的组播通路。
上述涉及数据驱动,创建(s,g)的流程参见图3。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
Claims (2)
1、一种pimdm路由器上的优化方法,包括Assert状态的保存步骤和探寻assert winner的状态步骤;其特征在于,
所述Assert状态的保存步骤为每台pimdm路由器都需要保存同一个网段上游的(s,g)assert winner邻居的端口地址,还需要保存本地端口的assert状态;
所述探寻assert winner的状态步骤为采用keepalive机制方式以可配置的时间间隔探寻上游assert winner状态的邻居是否正常。
2、根据权利要求1的pimdm路由器上的优化方法,其特征在于,所述方法的具体步骤还包括:
①每台pimdm路由器都需要保存同一个网段上的(s,g)assert winner,如果是(s,g)的下游端口,还需要保存本地的assert状态;
②下游pimdm路由器的(S,G)上游状态机,即采用类似于ping的信息,以设定的时间间隔,采用单播形式探索上游pimdm(s,g)assert winner的状态;采用惩罚值进行处理:刚开始以设置的时间间隔t进行ping,并且设置允许连续无回应次数为n。如果发现没有回应,则第二个ping包产生的时间间隔为t/2,同时n值自减一,依次类推。如果n值自减为0,则表明所发出去的连续n个keepalive报文都没有得到上游assert winner邻居的响应,据此判断该assert winner工作状态异常;
③如果发现上游assert winner不正常,则快速向上游的其它pimdm邻居发送嫁接报文,让原来处于prune/assert loser状态的上游邻居切换为可转发状态;
④如果发现上游回应的报文中GenID已经发生变化,则也需要快速graft到上游assert winner;
⑤本地pimdm的下游端口如果收到嫁接报文,如果assert状态机不是winner状态,则切换为assert的状态设置为缺省状态,反之则不做变动;同时端口处于组播报文转发状态;
⑥可能导致新一轮assert协商,重新维持一个新的组播通路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101723012A CN101459578A (zh) | 2007-12-14 | 2007-12-14 | 一种pimdm路由器上的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101723012A CN101459578A (zh) | 2007-12-14 | 2007-12-14 | 一种pimdm路由器上的优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101459578A true CN101459578A (zh) | 2009-06-17 |
Family
ID=40770217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101723012A Pending CN101459578A (zh) | 2007-12-14 | 2007-12-14 | 一种pimdm路由器上的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101459578A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105207913A (zh) * | 2015-10-19 | 2015-12-30 | 上海斐讯数据通信技术有限公司 | 一种组播报文转发方法及系统 |
WO2017046684A1 (en) * | 2015-09-17 | 2017-03-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Triggering pim assert re-election to honor network configuration changes |
CN115529265A (zh) * | 2022-09-30 | 2022-12-27 | 上海博达数据通信有限公司 | 一种pimsm路由器上游路径的优化选择方法 |
-
2007
- 2007-12-14 CN CNA2007101723012A patent/CN101459578A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017046684A1 (en) * | 2015-09-17 | 2017-03-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Triggering pim assert re-election to honor network configuration changes |
CN105207913A (zh) * | 2015-10-19 | 2015-12-30 | 上海斐讯数据通信技术有限公司 | 一种组播报文转发方法及系统 |
CN105207913B (zh) * | 2015-10-19 | 2019-09-13 | 上海斐讯数据通信技术有限公司 | 一种组播报文转发方法及系统 |
CN115529265A (zh) * | 2022-09-30 | 2022-12-27 | 上海博达数据通信有限公司 | 一种pimsm路由器上游路径的优化选择方法 |
CN115529265B (zh) * | 2022-09-30 | 2024-04-30 | 上海博达数据通信有限公司 | 一种pimsm路由器上游路径的优化选择方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9705782B2 (en) | Method and system for efficient graceful restart in an open shortest path first (OSPF) network | |
US20020186667A1 (en) | Communication in a bidirectional ring network with single-direction receiving | |
CN100442767C (zh) | 一种实现快速路由收敛的路由器平稳重启的方法 | |
WO2007030742A3 (en) | Parallelizing peer-to-peer overlays using multi-destination routing | |
CN1889579B (zh) | 提高路由信息协议路由收敛速度的方法及装置 | |
WO2006053027A3 (en) | Systems and methods for multicast routing on packet switched networks | |
WO2009078427A1 (ja) | 経路制御方法およびノード | |
WO2007019310A3 (en) | Method and apparatus for enabling routing of label switched data packets | |
CN102724048B (zh) | 稀疏模式协议无关组播通知汇聚点的方法和装置 | |
CN103703740A (zh) | 多径覆盖网络及其多径管理协议 | |
EP1998496B1 (en) | A method and system for improving the quality of communication based on the label distribution protocol | |
CN101459578A (zh) | 一种pimdm路由器上的优化方法 | |
CN103560962A (zh) | 以太网交换机主机路由表项自动更新方法及交换机 | |
CN100387036C (zh) | 边界网关协议中失效路由的快速清除方法 | |
CN101552728B (zh) | 一种面向IPv6的路径MTU发现方法及系统 | |
CN102801622A (zh) | 一种数据报文的转发方法及转发装置 | |
CN100417139C (zh) | 一种组播数据不间断转发的方法 | |
US20160173362A1 (en) | Detecting nickname conflict | |
CN101610200A (zh) | 组播路由的切换方法及装置 | |
JP2010045732A (ja) | マルチキャストパケット転送装置およびマルチキャストパケット転送方法 | |
CN100499562C (zh) | 组播跨板转发的控制方法 | |
EP2571201A1 (en) | Method, device and system for forwarding data under protocol independent multicast (pim) dual join | |
CN101207560A (zh) | 多协议标签交换网络中组播树的建立方法 | |
CN100440863C (zh) | 扩展路由功能的具体源静态组功能实现方法 | |
CN101841472A (zh) | 组播链路冗余备份方法及路由器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090617 |