天天看點

TCP/IP詳解(協定)筆記2——鍊路層

1、鍊路層的三個作用

(1)為IP子產品發送和接收IP資料;

(2)為ARP子產品發送ARP請求和接收ARP應答;

(3)為RARP子產品發送RARP請求和接收RARP應答;

這裡我們主要介紹以太網鍊路層協定、兩個串行接口鍊路層協定(SLIP和PPP)和環回(loopback)驅動程式。

2、以太網協定

以太網是一個标準,它是當今TCP/IP采用的主要的區域網路技術。它采用CSMA/CD(帶沖突檢測的載波偵聽多路接入)技術。主機需求RFC要求每台Internet

主機都與一個10Mb/s的以太網電纜相連接配接:

(1)必須能發送和接收采用RFC894(以太網)封裝格式的分組;

(2)應該能接收與RFC 894混合的RFC 1042(IEEE 802)封裝格式的分組;

(3)也許能夠發送采用RFC 1042格式封裝的分組;

可見最長用的封裝格式是RFC 894定義的格式。這兩種幀格式都采用6個位元組的目的位址和源位址,這個位址就是我們一般所說的硬體位址。ARP(位址解析協定)和RARP(逆位址解析協定)對4個位元組的IP位址和6個位元組的硬體位址進行映射。這兩種幀的最後面還有4個位元組的CRC(循環備援檢驗)。

3、SLIP(串行線路IP)與壓縮的SLIP

SLIP适用于RS-232串行端口和高速數據機接入Internet。

SLIP幀格式描述:

(1)IP資料報以END(0xc0)的特殊字元結束,同時現在大多數的資料報在開始處也傳一個END字元,用于正确傳輸。

(2)如果IP封包中某個字元為END,那麼就要連續傳輸兩個位元組0xdb和0xdc來取代它,0xdb被稱作SLIP的ESC字元。

(3)當IP封包中某個字元為SLIP的ESC字元時,就要連續傳輸兩個字元0xdb和0xdd來取代它。

SLIP的一些缺陷:

(1)每一端必須知道對方的IP位址。沒有辦法把本端的IP位址通知給另一端。

(2)資料幀中沒有類型字段,如果一條串行線路用于SLIP,那麼它不能同時使用其他協定。

(2)SLIP沒有在資料幀中加入檢驗和,是以錯誤隻能通過上層協定來發現。

CSLIP(壓縮SLIP):

CSLIP能把20個位元組的IP首部和20個位元組的TCP首部壓縮到3或5個位元組,它能在CSLIP的每一端維持多達16個TCP連接配接,并且知道其中每個連接配接的首部中

的某些字段一般不會發生變化。

4、點對點協定(PPP)

點對點協定修改了SLIP協定中所有的缺陷,PPP相對于SLIP具有以下優點:

(1)PPP支援在單根串行線路上運作多種協定,不隻是IP協定;

(2)每一幀都有循環備援檢驗;

(3)通信雙方可以進行IP位址的動态協商(使用IP網絡控制協定);

(4)與CSLIP相似,對TCP和IP封包首部進行壓縮;

(5)鍊路控制協定可以對多個資料鍊路選項進行設定;

5 、環回接口

環回接口允許運作在同一台主機上的客戶程式和伺服器程式通過TCP/IP進行通信。根據慣例,大多數系統把IP位址127.0.0.1(127.開頭的IP位址都可以)

配置設定給這個端口,并命名 為localhost,一個傳給環回接口的IP資料報不能在任何網絡上出現。環回接口處理IP資料報示意圖如圖1所示:

TCP/IP詳解(協定)筆記2——鍊路層

圖1 環回接口IP資料報處理

這裡有幾個關鍵點說明一下:

(1)傳給環回位址的任何資料均作為IP輸入;

(2)傳給廣播位址或多點傳播位址的資料複制一份傳給環回接口,然後送到以太網上;

(3)任何傳送給該主機IP位址的資料均送回環回接口;

6 、最大傳輸單元MTU與路徑MTU

最大傳輸單元MTU:
以太網和802.3對資料幀的長度都有一個限制,其最大值分别為1500和1492位元組,鍊路層的這個特性稱為MTU。以以太網為例:MTU指的是封裝的資料的

長度,不包括目的位址、源位址和類型這6+6+2=14個位元組的内容,也不包括CSC。

路徑MTU:

當兩台主機之間的通信要通過多個網絡時,那麼每個網絡的鍊路層就可能有不同的MTU,此時重要的不是兩台主機所在的MTU值,而是兩台通信主機路

徑中的最小MTU,它被稱為路徑MTU。

繼續閱讀