以太網基礎知識

1 以太網歷史簡介
…………………..

2.1 CSMA/CD
現階段成熟的局域網技術有三種:以太網(Ethernet)、令牌環(Token Ring)和光纖分佈式數據接口(FDDI),其中以太網技術逐步成爲局域網技術的主流。
這裏寫圖片描述
圖1 多路訪問控制協議分類
這裏寫圖片描述
圖2 CSMA/CD發送數據幀流程圖

2.2 以太網幀結構
這裏寫圖片描述
Preamble/SFD(Start-of-Frame Delimiter):每個以太網幀發送時都是以8個字節的前導碼開始,Preamble是1和0交替(1 0 1 0 1 0…….)的7個字節數據,該部分的作用是通知接收方有數據幀到來,使其與輸入的時鐘保持同步,56bit 模式容許站點在幀的開始可以丟棄一些bit。SFD是一個字節10101011,最後使用11,來通知接收方下一字段就是目的主機的地址了。實際上前導碼都是在物理層加進去的,並不是幀的一部分。
DA(Destination Address):6個字節,目的節點的MAC地址。
SA(Source Address):6個字節,源節點的MAC地址。
Type/Length:2字節,根據數值的不同代表2種不同的封裝格式,如果字段值在0x0000-0x05DC範圍內,則表示該字段爲Length,該幀爲802.3 raw封裝。如果字段值在0x0600-0xFFFF範圍內,則表示該字段爲Type字段,該幀爲Ethernet II封裝,0x05DD-0x05FF保留沒有使用。
PayLoad:上層協議有效載荷,最小爲46字節,最大爲1500字節,對於Type封裝格式,上層協議必須保證該字段的值大於46字節,對於Length封裝,對於有效載荷不夠46字節的報文鏈路層必須進行填充。
FCR:4字節的校驗和。
另外以太網還有如下所示的封裝格式:
802.3/802.2 LLC封裝
這裏寫圖片描述
802.3/802.2 LLC封裝中,DSAP、SSAP用來標誌上層協議,比如NetBios爲0xF0,IPX爲0xE0。
802.3/802.2 SNAP 中Org Code代表機構編碼,是全球唯一的表示組織機構的代碼OUI,PID(Protocol Identifier)是協議標誌,每個組織機構可以有獨立的協議標識。如蘋果公司的OUI爲08-00-07,其AppleTalk協議的PID爲0x809B,這種封裝中Org Code+PID唯一標識一個上層協議。
802.3/802.2 SNAP RFC1042封裝,Org code使用一個特殊的數值00-00-00,當這個字段爲00-00-00時,Type字段與Ethernet II封裝中的Type具有相同的含義。
IP協議支持兩種封裝,分別是Ethernet II封裝和SNAP RFC1042封裝,Type均爲0x0800,IPX協議支持四種封裝Ethernet II、SNAP RFC1042、raw 802.3、802.3/802.2 LLC,在Ethernet II和SNAP RFC1042封裝中,Type字段爲0x8137,raw 802.3封裝在Length後緊跟0xFFFF標誌。802.3/802.2 LLC封裝中,DSAP和SSAP=0xE0。Apple Talk支持Ethernet II和SNAP RFC1042封裝,Type均爲0x809B。
目前使用最廣泛的是Ethernet II封裝。802.3/802.2 SNAP封裝使用很少,因此一般所說的SNAP封裝都指SNAP RFC1042封裝。

2.3 以太網速率計算
以太網傳送數據時,每兩個幀之間存在幀間隙IFG(Inter Frame Gap),幀間隙的作用是使介質中的信號處於穩定狀態,同時讓幀接收者對接收的幀作必要的處理(如調整緩存取的指針、更新計數、發中斷讓主機對報文進行處理)。對於Ethernet(10M)幀間隙時間爲9.6usec,100M快速以太網幀間隙爲0.96usec,1000M幀間隙爲0.096usec,10GE幀間隙爲0.0096usec,這個時間正好相當於傳送96bit數據的時間。
以太網速率與pps進行換算,假設數據幀的長度爲 k bytes(包括CRC),端口速率爲R,轉化後的PPS爲N,那麼:
N=R/(k×8+8×8+96)
其中k×8表示實際數據幀的長度(bits),8×8表示前導碼(Preamble+SFD)的長度,96bit相當於幀間隙佔用的bits。
下面舉例說明,假設端口速率爲100M,發送數據幀的長度爲64字節,那麼線速發送報文換算成pps後,
N=100 000 000/(64×8+8×8+96)≈148810 pps

2.4 衝突域和廣播域
使用同軸電纜和HUB連接的主機就屬於一個衝突域。
一個站點發送一個廣播報文其餘節點能夠接收到的節點的集合,就是一個廣播域。
傳統的網橋(Bridge)可以根據MAC表對單播報文進行轉發,對於廣播報文向所有的端口都轉發,所以網橋的所有端口連接的節點屬於一個廣播域,但是每個端口屬於一個單獨衝突域。
傳統的二層交換機所有端口都屬於一個廣播域,用戶需要重新連線來選擇所在的LAN。因此,在傳統二層交換機上引入了VLAN(Virtual LAN)。每個VLAN中的所有節點在同一個廣播域,每個VLAN是邏輯LAN,VLAN之間是二層隔離的。

2.5 半雙工、全雙工、自協商
同一時刻只能接收或發送數據的工作模式爲半雙工模式。在半雙工模式下,使用CSMA/CD的機制來避免衝突。
全雙工模式下,同一時刻可以同時接收和發送數據幀。
自協商功能允許一個網絡設備能夠將自己所支持的工作模式信息傳達給網絡上的對端,並接收對方可能傳遞過來的相應信息。對於兩端處於自協商工作方式的設備,最終協商的結果是採用二者技術能力域中優先級低的網口提供的工作方式工作。協商級別一般爲1000Mfull,1000Mhalf,100Mfull,100Mhalf,10Mfull,10Mhalf。

10BASE-T的以太網接口(它只支持10M,不支持自協商)在鏈路UP之前會發送Link Test Pulse(LTP),該脈衝用以檢測鏈路是否應該UP;而100BASE-T以太網接口(它只支持100M,不支持自協商)在鏈路UP之前會發送FAST ETHERNET IDLE流,用以檢測鏈路是否應該UP。

自協商機制
支持自協商(Autonegotiation)的以太網接口則在鏈路UP之前發送FLP(Fast Link Pulse),FLP實際上是一組LTP和數據脈衝的組合,它們表明一種含義:例如我支持100M全雙工。較舊的設備例如10BASE-T仍然將這些FLP識別爲LTP,而自協商設備則能夠識別FLP的含義並通過交互這種握手信息來使鏈路成爲最優配置。如果自協商設備看到有一般的LTP(不是有特定含義的FLP)輸入,它就將本端設置爲10M半雙工。如果自協商設備看到有FAST ETHERNET IDLE輸入,它就將本端設置爲100M半雙工。以上所述的自協商機制只對10/100兆銅纜接口或千兆光/電口有效,100BASE-FX不支持自協商。

BASE前的數字表示網絡的數據傳輸率,比如說:10BASE指數據傳輸率爲10Mbps,1000BASE爲1000Mbps
BASE指基帶傳輸,即未經過調製,不能複用的傳輸,與其對應的BROAD指寬帶傳輸(多用於有線電視網)
BASE後的字母或數字指的是傳輸介質,反應介質特點,比如說10BASE-T中的T指雙絞線,

10BASE-5指傳輸距離500米(即粗纜)
BASE基帶 CX銅纜 FX 光纜
TX表示電接口(雙絞線)
FX表示光接口(光纖)
SX表述短距離的光接口
LX表示長距離光接口(1310nm)
ZX表示長距離光接口(1500nm)

2.6 流控
流控指當接收者沒有能力處理接收到的報文時,爲了防止丟包,接收者需要通知報文的發送者一段時間內停止發送報文。
對於半雙工模式和全雙工模式,流控通過不同的方式來實現。在全雙工模式下,接收者通過發送一種特殊的數據幀來通知發送者,停止發送報文,這種特殊的數據幀稱爲PAUSE幀,下面是PAUSE幀的結構:
這裏寫圖片描述
圖3 PAUSE幀格式
PAUSE幀的長度固定爲64字節(包括CRC),PAUSE幀的目的MAC爲組播MAC :0180-c200-0001,源MAC爲發送PAUSE幀的節點的MAC,LENTH/TYPE字段固定爲0x8808。MAC CONTROL PARAMETERS字段表示要求發送者暫停發送流量的時間,數值有效範圍爲0-65535, 單位爲512bit time(bit time指鏈路上傳輸1bit需要的時間,如100M鏈路bit time爲10ns)。如果數據報文的接收者在發送PAUSE幀後,在PAUSE幀發送的等待時間超時之前可以處理數據報文,則再發送一個等待時間爲0的PAUSE幀通知數據發送者開始發送數據。
PAUSE的接收者(也是數據報文的發送者),收到PAUSE幀後會根據PAUSE幀中的等待時間停止發送報文,等待時間超時後繼續發送報文。
半雙工模式下,以太網利用CSMA/CD機制處理衝突和鏈路使用問題。根據CSMA/CD機制,半雙工的模式下,採取的流控方式爲Backpressure,即背壓。該種方法有兩種實現,一個是數據接收者有意製造一次衝突,數據發送者檢測到衝突採取Backoff,這樣就延緩了數據的發送;另外一個方法是製造載波信號,使數據發送者感覺到接收者要發送數據,從而通過檢測到載波而進行延時傳輸。

發佈了48 篇原創文章 · 獲贊 34 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章