在无线网络中建立双向虚电路的方法

文档序号:7614994阅读:139来源:国知局
专利名称:在无线网络中建立双向虚电路的方法
技术领域
本发明涉及一种在无线通信网络中利用多协议标签交换(下文简称MPLS,即MultiProtocol Label Switching)原理建立双向的虚电路的方法。属于无线通信网络的技术领域。
背景技术
随着下一代网络技术的兴起,越来越多的宽带实时业务需要全部或部分的通过无线网络来承载。而无线信道带宽窄,误码率高,不适合宽带实时业务的传输。所以我们要尽量压缩数据率而提高信道利用率。目前应用层的数据压缩技术已经取得了很好的效果,例如在全球移动系统(即Global system of mobile简称GSM)中,编码后的语音速率平均可达13.2Kbps,而对于LPC(线性预测编码)可达到5.6KBPS([1]Frank Fitzek,Stefan Hendrata,Patrick Seeling,MartinReisslein.Header Compression Scheme for Wireless Internet Access[EB/OL].http//www.eas.asu.edu/~mre/rohc_book.pdf)。也就是说对应用层的实际负载进行压缩的空间已经很小了。而相比之下各层协议字段的开销(如TCP/IP报头)占了信道中数据传输的很大一部分,例如对于LPC而言IPV4的协议头占总的传输数据的74%,而IPV6的协议头则要占到81%。我们知道,协议字段的开销并不能为用户提供所需要的业务信息,从而降低了信道利用率。所以人们提出了各种报头压缩技术[1]来降低在信道中实际传输的报头信息数据量。然而目前的报头压缩技术都是存在于点对点的基础上的,即数据包每经过一个结点都调用一次报头解压缩算法来恢复完整IP报头,而完整IP报头经过网络层的处理(如寻路)后再调用报头压缩算法剥去报头转发到信道上。这无疑会增加网络的处理时延,对于宽带实时业务而言是很不利的。
如果我们考虑在无线网络中利用虚电路来传输数据,那么当虚电路建立起来后我们就可以在网络的入口节点用标签(或所谓的虚电路号)来替换报头而在出口结点恢复出报头信息[1]。而中间结点只利用标签来转发数据,每个标签绑定一对源地址目的地址。这样就避免了在中间节点反复调用报头压缩与解压缩算法从而既减少了时延又提高了信道利用率。而且标签是定长的(而IP报头却是变长的)有利于用硬件转发,这样就进一步提高的转发速度,降低时延。另外,在基于TDMA,CDMA的信道上,利用虚电路可以实现面向流的动态的分配时隙和码片资源([2]MarioGerla,JackTzu-ChiehTsai.Multicluster,Mobile,MultimediaRadioNetwork[EB/OL].http//www.ics.uci.edu/~atm/adhoc/paper-collection/gerla-multicluster-winet95.pdf)。而不是每个结点分配固定的时隙,这样能更有效的利用有限的信道资源。而MPLS是一种建立虚电路的良好手段。
MPLS是一种面向连接的,利用定长标签(label)进行转发的交换技术。在MPLS网络中的转发节点称为标签交换路由器LSR(label switch router)。所谓标签即是网络中的路由器根据IP分组中的目的地址,在原始IP分组的前部添加的一个字段,一个标签对应一个或一系列目的地址。一旦标签被插入IP数据报中,网络中的节点就根据收到的数据报的标签字段而不是变长的IP地址来决定下一跳。当一个传统的IP包进入MPLS网络中时,入口路由器(ingress LSR,即MPLS网络和IP网络交界处的边沿路由器)根据IP报头中的目的地址和选路协议确定的路由,为该报文建立一条标签通道LSP(label switch path)。所谓标签通道其实就是该报文从入口节点到出口节点需要经过的一系列路由器,也就相当于一个虚电路。这样网络中两个IP网络之间的通信就可以沿着LSP<LSRA,LSRB,LSRC,LSRD...>进行传递。
MPLS网络中的路由器将那些以同样方式对待的分组归为一类称之为等价转发类FEC(Forwarding Equivalent Class)([3]E.Rosen,A.Viswanathan,R.Callon.RFC3031-Multiprotocol Label SwitchingAchitecture[EB/OL].http//www.faqs.org/rfcs/rfc3031.html,2001-01.)。简单的说就是下一跳相同的分组的集合。在实际应用中一般采取每个目的地址绑定一个FEC(细粒度)或每个子网绑定一个FEC(粗粒度)两种标识FEC的方式。在对一个流进行标签转发之前网络要利用标签分配协议LDP([4]L.Andersson,P.Doolan,N.Feldman.RFC3036-LDP Specification[EB/OL].http//www.faqs.org/rfcs/rfc3036.html,2001-01.)(Label Distribute Protocol)为该LSP上的每一个LSR分配标签并建立各自的标签转发表。标签转发表的表项类似路由转发表,包括绑定目的地址的FEC字段、识别该FEC的入标签字段、供下一跳路由器识别该FEC的出标签字段、下一跳端口字段。当一个路由器收到一个数据包后,首先检查是否是一个打了标签的MPLS数据包,若不是则利用标签分配协议(LDP)分配一条标签链路。若是则检查自己的标签转发表的入标签字段中是否有与数据包中的标签相同的表项,若有则用该表项的出标签值替换数据包中的标签然后转发到表项中指定的下一跳端口。若没有相应的表项则采用第三层IP转发。所谓的第三层转发就是IP转发,就是路由器利用IP层的路由表项查找匹配数据包的IP地址,然后将其转发到靠近目的节点的下一个路由器的工作方式。
MPLS网络中,各路由器按照标签分配协议LDP(Label DistributionProtocol)分配标签。当标签分配完毕后,一条LSP中各LSR中的标签转发表也就建立起来了。LDP的标签分配一般是下游给上游分配标签[3]。如图3所示的网络,若A有一个原始IP报文需要经由B发往目的地址,并且A中不存在绑定此报文目的地址的等价转发类的标签转发表项,那么A会发送一个标签请求消息(request)给B,B在收到这个请求消息后会发回一个标签应答消息(response)给A。这个应答消息包含了一个B分配给A的标签,A收到该应答后就在自己的标签转发表中添加一个绑定这个包的目的地址的FEC的表项并用B发回的标签作为出标签,同样B也在自己的标签转发表中添加绑定这个FEC的表项并且用刚刚回送给A的那个标签作为入标签。对于这条路径上的其他路由器,也依次执行相同的操作。直到整个LSP上的路由器的标签转发表建立成功。这时一个面向连接的虚电路就建立起来了,A就可以利用建立好的标签转发表来转发这类报文了。
由上面的背景技术分析我们发现,要想在无线网络中有效的传输压缩报头的数据包、提高信道利用率,就要能够快速有效的建立虚电路。然而,上面所述的MPLS标签链路的建立方法并不理想。首先他在分配标签的时候采用逐段请求<一>应答的方式,这明显增大了网络时延,与我们希望的高有效性背道而驰。其次,若我们需要建立一个全双工通信,那么反向链路的建立同样要经历这样一个建链过程,这不仅增大了时延而且增大了无线信道上的通信量,浪费了宝贵的带宽资源。

发明内容
技术问题本发明旨在提出一种利用多协议标签交换原理在无线网络中建立双向虚电路的方法,该方法可以快速建立双向虚电路,并且只用了相当于传统MPLS建链的一半的开销。如此则可以配合报头压缩算法提高无线网络作为TCP/IP的承载网时的信道利用率和减少时延,为无线网络上的宽带实时业务的传输提供底层保障。
技术方案本发明的目的是提供一种无线网络中的双向虚电路的建链方法。它基于MPLS。但对于MPLS的标签链路建立过程作了一些修改。主要是采用一个流的首个包来触发建链过程,即第一个包按照第三层协议来转发,但同时携带建链信息和标签分配信息,当第一个包传送完毕后我们的标签虚电路就建立起来了,随后的数据包就可以利用建立好的标签转发路径来转发数据包了。其基本方案如下本发明的无线分组网中的帧格式在该网络中比一般的分组网络多了三个字段,即类型字段、标签字段和绑定地址字段,网络中处理这三个字段的位置可称之MPLS层,处于网络层和数据链路层之间。
类型字段占据2bit,用于标记后面的分组是正常的标签转发分组还是标签建链分组。可以赋予三种值
00代表正常转发的带标签的分组,如果一个LSR收到了这样的分组则按照它后面的标签字段的值来查找标签转发表,确定下一跳物理地址(下一跳端口)。
10表示一个绑定源地址的反向链路建链分组,该分组的源地址为会话发起端。
11表示一个绑定目的地址的正向链路建链分组,收到这个分组的路由器将按照第一个标签转发分组,按照第二个标签修改转发表。
01空闲不用!因为对于外网发送过来的需要穿越本网络的分组,并不存在我们的类型字段和标签字段,而处在该位置上的一般是IPV4或者IPV6的类型字段的前两个比特,而不管是IPV4还是IPV6,这两个比特的值都应该是01,所以若路由器收到在该位置上为01的分组,则可以判断为常规不带标签的IP分组。而该路由器一般是入口或出口路由器。
标签字段与类型字段配合使用,当类型为00和11时,此字段是这个分组标签转发的依据,即是入标签。当类型为10时,此字段为反向链路下游分配给上游的绑定源地址的FEC的出标签。
第二标签字段该字段只在类型为11时存在,这时它表示正向链路的下游分配给上游的绑定目的地址的FEC的出标签。
分组头该字段也只有在类型为11时有效,表示需要绑定的一个流的分组头信息。
本发明在无线网络中建立双向虚电路的方法的具体步骤为1、路由器检测是否收到了一个包若没有,则返回步骤1;2、判断数据包的类型如果不认识则丢弃包返回步骤1;如果是原始IP,则继续;若是反向建链包,则跳到步骤6;若是正向建链包,则跳到步骤10;若是正常的打了标签的非建链数据包,则跳到步骤13;3、检查标签转发表,看是否有一个与目的地址一致的标签转发表项,若有则继续,否则跳到步骤5;4、将该IP包的头部(即IP报头,其中含有IP地址等第三层转发需要的信息)剥去,并且在数据前加上类型字段和标签字段,其中类型字段为00,标签字段为步骤3所查到的签转发表项的“出标签”字段的值。然后将新的数据包转发至标签转发表项中“下一个路由器地址”。然后跳至步骤1;5、在原始IP数据包上插入反向建链类型值和分配给下一个节点的反向链路出标签值,然后在自己的标签转发表上添加一条绑定这个数据包的源地址的标签转发表项,表项的入标签字段为此数据包携带的标签字段的值,下一个路由器地址字段为这个数据包传过来的端口号;出标签字段值为空(具体路有表项的结构见图4-图7)。然后利用网络层协议确定的路由发送至下一个路由器,再跳到步骤1;6、检查自己的标签转发表项,是否存在绑定此包源地址的标签转发表项,若存在则继续,否则跳到步骤8;7、修改这条表项,使“入标签”字段不变,而将“出标签”字段替换为这个数据包的标签字段(图2)所携带的值,“下一个路由器地址”字段为刚刚转发这个数据包的路由器。然后跳到步骤9。
8、向标签转发表中添加一条表项,其中“入标签”字段为路由器在空闲标签空间中任意选择的一个,而“出标签”字段是这个数据包的标签字段的值,“下一个路由器地址”字段为刚刚收到数据的端口。
9、用该表项的如标签的值替换掉数据包中的标签字段的值,并转给网络层协议决定的下一个路由器(注意这个路由器是过网络层查路由表所得到的转发依据,而与上面所说的标签转发表中的“下一个路由器地址”字段的值不一样),跳回步骤1;10、检查自己的标签转发表中是否存在“入标签字段”值与收到包的“标签字段”值相同的标签转发表项。若有则继续,若无则跳到步骤1;11、在标签转发表中添加一条表项,其中“出标签”字段为数据包中指定的第二标签字段(图2)的值,而“入标签”字段为路由器在空闲标签空间中任意指定的一个标签。“下一个路由器地址”字段为刚刚转发这个包的路由器的地址;12、用刚刚添加的这个表项的“入标签”字段的值替换数据包中的第二标签字段的值,然后按照MPLS的标签转发策略在标签转发表中寻找“入标签字段”值与收到的数据包中的“标签字段”(图2)的值相等的表项,然后利用该表项转发这个包至下一个路由器。跳回步骤1;
13、查询标签转发表看是否存在“入标签”字段与数据包中的“标签字段”的值相一致的标签转发表项。如存在则继续,否则转至步骤15;14、利用该标签转发表项按照MPLS规则转发该数据包,即用表项中的出标签替换掉数据包中的标签字段然后转发到表项中指定的下一个路由器,跳回步骤1;15、利用网络层选路协议确定的路由转发数据包,然后跳回步骤1。
以上就是本分组网的路由器的工作方式,由以上的讨论可知当一个IP报文的第一个分组来到本网络中时,入口节点就将其封装成一个反向建链数据包,当这个包到达每个路由器时,路由器修改自己的转发表。当这个包顺利通过了本网后,从出节点到入节点的反向链路就建立起来了。这时出节点再利用建立好的标签链路回送一个正向建链数据包,当这个数据包顺利到达入节点的时候,正向标签链路也就建立起来了。那么第一个分组之后的分组就可以利用建立好的全双工标签链路来转发了。
有益效果由技术方案中的分析可知本发明利用MPLS的面向连接特性建立了双向虚电路。摒弃了MPLS中的逐段请求应答方式,利用第一个数据包传输的过程建立标签链路,具有建链速度快,延时小,故障恢复快,丢包率低的特点。可以提高无线网络通信的QOS。并且综合了IP的面向无连接的特性提高了有效性。当我们的网络作为宽带实时业务(如多媒体)的承载网时,配合报头压缩策略,可以进一步提高网络的有效性,减少处理时延。非常适用于具有一定移动性的无线网络,特别适用于条件恶劣、以群移动模式为主的军事无线通信网络。


下面结合附图对本发明进一步说明。
图1MPLS网络实例示意图。其中红色云为一个MPLS网络,黄色的两片云为两个IP网络,黄线为连接线,黄线之间连接的是标签交换路由器。
图2本网络中的帧格式示意图。其中有DL层首部字段,类型,标签,第二标签,分组头。
图3标签建立过程示意图。指示出了一个网络实例作为我们具体实施方式
中的一个实例。其中两边的圆形为IP网络;A至D分别代表标签交换路由器A至标签交换路由器D;数字1至6为各路由器之间连接的端口号。
图4标签交换路由器A的标签转发表。
图5标签交换路由器B的标签转发表。
图6标签交换路由器C的标签转发表。
图7标签交换路由器D的标签转发表。
图8快速建链时路由器的具体工作过程示意图。
具体实施例方式
图2是本网络中的帧格式示意图。其中DL层首部字段本模块不处理;而其后的类型,标签,第二标签和分组头字段含义如下类型字段占据2bit,用于标记后面的分组是正常的标签转发分组还是标签建链分组。可以赋予三种值00代表正常转发的带标签的分组,如果一个LSR收到了这样的分组则按照它后面的标签字段的值来查找标签转发表,确定下一跳物理地址(下一跳端口)。
10表示一个绑定源地址的反向链路建链分组,该分组的源地址为会话发起端。
11表示一个绑定目的地址的正向链路建链分组,收到这个分组的路由器将按照第一个标签转发分组,按照第二个标签修改转发表。
01空闲不用!因为对于外网发送过来的需要穿越本网络的分组,并不存在我们的类型字段和标签字段,而处在该位置上的一般是IPV4或者IPV6的类型字段的前两个比特,而不管是IPV4还是IPV6,这两个比特的值都应该是01,所以若路由器收到在该位置上为01的分组,则可以判断为常规不带标签的IP分组。而该路由器一般是入口或出口路由器。
标签字段与类型字段配合使用,当类型为00和11时,此字段是这个分组标签转发的依据,即是入标签。当类型为10时,此字段为反向链路下游分配给上游的绑定源地址的FEC的出标签。
第二标签字段该字段只在类型为11时存在,这时它表示正向链路的下游分配给上游的绑定目的地址的FEC的出标签。
分组头该字段也只有在类型为11时有效,表示需要绑定的一个流的分组头信息。
本发明在无线网络中建立双向虚电路的方法的具体步骤为步骤1)、路由器检测是否收到了一个包若没有,则返回步骤1;步骤2)、判断数据包的类型如果不认识,则丢弃包返回步骤1;如果是原始IP,则继续;若是反向建链包,则跳到步骤6;若是正向建链包,则跳到步骤10;若是正常的打了标签的非建链数据包,则跳到步骤13;步骤3)、检查标签转发表,看是否有一个与目的地址一致的标签转发表项,若有则继续,否则跳到步骤5;步骤4)、将该IP包的头部即IP报头剥去,其中含有IP地址等第三层转发需要的信息,并且在数据前加上类型字段和标签字段,其中类型字段为00,标签字段为步骤3所查到的签转发表项的“出标签”字段的值,然后将新的数据包转发至标签转发表项中“下一个路由器地址”,然后跳至步骤1;步骤5)、在原始IP数据包上插入反向建链的类型字段,也就是将类型字段赋值为二进制“10”(等价的十进制数为2),和分配给下一个节点的反向链路出标签值,这个值是路由器再当前空闲标签域任选的一个值;然后利用网络层协议确定的路由发送至下一个相邻路由器;修改自己的标签转发表即添加一条绑定这个数据包的源地址的标签转发表项,其“入标签”字段为刚刚选定的值,“下一个路由器地址”字段为刚刚转发这个数据包的路由器,“出标签”字段没有,然后跳到步骤1;步骤6)、检查自己的标签转发表项,是否存在绑定此包源地址的标签转发表项,若存在则继续,否则跳到步骤8;步骤7)、修改这条表项,使“入标签”字段不变,而将“出标签”字段替换为这个数据包的标签字段所携带的值,“下一个路由器地址”字段为刚刚转发这个数据包的路由器,然后跳到步骤9;
步骤8)、向标签转发表中添加一条表项,其中入标签为路由器在空闲标签空间中任意选择的一个,而出标签是这个数据包的标签字段的值,下一跳端口为刚刚收到数据的端口;步骤9)、用该表项的“入标签”字段的值替换掉数据包中的标签字段的值,并将最后得到的数据包转发给网络层协议寻路所得的下一个路由器,这个路由器是过网络层查路由表所得到的转发依据,而与上面所说的标签转发表中的“下一个路由器地址”字段的值不一样,跳回步骤1;步骤10)、检查自己的标签转发表中是否存在绑定该包目的地址的标签转发表项,若有继续,若无则跳到步骤1;步骤11)、在标签转发表中添加一条表项,其中“出标签”字段为数据包中指定的第二标签字段的值,而“入标签”字段为路由器在空闲标签空间中任意指定的一个标签,“下一个路由器地址”字段为刚刚转发这个包的路由器的地址;步骤12)、用刚刚添加的这个表项的“入标签”字段的值替换数据包中的第二标签字段的值,然后按照MPLS的标签转发策略在标签转发表中寻找“入标签字段”值与收到的数据包中的“标签字段”的值相等的表项,然后利用该表项转发这个包至下一个路由器,跳回步骤1;步骤13)、查询标签转发表看是否存在“入标签”字段与数据包中的标签字段的值相一致的标签转发表项,如存在则继续,否则转至步骤15;步骤14)、利用该标签转发表项按照MPLS规则转发该数据包,即用表项中的出标签替换掉数据包中的标签字段然后转发到表项中指定的下一个路由器,跳回步骤1;步骤15)、利用网络层选路协议确定的路由转发数据包,然后跳回步骤1。
链路建立过程我们结合一个网络实例(图3)来说明无线网络中的虚电路的快速建立的
具体实施例方式1、当LSRA收到一个分组则检查其数据链路层后的类型字段。若为00,则代表是带标签的分组,需要查找标签转发表转发至下一个路由器;若为01则代表是一个需要穿越本网的外网IP数据,LSRA就在数据报前端插入2个bit(将值设为10代表反向建链包)的类型字段,并且随机选择一个空闲的标签值L1(8bit)插入到类型字段后面,转发至下一跳路由器LSRB(同时保留分组头部信息,以备后续的第三层转发之需)。以通知LSRB“我要发数据给本分组中的目的地址(在分组头信息里),你以后若有发往这个反向建链包的源地址的数据,请用我给你的标签字段的值作为出标签发给我”。同时建立本地的标签转发表如图4。
图中F1为绑定源地址的转发等价类;L1为LSRA分配给LSRB的出标签,也是LSRA的入标签,以备反向通信应用;由于这个包是由一个非MPLS域发来的,所以“出标签”字段为空,也就是LSRA为这个路径的入节点,反向通信的包将在离开LSRA后不再具有标签转发特性。
2、LSRB收到LSRA发来的分组之后,动作同LSRA,只是当它监测到类型字段的值为10时,则以该分组的标签字段(图2)作为出标签绑定源地址,构造标签转发表如图5,其中的“入标签”字段L2为LSRB在空闲标签空间中任取的值。然后用L2替换刚刚收到的分组的标签字段(图2),利用IP层协议转发至下一个路由器LSRC。LSRB的标签转发表如图5。
3、LSRC的动作如LSRB。
4、LSRD收到LSRC发的分组后,发现自己就是这个分组在本网络的出节点(这可通过MPLS的HELLO机制来发现,后面将详述)。则与LSRC一样修改标签转发表项(如图6),然后剥离类型和标签字段交给第三层转发。并且创建一个正向建链帧(如图2)回发送给LSRC。其中类型字段为11;标签字段为刚刚建立起来的反向链路的出标签L3;第二标签字段部分为LSRD在空闲的标签值中任选的一个标签L4,该标签将分配给LSRC,作为F2对应的标签。LSRD发此帧说明“我准备建立一条绑定到这个正向建链包的源地址的FEC(F2),以后你有发往这个地址的分组就用我的第二标签字段的值作为出标签来转发给我”。
5、LSRC收到LSRD发来的类型为11的帧后,则利用第二标签字段的值作为“出标签”来建立与分组头字段中的原地址相绑定等价转发类F2如图7。并且按照反向建链时建立好的标签转发表项F1转发该分组(即在标签转发表中搜寻“入标签字段”与收到的正向建链包的标签字段(图2)的值相等的标签转发表项)。
6、LSRB的动作与LSRC同。
7、LSRA收到类型为11的帧后,发现自己是这个流的入节点,则按照LSRB的办法建立标签转发表。所不同的是出标签将设为空,因为是入节点。
此时双向标签链路已经建立成功。各路由器可以按照建立好的标签转发表转发其后的分组。同时,其后的分组可以用标签直接替换IP分组头,在出口端再用存储的分组头恢复分组(有些头部信息如校验可能需要重新计算),从而减少了分组在无线网中的开销。如果分组头中某些变化字段对高层应用比较重要(如TTL字段),则这些变化字段可以保留传输,在我们所研究的网络中由于变化字段如TTL均意义不大,因此这些变化字段在设计时均未考虑。
二、邻站维护以及链路故障恢复无线网络中的各站点具有移动性,全网的拓扑是处在变化之中的。所以我们有必要对邻站的可达性进行维护和对由于拓扑变化引起的链路故障进行修复和解决。
1、邻站可达性维护在MPLS网络中,每一个节点周期性的向邻站发送HELLO消息,以确定自己周围的路由器是否可达。同时,HELLO消息里携带一个标志位,标明自己是否支持虚电路建链,每个结点根据HELLO消息建立一个MPLS邻接结点表。若收到邻站的标志位设置的HELLO信息,则代表邻站可达,并且具有MPLS功能(即代表是本网络中的路由器)。邻接点信息表和MPLS邻接点信息表将作为下一步虚电路建链的依据。
2、链路故障及恢复由于随着网络拓扑的变化有些站可能会不可达,因此有可能会出现已经建好的链路因为拓扑的变化产生断链。这时就需要一些链路的恢复策略。
这里采用“重定向”的路径恢复策略[5]。即当需要转发的数据来到这个路由器时,发现标签转发表中的下一个路由器地址(物理地址)不可达时,就将该分组封装成类型为10的建链分组,然后利用第三层转发,以此来建立新的链路。在建链过程中,若LSR中已经存在建链帧欲绑定的FEC的表项,就利用旧的表项的入标签和上游分配的出标签进行重建链并转发,(但下一跳可能会变化)!这对实现MPLS层的组播十分有利,可以快速的建立组播链路树。并且值得注意的是,LSR为每一个标签转发表的表项维护一个计时器,表项每被应用一次就重置计时器,若在超时时间内某个表项仍未被应用,则路由器认为这是一个闲置的流,则删除该表项,这将更加有利于节省标签空间。超时计时器的大小可根据具体网络规模及环境设定。建议比路由更新周期稍大一些,这样可以与拓扑变化频度相一致。
权利要求
1.一种在无线网络中建立双向虚电路的方法,其特征在于该方法的具体步骤为步骤1)、路由器检测是否收到了一个包若没有,则返回步骤1;步骤2)、判断数据包的类型如果不认识,则丢弃包返回步骤1;如果是原始IP,则继续;若是反向建链包,则跳到步骤6;若是正向建链包,则跳到步骤10;若是正常的打了标签的非建链数据包,则跳到步骤13;步骤3)、检查标签转发表,看是否有一个与目的地址一致的标签转发表项,若有则继续,否则跳到步骤5;步骤4)、将该IP包的头部即IP报头剥去,其中含有IP地址等第三层转发需要的信息,并且在数据前加上类型字段和标签字段,其中类型字段为00,标签字段为步骤3所查到的签转发表项的“出标签”字段的值,然后将新的数据包转发至标签转发表项中“下一个路由器地址”,然后跳至步骤1;步骤5)、在原始IP数据包上插入反向建链的类型字段,也就是将类型字段赋值为二进制“10”(等价的十进制数为2),和分配给下一个节点的反向链路出标签值,这个值是路由器再当前空闲标签域任选的一个值;然后利用网络层协议确定的路由发送至下一个相邻路由器;修改自己的标签转发表即添加一条绑定这个数据包的源地址的标签转发表项,其“入标签”字段为刚刚选定的值,“下一个路由器地址”字段为刚刚转发这个数据包的路由器,“出标签”字段没有,然后跳到步骤1;步骤6)、检查自己的标签转发表项,是否存在绑定此包源地址的标签转发表项,若存在则继续,否则跳到步骤8;步骤7)、修改这条表项,使“入标签”字段不变,而将“出标签”字段替换为这个数据包的标签字段所携带的值,“下一个路由器地址”字段为刚刚转发这个数据包的路由器,然后跳到步骤9;步骤8)、向标签转发表中添加一条表项,其中入标签为路由器在空闲标签空间中任意选择的一个,而出标签是这个数据包的标签字段的值,下一跳端口为刚刚收到数据的端口;步骤9)、用该表项的“入标签”字段的值替换掉数据包中的标签字段的值,并将最后得到的数据包转发给网络层协议寻路所得的下一个路由器,这个路由器是过网络层查路由表所得到的转发依据,而与上面所说的标签转发表中的“下一个路由器地址”字段的值不一样,跳回步骤1;步骤10)、检查自己的标签转发表中是否存在绑定该包目的地址的标签转发表项,若有继续,若无则跳到步骤1;步骤11)、在标签转发表中添加一条表项,其中“出标签”字段为数据包中指定的第二标签字段的值,而“入标签”字段为路由器在空闲标签空间中任意指定的一个标签,“下一个路由器地址”字段为刚刚转发这个包的路由器的地址;步骤12)、用刚刚添加的这个表项的“入标签”字段的值替换数据包中的第二标签字段的值,然后按照MPLS的标签转发策略在标签转发表中寻找“入标签字段”值与收到的数据包中的“标签字段”的值相等的表项,然后利用该表项转发这个包至下一个路由器,跳回步骤1;步骤13)、查询标签转发表看是否存在“入标签”字段与数据包中的标签字段的值相一致的标签转发表项,如存在则继续,否则转至步骤15;步骤14)、利用该标签转发表项按照MPLS规则转发该数据包,即用表项中的出标签替换掉数据包中的标签字段然后转发到表项中指定的下一个路由器,跳回步骤1;步骤15)、利用网络层选路协议确定的路由转发数据包,然后跳回步骤1。
全文摘要
无线网络中的双向虚电路的建链方法,它基于多协议标签交换,在外网的IP数据报进入本网以后,就在链路层首部和IP首部之间插入类型标识字段和建链标签字段等表示建链信息的字段。这样在第三层转发的同时各路由器就可以利用这些建链信息来建立正向和反向的标签链路了。本方法采用下游自主为上游分配标签的方法,先建立反向链路,然后再利用建立好的标签链路采用标签转发策略建立正向链路(所以延时和开销又进一步减少了)。这种方法综合了面向连接和无连接各自的优势。具有故障恢复快,丢包率低的特点,非常适用于具有一定移动性的无线网络,特别适用于条件恶劣、以群移动模式为主的军事无线通信网络。
文档编号H04L12/56GK1694431SQ20051003796
公开日2005年11月9日 申请日期2005年3月4日 优先权日2005年3月4日
发明者王海, 牛大伟, 赵文栋 申请人:中国人民解放军理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1