移动数据业务是最具市场前景的电信业务之一,它既能满足各种移动终端用户随时随地访问互联网的需求,又能满足他们之间进行数据和多媒体通信的需求。移动IP是实现移动数据业务的关键技术之一,它支持具有固定IP地址的移动终端在互联网中自由移动,并保持移动过程中通信不间断。
一、移动MPLS原理
基本的MPLS并不支持移动性管理,移动IP和MPLS结合形成的移动MPLS使MPLS网具备了支持IP移动性的能力。目前有两种移动MPLS技术:基本移动MPLS和分级移动MPLS(即H-MPLS)。基本移动MPLS只考虑了IP用户在一个较大范围内移动相对较慢的情况,当无线接入网中因使用微蜂窝而造成IP用户在子网间频繁切换时,切换时延较大,容易引起通信中断。分级移动MPLS克服了基本移动MPLS的缺点,具备微蜂窝移动性管理的能力。
1.基本移动MPLS
在基本移动MPLS机制中,当一个移动主机(MH)进入一个非家乡子网时,会发送一条注册消息给该子网的外地代理(FA),FA把这条注册消息通过正常的IP路由转发给MH的家乡代理(HA),HA收到注册消息的同时得到了MH的转交地址(COA)。COA可以是FA的IP地址,也可以是FA动态分配给MH的一个临时IP地址。然后HA向FA发送标签分发协议(LDP)的标签请求消息,FA则向HA回送LDP的标签映射消息,当标签映射消息到达HA后,HA和FA间的标签交换路径(PLS)就建立了。接着,HA通过查找标签表,找到以MH的家乡地址为转发等价类(FEC)的行,并把该行的出端口和出标签改为HA和FA间LSP所使用的端口和标签值。最后,HA通过其与FA之间已经建立的LSP发送注册应答消息给FA。FA收到注册应答消息后,在其标签表中增加一行,并把收到的标签值和端口值填到该行的入标签域和入端口域。
之后,若有通信节点(CN)向MH发送数据包,数据包会被路由到MH的家乡网,并被HA截获,正如移动IP协议中所描述的一样。作为LSP入口的标签边缘路由器(LER),HA会以收到的数据包中所包含的IP地址为索引,在标签表中查找该数据包的出标签和出端口。根据查找到的出标签和出端口,该数据包被加上相应的标签,并沿着HA和FA之间的LSP以标签交换的方式传送。FA收到数据包后将查找它的标签表(因为FA是该LSP的出口,所以标签表中相应的出标签和出端口为空)。作为LSP出口LER的FA去掉数据包的标签,并把该数据包通过IP层送往MH。
至此,MH就收到了通信节点发送给它的数据包。在基本移动MPLS中,每当MH移动到一个新的MPLS子网时,都要通过新子网的FA向其HA发送注册消息,并在新的FA和HA之间建立一条新的LSP。建立新LSP并将数据传送切换至新LSP所需的时间称为切换时延。如果LSP切换时延较大,通信节点和MH之间的数据通信就会中断,造成数据丢失。为减少切换时延,并保证切换过程中的通信,引入了分级移动MPLS。
2.分级移动MPLS
分级移动MPLS技术假设一个MPLS网被分为多个MPLS域,每个MPLS域中又有多个接入子网。此外,分级移动MPLS还引入了一个新的部件,即外地域代理(FDA),每个MPLS域中有一个FDA。在分级移动MPLS机制中,MH可以根据所接收到的代理广播消息来判断自己处于家乡网还是外地网。若MH认定自己处在外地网中,就会向FA请求一个COA,并发送注册请求消息给FA。FA把注册请求消息转发给本MPLS域的FDA,而不是MH的家乡代理。如果MH是第一次移动到该MPLS域,FDA就向MH的家乡代理转发注册消息。HA得到注册消息并获得FDA的IP地址后,利用LDP向FDA发送标签请求消息。FDA接到标签请求消息后向HA回送标签映射消息,并向MH当前所在MPLS域内子网的FA发送标签请求消息。标签映射消息到达HA后,FDA与HA间的LSP就建立了。同样,FA向FDA回送标签映射消息,当标签映射消息到达FDA后,FDA和FA间的LSP也建立了。然后,HA会在标签表中找到以MH家乡地址为FEC的行,并把出端口和出标签改为FDA和HA之间LSP的相应值。最后,HA沿着其至FDA的LSP发送注册应答消息给FDA,FDA也会沿着FDA至FA的LSP转发该注册应答消息。FA收到注册应答消息后,在它的标签表中加入新的一行,并在入标签域和入端口域中填入所收到注册应答消息的标签值和端口号。与基本移动MPLS一样,在分级移动MPLS机制中,若通信节点向位于外地网的MH发送数据包,HA就会截获这些数据包。在分级移动MPLS网中,HA查找它的标签表,找出该数据包所对应的出标签和出端口。根据查找到的结果,数据包被HA加上标签沿着HA和FDA间的LSP发送到FDA。FDA收到该数据包后会继续根据入标签值查找到相应的出标签值,即沿着FDA和FA之间的LSP把数据包转发到FA。FA收到数据包后,会查询它的标签表(因为FA是该LSP的出口,标签表中的出端口和出标签值都为空)。最后,FA去掉数据包上的标签后,通过IP层把数据包转发给MH,于是MH就收到通信节点发给它的数据。
若MH在同一个MPLS域中从一个子网切换到另一个子网,它将向新子网的FA请求新的COA,并向新子网的FA发送注册请求消息。新子网的FA会把该注册请求消息转发给FDA。收到注册请求消息后,FDA向新子网的FA发送标签请求消息,然后新子网的FA向FDA发送标签映射消息,这样在新子网的FA和FDA之间就建立了一条新的LSP,但是HA和FDA之间的LSP并没有改变。显然,相对于基本移动MPLS,分级移动MPLS不需要在HA和新子网的FA之间建立一条全新的LSP,而只是在FDA和新子网的FA之间建立一条新的LSP,从而大大减小了切换时延。切换过程中,MH也可以通过发送绑定更新消息向原先的FA通知自己新的COA,旧子网FA可以对MH的新绑定关系进行缓存。如果FDA使用过时的标签表向MH发送数据包,旧子网FA收到数据包后将与新的FA建立LSP,并通过该LSP向新FA发送数据包,从而避免了切换过程中数据包被丢失。
在分级移动MPLS机制中,MH在同一个MPLS域中的移动对其HA来说是透明的。这样一方面减小了切换时延,另一方面减少了整个网络中切换所需的消息交互,从而节省了网络资源。
二、移动MPLS的关键技术
根据移动MPLS的原理,实现移动MPLS应解决三个问题:切换时延和通信中断问题、“三角路由”问题、QoS问题。 1.快速切换技术 快速切换技术的目标是尽可能减少切换时延并保证在切换过程中通信不中断(即在切换过程中没有数据包丢失)。由于切换过程中需要在MH、新FA、新FDA以及HA之间进行重新注册,所以注册机制越简单,切换时延越小。同时,MH和HA之间建立新PLS的时间越短,切换过程中数据包丢失的可能性就越小。
(1)切换前建立LSP机制 这种快速切换机制的基本思想是在MH移动到新的外地子网或外地域之前建立新的LSP。在分级移动MPLS中,若MH在相邻子网中移动,则在MH移动到相邻子网之前就在相邻子网内建立起LSP;若MH在相邻域间移动,则在MH移动到相邻域之前就在相邻域中建立起LSP。此机制中引入了主动LSP和被动LSP,主动LSP是指从FDA到MH当前所在外地子网FA的正用于传送数据的LSP,被动LSP是指从FDA到MH当前所在外地子网所有相邻子网的FA的尚未使用的LSP。 如果MH知道它将要访问的子网,就可以使用FA发现协议得到相邻子网内FA的IP地址,然后向这些FA发送带有访问时间的访问请求消息,这些FA收到访问请求消息后就可与FDA建立一条被动LSP。访问时间是指MH估计的从当前子网移动至某子网所需的时间。如果MH在访问时间超时前没有发送任何访问请求刷新消息,也没有移动到该子网,标签表中相应的被动LSP条目就会被删除。MH移动到一个新的子网后,将向原来子网的FA发送一条更新消息,FA再将其发送到FDA,这时中间路由器会将它们所保存的LSP状态从主动LSP改为被动LSP。同时,MH将向新FA发送一条更新消息,该FA收到后也将其发送到FDA,中间路由器将它们所保存的??前建立LSP的机制中,切换发生时仅需通过一条消息就可完成LSP的切换,大大减小了MH从一个子网移动到另一个子网的切换时延。该机制可以扩展到MH在不同MPLS域间切换的情况。
(2)基于组播的快速切换机制 这种快速切换机制是在FDA和当前MH所在子网的FA之间,以及所有与该子网相邻的子网的FA之间均建立LSP,这些LSP形成一个组。当FDA收到MH进行切换的请求后,将所有来自通信节点的数据包通过事先建立好的LSP向所有相邻子网的FA进行组播。这样当MH移动到新的子网时,就可以立即收到来自通信节点的数据包。切换过程完成后,网络也会根据切换过程中的信息进行调整,登记新使用的LSP,删除不需要的LSP。
2.“三角路由”问题解决方案 在移动MPLS中,从通信节点发往MH的数据包首先被发送到HA,然后再由HA沿LSP转发到MH,这就是所谓的“三角路由”问题。因为数据包的转发不是通过最优的LSP送往MH,而必须通过HA进行转发,既浪费网络资源,又导致较高的传输时延。如果通信节点能够获得MH当前所在子网的COA,并在通信节点和FA之间建立LSP,数据包就不必经过HA,可以直接通过通信节点和FA之间的LSP进行转发,从而解决了“三角路由”问题。
(1)COA缓存机制
COA缓存机制是在通信节点中对MH所在的一个或多个子网的COA进行缓存。当通信节点有数据要发往MH时,首先查找COA缓存表中与MH相对应的项,如果找到与MH绑定的COA,就用该COA在通信节点和MH当前所在子网的FA之间建立LSP,并通过通信节点与FA之间的LSP发送数据包,而无需通过HA转发。
开始时通信节点中不存在与MH相关的COA缓存,送往MH的数据包还是要通过HA转发。但是根据MH在子网间移动时所进行的注册过程,HA中含有MH目前所在子网的COA信息。所以,当数据包到达HA后,HA会查找MH当前所在子网的COA,并通过HA和FA之间已经建立的LSP转发数据。同时,HA根据收到的数据包找出数据发送方的地址和数据目的地址所对应的COA,并向数据的发送方通信节点发送MH及其COA的绑定信息。通信节点收到该绑定信息后将其放入缓存,并利用该绑定信息与MH当前所在子网的FA间直接建立LSP。此后通信节点发往MH的数据包就不再需要HA转发,而直接通过通信节点和FA之间的LSP发送。通信节点所缓存的有关MH的COA信息可以定时或通过MH移动时HA向通信节点发送的更新消息进行刷新,以保证COA信息的准确性。
(2)基于特征数据(profile)的机制
基于用户行为的机制是通过对MH移动特性的预测来解决“三角路由”问题的。在这种机制下,每个MH都对应着一组描述用户行为信息的特征数据,这些特征数据包括用户的移动特点、旅行计划和可能的通信需求等。当通信节点需要向MH发送数据时,首先设法获得MH的移动特征数据,并据此推断出MH所在子网的COA,然后通过COA在通信节点和FA之间建立LSP,最后通过LSP发送数据。获得MH特征数据的机制包括分布式和集中式两种。通信节点获得MH的特征数据后,可推断出MH当前所在子网的COA,并据此建立与FA间的LSP。根据MH特征数据推断出的COA信息可能不够精确,但可通过分级移动MPLS机制进行完善。
更多内容请看PCdog.com--MPLS路由协议 MPLS协议 MPLS应用开发专题
