1、1,第八讲 移动IP与隧道技术,要求 1、掌握移动IP的工作模型和机制 2、掌握移动IP的三项基本功能和相应报文 3、了解移动IP常用的三种隧道技术,解决:移动计算支持问题,2,8.1 移动IP工作模型,一、动机和问题描述1、移动应用需求(1)便携机异地上网(2)移动计算:无线接入计算机在运动中跨越不同网络(3)网络的移动:局域网在移动中与Internet互连2、可能的解决方法(1)更换IP地址? (2)特定主机路由?3、必须使移动性对用户透明方便用户使用,并对其它用户屏蔽移动用户细节来保持正常通信,移动IP重点研究移动并不快速、频繁的情况,3,1、两种工作模型,MH:Mobile Host,
2、移动主机 HA: Home Agent,家乡代理 FA : Foreign Agent,外地代理,HA,家乡网络,外地网络,第一种:MH获得一个临时地址,第二种:MH通过FA代理通信事宜,FA,二、移动IP工作模型,相当于基站,4,主地址(Primary address):在家乡网络上分配的永久地址,在移动过程中保留不变,并为其应用程序和其它用户使用辅地址(Secondary address):随移动而改变的临时地址,对其它用户透明,主机移动后,辅地址作为转交地址(care-of address),有两种形式: (1)合作定位转交地址(co-located care-of address)通过
3、DHCP或手工配置等方式分配给移动过来的主机MH,MH处理所有转发事宜 (2)外地代理转交地址(foreign agent care-of address)FA把自己的某接口地址告诉MH,作为MH的转交地址,FA负责为MH处理转发事宜,2、MH的地址,5,1、HA和FA周期性组播或广播代理通告消息宣告它们与网络的连接关系 2、MH收到代理通告后,确定是在家乡还是在外地若在家乡,则不再使用移动IP 3、在外地的MH需要一个转交地址 外地代理转交地址:可以从代理通告消息中找到 合作定位转交地址:通过配置得到 4、MH向HA注册它的转交地址 5、发给MH的包(1)HA截获,然后通过隧道发到转交地址(
4、2)在转交地址处,原数据包从隧道中取出交给MH 6、MH外发的包:直接路由到目的地,三、移动IP工作机制,6,四、移动IP应解决的问题1、代理发现2、登记注册3、数据传送,7,8.2 移动IP的功能,代理发现基本任务,代理发现 登记注册 数据传输, 主机如何判别自己移动到外网了? 或者更换了网络? 如何得到一个转交地址?, 路由器周期性地发送ICMP路由器通告报文+移动代理扩展 MH通过比较报文中的IP地址,判断是否在外网或者更换了网络,代理发现移动判别机制,8,1、利用ICMP的路由器发现机制寻找代理(1)判断是在家乡还是在外地(2)检测是否切换了网络(3)在外地时,得到一个转交地址2、代理
5、发现报文:代理通告,代理恳求 (1)代理恳求报文 = 路由器恳求报文(P59),以广播或组播方式发送,群组地址224.0.0.2,一、代理发现,9,HA、FA周期性地广播或组播 路由器通告 + 移动代理扩展 + 前缀扩展(可选),网络前缀,让MH判断代理所在的网络,路由器通告,移动代理 扩展,前缀扩展,通告 频率,P177,为16时,不允许作为 普通路由器,作移动检测时用,(2)代理通告报文,参P58,10,(3)判断是否在家乡根据封装代理通告报文的IP报首部中的源地址,或通告报文中的路由器地址进行判断 (4)MH如何进行移动检测 利用lifetime:若移动节点已在某FA登记,且在固定时间内
6、未收到此FA发送的代理公告,则可判断自己漫游到一个新的网络中 利用前缀扩展:移动节点对比前后两次收到的代理公告中网络前缀,若相同,则认为自己仍在原网络中,否则说明已移入新网 (5)获得转交地址有FA通告消息时,取之 否则,自动或手工配置,11,在HA上登记(告知转交地址)或注销登记( MH在外地获得转交地址以及有关信息,必须告诉家乡代理 )1、登记过程,(2)无FA时,MH直接向HA登记,(3)MH回家后,MH向HA发注销登记请求,(1)有FA时,MH向FA登记,再由FA向HA登记HA把确认发给FA,再由FA回送给MH,二、注册登记,12,(1) 通过UDP发送,知名端口434 (2) Lif
7、etime指定登记间隔,到期时若无新的登记请求到来,则认为该MH失效 (3) 应答报文的标志域中,有登记成功或失败及其原因,64 bit,匹配请求和应答,防止收到旧报文,2、登记报文格式,请求P179,13,3、注销登记:没有专门的报文在登记请求报文中置lifetime为0同时把转交地址置为MH的家乡地址即为注销,5、MH如何得知它的HA地址(1)事先配置好(2)若MH事先不知,则采用两步登记过程第一步:发登记请求,HA地址置为家乡网络的广播地址;消息广播到家乡,愿作HA的代理发出标志 = 136的拒绝应答,告知它的地址第二步:MH利用得到的HA地址,再次发登记请求,4、FA如何处理登记请求中
8、继(不是转发):修改IP首部中的源、目的地址,修改UDP中的源端口(如有必要),14,1、MH与FA的通信 (1)MH和FA通信,使用MH的家乡地址 (2)此时不能按照通常路由或使用ARP为能正确通信,FA在处理MH的登记请求时,记录MH的物理地址、UDP端口、家乡地址、HA地址等 (3)MH和FA之间使用物理地址直接交付,2、MH向外传送数据报 (1)使用家乡地址作为源地址 (2)选择一个路由器(关键是迈出第一步)A. 有具有路由能力的FA时,选择之B. 否则,若有路由器通告消息,从消息帧中找出该路由器的物理地址,三、数据传送,15,(1)非家乡网络上主机发给MH的包若直接到达HA,则OK若
9、到其它路由器,则传给HA (2)家乡网络上主机发送给MH的包使用代理ARP技术,让主机发给HA,3、向MH传送数据报,由HA截获,FA或MH,报文,报文,16,(1)一般:三角转发 (2)当MH与外地网络(或附近)主机通信时,产生双交叉问题(也称2X问题),2X问题解决办法之一:为MH传播特定主机路由,H,如:H与移动主机MH通信,4、数据传送的主要缺点:效率低,17,接收 (1)MH在登记时向HA声明是否转送广播包(P179) (2)无FA时,直接用隧道发给MH (3)有FA时,FA不知道送给谁HA要作两层封装,把MH的家乡地址包括进去发送:与广播类型有关 (1)到外地网络上的有限广播,直接
10、发 (2)到家乡网络上的有限广播,通过隧道发给HA (3)对某特定网络上广播,可像通常广播一样发送,或通过隧道先发给HA,5、MH收发广播,18,接收:两种选择 (1)MH通过隧道向家乡网络组播路由器发IGMP报文 (2) MH直接向外地网络组播路由器发IGMP报文(组播路由器只关心有无接收者,不关心是谁) 发送:不能用MH的家乡地址作为组播报的源地址 (1)通过隧道发给HA(HA必须有组播能力) (2)对合作定位转交地址,用它作源地址直接在外地网络上组播,6、MH收发组播,19,8.3 隧道技术,一、隧道1、隧道技术:数据报经过不能直接传送它的网络,选择两个端点,将数据报进行特殊封装后,从一
11、端传送到另一端,这就是隧道传送技术。隧道:一个数据报被封装进另一个数据报中(作为后者的数据)进行传送时所经过的路径隧道需事先定义两个端点传输时,发送端称为隧道入口,接收端称为隧道出口 2、移动IP常用的三种隧道技术 (1)IP-in-IP封装(IP-in-IP Encapsulation) RFC2002 (2)最小封装(Minimal Encapsulation) RFC2003 (3)通用路由封装( GRE:Generic Routing Encapsulation) RFC1701,20,1、封装方式:把一个IP包封装在一个新的IP包中,数据区,新IP首部,2、原IP首部在隧道中不会再变
12、,其TTL在入、出口各减1,源IP=原始源站 目的IP=最终目的地,源IP地址: 隧道入口地址 目的IP地址:隧道出口地址协议类型: 4(IP协议包)TTL:足够大,使其能穿越隧道首部长度、总长、校验和:重新计算其余复制原IP首部的内容,二、IP-in-IP封装:最简单,21,2、TTL在隧道中仍不断减少,1、封装方式,最小转发首部(8-12字节,保留原首部中不能丢失的信息),数据区,新IP首部,主要修改源、目IP地址、 协议类型(55),若源就是隧道入口, 则S置0,无此项,修改,三、最小封装:减少首部冗余,22,1、封装方式:将一种协议的网络层数据包封装在另一种协议的网络层数据包中,GRE
13、首部,4-20字节,数据区,新首部,净荷包协议,四、GRE封装:多协议封装,23,2、防止递归封装递归封装:隧道中的数据包在离开隧道前又重新进入同一条隧道递归封装与多重封装(隧道嵌套)不同 (1)GRE:用Recur字段规定封装次数每封装一次其值减1,为0时不允许再次封装 (2)IP-in-IP,最小封装:比较源IP和隧道出入口IP进行判断,C:Checksum;R:Routing Present;K:Key; S:Number Sequence;s:Strict Source Routing,GRE首部,24,五、隧道技术需考虑的问题,(一)ICMP报文如何传送?,1、问题 ICMP应发送到
14、原始源站,但隧道中传输时源IP是隧道入口 ICMP回传IP首部和数据区前64比特,但由于封装,原始IP首部和原始数据区数据可能包含不了2、解决 利用隧道的软状态,将ICMP报文中继到原始源站 中继哪些ICMP报文,移动IP有详细规定,(二)递归封装问题,25,本讲小结,基本问题:移动计算(异地,运动中) 基本机制:家乡代理、外地代理、转交地址 三项功能:1、代理发现:路由器通告,移动判别2、登记注册:家乡代理上登记(告知转交地址)3、数据传送:单播、广播、组播收、发不同,特殊技巧2X问题 隧道技术:IP-in-IP封装:直接、简单最小封装:减少首部冗余通用路由封装GRE:通用,ICMP数据传送问题 递归封装问题,26,移动IP的RFC文档,RFC2002:定义了移动IP协议 RFC2003、2004、1701 (GRE) :定义了移动IP用到的3种隧道技术 RFC2005:叙述了移动IP的应用 RFC2006:定义了移动IP的管理信息库MIB RFC2344:定义了移动IP反向隧道,RFC3024对之进行了修订 RFC2794:定义了移动IPv4的网络接入检验扩展 RFC3012:定义了移动IP的询问/应答扩展机制,27,练习:P183 3,