數據鏈路層有三個目的:linux
ip你們都據說過。至於ARP和RARP,ARP叫作地址解析協議,是用IP地址換MAC地址的一種協議,而RARP則叫作逆地址解析協議,在tcp/ip協議的後面章節會介紹它們(在局域網裏面用ARP協議能夠很容易的搞癱瘓網絡哦)git
數據鏈路層的協議仍是不少的,有咱們最經常使用的以太網(就是平時咱們用的網卡)協議,也有不太常見的令牌環,還有FDDI,固然,還有國內如今至關普及的PPP協議(就是adsl寬帶),以及一個loopback協議。服務器
聯繫linux裏面的ifconfig -a命令,這個命令一般會獲得以下的結果網絡
eth0 Link encap:Ethernet HWaddr 00:01:4A:03:5B:ED inet addr:192.168.11.2 Bcast:192.168.11.255 Mask:255.255.255.0 inet6 addr: fe80::201:4aff:fe03:5bed/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2819 errors:0 dropped:0 overruns:0 frame:0 TX packets:76 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:241609 (235.9 KiB) TX bytes:9596 (9.3 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:2713 errors:0 dropped:0 overruns:0 frame:0 TX packets:2713 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3516032 (3.3 MiB) TX bytes:3516032 (3.3 MiB)
其中,eth0就是以太網接口,而lo則是loopback接口。這也說明這個主機在網絡鏈路層上至少支持loopback協議和以太網協議。tcp
以太網(Ether-net)的定是指數字設備公司( Digital Equipment Corp.)、英特爾公司(Intel Corp.)和Xerox公司在1982年聯合公佈的一個標準,這個標準裏面使用了一種稱做CSMA/CD的接入方法。而IEEE802提供的標準集802.3(還有一部分定義到了802.2中)也提供了一個CSMA/CD的標準。這兩個標準稍有不一樣,TCP/IP協議對這種狀況的處理方式以下:oop
可見,RFC1042在TCP/IP裏面處於一個配角的地位。這兩種不一樣的數據報格式請參考教材。ui
ppp(點對點協議)是從SLIP的替代品。他們都提供了一種低速接入的解決方案。而每一種數據鏈路層協議,都有一個MTU(最大傳輸單元)定義,在這個定義下面,若是IP數據報過大,則要進行分片(fragmentation),使得每片都小於MTU,注意PPP的MTU並非一個物理定義,而是指一個邏輯定義(我的認爲就是用程序控制)。能夠用netstat來打印出MTU的結果,好比鍵入netstat -incode
Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 1774 0 0 0 587 0 0 0 BMRU lo 16436 0 2667 0 0 0 2667 0 0 0 LRU
就能夠觀察到eth0的MTU是1500。而lo(環回接口)的MTU則是16436。接口
最後說說那個環回接口(loopback)。平時咱們用127.0.0.1來嘗試本身的機器服務器好使很差使。走的就是這個loopback接口。對於環回接口,有以下三點值得注意:ip
這一章仍是很簡單的,通常做爲了解知識也就足夠了,不必摳的那麼詳細。