close
傳輸速度(bps) 在 實體層(Physical Layer) 與 資料鏈結層(Data Link Layer) 的差異

通常說傳輸速度(bps),是指對實體層而言,因為實體層是資料真正在傳輸的地方,這裡所傳輸的資料會包含網路各層需要的標頭,所以在其它各層的傳輸速度都會比實體層來得慢,因為其它各層的計算只把該層的資料量拿來計算,而不管其它各層的傳輸協定。

以下說明 實體層 與 資料鏈結層 之間傳輸速度的差異,並解釋原因。




資料鏈結層(Data Link Layer)

在 資料鏈結層 所傳輸的單位稱為 Ethernet frame,其欄位如下:


MAC desc, MAC src 各佔 6 bytes
802.1Q tag 佔 4 bytes,為 optional
Ethertype 佔 2 bytes
Payload 資料欄位,可以帶 46 ~ 1500 bytes 的資料
CRC 確認封包是否毀損,佔 4 bytes

可以計算出 Ethernet frame 最小為 64 bytes,最大的話可以到 1522 bytes。




實體層(Physical Layer)

以 實體層 來說,如果說它的傳輸速度 10 Gbps,則就是每秒可以傳送 10 Giga bit。

在 實體層 所傳輸的單位稱為 Ethernet packet,Ethernet packet 與 Ethernet packet 之間,必須要有間隔,否則會無法分辨 Ethernet packet 的結束,這個間隔稱為 Interpacket Gap(IPG),長度為 12 bytes的傳輸時間。

而每個 Ethernet packet 的開頭也有規定,為 Preamble + Start of frame delimiter(SFD),分別為 7 bytes 及 1 byte。
跟資料鏈結層搭配後的欄位如下:


可以計算出 Ethernet packet 最小為 72 bytes,最大的話可以到 1530 bytes,但需要再加上 12 byte 的傳輸間隔時間。

也就是說,如果傳送一個在 資料鏈結層 為 128 bytes 的封包,到了 實體層 傳輸時,會需要 128 + 8 + 12 = 148 bytes 的傳輸時間。





實例

來看一個實際的例子:

如果 實體層 的傳輸速度為 10 Gbps,則每秒可以傳送多少個 size 為 128 bytes 的 Ethernet frame? 對於 資料鏈結層 來說,傳輸速率又會是多少?

如上述所說,在 實體層 所佔的傳輸時間需要再加上 Preamble + SFD + IPG,為:
128 + 7 + 1 + 12 = 148 bytes 的傳輸時間。

每秒可以傳送的封包個數為:
10,000,000,000 / (148 * 8) = 8,445,945

而對於 資料鏈結層 來說,它的傳輸速度約為:
8,445,945 * 128 * 8 = 8,648,647,680 (bps)




文字內容 或 影像內容 部份參考、引用自網路,如有侵權,請告知,謝謝。



Reference

wiki: Ethernet frame

以太网L1和L2数据速率的计算

arrow
arrow
    全站熱搜

    silverwind1982 發表在 痞客邦 留言(0) 人氣()