2-鏈路層-以太網協議

基本概念

以太網

  • 是一個局域網技術,能夠進行衝突檢測,載波監聽,以及多路訪問.其中:算法

    • 衝突檢測: 一個節點在發送幀時會監聽鏈路,所以能夠檢測出當前正在發送的幀與其餘節點發送的幀發生衝突網絡

    • 載波監聽: 全部節點均可識別鏈路忙或閒,也即全部節點均可以得知鏈路當前狀態:忙/閒spa

    • 多路訪問: 多個節點能夠共享一條鏈路.設計

10/100/1000Mbps

  • 10Mbps以太網:一般採用多路訪問模式,即多個節點共享一條鏈路, 
    code

  • 100Mbps以太網或者更高:被設計成全雙工的點到點的配置.此時能夠會採用星型拓撲結構.同步

總線型拓撲結構

  • 收發器: 是一個直接鏈接在以太網上的設備,另外一端鏈接在以太網適配器(網絡適配器)上,可用於:table

    • 檢測鏈路什麼時候空閒class

    • 發送輸出信號,接受輸入信號配置

  • 以太網段: 多個節點經過收發器連接在鏈路上,就組成了一個以太網段。如圖:循環

  • 中繼器: 用於將多個以太網段連接在一塊兒,同時未來自一個以太網段的數字信號轉發到另外一個以太網段.

  • 總線性拓撲結構圖:

星型拓撲結構

  • 節點經過點對點鏈路連接到集線器上,集線器之間再互聯起來

  • 不管採用何種拓撲結構,以太網上任意一個節點傳輸的數據幀均可以到達全部節點。

幀格式


域的長度,單位:字節
備註
目的地址
6

源地址
6

類型
2
多路分解密鑰(應該交付的上層協議,如IP,IPX)
幀體
[46,1500]

CRC
4

  • 以太網是一個面向比特的組幀協議,發送方在發送幀以前會首先發送64位的幀前同步碼,發送幀結束以後也會發送64位的幀後同步碼,接收方接受時會自動去除前同步碼,後同步碼

  • 幀體最少爲46字節,即數據幀最小爲64位,由於幀必須足夠長才能夠檢測到一個衝突(後續詳細說明)

地址

  • 鏈路層採用 MAC地址 來標識網絡適配器.即每個網絡適配器都有惟一一個 MAC 地址,固化在網絡適配器的ROM中,共 6 個字節.可讀格式:由冒號分割的6個數(16位進制),每個數對應於6個字節中的一個字節。如:

c4:ca:d9:2f:b6:48--對應於-->c4cad92fb648

地址分配

  • MAC地址固化在網絡適配器中,因此網絡適配器在出廠時其MAC地址就已經分配了

  • 某個機構給每個網絡適配器設備製造商都分配一個不一樣的前綴。
    好比AMD公司獲得的前綴爲0x080020;則該公司製造的第一個網絡適配器的MAC地址爲08:00:20:00:00:01;第2個設備的MAC地址爲08:00:20:00:00:02;。。

接收方行爲

  • 接收方的行爲:收到一個幀,判斷是接受,仍是丟棄。

  • 廣播地址:目的地址全由1構成:ff:ff:ff:ff:ff:ff

  • 多播地址:目的地址第一位是1,而且不是廣播地址

  • 混雜模式:當網絡適配器處於混雜模式時,他會將收到的全部正確的幀接受下來。


發送方行爲

  • 鏈路當前處於阻塞狀態

    • 等待一段時間後,重試

  • 鏈路處於空閒狀態

    • 發送前同步碼,數據幀,後同步碼

    • 監聽鏈路,檢測是否發生衝突

  • 發生衝突

    • 中止發送

    • 發送32位干擾序列

    • 等待一段時候後從新發送(指數退避算法)

指數退避

  • 以下爲指數退避算法,其中c通常取51.2us;

  • 當在'等待 k*c' 後條件達成,則退出循環。

  • 也能夠對n設定一個上限值


爲何最小幀長度

考慮下面一種狀況:A,B兩個節點位於以太網的2端;鏈路的RTT爲2*d;(即從A->B須要時延d)

  1. t時刻,A節點發送一個數據幀,而後監聽鏈路

  2. 在t+d的前一時刻,B節點看到的鏈路仍是空閒的,因而B節點也發送數據幀。

  3. t+d時刻,A,B節點發送的數據幀發生衝突,B節點檢測到衝突,因而它發送32位干擾序列

  4. t+2d時刻,干擾時刻到達A節點,此時A節點才能夠得知其發送的數據幀產生衝突。

因此A節點要想檢測出衝突,即他在[t,t+2d]時間內必須處於發送幀狀態,因此這對發送幀的最小長度就有了一個要求。

根據計算...當鏈路長爲2500米時,所需的最小幀長度爲512位,64字節,因此最小幀長度46字節。

相關文章
相關標籤/搜索