提高is-is路由协议中csnp报文广播效率的方法

文档序号:7550175阅读:190来源:国知局
专利名称:提高is-is路由协议中csnp报文广播效率的方法
技术领域
本发明涉及一种提高IS-1S路由协议中CSNP报文广播效率的方法。
背景技术
IS-1S(Intermediate System-to-1ntermediate System intra-domain routinginformation exchange protocol,中间系统到中间系统的域内路由信息交换协议)路由协议不但适合应用于LAN的环境,而且更多使用在城域网的环境中,能够很好的进行大型网络中的路由管理。IS-1S需要处理的报文有四种:Hello报文、LSP(Link State ProtocolData Unit,链路状态协议数据单元)报文、CSNP (Complete Sequence Number F1DU,完全序列码数据包)报文、PSNP (Partial Sequence Number F1DU,部分序列码数据包)报文。Hello报文用来建立邻接关系并选举出DIS (Designated Intermediate System,指派中间系统),LSP报文用来通告链路状态,CSNP报文用于DIS通告全网的LSP简要信息,PSNP报文用来请求指定的LSP信息。CSNP报文的作用如图5所示。在图5中,包括多个RT (Router,路由器),RT-A,RT-B, RT-C组成了一个广播网络,RT-B被选举为DIS。首先RT-C向DIS发送自己的LSP,DIS经过接收RT-A、RT-B、RT-C的LSP,已经有了一个网络中完整的LSP数据库,其中DIS单独占有一条LSP。然后DIS在链路上广播CSNP报文,里面包含了 LSP数据库中所有LSP的简要信息。当RT-C接收到CSNP报文后,跟自己的LSP数据库进行比较,发现自己只有RT-C的LSP,则向DIS发送PSNP请求报文,请求内容为RT-A、RT-B的LSP报文。最后,当DIS收到RT-C的请求信息时,会把RT-A、RT-B的LSP报文发送给RT-C。如图6中,RT-A、RT-B、RT-C、RT-D和RT-E构成了一个广播网络,其中RT-B被选举为DIS。初始时,每个RT都只有自己的LSP,它们都只跟DIS进行LSP报文交互。因此,DIS最终会得到网络中所有RT的LSP,而其他RT仍然只有自己的LSP。为了让其他RT能够获得整个网络的LSP,DIS默认10秒钟在链路上广播一次CSNP报文,此CSNP报文携带了 DIS的LSP数据库中所有LSP的概要信息。当一个RT接收到此CSNP报文时,会将其中携带的LSP概要信息和自己LSP数据库中的LSP进行比较,若发现自己缺少哪些LSP,则会向DIS发送一个PSNP请求报文,其中包含了缺少的LSP简要信息。当DIS收到这个PSNP报文后,会向该RT发送其请求的LSP报文。若一个广播网络中的设备成百上千时,一个CSNP报文的长度会达到几KB,而10秒钟发送一次的频率会消耗相当一部分的网络带宽。如果网络更加庞大,则交互的协议报文会更大,会更加加重网络带宽的负荷。

发明内容
本发明是为避免上述已有技术中存在的不足之处,提供提高IS-1S路由协议中CSNP报文广播效率的方法,以减少CSNP报文的发送次数,降低CSNP广播报文的带宽占用,提高广播效率。
本发明提供了提高IS-1S路由协议中CSNP报文广播效率的方法。提高IS-1S路由协议中CSNP报文广播效率的方法,其特点是,广播网络中的DIS被选举出来后,DIS自身设置一个变量Time,该变量Time初始化清零;变量Time用来记录接收到表示网络拓扑变化的新LSP的时间;当DIS在时间X接收到表示网络拓扑变化的新的LSPl时,立即更新自己的LSP数据库,同时设置变量Time为当前时间X ;延迟10秒钟后,发送CSNP报文,并清零变量Time ;若在10秒钟之内,DIS没有接收到新的LSP报文,则向所有邻居发送特定的维持连接关系的Hello报文,Hello报文用来表示当前网络拓扑没有发生任何变化。本发明的提高IS-1S路由协议中CSNP报文广播效率的方法的特点也在于:在所述Hello报文中,在其中一个字段所在字节的其中一位设置为用于表示为当前网络拓扑没有发生任何变化的保留位。提高IS-1S路由协议中CSNP报文广播效率的方法包括如下步骤:步骤1:当DIS接收到新的LSP时,清空CSNPTable中的Pflag和Cf lag,将LSP对应的Cflag置I ;步骤2:根据LSP来更新CSNPTable中存在的网络设备;若在10秒钟后,设置了Cflag的网络设备数目大于I,则将值为I的Cflag置零,然后向链路广播CSNP ;若设置了Cflag的网络设备数目等于I,则向链路广播CSNP报文;步骤3:DIS等待接收PSNP报文,每接收到一个PSNP报文,则在CSNPTable中将其对应网络设备的Pflag置1,然后发送PSNP报文请求的LSP ;若在发送CSNP报文10秒后,CSNPTable中还有Pflag为O的表项,则每隔10秒钟在链路上广播一次CSNP报文,直到接收到该网络设备的PSNP请求报文或者接收到一个新的LSP ;步骤4:若DIS的某个邻接断开连接了,则表CSNPTable中该邻接对应的表项则立即被删除,和链路状态同步;步骤5:若DIS新增加了某个邻接,则表CSNPTable中加入该邻接对应的表项,且在收到了该邻接的序列号为I的LSP报文后,向该邻接点广播CSNP报文。与已有技术相比,本发明有益效果体现在:本发明的提高IS-1S路由协议中CSNP报文广播效率的方法中,只有当DIS接收到表示网络拓扑变化的新的LSP时,才会在10秒钟后向链路上广播CSNP,否则就通过维持连接关系的Hello报文定时传送网络拓扑无变化的信息。这样就避免了无用的CSNP广播,并且不会影响正常的业务处理。本发明提供了一种提高IS-1S路由协议中CSNP报文广播效率的方法,在使用IS-1S路由协议的网络中,可以减少CSNP报文的发送次数,降低CSNP广播报文的带宽占用,提高了广播效率。


图1为本发明的提高IS-1S路由协议中CSNP报文广播效率的方法的流程图。图2为本发明的提高IS-1S路由协议中CSNP报文广播效率的方法的变量Time的变化示意图。图3为本发明的提高IS-1S路由协议中CSNP报文广播效率的方法的Hello报文的格式。图4为本发明的提高IS-1S路由协议中CSNP报文广播效率的方法的CSNPTable表。图5为现有技术中的由3个RT组成的广播网络中CSNP报文广播示意图。图6为现有技术中的由5个RT组成的广播网络。以下通过具体实施方式
,并结合附图对本发明作进一步说明。
具体实施例方式参见图1,提高IS-1S路由协议中CSNP报文广播效率的方法,广播网络中的DIS被选举出来后,自身设置一个变量Time,变量Time初始化清零。变量Time用来记录接收到表示网络拓扑变化的新LSP的时间。图2中,变量Time随时间变化和网络拓扑变化而变化。DIS在时间X接收到表示网络拓扑变化的新的LSPl时,立即更新自己的LSP数据库,同时设置变量Time为当前时间X。在之后的10秒内,DIS又接收到4个新的LSP报文,但是由于Time已经设置了时间X,因此不再对变量Time进行设置。延迟10秒钟后,发送CSNP报文,并清零变量Time。若在10秒钟之内,DIS没有接收到新的LSP报文,则向所有邻居发送特定的维持连接关系的Hello报文,用来表示当前网络拓扑没有发生任何变化。)在所述Hello报文中,在其中一个字段所在字节的其中一位设置为用于表示为当前网络拓扑没有发生任何变化的保留位。如图3所示,该Hello报文格式如下:最右端为第Obit,最左端为第7bit。其中,PDU Type字段所在字节的第7、6、5bit均为保留位,值均为O。将第5bit置1,表示为当前网络拓扑没有发生任何变化。通过为Hello报文保留位中增加信息,用来标记网络的变化状况,设备根据网络变化状态信息及新增的定时器处理CSNP的发送。本发明中,置位方法并不仅限于此一种,所有类似的置位都属于此种方法。本领域技术人员根据本发明揭示的内容,在本发明的基础上不必经过创造性劳动所进行的改进和修改,都应该在本发明的保护范围之内。如图1为本发明的方法的流程图,步骤I当DIS接收到新的LSP时,清空CSNPTab I e中的Pflag和Cf lag,将LSP对应的Cflag置I。本步骤中CSNPTable如图4所示。图4中的表格为在DIS上组织的一张表CSNPTable。表项为区域网路中的每个网络设备的System ID、两个标志位Pf lag和Cf lag。Pf lag用于标识区域中的网络设备是否向DIS发送PSNP请求报文,Cf lag用来标识10秒钟之内网络设备是否向DIS发送新的LSP报文。步骤2根据LSP来更新CSNPTable中存在的网络设备。若在10秒钟后(由Time计时),设置了 Cflag的网络设备数目大于I,则将值为I的Cflag置零,然后向链路广播CSNP ;若设置了 Cflag的网络设备数目等于1,则向链路广播CSNP报文。步骤3 DIS等待接收PSNP报文,每接收到一个PSNP报文,则在CSNPTable中将其对应网络设备的Pflag置一,然后发送PSNP报文请求的LSP。若在发送CSNP报文10秒后,CSNPTable中还有Pflag为O的表项,则每隔10秒钟在链路上广播一次CSNP报文,直到接收到该网络设备的PSNP请求报文或者接收到一个新的LSP。
步骤4若DIS的某个邻接断开连接了,则表CSNPTable中该邻接对应的表项则立即被删除,和链路状态同步。步骤5若DIS新增加了某个邻接,则表CSNPTable中加入该邻接对应的表项,且在收到了该邻接的序列号为I的LSP报文后(当设备启动后产生的第一个LSP报文的序列号为1,表明这是一个新加入网络拓扑中的节点),向该邻接点广播CSNP报文。利用本发明提供的方法,在网络设备中使用优化后的IS-1S协议,在IS-1S协议中,当网络拓扑状态发生变化时,DIS才广播CSNP报文。在IS-1S协议中,当网络拓扑状态不变化时,DIS向所有邻居发送特定的维持连接关系的Hello报文,用来表示当前网络拓扑没有发生任何变化。在IS-1S网络协议中,默认在广播链路上10秒发送一次CSNP广播报文会消耗链路带宽,加重网络负担。本发明的提高IS-1S路由协议中CSNP报文广播效率的方法,能判断对方回应PSNP报文,减少CSNP报文交互时产生的流量,采用了网络拓扑没有变化的情况下少占带宽的通信机制,增加CSNP可靠性,可以大大降低CSNP报文对广播链路的带宽消耗及网络负担,提高链路带宽的利用率,降低维护成本。
权利要求
1.提高IS-1S路由协议中CSNP报文广播效率的方法,其特征是,广播网络中的指派中间系统DIS被选举出来后,DIS自身设置一个变量Time,该变量Time初始化清零;变量Time用来记录接收到表示网络拓扑变化的新LSP的时间;当DIS在时间X接收到表示网络拓扑变化的新的LSPl时,立即更新自己的LSP数据库,同时设置变量Time为当前时间X ;延迟10秒钟后,发送CSNP报文,并清零变量Time ;若在10秒钟之内,DIS没有接收到新的LSP报文,则向所有邻居发送特定的维持连接关系的Hello报文,Hello报文用来表示当前网络拓扑没有发生任何变化。
2.根据权利要求1所述的提高IS-1S路由协议中CSNP报文广播效率的方法,其特征是,在所述Hello报文中,在其中一个字段所在字节的其中一位设置为用于表示为当前网络拓扑没有发生任何变化的保留位。
3.根据权利要求1和2所述的提高IS-1S路由协议中CSNP报文广播效率的方法,其特征是,包括如下步骤: 步骤1:当DIS接收到新的LSP时,清空CSNPTable中的Pflag和Cf lag,将LSP对应的Cflag 置 I ; 步骤2:根据LSP来更新CSNPTable中存在的网络设备;若在10秒钟后,设置了 Cflag的网络设备数目大于1,则将值为I的Cflag置零,然后向链路广播CSNP ;若设置了 Cflag的网络设备数目等于1,则向链路广播CSNP报文。
步骤3 =DIS等待接收PSNP报文,每接收到一个PSNP报文,则在CSNPTable中将其对应网络设备的Pflag置1,然后发送PSNP报文请求的LSP ;若在发送CSNP报文10秒后,CSNPTable中还有Pflag为O的表项,则每隔10秒钟在链路上广播一次CSNP报文,直到接收到该网络设备的PSNP请求报文或者接收到一个新的LSP ; 步骤4:若DIS的某个邻接断开连接了,则表CSNPTable中该邻接对应的表项则立即被删除,和链路状态同步; 步骤5:若DIS新增加了某个邻接,则表CSNPTable中加入该邻接对应的表项,且在收到了该邻接的序列号为I的LSP报文后,向该邻接点广播CSNP报文。
全文摘要
本发明公开了一种提高IS-IS路由协议中CSNP报文广播效率的方法,广播网络中的DIS被选举出来后,DIS自身设置一个变量Time,初始化清零;变量Time用来记录接收到表示网络拓扑变化的新LSP的时间;当DIS在时间X接收到表示网络拓扑变化的新的LSP1时,立即更新自己的LSP数据库,同时设置Time为当前时间X;延迟10秒钟后,发送CSNP报文,并清零Time;若在10秒钟之内,DIS没有接收到新的LSP报文,则向所有邻居发送特定的维持连接关系的Hello报文,Hello报文用来表示当前网络拓扑没有发生任何变化。本发明的提高IS-IS路由协议中CSNP报文广播效率的方法,具有可以减少CSNP报文的发送次数、降低CSNP广播报文的带宽占用、提高广播效率等优点。
文档编号H04L12/761GK103179042SQ20131001105
公开日2013年6月26日 申请日期2013年1月12日 优先权日2013年1月12日
发明者王松, 谢彬彬, 唐舜 申请人:合肥华云通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1