移动IP和三角路由问题.ppt_第1页
移动IP和三角路由问题.ppt_第2页
移动IP和三角路由问题.ppt_第3页
移动IP和三角路由问题.ppt_第4页
移动IP和三角路由问题.ppt_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论