Mobile IP通讯协议架构

  Mobile IP的主要目的为可以使得主机使用一个固定的IP地址,和一个暂时地址来连接到网际网络。对于使用者而言,并不会感觉到暂时地址的存在,因此原先所作到一半的事情就不会被干扰而中断。以下我们将简单介绍Mobile IP的运作原理。

  Mobile IP网络系统架构

  Mobile IP网络架构与各子系统如下图所示,当中:

  Mobile Host:

  在网际网络上,一台主机如果常常改变其对网络的接点(point of attachment),称为Mobile Host。接点的改变可能发生在网络正在通信中的状态。但是通常假设接点的变化时间比通讯协议反应的时间来得慢。

  Home Network:

  对Mobile Host有管理权的网络,对网际网络上的其它主机而言,Mobile Host不论其目前的地址为何,"似乎"是接在此处。

  Home Address:

  和其它固定主机的地址一样,此地址是固定的,由Home Network的管理者提供给Mobile Host。当传送资料给Mobile Host时,只须知道此地址,不须知道Mobile Host目前的暂时地址。

  Home Agent :

  在Home Network上的某一台主机,能够使得Mobile Host对网络上的其它主机而言,是随时都可以存取的。

  Foreign Network :

  对任一Mobile Host而言,任一个除了Home Network之外,允许其接上的网络,就称为Foreign Network。

  Care-of-Address:

  一个表示当Mobile Host不在Home Network时,在网络上接点的IP地址。

  Foreign Agent:

  在Foreign Network上的主机,能使封包传送到Care-of-Address。

  Register:

  Mobile Host告知Home Agent其Care-of-Address。

  基本工作原理

  Mobile IP是由IETF所制定的RFC 2002, "IP Mobility Support" 作为标准。工作原理其实很简单,但是细节就很复杂了。Mobile IP只用了三个组件─Mobile Host,Home Agent 和Foreign Agent。Mobile IP的好处就是它只需要这三个组件,不须更动网络的其它部分,例如DNS。

当Mobile Host接上网络时,必须先判断其位置是在Home Network或是Foreign Network。Mobile Host可以经由”收听”局部的广播,来达成这件事,或是主动送出讯息给Agent。只要将现有的RFC 1256-Internet Control Message Protocol (ICMP) Router Discovery通讯协议作扩充,就可以达到这个目的。

  如果Mobile Host收到由Home Agent的广播,表示它是在Home Network,那幺只要经由原本的IP 选择路径的方法,就可以了。但是如果是在Foreign Network,那幺它可以取得一个Care-of-Address(一个在Foreign Network上的IP address),然后向它的Home Agent注册(Register)。Care-of-Address的取得方法有两种,一种是由Foreign Agent指定,另一种则是透过DHCP通讯协议,动态取得一个IP地址,这种状况时Mobile Host就是自己的Foreign Agent。

  接下来,当Mobile Host和它的Home Agent达成联系之后,考虑以下的动作:当有一台网际网络上的主机,要传送封包给Mobile Host时,所有传送到Mobile Host的封包,都会由它的Home Agent所收到。在收到后,Home Agent将此封包加上Foreign Agent的地址,然后传送到Foreign Agent。这个加上Foreign Agent的技术称为Encapsulate。Encapsulate有两种方法,分别为RFC 2003 (IP Encapsulation within IP) 和RFC 2004 (Minimal Encapsulation within IP)。这个传送的动作则称为Tunneling。

  还有另一个相关的问题,就是安全性。Home Agent必须要使用某种方法来认证某一个Mobile Host,不然很有可能被有心人士冒充Mobile Host而取得资料封包。在RFC 2002中,也规定了关于安全性的规范。

  由以上所述,可以知道Mobile IP并没有使用什幺特殊的技巧,因此可以和现有的IPv4通讯协议完全兼容。以下,将更深入的观察Mobile IP的三个主要过程,就是如何取得、注册、和传送封包到Care-of-Address的方法。

  取得Care-of-Address (Discovering Care-of-Address)

  一个Mobile Host取得Care-of-Address的方法,是根据现有的RFC 1256-Internet Control Message Protocol (ICMP) Router Discovery通讯协议作扩充。这个通讯协议原本是用来告诉一个主机它的default routers,但是在此协议上再加上有关于Care-of-Address的信息。

  Home Agent和Foreign Agent每隔一段时间就会作”广播”这个动作(broadcast),发出有关于Care-of-Address的封包给LAN上的每个主机,如果LAN上有Mobile Host,就可以取得Care-of-Address。这幺作的原因是如果Mobile Host现在不是在Home Network时,只能收到广播的封包。当然,如果Mobile Host现在是在Home Network时,Home Network可以不提供任何的Care-of-Address。当RFC 1256的Router Advertisement再加上Care-of-Address时,这个讯息称为"Agent Advertisement"。

  只靠广播这个动作时,有时候Mobile Host会等不及,这时Mobile Host也可以主动的broadcast

或者是multicast一个封包,来侦测现在是否有Home Agent 或Foreign Agent的存在。还有一个情形,就是Mobile Host已经隔一段时间都没有收到任何的Agent Advertisement,就可以假设它现在已经不在这个Foreign Agent的管辖范围。这时,Mobile Host也可以主动的隔一段时间,就送出一个封包。这个封包是使用RFC 1256的Router Solicitation再加上一些信息,例如Mobile Host需要这个Care-of-Address多久的时间,这整个讯息称为"Agent Solicitation"。当Agent收到这个封包时,就必须马上送出Agent Advertisement 的讯息出去。

  作完以上动作,这时Mobile Host就已经取得了Care-of-Address。但是Home Agent还不知道这个Mobile Host目前的地址,所以还要有以下的步骤:

  注册Care-of-Address (Registering Care-of-Address)

  参考下图,可以看到注册的过程如下:Mobile Host向Foreign Agent要求服务(这是上一步─Discovering所作的),然后由Foreign Agent向Home Agent要求服务。因为在目前,Mobile Host虽然取得了一个Care-of-Address,但是还不能使用它,要等到Home Agent同意后才可使用。Home Agent会告诉Foreign Agent它同意或是不同意,然后Foreign Agent再把这个结果广播给Mobile Host。

  注册这个动作包括了三个重要的元素:Home address,Care-of-Address,以及Registration Lifetime,这三个元素又合称为Binding。当注册成功时,就产生了Binding。而且Binding是有期限的,超过了这个期限后就要重新注册,重新取得Binding,称为Binding Update。

  Binding Update这种动作会影响到Home Agent的Routing Table,因此是很危险的。所以为了确保网络的安全性,必须再注册时作认证Authentication 。Mobile IP规定了Home Agent和Mobile Host都要有相同的一组”key”,相同才表示认证通过。这组key是使用Message Digest 5 – MD5 (RFC 1321)编码,为128-bit。但是光使用一组key,还是有可能被有心人士所”猜出来”─replay attack。所以光一组key还不够,另外还再注册时加上一个特别的identification field,在每次认证时它的值都不相同。这个identification field产生的方法主要是使用时间作为注记,因为每次注册的时间都不相同。而Home Agent和Mobile Host必须要能够互相对时才行。

接下来,就是如何真正的来传送资料。

  Tunneling to the Care-of-Address

  要怎幺把传送到Home Network的封包,传送到Foreign Network给Mobile Host? 这里使用了Encapsulate 这个技术。Encapsulate有两种方法,一种是IP-within-IP(RFC 2003),另一种是Minimal Encapsulation(RFC 2004),下图所示的是前一种。由Home Agent在收到封包后,在封包前加上一个新的标头,但是原本的标头维持不变。这样子,就可以使用原本IP层传送封包的方法,而不须更动路径上其它计算机的设定。Foreign Agent在收到封包之后,再把新加上去的标头删除,传送给Mobile Host。这样子就完成了Mobile IP的所有动作

  如果是Mobile Host想要传送封包给网络上的主机时,则可以依照原本的IP择路方式来传。如果是网络上的主机想要传送封包给Mobile Host时,其资料传送途径则需经过Home Agent与Foreign Agent。由于此两种传送资料路径 的不相同,会造成传送路径是三角形(Triangular Routing of Data,见下图) 的情形。这种路径虽然是有效的路径,但是却没什幺效率。当Mobile Host改变其位置时,在Mobile Host向Home Agent注册前,所有的封包会送到旧的路径而遗失。一直到注册成功后,产生了一个新的Binding,这时所有的封包就会依循新的路径来传送。

来源:wlanchina


微信扫描分享本文到朋友圈
扫码关注5G通信官方公众号,免费领取以下5G精品资料
  • 1、回复“YD5GAI”免费领取《中国移动:5G网络AI应用典型场景技术解决方案白皮书
  • 2、回复“5G6G”免费领取《5G_6G毫米波测试技术白皮书-2022_03-21
  • 3、回复“YD6G”免费领取《中国移动:6G至简无线接入网白皮书
  • 4、回复“LTBPS”免费领取《《中国联通5G终端白皮书》
  • 5、回复“ZGDX”免费领取《中国电信5GNTN技术白皮书
  • 6、回复“TXSB”免费领取《通信设备安装工程施工工艺图解
  • 7、回复“YDSL”免费领取《中国移动算力并网白皮书
  • 8、回复“5GX3”免费领取《R1623501-g605G的系统架构1
  • 本周热点本月热点

     

      最热通信招聘

      最新招聘信息

    最新技术文章

    最新论坛贴子