《TCP IP詳解 卷一》第2章 鏈路層

2021-07-23 20:34:40 字數 3206 閱讀 2961

鏈路層的三個目的:

tcp/ip支援多種不同的鏈路層協議,這取決於網路所使用的硬體,如乙太網,令牌環網,fddi(光纖分布式資料介面)及rs-232序列線路等。

本章詳細的討論了乙太網鏈路層協議,兩個序列介面鏈路層協議(slip和ppp)。大多數實現都包含的環迴驅動程式。還講了mtu(最大傳輸單元)。如何為序列線路選擇mtu。

乙太網,2023年公布的乙個標準,當今tcp/ip採用的主要的區域網技術。採用csma/cd的**接入方法,意思是帶衝突檢測的載波偵聽多路接入。速率為10mb/s,位址為48bit。

ieee 802委員會又公布了乙個標準集,802.3針對整個csma/cd網路,802.4針對令牌匯流排網路,802.5針對令牌環網路。三者的共同特性由802.2來定義,那就是802網路共有的邏輯鏈路控制(llc)。802.3,802.2定義了乙個與乙太網不同的幀格式。

那麼,現在有兩個標準,怎麼辦?

在tcp/ip裡,乙太網ip資料報的封裝在rfc 894中定義,ieee 802網路的ip資料報封裝在rfc 1042中定義。主機需求rfc要求每乙個internet主機都與乙個10mb/s的乙太網電纜相連線:

如果主機能傳送兩種格式的分組,那麼傳送的格式必須是可設定的,且預設必須要是rfc 894格式。

兩種幀格式:

兩種的目的位址和源位址都是48bit(6位元組)。

802標準的長度是指後續資料的長度,不包括crc。乙太網的型別字段定義了後續資料的型別。802中型別欄位由後續子網接入協議的首部給出。

802定義的有效長度值與乙太網的有效型別值無一相同,這樣就可以將兩種幀格式進行區分。

802中,3位元組802.2的llc,5位元組的snap。dsap(目的服務訪問點)和ssap(源服務訪問點)值都為0xaa,ctrl字段值為3。3位元組的org code置為0。型別與乙太網幀格式的型別相同。

crc。迴圈冗餘碼檢驗,(fcs或幀檢驗序列)。

802.3規定資料部分必須至少為38位元組,乙太網要求至少為46位元組。

就是在尾部封裝上一些資料。已遭到反對,不討論。

serial line ip。在序列線路上對ip資料報進行封裝的簡單形式。適用於家庭中每台計算機幾乎都有的rs-232串列埠和高速數據機接入internet。

slip協議定義的幀格式:

例:

slip的一些缺陷:

但儘管有這些缺陷,但slip仍然是一種廣泛使用的協議。

cslip。序列線路的速率通常較低,而且通常是互動式的,因此在slip線路上有許多小的tcp分組進行交換。為了傳送乙個位元組的資料需要20個位元組的ip首部和20位元組的tcp首部,總數超過40位元組。cslip通常能把這40個位元組壓縮到3到5個位元組,他能在cslip的每一端維持多達16個tcp連線,並且知道其中每個連線的首部中的字段一般不會發生變化。這些被壓縮的首部大大地縮短了互動響應的時間。

ppp修改了slip中的所有缺陷。ppp包括下面三個部分:

ppp資料幀格式看上去很像iso的hdlc(高層資料鏈路控制)標準。

ppp資料幀格式:

每一幀都以字元0x7e開始和結束。

位址位元組,值始終為0xff。

控制位元組,0x03。

協議字段類似於乙太網中的型別欄位的功能,具體標識如上。

crc標誌符為0x7e的話,當它出現在資訊欄位中時,ppp就要對他進行轉義。在同步鏈路中,該過程是通過一種叫做位元填充的硬體技術來完成的。在非同步鏈路中,0x7d被用作轉義字元。當它出現在ppp資料幀中時,那麼緊接著的字元的第六個位元要取其補碼。具體如下:

這樣做的原因是防止它們出現在雙方主機的序列介面驅動程式或數據機中,因為有時它們會把這些控制字元解釋成特殊的含義。另一種可能是用鏈路控制協議來指定是否需要對這32個字元中的某一些值進行轉義。預設情況下是都轉義。

與slip類似,ppp經常用於低速的序列鏈路,因此減少每一幀的位元組數可以降低應用程式的互動時延。利用鏈路控制協議,大多數產品通過協商可以省略標誌符和位址字段,協議欄位由2減為1。與前面的slip比的話只額外增加了3個位元組,1協議,2crc。另外,使用ip網路控制協議,大多數產品可以協商採用一種報文首部壓縮方法(對應與cslip),減少ip和tcp報文首部長度。

ppp比slip的優點:

代價是多出的3個位元組。當建立鏈路時要傳送幾幀協商資料,以及更為複雜的實現。

以允許執行在同一主機上的客戶程式和服務程式通過tcp/ip進行通訊。a類網路號127就是為環迴介面預留。大多數系統把ip位址127.0.0.1分配給這個介面。

乙個傳給環迴介面的ip資料報不能在任何網路上出現。

傳資料給環迴介面時照樣完成傳輸層和網路層的所有過程,只是檔資料報離開網路層時把它返回給自己。

這個圖其實我現在暫時還不太懂,等再給後面看一些看能不能再理解一下。。這裡留下以後補充。

圖中的關鍵點:

- 傳給回環位址的任何資料均為ip輸入。

- 傳給廣播位址或多播位址的資料報複製乙份傳給環迴介面,然後送到乙太網上。這是因為廣播傳送和多播傳送的定義包括主機本身。

- 任何傳給該主機ip位址的資料均送到環迴介面。

環迴介面可以被看做是網路層下面的乙個鏈路層。網路層把乙份資料報傳送給環迴介面,就像傳給其他鏈路層一樣,只不過環迴介面把它返回到ip輸入佇列中。

送給主機本身ip位址的ip資料報一般不出現在相應的網路當中。

比如乙太網和802.3對資料幀的長度都有乙個限制,其最大值為1500和1492位元組,鏈路層稱這個特性為mtu,最大傳輸單元。不同型別的網路大多數都會有乙個上限。

兩台通訊主機路徑中最小的mtu稱作路徑mtu。

兩台主機之間的路徑mtu不是乙個常數,它取決於當時選擇的路由。而選路不一定是對稱的(a->b的路由和b->a的路由不同),因此路徑mtu在兩個方向上不一定一致。

TCP IP 詳解卷一 第2章 鏈路層

資料鏈路層是計算機網路最基本的內容,在 tcp ip 協議族中,資料鏈路層主要有三個目的 1.為ip 模組傳送和接收 ip 資料報 2.為arp 模組傳送 arp 請求和接收 arp 應答 3.為rarp傳送rarp 請求和接收rarp 應答 資料鏈路層的協議資料單元 幀 將 ip 層 網路層 的資...

TCP IP詳解 卷一(第二章 鏈路層)

在tcp ip協議族中,鏈路層主要有三個目的 1.為ip模組傳送和接收ip資料報 2.為arp模組傳送arp請求和接收arp應答 3.為rarp請求和接收rarp應答 tcp ip支援多種不同的鏈路層協議,本文主要討論乙太網鏈路層協議 ppp協議以及大多數實現都包含的環迴 loopback 驅動程式...

TCP IP 卷一 鏈路層

1 為ip模組傳送和接收ip資料報 2 為arp模組傳送arp請求和接收arp應答 3 為rarp傳送rarp請求和接收rarp應答 802.3針對整個csma cd網路,802.4針對令牌匯流排網路,802.5針對令牌環網路。802網路共有的邏輯鏈路控制 llc 802.2和802.3定義了乙個與...