概念說明
MAC(Media Access Control,介質訪問控制)地址是識别LAN(局域網)節點的标識。
它定義了數據幀怎樣在介質上進行傳輸。在共享同一個帶寬的鍊路中,對連接介質的訪問是“先來先服務”的。物理尋址在此處被定義,邏輯拓撲(信号通過物理拓撲的路徑)也在此處被定義。線路控制、出錯通知(不糾正)、幀的傳遞順序和可選擇的流量控制也在這一子層實現。
局域網的數據鍊路層分為邏輯鍊路層LLC和介質訪問控制MAC兩個子層。
邏輯鍊路控制(Logical Link Control或簡稱LLC)是局域網中數據鍊路層的上層部分,IEEE 802.2中定義了邏輯鍊路控制協議。用戶的數據鍊路服務通過LLC子層為網絡層提供統一的接口。在LLC子層下面是MAC子層。
MAC(medium access control)屬于LLC(Logical Link Control)下的一個子層。局域網中廣泛采用的兩種介質訪問控制方法,分别是:
1、争用型介質訪問控制,又稱随機型的介質訪問控制協議,如CSMA/CD方式。
2、确定型介質訪問控制,又稱有序的訪問控制協議,如Token(令牌)方式。
應用介紹
也就是說,在網絡底層的物理傳輸過程中,是通過物理地址來識别主機的,它一般也是全球唯一的。比如,著名的以太網卡,其物理地址大小是48bit(比特位),前24位是廠商編号,後24位為網卡編号,如:44-45-53-54-00-00,以機器可讀的方式存入主機接口中。以太網地址管理機構(IEEE)将以太網地址,也就是48比特的不同組合,分為若幹獨立的連續地址組,生産以太網網卡的廠家就購買其中一組,具體生産時,逐個将唯一地址賦予以太網卡。
形象比喻
MAC地址就如同我們身份證上的身份證号碼,具有全球唯一性。
技術詳解
網絡中的地址分為物理地址和邏輯地址兩類,與網絡層的IP地址傳輸層的端口号以及應用層的用戶名相比較,局域網的MAC層地址是由硬件來處理的,叫做物理地址或硬件地址。IP地址傳輸層的端口号以及應用層的用戶名是邏輯地址由軟件來處理。MAC地址又叫物理地址。大多數局域網通過為網卡分配一個硬件地址來标識一個聯網的計算機或其他設備。
所謂物理地址是指固化在網卡EPROM中的地址,這個地址應該保證在全網是唯一的。IEEE注冊委員會為每一個生産廠商分配物理地址的前三字節,即公司标識。後面三字節由廠商自行分配,一個廠商獲得一個前三字節的地址可以生産的網卡數量是16777216塊。而一塊網卡對應一個物理地址。也就是說對應物理地址的前三字節就可以知道他的生産廠商。
例如固化在網卡中的地址為002514895423,那麼這塊網卡插到主機A中,主機A的物理地址就是002514895423,不管主機A是連接在局域網1上還是在局域網2上,也不管這台計算機移到什麼位置,主機A的物理地址就是002514895423。它是不變的,而且不會和世界上任何一台計算機相同。當主機A發送一幀時,網卡執行發送程序時,直接将這個地址作為源地址寫入該幀。當主機A接收一幀時,直接将這個地址與接收幀目的地址比較,以決定是否接收。物理地址一般記作00-25-14-89-54-23(主機A的地址是002514895423)。
工作原理
在CSMA中,由于信道傳播時延的存在,即使通信雙方的站點都沒有偵聽到載波信号,在發送數據時仍可能會發生沖突,因為他們可能會在檢測到介質空閑時同時發送數據,緻使沖突發生。盡管CSMA可以發現沖突,但它并沒有先知的沖突檢測和阻止功能,緻使沖突發生頻繁。
一種CSMA的改進方案是使發送站點在傳輸過程中仍繼續偵聽介質,以檢測是否存在沖突。如果兩個站點都在某一時間檢測到信道是空閑的,并且同時開始傳送數據,則它們幾乎立刻就會檢測到有沖突發生。如果發生沖突,信道上可以檢測到超過發送站點本身發送的載波信号幅度的電磁波,由此判斷出沖突的存在。一旦檢測到沖突,發送站點就立即停止發送,并向總線上發一串阻塞信号,用以通知總線上通信的對方站點,快速地終止被破壞的幀,可以節省時間和帶寬。這種方案就是本節要介紹的CSMA/CD(Carrier Sense Multiple Access with Collision Detection,載波偵聽多路訪問/沖突檢測協議),已廣泛應用于局域網中。
所謂載波偵聽(Carrier Sense),意思是網絡上各個工作站在發送數據前都要确認總線上有沒有數據傳輸。若有數據傳輸(稱總線為忙),則不發送數據;若無數據傳輸(稱總線為空),立即發送準備好的數據。
所謂多路訪問(Multiple Access),意思是網絡上所有工作站收發數據共同使用同一條總線,且發送數據是廣播式的。
所謂沖突(Collision),意思是若網上有兩個或兩個以上工作站同時發送數據,在總線上就會産生信号的混合,這樣哪個工作站都辨别不出真正的數據是什麼。這種情況稱為數據沖突,又稱為碰撞。
為了減少沖突發生後的影響,工作站在發送數據過程中還要不停地檢測自己發送的數據,看有沒有在傳輸過程中與其他工作站的數據發生沖突,這就是沖突檢測(Collision Detected)。
CSMA/CD沖突檢測原理
CSMA/CD是标準以太網、快速以太網和千兆以太網中統一采用的介質争用處理協議(但在萬兆以太網中,由于采用的是全雙工通信,所以不再采用這一協議)。之所以稱之為"載波偵聽"("載波"就是承載信号的電磁波),而不是稱之為"介質偵聽",那是因為如果介質上正在有載波存在,則證明介質處于忙的狀态(因為信号或者數據不是直接傳輸的,而是通過電磁載波進行的);如果沒有載波存在,則介質是空閑狀态。也就是通過載波的檢測,可以得知介質的狀态,而不能直接來偵聽介質本身得出其空閑狀态。
【說明】其實這裡偵聽的應該是"信道",而不是"介質"本身,因為在一條傳輸介質中,可能包含有多條信道,用于不同的傳輸鍊路。
前面說了,CSMA/CD相對CSMA來說的進步就是具有沖突檢測功能,随之問題就來了,CSMA/CD是如何檢測沖突呢?
CSMA/CD的工作原理可以用以下幾句話來概括:
先聽後說,邊聽邊說。
一旦沖突,立即停說。
等待時機,然後再說。
這裡的"聽"即監聽、檢測之意;"說"即發送數據之意。具體的檢測原理描述如下:
(1)當一個站點想要發送數據的時候,它檢測網絡查看是否有其他站點正在傳輸,即偵聽信道是否空閑。
(2)如果信道忙,則等待,直到信道空閑;如果信道空閑,站點就準備好要發送的數據。
(3)在發送數據的同時,站點繼續偵聽網絡,确信沒有其他站點在同時傳輸數據才繼續傳輸數據。因為有可能兩個或多個站點都同時檢測到網絡空閑然後幾乎在同一時刻開始傳輸數據。如果兩個或多個站點同時發送數據,就會産生沖突。若無沖突則繼續發送,直到發完全部數據。
(4)若有沖突,則立即停止發送數據,但是要發送一個加強沖突的JAM(阻塞)信号,以便使網絡上所有工作站都知道網上發生了沖突,然後,等待一個預定的随機時間,且在總線為空閑時,再重新發送未發完的數據。
CSMA/CD控制方式的優點是:
原理比較簡單,技術上易實現,網絡中各工作站處于平等地位,不需集中控制,不提供優先級控制。但在網絡負載增大時,發送時間增長,發送效率急劇下降
令牌訪問控制工作原理
令牌訪問控制方法可分為令牌環訪問控制和令牌總線訪問控制兩類。已較少采用令牌總線訪問控制。
應用
不管是在傳統的有線局域網(LAN)中還是在流行的無線局域網(WLAN)中,MAC協議都被廣泛地應用。在傳統局域網中,各種傳輸介質的物理層對應到相應的MAC層,普遍使用的網絡采用的是IEEE802.3的MAC層标準,采用CSMA/CD訪問控制方式;而在無線局域網中,MAC所對應的标準為IEEE802.11,其工作方式采用DCF(分布控制)和PCF(中心控制)。
介質訪問控制
IEEE 802.5令牌環介質訪問控制使用一個令牌沿着環循環,且應确保令牌在環中為唯一的。令牌環工作原理:
網上站點要求發送幀,必須等待空令牌。
當獲取空令牌,則将它改為忙令牌,後随數據幀;環内其它站點不能發送數據。
環上站點接收、移位數據,并進行檢測。如果與本站地址相同,則同時接收數據,接收完成後,設置相應标記。
該幀在環上循環一周後,回到發送站,發送站檢測相應标記後,将此幀移去。
将忙令牌改成空令牌,繼續傳送,供後續站發送幀。 環的長度用位計算:
由于電磁波的傳播速度有限,傳輸介質中可能同時存在多個數據位。
環上每個中繼器引入至少 1 bit 延遲
環上保留的位數:
傳播延遲(us /km)×介質長度×數據速率 +中繼器延遲
例:介質長度 L = 1 km ,數據速率 C = 4 Mbit/s ,站點數 N = 50。
解:傳播延遲 tp = L / v
v = 2 ×105km / s tp = 5 us 環上保留的位數 = 5 × 1 ×4 + 50 = 70 bit
令牌環MAC幀結構
IEEE 802.5 MAC幀格式令牌和數據幀的管理:
如何防止數據幀在環上無休止循環?
設置監控器
在幀結構上留一标識
如何監測令牌出錯?
無令牌
多個令牌
忙令牌死循環
集中式檢測:
設置集中監控站(超時計數器)/标記丢失
在幀結構上檢測忙标記标識/ 死循環
分布式檢測:
每站設置定時器:當站有數據要發且等待标記的時間超限 /标記丢失
令牌控制協議
拓撲結構: 工作原理: Token Bus 在物理總系線上建立邏輯環。
邏輯環上,令牌是站點可以發送數據的必要條件。
令牌在邏輯環中按地址的遞減順序傳送到下一站點。
從物理上看,含DA的令牌幀廣播到BUS上,所有站點按DA = 本站地址判斷收否。
特點: 無沖突,令牌環的信息幀長度可按需而定。
順序接收Fairness (公平性),站點等待Token的時間是确知的。
(需限定每個站發送幀的最大值)。
因檢測沖突需要填充信息位(不允許小于46字節)。
訪問控制技術
介質訪問子層的中心論題是相互競争的用戶之間如何分配一個單獨的廣播信道。
1、靜态分配:隻要一個用戶得到了信道就不會和别的用戶沖突。(用戶數據流量具有突發性和間歇性) 。
2、動态分配:稱為多路訪問或多點接入,指多個用戶共用一條線路,而信道并非是在用戶通信時固定分配給用戶,這樣的系統又稱為競争系統。動态分配方法又可以分為:随機訪問,典型ALOHA協議、CSMA協議 ;受控訪問,典型令牌網競争系統和集中控制的多點線路輪詢。
3、信道動态分配中的5個關鍵假設。
站模型:站獨立,以恒定速率産生幀,每個站隻有一個程序。
單信道假設(核心)
沖突假設:兩個幀同時傳送,就會沖突,所有站點能檢測到,沖突幀需重發
發送時間:1.連續時間;2.時隙。
載波檢測:1.有載波偵聽;2.無載波偵聽。