《移动IP和三角路由问题》由会员分享,可在线阅读,更多相关《移动IP和三角路由问题(78页珍藏版)》请在金锄头文库上搜索。
1、中科院计算所计算机网络课程中科院计算所计算机网络课程第第6 6单元单元 移动移动IPIP和三角路由问题和三角路由问题 2005年12月7日1授课教师:鲁士文(CAS/ICT) 授课地点:中关村第第6 6单元单元 移动移动IPIP和三角路由问题和三角路由问题 目录目录6.1 移动主机的路由选择移动主机的路由选择6.2 移动移动IP概要概要6.2.1 主题主题6.2.2 必要条件和设计目标必要条件和设计目标6.2.3 功能实体及其驻留位置功能实体及其驻留位置6.2.4 概要工作过程概要工作过程6.3 代理发现代理发现6.4 移动检测和移动登记移动检测和移动登记6.4.1 登记功能登记功能6.4.2
2、 登记协议登记协议6.4.3 登记操作登记操作6.5路由操作和三角路由问题路由操作和三角路由问题2005年12月7日2授课教师:鲁士文(CAS/ICT) 授课地点:中关村第第6 6单元单元 移动移动IPIP和三角路由问题和三角路由问题n今天,数以百万计的人持有可携带的计算机,他们今天,数以百万计的人持有可携带的计算机,他们希望在所处的任何地方都能够阅读他们的电子邮件希望在所处的任何地方都能够阅读他们的电子邮件以及访问他们通常使用的文件系统。这些以及访问他们通常使用的文件系统。这些移动主机移动主机引入了一种引入了一种新的复杂性新的复杂性:为了把一个分组路由到主为了把一个分组路由到主机,网络首先必
3、须找到它的位置机,网络首先必须找到它的位置。n下图示出了网络设计典型使用的模型。在这个模型下图示出了网络设计典型使用的模型。在这个模型中,有一个由路由器和主机构成的广域网,连接到中,有一个由路由器和主机构成的广域网,连接到该广域网的有局域网、城域网和无线单元区。该广域网的有局域网、城域网和无线单元区。 2005年12月7日3授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.1 移动主机的路由选择移动主机的路由选择 2005年12月7日4授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.1 移动主机的路由选择移动主机的路由选择n从不移动的主机被称着是静止的。它们通过铜导线从不移动的主
4、机被称着是静止的。它们通过铜导线或光纤连接到网络。或光纤连接到网络。迁移主机迁移主机基本上是静止主机,基本上是静止主机,它们不时地从一个固定场点移动到另一个固定场点,它们不时地从一个固定场点移动到另一个固定场点,但它们仅当物理地连接到网络时才会使用网络。但它们仅当物理地连接到网络时才会使用网络。漫漫游主机游主机实际上是在运动的过程中计算,并且在移动实际上是在运动的过程中计算,并且在移动时仍然维持网络连接和连续使用网络。人们把迁移时仍然维持网络连接和连续使用网络。人们把迁移主机和漫游主机统称为主机和漫游主机统称为移动主机移动主机,即,即离开家乡仍然离开家乡仍然要连接到网络的主机要连接到网络的主机
5、。2005年12月7日5授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.1 移动主机的路由选择移动主机的路由选择n所有的主机都被假定有一个不会改变的永久的家乡位置,主所有的主机都被假定有一个不会改变的永久的家乡位置,主机还有一个可以用以确定它的家乡位置的永久的机还有一个可以用以确定它的家乡位置的永久的家乡地址家乡地址。在具有移动主机的系统中,在具有移动主机的系统中,路由选择的目标路由选择的目标是,无论它们当是,无论它们当前是在家乡,还是在外地,都可以用它们的家乡地址给它们前是在家乡,还是在外地,都可以用它们的家乡地址给它们发送分组,而且这些分组总是能够被有效地传送给它们。发送分组,而且
6、这些分组总是能够被有效地传送给它们。n我们可以把上图中的模型在地理上划分出许多个小的单元,我们可以把上图中的模型在地理上划分出许多个小的单元,并把每个单元都称着一个并把每个单元都称着一个区区,典型地是一个局域网络或一个,典型地是一个局域网络或一个无线单元。每个区有一个或多个无线单元。每个区有一个或多个外部代理外部代理,它们是,它们是保持跟踪保持跟踪访问该区的所有移动主机访问该区的所有移动主机的进程。此外,每个区有一个的进程。此外,每个区有一个家乡家乡代理代理,它,它保持跟踪其家乡在这个区但当前已外出访问另一个保持跟踪其家乡在这个区但当前已外出访问另一个区的那些主机区的那些主机。2005年12月
7、7日6授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.1 移动主机的路由选择移动主机的路由选择n当一台新的主机进入一个区(例如通过连接到一个当一台新的主机进入一个区(例如通过连接到一个LAN插座,或者是漫游插座,或者是漫游进入一个无线单元)时,该计算机必须将自己向那里的外部代理进入一个无线单元)时,该计算机必须将自己向那里的外部代理登记登记。登。登记过程典型地是按下列方式进行:记过程典型地是按下列方式进行:(1)每个)每个外部代理外部代理周期性地广播一个分组,宣告它的存在和它的地址。一个周期性地广播一个分组,宣告它的存在和它的地址。一个新到达的新到达的移动主机移动主机可以等待一个这样的
8、报文。但如果在稍等片刻之后发现可以等待一个这样的报文。但如果在稍等片刻之后发现无报文到达,移动主机可以广播一个分组,说无报文到达,移动主机可以广播一个分组,说“这里有移动代理吗?这里有移动代理吗?”(2)移动主机)移动主机跟外部代理登记跟外部代理登记,给出它的家乡地址、当前的数据链路层地址,给出它的家乡地址、当前的数据链路层地址和某些安全性信息。和某些安全性信息。(3)外部代理)外部代理联系移动主机的家乡代理联系移动主机的家乡代理,说,说“你的一个主机在我这里。你的一个主机在我这里。”这这个从外部代理发往家乡代理的报文含有外部代理的网络地址。它也包含一个从外部代理发往家乡代理的报文含有外部代理
9、的网络地址。它也包含一些安全性信息,让家乡代理相信该移动主机确实在那里。些安全性信息,让家乡代理相信该移动主机确实在那里。(4)家乡代理家乡代理检查带有时间印记的安全性信息,证明这是在刚过去的几秒钟检查带有时间印记的安全性信息,证明这是在刚过去的几秒钟内产生的。如果通过了检查,它就告诉外部代理继续进行。内产生的。如果通过了检查,它就告诉外部代理继续进行。(5)当)当外部代理外部代理从家乡代理那里得到肯定的确认应答时,它就在表中做一些从家乡代理那里得到肯定的确认应答时,它就在表中做一些登记项,并且通知移动主机已经登记项,并且通知移动主机已经登记好了登记好了。2005年12月7日7授课教师:鲁士文
10、(CAS/ICT) 授课地点:中关村6.1 移动主机的路由选择移动主机的路由选择n在理想的情况下,当一个主机离开一个区域的时候,它在理想的情况下,当一个主机离开一个区域的时候,它也应该被宣告允许做也应该被宣告允许做离开登记离开登记。但是有许多用户在他们。但是有许多用户在他们结束工作时会突然关闭他们的计算机。结束工作时会突然关闭他们的计算机。n当一个分组被发往一个移动主机时,它会被当一个分组被发往一个移动主机时,它会被路由路由到该主到该主机的家乡机的家乡LAN,LAN,那是由其公布的地址决定了的。如下图所那是由其公布的地址决定了的。如下图所示,假定在示,假定在西安西安的一个的一个发送方发送方把一
11、个分组发送给在把一个分组发送给在上海上海的一个主机。发送给移动主机的分组在上海的家乡的一个主机。发送给移动主机的分组在上海的家乡LANLAN被那里的被那里的家乡代理家乡代理截获。然后家乡代理查询该移动主机截获。然后家乡代理查询该移动主机的新位置,发现为该移动主机服务的的新位置,发现为该移动主机服务的外部代理外部代理的地址是的地址是在在成都成都。2005年12月7日8授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.1 移动主机的路由选择移动主机的路由选择 2005年12月7日9授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.1 移动主机的路由选择移动主机的路由选择n接着,接着,家
12、乡代理家乡代理做两件事情。首先,它把收到的分组封装到做两件事情。首先,它把收到的分组封装到一个一个外包装分组外包装分组的载荷段,并把外包装分组的载荷段,并把外包装分组发送给外部代理发送给外部代理(参见上图中示出的步骤(参见上图中示出的步骤2 2)。通常人们把这一机制称作)。通常人们把这一机制称作隧道隧道。外部代理在收到外包装分组后,从载荷域中取出外部代理在收到外包装分组后,从载荷域中取出原先的分组原先的分组,并用并用数据链路幀数据链路幀发送给移动主机。发送给移动主机。n家乡代理做的第二件事是家乡代理做的第二件事是告诉发送方告诉发送方,以后再给移动主机发,以后再给移动主机发送分组不用发到它的家乡
13、地址,而代之以把它隧道封装后显送分组不用发到它的家乡地址,而代之以把它隧道封装后显式地发给它当前的外部代理。就这样,式地发给它当前的外部代理。就这样,随后的分组可以通过随后的分组可以通过外部代理直接前往移动主机当前所在的位置外部代理直接前往移动主机当前所在的位置,完全旁路家乡,完全旁路家乡LANLAN的位置。的位置。 2005年12月7日10授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2 移动移动IP概要概要n许多许多Internet用户都有可携带的计算机,并且希望在远方的用户都有可携带的计算机,并且希望在远方的Internet场点时甚至在旅途中仍然能够连接到场点时甚至在旅途中仍然
14、能够连接到Internet。不。不幸的是,幸的是,IP的寻址系统使得这项工作的寻址系统使得这项工作远非像说起来那么容易远非像说起来那么容易。n真正的弊病在寻址机制本身。每个真正的弊病在寻址机制本身。每个IP地址都包含网络号和主地址都包含网络号和主机号。例如,考虑具有机号。例如,考虑具有IP地址地址160.80.40.20/16的一台机器。的一台机器。168.80给出了网络号,给出了网络号,40.20是主机号。在全世界的路由器是主机号。在全世界的路由器都有都有路由表路由表,告诉使用告诉使用哪条线路哪条线路到达网络到达网络168.80。每当有一。每当有一个带有个带有168.80.xx.yy形式的目
15、的形式的目的IP地址的分组到来时,它就地址的分组到来时,它就被被转发转发到那条线路。到那条线路。2005年12月7日11授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2 移动移动IP概要概要n如果具有那个地址的机器突然被携带到某个远方场点,如果具有那个地址的机器突然被携带到某个远方场点,那么发送给它的那么发送给它的分组分组将继续被将继续被路由到它的家乡路由到它的家乡LAN(或路由器)。该机器的所有者将再也收不到电子邮(或路由器)。该机器的所有者将再也收不到电子邮件等信息。给该机器件等信息。给该机器分配一个对应新位置的新的分配一个对应新位置的新的IP地地址的做法是址的做法是没有吸引力没
16、有吸引力的的,因为必须把这种改变通知,因为必须把这种改变通知大量的人、程序和数据库。大量的人、程序和数据库。n另一个方法是让路由器另一个方法是让路由器使用全部的使用全部的IP地址做路由选择地址做路由选择,而不仅仅是网络。然而,这一策略将需要每个路由器而不仅仅是网络。然而,这一策略将需要每个路由器有数以百万计的登记项,对于有数以百万计的登记项,对于Internet而言,而言,代价太代价太大大了。了。2005年12月7日12授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2 移动移动IP概要概要n当人们开始需要把他们的笔记本计算机无论在什么地方都可当人们开始需要把他们的笔记本计算机无论在什
17、么地方都可以连接到以连接到Internet的时候,的时候,IETF就成立了一个工作组来寻就成立了一个工作组来寻求解决方案。该工作组很快就制定了在任何解决方案中都需求解决方案。该工作组很快就制定了在任何解决方案中都需要要考虑的若干个目标考虑的若干个目标,它们主要包括:,它们主要包括:(1)每个移动主机必须在任何地方都能够使用它的家乡每个移动主机必须在任何地方都能够使用它的家乡IP地地址;址;(2)不允许改变固定主机的软件;不允许改变固定主机的软件;(3)不允许改变路由器软件和路由表;不允许改变路由器软件和路由表;(4)发给移动主机的大多数分组都不应该绕道行走;发给移动主机的大多数分组都不应该绕道
18、行走;(5)当移动主机呆在家乡时不应该有额外的开销。当移动主机呆在家乡时不应该有额外的开销。2005年12月7日13授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2 移动移动IP概要概要n所选择的解决方案跟我们在前面叙述的移动主机的路由选择相同所选择的解决方案跟我们在前面叙述的移动主机的路由选择相同。当。当有有一个分组到达该用户的家乡一个分组到达该用户的家乡LANLAN时,它进入连接到该时,它进入连接到该LANLAN的某个路由器。的某个路由器。路由器用通常的方式尝试定位该主机,例如通过路由器用通常的方式尝试定位该主机,例如通过广播一个广播一个ARPARP分组分组询问:询问:“160.
19、80.40.20160.80.40.20的以太网地址是什么?的以太网地址是什么?”此时,此时,家乡代理通过给出它自家乡代理通过给出它自己的以太网地址己的以太网地址来应答该查询。然后,路由器就把前往来应答该查询。然后,路由器就把前往160.80.40.20160.80.40.20的的分组发给家乡代理分组发给家乡代理。家乡代理再把收到的。家乡代理再把收到的IPIP分组隧道传送给关照地址分组隧道传送给关照地址。具体的做法是把收到的分组封装在具体的做法是把收到的分组封装在隧道隧道IPIP分组的载荷域中,并把隧道分分组的载荷域中,并把隧道分组的组的目标目标IPIP地址指定成外部代理的地址指定成外部代理的
20、IPIP地址地址。接下来,外部代理。接下来,外部代理解封隧道解封隧道IPIP分组分组,取出原先的,取出原先的IPIP分组,并把它投递给移动主机的数据链路地址。分组,并把它投递给移动主机的数据链路地址。此外,家乡代理还此外,家乡代理还把关照地址发给源发送方把关照地址发给源发送方,使得后续的,使得后续的IPIP分组可以由分组可以由源直接隧道传送给外部代理。显然,这一解决方案满足上述所有必须条源直接隧道传送给外部代理。显然,这一解决方案满足上述所有必须条件。件。2005年12月7日14授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2 移动移动IP概要概要n还有一个小的细节也许值得一提。在移
21、动主机移动的时候,也许路由器已还有一个小的细节也许值得一提。在移动主机移动的时候,也许路由器已经在它的缓存中有了该主机的以太网地址(但很快就会变得无效)。将那经在它的缓存中有了该主机的以太网地址(但很快就会变得无效)。将那个以太网地址用家乡代理的以太网地址取代的工作可以通过一个称作个以太网地址用家乡代理的以太网地址取代的工作可以通过一个称作无故无故ARPARP的小技巧来完成。移动主机可以给路由器发一个的小技巧来完成。移动主机可以给路由器发一个未经邀请的未经邀请的ARPARP应答报应答报文文,让它,让它用家乡代理的以太网地址替换在缓冲区中关于即将离开的移动主用家乡代理的以太网地址替换在缓冲区中关
22、于即将离开的移动主机的特别登记项机的特别登记项。但该移动主机后来返回家乡的时候可以使用同样的技巧。但该移动主机后来返回家乡的时候可以使用同样的技巧再次更新路由器的缓冲区。再次更新路由器的缓冲区。nIETFIETF对于移动主机的解决方案还解决了若干其它的问题。例如,对于移动主机的解决方案还解决了若干其它的问题。例如,怎样找到怎样找到代理?代理?答案是让每个答案是让每个代理定期地广播代理定期地广播其地址和它愿意提供的服务类型(家其地址和它愿意提供的服务类型(家乡、外部或二者兼有的代理)。当一个移动主机到达某处时,它可以监听乡、外部或二者兼有的代理)。当一个移动主机到达某处时,它可以监听这些称作通告
23、的广播。这些称作通告的广播。另一种做法是它自己广播一个分组另一种做法是它自己广播一个分组,宣告自己的到,宣告自己的到来,希望本地的外部代理给以应答。来,希望本地的外部代理给以应答。2005年12月7日15授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2 移动移动IP概要概要n另一个问题是另一个问题是如何处置那些不礼貌的移动主机如何处置那些不礼貌的移动主机,它们不说再见,它们不说再见就离开了。答案是就离开了。答案是让相关的登记项仅在一个固定长度的时间内让相关的登记项仅在一个固定长度的时间内有效有效。如果登记项没有被定期地刷新,就发生超时事件,外部。如果登记项没有被定期地刷新,就发生超时
24、事件,外部代理可以清除相关的表项。代理可以清除相关的表项。n还有一个还有一个安全性问题安全性问题。当家乡代理收到一个报文,请求它把所。当家乡代理收到一个报文,请求它把所有发给张三的分组转发给某个有发给张三的分组转发给某个 IP地址时,它最好不要急于这地址时,它最好不要急于这样做,除非能够证明张三确实是这个请求的源发方,以防止某样做,除非能够证明张三确实是这个请求的源发方,以防止某个动机不良的人假扮张三的身份。可以将个动机不良的人假扮张三的身份。可以将加密的身份验证协议加密的身份验证协议用于这一目的。用于这一目的。2005年12月7日16授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2
25、.1 主题主题n移动移动IPIP是在全球是在全球InternetInternet上支持移动性的解决方案上支持移动性的解决方案,希望它是可扩展的,希望它是可扩展的,强健的,安全的,允许节点在改变所连接的链路时强健的,安全的,允许节点在改变所连接的链路时仍仍能进行所有正在进行能进行所有正在进行的通信。特别地,移动的通信。特别地,移动IPIP提供把提供把IPIP分组路由到移动节点的机制,该机制分组路由到移动节点的机制,该机制允允许移动节点使用它们的永久许移动节点使用它们的永久IPIP地址,但可以连接到任何场点的链路地址,但可以连接到任何场点的链路。n当一个源计算机要把一个分组发送到目的地计算机时,它
26、不知道也不介意当一个源计算机要把一个分组发送到目的地计算机时,它不知道也不介意目的地计算机当前处在哪个位置,它只想把分组投递给正确的目标计算机。目的地计算机当前处在哪个位置,它只想把分组投递给正确的目标计算机。这是这是OSIOSI第第3 3层即层即网络层的功能网络层的功能。网络层负责动态地选择一条从分组的源到。网络层负责动态地选择一条从分组的源到最终目的地的一条通路。在最终目的地的一条通路。在InternetInternet中网络层协议是中网络层协议是互连网协议互连网协议,即,即IPIP。2005年12月7日17授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.1 主题主题n在一个复
27、杂的网络中移动分组需要一个或多个路由协议。路在一个复杂的网络中移动分组需要一个或多个路由协议。路由器使用由器使用路由协议路由协议交换关于交换关于InternetInternet上各种各样的目的地和上各种各样的目的地和链路的位置信息。路由协议的例子包括链路的位置信息。路由协议的例子包括OSPFOSPF( (开放的最短通路开放的最短通路优先协议优先协议) )、RIPRIP(路由信息协议)和(路由信息协议)和BGPBGP(边界网关协议)。(边界网关协议)。n移动移动IPIP是是InternetInternet解决节点移动性的网络层方案。这就意味解决节点移动性的网络层方案。这就意味着移动着移动IPIP
28、需要在适当的节点建立路由表,使得在移动主机没需要在适当的节点建立路由表,使得在移动主机没有连接到家乡链路的情况下还能够把有连接到家乡链路的情况下还能够把IPIP分组发送给它们。事分组发送给它们。事实上,实上,我们可以把移动我们可以把移动IPIP看成是一种具有非常特别的目的的看成是一种具有非常特别的目的的路由协议路由协议。移动移动IPIP的目的是允许把的目的是允许把IPIP分组路由到有可能非常分组路由到有可能非常迅速地改变位置的移动节点。迅速地改变位置的移动节点。2005年12月7日18授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.1 主题主题n作为一个网络层协议,作为一个网络层协
29、议,移动移动IP完全独立于它在其上运行的媒体完全独立于它在其上运行的媒体。使用移动。使用移动IP的一个移动节点从一种媒体移动到另一种媒体时不会丢失连接性。例如,的一个移动节点从一种媒体移动到另一种媒体时不会丢失连接性。例如,移动移动IP允许一台笔记本计算机从一个有线以太网断连,然后再接到一个无允许一台笔记本计算机从一个有线以太网断连,然后再接到一个无线线LAN。我们使用术语。我们使用术语异构移动性异构移动性表示移动节点可以在不同的媒体类型之表示移动节点可以在不同的媒体类型之间移动还能够继续通信的能力。间移动还能够继续通信的能力。n当然,移动当然,移动IP也允许移动节点从一条网络链路移动到在不同
30、位置的具有相也允许移动节点从一条网络链路移动到在不同位置的具有相同类型的媒体的另一条链路。相应地,我们把这种能力称作同类型的媒体的另一条链路。相应地,我们把这种能力称作同构移动性同构移动性。nCDPD(蜂窝数字分组数据网,它是在北美模拟蜂窝电话系统中未被占用的蜂窝数字分组数据网,它是在北美模拟蜂窝电话系统中未被占用的无线频道上发送无线频道上发送IP分组分组)和和802.11仅提供仅提供同构移动性同构移动性,它们都允许在各自,它们都允许在各自的网络中移动,不可以在不同媒体的网络之间移动。的网络中移动,不可以在不同媒体的网络之间移动。移动移动IP的独特性在于的独特性在于不仅提供同构移动性,而且也提
31、供异构移动性不仅提供同构移动性,而且也提供异构移动性。2005年12月7日19授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.2 必要条件和设计目标必要条件和设计目标n移动移动IPIP设计的必要条件如下:设计的必要条件如下:(1 1)移动节点在改变了它对移动节点在改变了它对InternetInternet的链路层连接点之后还能够跟其它节点的链路层连接点之后还能够跟其它节点通信通信。在当前的在当前的InternetInternet上采用的基于网络前缀的路由机制不能够把分组投递到上采用的基于网络前缀的路由机制不能够把分组投递到没有连接到其家乡链路的节点。移动没有连接到其家乡链路的节点。
32、移动IPIP的特点就是要允许节点在可能连接的特点就是要允许节点在可能连接到任何链路上的情况下还能够通信。到任何链路上的情况下还能够通信。(2 2)移动节点必须能够仅使用它的家乡永久)移动节点必须能够仅使用它的家乡永久IPIP地址通信,而不管它当前对地址通信,而不管它当前对InternetInternet的链路层连接点在哪里的链路层连接点在哪里。如果允许移动节点在其移动后改变如果允许移动节点在其移动后改变IPIP地址,那会迫使它中止在老的链路上地址,那会迫使它中止在老的链路上进行的所有通信(特别是接收发给老地址的信息),并在移动到新的链路进行的所有通信(特别是接收发给老地址的信息),并在移动到新
33、的链路上重新启动通信。而且,跟一个因移动而改变了地址的节点建立联系是困上重新启动通信。而且,跟一个因移动而改变了地址的节点建立联系是困难的。因此,这个必要条件难的。因此,这个必要条件排除了任何需要改变移动节点的排除了任何需要改变移动节点的IPIP地址的解决地址的解决方案方案。另外,一些网络服务在软件执照和访问权限方面是基于。另外,一些网络服务在软件执照和访问权限方面是基于IPIP地址,这地址,这也需要移动节点不管是否移动仍保持它的也需要移动节点不管是否移动仍保持它的IPIP地址不变。地址不变。2005年12月7日20授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.2 必要条件和设计
34、目标必要条件和设计目标n移动移动IPIP设计的必要条件(续):设计的必要条件(续):(3 3)移动节点必须能够跟其它还没有实现移动移动节点必须能够跟其它还没有实现移动IPIP移动性功能的计算机通移动性功能的计算机通信信。 移动移动IPIP需要不改变现有的固定主机和路由器的协议,不能指望已经大需要不改变现有的固定主机和路由器的协议,不能指望已经大量安装的量安装的IPv4IPv4主机和路由器可以升级支持移动性功能。因此,主机和路由器可以升级支持移动性功能。因此,需要移需要移动动IPIP的实现限于移动主机本身以及少量代表它们提供特别路由服务功的实现限于移动主机本身以及少量代表它们提供特别路由服务功能
35、的节点能的节点。(4 4)除了那些在除了那些在InternetInternet上已经暴露的对固定节点的安全威胁之外,移上已经暴露的对固定节点的安全威胁之外,移动节点还应能够防止因实现移动性功能而引起的任何新的安全威胁。动节点还应能够防止因实现移动性功能而引起的任何新的安全威胁。 移动计算意味着新的安全威胁,移动安全性必须考虑到这些威胁。移动计算意味着新的安全威胁,移动安全性必须考虑到这些威胁。特别地,移动特别地,移动IPIP的设计必须阻止拒绝服务类攻击。如果对于移动节点的设计必须阻止拒绝服务类攻击。如果对于移动节点报告它当前的所在位置的报文没有身份验证,这类攻击是可能的。报告它当前的所在位置的
36、报文没有身份验证,这类攻击是可能的。2005年12月7日21授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.2 必要条件和设计目标必要条件和设计目标n笔记本计算机使得计算不局限于在桌面进行,但如果仅连接到有线网络仍笔记本计算机使得计算不局限于在桌面进行,但如果仅连接到有线网络仍然限制了可以使用网络的时间和地点。一些无线网络允许计算机在任何时然限制了可以使用网络的时间和地点。一些无线网络允许计算机在任何时间和任何地点进行通信。然而许多无线网络是昂贵的,或者是低速的。间和任何地点进行通信。然而许多无线网络是昂贵的,或者是低速的。n路由协议需要在网络的各个节点之间传输路由协议需要在网络的
37、各个节点之间传输路由更新信息路由更新信息。为了使得移动。为了使得移动IPIP适合在广大范围的无线链路上使用,适合在广大范围的无线链路上使用,一个设计目标就是要使得这些更新的一个设计目标就是要使得这些更新的数量和频度尽可能地小数量和频度尽可能地小。n另一个设计目标是使得它尽可能另一个设计目标是使得它尽可能简单简单,以便,以便易于移动节点软件的实现易于移动节点软件的实现。这。这样可以增加潜在的能够使用移动样可以增加潜在的能够使用移动IPIP的节点的数量。除了全功能的笔记本之的节点的数量。除了全功能的笔记本之外,这一目标对于像是手机、掌上电脑和其它个人随身设备这类存储器和外,这一目标对于像是手机、掌
38、上电脑和其它个人随身设备这类存储器和处理能力受限的装置尤为重要。处理能力受限的装置尤为重要。n最后,在最后,在InternetInternet中,中,IPv4IPv4地址地址是短缺的,因此移动是短缺的,因此移动IPIP的的另一个设计目标另一个设计目标是节约使用地址的数量是节约使用地址的数量。在移动。在移动IPIP的解决方案中,不宜让移动节点使用多的解决方案中,不宜让移动节点使用多个地址,不宜为移动节点准备大的地址池,除非绝对需要。个地址,不宜为移动节点准备大的地址池,除非绝对需要。2005年12月7日22授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.3 功能实体及其驻留位置功能实
39、体及其驻留位置n移动移动IPIP定义了三个必须定义了三个必须实现移动性协议的功能实体实现移动性协议的功能实体:(1 1)移动节点移动节点 该节点可以把对该节点可以把对InternetInternet的连接从一条链路改变的连接从一条链路改变到另一条链路,同时保持正在进行的任何通信,并且仅使用到另一条链路,同时保持正在进行的任何通信,并且仅使用它的永久家乡它的永久家乡IPIP地址。地址。(2 2)家乡代理家乡代理 该代理是该代理是跟移动节点的家乡链路有一个接口的路跟移动节点的家乡链路有一个接口的路由器由器,它当移动节点改变其连接的链路时,保持,它当移动节点改变其连接的链路时,保持被告知被告知移动移
40、动节点的当前位置,即关照地址;节点的当前位置,即关照地址; 在一些情况下,还要在一些情况下,还要通告通告对移动节点的家乡地址的网络前缀对移动节点的家乡地址的网络前缀的可达性,从而引来发给移动节点家乡地址的的可达性,从而引来发给移动节点家乡地址的IPIP分组;分组; 截获截获发给移动节点的家乡地址的发给移动节点的家乡地址的IPIP分组,并把它们分组,并把它们隧道隧道传送传送到移动节点的当前位置,即关照地址。到移动节点的当前位置,即关照地址。2005年12月7日23授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.3 功能实体及其驻留位置功能实体及其驻留位置n实现移动性协议的功能实体(续
41、):实现移动性协议的功能实体(续):(3 3)外部代理外部代理 该代理是该代理是在移动节点的外部链路上的在移动节点的外部链路上的一个路由器一个路由器,它辅助移动节点,它辅助移动节点通知通知家乡代理它当前家乡代理它当前的关照地址;的关照地址;提供提供一个关照地址,一个关照地址,解封解封由家乡代理由家乡代理隧道传输给移动节点的分组,并隧道传输给移动节点的分组,并递交递交给移动节点;给移动节点;为连接到这条外部链路的移动节点发送的分组担当为连接到这条外部链路的移动节点发送的分组担当缺省路由器缺省路由器的角色。的角色。 下下图图示出了这些实体以及它们之间的关系。示出了这些实体以及它们之间的关系。200
42、5年12月7日24授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.3 功能实体及其驻留位置功能实体及其驻留位置 2005年12月7日25授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.3 功能实体及其驻留位置功能实体及其驻留位置n如下如下图图所示,所示,隧道隧道是发给移动节点的是发给移动节点的IPIP分组分组行走的一段通路行走的一段通路,此时它被分装在,此时它被分装在第二个第二个IPIP分组分组的载荷部分。为了把一个分组投递给移的载荷部分。为了把一个分组投递给移动节点,家乡代理把它隧道动节点,家乡代理把它隧道传送到外部代理传送到外部代理。2005年12月7日26授课教师
43、:鲁士文(CAS/ICT) 授课地点:中关村6.2.3 功能实体及其驻留位置功能实体及其驻留位置 2005年12月7日27授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.3 功能实体及其驻留位置功能实体及其驻留位置n移动节点的移动节点的家乡地址家乡地址跟移动节点的家乡代理紧密相关,也跟跟移动节点的家乡代理紧密相关,也跟它的家乡链路紧密相关。特别地,移动节点的家乡地址的网它的家乡链路紧密相关。特别地,移动节点的家乡地址的网络前缀定义了它的家乡链路。也就是说,络前缀定义了它的家乡链路。也就是说,分配给家乡链路的分配给家乡链路的网络前缀和移动节点的家乡地址的网络前缀相同网络前缀和移动节点
44、的家乡地址的网络前缀相同。移动节点。移动节点的家乡代理在移动节点的家乡链路上至少有一个接口。的家乡代理在移动节点的家乡链路上至少有一个接口。移动移动节点的家乡地址是由移动节点发送的所有分组的节点的家乡地址是由移动节点发送的所有分组的IPIP源地址源地址,也是所有发送给移动节点的分组的也是所有发送给移动节点的分组的IPIP目的地址。目的地址。这就需要把这就需要把移动节点的家乡地址放到移动节点的家乡地址放到域名系统域名系统对应它的登记项的对应它的登记项的“IPIP地地址址”域,以便其它节点通过移动节点的主机名可以查到移动域,以便其它节点通过移动节点的主机名可以查到移动节点的家乡地址。节点的家乡地址
45、。2005年12月7日28授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.3 功能实体及其驻留位置功能实体及其驻留位置n关照地址关照地址跟一个正在访问外部链路的移动节点相关联。关照地址具有以跟一个正在访问外部链路的移动节点相关联。关照地址具有以下属性:下属性:(1 1)关照地址专用于移动节点当前正在访问的)关照地址专用于移动节点当前正在访问的外部链路外部链路;(2 2)每当刚从一条外部链路)每当刚从一条外部链路移动移动到另一条外部链路时,移动节点的关照到另一条外部链路时,移动节点的关照地址一般都要地址一般都要改变改变;()发送给关照地址的分组可以使用()发送给关照地址的分组可以使用
46、现有的现有的InternetInternet路由路由机制传送,也机制传送,也就是说,为把分组传送给关照地址,不需要移动就是说,为把分组传送给关照地址,不需要移动IPIP特有的过程;特有的过程;(4 4)使用关照地址作为家乡代理到移动节点方向上的)使用关照地址作为家乡代理到移动节点方向上的隧道的出口点隧道的出口点;(5 5)在移动节点跟其它节点的会话中,关照地址几乎)在移动节点跟其它节点的会话中,关照地址几乎从不用作从不用作IPIP源地址源地址或目的地址或目的地址。特别地,当其它节点查询移动节点的主机名时,。特别地,当其它节点查询移动节点的主机名时,域名服务域名服务器器永远不会返回关照地址。永远
47、不会返回关照地址。2005年12月7日29授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.4 概要工作过程概要工作过程n粗略地讲,粗略地讲,移动移动IPIP的的工作情况工作情况如下:如下:(1 1)家乡代理和外部代理在它们所连接的链路上定期地组播或)家乡代理和外部代理在它们所连接的链路上定期地组播或广播称作广播称作代理通告代理通告的移动的移动IPIP报文。报文。(2 2)移动节点倾听这些代理通告,并检查它们的内容以确定当)移动节点倾听这些代理通告,并检查它们的内容以确定当前是连接在家乡链路还是外部链路上。当连接到家乡链路时,前是连接在家乡链路还是外部链路上。当连接到家乡链路时,移动
48、节点的操作跟固定节点相同,不移动节点的操作跟固定节点相同,不使使用其它移动用其它移动IPIP的功能。的功能。下面的步骤假定移动节点下面的步骤假定移动节点发现发现自己是连接在外部链路上。自己是连接在外部链路上。(3 3)连接到外部链路的移动节点得到一个)连接到外部链路的移动节点得到一个关照地址关照地址。实际上,。实际上,从外部代理的代理通告报文的某个域就可以读取外部代理关从外部代理的代理通告报文的某个域就可以读取外部代理关照地址。照地址。2005年12月7日30授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.2.4 概要工作过程概要工作过程n移动移动IPIP的工作情况(续):的工作情况(
49、续):(4 4)移动节点使用移动)移动节点使用移动IPIP定义的一个报文交换过程定义的一个报文交换过程向家乡代理报告和登记向家乡代理报告和登记关照地址关照地址。在这个登记过程中,移动节点需要请求外部代理提供服务。在这个登记过程中,移动节点需要请求外部代理提供服务。为了防止远程的拒绝服务类攻击,登记报文需要身份验证。为了防止远程的拒绝服务类攻击,登记报文需要身份验证。(5 5)家乡代理或者在家乡链路上的其它路由器)家乡代理或者在家乡链路上的其它路由器通告通告移动节点的家乡地址的移动节点的家乡地址的网络前缀的可达性网络前缀的可达性,从而可以引入发给移动节点的家乡地址的那些,从而可以引入发给移动节点
50、的家乡地址的那些IPIP分分组。家乡代理采用诸如代理组。家乡代理采用诸如代理ARPARP这样的机制截获这些这样的机制截获这些IPIP分组,然后把它们分组,然后把它们隧道传送给移动节点的关照地址。隧道传送给移动节点的关照地址。(6 6)外部代理从隧道中)外部代理从隧道中抽出原先的抽出原先的IPIP分组分组,然后,然后投递投递给移动节点。给移动节点。()在相反的方向上,()在相反的方向上,由移动节点发送的分组直接路由到目的地址由移动节点发送的分组直接路由到目的地址,不需,不需要使用隧道。外部代理为移动节点产生的所有要使用隧道。外部代理为移动节点产生的所有IPIP分组担当路由器的角色。分组担当路由器
51、的角色。2005年12月7日31授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.3 代理发现代理发现n移动节点通过代理移动节点通过代理发现过程发现过程* *确定它确定它当前当前是连接在家乡链路还是外部链路是连接在家乡链路还是外部链路上;上;* *发现它已从一条外部链路发现它已从一条外部链路移动移动到另一条外部到另一条外部链路;链路;* *当连接到外部链路时得到当连接到外部链路时得到关照地址关照地址。移动节点、外部代理和家乡代理互相合作完移动节点、外部代理和家乡代理互相合作完成上述功能。成上述功能。2005年12月7日32授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.3 代理发
52、现代理发现n代理发现包括代理发现包括两个简单的报文两个简单的报文。第一个是代理通告报文第一个是代理通告报文,家乡代理或外,家乡代理或外部代理使用它们向移动节点宣告自己的能力。在担当家乡代理或外部代部代理使用它们向移动节点宣告自己的能力。在担当家乡代理或外部代理的链路上,代理以组播或广播的形式定期发送代理通告报文。这就使理的链路上,代理以组播或广播的形式定期发送代理通告报文。这就使得连接到链路的移动节点能够确定是否有代理存在;如果有,他们的得连接到链路的移动节点能够确定是否有代理存在;如果有,他们的IPIP地址和功能是什么。地址和功能是什么。n第二个是第二个是代理征求报文代理征求报文,不想等待到
53、下一周期才接收代理通告的移动节,不想等待到下一周期才接收代理通告的移动节点就可以发送这种报文。代理征求的唯一作用就是点就可以发送这种报文。代理征求的唯一作用就是使得在链路上的代理使得在链路上的代理立即发送一个代理通告立即发送一个代理通告。在代理发送通告的频率太低、移动节点改变链。在代理发送通告的频率太低、移动节点改变链路迅速的情况下,这类报文是有用的。路迅速的情况下,这类报文是有用的。n移动移动IPIP定义的定义的代理征求报文格式跟代理征求报文格式跟ICMPICMP路由器征求报文相同路由器征求报文相同,而且必须,而且必须将封装该将封装该ICMPICMP报文的报文的IPIP分组的分组的TTL(T
54、TL(生存时间生存时间) )域置域置1 1。下图示出了代理征。下图示出了代理征求报文的格式。求报文的格式。 2005年12月7日33授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.3 代理发现代理发现 2005年12月7日34授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.3 代理发现代理发现n家乡代理或外部代理在收到一个代理征求报文后,家乡代理或外部代理在收到一个代理征求报文后,立即发送一个代理通告报文予以响应。立即发送一个代理通告报文予以响应。类型值类型值1010表示该表示该ICMPICMP报文是一个代理或路由器征求报文。报文是一个代理或路由器征求报文。n代理通告报文通过把
55、一个或多个由移动代理通告报文通过把一个或多个由移动IPIP定义的扩定义的扩展项附加到展项附加到ICMPICMP路由器通告报文构成路由器通告报文构成。如下图所。如下图所示,作为代理通告,必须在报文中包括示,作为代理通告,必须在报文中包括移动性代移动性代理通告扩展项理通告扩展项。图中所示的前缀长度扩展项是可。图中所示的前缀长度扩展项是可选的。选的。2005年12月7日35授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.3 代理发现代理发现 2005年12月7日36授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.3 代理发现代理发现 2005年12月7日37授课教师:鲁士文(CAS/
56、ICT) 授课地点:中关村6.3 代理发现代理发现n在移动在移动IPIP中的中的扩展项扩展项都具有同样的格式,由都具有同样的格式,由3 3个域构个域构成:成:(1 1)类型域类型域,区别不同种类的扩展;,区别不同种类的扩展;(2 2)长度域长度域,表示在数据域中以字节计的长度;,表示在数据域中以字节计的长度;(3 3)数据域数据域,包含从源发送到目的地的实际信息。,包含从源发送到目的地的实际信息。n唯一的例外(特殊扩展项)是唯一的例外(特殊扩展项)是1 1个字节的填充扩展项,个字节的填充扩展项,它有类型域,但没有长度和数据域,它的功能是附它有类型域,但没有长度和数据域,它的功能是附加到奇数长度
57、的报文,使其变成偶数长度的报文。加到奇数长度的报文,使其变成偶数长度的报文。2005年12月7日38授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.3 代理发现代理发现n移动节点可以移动节点可以根据接收到的代理通告的根据接收到的代理通告的IPIP分组头确定它是连接到家乡链分组头确定它是连接到家乡链路,还是连接到外部链路路,还是连接到外部链路,这只要察看代理通告的,这只要察看代理通告的IPIP分组的源地址就可分组的源地址就可以做出判断。以做出判断。n类型域的值等于类型域的值等于9 9的的ICMPICMP报文是一个通告(路由器)。把报文是一个通告(路由器)。把代码域的值置成代码域的值置成1
58、616可以说明这是一个可以说明这是一个移动移动IPIP代理通告代理通告,区别于一般的路由器通告。对于,区别于一般的路由器通告。对于一般的路由器通告,此域的值是一般的路由器通告,此域的值是0 0。n检验和域总是用于检查收到的报文是否有错。检验和域总是用于检查收到的报文是否有错。生命期域生命期域表示代理发送通表示代理发送通告的告的频度频度。地址数目域和地址项大小域分别说明列出了多少个。地址数目域和地址项大小域分别说明列出了多少个路由器地路由器地址址/ /优先级对优先级对和每对包含多少个字节。就和每对包含多少个字节。就IPIP地址而言,地址项大小等于地址而言,地址项大小等于8 8(4 4字节地址加上
59、字节地址加上4 4字节优先级)。字节优先级)。IPv6IPv6对于一个接口可以有多个地址。对于一个接口可以有多个地址。2005年12月7日39授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.3 代理发现代理发现n如果如果IP长度域的值比根据地址数目域或地址项大小域计算的值还要大,长度域的值比根据地址数目域或地址项大小域计算的值还要大,那么收到的报文的多余的部分就被解释成那么收到的报文的多余的部分就被解释成扩展项扩展项。如果有一个这样的扩。如果有一个这样的扩展是移动性代理通告扩展,那么所收到的报文就是展是移动性代理通告扩展,那么所收到的报文就是代理通告代理通告。否则所收。否则所收到的报文
60、就是到的报文就是ICMP路由器通告路由器通告。n 地址数目域、地址项大小域、路由器地址域和优先级域不但用于代理发地址数目域、地址项大小域、路由器地址域和优先级域不但用于代理发现过程,而且用于路由选择完成更多的功能。现过程,而且用于路由选择完成更多的功能。n移动代理通告扩展移动代理通告扩展的类型段表示扩展的种类,的类型段表示扩展的种类,值值16表示移动代理通告扩表示移动代理通告扩展项展项。移动代理通告扩展中的移动代理通告扩展中的F和和H分别表示通告的发送方是外部代理分别表示通告的发送方是外部代理(F)和家乡代理()和家乡代理(H)。)。B位位表示外部代理太忙(表示外部代理太忙(B)不能接受更多的
61、)不能接受更多的登记。移动代理应该选择另一个外部代理。登记。移动代理应该选择另一个外部代理。2005年12月7日40授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.3 代理发现代理发现nR位位告诉移动节点,不管使用什么样的关照地址,它都必须通告诉移动节点,不管使用什么样的关照地址,它都必须通过一个外部代理做过一个外部代理做登记登记(R)。)。M位位置置1表示家乡代理使用表示家乡代理使用最最小小(M)头开销(简化的头开销(简化的IP内外封装头,除去冗余的头信息)内外封装头,除去冗余的头信息)的封装,的封装,G位位置置1表示家乡代理使用表示家乡代理使用类属类属(G)封装(支持其它封装(支持
62、其它网络层协议对网络层协议对IP的封装);它们都不采用通常的的封装);它们都不采用通常的IP封装封装IP的的封装方式。由于最小封装不能完全支持封装方式。由于最小封装不能完全支持IP分组分割,一般不分组分割,一般不推荐使用。推荐使用。V位位置置1表示外部代理可以支持表示外部代理可以支持Van Jacobson头头压缩压缩(发送方对(发送方对TCP和和IP分组头压缩,接收方解压缩分组头压缩,接收方解压缩,主要用主要用于那些支持这种功能的链路,可使用低带宽链路)。于那些支持这种功能的链路,可使用低带宽链路)。2005年12月7日41授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4 移动检测
63、和移动登记移动检测和移动登记n移动节点有两种方法可以确定它已从一条链路移动节点有两种方法可以确定它已从一条链路移动移动到了到了另一条链路。另一条链路。第一种方法第一种方法利用代理通告利用代理通告的的ICMPICMP路由器通路由器通告部分的告部分的生命期域生命期域。该域告诉移动节点多长时间后会听。该域告诉移动节点多长时间后会听到来自同一代理的另一个通告。如果一个移动节点向一到来自同一代理的另一个通告。如果一个移动节点向一个外部代理做了登记,并且在指定的时间期内没有收到个外部代理做了登记,并且在指定的时间期内没有收到该代理的通告,那么移动节点就可以认为它自己已经移该代理的通告,那么移动节点就可以认
64、为它自己已经移到了一个不同的链路,或者它的代理出了故障。不管是到了一个不同的链路,或者它的代理出了故障。不管是什么情况,该移动节点都应该向下一个它从其接收代理什么情况,该移动节点都应该向下一个它从其接收代理通告的外部代理登记。如果没有这样的通告到来,就要通告的外部代理登记。如果没有这样的通告到来,就要发送一个代理征求报文。发送一个代理征求报文。2005年12月7日42授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4 移动检测和移动登记移动检测和移动登记n第二种移动检测方法第二种移动检测方法使用使用网络前缀网络前缀。我们假定移动节。我们假定移动节点在某条链路上向一个外部代理做了登记,并
65、且记录点在某条链路上向一个外部代理做了登记,并且记录了从其发现外部代理的代理通告报文。现在我们假定了从其发现外部代理的代理通告报文。现在我们假定移动节点接收到来自第二个外部代理的代理通告,它移动节点接收到来自第二个外部代理的代理通告,它的通告有一个不同的的通告有一个不同的IP源地址。因为在同一条链路上源地址。因为在同一条链路上可能有多个外部代理,移动节点必须确定,上述两个可能有多个外部代理,移动节点必须确定,上述两个不同的报文是在同一条链路上接收到的,还是在不同不同的报文是在同一条链路上接收到的,还是在不同的链路上接收到的。如果它们是在同一条链路上接收的链路上接收到的。如果它们是在同一条链路上
66、接收到的,那么移动节点用不着向新的外部代理做登记。到的,那么移动节点用不着向新的外部代理做登记。否则,移动节点已经改变了位置,应该向在否则,移动节点已经改变了位置,应该向在新的链路新的链路上的一个外部代理登记。上的一个外部代理登记。2005年12月7日43授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4 移动检测和移动登记移动检测和移动登记n为了确定两个为了确定两个通告通告是否是在同一条链路是否是在同一条链路上收到的,移动节点分别上收到的,移动节点分别计算它们的网计算它们的网络前缀络前缀。仅当两个代理通告报文都包含。仅当两个代理通告报文都包含前缀长度扩展项时,才有可能执行这种前缀长度
67、扩展项时,才有可能执行这种计算。如果两个通告的计算。如果两个通告的网络前缀不同网络前缀不同,那么移动节点就得出两个通告是在那么移动节点就得出两个通告是在不同不同的链路的链路上收到的结论。否则,移动节点上收到的结论。否则,移动节点就认为它们是在同一条链路上收到的。就认为它们是在同一条链路上收到的。2005年12月7日44授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4.1 登记功能登记功能n每当检测到对网络的连接点从一条每当检测到对网络的连接点从一条链路改变链路改变到另一条链路时,它就要做到另一条链路时,它就要做登记登记。而且,这些登记仅在特定的时间期内是有效的,即使没有移动,。而且,
68、这些登记仅在特定的时间期内是有效的,即使没有移动,当现有的当现有的登记期满登记期满时,移动节点也要时,移动节点也要重新登记重新登记。n在移动在移动IPIP登记过程登记过程中,中,移动节点移动节点:(1 1)请求在外部链路上的外部代理的路由服务;请求在外部链路上的外部代理的路由服务;(2 2)把它当前的关照地址告知家乡代理;把它当前的关照地址告知家乡代理;(3 3)在登记期满时续登;在登记期满时续登;(4 4)回到家乡链路时回到家乡链路时解除解除登记。登记。n当移动节点发现它连接到一个当移动节点发现它连接到一个外部链路外部链路时,它取得一个时,它取得一个关照地址关照地址,并且,并且向它的家乡代理
69、向它的家乡代理登记登记这个关照地址。它在这样做的时候,可以这个关照地址。它在这样做的时候,可以通过一个通过一个外部代理执行相关的步骤外部代理执行相关的步骤。n移动节点、外部代理和家乡代理移动节点、外部代理和家乡代理合作合作完成登记功能。完成登记功能。2005年12月7日45授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4.1 登记功能登记功能n移动移动IPIP登记需要交换登记需要交换两种报文两种报文,即,即登记请求和登记应答登记请求和登记应答。登记报文用登记报文用UDPUDP数据报的数据域运载数据报的数据域运载,UDPUDP数据报再放到数据报再放到IPIP分组的载荷域中传送。登记过分
70、组的载荷域中传送。登记过程在移动节点和它的家乡代理之间交换登记请求和登记应答,并涉及一程在移动节点和它的家乡代理之间交换登记请求和登记应答,并涉及一个外部代理。具体地讲,有下列两个常用的交互操作:个外部代理。具体地讲,有下列两个常用的交互操作:(1 1)移动节点在)移动节点在外部链路外部链路上使用外部代理的关照地址进行登记。上使用外部代理的关照地址进行登记。登记请求登记请求报文从移动节点传到外部代理,再从外部代理传到家乡代理报文从移动节点传到外部代理,再从外部代理传到家乡代理。登记应答登记应答报文从家乡代理传到外部代理,再从外部代理传到移动节点报文从家乡代理传到外部代理,再从外部代理传到移动节
71、点。(2 2)移动节点返回)移动节点返回家乡链路家乡链路时执行解除登记操作。时执行解除登记操作。移动节点向家乡代理移动节点向家乡代理发送解除登记请求发送解除登记请求,家乡代理向移动节点传送解除登记应答家乡代理向移动节点传送解除登记应答。2005年12月7日46授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4.2 登记协议登记协议n移动节点发送登记请求报文开始登记过程。外部代理在收到移动节点发送登记请求报文开始登记过程。外部代理在收到该报文后,如果没有异议,就把它中继给移动节点的家乡代该报文后,如果没有异议,就把它中继给移动节点的家乡代理。家乡代理在接收到登记请求后,给移动节点发送一个
72、登理。家乡代理在接收到登记请求后,给移动节点发送一个登记应答,告诉移动节点登记是否成功。记应答,告诉移动节点登记是否成功。n下图示出了下图示出了登记请求报文,包括登记请求报文,包括IPIP头、头、UDPUDP头和扩展项头和扩展项。再下。再下一个图示出,一个图示出,登记应答报文跟登记请求报文仅有的差别是报登记应答报文跟登记请求报文仅有的差别是报文的固定长度部分文的固定长度部分。这两个报文都需要包含。这两个报文都需要包含“移动移动- -家乡家乡”身身份验证扩展项,其目的是证明报文确实是从所标出的发送方份验证扩展项,其目的是证明报文确实是从所标出的发送方发来的。发来的。2005年12月7日47授课教
73、师:鲁士文(CAS/ICT) 授课地点:中关村6.4.2 登记协议登记协议 2005年12月7日48授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4.2 登记协议登记协议 2005年12月7日49授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4.2 登记协议登记协议 2005年12月7日50授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4.2 登记协议登记协议n家乡代理必须包含一个表,把移动节点的家乡地址家乡代理必须包含一个表,把移动节点的家乡地址映射到它当前的关照地址。我们把这个表中的一个映射到它当前的关照地址。我们把这个表中的一个项称作项称作绑定项绑定项,因此
74、,因此登记的主要目的是在家乡代理登记的主要目的是在家乡代理那里建立、修改或删除一个移动节点的绑定项那里建立、修改或删除一个移动节点的绑定项。值。值得注意的是,绑定只在一个指定的生命期内是有效得注意的是,绑定只在一个指定的生命期内是有效的,如果该生命期已接近期满,那么移动节点必须的,如果该生命期已接近期满,那么移动节点必须重新登记。重新登记。2005年12月7日51授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4.2 登记协议登记协议n对于对于IP分组头,关键问题是如何填写源分组头,关键问题是如何填写源IP地址和目的地址和目的IP地地址。址。就登记请求而言,源就登记请求而言,源IP地址
75、是家乡地址,目的地址是家乡地址,目的IP地址地址是外部代理地址。在家乡链路上解除登记的时候,源是外部代理地址。在家乡链路上解除登记的时候,源IP地地址是家乡地址,目的址是家乡地址,目的IP地址是家乡代理地址地址是家乡代理地址。n对于对于UDP数据包头,在做登记请求的时候,移动节点可选数据包头,在做登记请求的时候,移动节点可选用任意值作为源端口号域的值,并总是用用任意值作为源端口号域的值,并总是用434作为目的端口作为目的端口号号。一般情况下,外部代理和家乡代理在。一般情况下,外部代理和家乡代理在发送登记应答时要发送登记应答时要将这两个端口号反过来填写将这两个端口号反过来填写。UDP长度域提供长
76、度域提供UDP头及其头及其后面数据的以字节计的总长度。检验和域允许接收节点确定后面数据的以字节计的总长度。检验和域允许接收节点确定是否有传输差错发生。是否有传输差错发生。2005年12月7日52授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4.2 登记协议登记协议n在有关移动在有关移动IP的项中,类型域表示的项中,类型域表示报文类型报文类型,登记请求用登记请求用1表示,登表示,登记应答用记应答用3表示表示。在登记请求报文中,移动节点把。在登记请求报文中,移动节点把S位位置置1,表示它请,表示它请求家乡代理为指定的关照地址建立或删除一个绑定,并且求家乡代理为指定的关照地址建立或删除一个
77、绑定,并且不影响其它不影响其它现有的绑定现有的绑定(在有的情况下允许对于一个移动节点可以同时有(在有的情况下允许对于一个移动节点可以同时有多于多于1个的绑定个的绑定)。)。B位位置置1表示移动节点请求家乡代理向它提供发生在家乡表示移动节点请求家乡代理向它提供发生在家乡链路的链路的广播分组拷贝广播分组拷贝。n移动节点通过移动节点通过D位位的值告诉家乡代理哪个实体在执行隧道解封装操作,的值告诉家乡代理哪个实体在执行隧道解封装操作,也就是说明也就是说明隧道出口点的位置隧道出口点的位置。一般情况下把该位置。一般情况下把该位置0,表示,表示外部代外部代理的关照地址理的关照地址就是隧道出口点的位置。但在有
78、的情况下,外部代理的就是隧道出口点的位置。但在有的情况下,外部代理的功能就实现在移动节点上,此时需要把功能就实现在移动节点上,此时需要把D位置位置1,表示,表示组合型关照地址组合型关照地址。2005年12月7日53授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4.2 登记协议登记协议nM位位置置1表示移动节点请求家乡代理使用表示移动节点请求家乡代理使用最小封装最小封装(Minimal Encapsulation), G位位置置1表示移动节点请求家乡代理使用表示移动节点请求家乡代理使用类属封装类属封装(Generic Encapsulation);这两种情况都不是用一般的);这两种情况
79、都不是用一般的IP封装封装IP的隧道格式。如果在外部链路上移动节点和外部代理都支持的隧道格式。如果在外部链路上移动节点和外部代理都支持Van Jacobson头压缩头压缩,则把,则把V位位置置1。n在在登记应答中的代码域登记应答中的代码域告诉移动节点它的告诉移动节点它的登记被接受了,还是被拒绝了登记被接受了,还是被拒绝了。n在登记请求中的生命期在登记请求中的生命期表示移动节点表示移动节点希望希望它的登记绑定在期满之前持续它的登记绑定在期满之前持续的以秒计的时间长度。在对应的登记应答中的生命期表示该登记在期满的以秒计的时间长度。在对应的登记应答中的生命期表示该登记在期满之前实际之前实际可以可以持
80、续的时间长度,也就是家乡代理或外部代理所允许的最持续的时间长度,也就是家乡代理或外部代理所允许的最大时间长度。大时间长度。2005年12月7日54授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.4.2 登记协议登记协议n生命期置值生命期置值0表示移动节点要表示移动节点要解除登记解除登记指定的关照地址,而指定的关照地址,而FFFF值则表示该关照地址被无限期地登记着。移动节点的值则表示该关照地址被无限期地登记着。移动节点的家乡地址域和家乡代理地址域的含义是显然的。家乡地址域和家乡代理地址域的含义是显然的。当移动节点当移动节点返回家乡链路时,应该把关照地址的值设置成移动节点的家返回家乡链路时
81、,应该把关照地址的值设置成移动节点的家乡地址,并将生命期的值置乡地址,并将生命期的值置0。n由移动节点选定的由移动节点选定的标识符域标识符域的值唯一地表示所进行的登记,的值唯一地表示所进行的登记,用以用以把登记应答跟登记请求相匹配把登记应答跟登记请求相匹配,同时防止攻击者存储登,同时防止攻击者存储登记请求的一个拷贝,并在随后的一个时间重复请求。将标识记请求的一个拷贝,并在随后的一个时间重复请求。将标识符域的唯一性跟必须有的符域的唯一性跟必须有的“移动移动-家乡家乡”身份验证扩展项功身份验证扩展项功能结合使用,可以防止这类攻击的发生。能结合使用,可以防止这类攻击的发生。2005年12月7日55授
82、课教师:鲁士文(CAS/ICT) 授课地点:中关村4.3 登记操作登记操作n移动节点在下列情况下需要开始登记过程:移动节点在下列情况下需要开始登记过程:(1 1)当它检测到自己已经从一条链路)当它检测到自己已经从一条链路移动移动到了到了另一条链路的时候;另一条链路的时候;(2 2)当它检测到当前的)当它检测到当前的外部代理已经重新启动外部代理已经重新启动了的时候;了的时候;(3 3)它当前的登记快要)它当前的登记快要期满期满的时候。的时候。2005年12月7日56授课教师:鲁士文(CAS/ICT) 授课地点:中关村4.3 登记操作登记操作n首先要考虑如何填写封装首先要考虑如何填写封装登记请求报
83、文的数据链路层目的地址登记请求报文的数据链路层目的地址。在家乡。在家乡链路比较容易,使用链路比较容易,使用ARP就可以确定家乡代理的链路层地址。然而在外就可以确定家乡代理的链路层地址。然而在外部连路上,为了防止其它节点在本地部连路上,为了防止其它节点在本地IP网络前缀和移动网络前缀和移动IP网络前缀之间网络前缀之间混淆不清,混淆不清,移动节点不可以发送移动节点不可以发送ARP帧帧。n在通过外部代理做登记的时候,移动节点应该在通过外部代理做登记的时候,移动节点应该记录运载外部代理通告的记录运载外部代理通告的帧的链路层源地址域帧的链路层源地址域(从收到运载通告的帧的头部提取从收到运载通告的帧的头部
84、提取)。然后移动节点。然后移动节点应该使用这个地址作为运载登记请求报文的链路层目的地址。应该使用这个地址作为运载登记请求报文的链路层目的地址。n移动节点是通过外部代理做登记的。移动节点是通过外部代理做登记的。外部代理外部代理在收到登记请求时要做一在收到登记请求时要做一系列的系列的有效性检查有效性检查。如果没有通过检查,外部代理将拒绝登记,并给移。如果没有通过检查,外部代理将拒绝登记,并给移动节点发送一个动节点发送一个登记应答登记应答,将其中的,将其中的代码段内容置成表示拒绝的原因代码段内容置成表示拒绝的原因。 2005年12月7日57授课教师:鲁士文(CAS/ICT) 授课地点:中关村4.3
85、登记操作登记操作n下面列出的是登记可能下面列出的是登记可能被拒绝的原因被拒绝的原因:(1 1)移动节点包括一个移动的外部身份验证扩展项,)移动节点包括一个移动的外部身份验证扩展项,其中的身份验证的内容是无效的,即其中的身份验证的内容是无效的,即移动节点在外移动节点在外部代理处的身份验证失败部代理处的身份验证失败;(2 2)移动代理)移动代理请求的登记生命期请求的登记生命期超过了外部代理允许超过了外部代理允许的最大值;的最大值;(3 3)外部代理不能够支持移动节点请求的)外部代理不能够支持移动节点请求的隧道类型隧道类型;(4 4)外部代理)外部代理没有足够的资源没有足够的资源处理更多的移动节点。
86、处理更多的移动节点。2005年12月7日58授课教师:鲁士文(CAS/ICT) 授课地点:中关村4.3 登记操作登记操作n如果登记请求通过了检查,如果登记请求通过了检查,外部代理外部代理就就把把该该报文中继给移动节点的家乡报文中继给移动节点的家乡代理代理。这里的中继意味着外部代理消耗了原来的封装登记请求报文的。这里的中继意味着外部代理消耗了原来的封装登记请求报文的IP头和头和UDP头,并头,并建立新的头建立新的头。新的。新的UDP/IP分组跟原来的分组分组跟原来的分组相同的载相同的载荷荷,但,但新封装的新封装的IP目的地址是从登记请求报文的家乡代理域拷贝而来的,目的地址是从登记请求报文的家乡代
87、理域拷贝而来的,IP源地址则是外部代理在将要发送该源地址则是外部代理在将要发送该IP分组的那个接口上的分组的那个接口上的IP地址地址。n在中继登记请求之前,在中继登记请求之前,外部代理记录某些信息外部代理记录某些信息。这些信息在最终给移动。这些信息在最终给移动节点节点发送应答时发送应答时将要被将要被使用使用,在登记成功后代表移动节点,在登记成功后代表移动节点路由分组时路由分组时也也要使用。特别地,外部代理需要记录移动节点的链路层源地址、要使用。特别地,外部代理需要记录移动节点的链路层源地址、IP源地源地址、址、UDP源端口、家乡代理地址、请求标识符和请求的生命期。源端口、家乡代理地址、请求标识
88、符和请求的生命期。2005年12月7日59授课教师:鲁士文(CAS/ICT) 授课地点:中关村4.3 登记操作登记操作n家乡代理家乡代理在收到登记请求时,也要执行在收到登记请求时,也要执行一系列的检查一系列的检查,其中最重要的检查是,其中最重要的检查是必须有的必须有的“移动移动-家乡家乡”身份验证扩展项。如果检查证明登记请求是无效的,身份验证扩展项。如果检查证明登记请求是无效的,家乡代理就给移动节点发送一个登记应答报文,并在报文的代码域中表明拒家乡代理就给移动节点发送一个登记应答报文,并在报文的代码域中表明拒绝登记的原因。绝登记的原因。n如果登记请求是有效的,家乡代理就建立或更新该移动节点的如
89、果登记请求是有效的,家乡代理就建立或更新该移动节点的绑定登记项绑定登记项,其中包括指定的关照地址、家乡地址、生命期和其中包括指定的关照地址、家乡地址、生命期和S域(表示是否影响已有的域(表示是否影响已有的绑定,即允许有多个关照地址吗?在后者的情况下,可以把传给家乡地址的绑定,即允许有多个关照地址吗?在后者的情况下,可以把传给家乡地址的分组装发到多个外部代理)。分组装发到多个外部代理)。n最后,家乡代理给移动节点最后,家乡代理给移动节点发送一个登记应答发送一个登记应答,表明登记成功。,表明登记成功。IP源地址、源地址、IP目的地址和目的地址和UDP源端口号、源端口号、UDP目的端口号在应答报文中
90、只是把请求报目的端口号在应答报文中只是把请求报文中的对应域文中的对应域反过来填写反过来填写即可。此后,家乡代理就可以代表移动节点把收到即可。此后,家乡代理就可以代表移动节点把收到的分组的分组隧道隧道转发给指定的关照地址了。转发给指定的关照地址了。2005年12月7日60授课教师:鲁士文(CAS/ICT) 授课地点:中关村4.3 登记操作登记操作n在收到登记应答时,在收到登记应答时,外部代理外部代理执行一系列执行一系列有效性检查有效性检查。无效应答的例子有不。无效应答的例子有不符合规范的格式的报文,含有符合规范的格式的报文,含有不可识别不可识别的扩展项,或者家乡代理向外部代理的扩展项,或者家乡代
91、理向外部代理的身份验证(的身份验证(“家乡代理家乡代理- -外部代理外部代理”身份验证身份验证)数据无效。)数据无效。 如果应答被认为是无效的,外部代理就建立一个新的登记应答报文发送给如果应答被认为是无效的,外部代理就建立一个新的登记应答报文发送给移动节点,并将其中的代码域设置成移动节点,并将其中的代码域设置成外部代理认为的拒绝理由外部代理认为的拒绝理由。 如果登记应答是有效的,外部代理就更新它的如果登记应答是有效的,外部代理就更新它的已知的移动访问节点的列表已知的移动访问节点的列表,并把登记应答中继给移动节点。在这样做的时候,外部代理需要使用一些从并把登记应答中继给移动节点。在这样做的时候,
92、外部代理需要使用一些从早先的登记请求中记录的域的内容来发送应答。从这个时候开始,外部代理早先的登记请求中记录的域的内容来发送应答。从这个时候开始,外部代理就就可以解封隧道发给移动节点的分组,并且为移动节点产生的分组担当缺省可以解封隧道发给移动节点的分组,并且为移动节点产生的分组担当缺省路由器的角色。路由器的角色。2005年12月7日61授课教师:鲁士文(CAS/ICT) 授课地点:中关村4.3 登记操作登记操作n移动节点移动节点在收到登记应答的时候,执行自己的一系列在收到登记应答的时候,执行自己的一系列有效性检查有效性检查。如果应答是有效的,移动代理就检查代。如果应答是有效的,移动代理就检查代
93、码域,看请求的登记是否被接受。码域,看请求的登记是否被接受。 如果如果代码段代码段表明登记被表明登记被拒绝拒绝了,移动主机可以尝试了,移动主机可以尝试修正错误,再做修正错误,再做新的登记请求新的登记请求。被拒绝的原因可以包。被拒绝的原因可以包括太长的生命期、无效的标识符(为了防止重演攻击,括太长的生命期、无效的标识符(为了防止重演攻击,家乡代理期待得到一个不同于以往的值)。家乡代理期待得到一个不同于以往的值)。 如果如果代码域代码域表示表示成功成功,那么移动节点就,那么移动节点就调整路由表调整路由表,在当前的链路上开始或继续通信。而且,移动节点停在当前的链路上开始或继续通信。而且,移动节点停止
94、重发它的登记请求。止重发它的登记请求。2005年12月7日62授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题n当移动节点当移动节点位于家乡链路时位于家乡链路时,对于前往和来自移动节点的分,对于前往和来自移动节点的分组的路由选择规则跟组的路由选择规则跟常规常规的前往和来自固定节点的分组的规的前往和来自固定节点的分组的规则相同。则相同。n当移动节点当移动节点位于外部链路时位于外部链路时,在家乡链路上的一个路由器,在家乡链路上的一个路由器(可以是家乡代理)在网络上通告对于移动节点的家乡地址(可以是家乡代理)在网络上通告对于移动节点的家乡地址的网
95、络前缀的可达性;的网络前缀的可达性;发给移动节点的家乡地址的分组发给移动节点的家乡地址的分组被路被路由到它的家乡链路,由到它的家乡链路,并指向移动节点的家乡代理并指向移动节点的家乡代理;在移动节;在移动节点已经登记了关照地址的条件下,点已经登记了关照地址的条件下,家乡代理截获家乡代理截获发给移动节发给移动节点的分组,并把其点的分组,并把其拷贝隧道传送给关照地址拷贝隧道传送给关照地址;在关照地址处,;在关照地址处,外部代理从隧道中抽出原先的外部代理从隧道中抽出原先的IPIP分组,并把分组分组,并把分组投递投递给移动给移动节点。节点。2005年12月7日63授课教师:鲁士文(CAS/ICT) 授课
96、地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题n怎样怎样把隧道集成进路由表把隧道集成进路由表呢?技巧是定义一种呢?技巧是定义一种虚拟接口虚拟接口。跟物理接口不同,虚拟接口只是一。跟物理接口不同,虚拟接口只是一块软件,它的执行结果不是在物理媒体上发送块软件,它的执行结果不是在物理媒体上发送位序列。在我们现在的情况下,位序列。在我们现在的情况下,虚拟接口执行虚拟接口执行隧道封装或解封装隧道封装或解封装。下图示出了一个家乡代理。下图示出了一个家乡代理的一个的一个虚拟接口虚拟接口。下表给出了对应这个图的。下表给出了对应这个图的路由表。路由表。2005年12月7日64授课教师:鲁士文(C
97、AS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题 2005年12月7日65授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题 2005年12月7日66授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题n当有一个目的地为移动节点的当有一个目的地为移动节点的家乡地址家乡地址(7.7.7.17.7.7.1)的)的分组到达时,假定它是通过家乡代理的物理接口分组到达时,假定它是通过家乡代理的物理接口2 2(FDDIFDDI设备驱动程序和硬件)到达,从家乡代理的协设备驱
98、动程序和硬件)到达,从家乡代理的协议栈向上到达议栈向上到达IPIP路由软件。路由软件必须查询路由表路由软件。路由软件必须查询路由表以做出转发决定。最长前缀匹配是前往移动主机的以做出转发决定。最长前缀匹配是前往移动主机的家家乡地址的主机特有的路由乡地址的主机特有的路由(表中最后一项)。根据这(表中最后一项)。根据这个表登记项,个表登记项,家乡代理通过虚拟接口家乡代理通过虚拟接口把分组转发给把分组转发给下一跳下一跳,即移动节点的,即移动节点的关照地址关照地址(1.1.1.11.1.1.1)。)。2005年12月7日67授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题
99、路由操作和三角路由问题n按照常规,按照常规,IPIP路由软件路由软件调用调用接口接口的软件,并把的软件,并把IPIP分分组组和和下一跳的下一跳的IPIP地址地址(1.1.1.11.1.1.1)传递给该软件。)传递给该软件。实实现接口现接口的软件的软件(发送模块)(发送模块)的操作是把原始的的操作是把原始的IPIP分分组封装在一个新的组封装在一个新的IPIP分组中分组中。新的。新的IPIP分组的源地址是分组的源地址是家乡代理,目标家乡代理,目标IPIP地址是下一跳地址是下一跳IPIP地址,也就是关照地址,也就是关照地址。此时,虚拟接口有了一个地址。此时,虚拟接口有了一个新的新的IPIP分组分组。
100、它。它再次再次把这个新把这个新IPIP分组提交给分组提交给IPIP路由软件路由软件,选择下一跳和外,选择下一跳和外出接口。因此,虚拟接口软件的最后一步操作是调用出接口。因此,虚拟接口软件的最后一步操作是调用IPIP路由选择软件。路由选择软件。2005年12月7日68授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题n外包装分组的目标地址等于移动节点的关照地址(外包装分组的目标地址等于移动节点的关照地址(1.1.1.11.1.1.1),),在路由表中仅有的匹配是在第在路由表中仅有的匹配是在第2 2行的行的缺省路由缺省路由。该路由器指定。该路由器
101、指定了经由了经由接口接口2 2(物理接口)的下(物理接口)的下一跳一跳6.6.6.2546.6.6.254。因此,路由器。因此,路由器软件调用接口软件调用接口2 2的驱动程序,建立一个的驱动程序,建立一个FDDIFDDI帧,通过光纤环传帧,通过光纤环传给给IPIP地址是地址是6.6.6.2546.6.6.254的的FDDIFDDI站(路由器),并通过这个路由站(路由器),并通过这个路由器站点器站点继续把继续把IPIP分组向着目的地分组向着目的地1.1.1.11.1.1.1(关照地址)转发(关照地址)转发。n在外部代理处在外部代理处,需要有,需要有类似的路由表项类似的路由表项用于移动访问节点。下
102、用于移动访问节点。下面的表示出了对应随后的图中示出的外部代理接口条件的面的表示出了对应随后的图中示出的外部代理接口条件的路由路由表表。 2005年12月7日69授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题 2005年12月7日70授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题 2005年12月7日71授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题n当当隧道分组隧道分组通过一个物理接口通过一个物理接口到达外部代理到达外部代理时,
103、它时,它被传递到被传递到IPIP路由软件路由软件。IPIP路由软件看到路由软件看到IPIP分组的分组的目目的地址是自己的一个地址的地址是自己的一个地址,即它通告的一个,即它通告的一个关照地关照地址址。因此。因此IPIP软件决定对该分组做软件决定对该分组做较高层次的处理较高层次的处理。该处理读出该处理读出IPIP“protocolprotocol”域的内容,发现是域的内容,发现是IPIP本本身,即身,即IPIP封装封装IPIP。因此。因此IPIP软件把分组传递给软件把分组传递给负责处负责处理理IPIP封装封装IPIP的较高层处理模块的较高层处理模块,即,即虚拟接口软件虚拟接口软件。2005年12
104、月7日72授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题n在外部代理处的在外部代理处的虚拟接口软件虚拟接口软件( (接收模块接收模块) )执行执行解封装解封装操作。虚拟接口软操作。虚拟接口软件剥除外封装件剥除外封装IPIP头,头,把载荷传递给把载荷传递给IPIP路由软件路由软件,载荷实际上就是被封装载荷实际上就是被封装的原始的原始IPIP分组分组。在。在IPIP路由选择看来,这个路由选择看来,这个原始的原始的IPIP分组就是从虚拟接口分组就是从虚拟接口到达的到达的。此时。此时IPIP路由软件确定此路由软件确定此IPIP分组的目的地址不匹配
105、它的任一外分组的目的地址不匹配它的任一外部代理部代理IPIP地址,必须地址,必须查询路由表查询路由表,以选择下一跳和外出接口。该原始,以选择下一跳和外出接口。该原始IPIP分组的目的地址是移动节点的家乡地址分组的目的地址是移动节点的家乡地址,路由表最长匹配是,路由表最长匹配是主机特有的主机特有的路由路由(前面的表中的第(前面的表中的第3 3行)。这一匹配指定将分组通过接口行)。这一匹配指定将分组通过接口1 1(物理接(物理接口)口)直接投递到移动节点直接投递到移动节点。因此外部代理把分组交给实现。因此外部代理把分组交给实现以太网以太网设备的设备的软件,后者把分组在外部链路上传送到移动节点。软件
106、,后者把分组在外部链路上传送到移动节点。2005年12月7日73授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题n由由通信方通信方发给连接到发给连接到外部链路外部链路的移动节点的的移动节点的分组分组首先被路由首先被路由到移动节点的到移动节点的家乡代理家乡代理,然后再被隧道传送给移动节点的,然后再被隧道传送给移动节点的关关照地址照地址。然而由。然而由移动节点移动节点发送的分组被发送的分组被直接路由到通信方直接路由到通信方。这样就形成了如下面的图所示的这样就形成了如下面的图所示的三角路由三角路由。n为什么移动节点不把它的关照地址直接通知给通信方
107、(为什么移动节点不把它的关照地址直接通知给通信方(研究研究和设计目标和设计目标),并让他们把分组直接传到移动节点,即),并让他们把分组直接传到移动节点,即旁路旁路掉家乡代理呢?掉家乡代理呢?就延迟和资源消耗而论,这种优化的路由可就延迟和资源消耗而论,这种优化的路由可能比三角路由更有效,因为一般说来分组在它们通往目的地能比三角路由更有效,因为一般说来分组在它们通往目的地的路途上会跨越较少的链路。的路途上会跨越较少的链路。2005年12月7日74授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题 2005年12月7日75授课教师:鲁士文(CAS/
108、ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题n路由优化的主要障碍路由优化的主要障碍跟跟安全有关安全有关。为了让通信方直接隧道到移动节点,。为了让通信方直接隧道到移动节点,通信方必须被告知移动节点当前的关照地址通信方必须被告知移动节点当前的关照地址。这跟移动节点向家乡节点。这跟移动节点向家乡节点登记关照地址的过程类似,在通知通信方当前的关照地址的报文中,如登记关照地址的过程类似,在通知通信方当前的关照地址的报文中,如果没有果没有强身份验证强身份验证,针对通信方的拒绝服务攻击针对通信方的拒绝服务攻击是可能的。是可能的。n特别地,特别地,攻击者攻击者只须给移动节点的通
109、信方发送一个只须给移动节点的通信方发送一个伪造的登记伪造的登记( (关照地址关照地址) ),就可以截取在这两个节点之间的所有通信。这是任何优化移动,就可以截取在这两个节点之间的所有通信。这是任何优化移动IPIP路由路由选择的试图都会面临的挑战。为了防止伪造登记报文,选择的试图都会面临的挑战。为了防止伪造登记报文,网络管理员可以网络管理员可以在移动节点和他的家乡代理之间配置一个密钥在移动节点和他的家乡代理之间配置一个密钥。然而要想同样地在然而要想同样地在移动移动节点和每个可能的通信者之间节点和每个可能的通信者之间发放密钥是不现实的发放密钥是不现实的。在缺少自动机制的。在缺少自动机制的条件下,在移
110、动节点和它的通信者之间发放密钥显然条件下,在移动节点和它的通信者之间发放密钥显然不可取不可取。2005年12月7日76授课教师:鲁士文(CAS/ICT) 授课地点:中关村6.5路由操作和三角路由问题路由操作和三角路由问题n另外,仅另外,仅当移动节点远离家乡代理并且接近它的通当移动节点远离家乡代理并且接近它的通信方的时候,路由优化才会提供显著的资源节约信方的时候,路由优化才会提供显著的资源节约。然而然而在大多数情况下,要么移动节点、要么通信节在大多数情况下,要么移动节点、要么通信节点是靠近家乡代理的点是靠近家乡代理的,这就意味着,这就意味着,由直接隧道节由直接隧道节省的网络资源跟为保证它的安全性做身份验证和密省的网络资源跟为保证它的安全性做身份验证和密钥分发所消耗的资源相比要少得多钥分发所消耗的资源相比要少得多。2005年12月7日77授课教师:鲁士文(CAS/ICT) 授课地点:中关村中科院计算所计算机网络课程中科院计算所计算机网络课程 Thanks!谢谢 谢谢 2005年12月7日78授课教师:鲁士文(CAS/ICT) 授课地点:中关村