zz
1.碰撞槽時間
假設公共匯流排**長度為s,幀在**上的傳播速度為0.7c(光速),網路的傳輸率為r(bps),幀長為l(bps),tphy為某站的物理層時延(這個時間要怎麼確定?);
則有:
碰撞槽時間=2s/0.7c+2tphy
因為lmin/r=碰撞槽時間
所以:lmin =(2s/0.7c+2tphy )×r
lmin 稱為最小幀長度。
碰撞槽時間在乙太網中是乙個極為重要的引數,有如下特點:
(1)它是檢測一次碰撞所需的最長時間。
(2)要求幀長度有個下限。(即最短幀長)
(3)產生碰撞,就會出現幀碎片。
(4)如發生碰撞,要等待一定的時間。t=rt。(t為碰撞槽時間)
2.下面我們來估計在最壞情況下,檢測到衝突所需的時間
(1)a和b是網上相距最遠的兩個主機,設訊號在a和b之間傳播時延為τ,假定a在t時刻開始傳送一幀,則這個幀在t+τ時刻到達b,若b在t+τ-ε時刻開始傳送一幀,則b在t+τ時就會檢測到衝突,並發出阻塞訊號。
(2)阻塞訊號將在t+2τ時到達a。所以a必須在t+2τ時仍在傳送才可以檢測到衝突,所以一幀的傳送時間必須大於2τ。
(3)按照標準,10mbps乙太網採用中繼器時,連線最大長度為2500公尺,最多經過4個中繼器,因此規定對於10mbps乙太網規定一幀的最小傳送時間必須為51.2μs。
(3)51.2μs也就是512位資料在10mbps乙太網速率下的傳播時間,常稱為512位時。這個時間定義為乙太網時隙。512位時=64位元組,因此乙太網幀的最小長度為512位時=64位元組。
3.乙太網的幀頭開銷是18位元組,可能是「目的mac(6)+源mac(6)+type(2)+crc(4)」至於ip最大傳輸單元1500,只是規定。
最大1518應該有地方限制才對,先記在這,找到原因再補上
乙太網最小位元組長度(64 bytes)
乙太網為什麼要有最小位元組限制:乙太網採用的是csma/cd方法在介質上傳輸資料,而csma/cd的特性要求有最小位元組限制
csma/cd 為什麼要有最小位元組限制:在csma/cd網路中,傳送資料的一方在傳送資料的同時會監聽網路是否有碰撞。
一旦傳送方傳送完乙個最後乙個bit以後,仍然沒有檢測到碰撞,它就會認為,這次傳輸已經成功
a----------------------c(衝突)------------------------------------b
如果傳送方(a)傳輸的是乙個非常小的幀的話,它傳送完幀以後,認為這次傳輸已經成功,並會在繼續監聽碰撞。
碰撞傳送以後,由於a不監聽碰撞,所以a也不會進行碰撞處理,不會再重傳幀,導致發出去的這個幀丟失,從而導致資料丟失
這就要求有最小的幀長限制
在ieee802.3 baseband 5-4-3中規定:在任意兩個節點之間,最大的physical segments為5個,所以最多可以有4個repeaters在兩個節點之間。
這5個physical segments 之間, 只有三個可以連線節點,而其它的兩個只能被當作延長網路之用
在使用10base-5線纜的網路中,每個physical segment 最長是500公尺,所以,每個ethernet的最大長度是2500公尺
a------------repeater1---------- repeater2--------- repeater3----------- repeater4-----------b
|----------------------------------------------2500meter-------------------------------------|
最小時間要求:
a傳送幀的第乙個bit到達b,b開始傳輸,產生碰撞,發出碰撞訊號,碰撞訊號要在a傳輸完最後乙個bit時,能夠到達a,從而讓a感知到碰撞,從而重傳這個幀。
乙個幀從a-b,b-a的這個時間被稱為slot time,這個時間計算出來為57.6 μs.
在10mbit/s的網路中,在57.6μs的時間內,能夠傳輸576個bit,所以要求乙太網幀的大小最小為576個bits,從而讓所有的碰撞都能夠被檢測到
乙太網幀的構成:
preamble
start-of-
frame-delimiter
destination mac
source mac
type
payload
crcinterframe
gap7 bytes
10101010
1 bytes
10101011
6 bytes
6bytes
2 bytes
46-1500
bytes
4 bytes
12 bytes
在傳輸完乙個資料幀以後,在傳輸下乙個資料幀之前,要傳輸12bytes的空閒幀
12 bytes = 12×8 = 96 bits
在10mbit/s的網路中,傳輸1個bit 需要的時間為 1×10-7s
所以interframe gap 的時間為 96×10-7=9.6×10-6 s= 9.6μs
在乙個資料幀傳送完以後,要等待9.6μs的時間,然後再傳輸下乙個資料幀
576bits= 72 bytes
通常情況下我們所說的乙太網長度,不包括preamble和start of frame delimiter,所以乙太網最小長度為:72-8= 64 bytes
乙太網的最大位元組長度(1518/1522)
為什麼在乙太網中,三層的ip包長要規定為64~1500 位元組,都是二層的ethernet特性來決定的:
最小包長由csma/cd的最小檢測碰撞時間來決定
最大包長沒有特別的規定,但是考慮到如下的因數,將ip最大包長設定為1500 bytes:
1. 乙太網是所有的終端共享傳輸介質,如果一台終端傳送乙個很長的幀,傳輸時將占用太多的時間,其它的終端將等待,直到這個幀傳輸完畢。幀越長,等待的時間將越長
2. 如果乙個幀太長,如果在傳輸的過程中,發生乙個傳輸錯誤,那麼整個幀要重傳,這樣又要占有大量的時間,導致效率不高---—早期的乙太網由於傳輸的錯誤率非常高
3. 幀越長,需要的快取越大,2023年在設計網絡卡時,快取的**非常昂貴,所以當時選用1500 bytes作為最大的長度。
標準的乙太網的最大位元組長度為1518/1522:
untagged的frame最大幀長為1518
tagged的frame 最大幀長為1522
其它的長度都是裝置廠商自己規定的:如jumbo frame 等
mtu1. mtu:maximum transmission unit,裝置傳送資料時,任何比mtu大的資料報都會被分片,分片是在三層進行的,所以這裡所說的mtu,指的是三層報文的長度,不包括二層的資訊-------指的是最大ip報文的長度
2. 標準的乙太網上,mtu值為1500bytes,不包括乙太網頭和crc(cyclic redundancy check),總共18bytes
乙太網最小幀長度 802 3?乙太網?看完你就懂了
關注 星標公眾在tcp ip世界中,乙太網ip資料報的封裝是在rfc894中定義的,ieee802網路的ip資料報封裝是在rfc1042中定義的。最常使用的封裝格式是rfc 894定義的格式。下圖顯示了兩種不同形式的封裝格式。從上圖看到,兩種幀格式都採用48bit 6位元組 的目的位址和源位址。接下...
乙太網幀格式
一 ethernet位址 為了標識乙太網上的每台主機,需要給每台主機上的網路介面卡 網路介面卡 分配乙個唯一的通訊位址,即ethernet位址或稱為網絡卡的實體地址 mac位址。ieee負責為網路介面卡製造廠商分配ethernet位址塊,各廠商為自己生產的每塊網路介面卡分配乙個唯一的ethernet...
乙太網幀格式
乙太網幀格式,即在乙太網幀頭 幀尾中用於實現乙太網功能的域。圖2 ieee802.3以太幀頭 欄位字段長度 位元組 目的前導碼 preamble 7同步 幀開始符 sfd 1標明下乙個位元組為目的mac欄位 目的mac位址 6指明幀的接受者 源mac位址 6指明幀的傳送者 長度 length 2幀的...