一、引述
IEEE 802網(wǎng)絡(luò)是由一個(gè)或多個(gè)相互連接的網(wǎng)絡(luò)組成,每個(gè)網(wǎng)絡(luò)使用IEEE 802標(biāo)準(zhǔn)中指定的相應(yīng)的媒體訪問控制(MAC,Medium Access Control)協(xié)議。MAC協(xié)議,用來控制對網(wǎng)絡(luò)中傳輸媒體的訪問,使網(wǎng)絡(luò)中的站之間能夠交換數(shù)據(jù)。因此,IEEE 802標(biāo)準(zhǔn)中所規(guī)范的IEEE 802網(wǎng)絡(luò),因制定的MAC協(xié)議不同,而形成了IEEE 802網(wǎng)絡(luò)家族,如我們熟悉的媒體訪問控制方法有:CSMA/CD、令牌總線、令牌環(huán)、DQDB等等。
欲詳細(xì)了解IEEE 802標(biāo)準(zhǔn)與IEEE 802網(wǎng)絡(luò)介紹的請進(jìn)入:IEEE 802標(biāo)準(zhǔn);IEEE 802網(wǎng)絡(luò)
我們知道,由IEEE 802標(biāo)準(zhǔn)規(guī)范的IEEE 802網(wǎng)絡(luò),僅涉及到開放系統(tǒng)互聯(lián)/基本參考模型(OSI/RM)的物理層(PHY)和數(shù)據(jù)鏈路層(DLL)這最下兩層。而IEEE 802網(wǎng)絡(luò)DLL通常是由邏輯鏈路子層(LLC)和媒體訪問控制(MAC)子層所構(gòu)成,MAC介于PHY和LLC之間,負(fù)責(zé)與物理層間往返傳送數(shù)據(jù)。
二、MAC地址長度
對于IEEE 802網(wǎng)絡(luò),MAC地址是指一個(gè)48位或64位的數(shù)字序列,用來標(biāo)識源MAC實(shí)體和目的MAC實(shí)體;MAC地址也可用于標(biāo)識MAC SAP(Service Access Point,服務(wù)訪問點(diǎn))。在許多IEEE 802網(wǎng)絡(luò)標(biāo)準(zhǔn)中,MAC地址僅是指48位的。在某些IEEE 802網(wǎng)絡(luò)標(biāo)準(zhǔn)中,術(shù)語擴(kuò)展地址用于指64位MAC地址。如果標(biāo)準(zhǔn)需要通過橋接的互操作性,則需要48位MAC尋址,只要求路由連接的新標(biāo)準(zhǔn)應(yīng)該使用64位MAC尋址。
三、MAC通用地址
通用尋址的概念是基于網(wǎng)絡(luò)的所有潛在站都需要有唯一標(biāo)識符的思路,通用地址的優(yōu)點(diǎn)是,如果所有的站都遵守規(guī)則,并且網(wǎng)絡(luò)的安全性可以防止惡意欺騙MAC地址,那么擁有這種MAC地址的站可以連接到世界上任何IEEE 802網(wǎng)絡(luò),并保證MAC地址是唯一的。通用地址是全局唯一的MAC地址。IEEE注冊機(jī)構(gòu)(RA,Registration Authority)規(guī)定了兩種不同長度的通用地址:48位擴(kuò)展唯一標(biāo)識符(EUI-48)和64位擴(kuò)展唯一標(biāo)識符(EUI-64)。
1、通用地址的分配
IEEE有責(zé)任定義和執(zhí)行通用地址管理的程序。IEEE RA也被ISO/IEC指定為ISO/IEC 8802系列標(biāo)準(zhǔn)的注冊機(jī)構(gòu)。定義程序的責(zé)任由IEEE注冊機(jī)構(gòu)委員會(huì)履行,該委員會(huì)由IEEE標(biāo)準(zhǔn)協(xié)會(huì)理事會(huì)特許。IEEE RA允許通過分配創(chuàng)建通用地址,即EUI-48(64-bit extended unique identifier,48位擴(kuò)展唯一標(biāo)識符)和EUI-64(64-bit extended unique identifier,64位擴(kuò)展唯一標(biāo)識符)不同長度的標(biāo)識符,如下表3-1-1所示。下附件3-1對表中EUI、OUI和CID的使用給以指南。
表 3-1-1:IEEE RA通用地址的分配概要
附件 3-1:《擴(kuò)展唯一標(biāo)識符 (EUI)、組織唯一標(biāo)識符 (OUI) 和公司 ID (CID) 使用指南》
欲具體了解IEEE RA的申請事宜的請進(jìn)入。
表中,MA-L、MA-M和MA-S的標(biāo)準(zhǔn)是使用十六進(jìn)制表示,有關(guān)使用十六進(jìn)制表示和使用位反轉(zhuǎn)表示的含義詳細(xì)見下表3-1-2。MA-L的結(jié)構(gòu)詳見下圖3-1-1所示。MA-M和MA-S的第一個(gè)八位組結(jié)構(gòu)與MA-L相同。對于MA-L、MA-M和MA-S,第一個(gè)八位組的最低有效位(LSB)是個(gè)人/組(I/G)地址位。賦值的第一個(gè)八位組的下一個(gè)LSB是通用/本地(U/L)地址位。關(guān)于I/G地址位和U/L地址位的設(shè)置要求詳見下表3-1-3。
表 3-1-2:關(guān)于使用十六進(jìn)制表示和使用位反轉(zhuǎn)表示
圖 3-1-1:MA-L的結(jié)構(gòu)
表 3-1-3:I/G地址位和U/L地址位的設(shè)置要求
通用地址由兩部分組成:前導(dǎo)位(24,28或36)由IEEE RA分配,U/L位設(shè)置為零,其余位由指定人分配。下圖3-1-2顯示了EUI-48的一個(gè)示例。
圖 3-1-2:EUI-48的示例
對于MA-M和MA-S,分配的號碼的最后4位在顯示時(shí)不與分配的號碼中的其他位相鄰,LSB在左側(cè),最高有效位(MSB)在右側(cè)。例如,使用MA-S創(chuàng)建EUI-48時(shí),MA-S的值包含在octet 0、1、2、3和octet 4的LSB的半字節(jié)中,而由受讓人分配的值包含在octet 4和octet 5的MSB的半字節(jié)中。注意:圖中使用了八位串AC-DE-48-12-7B-80,因?yàn)楫?dāng)位模式反轉(zhuǎn)時(shí)是很清楚。這個(gè)八位串可以被使用,而不是保留值。對于MA-L、MA-M和MA-S示例,AC-DE-48被用作相同的前3個(gè)字節(jié),但對于有效分配的RA值,前3個(gè)字節(jié)是不同的。
下圖3-1-3展示了一個(gè)EUI-64的示例。上述,其圖3-1-2中的EUI-48和圖3-1-3中的EUI-64的比特流表示首先顯示每個(gè)八位字節(jié)的LSB;這對應(yīng)于以從左到右的順序表示位串行傳輸?shù)臄?shù)據(jù)通信約定,應(yīng)用于EUI-48字段和EUI-64字段的傳輸模型。較低的八位組序列表示以二進(jìn)制數(shù)字的通常順序顯示每個(gè)八位組中的位;八字節(jié)傳輸?shù)捻樞蚴菑纳系较隆?/span>
圖 3-1-3:EUI-64的示例
2、由組織分配的MAC部分
IEEE不打算向任何組織分配額外的MA-L、MA-M或MA-S,除非該組織已經(jīng)用盡了已分配給該組織的地址塊。重要的是要注意,從MA-L、MA-M或MA-S創(chuàng)建的通用地址不應(yīng)用于導(dǎo)致跳過大量地址的目的(例如,作為幫助公司庫存程序的產(chǎn)品標(biāo)識符)。IEEE要求組織不要濫用剩余位的分配,從而不必要地耗盡塊。即使在批量生產(chǎn)中,也有足夠的標(biāo)識符來長期滿足大多數(shù)需求。受讓人用來確保沒有兩個(gè)站點(diǎn)攜帶相同的通用地址的方法IEEE并沒有定義。然而,全世界的網(wǎng)絡(luò)用戶都希望有唯一的地址。因此,確保滿足用戶期望和要求的最終責(zé)任在于提供此類站點(diǎn)的組織。
3、地址分配的唯一性
建議連接到IEEE 802網(wǎng)絡(luò)的每個(gè)不同的點(diǎn)都有自己唯一的EUI-48或EUI-64。通常,因此,一個(gè)IEEE 802網(wǎng)絡(luò)適配卡(或者,例如,主板上的一個(gè)等效芯片或一組芯片)應(yīng)該有一個(gè)唯一的EUI-48或EUI-64為每個(gè)IEEE 802網(wǎng)絡(luò)附件,以在給定的時(shí)間提供支持。注意:雖然有些實(shí)現(xiàn)使用單一的EUI-48或EUI-64來識別系統(tǒng)連接到IEEE 802網(wǎng)絡(luò)的所有點(diǎn),但這種方法本身并不滿足IEEE 802.1D MAC橋接的要求。
四、相關(guān)要求
1、EUI-48或EUI-64的互通
由于擔(dān)心需要唯一標(biāo)識符的產(chǎn)品的會(huì)耗盡EUI-48空間,因此引入了64位MAC地址(EUI-64)。最初,新的IEEE標(biāo)準(zhǔn)項(xiàng)目做到了不需要向后兼容EUI-48被要求來使用64位MAC地址。這導(dǎo)致一些IEEE 802標(biāo)準(zhǔn)采用64位MAC尋址,不能橋接到使用48位MAC尋址的IEEE 802網(wǎng)絡(luò)上。原因是IEEE 802.1D標(biāo)準(zhǔn)和IEEE 802.1Q標(biāo)準(zhǔn)中的橋接功能假設(shè)48位MAC地址在所有連接的網(wǎng)絡(luò)中是唯一的,將64位MAC地址截?cái)酁?/span>48位字段,這會(huì)導(dǎo)致兩個(gè)站點(diǎn)具有相同的48位值。相反,64位和48位MAC地址網(wǎng)絡(luò)之間的流量需要在數(shù)據(jù)鏈路層(DLL)之上的一層路由。具有64位MAC地址的IEEE 802網(wǎng)絡(luò)的橋接目前沒有明確。
2、本地MAC地址
本地MAC地址是指48位或64位的MAC地址,不能保證MAC地址在所有IEEE 802網(wǎng)絡(luò)中是唯一的。本地MAC地址可以分配任意值,其中U/L位設(shè)置為本地MAC地址,I/G位設(shè)置為MAC地址是單個(gè)還是組。除非網(wǎng)橋支持獨(dú)立學(xué)習(xí)的VLAN,否則本地MAC地址在局域網(wǎng)或網(wǎng)橋局域網(wǎng)中必須是唯一的。注意:MA-L、MA-M和MA-S分配不適用于本地MAC地址。關(guān)于本地MAC地址空間的管理建議,請參考IEEE RA網(wǎng)站。
3、標(biāo)準(zhǔn)化組的MAC地址
前面描述了個(gè)人和組(I/G)MAC地址和協(xié)議標(biāo)識符的分配,供民間組織的公共或私人使用。但還需要標(biāo)準(zhǔn)化的48位和64位組MAC地址,以便與標(biāo)準(zhǔn)協(xié)議一起使用。這些管理規(guī)范48位和64位組MAC地址,包括申請過程和當(dāng)前分配值的列表,在IEEE RA的網(wǎng)頁上有描述。這些標(biāo)準(zhǔn)化組的MAC地址來自一組通用管理的地址塊,這些地址源自IEEE為此目的分配的MA-L。若要更多了解標(biāo)準(zhǔn)化組的MAC地址介紹的請查閱下附件4-3。
附件 4-3:《標(biāo)準(zhǔn)化組的MAC地址介紹》
4、位排序和不同的MAC
在這里,有關(guān)位和/或八位組傳輸順序的考慮是指傳輸?shù)幕疚淮P停撃P瓦m用于MAC和PHY之間邊界處MAC幀的表示。
IEEE 802.3網(wǎng)絡(luò)上的數(shù)據(jù)傳輸表示為在每個(gè)八位字節(jié)中首先發(fā)生在LSB。這對整個(gè)幀都是正確的:源地址和目的地址字段,MAC特定字段(例如,長度/類型字段)和MAC信息字段。在其它一些網(wǎng)絡(luò)類型中,MAC信息字段的每個(gè)字節(jié)表示為首先傳輸MSB。然而,源地址和目的地址字段表示為首先與每個(gè)八位字節(jié)的LSB一起傳輸。因此,傳輸?shù)牡谝粋€(gè)位是I/G地址位,在IEEE 802.3網(wǎng)絡(luò)中也是如此。對于在MAC內(nèi)產(chǎn)生的幀(如MAC內(nèi)嵌的管理幀),MAC信息字段內(nèi)的位順序由MAC標(biāo)準(zhǔn)指定。
欲詳細(xì)了解IEEE 802.3網(wǎng)絡(luò)MAC地址的請進(jìn)入。
在大多數(shù)情況下,無論是在給定的MAC類型內(nèi),還是在不同的MAC類型之間,用于表示MAC信息字段的八位位組傳輸?shù)奈豁樞虻牟町惗紵o關(guān)緊要。用戶數(shù)據(jù)的每個(gè)八位組被發(fā)送和接收MAC實(shí)體對稱地映射到適當(dāng)?shù)捻樞颉H欢霈F(xiàn)了一個(gè)不幸的例外,即相關(guān)的八位位組是作為用戶數(shù)據(jù)嵌入到MAC 信息字段中的MAC地址的八位位組。
強(qiáng)烈建議在DLL之上操作的協(xié)議,設(shè)計(jì)者避免指定導(dǎo)致非規(guī)范格式幀的新協(xié)議。
欲進(jìn)一步了解IP組播地址機(jī)制介紹的請進(jìn)入。