TCP/IP詳解學習筆記(2)-數據鏈路層

                                                                                              

                                                                                          TCP/IP詳解學習筆記(2)-數據鏈路層      

數據鏈路層有三個目的:

·            IP模塊發送和 接收IP數據報。

·            ARP模塊發送ARP請求和接收ARP應答。

·            RARP發送RARP 求和接收RARP應答

ip大家都聽說過。至於ARPRARPARP叫做地址解析協議,是用IP地址換MAC地址的一種協議,而RARP則叫做逆地址解析協議,在tcp/ip協議的後面章節會介紹它們(在局域網裏面用ARP協議可以很容易的搞癱瘓網絡哦)

數據鏈路層的協議還是很多的,有我們最常用的以太網(就是平時我們用的網卡)協議,也有不太常見的令牌環,還有FDDI,當然,還有國內現在相當普及的PPP協議(就是adsl寬帶),以及一個loopback協議。

聯繫linux裏面的ifconfig -a命令,這個命令通常會得到如下的結果


其中,eth0就是以太網接口,而lo則是loopback接口。這也說明這個主機在網絡鏈路層上至少支持loopback協議和以太網協議。

以太網(Ether-net)的定是指數字設備公司( Digital Equipment Corp.)、英特爾公司(Intel Corp.)和Xerox公司在1982年聯合公佈的一個標準,這個標準裏面使用了一種稱作CSMA/CD的接入方法。而IEEE802提供的標準集802.3(還有一部分定義到了802.2)也提供了一個CSMA/CD的標準。這兩個標準稍有不同,TCP/IP協議對這種情況的處理方式如下:

·            以太網的IP數據報封裝在RFC894中定義,而IEEE802網絡的IP數據報封裝在RFC1042中定義。

·            一臺主機一定要能發送和接收RFC894定義的數據報。

·            一臺主機可以接收RFC894RFC1042的封裝格式的混合數據報。

·            一臺主機也許能夠發送RFC1042數據報。。如果主機能同時發送兩種類型的分組數 據,那麼發送的分組必須是可以設置的,而且默認條件下必須是RFC 894分組。

可見,RFC1042TCP/IP裏面處於一個配角的地位。這兩種不同的數據報格式請參考教材。

ppp(點對點協議)是從SLIP的替代品。他們都提供了一種低速接入的解決方案。而每一種數據鏈路層協議,都有一個MTU(最大傳輸單元)定義,在這個定義下面,如果IP數據報過大,則要進行分片(fragmentation),使得每片都小於MTU,注意PPPMTU並不是一個物理定義,而是指一個邏輯定義(個人認爲就是用程序控制)。可以用netstat來打印出MTU的結果,比如鍵入netstat -in


就可以觀察到eth0MTU1500。而lo(環回接口)的MTU則是16436

最後說說那個環回接口(loopback)。平時我們用127.0.0.1來嘗試自己的機器服務器好使不好使。走的就是這個loopback接口。對於環回接口,有如下三點值得注意:

·            傳給環回地址(一般是127.0.0.1)的任何數據均作爲I P輸入。

·            傳給廣播地址或多播地址的數據報復制一份傳給環回接口,然後送到以太網上。這是 因爲廣播傳送和多播傳送的定義包含主機本身。

·            任何傳給該主機IP地址的數據均送到環回接口。

這一章還是很簡單的,一般作爲了解知識也就足夠了,沒必要摳的那麼詳細。





發佈了50 篇原創文章 · 獲贊 79 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章