官术网_书友最值得收藏!

1.3.1 介質訪問控制協議

IEEE 802.3的MAC層主要定義了CSMA/CD介質訪問控制協議,以及數據幀的封裝與發送、數據幀接收與解封等功能。

CSMA/CD是一種爭用型介質訪問控制協議。它起源于美國夏威夷大學開發的ALOHA網絡系統所采用的ALOHA協議,并進行了改進,提高了介質利用率。

CSMA/CD也是一種分布式介質訪問控制協議,網絡中的各個節點都能獨立地決定數據幀的發送與接收。每個節點在發送數據幀之前,首先要進行載波監聽,只有介質空閑時,才允許發送幀。這時,如果兩個以上的節點同時監聽到介質空閑并發送數據幀,則會產生沖突現象,導致數據幀受到損壞,成為無效的數據幀,被損壞的數據幀必須重新發送。每個節點都有能力隨時檢測沖突是否發生,一旦發生沖突,則應停止發送,以免介質帶寬因傳送無效幀而被白白地浪費。然后隨機延時一段時間后,重新爭用介質,重發該幀。CSMA/CD協議簡單、可靠,采用該協議的Ethernet被廣泛使用。

1.CSMA/CD的幀格式

在IEEE 802.3的CSMA/CD協議中,定義了如圖1-4所示的幀格式。

圖1-4 CSMA/CD的幀格式

幀格式中的各個字段的意義如下。

(1)PA(前導碼):幀同步序列,其格式為連續7字節的“10101010”二進制序列,它的作用是使接收節點的接收電路在正式開始接收幀之前達到穩定的同步狀態,但它不作為幀的有效成分。

(2)SFD(幀定界符):表示一個有效幀的開始,其格式為“10101011”二進制序列,它也不作為幀的有效成分。

(3)DA,SA(目的地址,源地址):分別表示目的節點和源節點地址,可以選擇16位或48位地址長度,但這兩個地址長度必須保持一致。DA可以是單地址、多播地址或廣播地址;而SA必須是單地址。在選用48位地址時,可用特征位來指示該地址是作為局部地址還是作為全局地址。

(4)FL(幀長度):以字節為單位來表示PDU數據的實際長度。

(5)PDU(協議數據單元):表示要傳送的LLC層數據,LLC層數據應是一個字節序列,最大數據長度為1500字節。

(6)PAD(填充):MAC幀要求有最小幀長限制,最小幀長為64字節,其中包括18字節固定長度的幀頭(幀頭為DA、SA、FL和FCS等4個字段,共18字節)在內。如果實際的PDU數據長度小于46字節,必須在PAD字段上填充若干字節的0,使PDU和PAD字段的總長度不小于46字節;否則,接收節點會把超短幀作為“幀碎片”過濾掉,不予接收。

(7)FCS(幀校驗序列):采用32位CRC校驗,用規定的生成多項式去除數據信息,獲得的余數作為校驗序列填入FCS字段。

因此,包括18字節的幀頭和幀尾在內的最大幀長為1518字節。

從圖1-4的幀結構可以看出,MAC層協議在LLC層PDU的外面,加上幀頭和幀尾,組裝成完整的MAC幀,然后經物理層傳送出去。也就是說:

(1)上層的信息I經過LLC層時被封裝成LLC幀。其中,DSAP、SSAP是服務訪問點地址,它是一種邏輯接口,以便在源節點和目的節點的對等協議層之間建立通信關系,目的節點將接收的信息I提交給DSAP所指示的上層協議。

(2)LLC層經過MAC層時又被封裝成MAC幀。其中,DA、SA地址是目的節點和源節點地址,主要在兩個節點之間建立通信關系,節點將根據DA來確定是否接收數據幀,如果節點地址與DA相匹配,則接收該數據幀;否則,將不接收該數據幀。可見,數據幀必須通過這樣的層層封裝,才能最終實現數據傳輸。

目的節點要對接收到的數據幀進行解封,解封過程與封裝過程正好相反,一層層地去掉附加的地址信息和輔助信息,最后只將信息I提交給由DSAP指示的上層協議。

2.CSMA/CD的幀發送過程

CSMA/CD協議的幀發送工作過程如圖1-5所示。

圖1-5 CSMA/CD的幀發送流程

(1)一個節點在發送數據幀之前,首先要檢測介質是否空閑,以確定介質上是否有其他節點正在發送數據。

(2)如果介質空閑,則可以發送;如果介質忙碌,則要繼續檢測,一直等到介質空閑時方可發送。

(3)在發送數據幀的同時,還要持續檢測介質是否發生沖突。一旦檢測到沖突發生,便立即停止發送,并向介質上發出一串阻塞脈沖信號來加強沖突,以便讓介質上其他節點都知道已發生沖突。這樣,介質帶寬不致因傳送已損壞的幀而被白白地浪費。

(4)沖突發生后,應隨機延遲一個時間量,再去爭用介質。通常采用的延遲算法是二進制指數退避算法,其算法的過程如下:

① 對于每個幀,當第一次發生沖突時,設置參數>L=2。

② 退避時間間隔取1~>L個時間片中的一個隨機數。1個時間片等于2>a>a為數據從始端傳輸到末端所需的時間。

③ 每當幀重復發生一次沖突,則將參數>L加倍。

④ 設置一個最大重傳次數,如果超過這個次數,則不再重傳,并報告出錯信息。

這個算法是按照后進先出的次序控制的,即未發生沖突或很少發生沖突的幀,具有優先發送的概率。而發生過多次沖突的幀,發送成功的概率反而小。

3.CSMA/CD的幀接收過程

其他非發送節點總是處于檢測介質狀態。當介質上有信號而變成活躍狀態時,將啟動幀接收過程,見圖1-6。

圖1-6 CSMA/CD的幀接收流程

每個接收節點對接收到的幀必須進行如下的幀有效性檢查。

(1)濾除因沖突而產生的“幀碎片”,即當接收的數據幀長度小于最小幀長限制(64字節)時,則認為是不完整的幀而將它丟棄掉。

(2)檢查幀目的地址字段(DA)是否與本節點地址相匹配。地址匹配分兩種情況:如果DA為單地址,兩個地址必須完全相同;如果DA為組地址或廣播地址,則認為是地址相匹配,因為MAC層沒有能力處理組地址或廣播地址的幀,必須先接收下來,然后提交給上層協議來處理。如果地址不匹配,則說明不是發送給本節點的,而將它丟棄掉。

(3)對幀進行CRC校驗。如果CRC校驗有錯,則丟棄該幀。

(4)對幀進行長度檢驗。接收到的幀長必須是8位的整數倍,否則丟棄掉。保留有效的數據幀、去除幀頭和幀尾后,將數據提交給LLC層。

4.MAC層與相鄰層的接口

MAC層定義了兩個與相鄰層的接口。

(1)MAC與LLC之間的接口。MAC層通過該接口向LLC層提供LLC幀的發送與接收服務。該接口定義了兩個功能,即幀發送和幀接收。LLC層可以通過該接口使用MAC層設施來發送和接收LLC幀。

(2)MAC與PLS之間的接口。PLS子層通過該接口向MAC層提供MAC幀的發送與接收服務。該接口定義了兩個功能,即位發送與位接收。三個狀態變量,沖突檢測、載波監聽和發送正在進行中。MAC層通過該接口使用物理層設施,并根據物理層提供的介質狀態,對介質訪問實施相應的控制。

表1-2是10BASE5參數值,其中最大重傳次數表示當發生16次沖突后,MAC控制器便停止動作,向高層軟件報告錯誤;退避極限表示當發生10次沖突后,隨機后退等待的最大時隙被固定在1023,而沖突次數小于10時,等待時隙數則從2i-1中隨機選出。

表1-2 10BASE5參數值

Ethernet規范中的幀格式與IEEE 802.3中的幀格式基本相同,只是IEEE 802.3幀格式中的FL(幀長度)字段在Ethernet幀格式中被定義為FT(幀類型)字段。在其他方面,IEEE 802.3的CSMA/CD標準非常接近于Ethernet規范。事實上,兩者之間的大多數差異已經在該標準的高版本中得到解決。

按照傳輸速率,Ethernet可分為10Mbps Ethernet、100Mbps Ethernet、1Gbps Ethernet和10Gbps Ethernet等,由于10Mbps Ethernet已經被淘汰,下面主要介紹100Mbps Ethernet、1Gbps Ethernet和10Gbps Ethernet的物理層協議及其網絡組成方法。

主站蜘蛛池模板: 图木舒克市| 江阴市| 南开区| 昂仁县| 苍南县| 扶余县| 墨竹工卡县| 寿阳县| 惠安县| 临桂县| 新野县| 年辖:市辖区| 新郑市| 台南市| 阜平县| 长丰县| 施甸县| 吉木乃县| 靖宇县| 辛集市| 平安县| 天镇县| 白沙| 嘉义市| 阜康市| 亚东县| 蓬莱市| 阿鲁科尔沁旗| 福鼎市| 平山县| 通城县| 田阳县| 唐海县| 贡觉县| 泰兴市| 宁晋县| 察雅县| 庄河市| 古丈县| 吐鲁番市| 柘城县|