以太網(wǎng)MAC協(xié)議.doc_第1頁(yè)
以太網(wǎng)MAC協(xié)議.doc_第2頁(yè)
以太網(wǎng)MAC協(xié)議.doc_第3頁(yè)
以太網(wǎng)MAC協(xié)議.doc_第4頁(yè)
以太網(wǎng)MAC協(xié)議.doc_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

3、圖 1 說(shuō)明了以太網(wǎng)地址格式。圖 1 以太網(wǎng)地址格式在目的地址中,地址的第1 位表明該幀將要發(fā)送給單個(gè)站點(diǎn)還是一組站點(diǎn)。在源地址中,第1 位必須為 0。站地址要唯一確定是至關(guān)重要的,一個(gè)幀的目的地不能是模糊的。地址的唯一性可以是:局限于本網(wǎng)絡(luò)內(nèi)。 保證地址在某個(gè)特定 LAN 中是唯一的,但不能保證在相互連接的 LAN 中是唯一的。 當(dāng)使用局部唯一地址時(shí), 要求網(wǎng)絡(luò)管理員對(duì)地址進(jìn)行分配。全局的。保證地址在所有的 LAN 中,在任何時(shí)間, 以及對(duì)于所有的技術(shù)都是唯一的,這是一個(gè)強(qiáng)大的機(jī)制,因?yàn)椋海?1)使網(wǎng)絡(luò)管理員不必為地址分配而煩惱;( 2)使得站點(diǎn)可以在 LAN 之間移動(dòng),而不必重新分配地址;

4、( 3)可以實(shí)現(xiàn)數(shù)據(jù)鏈路網(wǎng)橋 /交換機(jī)。全局唯一地址以塊為單位進(jìn)行分配, 地址塊由 IEEE 管理。一個(gè)組織從 IEEE獲得唯一的地址塊 (稱為 OUI) ,并可用該地址塊創(chuàng)建 224 個(gè)設(shè)備。那么保證該地址塊中地址 (最后 3 個(gè)字節(jié) )的唯一性就是制造商的責(zé)任。地址中的第 2 位指示該地址是全局唯一還是局部唯一。除了個(gè)別情況,歷史上以太網(wǎng)一直使用全局唯一地址。3 以太網(wǎng)數(shù)據(jù)幀格式圖 2 基本的以太網(wǎng)幀格式及傳輸次序圖 2 顯示了以太網(wǎng) MAC 幀各個(gè)字段的大小和內(nèi)容以及傳輸次序。該格式中每個(gè)字段的字節(jié)次序是先傳輸?shù)淖止?jié)在左,后傳輸?shù)淖止?jié)在右。在每個(gè)字節(jié)中的位次序正好相反, 低位在左, 高位

5、在右。字節(jié)次序和位的次序通常用于 FCS 之外的所有字段。 FCS 將作為一個(gè)特殊的 32 位字段 (最高位在左 ),而不是 4 個(gè)單獨(dú)的字節(jié)。3.1 前導(dǎo)碼 (Preamble)和幀起始定界符( SFD)前導(dǎo)碼包含 8 個(gè)字節(jié)。前 7 個(gè)字節(jié) (56 位)的職位 0x55,而最后一個(gè)字節(jié)為幀起始定界符,其值為0xD5 。結(jié)果前導(dǎo)碼將成為一個(gè)由62 個(gè) 1 和 0 間隔( 10101010-)的串行比特流, 最后 2 位是連續(xù)的 1,表示數(shù)據(jù)鏈路層幀的開(kāi)始。其作用就是提醒接收系統(tǒng)有幀的到來(lái), 以及使到來(lái)的幀與輸入定時(shí)進(jìn)行同步。 在DIX 以太網(wǎng)中,前導(dǎo)碼被認(rèn)為是物理層封裝的一部分, 而不是數(shù)據(jù)

6、鏈路層的封裝。3.2 地址字段每個(gè) MAC幀包含兩個(gè)地址字段:目標(biāo)地址(Destination Address)和源地址(Source Address)。目的地址標(biāo)識(shí)了幀的目的地站點(diǎn),源地址標(biāo)識(shí)了發(fā)送幀的站。 DA 可以是單播地址(單個(gè)目的地)或組播地址(組目的地) , SA 通常是單播地址(即,第 1 位是 0)。3.3 長(zhǎng)度 /類(lèi)型 (Length/Type )長(zhǎng)度 /類(lèi)型字段具有兩種意義中的一種。如果這個(gè)字段的值小于 1518,那么這個(gè)字段就是長(zhǎng)度字段, 并定義后面的數(shù)據(jù)字段的長(zhǎng)度。 但是如果這個(gè)字段的值大于 1518,它就標(biāo)識(shí)了在以太網(wǎng)上運(yùn)行的客戶端協(xié)議。3.4 數(shù)據(jù) (Data)數(shù)據(jù)

7、字段包含 46 1500 字節(jié)。數(shù)據(jù)域封裝了通過(guò)以太網(wǎng)傳輸?shù)母邔訁f(xié)議信息。由于 CSMA/CD 算法的限制, 以太網(wǎng)幀必須不能小于某個(gè)最小長(zhǎng)度。 高層協(xié)議要保證這個(gè)域至少包含 46 個(gè)字節(jié)。數(shù)據(jù)域長(zhǎng)度的上限是任意的,但已經(jīng)被設(shè)置為 1500 字節(jié)。3.5 幀校驗(yàn)序列( FCS)幀校驗(yàn)序列包含 4 個(gè)字節(jié)。FCS 是從 DA 開(kāi)始到數(shù)據(jù)域結(jié)束這部分的校驗(yàn)和。校驗(yàn)和的算法是 32 位的循環(huán)冗余校驗(yàn)法( CRC)。關(guān)于 FCS 部分后面將做詳細(xì)介紹。4 無(wú)效的 MAC 幀格式滿足下面條件至少一個(gè)的MAC 幀即無(wú)效:(1)幀長(zhǎng)度和 length/type 字段中指定的長(zhǎng)度不一致。如果含的是類(lèi)型值,則認(rèn)

8、為幀長(zhǎng)度與該字段值一致而不認(rèn)為是無(wú)效幀。length/type 中包(2)不是整數(shù)字節(jié)的長(zhǎng)度。(3)對(duì)接收到的幀進(jìn)行CRC 校驗(yàn),發(fā)現(xiàn)錯(cuò)誤。無(wú)效的 MAC 幀內(nèi)容將不傳送到 LLC 層或 MAC 控制子層。 并將出現(xiàn)無(wú)效幀這一情況報(bào)告給網(wǎng)絡(luò)管理。5 CSMA/CD 協(xié)議為了通信的簡(jiǎn)便,以太網(wǎng)采用了兩種重要的措施:第一,采用無(wú)連接的工作方式,在傳輸數(shù)據(jù)之前無(wú)需建立連接。第二,對(duì)發(fā)送的幀不進(jìn)行編號(hào), 也不要求接收方發(fā)回確認(rèn)幀。 這樣做的理由是不同于其他網(wǎng)絡(luò), 局域網(wǎng)信道的質(zhì)量非常好, 因?yàn)樾诺蕾|(zhì)量而產(chǎn)生錯(cuò)誤的概率非常小。這與一般數(shù)據(jù)鏈路層協(xié)議有些區(qū)別,如滑動(dòng)窗口協(xié)議等。因此以太網(wǎng)提供的是服務(wù)是不可

9、靠交付, 即盡最大努力的交付。 當(dāng)目的站點(diǎn)收到有錯(cuò)誤的數(shù)據(jù)幀時(shí), 就簡(jiǎn)單的丟棄該幀, 除此之外什么也不做。 上層協(xié)議會(huì)發(fā)現(xiàn)并處理,如上層協(xié)議發(fā)現(xiàn)丟失了一些數(shù)據(jù), 則過(guò)一段時(shí)間會(huì)把這些數(shù)據(jù)重新交給以太網(wǎng),但以太網(wǎng)并不認(rèn)為這是一個(gè)重傳的幀, 而是當(dāng)作一個(gè)新的幀來(lái)處理。在半雙工模式下, 一個(gè)重要的問(wèn)題就是如何協(xié)調(diào)總線上的各個(gè)站點(diǎn), 因?yàn)榘腚p工模式同一時(shí)間只允許一個(gè)站點(diǎn)發(fā)送數(shù)據(jù), 否則各站點(diǎn)之間將會(huì)互相干擾。 以太網(wǎng)采用的就是被稱為 CSMA/CD ,即載波監(jiān)聽(tīng)多路訪問(wèn) /沖突檢測(cè)的協(xié)議?!岸嗦吩L問(wèn)” 說(shuō)明是總線型網(wǎng)絡(luò), 許多站點(diǎn)以多點(diǎn)的方式共用一個(gè)總線。 協(xié)議的實(shí)質(zhì)是載波監(jiān)聽(tīng)和沖突檢測(cè)?!拜d波監(jiān)聽(tīng)”

10、就是指站點(diǎn)在發(fā)送數(shù)據(jù)前先檢查總線上是否已有數(shù)據(jù)在傳輸,如有則暫緩發(fā)送,避免沖突。實(shí)質(zhì)就是在沖突發(fā)生前盡量避免?!皼_突檢測(cè)” 就是邊發(fā)送邊對(duì)媒體上的電壓信號(hào)大小進(jìn)行監(jiān)測(cè)。 當(dāng)一個(gè)站點(diǎn)監(jiān)測(cè)到電壓擺動(dòng)值超過(guò)一定的門(mén)限時(shí), 就可認(rèn)為發(fā)生了沖突。 沖突檢測(cè)具體由物理層完成,數(shù)據(jù)鏈路層根據(jù)物理層的信號(hào)來(lái)判斷是否有沖突。一旦發(fā)生了沖突,站點(diǎn)就要停止發(fā)送數(shù)據(jù),然后根據(jù)協(xié)議進(jìn)行重傳。5.1 幀的發(fā)送數(shù)據(jù)發(fā)送模塊主要實(shí)現(xiàn)以下兩個(gè)功能:1)數(shù)據(jù)的封裝。2)發(fā)送媒體管理。包括信道獲取,沖突處理等。5.1.1 數(shù)據(jù)的封裝發(fā)送模塊按照以太網(wǎng)MAC 幀格式,將待發(fā)送的數(shù)據(jù)與目的地址,源地址,類(lèi)型/長(zhǎng)度字段進(jìn)行組合,并根據(jù)數(shù)

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

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

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

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

15、全雙工模式下, 發(fā)送站點(diǎn)忽略物理層的沖突信號(hào), 站點(diǎn)隨時(shí)可以發(fā)送幀而不會(huì)有沖突發(fā)生,所以不需要強(qiáng)化沖突和重傳機(jī)制。5.1.4 退避算法以及重傳以太網(wǎng)使用截?cái)喽M(jìn)制指數(shù)回退算法來(lái)解決沖突后的重發(fā)問(wèn)題。 截?cái)喽M(jìn)制指數(shù)回退算法很簡(jiǎn)單,就是讓發(fā)生沖突的站點(diǎn)在停止發(fā)送數(shù)據(jù)后, 不是立刻重發(fā),而是推遲一個(gè)隨機(jī)的時(shí)間。 這樣就使得重發(fā)時(shí)再次發(fā)生沖突的概率減小。 具體的算法是:(1)確定單位回退時(shí)間,通常是取沖突窗口的值,即傳輸512bit數(shù)據(jù)所需時(shí)間,稱為時(shí)槽。(2)定義參數(shù) k,它等于重傳次數(shù),但不超過(guò)10,因此 k=min (n, 10)。(3)取 r 滿足 0 r <2 k。重傳的時(shí)延就是r

16、倍的時(shí)槽。(4)當(dāng)重傳達(dá)到 16 次仍不能成功時(shí) (這表明同時(shí)打算發(fā)送數(shù)據(jù)的站點(diǎn)過(guò)多,導(dǎo)致連續(xù)發(fā)生沖突 ),則丟棄該幀,并向上層協(xié)議報(bào)告。使用以上的回退算法可使重傳需要推遲的平均時(shí)間隨重傳次數(shù)增加而增加,這也被稱為動(dòng)態(tài)退避,有利于整個(gè)系統(tǒng)的穩(wěn)定。5.2 幀的接收在接收端,站監(jiān)視信道以獲得幀到達(dá)的指示。 當(dāng)發(fā)現(xiàn)信道變成非空閑狀態(tài)時(shí),站開(kāi)始從信道接收比特,并查找標(biāo)志MAC 幀起始的前導(dǎo)碼( preamble)和幀起始定界符( SDF)。站連續(xù)接收比特直到收到底層信道發(fā)出的幀結(jié)束指示。如果收到的幀長(zhǎng)度比一個(gè)時(shí)隙的長(zhǎng)度小,接收方的MAC 將丟棄掉該幀。這是因?yàn)楦鶕?jù)定義,有效幀的長(zhǎng)度總是比時(shí)槽長(zhǎng)(它等于

17、往返信道傳播延時(shí))。因此這樣的幀段肯定是沖突的產(chǎn)物。接收方根據(jù)此原理即可檢測(cè)并丟棄沖突段,而不需要物理信道的沖突檢測(cè)指示或無(wú)效CRC 校驗(yàn)指示。如果收到的幀滿足最小長(zhǎng)度要求, 則接著進(jìn)行 CRC 校驗(yàn)。如果收到幀的 CRC值不正確,就丟棄掉該幀。假設(shè)一個(gè)長(zhǎng)度有效的幀具有有效的CRC 值,接收方將檢查目的地址以查看其是否是如下三者之一:(1)單播地址,幀的目的地址與接收站點(diǎn)的MAC 地址相同(2)組播地址,上層協(xié)議定義一些特殊的地址作為多播地址,幀中的目的地址包含組播地址。(3)廣播地址,目的地址為全1 的地址。如果這些地址表明幀確實(shí)是以該站為目的地, MAC 將把幀傳遞到其客戶方,并返回到開(kāi)頭

18、,重新等待新到達(dá)的幀。6 以太網(wǎng)流量控制6.1 以太網(wǎng)流量控制需求以太網(wǎng) (實(shí)際上包括所有其他 LAN 技術(shù) )本質(zhì)上是無(wú)連接的。這樣就沒(méi)有虛電路的概念, 幀傳輸?shù)目煽啃砸矝](méi)有什么保證。 幀無(wú)錯(cuò)傳輸?shù)母怕适呛芨叩模?但是無(wú)法保證絕對(duì)正確。 在數(shù)據(jù)位出錯(cuò)、 接收器的緩沖區(qū)不能滿足或其他異常情況下,以太網(wǎng)接收器會(huì)簡(jiǎn)單地丟棄幀, 而不給出任何提示。 因此以太網(wǎng)接口的成本可以很低。無(wú)連接的系統(tǒng)比較容易實(shí)現(xiàn), 而在數(shù)據(jù)鏈路層中包括錯(cuò)誤恢復(fù)和流量控制機(jī)制的系統(tǒng),實(shí)現(xiàn)起來(lái)要復(fù)雜得多。 LAN 上數(shù)據(jù)位出錯(cuò)的可能性非常小。這個(gè)數(shù)字對(duì)于數(shù)據(jù)鏈路層已經(jīng)低到可以忽略不計(jì)的地步, 并且可以滿足高層協(xié)議或應(yīng)用的可靠數(shù)據(jù)

19、傳輸需要。 然而,幀緩沖不可使用產(chǎn)生的丟幀與位出錯(cuò)而丟幀結(jié)果是一樣的。 這兩種情況下, 幀都無(wú)法傳送到接收方, 數(shù)據(jù)鏈路層也不會(huì)收到出錯(cuò)指示。緩沖擁塞造成丟幀的可能性要遠(yuǎn)遠(yuǎn)大于位出錯(cuò), 特別是在高數(shù)據(jù)率下或網(wǎng)絡(luò)互連設(shè)備 (如交換機(jī) )中。最初的以太網(wǎng)沒(méi)有提供任何流量控制機(jī)制,即保證發(fā)送者的發(fā)送速度不會(huì)比接收者可接收的速度更快的機(jī)制。 當(dāng)網(wǎng)絡(luò)由通信端站組成時(shí),這樣的機(jī)制通??捎筛邔訁f(xié)議提供。隨著透明網(wǎng)橋 (交換機(jī) )的出現(xiàn),發(fā)送者可能不知道幀的直接接收者是誰(shuí)。 也就是說(shuō),交換機(jī)不需要接入站的信息和參與,就可以代表它們接收和轉(zhuǎn)發(fā)幀。 如果沒(méi)有能提供流量控制的協(xié)議, 就可能由于交換機(jī)緩沖區(qū)擁塞而丟失

20、過(guò)多的幀。6.1.1 半雙工網(wǎng)絡(luò)的后退壓力當(dāng)交換機(jī)端口連接到共享式LAN半雙工網(wǎng)絡(luò) )時(shí)上,那么就可能通過(guò)改變MAC 算法的行為,搶在將要到來(lái)的數(shù)據(jù)之前采取某種動(dòng)作,來(lái)阻止發(fā)送者發(fā)送它們的數(shù)據(jù)。這就稱為背壓 (backpressure)。在 CSMA/CD LAN 中,有兩種方法可用來(lái)防止交換機(jī)的輸入緩沖區(qū)溢出:1)強(qiáng)行與將要到達(dá)的幀發(fā)生沖突。表面上看,這是一個(gè)合理的策略,沖突將使發(fā)送站重新傳送該幀。這確實(shí)能像設(shè)想的那樣防止緩沖區(qū)溢出,但不幸的是,存在一些不利影響:·發(fā)送站可能阻塞太多,導(dǎo)致系統(tǒng)實(shí)際吞吐量要比可用吞吐量低(即,在信道上有不必要的空閑時(shí)間 )。這是因?yàn)闆_突使站產(chǎn)生指數(shù)級(jí)

21、增長(zhǎng)的后退時(shí)間。在這段較長(zhǎng)的時(shí)間里, 交換機(jī)也同時(shí)把緩沖的數(shù)據(jù)轉(zhuǎn)移到輸出端口上, 因此交換機(jī)的輸入緩沖區(qū)很可能已經(jīng)可用了。 即使隊(duì)列被清空了信道也將一直空閑, 直到后退計(jì)時(shí)器超時(shí)。·若交換機(jī)輸入緩沖區(qū)持續(xù)擁塞,站中的待發(fā)幀可能要經(jīng)歷連續(xù)16 次的沖突與重發(fā)。如果 16 次發(fā)送都不成功,則按照 MAC 算法,站將丟棄該幀,并把該幀作為錯(cuò)誤向站管理程序報(bào)告。 對(duì)于高層協(xié)議而言, 這與交換機(jī)丟失幀是一樣的。這種情況和前面討論的情況有一樣的超時(shí)過(guò)長(zhǎng)與性能降低問(wèn)題, 只不過(guò)是發(fā)生在持續(xù)擁塞的條件下。·管理計(jì)數(shù)器與統(tǒng)計(jì)資料除了表明有“過(guò)多的沖突錯(cuò)誤”之外,還將顯示很高的沖突次數(shù)。網(wǎng)絡(luò)管

22、理人員會(huì)認(rèn)為該網(wǎng)絡(luò)出現(xiàn)了某些嚴(yán)重的錯(cuò)誤。 “正常的”以太網(wǎng)不會(huì)有極高的沖突率或過(guò)多的沖突錯(cuò)誤。 后一種情況特別表明了網(wǎng)絡(luò)系統(tǒng)出現(xiàn)了問(wèn)題,需要重新進(jìn)行配置。2)使信道看起來(lái)處于忙狀態(tài)。 這種方法使用 “拖延”策略而不是以太網(wǎng) MAC 的沖突后退策略。只要站發(fā)現(xiàn)信道忙 (載波偵聽(tīng)判斷 ),它將延遲傳輸。然而,它不增加后退延遲時(shí)間, 而且該幀保留在隊(duì)首, 并且不管拖延的時(shí)間有多長(zhǎng), 該幀都不會(huì)被丟棄。這種方法比強(qiáng)迫沖突法要優(yōu)越。讓共享式 LAN 接入站的載波偵聽(tīng)作出“信道忙”判斷是比較容易的;只要把構(gòu)造好的數(shù)據(jù)比特串放在連接交換機(jī)和站的以太網(wǎng)上就可以了。 最簡(jiǎn)單的方法是,在交換機(jī)遭遇擁塞而想要阻塞供

23、應(yīng)負(fù)載時(shí), 生成一段前導(dǎo)碼, 把它放到需要的輸入端口上。 這段前導(dǎo)碼的結(jié)尾絕對(duì)不能是幀起始定界符, 這保證接收站不會(huì)把它解釋為一個(gè)真正的幀。上述方法可以在任何必要的時(shí)候使用。 這將完全消除強(qiáng)迫沖突并且沒(méi)有嚴(yán)重的不利影響。唯一的問(wèn)題是如果這段前導(dǎo)碼的發(fā)送時(shí)間超過(guò) 20ms,標(biāo)準(zhǔn)的 10Mb/s 收發(fā)器會(huì)作出“過(guò)長(zhǎng)發(fā)送控制” (jabber control)的判斷 (使它們的傳輸功能失效 )。而在 100Mb/s 和 1000Mb/s 系統(tǒng)中,就完全不會(huì)出現(xiàn)這樣的問(wèn)題。6.1.2 全雙工網(wǎng)絡(luò)中的顯式流量控制在全雙工以太網(wǎng)中, 無(wú)論是偽載波偵聽(tīng), 還是強(qiáng)迫沖突算法都不能工作。 全雙工以太網(wǎng)接口不檢測(cè)

24、沖突, 并且忽略可延遲傳送的載波偵聽(tīng)。 全雙工網(wǎng)絡(luò)需要顯式的流量控制機(jī)制,使交換機(jī)能夠阻塞處于擁塞狀態(tài)的站。 為了實(shí)現(xiàn)這個(gè)目標(biāo),開(kāi)發(fā)了為全雙工以太網(wǎng)流量控制的標(biāo)準(zhǔn)算法 (IEEE802. 3x)。6.2 MAC 控制。p576.2.1 MAC 控制層的結(jié)構(gòu)MAC 控制是數(shù)據(jù)鏈路層的一個(gè)子層。它是介于傳統(tǒng)以太網(wǎng)MAC 層和 MAC客戶之間的可選功能。 客戶可以是網(wǎng)絡(luò)層協(xié)議 (如 IP)或數(shù)據(jù)鏈路層內(nèi)部實(shí)現(xiàn)轉(zhuǎn)發(fā)功能的網(wǎng)橋 (交換機(jī) )。如果 MAC 的客戶不知道或不關(guān)心 MAC 控制提供的功能,則這個(gè)子層就“消失”了;就像這個(gè) MAC 控制子層不存在一樣,正常的發(fā)送和接收數(shù)據(jù)流會(huì)經(jīng)過(guò) MAC 與

25、MAC 控制子層的客戶交互。對(duì) MAC 控制敏感的客戶 (如需要防止緩沖區(qū)溢出的交換機(jī)),可以利用這個(gè)子層來(lái)控制底層以太網(wǎng)MAC的操作。特別是,它可以請(qǐng)求全雙工鏈路另一端的 MAC 停止進(jìn)一步傳送數(shù)據(jù),因而防止將要發(fā)生的溢出。 MAC 控制的層次結(jié)構(gòu)如下圖所示:圖 MAC 控制在 OSI 參考模型中的位置一旦對(duì) MAC 控制敏感的上層發(fā)出了控制請(qǐng)求,則MAC 控制層會(huì)產(chǎn)生控制幀。這些控制幀將被送往發(fā)送模塊發(fā)送; 同樣,接收模塊接收到其他站點(diǎn)發(fā)送的控制幀并把它們交給 MAC 控制子層中的相應(yīng)模塊處理。 因此在以太網(wǎng)上普遍的MAC 客戶數(shù)據(jù)幀中將會(huì)夾雜一些MAC 控制幀。在 MAC 控制出現(xiàn)以前,

26、在以太網(wǎng)上傳送的每一個(gè)幀都是由上層協(xié)議提供,交由數(shù)據(jù)收發(fā)模塊發(fā)送和接收,然而 MAC 控制幀與它們不同的是,控制幀的產(chǎn)生和處理都是在數(shù)據(jù)鏈路層內(nèi)完成的。在接收到控制請(qǐng)求后, MAC 控制層將控制幀插入到發(fā)送隊(duì)列中發(fā)送,當(dāng)接收到控制幀時(shí),控制幀在 MAC 控制層內(nèi)被解封,控制幀本身不交往上層協(xié)議處理。6.2.2 MAC 控制幀格式MAC 控制幀是正規(guī)、合法的MAC 幀,擁有正常的 MAC 幀的所有字段,并且采用同樣的算法發(fā)送。除了長(zhǎng)度 /類(lèi)型字段外, MAC 控制幀在結(jié)構(gòu)上與數(shù)據(jù)幀完全一樣。 MAC 控制幀的長(zhǎng)度都恰好是以太網(wǎng)幀的最小長(zhǎng)度 64 字節(jié),不包括前導(dǎo)碼和幀起始定界符。MAC 控制幀的

27、格式如下圖:圖 MAC 控制幀格式MAC 控制幀區(qū)別于普通數(shù)據(jù)幀之處在于其長(zhǎng)度 /類(lèi)型字段的值為 0x8808,該值是專門(mén)為控制幀保留的。 在 MAC 控制幀的數(shù)據(jù)字段中, 前 2 個(gè)字節(jié)代表 MAC控制操作碼,用于表示接收到該控制幀的站點(diǎn)需要做何種操作,目前只定義了一種操作代碼,即隨后討論的全雙工中的暫停操作(PAUSE),它的代碼為 0x0001。操作代碼后面的域是該操作所需的參數(shù)。如果該參數(shù)不足44 字節(jié)的長(zhǎng)度,那么剩下的空間將用0 來(lái)填充。6.3 PAUSE 功能PAUSE 功能用來(lái)在全雙工以太網(wǎng)鏈路上實(shí)現(xiàn)流量控制。PAUSE 操作是用MAC 控制體系結(jié)構(gòu)及幀格式實(shí)現(xiàn)的。目前該操作只工

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

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

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

31、導(dǎo)碼、幀起始定界符和 FCS 字段的格式和含義與普通 MAC 數(shù)據(jù)幀一樣,其余字段的格式雖然和數(shù)據(jù)幀沒(méi)有區(qū)別,但是內(nèi)容卻有一些區(qū)別:( 1)目的地址目的地址就是PAUSE 幀所要發(fā)往站點(diǎn)的地址。它總是包含一個(gè)為PAUSE幀保留的唯一的組播地址01-80-C2-00-00-01。既然 PAUSE 功能只用于全雙工的鏈路上,而全雙工鏈路的一個(gè)前提就是一個(gè)鏈路上只有 2 個(gè)站點(diǎn),那么 PAUSE 幀的目的地?zé)o疑就是鏈路另一端的站點(diǎn),下面將解釋為什么 PAUSE 幀的目的地址需要指定,并且還是一個(gè)組播地址:·如果因?yàn)榕渲缅e(cuò)誤, PAUSE 幀被不經(jīng)意地發(fā)送到共享式 LAN 上,使用特定的組播

32、地址可以保證接收并解釋這些幀的是那些真正懂得 PAUSE 協(xié)議的站(即,地址是專門(mén)為這個(gè)目的而保留的)。·使用組播地址,就可以使 PAUSE 幀的發(fā)送者不必知道鏈路另一端的唯一地址。雖然高層協(xié)議很可能知道這個(gè)地址,但數(shù)據(jù)鏈路層沒(méi)有必要知道。·這個(gè)精心挑選的組播地址是特殊保留地址組中的一個(gè), 所有標(biāo)準(zhǔn)的網(wǎng)橋和交換機(jī)都會(huì)阻塞 (吸收 )這組地址。交換機(jī)不會(huì)把發(fā)往這些地址的幀轉(zhuǎn)發(fā)到其他的端口,這使得 PAUSE 幀只在與其相關(guān)單全雙工鏈路上使用。(2)源地址源地址字段包含發(fā)出 PAUSE 幀站點(diǎn)的 MAC 地址。盡管控制幀只能有鏈路上的一個(gè)站點(diǎn)發(fā)出, 設(shè)定源地址貌似沒(méi)有必要, 但

33、是在幀中包含一個(gè)源地址還是有以下的用途:·可與其他所有類(lèi)型以太網(wǎng)幀保持一致 (即所有以太網(wǎng)幀的源地址都包含了發(fā)送站的唯一地址 )·可正確地更新監(jiān)控設(shè)備上的管理記數(shù)器,這些設(shè)備可能一直跟蹤記錄每個(gè)站產(chǎn)生的幀。·如果由于錯(cuò)誤配置, PAUSE 幀被不小心地發(fā)送到共享式 LAN 上,可以容易地確定發(fā)送者。(3)類(lèi)型域類(lèi)型域包含了所有MAC 控制幀使用的保留值: 0x8808。(4)數(shù)據(jù)域 (包含 MAC 控制操作碼和操作參數(shù) )PAUSE 幀的控制操作碼是0x0001。PAUSE 幀只帶有一個(gè)操作參數(shù),被稱為暫停時(shí)間(Pause-time)。該參數(shù)是2字節(jié)長(zhǎng)的無(wú)符號(hào)整型

34、值, 表示發(fā)送方請(qǐng)求接收方停止發(fā)送數(shù)據(jù)幀的時(shí)間長(zhǎng)度。暫停時(shí)間以512bit 時(shí)間為單位計(jì)算,即接收方需要實(shí)際暫停的時(shí)間為Pause-time乘以用當(dāng)前數(shù)據(jù)率傳輸512 比特的時(shí)間。使用與傳輸速率相關(guān)的暫停時(shí)間而不是使用實(shí)際時(shí)間,有以下2 個(gè)原因:(1)當(dāng)以這種方式設(shè)定PAUSE 操作時(shí),可以認(rèn)為是讓發(fā)送者暫停發(fā)送與速率無(wú)關(guān)的若干比特,而不是暫停一段指定的時(shí)間。由于使用PAUSE 功能的初衷是實(shí)現(xiàn)內(nèi)存容量有限的交換機(jī),當(dāng)網(wǎng)絡(luò)接口只剩下一定比特量的緩沖時(shí),它發(fā)送一個(gè) PAUSE 幀,并以剩下的比特量作為該幀的Pause-time參數(shù),而不考慮使用什么樣的速率。這可以簡(jiǎn)化某些設(shè)計(jì)。( 2)在半雙工以

35、太網(wǎng)中,沖突后退計(jì)數(shù)器的時(shí)間度量以時(shí)隙為增量。除1000Mb/s 以外,所有數(shù)據(jù)速率的時(shí)隙都是傳輸512 比特的時(shí)間。因?yàn)镻AUSE功能只能用于全雙工鏈路,這個(gè)計(jì)數(shù)器 (如果實(shí)現(xiàn)了的話 )不再用于后退定時(shí),因此可用它來(lái)做 PAUSE 定時(shí),不需改變。6.4 流量控制的策略為全雙工鏈路流量控制提供的 PAUSE 機(jī)制只是一個(gè)工具。協(xié)議規(guī)范中定義了在發(fā)送和接收 PAUSE 幀時(shí)發(fā)生了什么動(dòng)作,但沒(méi)有說(shuō)明設(shè)備何時(shí)應(yīng)該進(jìn)行流量控制以及何時(shí)恢復(fù)流量。下面將討論實(shí)際實(shí)現(xiàn)的這些流量控制策略(flowcontrol policy) 問(wèn)題。流量控制的典型實(shí)現(xiàn)是在交換機(jī)中防止緩沖區(qū)溢出。它使交換機(jī)在不降低吞吐量的

36、情況下,能夠容納平均水平的流量,同時(shí)還可防止短暫過(guò)載造成的丟幀,所有這些都不需要巨大的緩沖內(nèi)存。這樣的交換機(jī), 工作情況良好, 成本并不昂貴,并可以適應(yīng)各種流量變化。( 1)緩沖區(qū)閥值一般的交換機(jī)為每個(gè)端口(輸入隊(duì)列 )配置了一定數(shù)量的輸入緩沖區(qū)。在交換機(jī)輸出端口或交換結(jié)構(gòu)接收某個(gè)幀之前,該幀一直保留在這個(gè)隊(duì)列中。 如圖 3. 7 所示。圖 輸入緩沖根據(jù)流量模式和提供給交換機(jī)的總負(fù)載,幀在這個(gè)隊(duì)列中經(jīng)歷了一段延時(shí),等待上載。在此期間,同一個(gè)端口上接收了更多的幀,從而使隊(duì)列飽和。合理的流量控制策略應(yīng)該在緩沖區(qū)達(dá)到預(yù)先定義的“高水位” (high water mark)時(shí),發(fā)送一個(gè)帶有非零 Pause-time值的 PAUSE 幀,使交換機(jī)能夠防止由于緩沖區(qū)不足而在輸入端丟棄幀。當(dāng)鏈路伙伴收到了 PAUSE 幀并阻塞時(shí),交換機(jī)可以從這個(gè)輸入隊(duì)列中上載幀, 并把它們轉(zhuǎn)發(fā)到交換機(jī)的其他端口。 當(dāng)緩沖區(qū)中的幀少于預(yù)定義的“低水位標(biāo)記” (low water mark)時(shí),可通過(guò)發(fā)送帶有 0 值 Pause- time 的PAUSE 幀取消流量控制,并恢復(fù)正常操作。這樣交換機(jī)可以不丟棄任何幀并達(dá)到最大容量。高水位應(yīng)該這樣設(shè)置: 在水位之上尚存在足夠大的可用緩沖, 它可以滿足流水線中附加流量的需要。 這個(gè)高水位與數(shù)據(jù)率、 介質(zhì)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論