MIPv4移动IPv4

上传人:桔**** 文档编号:591119165 上传时间:2024-09-16 格式:PPT 页数:62 大小:1.02MB
返回 下载 相关 举报
MIPv4移动IPv4_第1页
第1页 / 共62页
MIPv4移动IPv4_第2页
第2页 / 共62页
MIPv4移动IPv4_第3页
第3页 / 共62页
MIPv4移动IPv4_第4页
第4页 / 共62页
MIPv4移动IPv4_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《MIPv4移动IPv4》由会员分享,可在线阅读,更多相关《MIPv4移动IPv4(62页珍藏版)》请在金锄头文库上搜索。

1、第5章 技术细节代理搜索通过这个过程,移动节点可以判定它的当前位置,并得到一个转交地址。注册通过这个过程,移动节点向外部代理请求服务,并通知家乡代理它的转交地址。当移动节点连接在外地链路上时,对它发出的或发往它的数据包进行路由的特殊机制。15.2 代理搜索Agent Discovery判定它当前连在家乡链路上还是外地链路上。检测它是否切换了链路。当连在外地链路上时,得到一个转交地址。25.2.1 代理搜索包括的消息代理(家乡的、外地的)利用代理广播消息( Agent Advertisement)向移动节点宣布它们的功能。移动节点可以判定该链路上是否有代理存在。移动节点没有耐心等待下一个周期发送

2、的代理广播消息时,它可以发送代理请求消息( Agent Solicitation)。3ICMP messages 0 Echo reply 8 Echo request13/14 Time-stamp request / reply17/18 Address mask request / reply9 Router advertisement message 16 移动代理广播扩展 MIPv4: rfc3344Mobility Agent Advertisement Extension19 前缀长度扩展Prefix-Lengths Extension10 Router solicitation

3、 message 源站抑制Type Message 3 Destination unreachable 4 Source quench11 Time exceeded12 Parameter problem 5 Redirect4图5-1 代理请求消息ICMPI P包的生存时间域必须置成 1。rfc1256 ICMP Router Discovery Messages5图5-2 代理广播消息生存时间域( Lifetime )(与移动代理广播扩展中的注册生存时间Registration Lifetime域无关)表明代理发送广播的频率,这个值主要用来作“移动检测”。由外地代理发出的广播F比特置为1

4、,同样,由家乡代理发出的广播H比特也置为1。前缀长度被移动节点用来作“移动检测”。65.2.2 移动节点如何判定自己的移动1. 用生存时间域作移动检测利用代理广播消息中ICMP路由器广播部分的生存时间域,这个域告诉移动节点,每过多长时间它就可以从同一个代理那里收到一个广播如果没有收到任何广播,它就发出一个代理请求消息去询问。2. 用网络前缀作移动检测移动节点通过比较两个广播消息的网络前缀就可以判定它们是否来自同一条链路对于每一个路由器地址项,网络前缀(i)由路由器地址(i)的左边前缀长度(i)个比特决定如果发现它已移动到新链路上了,就应向在新链路上的外地代理进行注册75.2.3 移动节点收不到

5、任何广播消息时怎么办1. 设法在家乡链路上通信如可以向它在家乡链路上用的缺省路由器发送ICMP Echo Request消息,如果这台缺省路由器给出了应答,那么移动节点很可能正连在它的家乡链路上,这样就可以继续通信了2. 在外地链路上用DHCP和手工配置如果缺省路由器没有应答,那么移动节点可以认为它正连在一条外地链路上3. 无需广播消息的移动检测(传输层)(假定可以得到一个配置转交地址)TCP进程监测在它已打开的TCP连接上检查最近有没有转发进行。如没有,则移动过了检查链路上的所有包这些包中没有一个网络前缀与它的转交地址的网络前缀一样4. 可以利用数据链路层来判定它的当前位置,从而通过DHCP

6、或手工配置得到一个转交地址。85.2.4 总结代理搜索,即移动节点判断它是连在家乡链路还是外地链路上以及找到所在链路上的代理的过程。移动节点接收由家乡代理和外地代理周期发送的代理广播消息,它也可以通过发送代理请求得到广播消息。由于密钥管理上的困难,这两个消息无需认证。移动检测两种机制用生存时间域,移动节点可以在任何情况下采用这种方法。利用网络前缀,这要求代理在它们的代理广播消息中加入前缀长度扩展部分。转交地址获得:移动节点只需从链路上的外地代理发送的代理广播消息中读出转交地址就可以了如果移动节点连接的链路上没有发送广播消息,它可以利用传输层和数据链路层来判定它的当前位置,从而通过DHCP或手工

7、配置得到一个转交地址。95.3 注册当移动节点发现它的网络接入点从一条链路切换到另一条链路上时,它就要进行注册。另外,由于这些注册也有一定的生存时间(注册生存时间Registration Lifetime域),所以在并没有移动位置时,移动节点也要在现有注册过期时进行注册。10移动IP的注册过程1) 移动节点可以通过注册得到外地链路上的外地代理的路由服务(认证)。2) 移动节点可以通知家乡代理它的转交地址。3) 可以使一个要过期的注册重新生效。4) 移动节点在回到家乡链路上时要进行注销(Binding Revocation, RFC 5846)注册的另一些功能:1) 同时注册多个转交地址,家乡代

8、理将送往移动节点家乡地址的数据包通过隧道送往每个转交地址(5.3.6节)。2) 可以在注销一个转交地址的同时保留其他转交地址。3) 在先前不知道它的家乡代理的情况下,移动节点可以通过注册动态地得到一个可能的家乡代理的地址(5.3.3节)。11“绑定”-Binding家乡代理必然有一张移动节点家乡地址和转交地址的对应表,这张表中的一个表项就称为绑定表项( Binding Entry)注册过程的主要目的就是产生、修改或删除家乡代理中移动节点的绑定表项12注册消息移动IP注册包括两种消息的交互:注册请求( Registration Request )注册应答(Registration Reply)图

9、5-3 用UDP传送注册消息13注册的种类图5-4 移动节点用外地代理转交地址注册在一条外地链路上图5-5 移动节点用配置转交地址注册在一条外地链路上(可能在外地链路上没有外地代理)图5-6 移动节点在回到家乡链路后进行注销14注册消息格式Mobile-Home Authentication Extension移动-外地认证扩展外地-家乡认证扩展B、D、M、G和V比特主要与选路有关生存时间为零表示移动节点希望注销一个转交地址图5-7 注册请求消息图5-8 注册应答消息(定长部分)Code域给出了拒绝的原因15移动节点何时注册当移动节点发现自己从一条链路切换到了另一条链路上时就开始注册过程。有时

10、即使没有链路的切换,它也进行注册当移动节点发现它所连接的外地代理进行了重起时(这可从外地代理广播消息中的序列号得知) ;当目前的注册就要过期时,移动节点也应重新注册。16移动节点如何发送注册请求消息移动节点根据它代理搜索过程中得到的信息,选择一种注册种类,并组装它的注册请求消息M比特和G比特要求家乡代理在隧道中采用最小封装( Minimal Encapsulation) RFC2004 或通用路由封装(Generic Routing Encapsulation)RFC1701,而不是RFC 2003中的IP封装(IP in IP Encapsulation)。移动节点和外地代理在外地链路上能支

11、持 RFC11 4 4 中定义的 Van Jacobson 报头压(Header Compression)时,就将V比特置为1。(5.4.8节)帧头IP头UDP头17如何确定在当前链路上发送注册消息时采用的数据链路层的目的地址?移动节点不能在外地链路上发送包含它的家乡地址的ARP帧。移动节点应记录下外地代理发送的代理广播消息中的数据链路层源地址,从而得到外地代理的数据链路层地址,移动节点可将这个地址作为承载注册消息的数据链路层帧的数据链路层目的地址。移动节点得到外地链路上的缺省路由器IP地址的方法这台缺省路由器是注册消息经过的第一跳,也是所有由移动节点发出的数据包经过的第一跳移动节点可以通过A

12、RP得到缺省路由器的数据链路层地址,只要在ARP请求消息中包含的是它的转交地址而不是家乡地址。移动节点如何发送注册请求消息18外地代理如何处理注册请求外地代理接收到注册请求后,要对它进行一系列的有效性检查1) 移动节点在注册请求消息中包含了移动外地认证扩展部分,而其中的认证算法域(Authenticator )却是无效的,即移动节点在这个外地代理上的认证没有成功。2) 移动节点请求的生存时间( Lifetime)超过了移动代理所允许的最大值。3) 外地代理不支持移动节点所请求的隧道类型。4) 外地代理没有足够的资源来支持更多的移动节点。注册应答的Code域给出了拒绝的原因。有效,则将该消息中继

13、(Relay)到移动节点的家乡代理那里外地代理将包含注册请求消息的数据包的IP报头和UDP头完全剥去,再加上新的报头后才送给家乡代理在中继注册请求消息前,外地代理要记录源数据链路层地址、源IP地址、源UDP端口号、家乡代理地址、标识域和请求的生存时间,为注册应答和路由数据包用。195.3.7 “R”比特的处理移动代理广播扩展( Mobility Agent Advertisement Extension)的“注册要求”比特,即R比特, 为外地代理提供了一种机制,通知移动节点必须向它进行注册,即使移动节点采用的是配置转交地址,否则外地代理将拒绝为该节点路由数据包。外地代理是一台外地链路上的路由器

14、有时它同时为移动节点提供路由和拆封功能(当移动节点采用外地代理转交地址时)有时它只向移动节点提供路由功能(当移动节点采用配置转交地址时)图5-4 移动节点用外地代理转交地址注册在一条外地链路上图5-5 移动节点用配置转交地址注册在一条外地链路上(可能在外地链路上没有外地代理)20家乡代理如何处理注册请求做一系列和外地代理相似的有效性检查如果注册请求是有效的,将如表5-2中所示,对移动节点的绑定表项进行更新家乡代理根据请求开始通过隧道向移动节点的转交地址传送数据包,或者应移动节点的要求关闭所有隧道另外,家乡代理还将发送免费ARP或代理ARP消息最后,家乡代理向移动节点发送注册应答,告知注册成功表

15、5-2 家乡代理对绑定的更新多重绑定215.3.6多重绑定(Simultaneous bindings)用途:克服乒乓效应,减少注册次数双播机制实现快速切换多接口实现多连接,多家乡,异构切换方法:移动节点将注册请求消息中的S比特置1,通知家乡代理它希望对一个特定的转交地址进行绑定,而保持当前别的绑定不变如果移动节点在两个蜂窝之间来回切换,它就可以同时注册这两条链路上的转交地址,这样无论移动节点当前接收的是哪一个发射器的信号,它都可以接收通过隧道传过来的数据包图5-11 处于两个蜂窝边界上的移动节点22外地代理如何处理注册应答外地代理接收到注册应答后,将对消息进行一系列的有效性检查。发现应答是无

16、效的,将产生一个包含适当的Code域的注册应答给移动节点。有效,则外地代理就更新它对来访的移动节点的列表,并采用从原始注册请求消息中记录的一些域的值,将应答消息中继给移动节点。外地代理对通过隧道发往移动节点的包进行拆封,并对移动节点发过来的包实行缺省路由器的功能。23移动节点如何处理注册应答在接收到注册应答后,移动节点就开始进行自己的有效性检查如果这条应答消息是有效的,那么移动节点就检查Code域,看看这次注册是被家乡代理(和外地代理)接受还是被拒绝了。常见的拒绝原因有:过长的生存时间(大于外地代理所允许的最大长度)和无效的标识域(这时家乡代理可能期望的是另一个值)-重新尝试一次注册。如果Co

17、de域表示注册请求已被接受,那么移动节点就可以调整它的路由表,以适应当前链路,然后就可以开始通信或继续先前的通信了。245.3.3移动节点如何得到家乡代理的地址没有配置家乡代理地址的移动节点也可以通过移动IP注册协议动态地得到家乡代理的地址25Mobile IPv4 Dynamic Home Agent (HA) Assignment - rfc4433This document proposes a messaging mechanism for dynamic home agent assignment and HA redirection. The goal is to provide

18、a mechanism to assign an optimal HA for a Mobile IP session while allowing any suitable method for HA selection.The mobile node MUST use the Network Access Identifier (NAI) extension for IPv4 2 when requesting a dynamically assigned HA. 2 Calhoun, P. and C. Perkins, Mobile IP Network Access Identifi

19、er Extension for IPv4, RFC 2794, March 2000.265.3.4 节点如何知道注册消息的真正发送者移动节点为每次注册请求选择一个唯一的值写入标识域( Identification) 第一个目的是使移动节点可以将注册应答和相应的注册请求对应起来,使移动节点可以判断一大堆注册请求中的哪一个被接受了或被拒绝了。第二个目的是防止有人将移动节点的一个注册请求消息存下来,之后又送回一个注册应答。所有的数据包送到“坏家伙”那里。标识域的唯一性以及移动-家乡认证扩展(Mobile-Home Authentication Extension)一起阻止这种事情(称为拒绝服务攻

20、击)的发生。27拒绝服务攻击为对付这种攻击 ,移动IP要求对移动节点和家乡代理之间的注册消息进行认证。认证是一个发送节点向接收节点提供身份证明的过程,常采用一个只有发送者和接收者知道的秘密值来实现。这种认证不可能通过检查网上的数据包进行攻击。移动 IP在注册请求消息中采用了标识域,以防止这种重发攻击的发生。移动节点和外地代理以及外地代理和家乡代理之间的认证移动-外地认证扩展。外部-家乡认证扩展。由发送数据包的节点直接将包通过隧道(非移动-家乡隧道)送往转交地址,而不是先路由到家乡链路上,这显然效率要高得多。之所以不采用这种优化的路由技术,主要是对付拒绝服务攻击。285.4 数据包的选路根据移动

21、节点的当前位置进行数据包选路的技术移动节点连接在家乡链路上时移动节点连接在外地链路上时移动节点采用代理转交地址采用的是配置转交地址295.4.1 移动节点在家乡链路上时包的选路向位于家乡链路上的移动节点传送数据包所用的路由技术与向普通IP主机或路由器传送数据包的技术一模一样。对于连接在家乡链路上的移动节点发出的数据包,移动节点用它的路由表为它产生的数据包选择一个合适的下一跳当移动节点连接在家乡链路上时,路由表项的生成也无需专门的规则305.4.2 移动节点在外地链路上时包的选路1) 在家乡链路上的路由器可能是家乡代理,广播对移动节点家乡地址的网络前络的可达性。2) 因此,目的地为移动节点家乡地

22、址的数据包被送往家乡链路,其实是送往移动节点的家乡代理。3) 家乡代理截获这些送往移动节点的数据包。假设移动节点已经注册了一个或多个转交地址,家乡代理就通过隧道向每一个转交地址发送一个数据包的拷贝。4) 在每一个转交地址(可能是外地代理的地址也可能是移动节点本身配置的地址)上,原始数据包从隧道中取出拆封后送往移动节点。31家乡代理如何截获数据包广播对移动节点家乡地址的可达性,一般只适用于家乡代理是多端口路由器时的情况代理ARP家乡链路利用ARP作地址解析(如以太网),那么对端主机将广播一个ARP请求消息以得到移动节点的数据链路层地址。家乡代理它肯定在家乡链路上有一个端口发送一个ARP应答,用家

23、乡代理的数据链路层地址对移动节点的IP家乡地址作应答免费ARP当移动节点在一条外地链路上注册,并且家乡代理还没有移动节点的绑定时,家乡代理必须为该移动节点发送一些免费ARP,用家乡代理的数据链路层地址来对应移动节点的IP地址,以更新别的节点的ARP缓存。当移动节点回到家乡链路时,发送一条免费ARP消息,用移动节点的数据链路层地址对应它的IP家乡地址,重新对别的节点上的ARP缓存进行更新32通过虚拟端口进行路由表的合成IP路由表至少有四个域:目的地址( Target)、前缀长度( Prefix - Length )、下一跳地址(Next Hop)以及端口( Interface )端口包含了一个指

24、针,指向一组被称为设备驱动的软件端口常被说成是一个“物理端口”,因为设备驱动将激起某个硬件在某些物理媒介上发送比特流将隧道合成进路由表的技巧是定义一个虚拟端口。虚拟端口是一组软件,它并不向物理媒介发送比特。虚拟端口将根据具体情况进行隧道封装或拆封。采用指向虚拟端口的特定主机路由,是一种将移动采用指向虚拟端口的特定主机路由,是一种将移动IP所需所需的特殊处理与家乡代理现有的的特殊处理与家乡代理现有的IP路由表合成在一起的很好路由表合成在一起的很好的方法的方法33图5-14 通过家乡代理上的虚拟端口进行封装表5-3 家乡代理的路由表移动节点家乡地址( 7.7.7.1)通信对端新包的源地址为家乡代理

25、目的地址为下一跳地址6.6.6.254当一个目的地为移动节点家乡地址(7.7.7.1)的数据包到达家乡代理时这个数据包从一个物理端口(如物理端口 1)到达,并被送交IP路由软件处理。“最佳”的匹配(即匹配长度最长)是到移动节点家乡地址的特定主机路由最后一项。家乡代理通过端口 a将数据包转发到下一跳地址( 1.1.1.1 ),也就是移动节点的转交地址。IP路由软件激活端口a的软件。将原始IP包封装在新的IP包内。新包的源地址为家乡代理,目的地址为下一跳地址,或移动节点的转交地址虚拟端口软件重新激活 IP路由软件。路由表中对它的唯一一个匹配项是第二条表项中的路由。34表5-4 外地代理的路由表图5

26、-15 虚拟端口:外地代理上的拆封移动节点家乡地址( 7.7.7.1)移动节点转交地址( 1.1.1.1)当数据包经过隧道到达外地代理时(经过一个物理端口) ,它就被送给了IP路由软件。IP路由软件检查(外层)数据包目的地址,发现是外地代理的一个地址,即外地代理广播为转交地址的那个地址,于是 IP软件将数据包(包括报头和净荷)交给“高层”处理。由高层即虚拟端口软件处理所有协议域的值为 IP的数据包。虚拟端口软件剥去封装的(外层的)IP报头,并将净荷,也就是被封装的(内层的) IP包,交给IP路由软件处理。对I P路由软件来说,原始I P包就像从虚拟端口a送来的。IP路由软件发现自己现在正在处理

27、一个目的地址与外地代理的 IP地址不匹配的IP包,也就是说,必须查路由表以确定该数据包的转发端口和下一跳地址。由虚拟端口交给高层的数据包是原始 IP包,它的目的地址是移动节点的家乡地址,对这个地址来说最好的匹配当然是特定主机路由(表 5-4 中的第三项) ,这条路由表明这些包将通过端口1直接送到移动节点。35图5-14 通过家乡代理上的虚拟端口进行封装表5-3 家乡代理的路由表表5-4 外地代理的路由表图5-15 虚拟端口:外地代理上的拆封移动节点家乡地址( 7.7.7.1)移动节点转交地址( 1.1.1.1)通信对端新包的源地址为家乡代理目的地址为下一跳地址6.6.6.254365.4.3

28、移动节点如何发送数据包1. 在家乡链路上选择一台路由器连接在家乡链路上的移动节点就像一台固定主机或路由器那样工作,与同一条链路上的其他节点有相同的路由表372. 在外地链路上选择一台路由器(1) 通过外地代理注册时选择外地代理本身,它由代理周期发送的代理广播消息中的源IP地址指明。选择在任何节点的代理广播或路由器广播消息中, ICMP路由器广播RFC 1256部分的路由器地址域中出现的任何路由器。(2) 没有外地代理参加注册(注册了一个配置转交地址时)移动节点可能将ICMP路由器广播消息中路由器地址域中列出的任何地址作为路由器的地址如果没有路由器发送广播消息,那么移动节点依靠它得到配置转交地址

29、的方法(DHCPPPP(IPCP)来得到路由器的地址383. 决定路由器的数据链路层地址(1) 发送广播消息的路由器移动节点只是简单地从包含外地代理的代理广播消息或ICMP路由器广播消息找到的那些帧中记录源数据链路层地址(2) 不发送广播消息的路由器移动节点可以用它的转交地址作为ARP请求中发送方的协议地址域向路由器发送ARP,得到395.4.4 IP包的路由与它们的源地址无关吗IAB ( Internet Architecture Board ) 建议因特网业务提供商对数据包依据源地址进行过滤,过滤掉那些可能来自“非法”地方的数据包。这种类型的过滤称为网络入口过滤Network Ingres

30、s Filtering通过“反向隧道”解决了这个问题Reverse Tunneling见第10.3. 4节。4010.3.3 入口过滤对移动IP的影响路由器设置入口过滤以后,它会将看起来从“错误”地点到达的数据包丢弃。这种做法使移动IP中的一个假设失效: IP单播数据包路由过程与源地址无关。这样配置的路由器将会把一个连接在外地链路上的移动节点发出的数据包全部丢弃,因为它使用的源地址是它的家乡地址,而路由器认为该地址应该位于移动节点的家乡链路上。这样,入口过滤严重影响到了位于外地链路上的移动节点发出的数据包。注意,入口过滤并不影响发往移动节点的数据包,因为隧道IP报头中的源地址(家乡代理地址)和

31、目的地址(转交地址)在网络拓扑上都是正确的。41Reverse Tunneling for Mobile IP5.6. Ingress FilteringMany routers implement security policies such as ingress filtering“ that do not allow forwarding of packets that have a Source Address which appears topologically incorrect. Ferguson, P. and D. Senie, Network Ingress Filter

32、ing: Defeating Denial of Service Attacks which employ IP Source Address Spoofing, BCP 38, RFC 2827, May 2000. (Obsoletes: 2267 )In environments where this is a problem, mobile nodes may use reverse tunneling with the foreign agent supplied care-of address as the Source Address. Montenegro, G., Rever

33、se Tunneling for Mobile IP, revised, RFC 3024, January 2001.(Obsoletes: 2344 )Reverse tunneled packets will be able to pass normally through such routers, while ingress filtering rules will still be able to locate the true topological source of the packet in the same way as packets from non-mobile n

34、odes.4210.3.4 入口过滤有关的移动IP改进为了解决入口过滤路由器问题,移动节点可以使用拓扑正确的隧道数据包连接自己的家乡代理。在 RFC 3024 中描述的上述规程,为一个移动节点从外地代理和注册的家乡代理那里申请一个隧道提供了一种方式。Montenegro, G., Reverse Tunneling for Mobile IP, revised, RFC 3024, January 2001. (Obsoletes: 2344 )43Reverse Tunneling for Mobile IP1. 代理搜索扩展外地代理一直在周期性地发送代理广播,它通过在移动代理广播扩展中的T

35、比特表明自己对反向隧道的支持。希望建立反向隧道的移动节点可以从带有 T比特置位的代理广播中发现适当的外地代理。2. 注册扩展希望与自己的家乡代理建立反向隧道的移动节点将“注册请求“中新定义的T比特置位。外地代理和家乡代理按照正常方式处理该注册请求。如果都不支持反向隧道,它们会拒绝该注册,并在Code域中注明原因。如果外地代理和家乡代理要求采用反向隧道,而移动节点却没有申请,那么外地代理或家乡代理也会拒绝该请求,并在Code域中注明原因。在外地代理隶属的服务提供商正在进行入口过滤的情况下,外地代理会坚持要求移动节点使用反向隧道。除了T比特外, RFC 3012中还定义了一个经类型-长度-数据编码

36、的新扩展,以便移动节点使用外地代理转交地址来限定移动节点希望在外地链路上投递数据包的方式。一种方法是直接发送,另外一种方法是使用隧道。44Reverse Tunneling for Mobile IP3. 反向隧道存在时的选路如果通过移动IP的注册规程请求并建立了反向隧道,移动节点发出的数据包的选路和以前不再相同。使用配置转交地址的移动节点可以简单地使用隧道将数据包送往自己的家乡代理,使用转交地址作为源地址、家乡代理地址作为目的地址。使用外地代理转交地址的移动节点发送数据包时有两种选择。一种是和以前一样,使用外地代理作为缺省路由器。外地代理检查其中的IP源地址,发现其来自申请反向隧道服务的移动

37、节点。这时,外地代理将这些数据包使用隧道送往家乡代理,家乡代理的地址是从注册过程学来的。这种方法在移动节点上很容易实现,但是它不允许移动节点不让某些数据包使用隧道传送。为了避免失去这种灵活性,使用外地代理转交地址的移动节点还有另外一个选择,即使用所谓“隧道方式投递”(Tunneling Style of Delivery)。在这种方式中,移动节点将数据包送到外地代理,并建议外地代理先进行隧道拆封,然后再重新封装隧道至家乡代理。移动节点发送不能进行反向隧道传送的数据包时,就将它们在没有封装的情况下送给外地代理。45Reverse Tunneling for Mobile IP4. 总结反向隧道可

38、以解决入口过滤给移动IP带来的问题。当移动节点注册时,可以申请反向隧道服务,将自己产生的数据包进行隧道封装后再送到家乡代理。隧道封装工作可以由外地代理完成,也可以由移动节点自己完成。隧道(外层)报头的IP源地址和目的地址在拓扑上都是正确的,所以不会被入口过滤机制丢弃掉。46Record route option5.4.5 为什么用隧道而不是源路由47Record route concept48Strict source route option49Strict source route concept67.14.10.22140.10.5.4200.14.7.14140.10.6.3140.1

39、0.5.4200.14.7.14140.10.6.3200.14.7.9200.14.7.14140.10.6.3200.14.7.9138.6.22.2650Loose source route option51为什么说源路由不是一个好方案首先,虽然Record Route 和Loose Source Option在IPv4标准RFC 791已经定义,但是两个选项基本上从来没有在IPv4主机中正确地实现过其次,包含选项的IP数据包需要从源到目的地沿途所有路由器打开带有选项的数据包进行语法分析,以防选项可能与该路由器有关。带来性能下降快。隧道技术只需要两台路由器:家乡代理和隧道出口(外地代理或

40、移动节点自己)作特殊处理。安全问题:一个坏家伙可以向移动节点的通信对端发送一个包,将一个伪造的转交地址当作中间目的地址,通信对端使源路由反向后,在它的应答中也将伪造的转交地址作为中间目的地址。这时,移动节点就被从与对端的通信中挤出去了,这个坏人可以得到移动节点的通信对端送给移动节点的所有数据包。525.4.6 为什么用三角路由图5-16 三角路由和优化路由当通信对端直接通过隧道与移动节点通信时,对端必须知道移动节点当前的优化地址为防止别人伪造注册消息,网络管理员为每个移动节点和它的家乡代理配置一对密钥是可行的,但为移动节点和它的每一个通信对端都分配一对密钥是不现实的53Triangle Rou

41、tingTriangle routing is undesirable becausehome agent is the bottleneckmore network load, and sensitivity to network partitionIn case of reverse tunneling, the situation is even worseMobile Node “visiting” a foreign linkForeign AgentHome AgentCorrespondentWhy doesnt the mobile node inform the corres

42、pondent of its care-of address and have it tunnel directly to the mobile node?54Optimized RoutingMobile Node “visiting” a foreign linkForeign AgentHome AgentCorrespondentThis is potentially more efficient in terms of delay and resource consumption.Why is it not used? Route optimization: Get binding

43、to the correspondent host55 The CN must be mobility aware Basically a security problem How do a CN knows if the Binding Update is not a fake? Easy answer: CN and HA must have a security association for authenticationGet binding to relevant correspondent hosts for optimal routingbinding warning (mobi

44、lity agent home agent)binding request (correspondent host home agent)binding update (home agent correspondent host)binding acknowledge (optional)Optimized Routing56Optimized Routing(contd) When a mobile nodes home agent intercepts a datagram from the home network and tunnels it to the mobile node, t

45、he home agent may deduce that the original source of the datagram has no binding cache entry for the destination mobile node. The home agent SHOULD then send a Binding Update message to the original source node, informing it of the mobile nodes current mobility binding.57Optimized Routing(contd)Simi

46、larly, when any node (e.g., a foreign agent) receives a tunneled datagram, if it has a binding cache entry for the destination mobile node (and thus has no visitor list entry for this mobile node), the node receiving this tunneled datagram may deduce that the tunneling node has an out-of-date bindin

47、g cache entry for this mobile node. In this case, the receiving node SHOULD send a Binding Warning message to the mobile nodes home agent, advising it to send a Binding Update message to the node that tunneled this datagram.A Binding Warning message is used to transmit advice that a Binding Update i

48、s needed by one or more correspondent nodes or foreign agents. This happens when the suggested recipients are likely to have either no binding cache entry or an out-of-date binding cache entry for some mobile node. When any node detunnels a datagram destined for the mobile node, if it is not the cur

49、rent foreign agent for the destination mobile node, that foreign agent SHOULD send a Binding Warning message to the mobile nodes home agent. If the foreign agent does not have any information about the mobile nodes home agent, the foreign agent SHOULD send a Binding Warning message to the sender of

50、the datagram (i.e., the correspondent node).58Optimized Routing(contd)When sending an IP datagram, if the sending node has a binding cache entry for the destination node, it SHOULD tunnel the datagram to the mobile nodes care-of address using the encapsulation techniques used by home agents, and des

51、cribed in 9, 10, 3, 4. 3 S. Hanks, T. Li, D. Farinacci, and P. Traina. Generic Routing Encapsulation (GRE). RFC 1701, October 1994. 4 S. Hanks, T. Li, D. Farinacci, and P. Traina. Generic Routing Encapsulation over IPv4 networks. RFC 1702, October 1994. 9 C. Perkins. IP Encapsulation within IP. RFC

52、2003, October 1996. 10 C. Perkins. Minimal Encapsulation within IP. RFC 2004, October 1996.59Route Optimization in Mobile IP, draft-ietf-mobileip-optim-11, September 2001 The basic idea behind route optimization is to use a direct route between MNs and their CNs to bypass the HA. CNs maintain a bind

53、ing cache of the CoAs of MNs. When a CN sends packets to an MN, it first checks if it has a binding cache entry for the MN. If yes, the CN tunnels the packets directly to the CoA of the MN. If no binding cache entry is available, the CN sends the packets following the basic Mobile IP procedure, that

54、 is, via the HA of the MN. The CN learns about the most recent CoA of an MN in either of the following two ways:When the HA intercepts and tunnels packets destined to an MN, it sends a Binding Update message to the source of the packets about the current CoA of the MN. When tunneled packets reach an

55、 FA which no longer has the destination MN in its visitor list, the FA sends a Binding Warning message to the HA asking the HA to send a Binding Update message to the source node.60Route Optimization in Mobile IP, draft-ietf-mobileip-optim-11, September 2001 Route optimization also takes care of the

56、 packets already tunneled to the old CoA and in flight. When an MN registers with a new FA, it requests the new FA to notify the previous FA about the movement. This ensures that packets in flight to the old CoA are successfully forwarded. It also ensures that packets from the CN with out-of-date bi

57、nding cache entries for the MN are successfully delivered to the MNs new CoA. Moreover, route optimization also ensures that any resources consumed by the MN at the old FA are released immediately, rather than waiting for the registration time to expire .615.5 本章总结1) 代理搜索是移动节点用来决定它的当前链路上有没有家乡代理、外地代理存在的技术包括两种消息,即代理广播消息( Agent Advertisement)和代理请求消息( Agent Solicitation),这是从ICMP Router Discovery的相应消息外推而来的。2) 注册是移动节点向外地代理(如果存在的话)请求选路和隧道拆封服务的方法,是移动节点将它的当前转交地址告诉它的家乡代理的方法,也是移动节点为一个快过期的注册进行重新注册的方法,它还为移动节点提供了回到家乡链路上时的注销机制。注册规程包括两种消息,即注册请求和注册应答3) 移动IP为连接在外地链路上的移动节点的点到点通信、组播和广播通信都定义了数据包的路由机制。三角路由和优化路由62

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号