如何在ATM網(wǎng)絡(luò)支持IP
ATM可以提供空前的可伸縮性和性價(jià)比,以及對將來的實(shí)時(shí)業(yè)務(wù)、多媒體業(yè)務(wù)等的支持,ATM將扮演重要的角色。但目前的信息體系,即LAN和WAN,建立在網(wǎng)絡(luò)層協(xié)議如IP、IPX、AppleTalk等的基礎(chǔ)上,因此,ATM的成功及Internet的發(fā)展的關(guān)鍵是現(xiàn)有的網(wǎng)絡(luò)技術(shù)和ATM的互操作,而實(shí)現(xiàn)這一目的的關(guān)鍵是相同的網(wǎng)絡(luò)層協(xié)議,如IP、IPX,同時(shí)應(yīng)用于現(xiàn)有的網(wǎng)絡(luò)和ATM上,因?yàn)榻o高層協(xié)議和應(yīng)用提供統(tǒng)一的網(wǎng)絡(luò)視角是網(wǎng)絡(luò)層的任務(wù)。到目前為止,已有了多種在ATM上運(yùn)行IP的方法,如:ATM論壇的LANE和MPOA、IETF的CLIP和NHRP、Ipsilon網(wǎng)絡(luò)公司的IP交換和Cisco公司的標(biāo)記交換,下面將逐一介紹。
本文引用地址:http://2s4d.com/article/157347.htm一、簡介
ATM和現(xiàn)有的協(xié)議體系,特別是網(wǎng)絡(luò)層的IP、IPX等協(xié)議,在很長的時(shí)間內(nèi)共存,如何在單一網(wǎng)絡(luò)上實(shí)現(xiàn)現(xiàn)有網(wǎng)絡(luò)協(xié)議和ATM、如何將ATM與傳統(tǒng)網(wǎng)絡(luò)互連,是廣大研究人員、設(shè)計(jì)人員和業(yè)者研究的課題。然而,ATM和IP源于不同的技術(shù)團(tuán)體和基礎(chǔ),有著各自的應(yīng)用。IP的目的是以不確定的狀態(tài)將分組發(fā)送到目的地,它是非連接的,沒有服務(wù)質(zhì)量的保證;而ATM的目的是提供有保證的綜合業(yè)務(wù),是面向連接的,基于快速的固定長度信元的交換。ATM和IP的巨大差異使得有效地將二者集成成為難題。
在ATM網(wǎng)絡(luò)中支持IP有兩種不同的模型,這兩種模型以不同的角度看待ATM協(xié)議層和IP的關(guān)系。
第一種是對等模型,在本質(zhì)上將ATM層看作IP的對等層,這種模型建議在ATM網(wǎng)絡(luò)中使用與基于IP的網(wǎng)絡(luò)中相同的地址方案,因此ATM端點(diǎn)將由IP地址來識別,ATM信令將攜帶這樣的地址,且ATM信令的路由也使現(xiàn)有的網(wǎng)絡(luò)層路由協(xié)議。因?yàn)槭褂昧爽F(xiàn)有的路由協(xié)議,對等模型就排除了開發(fā)新的ATM路由的需要。對等模型在簡化了端系統(tǒng)地址管理的同時(shí),很大程度上增加了ATM交換機(jī)的復(fù)雜度,因?yàn)锳TM交換機(jī)必須具有多協(xié)議路由器的功能,支持現(xiàn)有的地址方案和路由協(xié)議。此外,現(xiàn)有的路由協(xié)議是基于當(dāng)前的LAN和WAN開發(fā)的,不能很好地映射到ATM中及使用ATM的服務(wù)質(zhì)量特性。
在目前的解決方案中,IP交換和標(biāo)記交換是基于對等模型的。
另一種模型稱作子網(wǎng)或覆蓋模型,將ATM層與現(xiàn)有協(xié)議分開,定義了全新的地址體系,即現(xiàn)有協(xié)議將運(yùn)行于ATM之上。此覆蓋模型需要定義新的地址體系和相關(guān)的路由協(xié)議,所有的ATM系統(tǒng)需要同時(shí)被賦予ATM地址和它要支持的高層協(xié)議地址。ATM地址空間邏輯地與高層協(xié)議的地址空間相分隔,沒有任何相關(guān)性。因此,所有運(yùn)行于ATM子網(wǎng)上的協(xié)議需要某種ATM地址解析協(xié)議以把高層協(xié)議(如IP)地址映射到相應(yīng)的ATM地址。這種將ATM與高層協(xié)議分開的方法允許各自獨(dú)立的開發(fā),在實(shí)用的工程角度這非常重要。
在目前的解決方案中,LANE、MPOA和CLIP是基于覆蓋模型的。
二、LANE
1、如何在傳統(tǒng)LAN上運(yùn)行IP?
在傳統(tǒng)的LAN中,當(dāng)源主機(jī)想給同子網(wǎng)的目的主機(jī)發(fā)送分組時(shí),它檢查其ARP緩存看是否已經(jīng)知道與目的主機(jī)IP地址相聯(lián)系的硬件地址(MAC地址),如果已經(jīng)知道,就把帶有目的主機(jī)的IP地址和MAC地址的分組發(fā)送出去。
如果目的MAC地址未知,源主機(jī)就發(fā)送一個(gè)ARP請求分組,ARP請求是本地廣播分組,將被子網(wǎng)中所有主機(jī)接收,目的主機(jī)識別到自己的IP地址后,在ARP回應(yīng)分組中回答其MAC地址,源主機(jī)接收到ARP回應(yīng)并把它存到自己的ARP表中,現(xiàn)在源主機(jī)就可以發(fā)送含有正確的目的IP地址和MAC地址的分組了。
2、ATM LAN必須仿真什么功能?
(1)由于傳統(tǒng)LAN是介質(zhì)共享網(wǎng)絡(luò),很容易提供廣播服務(wù)并實(shí)現(xiàn)ARP,ATM網(wǎng)必須模仿這一功能,由BUS(廣播和未知服務(wù)器)實(shí)現(xiàn)。
(2)一般來說,傳統(tǒng)LAN中的每個(gè)主機(jī)都有其MAC地址和IP地址,直接連到ATM網(wǎng)的主機(jī)除了具有ATM地址外,也必須有MAC地址和IP地址。
(3)ATM主機(jī)必須提供與MAC協(xié)議給網(wǎng)絡(luò)層協(xié)議提供的接口服務(wù)相同的服務(wù),如NDIS或ODI類驅(qū)動(dòng)接口。
3、LANE如何工作?
顧名思義,LANE的功能是在ATM網(wǎng)絡(luò)上仿真LAN,LANE協(xié)議定義了仿真IEEE 802.3以太網(wǎng)或802.5令牌環(huán)網(wǎng)的機(jī)制。LANE協(xié)議定義了與現(xiàn)有LAN給網(wǎng)絡(luò)層提供的服務(wù)相同的接口,在ATM網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)以相應(yīng)的LAN MAC分組格式封裝。
每個(gè)ELAN(Emulated LAN)由一組LANE客戶(LEC)和LANE服務(wù)構(gòu)成。LEC還可以是作為ATM主機(jī)代理的網(wǎng)橋和路由器。LE服務(wù)由三個(gè)不同的功能實(shí)體構(gòu)成:LAN仿真配置服務(wù)器(LECS)、LAN服務(wù)器(LES)和BUS,這三個(gè)服務(wù)實(shí)體可以各自存在,但通常位于同一設(shè)備,例如:LES可以位于ATM交換機(jī)、路由器、網(wǎng)橋和工作站。
下面是LANE中的工作站與另一工作站通信的步驟:
(1)初始化
LEC需要知道LECS的ATM地址并與其建立連接,這通過ILMI或眾所周知(well-known)的LECS地址完成,這個(gè)過程中的任何時(shí)刻LEC都可以與手工配置的LECS地址建立雙向配置直達(dá)VCC。這個(gè)過程中,LEC將獲取該ELAN的LES的ATM地址。
(2)登記
這是LEC給LES提供地址信息,如MAC地址的機(jī)制。此過程中將在LEC和LES之間建立一對連接,即雙向點(diǎn)到點(diǎn)控制直達(dá)VCC,及單向點(diǎn)到多點(diǎn)控制分布VCC。
(3)地址解析
這是LEC從LES學(xué)習(xí)目的站點(diǎn)ATM地址的方法,由ATM地址解析協(xié)議實(shí)現(xiàn),允許LEC建立數(shù)據(jù)直達(dá)VCC以傳送幀。這時(shí)在LEC和BUS之間建立雙向點(diǎn)到點(diǎn)組播發(fā)送VCC和單向點(diǎn)到多點(diǎn)組播轉(zhuǎn)發(fā)VCC。
(4)數(shù)據(jù)傳輸
當(dāng)源站點(diǎn)和目的站點(diǎn)等待建立數(shù)據(jù)直達(dá)VCC的過渡時(shí)期里,BUS可以把幀轉(zhuǎn)發(fā)給該ELAN中的所有LEC,當(dāng)數(shù)據(jù)直達(dá)VCC建立后,通信就從原來的路由(BUS)切換到新的路由,為了保證幀的順序,信息清空協(xié)議(flush message protocol)被用以通知BUS:在開始使用新的路由傳輸幀時(shí),清空請求被發(fā)送到BUS并轉(zhuǎn)發(fā)到該ELAN中所有LEC,然后不再有幀通過BUS(舊路由),所有幀將通過數(shù)據(jù)直達(dá)VCC(新路由)發(fā)送到目的站點(diǎn)。
需要說明的是:在ATM論壇規(guī)范中描述的上述過程中,并沒有提到從IP地址到MAC地址的解析。下面是傳統(tǒng)LAN的主機(jī)與ATM主機(jī)通信的全過程:
(1)為確定目的站點(diǎn)的MAC地址,源主機(jī)廣播一個(gè)含有IP地址的ARP請求,這是任何IP網(wǎng)絡(luò)的標(biāo)準(zhǔn)過程,ARP請求到達(dá)傳統(tǒng)LAN上的LAN/ATM網(wǎng)橋。
(2)在LAN/ATM網(wǎng)橋上的LEC將廣播分組通過組播發(fā)送VCC轉(zhuǎn)發(fā)給BUS,BUS通過組播轉(zhuǎn)發(fā)VCC給ELAN中的所有成員發(fā)送ARP請求。
(3)目的站點(diǎn)收到ARP請求并識別出自己的IP地址,作為回應(yīng),它把自己的MAC地址放到ARP回應(yīng)中。因?yàn)檫@還不是到LAN/ATM網(wǎng)橋的直達(dá)VCC,目的站點(diǎn)的LEC把ARP回應(yīng)通過組播發(fā)送VCC發(fā)送給BUS,BUS通過組播發(fā)送VCC將其轉(zhuǎn)發(fā)給LAN/ATM網(wǎng)橋。
(4)LAN/ATM網(wǎng)橋通過傳統(tǒng)LAN把ARP回應(yīng)傳給源主機(jī)。
(5)這時(shí)源主機(jī)擁有了目的站點(diǎn)的MAC地址,開始通過LAN傳送數(shù)據(jù)。
(6)網(wǎng)橋通過組播發(fā)送VCC把分組傳給BUS,BUS把分組轉(zhuǎn)發(fā)到目的站點(diǎn)。
(7)同時(shí),LAN/ATM網(wǎng)橋上的LEC通過控制直達(dá)VCC向LES發(fā)送LE-ARP請求,詢問與目的站點(diǎn)的MAC地址相對應(yīng)的ATM地址,如果LES沒有該映射,則通過控制分布VCC向所有LEC發(fā)送LE-ARP請求,目的站點(diǎn)LEC收到該請求后把自己的ATM地址放進(jìn)LE-ARP回應(yīng)并通過控制直達(dá)VCC發(fā)回LES。
(8)源LEC通過控制直達(dá)VCC從LES收到LE-ARP回應(yīng),抽取ATM地址并在源和目的之間建立數(shù)據(jù)直達(dá)VCC。
(9)數(shù)據(jù)直達(dá)VCC建立后,從網(wǎng)橋傳來的分組將通過數(shù)據(jù)直達(dá)VCC傳輸,取代BUS。
4、LANE的優(yōu)點(diǎn)和局限
因?yàn)長ANE提供與現(xiàn)有MAC協(xié)議給網(wǎng)絡(luò)層提供的驅(qū)動(dòng)相同的服務(wù)接口,不需要改變該驅(qū)動(dòng),這將加速ATM的發(fā)展和應(yīng)用。但是,LANE的功能是使ATM的特性對高層協(xié)議透明,因此它使高層協(xié)議不能利用ATM固有的優(yōu)點(diǎn),尤其是其服務(wù)質(zhì)量保證。新完成的LANE2.0版為ATM端系統(tǒng)間的通信提供局部管理的服務(wù)質(zhì)量,該協(xié)議提供機(jī)制以確定是否支持期望的服務(wù)質(zhì)量。每種局部定義的服務(wù)質(zhì)量可以包含信息以指示以該服務(wù)質(zhì)量建立的VCC是否可以被其他協(xié)議或應(yīng)用所共享。
盡管LANE提供在ATM網(wǎng)絡(luò)子網(wǎng)內(nèi)橋接的有效方式,但子網(wǎng)間的業(yè)務(wù)仍需要通過路由器轉(zhuǎn)發(fā),因此,ATM路由器很可能成為瓶頸,下面談到的MPOA將解決子網(wǎng)間通信的效率問題。
三、CLIP(Classical IP over ATM)
1、原理
為了在ATM網(wǎng)絡(luò)上運(yùn)行IP,IETF采用了邏輯獨(dú)立IP子網(wǎng)(LIS)的概念。象通常的IP子網(wǎng)一樣,一個(gè)LIS包含一組連接到單一ATM網(wǎng)絡(luò)的IP節(jié)點(diǎn)(如主機(jī)或路由器),它們屬于同一IP子網(wǎng)。ATM LIS的行為很象傳統(tǒng)的IP子網(wǎng),為了在LIS內(nèi)解析節(jié)點(diǎn)的地址,每個(gè)LIS提供一個(gè)ATMARP服務(wù)器,該LIS內(nèi)的所有節(jié)點(diǎn)(LIS客戶)被配置以該ATMARP服務(wù)器的ATM地址。當(dāng)LIS中一個(gè)節(jié)點(diǎn)出現(xiàn)時(shí),它首先建立與ATMARP服務(wù)器的連接。一旦ATMARP服務(wù)器檢測到一個(gè)新的LIS客戶的連接,它就向該客戶發(fā)送一個(gè)反向ARP請求,詢問該節(jié)點(diǎn)的IP地址和ATM地址,并保存在其ATMARP表中。隨后,LIS中的任意想解析目的IP地址的節(jié)點(diǎn)將向該服務(wù)器發(fā)送ATMARP請求,如果地址映射被找到,則服務(wù)器返回ATMARP回應(yīng),否則,它返回一個(gè)ATM_NAK響應(yīng)以表示沒有該映射,服務(wù)器定期清除地址映射表,除非客戶對其周期性的反向ARP請求給予響應(yīng)。一旦LIS客戶獲取了與IP地址相對應(yīng)的ATM地址,它就可以與該地址建立連接。分組封裝和地址解析的協(xié)議分別在RFC1483和RFC1577中定義。
然而,因?yàn)镽FC1577中定義的地址解析協(xié)議保留了主機(jī)對于向子網(wǎng)外站點(diǎn)發(fā)送分組必須經(jīng)過缺省路由器的要求,所以捷徑VCC只能在同一子網(wǎng)內(nèi)的節(jié)點(diǎn)間建立,否則源站點(diǎn)必須把分組轉(zhuǎn)發(fā)給缺省路由器,即使源、目的站點(diǎn)在同一ATM網(wǎng)絡(luò)內(nèi)也是如此。這樣,ATM路由器就成了瓶頸,且服務(wù)質(zhì)量無法實(shí)現(xiàn)。
與LANE相比,RFC1577只支持IP,而不支持其它網(wǎng)絡(luò)層協(xié)議,如IPX、AppleTalk。此外,CLIP也不支持組播,這也是RFC1577的重要缺點(diǎn)。
2、CLIP的擴(kuò)展
2.1、NHRP(Next Hop Resolution Protocol)
為了在同一ATM網(wǎng)絡(luò)、不同子網(wǎng)間的站點(diǎn)間提供捷徑路由,IETF提出了名為NHRP的協(xié)議,NHRP建立在CLIP模型之上,但是用非廣播多路訪問網(wǎng)絡(luò)(NBMA)的概念取代了LIS的概念,NBMA意味著允許多個(gè)設(shè)備連到同一網(wǎng)絡(luò),但可以配置到不同的廣播域,并且支持不同LIS中主機(jī)間的直接通信。幀中繼和X.25就是NBMA網(wǎng)絡(luò)的例子。
NHRP用NHS(NHRP服務(wù)器)的概念替換ARP服務(wù)器,每個(gè)NHS中含有“下一跳解析”緩存表,其內(nèi)容為與該NHS相關(guān)的所有節(jié)點(diǎn)的IP到ATM的地址映射。節(jié)點(diǎn)配置含NHS的ATM地址,并將自己的ATM地址和IP地址用登記包在NHS登記。
協(xié)議處理過程如下:當(dāng)一個(gè)節(jié)點(diǎn)想通過NBMA網(wǎng)絡(luò)發(fā)送分組,即需要解析特定的ATM地址時(shí),它生成并向NHS發(fā)送NHRP請求包,這樣的請求以及所有的NHRP信息通過IP包發(fā)送。如果目的站點(diǎn)由該NHS服務(wù),NHS就通過NHS回應(yīng)包返回其地址,否則NHS查找其路由表以決定到達(dá)該目的的下一個(gè)NHS并轉(zhuǎn)發(fā)該請求。在下一個(gè)NHS處執(zhí)行同樣的算法直到真正知道所請求的映射的NHS,目的節(jié)點(diǎn)返回一個(gè)NHRP回應(yīng),以相反的順序經(jīng)過同樣的一系列NHS,到達(dá)請求節(jié)點(diǎn),請求節(jié)點(diǎn)就可以建立一個(gè)直接數(shù)據(jù)連接。從而可以越過子網(wǎng)邊界建立ATM VCC,使得子網(wǎng)間可以不通過路由通信。
2.2、 組播
有兩種支持組播的方法。
第一種是通過組播服務(wù)器,所有想發(fā)送組播信息的節(jié)點(diǎn)與之建立點(diǎn)到點(diǎn)的連接,它與所有接收節(jié)點(diǎn)通過點(diǎn)到多點(diǎn)連接相連。組播服務(wù)器通過該點(diǎn)到點(diǎn)連接接收數(shù)據(jù),通過點(diǎn)到多點(diǎn)連接重發(fā)數(shù)據(jù)。這種方法可以用于大型網(wǎng)絡(luò),但組播服務(wù)器可能最終成為瓶頸。
第二種方法稱為組播網(wǎng),該組中每個(gè)節(jié)點(diǎn)與其它節(jié)點(diǎn)建立點(diǎn)到多點(diǎn)連接。這樣,所有的節(jié)點(diǎn)都可以向其它節(jié)點(diǎn)發(fā)送和從它們接收數(shù)據(jù)。對于一個(gè)含N個(gè)節(jié)點(diǎn)的組來說,將需要N個(gè)點(diǎn)到多點(diǎn)連接,不適于含節(jié)點(diǎn)數(shù)目很多的組。
這兩種方法都用于Armitage建議的組播地址解析服務(wù)器(MARS)。MARS服務(wù)于一簇節(jié)點(diǎn),一簇中所有的端系統(tǒng)配置以MARS的ATM地址。當(dāng)一個(gè)端系統(tǒng)想向特定的組播群發(fā)信息時(shí),它建立與MARS的連接,發(fā)出MARS_REQUEST信息,MARS返回MARS_MULTI信息,此信息含有該組的組播服務(wù)器的地址或組成員的地址,如果該組支持組播服務(wù)器,請求節(jié)點(diǎn)就建立與該服務(wù)器的連接,將數(shù)據(jù)發(fā)送給該服務(wù)器,由該服務(wù)器將數(shù)據(jù)轉(zhuǎn)發(fā)給組中的節(jié)點(diǎn);在組播網(wǎng)方案中,請求節(jié)點(diǎn)與組中的節(jié)點(diǎn)建立點(diǎn)到多點(diǎn)連接并通過該連接發(fā)送數(shù)據(jù)。
評論