考慮一家跨國銀行,巴黎有一個IPv6網,倫敦也有IPv6網,但是連接兩處的是IPv4,網,解決該
問題的方法稱爲隧道技術。
巴黎主機構建IPv6數據包,傳到IPv4時,直接將該數據用IPv4頭封裝,到達倫敦後提取出來
類比,汽車從巴黎出發去倫敦,在法國境內可以靠自己馬力前進,到達英吉利海峽時,唄裝到高速列車
,經過海底鐵路隧道到達英國(汽車不允許直接在隧道行駛),然後到了隧道另一端,提取出來後又可以靠自己的馬力前進
隧道應用於那些因爲其他網絡而隔離的主機和網絡,稱爲覆蓋網絡
缺點是 無法到達位於隧道的主機(數據包無法從隧道中逃生),-----》VPN的優勢
互聯網路由
兩級路由算法,域內(intradomain)或者內部網關(interior gateway protocol)協議
域間(interdomain)或者外部網關(exterior gateway protocol)協議--->邊界網關協議 BGP Border Gateway Protocol
每個網絡獨立於所有網絡運營,這樣的網絡稱爲自治系統(AS,Autonomous System)默認模型————ISP網絡
數據包分段
以太網 1500字節 802,11協議 2272字節 IP 65515字節
主機一般傾向於傳輸大的 數據包,可以降低開銷,比如浪費在頭字節的帶寬,
大數據包要穿過小的網絡時 路徑最大傳輸單元 MTU Path Maxinum Transmission Unit
1.保證不會出現這個問題,難以實現
2.允許路由器分段,{a,透明分段,通過路由器後直接被組裝起來,然後繼續傳輸分割,適應不同的線路的MTU,後續網絡根本感覺不到發生過分段,b,分段後每一個段當作原始的數據包來對待,重組過程只在目的主機}
非透明分段優點是路由器做的工作少。IP採用的思想:給每一個段一個序號,數據包內絕對字節偏移量和一個是否到達數據包末尾的標誌位 27 0 1 AB CDEFGHIJ -> 27 0 0 ABCDEFGH 27 8 1 IJ (0,1表示標誌位)
這個設計任然存在問題,由於段的存在,開銷可能比透明分段高,任何一個段的丟失都將導致整個數據包的丟失,對主機,分段帶來了更大的突發
********************************************************************************************************在網絡中避免分段 路徑MTU發現
每個IP數據包發出時在頭部設置一個比特,指示不允許對該數據分段。
如果路由器接收的數據包太大,生成一個報錯數據包發送給源端,然後丟棄該數據包,源端處理出錯數據包,在源端進行分段,使得適合在線路傳輸,如果前進又遇到更小的MTU,重複以上過程
優點在於 源端知道可以發送多大的數據包 缺點在於 可能增加發送數據包的啓動延遲
是否存在更好的設計:?考慮路由器把超出MTU的數據包簡單攔腰截斷,繼續往下發送,確保接受方儘可能儘快瞭解
MTU(從傳過來的數據量),同時接受部分數據
源端(1400)----------------------》(路由)---------------------------------》(路由)----------------------------》目標端 900
| | 1400 | 1200 |
| ----------Try1200--------------- |
| |
----------------------Try 900--------------------------------------|