ch22第5章-技術(shù)細節(jié)-移動IP技術(shù)-教學(xué)課件_第1頁
ch22第5章-技術(shù)細節(jié)-移動IP技術(shù)-教學(xué)課件_第2頁
ch22第5章-技術(shù)細節(jié)-移動IP技術(shù)-教學(xué)課件_第3頁
ch22第5章-技術(shù)細節(jié)-移動IP技術(shù)-教學(xué)課件_第4頁
ch22第5章-技術(shù)細節(jié)-移動IP技術(shù)-教學(xué)課件_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

第5章技術(shù)細節(jié)代理搜索通過這個過程,移動節(jié)點可以判定它的當(dāng)前位置,并得到一個轉(zhuǎn)交地址。注冊通過這個過程,移動節(jié)點向外部代理請求服務(wù),并通知家鄉(xiāng)代理它的轉(zhuǎn)交地址。包傳送當(dāng)移動節(jié)點連接在外地鏈路上時,對它發(fā)出的或發(fā)往它的數(shù)據(jù)包進行路由的特殊機制。第5章技術(shù)細節(jié)代理搜索通過這個過程,移動節(jié)點可以判定它的當(dāng)15.2代理搜索AgentDiscovery判定它當(dāng)前連在家鄉(xiāng)鏈路上還是外地鏈路上。檢測它是否切換了鏈路。當(dāng)連在外地鏈路上時,得到一個轉(zhuǎn)交地址。5.2代理搜索AgentDiscovery判定它當(dāng)前連在25.2.1代理搜索包括的消息代理(家鄉(xiāng)的、外地的)利用代理廣播消息(AgentAdvertisement)向移動節(jié)點宣布它們的功能。移動節(jié)點可以判定該鏈路上是否有代理存在。移動節(jié)點沒有耐心等待下一個周期發(fā)送的代理廣播消息時,它可以發(fā)送代理請求消息(AgentSolicitation)。5.2.1代理搜索包括的消息代理(家鄉(xiāng)的、外地的)利用代理3ICMPmessages

0Echoreply

8Echorequest13/14Time-stamprequest/reply17/18Addressmaskrequest/reply9Routeradvertisementmessage16移動代理廣播擴展MIPv4:rfc3344MobilityAgentAdvertisementExtension19前綴長度擴展Prefix-LengthsExtension10Routersolicitationmessage源站抑制TypeMessage

3Destinationunreachable4Sourcequench11Timeexceeded12Parameterproblem5RedirectICMPmessages0Echoreply源站4圖5-1代理請求消息ICMPIP包的生存時間域必須置成1。rfc1256ICMPRouterDiscoveryMessages圖5-1代理請求消息ICMPIP包的生存時間域必須置成15圖5-2代理廣播消息生存時間域(Lifetime)(與移動代理廣播擴展中的注冊生存時間RegistrationLifetime域無關(guān))表明代理發(fā)送廣播的頻率,這個值主要用來作“移動檢測”。由外地代理發(fā)出的廣播F比特置為1,同樣,由家鄉(xiāng)代理發(fā)出的廣播H比特也置為1。前綴長度被移動節(jié)點用來作“移動檢測”。圖5-2代理廣播消息生存時間域(Lifetime)(與65.2.2移動節(jié)點如何判定自己的移動1.用生存時間域作移動檢測利用代理廣播消息中ICMP路由器廣播部分的生存時間域,這個域告訴移動節(jié)點,每過多長時間它就可以從同一個代理那里收到一個廣播如果沒有收到任何廣播,它就發(fā)出一個代理請求消息去詢問。2.用網(wǎng)絡(luò)前綴作移動檢測移動節(jié)點通過比較兩個廣播消息的網(wǎng)絡(luò)前綴就可以判定它們是否來自同一條鏈路對于每一個路由器地址項,網(wǎng)絡(luò)前綴(i)由路由器地址(i)的左邊前綴長度(i)個比特決定如果發(fā)現(xiàn)它已移動到新鏈路上了,就應(yīng)向在新鏈路上的外地代理進行注冊5.2.2移動節(jié)點如何判定自己的移動1.用生存時間域作移75.2.3移動節(jié)點收不到任何廣播消息時怎么辦1.設(shè)法在家鄉(xiāng)鏈路上通信如可以向它在家鄉(xiāng)鏈路上用的缺省路由器發(fā)送ICMPEchoRequest消息,如果這臺缺省路由器給出了應(yīng)答,那么移動節(jié)點很可能正連在它的家鄉(xiāng)鏈路上,這樣就可以繼續(xù)通信了2.在外地鏈路上用DHCP和手工配置如果缺省路由器沒有應(yīng)答,那么移動節(jié)點可以認(rèn)為它正連在一條外地鏈路上3.無需廣播消息的移動檢測(傳輸層)(假定可以得到一個配置轉(zhuǎn)交地址)TCP進程監(jiān)測在它已打開的TCP連接上檢查最近有沒有轉(zhuǎn)發(fā)進行。如沒有,則移動過了檢查鏈路上的所有包這些包中沒有一個網(wǎng)絡(luò)前綴與它的轉(zhuǎn)交地址的網(wǎng)絡(luò)前綴一樣4.可以利用數(shù)據(jù)鏈路層來判定它的當(dāng)前位置,從而通過DHCP或手工配置得到一個轉(zhuǎn)交地址。5.2.3移動節(jié)點收不到任何廣播消息時怎么辦1.設(shè)法在家85.2.4總結(jié)代理搜索,即移動節(jié)點判斷它是連在家鄉(xiāng)鏈路還是外地鏈路上以及找到所在鏈路上的代理的過程。移動節(jié)點接收由家鄉(xiāng)代理和外地代理周期發(fā)送的代理廣播消息,它也可以通過發(fā)送代理請求得到廣播消息。由于密鑰管理上的困難,這兩個消息無需認(rèn)證。移動檢測兩種機制用生存時間域,移動節(jié)點可以在任何情況下采用這種方法。利用網(wǎng)絡(luò)前綴,這要求代理在它們的代理廣播消息中加入前綴長度擴展部分。轉(zhuǎn)交地址獲得:移動節(jié)點只需從鏈路上的外地代理發(fā)送的代理廣播消息中讀出轉(zhuǎn)交地址就可以了如果移動節(jié)點連接的鏈路上沒有發(fā)送廣播消息,它可以利用傳輸層和數(shù)據(jù)鏈路層來判定它的當(dāng)前位置,從而通過DHCP或手工配置得到一個轉(zhuǎn)交地址。5.2.4總結(jié)代理搜索,即移動節(jié)點判斷它是連在家鄉(xiāng)鏈路95.3注冊當(dāng)移動節(jié)點發(fā)現(xiàn)它的網(wǎng)絡(luò)接入點從一條鏈路切換到另一條鏈路上時,它就要進行注冊。另外,由于這些注冊也有一定的生存時間(注冊生存時間RegistrationLifetime域),所以在并沒有移動位置時,移動節(jié)點也要在現(xiàn)有注冊過期時進行注冊。5.3注冊當(dāng)移動節(jié)點發(fā)現(xiàn)它的網(wǎng)絡(luò)接入點從一條鏈路切換到另一10移動IP的注冊過程1)移動節(jié)點可以通過注冊得到外地鏈路上的外地代理的路由服務(wù)(認(rèn)證)。2)移動節(jié)點可以通知家鄉(xiāng)代理它的轉(zhuǎn)交地址。3)可以使一個要過期的注冊重新生效。4)移動節(jié)點在回到家鄉(xiāng)鏈路上時要進行注銷(BindingRevocation,RFC5846)注冊的另一些功能:1)同時注冊多個轉(zhuǎn)交地址,家鄉(xiāng)代理將送往移動節(jié)點家鄉(xiāng)地址的數(shù)據(jù)包通過隧道送往每個轉(zhuǎn)交地址(5.3.6節(jié))。2)可以在注銷一個轉(zhuǎn)交地址的同時保留其他轉(zhuǎn)交地址。3)在先前不知道它的家鄉(xiāng)代理的情況下,移動節(jié)點可以通過注冊動態(tài)地得到一個可能的家鄉(xiāng)代理的地址(5.3.3節(jié))。移動IP的注冊過程1)移動節(jié)點可以通過注冊得到外地鏈路上的11“綁定”-Binding家鄉(xiāng)代理必然有一張移動節(jié)點家鄉(xiāng)地址和轉(zhuǎn)交地址的對應(yīng)表,這張表中的一個表項就稱為綁定表項(BindingEntry)注冊過程的主要目的就是產(chǎn)生、修改或刪除家鄉(xiāng)代理中移動節(jié)點的綁定表項“綁定”-Binding家鄉(xiāng)代理必然有一張移動節(jié)點家鄉(xiāng)地址和12注冊消息移動IP注冊包括兩種消息的交互:注冊請求(RegistrationRequest)注冊應(yīng)答(RegistrationReply)圖5-3用UDP傳送注冊消息注冊消息移動IP注冊包括兩種消息的交互:圖5-3用UDP傳13注冊的種類圖5-4移動節(jié)點用外地代理轉(zhuǎn)交地址注冊在一條外地鏈路上圖5-5移動節(jié)點用配置轉(zhuǎn)交地址注冊在一條外地鏈路上(可能在外地鏈路上沒有外地代理)圖5-6移動節(jié)點在回到家鄉(xiāng)鏈路后進行注銷注冊的種類圖5-4移動節(jié)點用外地代理轉(zhuǎn)交地址注冊在一條外14注冊消息格式Mobile-HomeAuthenticationExtension移動-外地認(rèn)證擴展外地-家鄉(xiāng)認(rèn)證擴展B、D、M、G和V比特主要與選路有關(guān)生存時間為零表示移動節(jié)點希望注銷一個轉(zhuǎn)交地址圖5-7注冊請求消息圖5-8注冊應(yīng)答消息(定長部分)Code域給出了拒絕的原因注冊消息格式Mobile-HomeAuthenticati15移動節(jié)點何時注冊當(dāng)移動節(jié)點發(fā)現(xiàn)自己從一條鏈路切換到了另一條鏈路上時就開始注冊過程。有時即使沒有鏈路的切換,它也進行注冊當(dāng)移動節(jié)點發(fā)現(xiàn)它所連接的外地代理進行了重起時(這可從外地代理廣播消息中的序列號得知);當(dāng)目前的注冊就要過期時,移動節(jié)點也應(yīng)重新注冊。移動節(jié)點何時注冊當(dāng)移動節(jié)點發(fā)現(xiàn)自己從一條鏈路切換到了另一條鏈16移動節(jié)點如何發(fā)送注冊請求消息移動節(jié)點根據(jù)它代理搜索過程中得到的信息,選擇一種注冊種類,并組裝它的注冊請求消息B比特與廣播有關(guān)(5.4.7節(jié))D比特=1,自己解封裝M比特和G比特要求家鄉(xiāng)代理在隧道中采用最小封裝(MinimalEncapsulation)[RFC2004]或通用路由封裝(GenericRoutingEncapsulation)[RFC1701],而不是[RFC2003]中的IP封裝(IPinIPEncapsulation)。移動節(jié)點和外地代理在外地鏈路上能支持[RFC1144]中定義的VanJacobson報頭壓(HeaderCompression)時,就將V比特置為1。(5.4.8節(jié))幀頭IP頭UDP頭移動節(jié)點如何發(fā)送注冊請求消息移動節(jié)點根據(jù)它代理搜索過程中得到17如何確定在當(dāng)前鏈路上發(fā)送注冊消息時采用的數(shù)據(jù)鏈路層的目的地址?移動節(jié)點不能在外地鏈路上發(fā)送包含它的家鄉(xiāng)地址的ARP幀。移動節(jié)點應(yīng)記錄下外地代理發(fā)送的代理廣播消息中的數(shù)據(jù)鏈路層源地址,從而得到外地代理的數(shù)據(jù)鏈路層地址,移動節(jié)點可將這個地址作為承載注冊消息的數(shù)據(jù)鏈路層幀的數(shù)據(jù)鏈路層目的地址。移動節(jié)點得到外地鏈路上的缺省路由器IP地址的方法這臺缺省路由器是注冊消息經(jīng)過的第一跳,也是所有由移動節(jié)點發(fā)出的數(shù)據(jù)包經(jīng)過的第一跳移動節(jié)點可以通過ARP得到缺省路由器的數(shù)據(jù)鏈路層地址,只要在ARP請求消息中包含的是它的轉(zhuǎn)交地址而不是家鄉(xiāng)地址。移動節(jié)點如何發(fā)送注冊請求消息如何確定在當(dāng)前鏈路上發(fā)送注冊消息時采用的數(shù)據(jù)鏈路層的目的地址18外地代理如何處理注冊請求外地代理接收到注冊請求后,要對它進行一系列的有效性檢查1)移動節(jié)點在注冊請求消息中包含了移動外地認(rèn)證擴展部分,而其中的認(rèn)證算法域(Authenticator)卻是無效的,即移動節(jié)點在這個外地代理上的認(rèn)證沒有成功。2)移動節(jié)點請求的生存時間(Lifetime)超過了移動代理所允許的最大值。3)外地代理不支持移動節(jié)點所請求的隧道類型。4)外地代理沒有足夠的資源來支持更多的移動節(jié)點。注冊應(yīng)答的Code域給出了拒絕的原因。有效,則將該消息中繼(Relay)到移動節(jié)點的家鄉(xiāng)代理那里外地代理將包含注冊請求消息的數(shù)據(jù)包的IP報頭和UDP頭完全剝?nèi)?,再加上新的報頭后才送給家鄉(xiāng)代理在中繼注冊請求消息前,外地代理要記錄源數(shù)據(jù)鏈路層地址、源IP地址、源UDP端口號、家鄉(xiāng)代理地址、標(biāo)識域和請求的生存時間,為注冊應(yīng)答和路由數(shù)據(jù)包用。外地代理如何處理注冊請求外地代理接收到注冊請求后,要對它進行195.3.7“R”比特的處理移動代理廣播擴展(MobilityAgentAdvertisementExtension)的“注冊要求”比特,即R比特,為外地代理提供了一種機制,通知移動節(jié)點必須向它進行注冊,即使移動節(jié)點采用的是配置轉(zhuǎn)交地址,否則外地代理將拒絕為該節(jié)點路由數(shù)據(jù)包。外地代理是一臺外地鏈路上的路由器有時它同時為移動節(jié)點提供路由和拆封功能(當(dāng)移動節(jié)點采用外地代理轉(zhuǎn)交地址時)有時它只向移動節(jié)點提供路由功能(當(dāng)移動節(jié)點采用配置轉(zhuǎn)交地址時)圖5-4移動節(jié)點用外地代理轉(zhuǎn)交地址注冊在一條外地鏈路上圖5-5移動節(jié)點用配置轉(zhuǎn)交地址注冊在一條外地鏈路上(可能在外地鏈路上沒有外地代理)5.3.7“R”比特的處理移動代理廣播擴展(Mobili20家鄉(xiāng)代理如何處理注冊請求做一系列和外地代理相似的有效性檢查如果注冊請求是有效的,將如表5-2中所示,對移動節(jié)點的綁定表項進行更新家鄉(xiāng)代理根據(jù)請求開始通過隧道向移動節(jié)點的轉(zhuǎn)交地址傳送數(shù)據(jù)包,或者應(yīng)移動節(jié)點的要求關(guān)閉所有隧道另外,家鄉(xiāng)代理還將發(fā)送免費ARP或代理ARP消息最后,家鄉(xiāng)代理向移動節(jié)點發(fā)送注冊應(yīng)答,告知注冊成功表5-2家鄉(xiāng)代理對綁定的更新多重綁定家鄉(xiāng)代理如何處理注冊請求做一系列和外地代理相似的有效性檢查表215.3.6多重綁定

(Simultaneousbindings)用途:克服乒乓效應(yīng),減少注冊次數(shù)雙播機制實現(xiàn)快速切換多接口實現(xiàn)多連接,多家鄉(xiāng),異構(gòu)切換方法:移動節(jié)點將注冊請求消息中的S比特置1,通知家鄉(xiāng)代理它希望對一個特定的轉(zhuǎn)交地址進行綁定,而保持當(dāng)前別的綁定不變?nèi)绻苿庸?jié)點在兩個蜂窩之間來回切換,它就可以同時注冊這兩條鏈路上的轉(zhuǎn)交地址,這樣無論移動節(jié)點當(dāng)前接收的是哪一個發(fā)射器的信號,它都可以接收通過隧道傳過來的數(shù)據(jù)包圖5-11處于兩個蜂窩邊界上的移動節(jié)點5.3.6多重綁定

(Simultaneousbindin22外地代理如何處理注冊應(yīng)答外地代理接收到注冊應(yīng)答后,將對消息進行一系列的有效性檢查。發(fā)現(xiàn)應(yīng)答是無效的,將產(chǎn)生一個包含適當(dāng)?shù)腃ode域的注冊應(yīng)答給移動節(jié)點。有效,則外地代理就更新它對來訪的移動節(jié)點的列表,并采用從原始注冊請求消息中記錄的一些域的值,將應(yīng)答消息中繼給移動節(jié)點。外地代理對通過隧道發(fā)往移動節(jié)點的包進行拆封,并對移動節(jié)點發(fā)過來的包實行缺省路由器的功能。外地代理如何處理注冊應(yīng)答外地代理接收到注冊應(yīng)答后,將對消息進23移動節(jié)點如何處理注冊應(yīng)答在接收到注冊應(yīng)答后,移動節(jié)點就開始進行自己的有效性檢查如果這條應(yīng)答消息是有效的,那么移動節(jié)點就檢查Code域,看看這次注冊是被家鄉(xiāng)代理(和外地代理)接受還是被拒絕了。常見的拒絕原因有:過長的生存時間(大于外地代理所允許的最大長度)和無效的標(biāo)識域(這時家鄉(xiāng)代理可能期望的是另一個值)-〉重新嘗試一次注冊。如果Code域表示注冊請求已被接受,那么移動節(jié)點就可以調(diào)整它的路由表,以適應(yīng)當(dāng)前鏈路,然后就可以開始通信或繼續(xù)先前的通信了。移動節(jié)點如何處理注冊應(yīng)答在接收到注冊應(yīng)答后,移動節(jié)點就開始進245.3.3移動節(jié)點如何得到家鄉(xiāng)代理的地址沒有配置家鄉(xiāng)代理地址的移動節(jié)點也可以通過移動IP注冊協(xié)議動態(tài)地得到家鄉(xiāng)代理的地址5.3.3移動節(jié)點如何得到家鄉(xiāng)代理的地址沒有配置家鄉(xiāng)代理地址25MobileIPv4DynamicHomeAgent(HA)Assignment-rfc4433ThisdocumentproposesamessagingmechanismfordynamichomeagentassignmentandHAredirection.ThegoalistoprovideamechanismtoassignanoptimalHAforaMobileIPsessionwhileallowinganysuitablemethodforHAselection.ThemobilenodeMUSTusetheNetworkAccessIdentifier(NAI)extensionforIPv4[2]whenrequestingadynamicallyassignedHA.[2]Calhoun,P.andC.Perkins,"MobileIPNetworkAccessIdentifierExtensionforIPv4",RFC2794,March2000.MobileIPv4DynamicHomeAgent265.3.4節(jié)點如何知道注冊消息的真正發(fā)送者移動節(jié)點為每次注冊請求選擇一個唯一的值寫入標(biāo)識域(Identification)第一個目的是使移動節(jié)點可以將注冊應(yīng)答和相應(yīng)的注冊請求對應(yīng)起來,使移動節(jié)點可以判斷一大堆注冊請求中的哪一個被接受了或被拒絕了。第二個目的是防止有人將移動節(jié)點的一個注冊請求消息存下來,之后又送回一個注冊應(yīng)答。所有的數(shù)據(jù)包送到“壞家伙”那里。標(biāo)識域的唯一性以及移動-家鄉(xiāng)認(rèn)證擴展(Mobile-HomeAuthenticationExtension)一起阻止這種事情(稱為拒絕服務(wù)攻擊)的發(fā)生。5.3.4節(jié)點如何知道注冊消息的真正發(fā)送者移動節(jié)點為每27拒絕服務(wù)攻擊為對付這種攻擊,移動IP要求對移動節(jié)點和家鄉(xiāng)代理之間的注冊消息進行認(rèn)證。認(rèn)證是一個發(fā)送節(jié)點向接收節(jié)點提供身份證明的過程,常采用一個只有發(fā)送者和接收者知道的秘密值來實現(xiàn)。這種認(rèn)證不可能通過檢查網(wǎng)上的數(shù)據(jù)包進行攻擊。移動IP在注冊請求消息中采用了標(biāo)識域,以防止這種重發(fā)攻擊的發(fā)生。移動節(jié)點和外地代理以及外地代理和家鄉(xiāng)代理之間的認(rèn)證移動-外地認(rèn)證擴展。外部-家鄉(xiāng)認(rèn)證擴展。由發(fā)送數(shù)據(jù)包的節(jié)點直接將包通過隧道(非移動-家鄉(xiāng)隧道)送往轉(zhuǎn)交地址,而不是先路由到家鄉(xiāng)鏈路上,這顯然效率要高得多。之所以不采用這種優(yōu)化的路由技術(shù),主要是對付拒絕服務(wù)攻擊。拒絕服務(wù)攻擊為對付這種攻擊,移動IP要求對移動節(jié)點和家鄉(xiāng)代285.4數(shù)據(jù)包的選路根據(jù)移動節(jié)點的當(dāng)前位置進行數(shù)據(jù)包選路的技術(shù)移動節(jié)點連接在家鄉(xiāng)鏈路上時移動節(jié)點連接在外地鏈路上時移動節(jié)點采用代理轉(zhuǎn)交地址采用的是配置轉(zhuǎn)交地址5.4數(shù)據(jù)包的選路根據(jù)移動節(jié)點的當(dāng)前位置進行數(shù)據(jù)包選路的技295.4.1移動節(jié)點在家鄉(xiāng)鏈路上時包的選路向位于家鄉(xiāng)鏈路上的移動節(jié)點傳送數(shù)據(jù)包所用的路由技術(shù)與向普通IP主機或路由器傳送數(shù)據(jù)包的技術(shù)一模一樣。對于連接在家鄉(xiāng)鏈路上的移動節(jié)點發(fā)出的數(shù)據(jù)包,移動節(jié)點用它的路由表為它產(chǎn)生的數(shù)據(jù)包選擇一個合適的下一跳當(dāng)移動節(jié)點連接在家鄉(xiāng)鏈路上時,路由表項的生成也無需專門的規(guī)則5.4.1移動節(jié)點在家鄉(xiāng)鏈路上時包的選路向位于家鄉(xiāng)鏈路上的305.4.2移動節(jié)點在外地鏈路上時包的選路1)在家鄉(xiāng)鏈路上的路由器可能是家鄉(xiāng)代理,廣播對移動節(jié)點家鄉(xiāng)地址的網(wǎng)絡(luò)前綴的可達性。2)因此,目的地為移動節(jié)點家鄉(xiāng)地址的數(shù)據(jù)包被送往家鄉(xiāng)鏈路,其實是送往移動節(jié)點的家鄉(xiāng)代理。3)家鄉(xiāng)代理截獲這些送往移動節(jié)點的數(shù)據(jù)包。假設(shè)移動節(jié)點已經(jīng)注冊了一個或多個轉(zhuǎn)交地址,家鄉(xiāng)代理就通過隧道向每一個轉(zhuǎn)交地址發(fā)送一個數(shù)據(jù)包的拷貝。4)在每一個轉(zhuǎn)交地址(可能是外地代理的地址也可能是移動節(jié)點本身配置的地址)上,原始數(shù)據(jù)包從隧道中取出拆封后送往移動節(jié)點。5.4.2移動節(jié)點在外地鏈路上時包的選路1)在家鄉(xiāng)鏈路上31家鄉(xiāng)代理如何截獲數(shù)據(jù)包廣播對移動節(jié)點家鄉(xiāng)地址的可達性,一般只適用于家鄉(xiāng)代理是多端口路由器時的情況代理ARP家鄉(xiāng)鏈路利用ARP作地址解析(如以太網(wǎng)),那么對端主機將廣播一個ARP請求消息以得到移動節(jié)點的數(shù)據(jù)鏈路層地址。家鄉(xiāng)代理—它肯定在家鄉(xiāng)鏈路上有一個端口—發(fā)送一個ARP應(yīng)答,用家鄉(xiāng)代理的數(shù)據(jù)鏈路層地址對移動節(jié)點的IP家鄉(xiāng)地址作應(yīng)答免費ARP當(dāng)移動節(jié)點在一條外地鏈路上注冊,并且家鄉(xiāng)代理還沒有移動節(jié)點的綁定時,家鄉(xiāng)代理必須為該移動節(jié)點發(fā)送一些免費ARP,用家鄉(xiāng)代理的數(shù)據(jù)鏈路層地址來對應(yīng)移動節(jié)點的IP地址,以更新別的節(jié)點的ARP緩存。當(dāng)移動節(jié)點回到家鄉(xiāng)鏈路時,發(fā)送一條免費ARP消息,用移動節(jié)點的數(shù)據(jù)鏈路層地址對應(yīng)它的IP家鄉(xiāng)地址,重新對別的節(jié)點上的ARP緩存進行更新家鄉(xiāng)代理如何截獲數(shù)據(jù)包廣播對移動節(jié)點家鄉(xiāng)地址的可達性,一般只32通過虛擬端口進行路由表的合成IP路由表至少有四個域:目的地址(Target)、前綴長度(Prefix-Length)、下一跳地址(NextHop)以及端口(Interface)端口包含了一個指針,指向一組被稱為設(shè)備驅(qū)動的軟件端口常被說成是一個“物理端口”,因為設(shè)備驅(qū)動將激起某個硬件在某些物理媒介上發(fā)送比特流將隧道合成進路由表的技巧是定義一個虛擬端口。虛擬端口是一組軟件,它并不向物理媒介發(fā)送比特。虛擬端口將根據(jù)具體情況進行隧道封裝或拆封。采用指向虛擬端口的特定主機路由,是一種將移動IP所需的特殊處理與家鄉(xiāng)代理現(xiàn)有的IP路由表合成在一起的很好的方法通過虛擬端口進行路由表的合成IP路由表至少有四個域:目的地址33圖5-14通過家鄉(xiāng)代理上的虛擬端口進行封裝表5-3家鄉(xiāng)代理的路由表移動節(jié)點家鄉(xiāng)地址()通信對端新包的源地址為家鄉(xiāng)代理目的地址為下一跳地址54當(dāng)一個目的地為移動節(jié)點家鄉(xiāng)地址()的數(shù)據(jù)包到達家鄉(xiāng)代理時這個數(shù)據(jù)包從一個物理端口(如物理端口1)到達,并被送交IP路由軟件處理。“最佳”的匹配(即匹配長度最長)是到移動節(jié)點家鄉(xiāng)地址的特定主機路由—最后一項。家鄉(xiāng)代理通過端口a將數(shù)據(jù)包轉(zhuǎn)發(fā)到下一跳地址(),也就是移動節(jié)點的轉(zhuǎn)交地址。IP路由軟件激活端口a的軟件。將原始IP包封裝在新的IP包內(nèi)。新包的源地址為家鄉(xiāng)代理,目的地址為下一跳地址,或移動節(jié)點的轉(zhuǎn)交地址虛擬端口軟件重新激活I(lǐng)P路由軟件。路由表中對它的唯一一個匹配項是第二條表項中的路由。圖5-14通過家鄉(xiāng)代理上表5-3移動節(jié)點家鄉(xiāng)地址(7.34ch22第5章-技術(shù)細節(jié)-移動IP技術(shù)-教學(xué)課件35表5-4外地代理的路由表圖5-15虛擬端口:外地代理上的拆封移動節(jié)點家鄉(xiāng)地址()移動節(jié)點轉(zhuǎn)交地址()當(dāng)數(shù)據(jù)包經(jīng)過隧道到達外地代理時(經(jīng)過一個物理端口),它就被送給了IP路由軟件。IP路由軟件檢查(外層)數(shù)據(jù)包目的地址,發(fā)現(xiàn)是外地代理的一個地址,即外地代理廣播為轉(zhuǎn)交地址的那個地址,于是IP軟件將數(shù)據(jù)包(包括報頭和凈荷)交給“高層”處理。由高層即虛擬端口軟件處理所有協(xié)議域的值為IP的數(shù)據(jù)包。虛擬端口軟件剝?nèi)シ庋b的(外層的)IP報頭,并將凈荷,也就是被封裝的(內(nèi)層的)IP包,交給IP路由軟件處理。對IP路由軟件來說,原始IP包就像從虛擬端口a送來的。IP路由軟件發(fā)現(xiàn)自己現(xiàn)在正在處理一個目的地址與外地代理的IP地址不匹配的IP包,也就是說,必須查路由表以確定該數(shù)據(jù)包的轉(zhuǎn)發(fā)端口和下一跳地址。由虛擬端口交給高層的數(shù)據(jù)包是原始IP包,它的目的地址是移動節(jié)點的家鄉(xiāng)地址,對這個地址來說最好的匹配當(dāng)然是特定主機路由(表5-4中的第三項),這條路由表明這些包將通過端口1直接送到移動節(jié)點。表5-4圖5-15虛擬端口:移動節(jié)點家鄉(xiāng)地址(7.7.36圖5-14通過家鄉(xiāng)代理上的虛擬端口進行封裝表5-3家鄉(xiāng)代理的路由表表5-4外地代理的路由表圖5-15虛擬端口:外地代理上的拆封移動節(jié)點家鄉(xiāng)地址()移動節(jié)點轉(zhuǎn)交地址()通信對端新包的源地址為家鄉(xiāng)代理目的地址為下一跳地址54圖5-14通過家鄉(xiāng)代理上表5-3表5-4圖5-15虛375.4.3移動節(jié)點如何發(fā)送數(shù)據(jù)包1.在家鄉(xiāng)鏈路上選擇一臺路由器連接在家鄉(xiāng)鏈路上的移動節(jié)點就像一臺固定主機或路由器那樣工作,與同一條鏈路上的其他節(jié)點有相同的路由表5.4.3移動節(jié)點如何發(fā)送數(shù)據(jù)包1.在家鄉(xiāng)鏈路上選擇一臺382.在外地鏈路上選擇一臺路由器(1)通過外地代理注冊時選擇外地代理本身,它由代理周期發(fā)送的代理廣播消息中的源IP地址指明。選擇在任何節(jié)點的代理廣播或路由器廣播消息中,ICMP路由器廣播[RFC1256]部分的路由器地址域中出現(xiàn)的任何路由器。(2)沒有外地代理參加注冊(注冊了一個配置轉(zhuǎn)交地址時)移動節(jié)點可能將ICMP路由器廣播消息中路由器地址域中列出的任何地址作為路由器的地址如果沒有路由器發(fā)送廣播消息,那么移動節(jié)點依靠它得到配置轉(zhuǎn)交地址的方法(DHCP\PPP(IPCP))來得到路由器的地址2.在外地鏈路上選擇一臺路由器393.決定路由器的數(shù)據(jù)鏈路層地址(1)發(fā)送廣播消息的路由器移動節(jié)點只是簡單地從包含外地代理的代理廣播消息或ICMP路由器廣播消息找到的那些幀中記錄源數(shù)據(jù)鏈路層地址(2)不發(fā)送廣播消息的路由器移動節(jié)點可以用它的轉(zhuǎn)交地址作為ARP請求中發(fā)送方的協(xié)議地址域向路由器發(fā)送ARP,得到3.決定路由器的數(shù)據(jù)鏈路層地址405.4.6為什么用三角路由圖5-16三角路由和優(yōu)化路由當(dāng)通信對端直接通過隧道與移動節(jié)點通信時,對端必須知道移動節(jié)點當(dāng)前的優(yōu)化地址為防止別人偽造注冊消息,網(wǎng)絡(luò)管理員為每個移動節(jié)點和它的家鄉(xiāng)代理配置一對密鑰是可行的,但為移動節(jié)點和它的每一個通信對端都分配一對密鑰是不現(xiàn)實的5.4.6為什么用三角路由圖5-16三角路由和優(yōu)化路由當(dāng)41TriangleRoutingTriangleroutingisundesirablebecausehomeagentisthebottleneckmorenetworkload,andsensitivitytonetworkpartitionIncaseofreversetunneling,thesituationisevenworseMobileNode“visiting”aforeignlinkForeignAgentHomeAgentCorrespondentWhydoesn’tthemobilenodeinformthecorrespondentofitscare-ofaddressandhaveittunneldirectlytothemobilenode?TriangleRoutingTrianglerouti42OptimizedRoutingMobileNode“visiting”aforeignlinkForeignAgentHomeAgentCorrespondentThisispotentiallymoreefficientintermsofdelayandresourceconsumption.Whyisitnotused?Routeoptimization:GetbindingtothecorrespondenthostOptimizedRoutingMobileNode“43?TheCNmustbemobilityaware?Basicallyasecurityproblem–HowdoaCNknowsiftheBindingUpdateisnotafake??Easyanswer:–CNandHAmusthaveasecurityassociationforauthenticationGetbindingtorelevantcorrespondenthostsforoptimalroutingbindingwarning(mobilityagenthomeagent)bindingrequest(correspondenthosthomeagent)bindingupdate(homeagentcorrespondenthost)bindingacknowledge(optional)OptimizedRouting?TheCNmustbemobilityawar44OptimizedRouting(cont’d)

Whenamobilenode'shomeagentinterceptsadatagramfromthehomenetworkandtunnelsittothemobilenode,thehomeagentmaydeducethattheoriginalsourceofthedatagramhasnobindingcacheentryforthedestinationmobilenode.ThehomeagentSHOULDthensendaBindingUpdatemessagetotheoriginalsourcenode,informingitofthemobilenode'scurrentmobilitybinding.WhentheHAinterceptsandtunnelspacketsdestinedtoanMN,itsendsaBindingUpdate

messagetothesourceofthepacketsaboutthecurrentCoAoftheMN.TheCNlearnsaboutthemostrecentCoAofanMN(1)OptimizedRouting(cont’d)Wh45OptimizedRouting(cont’d)Similarly,whenanynode(e.g.,aforeignagent)receivesatunneleddatagram,ifithasabindingcacheentryforthedestinationmobilenode(andthushasnovisitorlistentryforthismobilenode),thenodereceivingthistunneleddatagrammaydeducethatthetunnelingnodehasanout-of-datebindingcacheentryforthismobilenode.Inthiscase,thereceivingnodeSHOULDsendaBindingWarningmessagetothemobilenode'shomeagent,advisingittosendaBindingUpdatemessagetothenodethattunneledthisdatagram.ABindingWarningmessageisusedtotransmitadvicethataBindingUpdateisneededbyoneormorecorrespondentnodesorforeignagents.Thishappenswhenthesuggestedrecipientsarelikelytohaveeithernobindingcacheentryoranout-of-datebindingcacheentryforsomemobilenode.Whenanynodedetunnelsadatagramdestinedforthemobilenode,ifitisnotthecurrentforeignagentforthedestinationmobilenode,thatforeignagentSHOULDsendaBindingWarningmessagetothemobilenode'shomeagent.Iftheforeignagentdoesnothaveanyinformationaboutthemobilenode'shomeagent,theforeignagentSHOULDsendaBindingWarningmessagetothesenderofthedatagram(i.e.,thecorrespondentnode).WhentunneledpacketsreachanFAwhichnolongerhasthedestinationMNinitsvisitorlist,theFAsendsaBindingWarningmessagetotheHAaskingtheHAtosendaBindingUpdatemessagetothesourcenode.TheCNlearnsaboutthemostrecentCoAofanMN(2)OptimizedRouting(cont’d)Simil46OptimizedRouting(cont’d)WhensendinganIPdatagram,ifthesendingnodehasabindingcacheentryforthedestinationnode,itSHOULDtunnelthedatagramtothemobilenode'scare-ofaddressusingtheencapsulationtechniquesusedbyhomeagents,anddescribedin[9,10,3,4].[3]S.Hanks,T.Li,D.Farinacci,andP.Traina.GenericRoutingEncapsulation(GRE).RFC1701,October1994.[4]S.Hanks,T.Li,D.Farinacci,andP.Traina.GenericRoutingEncapsulationoverIPv4networks.RFC1702,October1994.[9]C.Perkins.IPEncapsulationwithinIP.RFC2003,October1996.[10]C.Perkins.MinimalEncapsulationwithinIP.RFC2004,October1996.OptimizedRouting(cont’d)When47RouteOptimizationinMobileIP,

draft-ietf-mobileip-optim-11,September2001

ThebasicideabehindrouteoptimizationistouseadirectroutebetweenMNsandtheirCNstobypasstheHA.CNsmaintainabindingcacheoftheCoAsofMNs.WhenaCNsendspacketstoanMN,itfirstchecksifithasabindingcacheentryfortheMN.Ifyes,theCNtunnelsthepacketsdirectlytotheCoAoftheMN.Ifnobindingcacheentryisavailable,theCNsendsthepacketsfollowingthebasicMobileIPprocedure,thatis,viatheHAoftheMN.TheCNlearnsaboutthemostrecentCoAofanMNineitherofthefollowingtwoways:WhentheHAinterceptsandtunnelspacketsdestinedtoanMN,itsendsaBindingUpdate

messagetothesourceofthepacketsaboutthecurrentCoAoftheMN.WhentunneledpacketsreachanFAwhichnolongerhasthedestinationMNinitsvisitorlist,theFAsendsaBindingWarning

messagetotheHAaskingtheHAtosendaBindingUpdatemessagetothesourcenode.RouteOptimizationinMobileI48RouteOptimizationinMobileIP,

draft-ietf-mobileip-optim-11,September2001

RouteoptimizationalsotakescareofthepacketsalreadytunneledtotheoldCoAandinflight.WhenanMNregisterswithanewFA,itrequeststhenewFAtonotifythepreviousFAaboutthemovement.ThisensuresthatpacketsinflighttotheoldCoAaresuccessfullyforwarded.ItalsoensuresthatpacketsfromtheCNwithout-of-datebindingcacheentriesfortheMNaresuccessfullydeliveredtotheMN’snewCoA.Moreover,routeoptimizationalsoensuresthatanyresourcesconsumedbytheMNattheoldFAarereleasedimmediately,ratherthanwaitingfortheregistrationtimetoexpire.RouteOptimizationinMobileI495.5本章總結(jié)1)代理搜索是移動節(jié)點用來決定它的當(dāng)前鏈路上有沒有家鄉(xiāng)代理、外地代理存在的技術(shù)包括兩種消息,即代理廣播消息(AgentAdvertisement)和代理請求消息(AgentSolicitation),這是從ICMPRouterDiscovery的相應(yīng)消息外推而來的。2)注冊是移動節(jié)點向外地代理(如果存在的話)請求選路和隧道拆封服務(wù)的方法,是移動節(jié)點將它的當(dāng)前轉(zhuǎn)交地址告訴它的家鄉(xiāng)代理的方法,也是移動節(jié)點為一個快過期的注冊進行重新注冊的方法,它還為移動節(jié)點提供了回到家鄉(xiāng)鏈路上時的注銷機制。注冊規(guī)程包括兩種消息,即注冊請求和注冊應(yīng)答3)移動IP為連接在外地鏈路上的移動節(jié)點的點到點通信、組播和廣播通信都定義了數(shù)據(jù)包的路由機制。三角路由和優(yōu)化路由5.5本章總結(jié)1)代理搜索是移動節(jié)點用來決定它的當(dāng)前鏈路50第5章技術(shù)細節(jié)代理搜索通過這個過程,移動節(jié)點可以判定它的當(dāng)前位置,并得到一個轉(zhuǎn)交地址。注冊通過這個過程,移動節(jié)點向外部代理請求服務(wù),并通知家鄉(xiāng)代理它的轉(zhuǎn)交地址。包傳送當(dāng)移動節(jié)點連接在外地鏈路上時,對它發(fā)出的或發(fā)往它的數(shù)據(jù)包進行路由的特殊機制。第5章技術(shù)細節(jié)代理搜索通過這個過程,移動節(jié)點可以判定它的當(dāng)515.2代理搜索AgentDiscovery判定它當(dāng)前連在家鄉(xiāng)鏈路上還是外地鏈路上。檢測它是否切換了鏈路。當(dāng)連在外地鏈路上時,得到一個轉(zhuǎn)交地址。5.2代理搜索AgentDiscovery判定它當(dāng)前連在525.2.1代理搜索包括的消息代理(家鄉(xiāng)的、外地的)利用代理廣播消息(AgentAdvertisement)向移動節(jié)點宣布它們的功能。移動節(jié)點可以判定該鏈路上是否有代理存在。移動節(jié)點沒有耐心等待下一個周期發(fā)送的代理廣播消息時,它可以發(fā)送代理請求消息(AgentSolicitation)。5.2.1代理搜索包括的消息代理(家鄉(xiāng)的、外地的)利用代理53ICMPmessages

0Echoreply

8Echorequest13/14Time-stamprequest/reply17/18Addressmaskrequest/reply9Routeradvertisementmessage16移動代理廣播擴展MIPv4:rfc3344MobilityAgentAdvertisementExtension19前綴長度擴展Prefix-LengthsExtension10Routersolicitationmessage源站抑制TypeMessage

3Destinationunreachable4Sourcequench11Timeexceeded12Parameterproblem5RedirectICMPmessages0Echoreply源站54圖5-1代理請求消息ICMPIP包的生存時間域必須置成1。rfc1256ICMPRouterDiscoveryMessages圖5-1代理請求消息ICMPIP包的生存時間域必須置成155圖5-2代理廣播消息生存時間域(Lifetime)(與移動代理廣播擴展中的注冊生存時間RegistrationLifetime域無關(guān))表明代理發(fā)送廣播的頻率,這個值主要用來作“移動檢測”。由外地代理發(fā)出的廣播F比特置為1,同樣,由家鄉(xiāng)代理發(fā)出的廣播H比特也置為1。前綴長度被移動節(jié)點用來作“移動檢測”。圖5-2代理廣播消息生存時間域(Lifetime)(與565.2.2移動節(jié)點如何判定自己的移動1.用生存時間域作移動檢測利用代理廣播消息中ICMP路由器廣播部分的生存時間域,這個域告訴移動節(jié)點,每過多長時間它就可以從同一個代理那里收到一個廣播如果沒有收到任何廣播,它就發(fā)出一個代理請求消息去詢問。2.用網(wǎng)絡(luò)前綴作移動檢測移動節(jié)點通過比較兩個廣播消息的網(wǎng)絡(luò)前綴就可以判定它們是否來自同一條鏈路對于每一個路由器地址項,網(wǎng)絡(luò)前綴(i)由路由器地址(i)的左邊前綴長度(i)個比特決定如果發(fā)現(xiàn)它已移動到新鏈路上了,就應(yīng)向在新鏈路上的外地代理進行注冊5.2.2移動節(jié)點如何判定自己的移動1.用生存時間域作移575.2.3移動節(jié)點收不到任何廣播消息時怎么辦1.設(shè)法在家鄉(xiāng)鏈路上通信如可以向它在家鄉(xiāng)鏈路上用的缺省路由器發(fā)送ICMPEchoRequest消息,如果這臺缺省路由器給出了應(yīng)答,那么移動節(jié)點很可能正連在它的家鄉(xiāng)鏈路上,這樣就可以繼續(xù)通信了2.在外地鏈路上用DHCP和手工配置如果缺省路由器沒有應(yīng)答,那么移動節(jié)點可以認(rèn)為它正連在一條外地鏈路上3.無需廣播消息的移動檢測(傳輸層)(假定可以得到一個配置轉(zhuǎn)交地址)TCP進程監(jiān)測在它已打開的TCP連接上檢查最近有沒有轉(zhuǎn)發(fā)進行。如沒有,則移動過了檢查鏈路上的所有包這些包中沒有一個網(wǎng)絡(luò)前綴與它的轉(zhuǎn)交地址的網(wǎng)絡(luò)前綴一樣4.可以利用數(shù)據(jù)鏈路層來判定它的當(dāng)前位置,從而通過DHCP或手工配置得到一個轉(zhuǎn)交地址。5.2.3移動節(jié)點收不到任何廣播消息時怎么辦1.設(shè)法在家585.2.4總結(jié)代理搜索,即移動節(jié)點判斷它是連在家鄉(xiāng)鏈路還是外地鏈路上以及找到所在鏈路上的代理的過程。移動節(jié)點接收由家鄉(xiāng)代理和外地代理周期發(fā)送的代理廣播消息,它也可以通過發(fā)送代理請求得到廣播消息。由于密鑰管理上的困難,這兩個消息無需認(rèn)證。移動檢測兩種機制用生存時間域,移動節(jié)點可以在任何情況下采用這種方法。利用網(wǎng)絡(luò)前綴,這要求代理在它們的代理廣播消息中加入前綴長度擴展部分。轉(zhuǎn)交地址獲得:移動節(jié)點只需從鏈路上的外地代理發(fā)送的代理廣播消息中讀出轉(zhuǎn)交地址就可以了如果移動節(jié)點連接的鏈路上沒有發(fā)送廣播消息,它可以利用傳輸層和數(shù)據(jù)鏈路層來判定它的當(dāng)前位置,從而通過DHCP或手工配置得到一個轉(zhuǎn)交地址。5.2.4總結(jié)代理搜索,即移動節(jié)點判斷它是連在家鄉(xiāng)鏈路595.3注冊當(dāng)移動節(jié)點發(fā)現(xiàn)它的網(wǎng)絡(luò)接入點從一條鏈路切換到另一條鏈路上時,它就要進行注冊。另外,由于這些注冊也有一定的生存時間(注冊生存時間RegistrationLifetime域),所以在并沒有移動位置時,移動節(jié)點也要在現(xiàn)有注冊過期時進行注冊。5.3注冊當(dāng)移動節(jié)點發(fā)現(xiàn)它的網(wǎng)絡(luò)接入點從一條鏈路切換到另一60移動IP的注冊過程1)移動節(jié)點可以通過注冊得到外地鏈路上的外地代理的路由服務(wù)(認(rèn)證)。2)移動節(jié)點可以通知家鄉(xiāng)代理它的轉(zhuǎn)交地址。3)可以使一個要過期的注冊重新生效。4)移動節(jié)點在回到家鄉(xiāng)鏈路上時要進行注銷(BindingRevocation,RFC5846)注冊的另一些功能:1)同時注冊多個轉(zhuǎn)交地址,家鄉(xiāng)代理將送往移動節(jié)點家鄉(xiāng)地址的數(shù)據(jù)包通過隧道送往每個轉(zhuǎn)交地址(5.3.6節(jié))。2)可以在注銷一個轉(zhuǎn)交地址的同時保留其他轉(zhuǎn)交地址。3)在先前不知道它的家鄉(xiāng)代理的情況下,移動節(jié)點可以通過注冊動態(tài)地得到一個可能的家鄉(xiāng)代理的地址(5.3.3節(jié))。移動IP的注冊過程1)移動節(jié)點可以通過注冊得到外地鏈路上的61“綁定”-Binding家鄉(xiāng)代理必然有一張移動節(jié)點家鄉(xiāng)地址和轉(zhuǎn)交地址的對應(yīng)表,這張表中的一個表項就稱為綁定表項(BindingEntry)注冊過程的主要目的就是產(chǎn)生、修改或刪除家鄉(xiāng)代理中移動節(jié)點的綁定表項“綁定”-Binding家鄉(xiāng)代理必然有一張移動節(jié)點家鄉(xiāng)地址和62注冊消息移動IP注冊包括兩種消息的交互:注冊請求(RegistrationRequest)注冊應(yīng)答(RegistrationReply)圖5-3用UDP傳送注冊消息注冊消息移動IP注冊包括兩種消息的交互:圖5-3用UDP傳63注冊的種類圖5-4移動節(jié)點用外地代理轉(zhuǎn)交地址注冊在一條外地鏈路上圖5-5移動節(jié)點用配置轉(zhuǎn)交地址注冊在一條外地鏈路上(可能在外地鏈路上沒有外地代理)圖5-6移動節(jié)點在回到家鄉(xiāng)鏈路后進行注銷注冊的種類圖5-4移動節(jié)點用外地代理轉(zhuǎn)交地址注冊在一條外64注冊消息格式Mobile-HomeAuthenticationExtension移動-外地認(rèn)證擴展外地-家鄉(xiāng)認(rèn)證擴展B、D、M、G和V比特主要與選路有關(guān)生存時間為零表示移動節(jié)點希望注銷一個轉(zhuǎn)交地址圖5-7注冊請求消息圖5-8注冊應(yīng)答消息(定長部分)Code域給出了拒絕的原因注冊消息格式Mobile-HomeAuthenticati65移動節(jié)點何時注冊當(dāng)移動節(jié)點發(fā)現(xiàn)自己從一條鏈路切換到了另一條鏈路上時就開始注冊過程。有時即使沒有鏈路的切換,它也進行注冊當(dāng)移動節(jié)點發(fā)現(xiàn)它所連接的外地代理進行了重起時(這可從外地代理廣播消息中的序列號得知);當(dāng)目前的注冊就要過期時,移動節(jié)點也應(yīng)重新注冊。移動節(jié)點何時注冊當(dāng)移動節(jié)點發(fā)現(xiàn)自己從一條鏈路切換到了另一條鏈66移動節(jié)點如何發(fā)送注冊請求消息移動節(jié)點根據(jù)它代理搜索過程中得到的信息,選擇一種注冊種類,并組裝它的注冊請求消息B比特與廣播有關(guān)(5.4.7節(jié))D比特=1,自己解封裝M比特和G比特要求家鄉(xiāng)代理在隧道中采用最小封裝(MinimalEncapsulation)[RFC2004]或通用路由封裝(GenericRoutingEncapsulation)[RFC1701],而不是[RFC2003]中的IP封裝(IPinIPEncapsulation)。移動節(jié)點和外地代理在外地鏈路上能支持[RFC1144]中定義的VanJacobson報頭壓(HeaderCompression)時,就將V比特置為1。(5.4.8節(jié))幀頭IP頭UDP頭移動節(jié)點如何發(fā)送注冊請求消息移動節(jié)點根據(jù)它代理搜索過程中得到67如何確定在當(dāng)前鏈路上發(fā)送注冊消息時采用的數(shù)據(jù)鏈路層的目的地址?移動節(jié)點不能在外地鏈路上發(fā)送包含它的家鄉(xiāng)地址的ARP幀。移動節(jié)點應(yīng)記錄下外地代理發(fā)送的代理廣播消息中的數(shù)據(jù)鏈路層源地址,從而得到外地代理的數(shù)據(jù)鏈路層地址,移動節(jié)點可將這個地址作為承載注冊消息的數(shù)據(jù)鏈路層幀的數(shù)據(jù)鏈路層目的地址。移動節(jié)點得到外地鏈路上的缺省路由器IP地址的方法這臺缺省路由器是注冊消息經(jīng)過的第一跳,也是所有由移動節(jié)點發(fā)出的數(shù)據(jù)包經(jīng)過的第一跳移動節(jié)點可以通過ARP得到缺省路由器的數(shù)據(jù)鏈路層地址,只要在ARP請求消息中包含的是它的轉(zhuǎn)交地址而不是家鄉(xiāng)地址。移動節(jié)點如何發(fā)送注冊請求消息如何確定在當(dāng)前鏈路上發(fā)送注冊消息時采用的數(shù)據(jù)鏈路層的目的地址68外地代理如何處理注冊請求外地代理接收到注冊請求后,要對它進行一系列的有效性檢查1)移動節(jié)點在注冊請求消息中包含了移動外地認(rèn)證擴展部分,而其中的認(rèn)證算法域(Authenticator)卻是無效的,即移動節(jié)點在這個外地代理上的認(rèn)證沒有成功。2)移動節(jié)點請求的生存時間(Lifetime)超過了移動代理所允許的最大值。3)外地代理不支持移動節(jié)點所請求的隧道類型。4)外地代理沒有足夠的資源來支持更多的移動節(jié)點。注冊應(yīng)答的Code域給出了拒絕的原因。有效,則將該消息中繼(Relay)到移動節(jié)點的家鄉(xiāng)代理那里外地代理將包含注冊請求消息的數(shù)據(jù)包的IP報頭和UDP頭完全剝?nèi)?,再加上新的報頭后才送給家鄉(xiāng)代理在中繼注冊請求消息前,外地代理要記錄源數(shù)據(jù)鏈路層地址、源IP地址、源UDP端口號、家鄉(xiāng)代理地址、標(biāo)識域和請求的生存時間,為注冊應(yīng)答和路由數(shù)據(jù)包用。外地代理如何處理注冊請求外地代理接收到注冊請求后,要對它進行695.3.7“R”比特的處理移動代理廣播擴展(MobilityAgentAdvertisementExtension)的“注冊要求”比特,即R比特,為外地代理提供了一種機制,通知移動節(jié)點必須向它進行注冊,即使移動節(jié)點采用的是配置轉(zhuǎn)交地址,否則外地代理將拒絕為該節(jié)點路由數(shù)據(jù)包。外地代理是一臺外地鏈路上的路由器有時它同時為移動節(jié)點提供路由和拆封功能(當(dāng)移動節(jié)點采用外地代理轉(zhuǎn)交地址時)有時它只向移動節(jié)點提供路由功能(當(dāng)移動節(jié)點采用配置轉(zhuǎn)交地址時)圖5-4移動節(jié)點用外地代理轉(zhuǎn)交地址注冊在一條外地鏈路上圖5-5移動節(jié)點用配置轉(zhuǎn)交地址注冊在一條外地鏈路上(可能在外地鏈路上沒有外地代理)5.3.7“R”比特的處理移動代理廣播擴展(Mobili70家鄉(xiāng)代理如何處理注冊請求做一系列和外地代理相似的有效性檢查如果注冊請求是有效的,將如表5-2中所示,對移動節(jié)點的綁定表項進行更新家鄉(xiāng)代理根據(jù)請求開始通過隧道向移動節(jié)點的轉(zhuǎn)交地址傳送數(shù)據(jù)包,或者應(yīng)移動節(jié)點的要求關(guān)閉所有隧道另外,家鄉(xiāng)代理還將發(fā)送免費ARP或代理ARP消息最后,家鄉(xiāng)代理向移動節(jié)點發(fā)送注冊應(yīng)答,告知注冊成功表5-2家鄉(xiāng)代理對綁定的更新多重綁定家鄉(xiāng)代理如何處理注冊請求做一系列和外地代理相似的有效性檢查表715.3.6多重綁定

(Simultaneousbindings)用途:克服乒乓效應(yīng),減少注冊次數(shù)雙播機制實現(xiàn)快速切換多接口實現(xiàn)多連接,多家鄉(xiāng),異構(gòu)切換方法:移動節(jié)點將注冊請求消息中的S比特置1,通知家鄉(xiāng)代理它希望對一個特定的轉(zhuǎn)交地址進行綁定,而保持當(dāng)前別的綁定不變?nèi)绻苿庸?jié)點在兩個蜂窩之間來回切換,它就可以同時注冊這兩條鏈路上的轉(zhuǎn)交地址,這樣無論移動節(jié)點當(dāng)前接收的是哪一個發(fā)射器的信號,它都可以接收通過隧道傳過來的數(shù)據(jù)包圖5-11處于兩個蜂窩邊界上的移動節(jié)點5.3.6多重綁定

(Simultaneousbindin72外地代理如何處理注冊應(yīng)答外地代理接收到注冊應(yīng)答后,將對消息進行一系列的有效性檢查。發(fā)現(xiàn)應(yīng)答是無效的,將產(chǎn)生一個包含適當(dāng)?shù)腃ode域的注冊應(yīng)答給移動節(jié)點。有效,則外地代理就更新它對來訪的移動節(jié)點的列表,并采用從原始注冊請求消息中記錄的一些域的值,將應(yīng)答消息中繼給移動節(jié)點。外地代理對通過隧道發(fā)往移動節(jié)點的包進行拆封,并對移動節(jié)點發(fā)過來的包實行缺省路由器的功能。外地代理如何處理注冊應(yīng)答外地代理接收到注冊應(yīng)答后,將對消息進73移動節(jié)點如何處理注冊應(yīng)答在接收到注冊應(yīng)答后,移動節(jié)點就開始進行自己的有效性檢查如果這條應(yīng)答消息是有效的,那么移動節(jié)點就檢查Code域,看看這次注冊是被家鄉(xiāng)代理(和外地代理)接受還是被拒絕了。常見的拒絕原因有:過長的生存時間(大于外地代理所允許的最大長度)和無效的標(biāo)識域(這時家鄉(xiāng)代理可能期望的是另一個值)-〉重新嘗試一次注冊。如果Code域表示注冊請求已被接受,那么移動節(jié)點就可以調(diào)整它的路由表,以適應(yīng)當(dāng)前鏈路,然后就可以開始通信或繼續(xù)先前的通信了。移動節(jié)點如何處理注冊應(yīng)答在接收到注冊應(yīng)答后,移動節(jié)點就開始進745.3.3移動節(jié)點如何得到家鄉(xiāng)代理的地址沒有配置家鄉(xiāng)代理地址的移動節(jié)點也可以通過移動IP注冊協(xié)議動態(tài)地得到家鄉(xiāng)代理的地址5.3.3移動節(jié)點如何得到家鄉(xiāng)代理的地址沒有配置家鄉(xiāng)代理地址75MobileIPv4DynamicHomeAgent(HA)Assignment-rfc4433ThisdocumentproposesamessagingmechanismfordynamichomeagentassignmentandHAredirection.ThegoalistoprovideamechanismtoassignanoptimalHAforaMobileIPsessionwhileallowinganysuitablemethodforHAselection.ThemobilenodeMUSTusetheNetworkAccessIdentifier(NAI)extensionforIPv4[2]whenrequestingadynamicallyassignedHA.[2]Calhoun,P.andC.Perkins,"MobileIPNetworkAccessIdentifierExtensionforIPv4",RFC2794,March2000.MobileIPv4DynamicHomeAgent765.3.4節(jié)點如何知道注冊消息的真正發(fā)送者移動節(jié)點為每次注冊請求選擇一個唯一的值寫入標(biāo)識域(Identification)第一個目的是使移動節(jié)點可以將注冊應(yīng)答和相應(yīng)的注冊請求對應(yīng)起來,使移動節(jié)點可以判斷一大堆注冊請求中的哪一個被接受了或被拒絕了。第二個目的是防止有人將移動節(jié)點的一個注冊請求消息存下來,之后又送回一個注冊應(yīng)答。所有的數(shù)據(jù)包送到“壞家伙”那里。標(biāo)識域的唯一性以及移動-家鄉(xiāng)認(rèn)證擴展(Mobile-HomeAuthenticationExtension)一起阻止這種事情(稱為拒絕服務(wù)攻擊)的發(fā)生。5.3.4節(jié)點如何知道注冊消息的真正發(fā)送者移動節(jié)點為每77拒絕服務(wù)攻擊為對付這種攻擊,移動IP要求對移動節(jié)點和家鄉(xiāng)代理之間的注冊消息進行認(rèn)證。認(rèn)證是一個發(fā)送節(jié)點向接收節(jié)點提供身份證明的過程,常采用一個只有發(fā)送者和接收者知道的秘密值來實現(xiàn)。這種認(rèn)證不可能通過檢查網(wǎng)上的數(shù)據(jù)包進行攻擊。移動IP在注冊請求消息中采用了標(biāo)識域,以防止這種重發(fā)攻擊的發(fā)生。移動節(jié)點和外地代理以及外地代理和家鄉(xiāng)代理之間的認(rèn)證移動-外地認(rèn)證擴展。外部-家鄉(xiāng)認(rèn)證擴展。由發(fā)送數(shù)據(jù)包的節(jié)點直接將包通過隧道(非移動-家鄉(xiāng)隧道)送往轉(zhuǎn)交地址,而不是先路由到家鄉(xiāng)鏈路上,這顯然效率要高得多。之所以不采用這種優(yōu)化的路由技術(shù),主要是對付拒絕服務(wù)攻擊。拒絕服務(wù)攻擊為對付這種攻擊,移動IP要求對移動節(jié)點和家鄉(xiāng)代785.4數(shù)據(jù)包的選路根據(jù)移動節(jié)點的當(dāng)前位置進行數(shù)據(jù)包選路的技術(shù)移動節(jié)點連接在家鄉(xiāng)鏈路上時移動節(jié)點連接在外地鏈路上時移動節(jié)點采用代理轉(zhuǎn)交地址采用的是配置轉(zhuǎn)交地址5.4數(shù)據(jù)包的選路根據(jù)移動節(jié)點的當(dāng)前位置進行數(shù)據(jù)包選路的技795.4.1移動節(jié)點在家鄉(xiāng)鏈路上時包的選路向位于家鄉(xiāng)鏈路上的移動節(jié)點傳送數(shù)據(jù)包所用的路由技術(shù)與向普通IP主機或路由器傳送數(shù)據(jù)包的技術(shù)一模一樣。對于連接在家鄉(xiāng)鏈路上的移動節(jié)點發(fā)出的數(shù)據(jù)包,移動節(jié)點用它的路由表為它產(chǎn)生的數(shù)據(jù)包選擇一個合適的下一跳當(dāng)移動節(jié)點連接在家鄉(xiāng)鏈路上時,路由表項的生成也無需專門的規(guī)則5.4.1移動節(jié)點在家鄉(xiāng)鏈路上時包的選路向位于家鄉(xiāng)鏈路上的805.4.2移動節(jié)點在外地鏈路上時包的選路1)在家鄉(xiāng)鏈路上的路由器可能是家鄉(xiāng)代理,廣播對移動節(jié)點家鄉(xiāng)地址的網(wǎng)絡(luò)前綴的可達性。2)因此,目的地為移動節(jié)點家鄉(xiāng)地址的數(shù)據(jù)包被送往家鄉(xiāng)鏈路,其實是送往移動節(jié)點的家鄉(xiāng)代理。3)家鄉(xiāng)代理截獲這些送往移動節(jié)點的數(shù)據(jù)包。假設(shè)移動節(jié)點已經(jīng)注冊了一個或多個轉(zhuǎn)交地址,家鄉(xiāng)代理就通過隧道向每一個轉(zhuǎn)交地址發(fā)送一個數(shù)據(jù)包的拷貝。4)在每一個轉(zhuǎn)交地址(可能是外地代理的地址也可能是移動節(jié)點本身配置的地址)上,原始數(shù)據(jù)包從隧道中取出拆封后送往移動節(jié)點。5.4.2移動節(jié)點在外地鏈路上時包的選路1)在家鄉(xiāng)鏈路上81家鄉(xiāng)代理如何截獲數(shù)據(jù)包廣播對移動節(jié)點家鄉(xiāng)地址的可達性,一般只適用于家鄉(xiāng)代理是多端口路由器時的情況代理ARP家鄉(xiāng)鏈路利用ARP作地址解析(如以太網(wǎng)),那么對端主機將廣播一個ARP請求消息以得到移動節(jié)點的數(shù)據(jù)鏈路層地址。家鄉(xiāng)代理—它肯定在家鄉(xiāng)鏈路上有一個端口—發(fā)送一個ARP應(yīng)答,用家鄉(xiāng)代理的數(shù)據(jù)鏈路層地址對移動節(jié)點的IP家鄉(xiāng)地址作應(yīng)答免費ARP當(dāng)移動節(jié)點在一條外地鏈路上注冊,并且家鄉(xiāng)代理還沒有移動節(jié)點的綁定時,家鄉(xiāng)代理必須為該移動節(jié)點發(fā)送一些免費ARP,用家鄉(xiāng)代理的數(shù)據(jù)鏈路層地址來對應(yīng)移動節(jié)點的IP地址,以更新別的節(jié)點的ARP緩存。當(dāng)移動節(jié)點回到家鄉(xiāng)鏈路時,發(fā)送一條免費ARP消息,用移動節(jié)點的數(shù)據(jù)鏈路層地址對應(yīng)它的IP家鄉(xiāng)地址,重新對別的節(jié)點上的ARP緩存進行更新家鄉(xiāng)代理如何截獲數(shù)據(jù)包廣播對移動節(jié)點家鄉(xiāng)地址的可達性,一般只82通過虛擬端口進行路由表的合成IP路由表至少有四個域:目的地址(Target)、前綴長度(Prefix-Length)、下一跳地址(NextHop)以及端口(Interface)端口包含了一個指針,指向一組被稱為設(shè)備驅(qū)動的軟件端口常被說成是一個“物理端口”,因為設(shè)備驅(qū)動將激起某個硬件在某些物理媒介上發(fā)送比特流將隧道合成進路由表的技巧是定義一個虛擬端口。虛擬端口是一組軟件,它并不向物理媒介發(fā)送比特。虛擬端口將根據(jù)具體情況進行隧道封裝或拆封。采用指向虛擬端口的特定主機路由,是一種將移動IP所需的特殊處理與家鄉(xiāng)代理現(xiàn)有的IP路由表合成在一起的很好的方法通過虛擬端口進行路由表的合成IP路由表至少有四個域:目的地址83圖5-14通過家鄉(xiāng)代理上的虛擬端口進行封裝表5-3家鄉(xiāng)代理的路由表移動節(jié)點家鄉(xiāng)地址()通信對端新包的源地址為家鄉(xiāng)代理目的地址為下一跳地址54當(dāng)一個目的地為移動節(jié)點家鄉(xiāng)地址()的數(shù)據(jù)包到達家鄉(xiāng)代理時這個數(shù)據(jù)包從一個物理端口(如物理端口1)到達,并被送交IP路由軟件處理?!白罴选钡钠ヅ洌雌ヅ溟L度最長)是到移動節(jié)點家鄉(xiāng)地址的特定主機路由—最后一項。家鄉(xiāng)代理通過端口a將數(shù)據(jù)包轉(zhuǎn)發(fā)到下一跳地址(),也就是移動節(jié)點的轉(zhuǎn)交地址。IP路由軟件激活端口a的軟件。將原始IP包封裝在新的IP包內(nèi)。新包的源地址為家鄉(xiāng)代理,目的地址為下一跳地址,或移動節(jié)點的轉(zhuǎn)交地址虛擬端口軟件重新激活I(lǐng)P路由軟件。路由表中對它的唯一一個匹配項是第二條表項中的路由。圖5-14通過家鄉(xiāng)代理上表5-3移動節(jié)點家鄉(xiāng)地址(7.84ch22第5章-技術(shù)細節(jié)-移動IP技術(shù)-教學(xué)課件85表5-4外地代理的路由表圖5-15虛擬端口:外地代理上的拆封移動節(jié)點家鄉(xiāng)地址()移動節(jié)點轉(zhuǎn)交地址()當(dāng)數(shù)據(jù)包經(jīng)過隧道到達外地代理時(經(jīng)過一個物理端口),它就被送給了IP路由軟件。IP路由軟件檢查(外層)數(shù)據(jù)包目的地址,發(fā)現(xiàn)是外地代理的一個地址,即外地代理廣播為轉(zhuǎn)交地址的那個地址,于是IP軟件將數(shù)據(jù)包(包括報頭和凈荷)交給“高層”處理。由高層即虛擬端口軟件處理所有協(xié)議域的值為IP的數(shù)據(jù)包。虛擬端口軟件剝?nèi)シ庋b的(外層的)IP報頭,并將凈荷,也就是被封裝的(內(nèi)層的)IP包,交給IP路由軟件處理。對IP路由軟件來說,原始IP包就像從虛擬端口a送來的。IP路由軟件發(fā)現(xiàn)自己現(xiàn)在正在處理一個目的地址與外地代理的IP地址不匹配的IP包,也就是說,必須查路由表以確定該數(shù)據(jù)包的轉(zhuǎn)發(fā)端口和下一跳地址。由虛擬端口交給高層的數(shù)據(jù)包是原始IP包,它的目的地址是移動節(jié)點的家鄉(xiāng)地址,對這個地址來說最好的匹配當(dāng)然是特定主機路由(表5-4中的第三項),這條路由表明這些包將通過端口1直接送到移動節(jié)點。表5-4圖5-15虛擬端口:移動節(jié)點家鄉(xiāng)地址(7.7.86圖5-14通過家鄉(xiāng)代理上的虛擬端口進行封裝表5-3家鄉(xiāng)代理的路由表表5-4外地代理的路由表圖5-15虛擬端口:外地代理上的拆封移動節(jié)點家鄉(xiāng)地址()移動節(jié)點轉(zhuǎn)交地址()通信對端新包的源地址為家鄉(xiāng)代理目的地址為下一跳地址54圖5-14通過家鄉(xiāng)代理上表5-3表5-4圖5-15虛875.4.3移動節(jié)點如何發(fā)送數(shù)據(jù)包1.在家鄉(xiāng)鏈路上選擇一臺路由器連接在家鄉(xiāng)鏈路上的移動節(jié)點就像一臺固定主機或路由器那樣工作,與同一條鏈路上的其他節(jié)點有相同的路由表5.4.3移動節(jié)點如何發(fā)送數(shù)據(jù)包1.在家鄉(xiāng)鏈路上選擇一臺882.在外地鏈路上選擇一臺路由器(1)通過外地代理注冊時選擇外地代理本身,它由代理周期發(fā)送的代理廣播消息中的源IP地址指明。選擇在任何節(jié)點的代理廣播或路由器廣播消息中,ICMP路由器廣播[RFC1256]部分的路由器地址域中出現(xiàn)的任何路由器。(2)沒有外地代理參加注冊(注冊了一個配置轉(zhuǎn)交地址時)移動節(jié)點可能將ICMP路由器廣播消息中路由器地址域中列出的任何地址作為路由器的地址如果沒有路由器發(fā)送廣播消息,那么移動節(jié)點依靠它得到配置轉(zhuǎn)交地址的方法(DHCP\PPP(IPCP))來得到路由器的地址2.在外地鏈路上選擇一臺路由器893.決定路由器的數(shù)據(jù)鏈路層地址(1)發(fā)送廣播消息的路由器移動節(jié)點只是簡單地從包含外地代理的代理廣播消息或ICMP路由器廣播消息找到的那些幀中記錄源數(shù)據(jù)鏈路層地址(2)不發(fā)送廣播消息的路由器移動節(jié)點可以用它的轉(zhuǎn)交地址作為ARP請求中發(fā)送方的協(xié)議地址域向路由器發(fā)送ARP,得到3.決定路由器的數(shù)據(jù)鏈路層地址905.4.6為什么用三角路由圖5-16三角路由和優(yōu)化路由當(dāng)通信對端直接通過隧道與移動節(jié)點通信時,對端必須知道移動節(jié)點當(dāng)前的優(yōu)化地址為防止別人偽造注冊消息,網(wǎng)絡(luò)管理員為每個移動節(jié)點和它的家鄉(xiāng)代理配置一對密鑰是可行的,但為移動節(jié)點和它的每一個通信對端都分配一對密鑰是不現(xiàn)實的5.4.6為什么用三角路由圖5-16

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論