IPv6的移動性
北方交通大學運輸自動化與通信實驗室 桑海泉
北京郵電大學多媒體通信實驗室 孫世明
摘 要:本文討論了移動IP對IPv6(Internet Protocol Version 6)的支持。我們先簡單介
紹IPv6,描述它的特性,并將它與IPv4比較,然后研究目前的移動IPv6提案,指明IPv6中的
新特性使得它比IPv4能更好地支持移動功能。
關鍵詞:IPv6,IETF,移動節(jié)點,家鄉(xiāng)代理,轉交地址,路由器搜索,布告
IPv6是下一代的因特網協(xié)議,它最終將代替IPv4成為因特網的主要網絡層協(xié)議。移動IPv6目前
是IETF(Internet Engineering Task Force)移動IP工作組議程上的主要課題。移動IPv6的文
件發(fā)展得很快,本文只討論基于移動IPv6文件的第二個版本。
一、IPv6和IPv4的不同
IPv6與IPv4有許多重要的不同,其中最大的兩個不同在于:地址長短,IPv6中為128比特,而IPv4
中為32比特;IPv4報頭中許多不常用的域被從IPv6報頭中刪除了,放入了可選項和報頭擴展中;
IPv6中的可選項有更嚴格的定義,因此比IPv4中的可選項更有用。
移動IPv6從IPv4中借鑒了許多概念和術語。IPv6中仍然有移動節(jié)點和家鄉(xiāng)代理,但沒有外地代
理、家鄉(xiāng)地址、家鄉(xiāng)鏈路、轉交地址和外地鏈路的概念。移動IPv6中同時采用隧道和源路由技
術向連接在外地鏈路上的移動節(jié)點傳送數據包,而在移動IPv4中只采用了隧道技術。移動IPv6
的高層功能和移動IPv4一樣,大概也和移動IPv4的三大元素相似,即代理搜索、注冊和選路。
二、移動IPv6的工作原理
2.1移動IPv6的組成
移動IPv6的操作可以總結如下:
●移動節(jié)點采用IPv6版的路由器搜索(Router Discovery)確定它的轉交地址。
●移動節(jié)點連接在它的家鄉(xiāng)鏈路上時與任何固定的主機和路由器一樣工作。
●當移動節(jié)點連接在外地鏈路上時,它采用IPv6定義的地址自動配置方法得到外地鏈路上的轉
交地址。
●移動節(jié)點將它的轉交地址通知給家鄉(xiāng)代理。
●如果可以保證操作時的安全性,移動節(jié)點也將它的轉交地址通知幾個通信伙伴。
●不知道移動節(jié)點的轉交地址的通信伙伴送出的數據包和移動IPv4中一樣進行路由,即它們先
被路由到移動節(jié)點的本地網絡,從那里家鄉(xiāng)代理再將它們經過隧道送到移動節(jié)點的轉交地址。
●知道移動節(jié)點轉交地址的通信伙伴送出的數據包可以利用IPv6選路報頭直接送給移動節(jié)點,
選路報頭將移動節(jié)點的轉交地址作為一個中間目的地址。
●在相反方向,移動節(jié)點送出的數據包采用特殊的機制被直接路由到它們的目的地。
然而,當存在入口方向的過濾時,移動節(jié)點可以將數據包通過隧道送給家鄉(xiāng)代理,隧道的源地
址為移動節(jié)點的轉交地址。
2.2移動節(jié)點如何確定它的位置
下面介紹移動IPv6的代理搜索,移動節(jié)點通過這個過程完成以下工作:
●決定它當前連接的是家鄉(xiāng)鏈路還是外地鏈路。
●決定它是否從一條鏈路移動到了另一條鏈路上。
●當連接在外地鏈路上時取得一個轉交地址。
1 ICMPv6路由器搜索
ICMPv6路由器搜索與移動IPv4中的代理搜索十分相似。IPv6鄰接點搜索[RPC 1970]中定義的路
由器搜索包括兩條報文:路由器請求(Router Solicitations)和路由器廣播(Router Advertise
ments)。與移動IPv4一樣,路由器廣播由路由器和家鄉(xiāng)代理在它們所連接的鏈路上進行周期地廣
播,路由器請求則是由那些沒有足夠耐心等待下一個送到的路由器廣播報文的移動節(jié)點送出的。
與移動IPv4中一樣,路由器搜索報文也不要求進行認證。
2、移動節(jié)點如何得到轉交地址
下面介紹移動節(jié)點確定它正連接在外地鏈路上時,得到轉交地址的兩種方法。由于移動IPv6中沒
有外地代理,因此移動IPv6中唯一的一種轉交地址是配置轉交地址。移動節(jié)點用接收到的路由器
廣播報文中的M比特來決定采用哪一種方法。如果M比特為0,那么移動節(jié)點采用被動地址自動配置
(Stateful Address Autoconfiguration),否則移動節(jié)點采用主動地址自動配置(Stateless
Address Autoconfiguration)。
★被動地址自動配置
移動節(jié)點可以通過被動地址自動配置得到轉交地址。在這種方法中,移動節(jié)點只是向一個服務器
申請一個地址,并將這個地址當作自己的轉交地址。與IPv4的情況相對應,IPv6中的“被動”地址
分配協(xié)議是動態(tài)主機配置協(xié)議DHCPv6(Dynamic Host Configuration Protocol for IPv6)。
DHCP
v6與IPv4的DHCP非常相似。另外,PPP的IPv6配置協(xié)議(PPP's IPv6 Configuration Protocol)
也
提供了一種服務器向移動節(jié)點提供轉交地址的方法。
★主動地址自動配置
移動節(jié)點還可以通過主動主機地址自動配置得到轉交地址。主動地址自動配置是IPv6中新增加的,
在IPv4中沒有類似的功能。主動地址自動配置是這樣工作的:
1)移動節(jié)點首先形成一個接口標記,這是一個與鏈路有關的標識,用來標識移動節(jié)點上與外地鏈路
相連的接口。接口標記常取移動節(jié)點在那個接口上的數據鏈路層地址。
2)移動節(jié)點檢查路由器廣播報文中的前綴信息可選項(Prefix Information Options),以決定當
前
鏈路上有效的網絡前綴。
3)移動節(jié)點將一個有效的網絡前綴和接口標記相連形成自己的轉交地址。
自動地址配置包含一種檢查機制,移動節(jié)點可用它來檢查得到的地址是否被鏈路上的其他節(jié)點使
用。
如果有這樣的地址重復出現(xiàn),那么自動配置協(xié)議還定義了節(jié)點得到唯一地址的方法。
3 移動節(jié)點如何將轉交地址告訴別的節(jié)點
移動IPv6采用布告(Notification)過程通知移動節(jié)點家鄉(xiāng)代理或其他節(jié)點它當前的轉交地址。移
動IPv6中的布告和移動IPv4中的注冊有很大的不同。在移動IPv4中,移動節(jié)點通過UDP/IP包中攜
帶
的注冊信息將它的轉交地址告訴家鄉(xiāng)代理,相反地,移動IPv6中的移動節(jié)點用目的地址可選項(Des
tination Options)來通知其他節(jié)點它的轉交地址。
為移動IPv6布告所定義的三條消息為綁定更新(Binding Update)、綁定應答(Binding
Acknowled
gment)和綁定請求(Binding Request)。這些消息都被放在目的地可選報頭中,這表明這些消息都
只被最終目的節(jié)點檢查。移動IPv6布告過程包括在移動節(jié)點和家鄉(xiāng)代理或通信伙伴間交換綁定更
新和綁定應答。綁定應答很可能是在移動節(jié)點收到一個綁定請求后發(fā)出的。
有時,通信伙伴通過向移動節(jié)點發(fā)送一個綁定請求啟動布告過程,移動節(jié)點則通過發(fā)送綁定更新(不
是由任何綁定請求激起的)啟動布告過程。在這兩種情況中,移動節(jié)點都向家鄉(xiāng)代理或通信伙伴告
知它當前的轉交地址。移動節(jié)點可以通過綁定更新中特殊的設置來要求接收者是否通過向移動節(jié)
點發(fā)送綁定應答來響應,綁定應答首先通知移動節(jié)點綁定更新已收到,其次還告訴移動節(jié)點綁定更
新是否被接受。
2.3 數據包的選路
知道移動節(jié)點的轉交地址的通信伙伴可以利用IPv6選路報頭直接將數據包發(fā)送給移動節(jié)點,這些包
不需要經過移動節(jié)點的家鄉(xiāng)代理,它們將經過從始發(fā)點到移動節(jié)點的一條優(yōu)化路由。
如果通信伙伴不知道移動節(jié)點的轉交地址,那么它就像向其他任何固定節(jié)點發(fā)送數據包那樣向移動
節(jié)點發(fā)送數據包。這時,通信伙伴只是將移動節(jié)點的家鄉(xiāng)地址(也是它知道的唯一地址)放入目的
IPv6地址域中,并將它自己的地址放在源IPv6地址域中,然后將數據包轉發(fā)到合適的下一跳上(這由
它的IPv6路由表決定)。
這樣發(fā)送的一個數據包將被送往移動節(jié)點的家鄉(xiāng)鏈路,就像移動IPv4中那樣。在家鄉(xiāng)鏈路上,家鄉(xiāng)
代理截獲這個數據包,并將它通過隧道送往移動節(jié)點的轉交地址。移動節(jié)點將送過來的包拆封,發(fā)
現(xiàn)內層數據包的目的地是它的家鄉(xiāng)地址,于是將內層數據包交給高層協(xié)議處理。
三、小結
IPv6是下一個版本的因特網協(xié)議,是為克服目前版本的缺點而設計的。與IPv4相比,IPv6有更大的
地址空間、對報頭擴展及可選項更好的支持。IPv6還定義了許多新功能,將其統(tǒng)稱為鄰節(jié)點搜索,
可以用來直接提供移動IPv6所需的一些功能。
在移動IPv6中,移動節(jié)點不僅僅通知家鄉(xiāng)代理它當前的轉交地址,也將轉交地址通知給一些通信伙
伴,這使得知道移動節(jié)點轉交地址的通信伙伴可以利用選路報頭直接將數據包路由給移動節(jié)點。不
知道移動節(jié)點轉交地址的那些通信伙伴發(fā)出的數據包則和移動IPv4中一樣進行路由,也就是送到家
鄉(xiāng)鏈路上,在那里由家鄉(xiāng)代理通過隧道將數據包送到轉交地址上。移動節(jié)點送出的數據包也和移動
IPv4中一樣被直接送到它們的目的地,而無需任何特殊選路機制。