以太網(wǎng)的協(xié)議_第1頁
以太網(wǎng)的協(xié)議_第2頁
以太網(wǎng)的協(xié)議_第3頁
以太網(wǎng)的協(xié)議_第4頁
以太網(wǎng)的協(xié)議_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、以太網(wǎng)MAC協(xié)議1位/字節(jié)順序的表示方法1.1位序嚴(yán)格地講,以太網(wǎng)對于字節(jié)中位的解釋是完全不敏感的。也就是說,以太網(wǎng)并不需要將一個字節(jié)看成是一個具有8個比特的數(shù)字值。但是為了使位序更容易描述以及防止不兼容,以太網(wǎng)和多數(shù)數(shù)據(jù)通信系統(tǒng)一樣,傳輸一個字節(jié)的順序是從最低有效位(對應(yīng)于20的數(shù)字位)到最高有效位(對應(yīng)于27的數(shù)字位)。另外習(xí)慣上在書寫二進(jìn)制數(shù)字時,最低值位寫在最左面,而最高值位寫在最右面。這種寫法被稱為“小端”形式或正規(guī)形式。一個字節(jié)可以寫成兩個十六進(jìn)制數(shù)字,第一個數(shù)字(最左邊)是最高位數(shù)字,第二個(最右邊)是最低位數(shù)字。1.2字節(jié)順序如果所有有定義的數(shù)據(jù)值都是1字節(jié)長,則在介紹完位序后

2、就可以停止了。但是很不幸事實并非如此,所以我們必須面對長于單個字節(jié)的域,這些域是以從左到右排列的,以連接符“-”分隔的字節(jié)串表示。每個字節(jié)包含兩個十六進(jìn)制數(shù)字。多字節(jié)域的各個字節(jié)按第一個到最后一個(即從左到右)的順序發(fā)送,而每個字節(jié)采用小端位序傳送。例如,6字節(jié)域:08-00-60-01-2C-4A將按以下順序(從左向右讀)串行地發(fā)送:0001 0000-0000 0000-0000 0110-1000 0000-0011 0100-0101 00102以太網(wǎng)地址地址是一個指明特定站或一組站的標(biāo)識。以太網(wǎng)地址是6字節(jié)(48比特)長。圖1說明了以太網(wǎng)地址格式。圖1以太網(wǎng)地址格式在目的地址中,地址

3、的第1位表明該幀將要發(fā)送給單個站點還是一組站點。在源地址中,第1位必須為0。站地址要唯一確定是至關(guān)重要的,一個幀的目的地不能是模糊的。地址的唯一性可以是:局限于本網(wǎng)絡(luò)內(nèi)。保證地址在某個特定LAN中是唯一的,但不能保證在相互連接的LAN中是唯一的。當(dāng)使用局部唯一地址時,要求網(wǎng)絡(luò)管理員對地址進(jìn)行分配。全局的。保證地址在所有的LAN中,在任何時間,以及對于所有的技術(shù)都是唯一的,這是一個強(qiáng)大的機(jī)制,因為:(1)使網(wǎng)絡(luò)管理員不必為地址分配而煩惱;(2)使得站點可以在LAN之間移動,而不必重新分配地址;(3)可以實現(xiàn)數(shù)據(jù)鏈路網(wǎng)橋/交換機(jī)。全局唯一地址以塊為單位進(jìn)行分配,地址塊由IEEE管理。一個組織從IE

4、EE獲得唯一的地址塊(稱為OUI),并可用該地址塊創(chuàng)建224個設(shè)備。那么保證該地址塊中地址(最后3個字節(jié))的唯一性就是制造商的責(zé)任。地址中的第2位指示該地址是全局唯一還是局部唯一。除了個別情況,歷史上以太網(wǎng)一直使用全局唯一地址。3以太網(wǎng)數(shù)據(jù)幀格式圖2基本的以太網(wǎng)幀格式及傳輸次序圖2顯示了以太網(wǎng)MAC幀各個字段的大小和內(nèi)容以及傳輸次序。該格式中每個字段的字節(jié)次序是先傳輸?shù)淖止?jié)在左,后傳輸?shù)淖止?jié)在右。在每個字節(jié)中的位次序正好相反,低位在左,高位在右。字節(jié)次序和位的次序通常用于FCS之外的所有字段。FCS將作為一個特殊的32位字段(最高位在左),而不是4個單獨的字節(jié)。3.1前導(dǎo)碼(Preamble)

5、和幀起始定界符(SFD)前導(dǎo)碼包含8個字節(jié)。前7個字節(jié)(56位)的職位0 x55,而最后一個字節(jié)為幀起始定界符,其作用就是提醒接收系統(tǒng)有幀的到來,以及使到來的幀與輸入定時進(jìn)行同步。在DIX以太網(wǎng)中,前導(dǎo)碼被認(rèn)為是物理層封裝的一部分,而不是數(shù)據(jù)鏈路層的封裝。3.2地址字段每個MAC幀包含兩個地址字段:目標(biāo)地址(Destination Address)和源地址(Source Address)。目的地址標(biāo)識了幀的目的地站點,源地址標(biāo)識了發(fā)送幀的站。DA可以是單播地址(單個目的地)或組播地址(組目的地),SA通常是單播地址(即,第1位是0)。3.3長度/類型(Length/Type)長度/類型字段具有

6、兩種意義中的一種。如果這個字段的值小于1518,那么這個字段就是長度字段,并定義后面的數(shù)據(jù)字段的長度。但是如果這個字段的值大于1518,它就標(biāo)識了在以太網(wǎng)上運(yùn)行的客戶端協(xié)議。3.4數(shù)據(jù)(Data)數(shù)據(jù)字段包含461500字節(jié)。數(shù)據(jù)域封裝了通過以太網(wǎng)傳輸?shù)母邔訁f(xié)議信息。由于CSMA/CD算法的限制,以太網(wǎng)幀必須不能小于某個最小長度。高層協(xié)議要保證這個域至少包含46個字節(jié)。數(shù)據(jù)域長度的上限是任意的,但已經(jīng)被設(shè)置為1500字節(jié)。3.5幀校驗序列(FCS)幀校驗序列包含4個字節(jié)。FCS是從DA開始到數(shù)據(jù)域結(jié)束這部分的校驗和。校驗和的算法是32位的循環(huán)冗余校驗法(CRC)。關(guān)于FCS部分后面將做詳細(xì)介紹

7、。4無效的MAC幀格式滿足下面條件至少一個的MAC幀即無效:(1)幀長度和length/type字段中指定的長度不一致。如果length/type中包含的是類型值,則認(rèn)為幀長度與該字段值一致而不認(rèn)為是無效幀。(2)不是整數(shù)字節(jié)的長度。(3)對接收到的幀進(jìn)行CRC校驗,發(fā)現(xiàn)錯誤。無效的MAC幀內(nèi)容將不傳送到LLC層或MAC控制子層。并將出現(xiàn)無效幀這一情況報告給網(wǎng)絡(luò)管理。5 CSMA/CD協(xié)議為了通信的簡便,以太網(wǎng)采用了兩種重要的措施:第一,采用無連接的工作方式,在傳輸數(shù)據(jù)之前無需建立連接。第二,對發(fā)送的幀不進(jìn)行編號,也不要求接收方發(fā)回確認(rèn)幀。這樣做的理由是不同于其他網(wǎng)絡(luò),局域網(wǎng)信道的質(zhì)量非常好,

8、因為信道質(zhì)量而產(chǎn)生錯誤的概率非常小。這與一般數(shù)據(jù)鏈路層協(xié)議有些區(qū)別,如滑動窗口協(xié)議等。因此以太網(wǎng)提供的是服務(wù)是不可靠交付,即盡最大努力的交付。當(dāng)目的站點收到有錯誤的數(shù)據(jù)幀時,就簡單的丟棄該幀,除此之外什么也不做。上層協(xié)議會發(fā)現(xiàn)并處理,如上層協(xié)議發(fā)現(xiàn)丟失了一些數(shù)據(jù),則過一段時間會把這些數(shù)據(jù)重新交給以太網(wǎng),但以太網(wǎng)并不認(rèn)為這是一個重傳的幀,而是當(dāng)作一個新的幀來處理。在半雙工模式下,一個重要的問題就是如何協(xié)調(diào)總線上的各個站點,因為半雙工模式同一時間只允許一個站點發(fā)送數(shù)據(jù),否則各站點之間將會互相干擾。以太網(wǎng)采用的就是被稱為CSMA/CD,即載波監(jiān)聽多路訪問/沖突檢測的協(xié)議?!岸嗦吩L問”說明是總線型網(wǎng)絡(luò)

9、,許多站點以多點的方式共用一個總線。協(xié)議的實質(zhì)是載波監(jiān)聽和沖突檢測?!拜d波監(jiān)聽”就是指站點在發(fā)送數(shù)據(jù)前先檢查總線上是否已有數(shù)據(jù)在傳輸,如有則暫緩發(fā)送,避免沖突。實質(zhì)就是在沖突發(fā)生前盡量避免?!皼_突檢測”就是邊發(fā)送邊對媒體上的電壓信號大小進(jìn)行監(jiān)測。當(dāng)一個站點監(jiān)測到電壓擺動值超過一定的門限時,就可認(rèn)為發(fā)生了沖突。沖突檢測具體由物理層完成,數(shù)據(jù)鏈路層根據(jù)物理層的信號來判斷是否有沖突。一旦發(fā)生了沖突,站點就要停止發(fā)送數(shù)據(jù),然后根據(jù)協(xié)議進(jìn)行重傳。5.1幀的發(fā)送數(shù)據(jù)發(fā)送模塊主要實現(xiàn)以下兩個功能:1)數(shù)據(jù)的封裝。2)發(fā)送媒體管理。包括信道獲取,沖突處理等。5.1.1數(shù)據(jù)的封裝發(fā)送模塊按照以太網(wǎng)MAC幀格式,

10、將待發(fā)送的數(shù)據(jù)與目的地址,源地址,類型/長度字段進(jìn)行組合,并根據(jù)數(shù)據(jù)長度添加適當(dāng)?shù)奶畛渥侄我赃_(dá)到802.3標(biāo)準(zhǔn)規(guī)定的最小幀長度,然后計算CRC校驗作為FCS字段添加在幀尾,形成一個完整的MAC幀。在發(fā)送時,模塊首先自動生成并發(fā)送前同步碼和幀開始定界符,然后開始發(fā)送組裝好的MAC幀。等待機(jī)制(Defference)當(dāng)一個待發(fā)送幀準(zhǔn)備就緒時,按照工作模式的不同,發(fā)送模塊采用2種規(guī)則。半雙工模式:在半雙工模式下,為了避免其他主機(jī)競爭媒體而產(chǎn)生的沖突,MAC通過監(jiān)聽載波信號來得知是否有其他站點在發(fā)送信息。該信號由物理層信號提供。如信道忙,MAC會暫緩發(fā)送自己的數(shù)據(jù),直到信號變?yōu)榭臻e時,才開始發(fā)送。通常

11、當(dāng)信道變?yōu)榭臻e后,MAC并不立刻發(fā)送數(shù)據(jù),而是繼續(xù)等待一個幀間間隔,目的是給物理層以及其他站點的MAC處理上一個幀的時間。當(dāng)一切準(zhǔn)備就緒后,MAC就把幀交給物理層以二進(jìn)制數(shù)據(jù)流的形式發(fā)送出去。全雙工模式:而在全雙工模式下,情況則大不相同。由于站點之間的連接為點到點,且可以同時進(jìn)行發(fā)送和接收,所以就不存在沖突,也就不需要載波監(jiān)聽。待發(fā)送的幀只要等待一個幀間間隔就可以立刻發(fā)送,不需要考慮是否正在接收數(shù)據(jù)。5.1.3沖突監(jiān)測和處理:在半雙工模式下,假如有多個站點企圖同時發(fā)送數(shù)據(jù),盡管每個發(fā)送站都有等待機(jī)制,然而還是很有可能會相互干擾。當(dāng)2個站發(fā)送的信號疊加時,沖突就發(fā)生了。只有在半雙工的模式下,才有

12、可能會發(fā)生沖突。沖突說明當(dāng)前有多個站企圖使用共享信道。在全雙工模式下,兩個站點之間有著點到點的獨享信道,不存在沖突。盡管物理層仍然會提供沖突信號,然而在全雙工模式下,這個信號被忽略了。當(dāng)某個站點開始發(fā)送數(shù)據(jù)時,僅在發(fā)送開始的一段時間內(nèi)可能遭遇到?jīng)_突,這個時間段被稱為沖突窗口(collision window)。這是由于信號在媒體上傳播也需要時間,沖突窗口就是發(fā)送站點的信號傳遍沖突域所需的時間。這是一個很重要的參數(shù),以太網(wǎng)取傳輸512bit數(shù)據(jù)所用時間為爭用期的長度。需要指出,以太網(wǎng)的端到端時延實際上是小于爭用期的一半的,爭用期被規(guī)定為傳輸512bit所用時間,不僅是考慮了以太網(wǎng)的端到端時延,而

13、且還包括其它的許多因素,如可能存在的轉(zhuǎn)發(fā)器所增加的時延,以及強(qiáng)化沖突的干擾信號的持續(xù)時間等。一般以太網(wǎng)的沖突多為發(fā)生在沖突窗口內(nèi)。一旦沖突發(fā)生,物理層會監(jiān)測到干擾信號,于是沖突監(jiān)測信號被置1。在半雙工模式下,發(fā)送模塊的接入管理模塊響應(yīng)這一信號,沖突處理機(jī)制開始執(zhí)行。首先,該模塊會發(fā)送一系列被稱為沖突強(qiáng)化的信息,確保其他的站點也能得知沖突的發(fā)生,強(qiáng)化沖突過后,發(fā)送端終止當(dāng)前發(fā)送,并等待一個隨機(jī)的時間重新嘗試發(fā)送。重新發(fā)送同樣也有可能遭遇到?jīng)_突,最終的結(jié)果有兩個,一是發(fā)送成功,二是達(dá)到了重傳的數(shù)量上限,發(fā)送失敗。在全雙工模式下,發(fā)送站點忽略物理層的沖突信號,站點隨時可以發(fā)送幀而不會有沖突發(fā)生,所以

14、不需要強(qiáng)化沖突和重傳機(jī)制。5.1.4退避算法以及重傳以太網(wǎng)使用截斷二進(jìn)制指數(shù)回退算法來解決沖突后的重發(fā)問題。截斷二進(jìn)制指數(shù)回退算法很簡單,就是讓發(fā)生沖突的站點在停止發(fā)送數(shù)據(jù)后,不是立刻重發(fā),而是推遲一個隨機(jī)的時間。這樣就使得重發(fā)時再次發(fā)生沖突的概率減小。具體的算法是:(1)確定單位回退時間,通常是取沖突窗口的值,即傳輸512bit數(shù)據(jù)所需時間,稱為時槽。(2)定義參數(shù)k,它等于重傳次數(shù),但不超過10,因此k=min(n,10)。(3)取r滿足0r2 k。重傳的時延就是r倍的時槽。(4)當(dāng)重傳達(dá)到16次仍不能成功時(這表明同時打算發(fā)送數(shù)據(jù)的站點過多,導(dǎo)致連續(xù)發(fā)生沖突),則丟棄該幀,并向上層協(xié)議報

15、告。使用以上的回退算法可使重傳需要推遲的平均時間隨重傳次數(shù)增加而增加,這也被稱為動態(tài)退避,有利于整個系統(tǒng)的穩(wěn)定。5.2幀的接收在接收端,站監(jiān)視信道以獲得幀到達(dá)的指示。當(dāng)發(fā)現(xiàn)信道變成非空閑狀態(tài)時,站開始從信道接收比特,并查找標(biāo)志MAC幀起始的前導(dǎo)碼(preamble)和幀起始定界符(SDF)。站連續(xù)接收比特直到收到底層信道發(fā)出的幀結(jié)束指示。如果收到的幀長度比一個時隙的長度小,接收方的MAC將丟棄掉該幀。這是因為根據(jù)定義,有效幀的長度總是比時槽長(它等于往返信道傳播延時)。因此這樣的幀段肯定是沖突的產(chǎn)物。接收方根據(jù)此原理即可檢測并丟棄沖突段,而不需要物理信道的沖突檢測指示或無效CRC校驗指示。如果

16、收到的幀滿足最小長度要求,則接著進(jìn)行CRC校驗。如果收到幀的CRC值不正確,就丟棄掉該幀。假設(shè)一個長度有效的幀具有有效的CRC值,接收方將檢查目的地址以查看其是否是如下三者之一:(1)單播地址,幀的目的地址與接收站點的MAC地址相同(2)組播地址,上層協(xié)議定義一些特殊的地址作為多播地址,幀中的目的地址包含組播地址。(3)廣播地址,目的地址為全1的地址。如果這些地址表明幀確實是以該站為目的地,MAC將把幀傳遞到其客戶方,并返回到開頭,重新等待新到達(dá)的幀。6以太網(wǎng)流量控制6.1以太網(wǎng)流量控制需求以太網(wǎng)(實際上包括所有其他LAN技術(shù))本質(zhì)上是無連接的。這樣就沒有虛電路的概念,幀傳輸?shù)目煽啃砸矝]有什么

17、保證。幀無錯傳輸?shù)母怕适呛芨叩?,但是無法保證絕對正確。在數(shù)據(jù)位出錯、接收器的緩沖區(qū)不能滿足或其他異常情況下,以太網(wǎng)接收器會簡單地丟棄幀,而不給出任何提示。因此以太網(wǎng)接口的成本可以很低。無連接的系統(tǒng)比較容易實現(xiàn),而在數(shù)據(jù)鏈路層中包括錯誤恢復(fù)和流量控制機(jī)制的系統(tǒng),實現(xiàn)起來要復(fù)雜得多。LAN上數(shù)據(jù)位出錯的可能性非常小。這個數(shù)字對于數(shù)據(jù)鏈路層已經(jīng)低到可以忽略不計的地步,并且可以滿足高層協(xié)議或應(yīng)用的可靠數(shù)據(jù)傳輸需要。然而,幀緩沖不可使用產(chǎn)生的丟幀與位出錯而丟幀結(jié)果是一樣的。這兩種情況下,幀都無法傳送到接收方,數(shù)據(jù)鏈路層也不會收到出錯指示。緩沖擁塞造成丟幀的可能性要遠(yuǎn)遠(yuǎn)大于位出錯,特別是在高數(shù)據(jù)率下或網(wǎng)絡(luò)

18、互連設(shè)備(如交換機(jī))中。最初的以太網(wǎng)沒有提供任何流量控制機(jī)制,即保證發(fā)送者的發(fā)送速度不會比接收者可接收的速度更快的機(jī)制。當(dāng)網(wǎng)絡(luò)由通信端站組成時,這樣的機(jī)制通??捎筛邔訁f(xié)議提供。隨著透明網(wǎng)橋(交換機(jī))的出現(xiàn),發(fā)送者可能不知道幀的直接接收者是誰。也就是說,交換機(jī)不需要接入站的信息和參與,就可以代表它們接收和轉(zhuǎn)發(fā)幀。如果沒有能提供流量控制的協(xié)議,就可能由于交換機(jī)緩沖區(qū)擁塞而丟失過多的幀。6.1.1半雙工網(wǎng)絡(luò)的后退壓力當(dāng)交換機(jī)端口連接到共享式LAN半雙工網(wǎng)絡(luò))時上,那么就可能通過改變MAC算法的行為,搶在將要到來的數(shù)據(jù)之前采取某種動作,來阻止發(fā)送者發(fā)送它們的數(shù)據(jù)。這就稱為背壓(backpressure

19、)。在CSMA/CD LAN中,有兩種方法可用來防止交換機(jī)的輸入緩沖區(qū)溢出:1)強(qiáng)行與將要到達(dá)的幀發(fā)生沖突。表面上看,這是一個合理的策略,沖突將使發(fā)送站重新傳送該幀。這確實能像設(shè)想的那樣防止緩沖區(qū)溢出,但不幸的是,存在一些不利影響:發(fā)送站可能阻塞太多,導(dǎo)致系統(tǒng)實際吞吐量要比可用吞吐量低(即,在信道上有不必要的空閑時間)。這是因為沖突使站產(chǎn)生指數(shù)級增長的后退時間。在這段較長的時間里,交換機(jī)也同時把緩沖的數(shù)據(jù)轉(zhuǎn)移到輸出端口上,因此交換機(jī)的輸入緩沖區(qū)很可能已經(jīng)可用了。即使隊列被清空了信道也將一直空閑,直到后退計時器超時。若交換機(jī)輸入緩沖區(qū)持續(xù)擁塞,站中的待發(fā)幀可能要經(jīng)歷連續(xù)16次的沖突與重發(fā)。如果1

20、6次發(fā)送都不成功,則按照MAC算法,站將丟棄該幀,并把該幀作為錯誤向站管理程序報告。對于高層協(xié)議而言,這與交換機(jī)丟失幀是一樣的。這種情況和前面討論的情況有一樣的超時過長與性能降低問題,只不過是發(fā)生在持續(xù)擁塞的條件下。管理計數(shù)器與統(tǒng)計資料除了表明有“過多的沖突錯誤”之外,還將顯示很高的沖突次數(shù)。網(wǎng)絡(luò)管理人員會認(rèn)為該網(wǎng)絡(luò)出現(xiàn)了某些嚴(yán)重的錯誤?!罢5摹币蕴W(wǎng)不會有極高的沖突率或過多的沖突錯誤。后一種情況特別表明了網(wǎng)絡(luò)系統(tǒng)出現(xiàn)了問題,需要重新進(jìn)行配置。2)使信道看起來處于忙狀態(tài)。這種方法使用“拖延”策略而不是以太網(wǎng)MAC的沖突后退策略。只要站發(fā)現(xiàn)信道忙(載波偵聽判斷),它將延遲傳輸。然而,它不增加后

21、退延遲時間,而且該幀保留在隊首,并且不管拖延的時間有多長,該幀都不會被丟棄。這種方法比強(qiáng)迫沖突法要優(yōu)越。讓共享式LAN接入站的載波偵聽作出“信道忙”判斷是比較容易的;只要把構(gòu)造好的數(shù)據(jù)比特串放在連接交換機(jī)和站的以太網(wǎng)上就可以了。最簡單的方法是,在交換機(jī)遭遇擁塞而想要阻塞供應(yīng)負(fù)載時,生成一段前導(dǎo)碼,把它放到需要的輸入端口上。這段前導(dǎo)碼的結(jié)尾絕對不能是幀起始定界符,這保證接收站不會把它解釋為一個真正的幀。上述方法可以在任何必要的時候使用。這將完全消除強(qiáng)迫沖突并且沒有嚴(yán)重的不利影響。唯一的問題是如果這段前導(dǎo)碼的發(fā)送時間超過20ms,標(biāo)準(zhǔn)的10Mb/s收發(fā)器會作出“過長發(fā)送控制”(jabber con

22、trol)的判斷(使它們的傳輸功能失效)。而在100Mb/s和1000Mb/s系統(tǒng)中,就完全不會出現(xiàn)這樣的問題。6.1.2全雙工網(wǎng)絡(luò)中的顯式流量控制在全雙工以太網(wǎng)中,無論是偽載波偵聽,還是強(qiáng)迫沖突算法都不能工作。全雙工以太網(wǎng)接口不檢測沖突,并且忽略可延遲傳送的載波偵聽。全雙工網(wǎng)絡(luò)需要顯式的流量控制機(jī)制,使交換機(jī)能夠阻塞處于擁塞狀態(tài)的站。為了實現(xiàn)這個目標(biāo),開發(fā)了為全雙工以太網(wǎng)流量控制的標(biāo)準(zhǔn)算法(IEEE802.3x)。6.2 MAC控制。p576.2.1 MAC控制層的結(jié)構(gòu)MAC控制是數(shù)據(jù)鏈路層的一個子層。它是介于傳統(tǒng)以太網(wǎng)MAC層和MAC客戶之間的可選功能??蛻艨梢允蔷W(wǎng)絡(luò)層協(xié)議(如IP)或數(shù)據(jù)

23、鏈路層內(nèi)部實現(xiàn)轉(zhuǎn)發(fā)功能的網(wǎng)橋(交換機(jī))。如果MAC的客戶不知道或不關(guān)心MAC控制提供的功能,則這個子層就“消失”了;就像這個MAC控制子層不存在一樣,正常的發(fā)送和接收數(shù)據(jù)流會經(jīng)過MAC與MAC控制子層的客戶交互。對MAC控制敏感的客戶(如需要防止緩沖區(qū)溢出的交換機(jī)),可以利用這個子層來控制底層以太網(wǎng)MAC的操作。特別是,它可以請求全雙工鏈路另一端的MAC停止進(jìn)一步傳送數(shù)據(jù),因而防止將要發(fā)生的溢出。MAC控制的層次結(jié)構(gòu)如下圖所示:圖MAC控制在OSI參考模型中的位置一旦對MAC控制敏感的上層發(fā)出了控制請求,則MAC控制層會產(chǎn)生控制幀。這些控制幀將被送往發(fā)送模塊發(fā)送;同樣,接收模塊接收到其他站點發(fā)

24、送的控制幀并把它們交給MAC控制子層中的相應(yīng)模塊處理。因此在以太網(wǎng)上普遍的MAC客戶數(shù)據(jù)幀中將會夾雜一些MAC控制幀。在MAC控制出現(xiàn)以前,在以太網(wǎng)上傳送的每一個幀都是由上層協(xié)議提供,交由數(shù)據(jù)收發(fā)模塊發(fā)送和接收,然而MAC控制幀與它們不同的是,控制幀的產(chǎn)生和處理都是在數(shù)據(jù)鏈路層內(nèi)完成的。在接收到控制請求后,MAC控制層將控制幀插入到發(fā)送隊列中發(fā)送,當(dāng)接收到控制幀時,控制幀在MAC控制層內(nèi)被解封,控制幀本身不交往上層協(xié)議處理。6.2.2 MAC控制幀格式MAC控制幀是正規(guī)、合法的MAC幀,擁有正常的MAC幀的所有字段,并且采用同樣的算法發(fā)送。除了長度/類型字段外,MAC控制幀在結(jié)構(gòu)上與數(shù)據(jù)幀完全

25、一樣。MAC控制幀的長度都恰好是以太網(wǎng)幀的最小長度64字節(jié),不包括前導(dǎo)碼和幀起始定界符。MAC控制幀的格式如下圖:圖MAC控制幀格式MAC控制幀區(qū)別于普通數(shù)據(jù)幀之處在于其長度/類型字段的值為0 x8808,該值是專門為控制幀保留的。在MAC控制幀的數(shù)據(jù)字段中,前2個字節(jié)代表MAC控制操作碼,用于表示接收到該控制幀的站點需要做何種操作,目前只定義了一種操作代碼,即隨后討論的全雙工中的暫停操作(PAUSE),它的代碼為0 x0001。操作代碼后面的域是該操作所需的參數(shù)。如果該參數(shù)不足44字節(jié)的長度,那么剩下的空間將用0來填充。6.3 PAUSE功能PAUSE功能用來在全雙工以太網(wǎng)鏈路上實現(xiàn)流量控制

26、。PAUSE操作是用MAC控制體系結(jié)構(gòu)及幀格式實現(xiàn)的。目前該操作只工作于單個的全雙工鏈路。也就是說,他不能用于共享式(半雙工)LAN,也不能用于需要跨越交換機(jī)的鏈路??捎盟鼇砜刂葡铝性O(shè)備之間的數(shù)據(jù)幀流:(1)一對端站(簡單的兩站網(wǎng)絡(luò))。(2)一個交換機(jī)和一個端站。(3)交換機(jī)到交換機(jī)鏈路。在交換機(jī)或站中增加PAUSE功能,是為了當(dāng)瞬時過載導(dǎo)致緩沖區(qū)溢出時防止不必要的幀丟棄。假設(shè)一個設(shè)備設(shè)計用來處理網(wǎng)絡(luò)上恒穩(wěn)狀態(tài)的數(shù)據(jù)傳輸,并允許隨時間變化有一定數(shù)量的過載。PAUSE功能可使這樣的設(shè)備在負(fù)載增長暫時超過其設(shè)計水平時,不會發(fā)生丟幀現(xiàn)象。該設(shè)備通過向全雙工鏈路的另一端發(fā)送PAUSE幀,來防止自己的內(nèi)

27、部緩沖區(qū)溢出。另一端設(shè)備在接收到PAUSE幀后,就停止發(fā)送數(shù)據(jù)幀。這將使第一個設(shè)備有時間來減少自己的緩沖擁塞它可以處理掉緩沖隊列中發(fā)給自己的幀(站操作),或者把幀轉(zhuǎn)發(fā)到其他的端口(交換機(jī)操作)。6.3.1 PAUSE操作概述PAUSE操作實現(xiàn)了一種簡單的“停-起”形式的流量控制。如果某個設(shè)備(站或交換機(jī))想阻止幀到來,它可以發(fā)送一個帶有參數(shù)的PAUSE幀,該參數(shù)指明了全雙工中的另一方在開始繼續(xù)發(fā)送數(shù)據(jù)前需要等待的時間。當(dāng)另一個站接收到PAUSE幀后,將在指定的時間內(nèi)停止發(fā)送數(shù)據(jù)。當(dāng)這個時間超時后,該站將從暫停的位置繼續(xù)發(fā)送數(shù)據(jù)幀。PAUSE幀能禁止發(fā)送數(shù)據(jù)幀,但它不影響MAC控制幀的發(fā)送(例如

28、,從另一個方向到來的PAUSE幀)。已發(fā)送了PAUSE指令的站,可以再發(fā)送一個時間參數(shù)為0的PAUSE幀取消剩余的暫停時間。即新收到的PAUSE幀將覆蓋掉當(dāng)前執(zhí)行的PAUSE操作。類似地,該站也可以在前一個PAUSE時間還未結(jié)束時,發(fā)出另一個包含非零時間參數(shù)的幀延長暫停時間。因為PAUSE操作使用標(biāo)準(zhǔn)的以太網(wǎng)MAC,所以不能保證接收者一定能收到幀。PAUSE幀也可能出問題,而使接收者可能不知道曾發(fā)出了這樣的幀。在設(shè)計PAUSE傳輸策略時必須考慮這樣的問題。6.3.2 PAUSE幀的語義由于目前控制幀的內(nèi)同只有暫停一種,MAC控制幀也被稱為PAUSE幀,其包含的前導(dǎo)碼、幀起始定界符和FCS字段的

29、格式和含義與普通MAC數(shù)據(jù)幀一樣,其余字段的格式雖然和數(shù)據(jù)幀沒有區(qū)別,但是內(nèi)容卻有一些區(qū)別:(1)目的地址目的地址就是PAUSE幀所要發(fā)往站點的地址。它總是包含一個為PAUSE幀保留的唯一的組播地址01-80-C2-00-00-01。既然PAUSE功能只用于全雙工的鏈路上,而全雙工鏈路的一個前提就是一個鏈路上只有2個站點,那么PAUSE幀的目的地?zé)o疑就是鏈路另一端的站點,下面將解釋為什么PAUSE幀的目的地址需要指定,并且還是一個組播地址:如果因為配置錯誤,PAUSE幀被不經(jīng)意地發(fā)送到共享式LAN上,使用特定的組播地址可以保證接收并解釋這些幀的是那些真正懂得PAUSE協(xié)議的站(即,地址是專門為

30、這個目的而保留的)。使用組播地址,就可以使PAUSE幀的發(fā)送者不必知道鏈路另一端的唯一地址。雖然高層協(xié)議很可能知道這個地址,但數(shù)據(jù)鏈路層沒有必要知道。這個精心挑選的組播地址是特殊保留地址組中的一個,所有標(biāo)準(zhǔn)的網(wǎng)橋和交換機(jī)都會阻塞(吸收)這組地址。交換機(jī)不會把發(fā)往這些地址的幀轉(zhuǎn)發(fā)到其他的端口,這使得PAUSE幀只在與其相關(guān)單全雙工鏈路上使用。(2)源地址源地址字段包含發(fā)出PAUSE幀站點的MAC地址。盡管控制幀只能有鏈路上的一個站點發(fā)出,設(shè)定源地址貌似沒有必要,但是在幀中包含一個源地址還是有以下的用途:可與其他所有類型以太網(wǎng)幀保持一致(即所有以太網(wǎng)幀的源地址都包含了發(fā)送站的唯一地址)可正確地更新

31、監(jiān)控設(shè)備上的管理記數(shù)器,這些設(shè)備可能一直跟蹤記錄每個站產(chǎn)生的幀。如果由于錯誤配置,PAUSE幀被不小心地發(fā)送到共享式LAN上,可以容易地確定發(fā)送者。(3)類型域類型域包含了所有MAC控制幀使用的保留值:0 x8808。(4)數(shù)據(jù)域(包含MAC控制操作碼和操作參數(shù))PAUSE幀的控制操作碼是0 x0001。PAUSE幀只帶有一個操作參數(shù),被稱為暫停時間(Pause-time)。該參數(shù)是2字節(jié)長的無符號整型值,表示發(fā)送方請求接收方停止發(fā)送數(shù)據(jù)幀的時間長度。暫停時間以512bit時間為單位計算,即接收方需要實際暫停的時間為Pause-time乘以用當(dāng)前數(shù)據(jù)率傳輸512比特的時間。使用與傳輸速率相關(guān)的

32、暫停時間而不是使用實際時間,有以下2個原因:(1)當(dāng)以這種方式設(shè)定PAUSE操作時,可以認(rèn)為是讓發(fā)送者暫停發(fā)送與速率無關(guān)的若干比特,而不是暫停一段指定的時間。由于使用PAUSE功能的初衷是實現(xiàn)內(nèi)存容量有限的交換機(jī),當(dāng)網(wǎng)絡(luò)接口只剩下一定比特量的緩沖時,它發(fā)送一個PAUSE幀,并以剩下的比特量作為該幀的Pause-time參數(shù),而不考慮使用什么樣的速率。這可以簡化某些設(shè)計。(2)在半雙工以太網(wǎng)中,沖突后退計數(shù)器的時間度量以時隙為增量。除1000Mb/s以外,所有數(shù)據(jù)速率的時隙都是傳輸512比特的時間。因為PAUSE功能只能用于全雙工鏈路,這個計數(shù)器(如果實現(xiàn)了的話)不再用于后退定時,因此可用它來做

33、PAUSE定時,不需改變。6.4流量控制的策略為全雙工鏈路流量控制提供的PAUSE機(jī)制只是一個工具。協(xié)議規(guī)范中定義了在發(fā)送和接收PAUSE幀時發(fā)生了什么動作,但沒有說明設(shè)備何時應(yīng)該進(jìn)行流量控制以及何時恢復(fù)流量。下面將討論實際實現(xiàn)的這些流量控制策略(flow control policy)問題。流量控制的典型實現(xiàn)是在交換機(jī)中防止緩沖區(qū)溢出。它使交換機(jī)在不降低吞吐量的情況下,能夠容納平均水平的流量,同時還可防止短暫過載造成的丟幀,所有這些都不需要巨大的緩沖內(nèi)存。這樣的交換機(jī),工作情況良好,成本并不昂貴,并可以適應(yīng)各種流量變化。(1)緩沖區(qū)閥值一般的交換機(jī)為每個端口(輸入隊列)配置了一定數(shù)量的輸入緩沖區(qū)。在交換機(jī)輸出端口或交換結(jié)構(gòu)接收某個幀之前,該幀一直保留在這個隊列中。如圖3.7所示。圖輸入緩沖根據(jù)流量模式和提供給交換機(jī)的總負(fù)載,幀在這個隊列中經(jīng)歷了一段延時,等待上載。在此期間,同一個端口上接收了更多的幀,從而使隊列飽和。合理的流量控制策略應(yīng)該在緩沖區(qū)達(dá)到預(yù)先定義的“高水位”(high water mark)時,發(fā)送一個帶有非零Pau

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論