標籤:

乙太網的mac協議和基於點對點的ppp協議的區別和使用場景是什麼

最近在看計算機網路。看到鏈路層的時候了解到ppp協議和mac協議,就產生了一個疑問。mac協議是用於區域網的通訊協議。ppp是用於點對點的協議。但是不明白點對點這個概念是什麼。他與mac協議有什麼不同


計算機網路按傳輸技術可分為廣播網路和點對點網路。廣播網路中所有機器共享通信信道,而點對點網路中機器是一對一連接起來的,一條信道鏈路只對應兩台機器。


乙太網與點對點協議均是數據鏈路層協議。區別在於乙太網被設計用於廣播網路,ppp協議用於點對點網路。看幀格式就能明顯看出區別來,乙太網幀中有目標Mac地址,用於在多路信道確認目標端機器。而點對點協議中就沒有目標mac,點對點鏈路兩端的主機事先就已經知道鏈路那頭是哪個ip了。


下面我將從數據鏈路層的三個要素著手,來討論ppp協議與乙太網協議的異同。

0x1封裝成幀

大家都知道當ip數據報傳到數據鏈路層時需要封裝成幀,ppp協議採用的方式是通過在ip在每個幀的首尾都添加一個幀定界符(soh與eot),但是乙太網協議生成的幀卻只有頭部幀定界符,為什麼mac幀不需要尾部定界符呢?這就和乙太網採用的對信號的編碼方式有關了,乙太網採用曼徹斯特編碼,而,曼徹斯特編碼的每一個碼元的正中間都一定會有一次電壓的跳變,當乙太網把一個mac幀發完過後就不在發送其他的碼元了(mac幀之間都是有一定間隙的),所以這樣就很容易找到幀的結束位置。

0x2透明傳輸

ppp協議在透明傳輸時,會對一些產生歧義的數據進行轉義操作,但是,乙太網協議不需要擔心這一問題因為在mac幀中不可能出現歧義數據。理由同上

0x3差錯檢測

ppp協議與乙太網協議都是採用crc差錯校驗。


推薦閱讀:

在瀏覽器地址欄輸入一個URL後回車,背後會進行哪些技術步驟?
TCP快速重傳為什麼是三次冗餘ack,這個三次是怎麼定下來的?
OSI模型中,一個協議應該屬於哪一層是以什麼為標準劃分的?
網關和路由器的區別是什麼?
網路編程必須使用socket嗎?

TAG:TCPIP |