傳輸速度(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数据速率的计算
通常說傳輸速度(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数据速率的计算
全站熱搜
留言列表