国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 網絡通信 > 正文

移動IP中的隧道技術

2019-11-03 09:11:14
字體:
來源:轉載
供稿:網友
彭偉剛 徐彬輝 南京郵電學院
  [摘要] 為了解決移動節點的移動性問題,曾經提出過特定主機路由技術、源路由技術和隧道技術三種解決方案,本文通過對這三種技術方案的對比,闡述了采用隧道技術來解決移動性問題的原因,并對移動ip中使用的三種隧道技術即IP的IP封裝,最小封裝和通用路由封裝作了簡要的介紹。

  因特網和移動通信的逐步融合突破時間和空間的限制讓人們隨時隨地接入因特網,是個人通信的神圣目標,而移動IP技術正是實現這一目標的技術之一。移動IP提供了一種有效的、可擴展的機制來解決因特網內的節點移動性問題,即利用移動IP技術你可以在移動的過程中不用重新啟動計算機,無需重新配置系統,就可以隨時隨地接入因特網,甚至不要中斷你當前的通信連接,這也正是移動IP的優勢所在。

1 問題的提出

  移動數據網是固定IP網絡的無線擴展,當前的移動數據網都提供了移動性管理機制,使得移動節點可以在移動的過程中接入因特網并保持其原有的通信連接。但是,由于移動數據網制式的不同,提供的移動性解決方案也不同,他們之間都是不兼容的,這對未來移動數據網絡的融合是不利的,因而需要一種統一的移動性管理方案,以方便網絡之間的互通,實現真正的網絡之間的無縫漫游,這就促成了移動IP技術的產生。

  移動IP的首要目標就是解決節點的移動性問題。傳統的IP選路機理只適用固定主機的路由管理,而移動節點的路由是一種動態路由,因此,移動數據網中的移動性管理必須具備對移動節點動態路上的管理機制。為此先后提出了三種方案:特定主機路由技術、源路由技術和隧道技術,來解決移動節點的移動性問題。

2 解決移動性的三種方案

2.1 解決移動性的方案

  特定主機路由技術是相對于現有的IP網絡中的網絡前綴路由而言的,它在路由器中為每一個主機建立一個路由表項,根據每一個特定主機的IP地址對數據包進行選路。移動IP使用特定主機路由技術解決移動節點的移動性,至少要在移動節點的家鄉網絡到移動節點拜訪的外地網絡之間所有的路由器上建立特定主機路由。

  源路由技術使用了在IP頭中定義的一個可選項:Loose Source and Record Route。這個可選項中列出了一個或者多個中間目的地址,要求數據包在到達最終目的地址之前必須經過這些中間地址。移動節點要發送一個數據包給通信對端時需要在數據包給通信對端時需要在數據包的Loose Source and Record Route中加入自己目前所連接的外地網絡的路由器的地址,接收方接收到該數據包后將Loose Source and Record Route選項中的中間地址取出,并按照其相反的方向將數據包按照移動節點選定的路由送往移動節點。

  隧道是一個數據包封裝在另一個數據包的凈荷中進行傳送時所經過的路徑。采用隧道技術將發送給移動節點的數據包封裝后轉發到一個中間節點,然后由此中間節點解封后再將恢復出來的原始數據包轉發到移動節點。在一個隧道中涉及到2個實體:封裝節點和解封節點,通常將封裝節點稱為隧道的入口,解封節點稱為隧道的出口。在移動I宮隧道的入口是移動節點的家鄉代理,出口是移動節點的轉交地址。任何一個節點只要知道移動節點的家鄉地址就可以和它建立通信連接。移動節點更換了位置以后只要通過注冊機制將移動節點的轉交地址通知了家鄉代理以后,家鄉代理就可以通過隧道將發送給移動節點的數據包轉發到移動節點的轉交地址,進而轉發到移動節點。

2.2 三種方案的比較

  使用特定主機路由的突出缺點就是需要發送大量的路由信息。特定主機路由的數量取決于移動節點的家鄉鏈路到移動節點拜訪的外地網絡之間的路由器的數目,這些路由器通常可以達到數百個。因而每一個移動節點在移動位置后至少要向數百個節點發送特定主機路由。而且,移動節點往往需要經常改變其接入因特網的位置,切換鏈路以后必須要發送路由更新消息。在最壞的情況下,每一次改變鏈路移動節點原先路徑上的特定主機路由。如果鏈路的切換很頻繁,因特網的帶寬將被這些路由更新信息消耗掉。而使用隧道技術則只需改變隧道入口和隧道出口這兩個路由器的路由表項就可以了,因而遠遠少于特定主機路由下的路由信息。當移動節點的接入位置發生變化時同樣只要更新這兩個節點上的路由信息就可以了,而不用對移動節點的家鄉鏈路到拜訪的外地鏈路之間的所有路由器都發送路由更新消息,從而有效地減少了因特網上的路由更新消息的數量。

  使用源路由技術時IP數據包需要因特網上所有路由器都進行額外的處理,即每一臺轉發數據包的路由器都要判斷自己的IP地址是不是該數據包的一個中間地址,然后進行相應的處理。實踐表明,對經過的數據包的處理相對于轉發而言速度上相差一個數量級,這樣的性能惡化是不能忍受的,而且出于安全性的考慮防火墻可能會拒絕使用IP源路由選項的數據包。而采用隧道技術,發往移動節點的數據包在家鄉代理封裝以后送入隧道,在整個隧道的傳輸過程中按照現有的IP路由機制對該數據包進行選路,沿途路由器不需要任何的附加的處理開銷,只要在隧道的出口處對數據包進行拆封和轉發,就可以有效地提高數據包的轉發速度。

  采用隧道技術,將發給移動節點的數據包封裝后的新的IP包在因特網的傳送過程中被當作普通的IP數據包,只要在要提供移動IP功能的節點上增加數據包的封裝和解封功能就可以將數據包轉發給移動節點,不提供移動IP功能的節點則不需要做任何的改動,因而可以實現在現有的IP網絡上的平滑的升級。采用隧道技術對處于外地網絡的節點提供數據包的路由機制,使得無論移動節點位于什么位置都可以使用其在家鄉網絡的IP地址來發送和接收數據包。從而實現了動態的路由管理,解決了移動節點的移動性問題。

3 移動IP中使用的隧道技術

  目前移動IP中定義了3種隧道技術,即IP的IP封裝、最小封裝和通用路由封裝(GRE)。

3.1 IP的IP封裝

  IP的IP封裝是一種最簡單的隧道技術,也是提供移動IP功能的節點必須實現的一種封裝機制。IP的IP封裝就是將一個IP數據包作為另外一個IP數據包的凈荷,從而形成具有兩個IP報頭的新的數據包。

  在IP的IP封裝機制下作為凈荷的原始IP數據包不需要做任何的改動,只要對新的IP報頭按照現有的IP協議做適當的設置就可以了。大部分的設置可以從原努數據包拷貝而得,比如版本ver、服務類型TOS等。源地址和目的地址分別設置為隧道的入口和出口點,即入口設為移動節點的家鄉代理的地址,出口設為移動節點的轉交地址,可以是外地代理轉交地址也可以是配置轉交地址。因特網的報頭長度IHL、總長度和校驗和都要根據新的IP包來進行重新計算。標記域設置為一個唯一的值,標識域和片偏移域要根據是否對原始數據包進行了分片而設置。協議類型域設置為4表示新的數據包的凈荷仍然是IP數據包。設置一個合適的生存時間,以保證數據包可以到達隧道的出口。在隧道的出口接收到封裝過的數據包后,將外層IP包頭剝除后恢復出原始數據包。

  封裝中要特別注意的問題是防止遞歸封裝,在防止遞歸封裝的處理方法上IP的IP封裝和下面要介紹的最小封裝采用了相同的機制,在這里一并介紹。遞歸封裝是這樣一個過程,由于路由的循環使得數據包在離開隧道之前又重新進入了這個隧道,即數據包在職一個隧道中兜圈子。這樣每次封裝都會在數據包外加封一個報頭,每個報頭又都有自己的生存時間,數據包越來越大,并且不停的在網絡內部循環,永遠都出不了隧道,在網絡內部造成虛假流量。可以以通過兩種方法來判斷數據包是否已經封裝過。第一種方法是判斷要進行封裝的IP數據包的源IP地址是否和隧道入口的地址(即家鄉代理的IP地址)相同,若相同則認為數據包已經被封裝過,此時丟棄接收到的數據包;第二種方法是如果要進行封裝的數據包的源IP地址與隧道入口處路由表指示的隧道出口地址系統,則認為出現了遞歸封裝,丟棄該分組。如果不是這兩種情況則認為沒有出現遞歸封裝。

3.2 最小封裝

  最小封裝是對IP的IP封裝的改進,其設計思想是對IP的IP封裝進行壓縮,即壓縮掉原始IP報頭和新的報頭共有的冗余部分來提高封裝的效率。其余現方法是在原始數據包的報頭和凈荷之間插入最小轉發報頭,并對原努數據包的報頭做最適當的改動。最小轉發頭的作用是存儲原始理由信息,原始數據包的IP頭設置為在隧道中傳輸的路由信息。

  首先,在原始IP包的凈荷和報頭之間加入最小轉發報頭。最小轉發報頭的協議類型域存儲原始數據包的協議類型。原始目的地址存儲原始數據包中的目的地址。原始源地址根據其存在與否設置,若不存在則S設置為0,此時最小轉發頭的長度是8字節,設置為1表示原始源地址存在,此時最小轉發頭的長度是12字節,原始源地址域設置為原始數據包的源地址。頭校驗和是對最小轉發頭的樣驗,不包含IP報頭和IP凈荷。

  其次,對原始IP報頭作如下改動:協議類型改為55,表示新的數據包的凈荷是經過最小封裝的數據包。源地址和目的地址分別設置為隧道的入口和出口,即家鄉代理的IP地址和移動節點的轉交地址。因特網報頭長IHL、總長度和校驗和由新的數據包計算得到,總長度比原始數據包的長度增加8或者12個字節,這取決與原始源地址是否存在。

  在隧道的出口處要去掉最小轉發頭,從最小轉發頭中恢復出原始數據包的路由信息,然后把該數據包轉發給移動節點。

3.3 通用路由封裝

  通用路由封裝(GRE)不僅支持IP協議,而且還支持其他類型的網絡層協議,它允許任何一種協議的數據包作為凈荷封裝在任何其他一種協議的數據包中。

  在進行多協議封裝時將要封裝在其他協議數據包中作為凈荷的數據包被稱為凈荷包,封裝其他數據包的外層數據包被稱為傳送包。按照通常的封裝機制,如果M種不同協議的凈荷包里封裝在N種傳送包中要有MXN中的轉換協議來處理這種封裝,在通用路由封裝中則將M種凈荷包封裝進GRE中,然后再把GRE封裝到傳送包中,這種只需要M+N種轉換協議來處理這種封裝。

  通用路由封裝的GRE頭中的大部分內容是可選的,其中包含了校驗和、偏移、密鑰、序號和路由等可選項。這些可選項通過GRE頭的前2個字節的標記和版本域來定義。C是校驗和存在指定比特,R是路由存在指示比特,K是密鑰存在指示比特,S是序列號存在指示比特,s是嚴格源路由指示比特。如果這些位設置為1表示相應的可選項存在。版本號必須置為0。

  協方類型指示凈荷包的協議類型,根據實際情況填寫,如0x800表示IP數據包:偏移域用來指示從路由域的開始到活躍源路由項的第一個字節的偏移量;校驗是對GRE頭和凈荷包的校驗;密鑰域是由隧道入口加入的一個4個字節的數字,接收方可以據此來認證發送者;接收方可以根據序列號來判斷發送方發送數據包的順序;路由域包含了源路由項的列表。

  Recur是遞歸封裝控制域,這是一個有別于前兩種封裝機制的特別之處,在GRE封裝中通過這個域來對遞歸封裝進行控制。每次進行封裝前,都要檢查一下這個域的取值,如果是0就不進行封裝將數據包丟棄,如果是非0值就對其進行GRE封裝,封裝后的Recur要減去1,直到為0為止。在GRE封裝后一般把該域設置為0,即不允許進行遞歸封裝。這種防止遞歸封裝的機制也用在了IPv6中。

3.4 三種隧道技術的比較

  IP的IP封裝是最簡單的,也是移動IP中要求必須實現的隧道技術。IP的IP封裝無論是否對原始數據包進行了分片都可以應用,而最小封裝只能應用于沒有進行IP分片的數據包。IP的IP封裝相當于最小封裝來說花費的開銷更大,IP的IP封裝是增加20比特或者12比特,其效率更高。但是最小封裝是通過對改造過的原始數據包的IP頭來進行選路的,這樣每經過一個路由器它的生存時間都要減少,這樣數據包不能到達隧道出口的概率大大增加,要謹慎使用。通用路由封裝是效率最差的,它除了要在原始數據包前加一個GRE頭以外,還要再加一個新的IP報頭,但是GRE可以支持多種協議的封裝,在這種情況下IP的IP封裝和最小封裝就無能為力了。而且在處理多種協議的封裝時GRE采用了犧牲效率來減少復雜性的方法,特別適合于多種協議之間的封裝,而且其特有的防止遞歸封裝的機制也很有吸引力。三種隧道技術各有優勢,在實際的應用中可以根據不同的應用情況作出選擇。

4 結論

  相對于特定主機路由技術和源路由技術而言,使用隧道技術很好地解決了移動節點的移動性問題,使得移動節點在改變了位置時可以不改變其IP地址,只通過家鄉地址就可以接入因特網。

摘自《移動通信》2002年第7期
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苍溪县| 凤冈县| 始兴县| 宁陵县| 孙吴县| 泸州市| 茂名市| 即墨市| 南靖县| 吉木乃县| 淳安县| 平江县| 板桥市| 崇礼县| 务川| 太原市| 文安县| 南投县| 兴国县| 平顺县| 乌恰县| 怀远县| 崇州市| 泽州县| 苏尼特右旗| 仁怀市| 石景山区| 凤凰县| 普安县| 新源县| 凤山县| 隆子县| 祥云县| 商水县| 杭州市| 清远市| 永靖县| 灵丘县| 泾源县| 璧山县| 油尖旺区|