日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

链路层 ---《TCP/IP协议》卷一

發布時間:2025/3/15 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 链路层 ---《TCP/IP协议》卷一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第2章 鏈路層


2.1 引言

鏈路層主要有三個目的:

  • 為IP模塊發送和接收IP數據報。
  • 為ARP模塊發送ARP請求和接收ARP應答。
  • 為RARP發送RARP請求和接收RARP應答。

詳細討論:

  • 以太網鏈路層協議
  • 兩個串行接口鏈路層協議(SLIP 和 PPP)
  • 環回(loopback)驅動程序
  • 以太網SLIP本書中大多數例子使用的鏈路層

2.2 以太網和IEEE802封裝

以太網:它采用一種CSMA/CD(帶沖突檢測的載波監聽多路接入機制),它的速率為10Mb/s,地址為48bit。

802.3針對整個CSMA/CD網絡,802.4針對令牌總線網絡,802.5針對令牌環網絡;這三者的共同特性由802.2標準來定義,那就是802網絡共有的邏輯鏈路控制(LLC)。(不幸的是,802(802.2和802.3)的封裝格式與以太網的封裝格式是不同)

以太網和IEEE 802的 RFC 要求每一臺 Internet 主機都與一個 10Mb/s 的以太網電纜相連接

  • 必須能發送和接收采用 RFC 894(以太網) 封裝格式的分組。
  • 應該能接收與 RFC 894 混合的 RFC 1042(IEEE802) 封裝格式的分組。
  • 也許能夠發送采用 RFC 1042 格式封裝的分組。如果主機能同時發送兩種類型的分組數據,那么發送的分組必須是可以設置的,而且默認條件下必須是RFC 894分組。

下面給出802.3和以太網封裝格式:

(看完這個,表示懵逼了一會。802.3針對整個CSMA/CD網絡了,為什么還會有以太網封裝格式?答案很簡單,802.3是以太網的標準封裝格式。所以,我們可以將重心放在802.3封裝格式上。)

802.3封裝格式具體說明,特別詳細


2.3 尾部封裝(過時)

RFC 893[Leffler and Karels 1984]描述了另一種用于以太網的封裝格式,稱作尾部封裝(trailer encapsulation)。這是一個早期 BSD 系統在 DEC VAX 機上運行時的試驗格式,它通過調整 IP數據報中字段的次序來提高性能。在以太網數據幀中,開始的那部分是變長的字段(IP首部和TCP首部)。把它們移到尾部(在 CRC 之前),這樣當把數據復制到內核時,就可以把數據幀中的數據部分映射到一個硬件頁面,節省內存到內存的復制過程。 TCP 數據報的長度是512字節的整數倍,正好可以用內核中的頁表來處理。兩臺主機通過協商使用 ARP 擴展協議對數據幀進行尾部封裝。這些數據幀需定義不同的以太網幀類型值。

現在,尾部封裝已遭到反對。


2.4 SLIP:串行線路IP

SLIP的全稱是Serial Line IP。SLIP適用于家庭中,因為每臺計算機機會都會有RS-232串行端口和高速調制解調器接入Internet。

SLIP報文封裝:

SLIP 協議定義的幀格式:

  • IP數據報以一個稱作 END(0xc0)的特殊字符結束。同時,為了防止數據報到來之前的線路噪聲被當成數據報內容,大多數實現在數據報的開始處也傳一個 END 字符(如果有線路噪聲,那么 END 字符將結束這份錯誤的報文。這樣當前的報文得以正確地傳輸,而前一個錯誤報文交給上層后,會發現其內容毫無意義而被丟棄)。
  • 如果 IP 報文中某個字符為 END,那么就要連續傳輸兩個字節 0xdb 和 0xdc 來取代它。0xdb 這個特殊字符被稱作 SLIP 的 ESC 字符,但是它的值與 ASCII 碼的 ESC 字符(0x1b)不同。
  • 如果 IP 報文中某個字符為 SLIP 的 ESC 字符,那么就要連續傳輸兩個字節 0xdb 和 0xdd 來
    取代它。

SLIP協議的缺陷:

  • 每一端必須知道對方的 IP 地址。沒有辦法把本端的 IP 地址通知給另一端。
  • 數據幀中沒有類型字段(類似于以太網中的類型字段)。如果一條串行線路用于 SLIP,那么它不能同時使用其他協議。
  • SLIP 沒有在數據幀中加上檢驗和(類似于以太網中的 CRC 字段)。如果 SLIP 傳輸的報文被線路噪聲影響而發生錯誤,只能通過上層協議來發現(另一種方法是,新型的調制解調器可以檢測并糾正錯誤報文)。這樣,上層協議提供某種形式的 CRC 就顯得很重要。

因此,隨著調制解調器的速率和可靠性的提高,SLIP越來越流行。


2.5 壓縮的SLIP

由于串行線路的速率比較低(19200b/s或更低),而且通信經常是交互式的,因此在SLIP線路上有許多小的TCP分組進行交換。為了傳送1個字節的數據需要20個字節的IP首部和20個字節的TCP首部,總數超過40個字節。

認識到這些性能上的缺陷,人們提出一個被稱作 CSLIP(即壓縮SLIP) 的新協議,它在 RFC1144[Jacobson 1990a] 中被詳細描述。CSLIP一般能把上面的40個字節壓縮到3或5個字節,它能在CSLIP的每一端維持多達16個TCP連接,并且知道其中每個連接的首部中某些字段一般不會發生變化。對于那些發生變化的字段,大多數只是一些小的數字和改變。這些被壓縮的首部大大縮短了交互響應時間。


2.6 PPP:點對點協議(支持IP等各種上層協議)

PPP,點對點協議修改了SLIP協議中的所有缺陷

  • 在串行鏈路上封裝IP數據報的方法。PPP既支持數據為8位和無奇偶校驗的異步模式,還支持面向比特的同步鏈接。
  • 建立、配置及測試數據鏈路的鏈路控制協議(LCP)。它允許通信雙方進行協商,以確定不同的選項。
  • 針對不同網絡層協議的網絡控制協議(NCP)體系。當前RFC定義的網絡層有IP、OSI網絡層、DECnet以及AppleTalk。例如:IP NCP允許雙方商定是否對報文首部進行壓縮,類似于CSLIP(注:縮寫詞NCP也用來指TCP的前身)。

RFC 1548描述了報文封裝的方法和鏈路控制協議。RFC 1332描述了針對IP的網絡控制協議。

PPP 數據幀的格式看上去很像 ISO 的 HDLC(高層數據鏈路控制) 標準。

PPP數據幀格式:

  • 每一幀都以標志字符 0x7e 開始和結束。緊接著是一個地址字節,值始終是 0xff,然后是一個值為 0x03 的控制字節;
  • 協議字段;
  • CRC循環冗余校驗碼。

由于標志字符的值是 0x7e,因此當該字符出現在信息字段中時, PPP 需要對它進行轉義。

  • 當遇到字符 0x7e 時,需連續傳送兩個字符:0x7d 和 0x5e,以實現標志字符的轉義;
  • 當遇到轉義字符 0x7d 時,需連續傳送兩個字符:0x7d 和 0x5d,以實現轉義字符的轉義;
  • 默認情況下,如果字符的值小于 0x20(比如,一個 ASCII 控制字符),一般都要進行轉義。

PPP 比 SLIP 具有下面這些優點:

  • PPP 支持在單根串行線路上運行多種協議,不只是 IP 協議;
  • 每一幀都有循環冗余檢驗;
  • 通信雙方可以進行 IP 地址的動態協商(使用IP 網絡控制協議);
  • 與 CSLIP 類似,對 TCP 和 IP 報文首部進行壓縮;
  • 鏈路控制協議可以對多個數據鏈路選項進行設置。

這些優點付出的代價是在每一幀的首部增加3個字節,當建立鏈路時要發送幾幀協商數據,以及更為復雜的實現。

PPP最終將會取代SLIP


2.7 環回接口

大多數的產品都支持環回接口(Loopback Interface),以允許運行在同一臺主機上的客戶程序和服務器程序通過 TCP/IP 進行通信。 A類網絡號 127 就是為環回接口預留的。根據慣例,大多數系統把 IP 地址 127.0.0.1 分配給這個接口,并命名為 localhost 。一個傳給環回接口的 IP 數據報不能在任何網絡上出現

環回接口處理I P數據報的簡單過程:

關鍵點:

  • 傳給環回地址(一般是 127.0.0.1)的任何數據均作為 IP 輸入;
  • 傳給廣播地址或多播地址的數據報復制一份傳給環回接口,然后送到以太網上。這是因為廣播傳送和多播傳送的定義包含主機本身;
  • 任何傳給該主機 IP 地址的數據均送到環回接口。

2.8 最大傳輸單元MTU

如果 IP 層有一個數據報要傳,而且數據的長度比鏈路層的 MTU 還大,那么 IP 層就需要進行分片(fragmentation),把數據報分成若干片,這樣每一片都小于 MTU 。

如圖,幾種常見的MTU:

正如我們看到的,所學的以太網和IEEE 802.3還有點對點的MTU都被列出。不難發現,MTU是指數據幀的數據部分的長度


2.9 路徑MTU

當在同一個網絡上的兩臺主機互相進行通信時,該網絡的 MTU是非常重要的。但是如果兩臺主機之間的通信要通過多個網絡,那么每個網絡的鏈路層就可能有不同的 MTU。重要的不是兩臺主機所在網絡的 MTU的值,重要的是兩臺通信主機路徑中的最小 MTU。它被稱作路徑 MTU


2.10 串行線路吞吐量計算

如果線路速率是9600 b/s,而一個字節有 8 bit,加上一個起始比特和一個停止比特,那么線路的速率就是960 B/s(字節/秒)。


2.11 小結

  • 鏈路層協議。我們比較了以太網和 IEEE 802.2/802.3 的封裝格式,以及 SLIP 和 PPP 的封裝格式。由于 SLIP 和 PPP 經常用于低速的鏈路,二者都提供了壓縮不常變化的公共字段的方法。這使交互性能得到提高。
  • 大多數的實現都提供環回接口。訪問這個接口可以通過特殊的環回地址,一般為 127.0.0.1 。也可以通過發送 IP 數據報給主機所擁有的任一 IP 地址。當環回數據回到上層的協議棧中時,它已經過傳輸層和 IP 層完整的處理過程。
  • 我們描述了很多鏈路都具有的一個重要特性,MTU,相關的一個概念是路徑 MTU。根據典型的串行線路 MTU,對 SLIP 和 CSLIP 鏈路的傳輸時延進行了計算。

練習

如果你的系統支持 netstat(1) 命令(參見 3.9 節),那么請用它確定系統上的接口及其 MTU 。netstat詳解

總結

以上是生活随笔為你收集整理的链路层 ---《TCP/IP协议》卷一的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费黄网在线看 | 性猛交xxxx乱大交孕妇印度 | 午夜精品久久久久久久99热黄桃 | 91麻豆精品91久久久久同性 | 欧美做受高潮中文字幕 | www.国产精品视频 | 强行挺进白丝老师里呻吟 | 伊人久久免费 | 亚洲欧洲日本在线 | 在线免费观看黄视频 | 国产成人综合一区二区三区 | 国产精品久久久久久久久久东京 | 日韩欧美日本 | 美女扒开尿口让男人桶 | 羞羞网站在线观看 | 免费91视频 | 青青草手机视频在线观看 | 国产欧美啪啪 | 少妇人妻综合久久中文字幕 | 国产精品视频观看 | 亚洲一区二区三区四区五区六区 | 人成在线观看 | 日韩人妻无码精品久久久不卡 | 日本中文字幕在线看 | 成年人免费在线观看网站 | 天堂精品视频 | 少妇饥渴放荡91麻豆 | 日韩久久久精品 | 日日摸日日碰夜夜爽无码 | 欧美成人a∨高清免费观看 国产精品999视频 | 无码h肉动漫在线观看 | 国产精品资源网站 | 免费色片网站 | 欧美粗又大| 亚洲AV不卡无码一区二区三区 | 色91av| 日韩国产精品久久 | 黑花全肉高h湿play短篇 | 色播激情网 | 亚洲一区二区综合 | 亚洲精品无码久久久久久久 | 欧美激情天堂 | 韩国av电影网站 | 国产精品久久久久9999 | 日本啪啪片 | 天堂少妇 | 女人18毛片一区二区三区 | 国内视频自拍 | 久久午夜夜伦鲁鲁一区二区 | 欧美三级黄 | www九九热 | 国产人妻777人伦精品hd | 乱子伦一区 | 又黄又爽视频 | 欧美日韩片 | 亚日韩在线 | 天天干天天插天天操 | 日本三级中文 | 在线视频观看一区二区 | 日本裸体网站 | 俺去日 | 夜夜夜夜操 | 国产精品一区三区 | 啪视频在线 | 99re99| 黄色网战大全 | 最近中文字幕在线mv视频在线 | 自拍偷拍导航 | 中文字幕在线观看线人 | 日韩欧美网址 | a级片中文字幕 | 欧美成人a∨高清免费观看 国产精品999视频 | 夜夜爽av | 国产精品毛片一区二区在线看 | 最近的中文字幕在线看视频 | 黄色小说在线视频 | 在线一区观看 | 91午夜影院 | 欧美三根一起进三p | 亚洲专区在线播放 | 成人激情视频在线播放 | 成人在线超碰 | 黄色av一级 | 波多野结衣视频免费 | 黄色av一区二区 | 日韩大片免费在线观看 | 中文免费视频 | 亚洲精品中文字幕在线 | 亚洲欧洲天堂 | 91porn破解版 | 无码人妻精品一区二区三区9厂 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 国产福利视频一区二区 | 在线一区二区三区视频 | 天堂网av中文字幕 | 看黄色大片 | 噜噜噜在线视频 | 中文字幕在线观看第一页 | 污污内射在线观看一区二区少妇 |