posts - 297,  comments - 1618,  trackbacks - 0
           

          說明:本文為《TCP/IP詳解,卷1:協議》的第二章“鏈路層”的學習筆記。

          一.             引言

          1. 鏈路層的目的

          1) I P模塊發送和接收I P數據報;

          2) A R P模塊發送A R P請求和接收A R P應答;

          3) R A R P發送R A R P請求和接收R A R P應答。

          2. 本章學習內容

           將詳細討論以太網鏈路層協議,兩個串行接口鏈路層協議( S L I PP P P),

          以及大多數實現都包含的環回( l o o p b a c k)驅動程序。

           

          二.             以太網和IEEE 802封裝

          1. 以太網術語解釋

           以太網這個術語一般是指數字設備公司( Digital Equipment Corp.)、英特爾公司( I n t e lC o r p .)和X e r o x公司在1 9 8 2年聯合公布的一個標準。它是當今T C P / I P采用的主要的局域網技術。它采用一種稱作C S M A / C D的媒體接入方法,其意思是帶沖突檢測的載波偵聽多路接入Carrier Sense, Multiple Access with Collision Detection)。它的速率為10 Mb/s,地址為48 bit

           T C P / I P世界中,以太網I P數據報的封裝是在RFC 894[Hornig 1984]中定義的,IEEE 802網絡的I P數據報封裝是在RFC 1042[Postel and Reynolds 1988]中定義的。

          2. 封裝格式

          1) IEEE 802.2/802.3封裝

           

          2) 以太網封裝

          以太網封裝是最常見的封裝格式。

          三.             尾部封裝

           它是一個早期B S D系統在DEC VA X機上運行時的試驗格式,它通過調整I P數據報中字段的次序來提高性能。在以太網數據幀中,開始的那部分是變長的字段(I P首部和T C P首部)。把它們移到尾部(在C R C之前),這樣當把數據復制到內核時,就可以把數據幀中的數據部分映射到一個硬件頁面,節省內存到內存的復制過程。

           尾部封裝已遭到反對。

           

          四.             SLIP:串行線路IP

           全稱:Serial Line IP。它是一種簡單的幀封裝方法。它是一種在串行線路上對I P數據報進行封裝的簡單形式,在RFC 1055[Romkey 1988]中有詳細描述。S L I P適用于家庭中每臺計算機幾乎都有的R S - 2 3 2串行端口和高速調制解調器接入I n t e r n e t

          S L I P協議定義的幀格式如下:

          1IP數據報以一個稱作E N D0 x c 0)的特殊字符結束。同時,為了防止數據報到來之前的線路噪聲被當成數據報內容,大多數實現在數據報的開始處也傳一個E N D字符(如果有線路噪聲,那么E N D字符將結束這份錯誤的報文)。

          2如果I P報文中某個字符為E N D,那么就要連續傳輸兩個字節0 x d b0 x d c來取代它。

          0 x d b這個特殊字符被稱作S L I PE S C字符。

          3如果I P報文中某個字符為S L I PE S C字符,那么就要連續傳輸兩個字節0 x d b0 x d d來取代它。

          SLIP的缺陷如下:

          1 每一端必須知道對方的I P地址。沒有辦法把本端的I P地址通知給另一端。

          2 數據幀中沒有類型字段(類似于以太網中的類型字段)。如果一條串行線路用于S L I P

          那么它不能同時使用其他協議。

           3 S L I P沒有在數據幀中加上檢驗和(類似于以太網中的C R C字段)。如果S L I P傳輸的報文被線路噪聲影響而發生錯誤,只能通過上層協議來發現(另一種方法是,新型的調制解調器可以檢測并糾正錯誤報文)。

           

          五.             壓縮的SLIP

           C S L I P(即壓縮S L I PRFC 1144[Jacobson 1990a]中被詳細描述。它能在C S L I P的每一端維持多達1 6T C P連接,并且知道其中每個連接的首部中的某些字段一般不會發生變化。對于那些發生變化的字段,大多數只是一些小的數字和的改變。這些被壓縮的首部大大地縮短了交互響應時間。

           

          六.             PPP:點到點協議

          點對點協議修改了S L I P協議中的所有缺陷。P P P包括以下三個部分:

          1.在串行鏈路上封裝I P數據報的方法。P P P既支持數據為8位和無奇偶檢驗的異步模式

          (如大多數計算機上都普遍存在的串行接口),還支持面向比特的同步鏈;

          2.建立、配置及測試數據鏈路的鏈路控制協議( L C PLink Control Protocol)。它允許通

          信雙方進行協商,以確定不同的選項。

          3.針對不同網絡層協議的網絡控制協議( N C PNetwork Control Protocol)體系。

           PPP數據楨的格式如下圖:

          S L I P類似,由于P P P經常用于低速的串行鏈路,因此減少每一幀的字節數可以降低應用程序的交互時延。

          總的來說, P P PS L I P具有下面這些優點:

          1)  PPP支持在單根串行線路上運行多種協議,不只是I P協議;

          2)  每一幀都有循環冗余檢驗;

          3)  通信雙方可以進行I P地址的動態協商(使用I P網絡控制協議;

          4)  C S L I P類似,對T C PI P報文首部進行壓縮;

          5)  鏈路控制協議可以對多個數據鏈路選項進行設置。

           

          七.             環回接口

          大多數的產品都支持環回接口( Loopback Interface),以允許運行在同一臺主機上的客戶

          程序和服務器程序通過T C P / I P進行通信。A類網絡號1 2 7就是為環回接口預留的。根據慣例,大多數系統把I P地址1 2 7 . 0 . 0 . 1分配給這個接口,并命名為l o c a l h o s t。一個傳給環回接口的I P數據報不能在任何網絡上出現。

           需要注意的幾點:

           1. 傳給環回地址(一般是1 2 7 . 0 . 0 . 1)的任何數據均作為I P輸入;

           2. 傳給廣播地址或多播地址的數據報復制一份傳給環回接口,然后送到以太網上;

           3. 任何傳給該主機I P地址的數據均送到環回接口。

           

          八.             最大傳輸單元MTU

           以太網和8 0 2 . 3對數據幀的長度都有一個限制,其最大值分別是1 5 0 01 4 9 2字節。鏈路層的這個特性稱作M T U最大傳輸單元

           如果I P層有一個數據報要傳,而且數據的長度比鏈路層的M T U還大,那么I P層就需要進行分片( f r a g m e n t a t i o n

           

          九.             路徑MTU

          當在同一個網絡上的兩臺主機互相進行通信時, 兩臺通信主機路徑中的最小M T U。被稱作路徑M T U

           兩臺主機之間的路徑M T U不一定是個常數。它取決于當時所選擇的路由。而選路不一定

          是對稱的(從AB的路由可能與從BA的路由不同),因此路徑M T U在兩個方向上不一定是一致的。

           

          十.             串行電路吞土量計算

           關于人的有關研究表明,交互響應時間超過1 0 0200 ms就被認為是不好的。

           

          十一.  小結

          本章討論了I n t e r n e t協議族中的最底層協議,鏈路層協議。我們比較了以太網和I E E E

          8 0 2 . 2 / 8 0 2 . 3的封裝格式,以及S L I PP P P的封裝格式。由于S L I PP P P經常用于低速的鏈路,二者都提供了壓縮不常變化的公共字段的方法。這使交互性能得到提高。

          大多數的實現都提供環回接口。訪問這個接口可以通過特殊的環回地址,一般為1 2 7 . 0 . 0 . 1。也可以通過發送I P數據報給主機所擁有的任一I P地址。當環回數據回到上層的協議

          棧中時,它已經過傳輸層和I P層完整的處理過程。

          我們描述了很多鏈路都具有的一個重要特性, M T U,相關的一個概念是路徑M T U。根據典型的串行線路M T U,對S L I PC S L I P鏈路的傳輸時延進行了計算。

          本章的內容只覆蓋了當今T C P / I P所采用的部分數據鏈路公共技術。T C P / I P成功的原因之一是它幾乎能在任何數據鏈路技術上
          posted on 2007-08-22 18:46 阿蜜果 閱讀(1435) 評論(2)  編輯  收藏 所屬分類: 網絡通信相關


          FeedBack:
          # re: 《TCP/IP詳解,卷1:協議》學習筆記——2. 鏈路層 [未登錄]
          2007-08-22 19:41 | -274°C
          我的姐姐是超人。你認識她嗎?哈哈  回復  更多評論
            
          # re: 《TCP/IP詳解,卷1:協議》學習筆記——2. 鏈路層 [未登錄]
          2007-08-22 21:04 | anson
          真的佩服你,要向你學習才行^_^~~  回復  更多評論
            
          <2007年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

                生活將我們磨圓,是為了讓我們滾得更遠——“圓”來如此。
                我的作品:
                玩轉Axure RP  (2015年12月出版)
                

                Power Designer系統分析與建模實戰  (2015年7月出版)
                
               Struts2+Hibernate3+Spring2   (2010年5月出版)
               

          留言簿(263)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          關注blog

          積分與排名

          • 積分 - 2296370
          • 排名 - 3

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 雷山县| 莒南县| 临沧市| 微博| 手机| 大悟县| 涞源县| 柳林县| 万盛区| 内丘县| 普兰店市| 岳普湖县| 新郑市| 广水市| 惠东县| 长沙县| 郧西县| 日照市| 马鞍山市| 金门县| 万年县| 大同市| 武邑县| 化隆| 麻栗坡县| 黄梅县| 衡水市| 青神县| 固始县| 明水县| 平昌县| 河北区| 绥滨县| 甘孜县| 嘉义市| 富阳市| 江永县| 桐梓县| 英德市| 荥经县| 纳雍县|