生成转发表项信息的方法、标签交换路由器及系统的制作方法

文档序号:7924010
专利名称:生成转发表项信息的方法、标签交换路由器及系统的制作方法
技术领域
本发明涉及通信技术,尤其涉及一种生成转发表项信息的方法、标签交换 路由器及系统。
背景技术
LDP (Label Distribution Protocol,标签分发协i义)是MPLS (Multi-Protocol Label Switching,多协议标签交换)中最重要的一个协议,负责标签的绑定及 LSP (Label Switch path,标签交换i 各径)的建立和维护,主要分为如下三个阶 段1、 利用LDP协议的邻居发现消息发现对等体的存在; LDP协议有3种消息邻居发现消息、会话相关的消息、信令消息,其中的邻居发现消息就是用hello消息来发现LDP邻居的存在。网络中的LSR(Label Switching Router,标签交换路由器)周期性地用组播方式发送Hello消息,该 Hello消息封装在以面向非连接的UDP (User Data Protocol,用户数据报协议) 中,给所有同一子网上的其他路由器,以声明和维护自己的存在。2、 标签的分配与分发;标签的分配是指定一个标签与某个FEC (Forward Equivalence Correction, 转发等价类)绑定,分发则是指将这一绑定通知上游或者下游的过程。标签分 配与分发都是在LDP协议的控制下完成的。标签的分发的顺序分为上游标签分发或者下游标签分发,下游标签分发是 指标签的分发沿着数据流传输的反方向进行,,由出接口 LSR发起分发过程,适 合P2P单播应用上游标签分发是指标签的分发沿着数据流传输的方向进行, 由入口 LSR发起分发过程,适合P2MP多播情况。其中,下游标签分发过程包括DoD (Downstream-on-Demand,按需分发) 和下游DU (Downstream Unsolicited,自主分发)两种标签通告才莫式,它们的主 要区别在于标签映射的发布是由上游触发的还是下游触发的。1) DoD模式入口节点LSR向出口节点LSR方向发送标签请求消息(包含FEC描述信 息,例如标签请求消息中的FEC描述信息是把数据流分组映射到某个FECF1 , Fl是转发等价类,对应的是分组数据流的出口节点),出口节点LSR收到所述 标签请求消息后,为此FEC分配标签Ll,并将绑定标签信息(Fl, LI)通过 mapping消息(标签映射信息)反馈给其上游LSR。该mapping消息作为一个标 识,所有4妻收到该mapping消息的LSR以该mapping消息作为建立LSP的依据。下游LSR何时反馈mapping消息,取决于该LSR采用独立标签控制方式还 是有序标签控制方式。采用有序标签控制方式时,当收到它的下游LSR返回的 mapping消息后或者自身就是出口节点,向上游LSR发送mapping消息;采用 独立标签控制方式时,不管有没有收到下游LSR返回的mapping消息,都立即 向上游LSR发送mapping消息。2) DU模式下游LSR在LDP会话建立成功,主动向其上游LSR发布mapping消息。 上游LSR保存mapping消息,并根据路由表信息来处理收到的mapping消息。 3、 LSP的建立;以上两种下游标签分发模式中,上游LSR —般是根据其路由表中的信息来 选择下游LSR。因此在建立LSP阶段,LSR在接收到所述路由表中记录的其他LSR发送 的mapping消息时,需要查询单播路由信息,获取转发表项中的出接口索引和 下一跳地址;转发表项中,还包括出标签,该出标签为mapping消息中携带的 标签。LSP的建立是一 系列LSR执行标签分配和标签分发操作的结果。 在P2P场景中,是由下游LSR为本地路由对应的FEC分配标签,则工作于这 种方式下的LSR将该标签用作其交换表的索引。从出口节点到入口节点建立LSP 时,下游LSR向上游LSR;义送的mapping消息中的FEC对应的是Egress节点(分组 数据流的出口节点);发明人在实施本发明的过程中发现在P2P场景中,因为LSP的建立是依赖于单播路由的,而路由表中保存的是 最优的下游LSR;所以LSR对于非路由LSR发送来的mapping消息,无法生成转6发表项中的出接口索引和下一跳地址。
在P2MP场景中,下游LSR向上游LSR发送的mapping消息中的FEC对应的是 根节点(分组数据流的入口节点),因此上游LSR无法利用在P2P场景下的通 过单播路由表获得出接口索引和下 一跳地址的方法来获取出接口索引和下 一跳 地址。

发明内容
本发明实施例提供一种生成转发表项信息的方法、标签交换路由器及系统, 可以不依赖于路由信息生成转发表项中的出接口索引和下一跳地址。
为解决上述技术问题,本发明实施例提供的生成转发表项信息的方法,包

第 一标签交换路由器与第二标签交换路由器之间建立会话,接收第二标签 交换路由器发送的标签映射信息;
第一标签交换i 各由器^4居接收所述标签映射信息的会话,查询本地预置的 与该会话对应的邻接体,所述邻接体预置有本地接口索引与第二标签交换路由 器的接口地址之间的映射关系;
第 一标签交换路由器从邻接体中获取本地接口索引和第二标签交换路由器 的接口地址,生成转发表项中的出接口索引和下一跳地址。
本发明实施例还提供了一种标签交换;洛由器,包括
会话建立单元,用于与第二标签交换路由器建立会话;
消息收发单元,用于通过会话,接收第二标签交换路由器发送的标签映射 信息;
查询单元,根据接收所述标签映射信息的会话,查询本地预置的与该会话 对应的邻接体,所述邻接体预置有本地接口索引与第二标签交换路由器的接口 地址的映射关系;
表项生成单元,从邻接体中获取本地接口索引和第二标签交换路由器的接 口地址,生成转发表项中的出接口索引和下一跳地址。
相应地,本发明还提供了一种标签交换路由系统,包括第一标签交换路 由器和第二标签交换路由器;
所述第二标签交换路由器,用于与第一标签交换路由器之间建立会话,并向第一标签交换路由器发送标签映射信息;
第一标签交换路由器,用于根据接收所述标签映射信息的会话,查询本地 预置的与该会话对应的邻接体,所述邻接体预置有本地接口索引与第二标签交 换路由器的接口地址的映射关系;并从邻接体中获取本地接口索引和第二标签 交换路由器的接口地址,生成转发表项中的出接口索引和下 一跳地址。
实施本发明,通过在邻居发现阶段建立本地接口索引与对端接口地址的映 射关系,在后续收到mapping消息时,可以不依赖于路由信息生成转发表项中 的出接口索引和下一跳地址。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作筒单地介绍,显而易见地,下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动的前提下,还可以才艮据这些附图获得其他的附图。 图1是本发明的生成转发表项信息的方法实施例的示意图; 图2是本发明预置本地接口索引与对端接口地址之间的映射关系的方法的 示意图3是本发明的UDP报文的示意图4是本发明的邻接体的示意图5是本发明的标签交换路由系统实施例的组成示意图6是本发明生成的转发表项信息的示意图7是本发明的标签交换路由器一种实施例的示意图8是本发明的标签交换路由器又一实施例的示意图9是在P2P场景中本发明的标签交换路由系统实施例的示意图IO是在如图9所示的标签交换路由系统中实施本发明的生成转发表项信 息的方法的流程示意图11是在P2P场景中本发明的标签交换路由系统又一实施例的示意图12是在如图11所示的标签交换路由系统中实施本发明的生成转发表项 信息的方法的流程示意图13是在P2MP场景中本发明的标签交换路由 统实施例的示意8图14是在如图13所示的标签交换路由系统中实施本发明的生成转发表项 信息的方法的流程示意图。
具体实施例方式
本发明实施例提供了 一种生成转发表项信息的方法,标签交换路由器及系 统,可以不依赖于路由信息生成转发表项中的出接口索引和下一跳地址。
参见图1,为本发明中的生成转发表项信息的方法实施例的示意图。
本实施例中,生成转发表项信息的方法涉及到的实体可以是P2P场景或者 P2MP下的第一标签交换路由器和第二标签交换路由器,并且本实施例中的标签 分发方式是下游标签分发方式。
步骤IOO,第一标签交换路由器与第二标签交换路由器之间建立会话,接收 第二标签交换路由器发送的标签映射信息;
步骤IOI,第一标签交换路由器根据接收所述标签映射信息的会话,查询本 地预置的与该会话对应的邻接体,所述邻接体预置有本地接口索引与第二标签 交换路由器的接口地址的映射关系;
步骤102,第一标签交换路由器从邻接体中获取本地接口索引和第二标签交 换路由器的接口地址,生成转发表项中的出接口索引和下一跳地址。
所述出接口索引和下一跳地址是构成Outsegment的一部分关键字段,在标 签交换路径建立完毕,从第 一标签交换路由器向第二标签交换路由器的方向进 行数据报文转发时,第一标签交换路由器查找该转发表项的出接口索引和下一 跳地址,通过出接口索引找到对应的本地接口,通过该本地接口将数据报文发 送到下一跳地址表示的第二标签交换路由器的接口 。
需要说明的是,第一标签交换路由器在生成转发表项中的出接口索引和下 一跳地址后,何时向它的上游标签交换路由器发送标签映射信息,取决于第一 标签交换路由器采用独立标签控制方式还是有序标签控制方式。采用有序标签 控制方式时,在收到它的下游标签交换路由器发送的标签映射信息后,向上游 标签交换路由器发送标签映射信息;采用独立标签控制方式时,不管有没有收 到下游标签交换路由器发送的标签映射信息,都立即向上游标签交换路由器发 送标签映射信息。需要说明的是,所述标签映射信息通过mapping发送,仅作为触发标签交换路由器生成转发表项信息的条件。该mapping消息中携带的标 签会作为出标签保存在转发表项中。
实施本发明的生成转发表项信息的方法,标签交换路由器不依赖于路由信 息,就可以在任何一个其他标签交换路由器发来的标签映射信息的触发下,生 成转发表项,从而解决P2P场景下,非路由下一跳的标签交换路由器发送的标 签映射信息不能触发生成转发表项信息的问题,以及P2MP场景下,不能依赖 单播路由表获得出接口索引和下 一跳地址的问题。
下面结合图2,详细阐述预置接口索引与对端地址之间的映射关系的方法流程。
本实施例中,第二标签交换路由器与第 一标签交换路由器相互为对方的对 端路由器;
步骤200,在邻居发现阶段,第一标签交换路由器接收第二标签交换路由器 发送的hello消息;所述hello消息封装在用户数据报协议UDP报文中,所述 UDP报文的Source字段中预置有发送该hello消息的第二标签交换路由器的接 口地址,该4妄口 ;也址表示为IP i也址;
步骤201,第一标签交换路由器解析所述UDP报文,从所述UDP报文的 Source字段中提取第二标签交换路由器的IP地址;UDP报文如图3所示。
步骤202,第一标签交换路由器创建邻接体(Adjacency),并将Source字段 中的IP地址记录在该结构中;
因为hello消息是基于链^4妄收到的,而封装该hello消息的UDP报文是通 过第一标签交换路由器的某个接口接收到的,因此在步骤203,确定接收该hello 消息的4妻口;
步骤204,第一标签交换路由器将接收所述hello消息的接口的本地接口索 引与所述第二标签交换路由器的接口地址预置在Adjacency中。
第一标签交换路由器有多个接口,例如本地接口索引为11的接口 11,本地
接口索引为12的接口 12,本地接口索引为13的接口 13......本地接口索引为In
的接口 ln(n为自然数),当接口 11接收到来自第二标签交换路由器发送来的 hello消息后,第 一标签交换路由器从封装该hello消息的UDP报文的Source字 段中,提取出发送该hello消息的第二标签交换路由器的接口地址,例如为IP 地址21,并将其记录在Adjacencyl中,这样就建立了本地接口索引与对端接口
10地址的映射关系,需要说明的是, 一个与会话对应的邻接体保存一个本地接口
索引和对端接口地址的映射信息;其他的本地接口索引和对端接口地址的映射 信息保存在其他的邻接体中,例如本地接口索引12与LSR2的接口 22的IP地 址22之间的映射关系保存在Adjacency2中;本地接口索引13与LSR3的接口 33的IP地址33之间的映射关系保存在Adjacency3中;这样,根据会话,就能 找到对应的邻接体,从而获取本地接口索引和对端接口地址。
本实施例的在邻居发现阶段预置接口索引与对端地址之间的映射关系的方 法,为LSP建立过程中生成转发表项的出接口索引和下一跳地址奠定了&出。
参见图5,为本发明中的标签交换路由系统的组成示意图。
本实施例中的标签交换路由系统,包括第一标签交换路由器1 (LSR1) 和第二标签交换路由器2 (LSR2); LSR1和LSR2都具有多个接口 ,例如LSR1 具有接口 11,接口 12,接口 13...接口 ln, LSR1具有接口 21,接口 22,接口 23...接口 2n (n为自然数);
LSR2与LSR1之间建立会话,向LSR1发送标签映射信息,即mapping消 息;需要说明的是,LSR1与LSR2之间的会话类型是TCP会话。
LSR1根据接收所述mapping消息的会话,查询本地预置的与该会话对应的 邻接体;
如图4所示,两个邻接体中都预置有本地接口索引与LSR2的接口地址的映 射关系;例如邻接体1中预置有本地接口索引11和LSR2的接口 21的IP地址 21,邻接体2中预置有本地接口索引12和LSR2的接口 22的IP地址22;邻接 体3中预置有本地接口索引13和LSR3的接口 33的IP地址33;
LSR1根据与LSR2之间的会话选择对应的邻接体,图4的例子中,邻接体 1和邻接体2都与该会话对应,则可以选择邻接体1中的本地接口索引11和IP 地址21;并且以本地接口索引ll作为出接口索引,以IP地址21作为下一跳地 址,生成如图6所示的转发表项的出接口索引和下一跳地址。当然,也可以根 据需要,同时选择两个邻接体,分别生成转发表项中的两项出接口索引和下一 跳地址。
该转发表项内的其他出接口索引和下一跳地址的生成方法与上述方法相 同,该转发表项中Insegment信息,其生成方法是现有技术,在此不再赘述。
实施本发明的标签交换路由系统,标签交换路由器不依赖于路由信息,就可以在其他任何标签交换路由器发来的标签映射信息的触发下,生成转发表项
中的出接口索引和下一跳地址,从而解决P2P场景下,非路由下一跳的标签交 换路由器发送的标签映射信息不能触发生成转发表项信息的问题,以及P2MP 场景下,不能依赖单播路由表获得出接口索引和下一跳地址的问题。
在P2P场景下的标签交换;洛由系统中,入口节点LSR向出口节点LSR方向 发送标签请求消息(包含FEC描述信息,例如标签请求消息中的FEC描述信息 是把数据流分组映射到某个FEC Fl , Fl是转发等价类,对应的是分组数据流 的出口节点),出口节点LSR收到所述标签请求消息后,为此FEC分配标签Ll, 并将绑定标签信息(Fl, Ll)通过mapping消息(标签映射信息)反馈给其上 游LSR。在P2MP场景中,LSP的建立由叶子节点触发,并且FEC对应的分组 数据流的入口节点,现有技术中,只描述了DU方式,没有描述DoD方式。
标签交换路由器,即可以接收mapping消息,生成转发表项信息,还可以 向其上游标签交换路由器发送mapping消息,本实施例提供的LSR在作为接收 mapping消息的上游LSR时,其结构如图7所示,包括
会话建立单元io,用于与第二标签交换路由器建立会话;该会话为TCP session;
消息收发单元11,用于通过与第二标签交换路由器之间的会话,接收第二 标签交换路由器发送的标签映射信息;该标签映射信息为mapping消息,其表 示下游LSR为某一个FEC分配标签与该FEC之间的绑定标签信息,并且该hello 消息封装在UDP报文中;
查询单元12,根据接收所述标签映射信息的会话,查询本地预置的与该会 话对应的邻接体,参见图4,该邻接体预置有本地接口索引与第二标签交换路由 器的接口地址的映射关系;
表项生成单元13,从邻接体中荻取本地接口索引和第二标签交换路由器的 接口地址,生成如图6所示的转发表项中的出接口索引和下一跳地址。
需要说明的是,查询单元12查询的本地预置的接口索引与对端地址之间的 映射关系是在邻居发现阶段预置的,标签交换路由器的又一实施例如图8所示
本实施例中的标签交换路由器还包括邻居发现单元14,所述邻居发现单元 14用于在邻居发现阶段接收第二标签交换路由器发送的hello消息;所述hello 消息封装在用户数据报协议UDP报文的Source字段中,所述UDP报文的Source
12字段中预置有第二标签交换路由器的接口的IP地址; 标签交换路由器还包括
报文解析单元15,用于解析消息收发单元11收到的UDP报文,从所述UDP 报文的Source字段中提取第二标签交换路由器的接口的IP地址;
预置单元15,用于将接收所述hello消息的接口的本地接口索引与所述第二 标签交换路由器的接口的IP地址预置在相应的邻接体中,供查询单元12使用。
本实施例的其他单元的功能和作用与图7相同,在此不再赘述。需要说明 的是,本标签交换路由器会保存其接收到的mapping消息中的FEC与标签之间 的绑定信息,并且会根据需要,向其上游标签交换路由器发送mapping消息。
本发明的标签交换路由器不依赖于路由信息,就可以在任何标签交换路由 器发来的标签映射信息的触发下,生成转发表项中的出接口索引和下一跳地址, 从而解决P2P场景下,非路由下一跳的标签交换路由器发送的标签映射信息不 能触发生成转发表项信息的问题,以及P2MP场景下,不能依赖单播路由表获 得出接口索引和下 一跳地址。
以下的实施例中,将分别阐述在P2P场景和P2MP场景中实施本发明的情况。
参见图9,是在P2P场景中本发明的标签交换路由系统实施例的示意该系统包括标签交换路由器l (LSR1)、标签交换路由器2 (LSR2)、标 签交换路由器3 (LSR3)、标签交换路由器4 (LSR4)。
假设Dis(LSRl, LSR3) <Dis(LSRl, LSR2)+Dis (LSR2, LSR3 ),则 满足Draft IP FRR Framework中LFA (Loop-free Alternative,非环路替换邻居)的 定义Dis (LSR2, LSR3 ) < Dis (LSR2, LSR1) + Dis (LSR1,LSR3),即 LSR2是LSR1的LFA邻居;其中Dis(LSRl, LSR2)表示的是LSR1与LSR2之间 链路的metric值,metric值是一个度量值,用于衡量网络传输的快慢。
对于LSR4上的本地路由对应的FEC: F4来说,LSR1收到来自LSR2, LSR3 的关于F4的mapping消息,通常LSR1根据单播路由,只在来自LSR3的mapping 消息的触发下,生成出接口索引和下一跳地址,实质上为了LSRl, LSR3间^1路 或接口故障时,能够快速切换,可以通过本发明的生成转发表项信息的方法, 实现在来自LSR2的mapping消息的触发下,生成出接口索引和下一跳地址,从而 可以快速切换,保证流量尽量少的丟失。当然,LSRl在来自LSR3的mapping消息的触发下生成出接口索引和下一跳地址时,也可以不依赖单播路由,而采用 本发明中提供的生成转发表项信息的方法实现。
下面结合图10,详细描述LSRl在其LFA邻居LSR2发送的mapping消息的触 发下,生成转发表项信息的方法。
步骤300,在邻居发现阶段,LSR1接收LSR2发送的hello消息;所述hello 消息封装在用户数据报协议UDP报文中,所述UDP报文的Source字段中预置 有发送该hello消息的LSR2的接口的IP地址;
步骤301, LSR1解析所述UDP报文,从所述UDP报文的Source字段中提 取LSR2的IP地址;例如为IP地址21;
步骤302, LSR1创建邻接体(Adjacency),并将Source字段中的IP地址 21记录在该结构中;
因为hello消息是基于链賴雀收到的,所以封装该hello消息的UDP报文也 是通过LSR1的某个接口接收到的,因此在步骤303,确定接收该hello消息的 接口 ,例如本地接口索引为11的接口 11;
步骤304, LSR1将本地接口索引11与发送hello消息的所述LSR2的接口 的IP地址21预置在Adjacencyl中;Adjacency2的预置过程相同,在此不再赘
述;
步骤305, LSR1与LSR2之间建立TCP会话,接收LSR2发送的mapping 消息;该mapping消息是关于F4与LSR4为F4分配的标签之间的绑定关系;
步骤306, LSR1根据接收所述mapping消息的会话,查询本地预置的与该 会话对应的Adjacency;此时会查询到Adjacency 1和Adjacency2,因为Adjacency2 中保存的IP地址22也是LSR2的接口地址;
步骤307, LSR1获取本地接口索引和LSR2的接口地址,生成转发表项中 的出接口索引和下一跳地址。例如以本地接口索引ll作为出接口索引,以LSR2 的接口 21的IP地址21作为下一跳地址,生成转发表项的出接口索引和下一跳 地址。或者以本地接口索引12作为出接口索引,以LSR2的接口 22的IP地址 22作为下 一跳地址,生成转发表项的另 一项出接口索引和下 一跳地址。
这样,在将数据流分组映射到FEC: F4,通过LSR1向LSR4发送数据报文 时,即使LSR1与LSR3之间的链路或者接口出现故障时,LSR1还可以查找该 转发表项的出接口索引和下一跳地址,通过出接口索引表示的接口 11,将数据报文发送到下一跳地址表示的LSR2的接口 21或者通过出接口索引表示的接口12,将数据报文发送到下一跳地址表示的LSR2的接口 22,通过LSR2将数据报文转发到LSR3,最终达到LSR4。
本实施中,还可以通过提供命令行给用户,由用户决定是否在LSR发送的mapping消息的触发下,生成出接口索引和下一跳地址,甚至生成多少项出接口索引和下一跳地址,这样比起LDP FRR (Fast Reroute,快速重路由)来说,可以为用户提供更灵活的控制。
图11是在P2P场景中本发明的标签交换路由系统又一实施例的示意该系统包括标签交换路由器l (LSR1)、标签交换路由器2 (LSR2)、标签交换;洛由器3 (LSR3)。
其中,LSR1与LSR2之间存在多条链路,例如LSR1的接口11与LSR2的接口21之间的链路l(Linkl ), LSR1的接口 12与LSR2的接口22之间的链路2(Link2),并且Linkl与Link2链路的metric值不同,此时称为非ECMP (Equal Cost MultiplePath,等价多路径);根据单播路由,LSRl到达LSR3的下一跳落在Linkl所在的LSR2上。
通常,在该场景中LSRl在LSR2发送的mapping消息的触发下,生成转发表项的出接口索引和下一跳地址,该转发表项信息中,是以LSR1的本地接口索引ll作为出接口索引,以LSR2的接口21的IP地址作为下一跳地址。该出接口索引和下一跳地址与Linkl对应;
当进行数据报文转发时,只在Linkl上进行,这将导致Linkl上流量拥塞,而Link2上没有流量。因此需要通过本发明的生成转发表项信息的方法,在来自LSR2发送的mapping消息的触发下,生成以LSR1的本地接口索引12为出接口索引,以LSR2的接口22的IP地址22为下一跳地址的转发表项信息,该出接口索引和下一跳地址与Link2对应;以实现在Link2上进行数据报文传输,避免流量拥塞。需要说明的是,在具体实施中,可以同时生成关于Linkl和Link2的转发表项,以在数据转发时实现负载均衡。
下面结合图12,详细描述LSRl在LSR2发送的mapping消息的触发下,生成转发表项信息的方法。
步骤400,在邻居发现阶段,LSRl接收LSR2分别通过Linkl和Link2发送的hello消息;所述hello消息封装在用户数据报协议UDP报文中,所述UDP报文的Source字段中预置有与发送该hello消息的Linkl对应的LSR2的接口 21的IP地址21;以及与发送该hello消息的Link2对应的LSR2的接口 22的IP地址22;
步骤401 , LSR1解析所述UDP报文,分别从所述UDP报文的Source字段中提取IP地址21和IP地址22;
步骤402, LSR1创建Adjacency 1和Adjacency2,并将Source字段中的IP地址21和IP地址22分别记录在Adjacency 1和Adjacency2中;
因为hello消息是基于链路接收到的,封装该hello消息的UDP报文是通过LSR1的某个接口接收到的,因此在步骤403,分别确定接收以上两个hello消息的4妻口,例如为接口 ll和j妻口 12;
步骤404,LSR1将接收hello消息的接口 ll的本地接口索引11与发送hello消息的LSR2的接口的IP地址21预置在Adjacencyl中,将接收hello消息的接口 12的本地接口索引12与发送hello消息的LSR2的接口的IP地址22预置在Adjacency2中;Adjacencyl和Adjacency2如图4所示;
步骤405, LSR1与LSR2之间建立TCP会话,接收LSR2发送的mapping
消息;
步骤406, LSRl根据接收所述mapping消息的会话,遍历本地预置的与该会话对应的Adjacencyl和Adjacency2j
步骤407, LSR1从Adjacencyl中获取本地接口索引ll作为出接口索引,以LSR2的接口 21的IP地址21作为下一跳地址,生成转发表项的出接口索引和下一跳地址信息。
当然LSR1还从Adjacency2中获取本地接口索引12作为出接口索引,以LSR2的接口 22的IP地址22作为下一跳地址,生成转发表项的另一项出接口索引和下一跳地址。
这样,通过LSR1向LSR3发送数据报文时,因为LSR1生成了到达LSR2的多项出接口索引和下一跳地址,因此LSR1还可以查找该转发表项的出接口索引和下一跳地址,通过出接口索引表示的接口ll,将数据报文发送到下一跳地址表示的LSR2的接口21,即通过Linkl将数据报文转发到LSR2,或者通过出接口索引表示的接口12,将数据报文发送到下一跳地址表示的LSR2的接口22,即通过Link2将数据报文转发到LSR2,最终达到LSR3,从而避免了流量拥塞,实现了
16负载均衡。
图13是在P2MP场景中本发明的标签交换路由系统实施例的示意图。
本实施例中的系统,包括标签交换路由器0 (LSR0)、标签交换路由器2(LSR1)、标签交换路由器3 (LSR2)、标签交换;洛由器4 (LSR3 )。
其中,LSR0为P2MP根节点,LSR2、 LSR3为叶子节点。LSR2, LSR3在获得根节点LSR0的P2MP FEC信息后,触发P2MP LSP的创建。首先LSR2和LSR3以根节点的P2MP FEC为目的地,获得到达根节点的下一跳LSR1, LSR1接收到mapping消息之后,需要通过本发明的生成转发表项信息的方法为来自LSR2或LSR3的mapping消息生成出接口索引和下一跳地址。
下面结合图14,详细描述LSRl在LSR2发送的mapping消息的触发下,生成转发表项信息的方法。
步骤500,在邻居发现阶段,LSR1接收LSR2发送的hello消息;所述hello消息封装在用户数据报协议UDP报文中,所述UDP报文的Source字段中预置有发送该hello消息的LSR2的接口的IP地址;
步骤501, LSRl解析所述UDP报文,从所述UDP报文的Source字段中提取LSR2的接口地址;例如为IP地址21
步骤502, LSRl创建邻接体(Adjacency) 1 ,并将Source字段中的IP地址21记录在该结构中;
因为hello消息是基于链赠4妄收到的,封装该hello消息的UDP报文是通过LSRl的某个接口接收到的,因此在步骤503,确定接收该hello消息的接口,例如接口 11;
步骤504, LSRl将接收所述hello消息的接口 11的本地接口索引11与发送hello消息的所述LSR2的接口的IP地址21预置在Adjacencyl中;
步骤505, LSRl与LSR2之间建立TCP会话,接收LSR2发送的mapping消息;该 mapping消息是关于F4与LSR4为F4分酉己的标签之间的绑定关系;
步骤506, LSRl根据接收所述mapping消息的会话,查询本地预置的与该会话对应的Adjacencyl;
步骤507, LSRl从Adjacencyl中获取本地接口索引ll作为出接口索引,
获取LSR2的接口 21的IP地址21作为下一跳地址,生成转发表项的出接口索引和下一跳地址。LSR0在LSR1的mapping消息的触发下,生成转发表项的出接口索引和下一跳地址的方法相同,不再赘述;
这样,LSR0通过LSR1向LSR2发送数据报文时,LSR1还可以查找该转发表项的出接口索引和下一跳地址,通过出接口索引表示的接口 11,将数据报文发送到下一跳地址表示的LSR2的接口 21。
这样,就解决了在P2MP场景中,采用下游LSR进行标签分配,由于下游LSR向上游LSR发送的mapping消息中的FEC对应的是根节点(分组数据流的入口节点),无法生成转发表项的出接口索引和下一跳地址的技术问题,可以在P2MP场景中,灵活的在mapping消息的触发下,生成转发表项的出接口索引和下一跳地址。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所揭露的仅为本发明 一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
权利要求
1、一种生成转发表项信息的方法,其特征在于,包括第一标签交换路由器与第二标签交换路由器之间建立会话,接收第二标签交换路由器发送的标签映射信息;第一标签交换路由器根据接收所述标签映射信息的会话,查询本地预置的与该会话对应的邻接体,所述邻接体预置有本地接口索引与第二标签交换路由器的接口地址之间的映射关系;第一标签交换路由器从邻接体中获取本地接口索引和第二标签交换路由器的接口地址,生成转发表项中的出接口索引和下一跳地址。
2、 如权利要求1所述的生成转发表项信息的方法,其特征在于,预置本地 接口索引与第二标签交换路由器的接口地址之间的映射关系的方法,包括在邻居发现阶段,第一标签交换路由器接收第二标签交换路由器发送的 hello消息;所述hello消息封装在用户数据报协议UDP报文中,所述UDP报文 中预置有第二标签交换路由器的接口地址;第一标签交换路由器解析所述UDP报文,从所述UDP报文中提取第二标 签交换路由器的接口地址;所述第一标签交换路由器将接收hello消息的接口的本地接口索引与所述第 二标签交换路由器的接口地址预置在邻接体中。
3、 如权利要求1所述的生成转发表项信息的方法,其特征在于,所述标签 映射信息通过mapping消息发送。
4、 如权利要求3所述的生成转发表项信息的方法,其特征在于,在点对多 点P2MP场景中,所述生成转发表项的方法,包括第二标签交换路由器根据单播路由查找到达目的标签交换路由器的最优上 游标签交换路由器即第一标签交换路由器后,通过与第一标签交换路由器之间 建立会话,发送mapping消息给第 一标签交换路由器;第 一标签交换路由器根据接收所述标签映射信息的会话,查询本地预置的与该会话对应的邻接体,所述邻接体预置有本地接口索引与第二标签交换路由器的接口地址的映射关系;第一标签交换路由器从邻接体中获取本地接口索引和第二标签交换路由器 的接口地址,生成转发表项中的出接口索引和下一跳地址。
5、 如权利要求3所述的生成转发表项信息的方法,其特征在于,在点对点 P2P场景中,若第二标签交换路由器为第一标签交换路由器的非环路替换邻居 LFA,则所述生成转发表项的方法,包括第一标签交换路由器与第二标签交换路由器之间建立会话,接收第二标签 交换路由器发送的mapping消息;第一标签交换路由器根据接收所述标签映射信息的会话,查询本地预置的 与该会话对应的邻接体,所述邻接体预置有本地接口索引与第二标签交换路由 器的接口地址的映射关系;第一标签交换路由器从邻接体中获取本地接口索引和第二标签交换路由器 的接口地址,生成转发表项中的出接口索引和下 一跳地址。
6、 如权利要求3所述的生成转发表项信息的方法,其特征在于,在点对点 P2P场景中,第二标签交换路由器与第一标签交换路由器之间存在多条非等价链 路,所述生成转发表项的方法,包括第一标签交换路由器与第二标签交换路由器之间建立会话,接收第二标签 交换路由器发送的mapping消息;第一标签交换路由器根据接收所述标签映射信息的会话,遍历本地预置的 与该会话对应的多个邻接体,所述多个邻接体中的每个邻接体中都预置有本地 接口索引与第二标签交换路由器的接口地址的映射关系;并且与所述多条等价链路--对应;第 一标签交换路由器从多个邻接体中分别获取本地接口索引和第二标签交换路由器的接口地址,分别生成转发表项中的出接口索引和下一跳地址;所述 出接口索引和下一跳地址的数目与邻接体的数目相同。
7、 一种标签交换路由器,其特征在于,包括会话建立单元,用于与第二标签交换路由器建立会话; 消息收发单元,用于通过会话,接收第二标签交换路由器发送的标签映射 信息;查询单元,根据接收所述标签映射信息的会话,查询本地预置的与该会话 对应的邻接体,所述邻接体预置有本地接口索引与第二标签交换路由器的接口 地址的映射关系;表项生成单元,从所述邻接体中获取本地接口索引和第二标签交换路由器 的接口地址,生成转发表项中的出接口索引和下一跳地址。
8、 如权利要求7所述的标签交换路由器,其特征在于,所述标签交换路由 器还包括邻居发现单元,用于在邻居发现阶段接收第二标签交换路由器发送的hello 消息;所述hello消息封装在用户数据报协议UDP报文中,所述UDP报文中预 置有第二标签交换路由器的接口地址。
9、 如权利要求8所述的标签交换路由器,其特征在于,所述标签交换路由 器还包括报文解析单元,用于解析所述UDP报文,从所述UDP报文中提取第二标 签交换路由器的接口地址;预置单元,用于将接收hello消息的接口的本地接口索引与所述第二标签交 换路由器的接口地址预置在邻接体中。
10、 一种标签交换路由系统,其特征在于,包括第一标签交换路由器和 第二标签交换路由器;所述第二标签交换路由器,用于与第一标签交换路由器之间建立会话,并向第 一标签交换路由器发送标签映射信息;第一标签交换路由器,用于根据接收所述标签映射信息的会话,查询本地 预置的与该会话对应的邻接体,所述邻接体预置有本地接口索引与第二标签交 换路由器的接口地址的映射关系;从邻接体中获取本地接口索引和第二标签交 换路由器的接口地址,生成转发表项中的出接口索引和下一跳地址。
全文摘要
本发明实施例公开了一种生成转发表项信息的方法,标签交换路由器及系统,所述生成转发表项信息的方法包括第一标签交换路由器与第二标签交换路由器之间建立会话,接收第二标签交换路由器发送的标签映射信息;第一标签交换路由器根据接收所述标签映射信息的会话,查询本地预置的与该会话对应的邻接体;第一标签交换路由器从邻接体中获取本地接口索引和第二标签交换路由器的接口地址,生成转发表项中的出接口索引和下一跳地址。采用本发明实施例,可以不依赖于路由信息,根据需求灵活地在任何一个标签交换路由器发送的mapping消息的触发下,生成转发表项中的出接口索引和下一跳地址。
文档编号H04L29/08GK101674224SQ20081019847
公开日2010年3月17日 申请日期2008年9月8日 优先权日2008年9月8日
发明者安新伟, 李劲波, 牟少星, 晓 赖 申请人:华为技术有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1