交換機(jī)基本原理及轉(zhuǎn)發(fā)流程_第1頁(yè)
交換機(jī)基本原理及轉(zhuǎn)發(fā)流程_第2頁(yè)
交換機(jī)基本原理及轉(zhuǎn)發(fā)流程_第3頁(yè)
交換機(jī)基本原理及轉(zhuǎn)發(fā)流程_第4頁(yè)
交換機(jī)基本原理及轉(zhuǎn)發(fā)流程_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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)交換機(jī)基本原理及轉(zhuǎn)發(fā)流程本文簡(jiǎn)要介紹了三層以太網(wǎng)交換機(jī)的二三層轉(zhuǎn)發(fā)機(jī)制,主要目的是幫助讀者進(jìn)一步了解交換機(jī)的基本原理及轉(zhuǎn)發(fā)流程,以期有利于更好的從事設(shè)備維護(hù)工作和建立于進(jìn)一步學(xué)習(xí)的索引。三層以太網(wǎng)交換機(jī)的轉(zhuǎn)發(fā)機(jī)制主要分為兩個(gè)部分:二層轉(zhuǎn)發(fā)和三層交換。1. 二層轉(zhuǎn)發(fā)流程1.1. MAC地址介紹MAC地址是48 bit二進(jìn)制的地址,如:00-e0-fc-00-00-06??梢苑譃閱尾サ刂?、多播地址和廣播地址。單播地址:第一字節(jié)最低位為0,如:00-e0-fc-00-00-06多播地址:第一字節(jié)最低位為1,如:01-e0-fc-00-00-06(問(wèn)題1:以03開(kāi)頭的MAC地址是單播MAC地

2、址還是多播MAC地址)廣播地址:48位全1,如:ff-ff-ff-ff-ff-ff注意:1)普通設(shè)備網(wǎng)卡或者路由器設(shè)備路由接口的MAC地址一定是單播的MAC地址才能保證其與其它設(shè)備的互通。2)MAC地址是一個(gè)以太網(wǎng)絡(luò)設(shè)備在網(wǎng)絡(luò)上運(yùn)行的基礎(chǔ),也是鏈路層功能實(shí)現(xiàn)的立足點(diǎn)。1.2. 二層轉(zhuǎn)發(fā)介紹交換機(jī)二層的轉(zhuǎn)發(fā)特性,符合802.1D網(wǎng)橋協(xié)議標(biāo)準(zhǔn)。交換機(jī)的二層轉(zhuǎn)發(fā)涉及到兩個(gè)關(guān)鍵的線程:地址學(xué)習(xí)線程和報(bào)文轉(zhuǎn)發(fā)線程。學(xué)習(xí)線程如下:1)交換機(jī)接收網(wǎng)段上的所有數(shù)據(jù)幀,利用接收數(shù)據(jù)幀中的源MAC地址來(lái)建立MAC地址表;2)端口移動(dòng)機(jī)制:交換機(jī)如果發(fā)現(xiàn)一個(gè)包文的入端口和報(bào)文中源MAC地址的所在端口(在交換機(jī)的MA

3、C地址表中對(duì)應(yīng)的端口)不同,就產(chǎn)生端口移動(dòng),將MAC地址重新學(xué)習(xí)到新的端口;3)地址老化機(jī)制:如果交換機(jī)在很長(zhǎng)一段時(shí)間之內(nèi)沒(méi)有收到某臺(tái)主機(jī)發(fā)出的報(bào)文,在該主機(jī)對(duì)應(yīng)的MAC地址就會(huì)被刪除,等下次報(bào)文來(lái)的時(shí)候會(huì)重新學(xué)習(xí)。注意: 老化也是根據(jù)源MAC地址進(jìn)行老化。報(bào)文轉(zhuǎn)發(fā)線程:1)交換機(jī)在MAC地址表中查找數(shù)據(jù)幀中的目的MAC地址,如果找到,就將該數(shù)據(jù)幀發(fā)送到相應(yīng)的端口,如果找不到,就向所有的端口發(fā)送;2)如果交換機(jī)收到的報(bào)文中源MAC地址和目的MAC地址所在的端口相同,則丟棄該報(bào)文;3)交換機(jī)向入端口以外的其它所有端口轉(zhuǎn)發(fā)廣播報(bào)文。1.3. VLAN二層轉(zhuǎn)發(fā)介紹報(bào)文轉(zhuǎn)發(fā)線程:引入了VLAN以后對(duì)二

4、層交換機(jī)的報(bào)文轉(zhuǎn)發(fā)線程產(chǎn)生了如下的影響:1)交換機(jī)在MAC地址表中查找數(shù)據(jù)幀中的目的MAC地址,如果找到(同時(shí)還要確保報(bào)文的入VLAN和出VLAN是一致的),就將該數(shù)據(jù)幀發(fā)送到相應(yīng)的端口,如果找不到,就向(VLAN內(nèi))所有的端口發(fā)送;2)如果交換機(jī)收到的報(bào)文中源MAC地址和目的MAC地址所在的端口相同,則丟棄該報(bào)文;3)交換機(jī)向(VLAN內(nèi))入端口以外的其它所有端口轉(zhuǎn)發(fā)廣播報(bào)文。以太網(wǎng)交換機(jī)上通過(guò)引入VLAN,帶來(lái)了如下的好處:1)限制了局部的網(wǎng)絡(luò)流量, 在一定程度上可以提高整個(gè)網(wǎng)絡(luò)的處理能力。2)虛擬的工作組,通過(guò)靈活的VLAN設(shè)置,把不同的用戶劃分到工作組內(nèi);3)安全性,一個(gè)VLAN內(nèi)的用

5、戶和其它VLAN內(nèi)的用戶不能互訪,提高了安全性。另外,還有常見(jiàn)的兩個(gè)概念VLAN的終結(jié)和透?jìng)鳎?從字面意思上就可以很好的了解這兩個(gè)概念。所謂VLAN的透?jìng)骶褪悄硞€(gè)VLAN不僅在一臺(tái)交換機(jī)上有效,它還要通過(guò)某種方法延伸到別的以太網(wǎng)交換機(jī)上,在別的設(shè)備上照樣有效;終結(jié)的意思及相對(duì),某個(gè)VLAN的有效域不能再延伸到別的設(shè)備,或者不能通過(guò)某條鏈路延伸到別的設(shè)備。VLAN透?jìng)骺梢允褂?02.1Q技術(shù),VLAN終結(jié)可以使用PVLAN技術(shù)。IEEE802.1Q協(xié)議是VLAN的技術(shù)標(biāo)準(zhǔn),主要是修改了標(biāo)準(zhǔn)的幀頭,添加了一個(gè)tag字段,其中包含了VLAN ID等VLAN信息,具體實(shí)現(xiàn)這里不談,如果有興趣可以看相關(guān)

6、的標(biāo)準(zhǔn)和資料。注意:在Trunk端口轉(zhuǎn)發(fā)報(bào)文的時(shí)候,如果報(bào)文的VLAN Tag等于端口上配置的默認(rèn)VLAN ID,則該報(bào)文的Tag應(yīng)該去掉,對(duì)端收到這個(gè)不帶Tag信息的報(bào)文后, 從端口的PVID獲得報(bào)文的所屬VLAN信息,因此配置的時(shí)候必須保證連接兩臺(tái)交換機(jī)之間的一條Trunk鏈路兩端的PVID設(shè)置相同。為什么要去Tag呢?這樣做是為了保證一般的用戶插到Trunk上以后,仍舊可以正常通信,因?yàn)槠胀ㄓ脩魺o(wú)法識(shí)別帶有802.1Q Vlan信息的報(bào)文。使用802.1Q技術(shù)可以很好的實(shí)現(xiàn)VLAN的透?jìng)鳎墒怯械臅r(shí)候需要把VLAN終結(jié)掉,也就是說(shuō)這個(gè)VLAN的邊界在哪里終止,PVLAN技術(shù)可以很好的實(shí)現(xiàn)

7、這個(gè)功能, 同時(shí)達(dá)到節(jié)省VLAN 的目的。cisco的PVLAN意思是private vlan,而我們的PVLAN意思是primary vlan。這里的VLAN有兩類:Primary vlan和secondary vlan(子VLAN)。實(shí)現(xiàn)了接入用戶二層報(bào)文的隔離,同時(shí)上層交換機(jī)下發(fā)的報(bào)文可以被每一個(gè)用戶接收到,簡(jiǎn)化了配置,節(jié)省了VLAN資源。具體實(shí)現(xiàn)這里不談,如果有興趣可以相關(guān)資料。2. 三層交換流程用VLAN分段,隔離了VLAN間的通信,用支持VLAN的路由器(三層設(shè)備)可以建立VLAN間通信。但使用路由器來(lái)互聯(lián)企業(yè)園區(qū)網(wǎng)中不同的VLAN顯然不合時(shí)代的潮流。因?yàn)槲覀兛梢允褂萌龑咏粨Q來(lái)實(shí)現(xiàn)

8、。差別1(性能):傳統(tǒng)的路由器基于微處理器轉(zhuǎn)發(fā)報(bào)文,靠軟件處理,而三層交換機(jī)通過(guò)ASIC硬件來(lái)進(jìn)行報(bào)文轉(zhuǎn)發(fā),性能差別很大;差別2(接口類型):三層交換機(jī)的接口基本都是以太網(wǎng)接口,沒(méi)有路由器接口類型豐富;差別3:三層交換機(jī),還可以工作在二層模式,對(duì)某些不需路由的包文直接交換,而路由器不具有二層的功能。首先讓我們看一下設(shè)備互通的過(guò)程:如圖所示:交換機(jī)上劃分了兩個(gè)VLAN,在VLAN1,VLAN 2上配置了路由接口用來(lái)實(shí)現(xiàn)vlan1 和 vlan 2之間的互通。A和B之間的互通(以A向B發(fā)起ping請(qǐng)求為例):1) A檢查報(bào)文的目的IP地址,發(fā)現(xiàn)和自己在同一個(gè)網(wǎng)段;2) A->B ARP請(qǐng)求報(bào)

9、文,該報(bào)文在VLAN1 內(nèi)廣播;3) B->A ARP回應(yīng)報(bào)文;4) A->B icmp request;5) B->A icmp reply;A和C之間的互通(以A向C發(fā)起ping請(qǐng)求為例):1) A檢查報(bào)文的目的IP地址,發(fā)現(xiàn)和自己不在同一個(gè)網(wǎng)段;2) A->switch(int vlan 1)ARP請(qǐng)求報(bào)文,該報(bào)文在VLAN1 內(nèi)廣播;3) 網(wǎng)關(guān)->A ARP回應(yīng)報(bào)文;4) A->switch icmp request(目的MAC是 int vlan 1的MAC,源MAC是A的MAC,目的IP是C,源IP是A);5) switch收到報(bào)文后判斷出是三層

10、的報(bào)文。檢查報(bào)文的目的IP地址,發(fā)現(xiàn)是在自己的直連網(wǎng)段;6) switch(int vlan 2)->C ARP請(qǐng)求報(bào)文,該報(bào)文在VLAN2 內(nèi)廣播;7) C->switch(int vlan 2) ARP回應(yīng)報(bào)文;8) switch(int vlan 2)->C icmp request (目的MAC是 C 的MAC,源MAC是 int vlan 2的MAC,目的IP是C,源IP是A)同步驟4)相比報(bào)文的MAC頭進(jìn)行了重新的封裝, 而IP層以上的字段基本上不變;9) C->A icmp reply,這以后的處理同前面icmp request的過(guò)程基本相同。以上的各步處

11、理中,如果ARP表中已經(jīng)有了相應(yīng)的表項(xiàng),則不會(huì)給對(duì)方發(fā)ARP請(qǐng)求報(bào)文。怎么樣來(lái)區(qū)分二和三層的數(shù)據(jù)流?3526產(chǎn)品是三層以太網(wǎng)交換機(jī),在其處理流程中既包括了二層的處理功能,又包括了三層的處理功能。區(qū)別二三層轉(zhuǎn)發(fā)的基本模型:如圖所示:三層交換機(jī)劃分了2個(gè)VLAN, A和B之間的通信是在一個(gè)VLAN內(nèi)完成,對(duì)與交換機(jī)而言是二層數(shù)據(jù)流,A和C之間的通信需要跨越VLAN,是三層的數(shù)據(jù)流。上面提到的是宏觀的方法,具體到微觀的角度,一個(gè)報(bào)文從端口進(jìn)入后,Swtich設(shè)備是怎么來(lái)區(qū)分二層包文,還是三層報(bào)文的呢?從A到B的報(bào)文由于在同一個(gè)VLAN內(nèi)部, 報(bào)文的目的MAC地址將是主機(jī)B的MAC地址,而從A到C的報(bào)

12、文,要跨越VLAN,報(bào)文的目的MAC地址是設(shè)備虛接口VLAN1上的MAC地址。因此交換機(jī)區(qū)分二三層報(bào)文的標(biāo)準(zhǔn)就是看報(bào)文的目的MAC地址是否等于交換機(jī)虛接口上的MAC地址。以S3526交換機(jī)為例,三層交換機(jī)整個(gè)處理流程中分成了三個(gè)大的部分:1)平臺(tái)軟件協(xié)議棧部分這部分中關(guān)鍵功能有:運(yùn)行路由協(xié)議,維護(hù)路由信息表;IP 協(xié)議棧功能,在整個(gè)系統(tǒng)的處理流程中,這部分擔(dān)負(fù)著重要的功能,當(dāng)硬件不能完成報(bào)文轉(zhuǎn)發(fā)的時(shí)候,這部分可以代替硬件來(lái)完成報(bào)文的三層轉(zhuǎn)發(fā)。另外對(duì)交換機(jī)進(jìn)行telnet, ping, ftp,snmp的數(shù)據(jù)流都是在這部分來(lái)處理。舉例:show ip route:Routing Tables:D

13、estination/Mask Proto Pre Metric Nexthop Interface 60 0 VLAN-Interface2 0 0 VLAN-Interface1 0 0 InLoopBack0 Direct 0 0 0 VLAN-Interface2 0 0 InLoopBack0 Direct 0 0 InLoopBack0 Direct 0 0 InLoopBack0 維護(hù)ARP表show arp: IpAddres

14、s Mac_Address VLAN ID Port Name Type 00e0.fc00.5518 2 GigabitEthernet2/1 Dynamic5 0010.b555.f039 1 Ethernet0/9 Dynamic0 0800.20aa.f41d 1 Ethernet0/10 Dynamic37 0010.a4aa.fce6 1 Ethernet0/12 Dynamic 1 Ethernet0/8 Dynamic2)硬件處理流程主要的表項(xiàng)是:二層MAC地址表,和三層的ip fdb表,

15、這兩個(gè)表中用于保存轉(zhuǎn)發(fā)信息,在轉(zhuǎn)發(fā)信息比較全的情況下,報(bào)文的轉(zhuǎn)發(fā)和處理全部由硬件來(lái)完成處理,不需要軟件的干預(yù)。 這兩個(gè)表的功能是獨(dú)立的,沒(méi)有相互的關(guān)系,因?yàn)橐粋€(gè)報(bào)文只要一進(jìn)入交換機(jī),硬件就會(huì)區(qū)分出這個(gè)包是二層還是三層。非此即彼。例如:show mac all:MAC ADDR VLAN ID STATE PORT INDEX AGING TIME(s)0000.21cf.73f4 1 Learned Ethernet0/19 2660002.557c.5a79 1 Learned Ethernet0/12 2250004.7673.0b38 1 Learned Ethernet0/9 2620

16、005.5d04.9648 1 Learned Ethernet0/16 2320005.5df5.9f64 1 Learned Ethernet0/16 300MAC地址表是精確匹配的IVL方式, 其中關(guān)鍵的參數(shù)是:Vlan ID, Port index。例如:show ipfdb all:0: System 1: Learned 2: UsrCfg Age 3: UsrCfg noAge Other: ErrorIp Address RtIf Vtag VTValid Port Mac Status7 2 2 Invalid GigabitEthernet2/1 00-

17、e0-fc-00-55-18 8 2 2 Invalid GigabitEthernet2/1 00-e0-fc-00-55-18 2 2 Invalid GigabitEthernet2/1 00-e0-fc-00-55-18 00 2 2 Invalid GigabitEthernet2/1 00-e0-fc-00-55-18 03 2 2 Invalid GigabitEthernet2/1 00-e0-fc-00-55-18 06 2 2 Invalid GigabitE

18、thernet2/1 00-e0-fc-00-55-18 2路由接口索引(RtIf):該索引用來(lái)確定該轉(zhuǎn)發(fā)表項(xiàng)位于哪個(gè)路由接口下面,對(duì)3526產(chǎn)品來(lái)講,支持的路由接口數(shù)目是32;Vlan tag: 該值用來(lái)表明所處的VLAN,該VLAN和路由接口是對(duì)應(yīng)的;Vlan tag有效位(VTValid):用來(lái)標(biāo)識(shí)轉(zhuǎn)發(fā)出去的報(bào)文中是否需要插入Vlan tag標(biāo)記。端口索引(Port):用來(lái)說(shuō)明該轉(zhuǎn)發(fā)表項(xiàng)的出端口;下一跳MAC:三層設(shè)備每完成一跳的轉(zhuǎn)發(fā),會(huì)重新封裝報(bào)文中的MAC頭,硬件ASIC芯片一般依據(jù)這個(gè)域里面的數(shù)值來(lái)封裝報(bào)文頭。兩個(gè)重要的概念:解析,未解析,每次收到報(bào)文,ASIC都會(huì)從其中提取出源和

19、目的地址在MAC Table或者 IP Fdb Table中進(jìn)行查找,如果地址在轉(zhuǎn)發(fā)表中可以找到,則認(rèn)為該地址是解析的,如果找不到,則認(rèn)為該地址是未解析的。根據(jù)這個(gè)地址是源,還是目的,還可以有源解析,目的未解析等等的組合。對(duì)于二層未解析,硬件本身可以將該報(bào)文在VLAN內(nèi)廣播,但是對(duì)于三層報(bào)文地址的未解析報(bào)文硬件本身則不對(duì)該報(bào)文進(jìn)行任何的處理,而產(chǎn)生CPU中斷,靠軟件來(lái)處理。硬件部分的處理可以用這句話來(lái)描述:收到報(bào)文后,判斷該報(bào)文是二或是三層報(bào)文,然后判斷其中的源,目的地址是否已經(jīng)解析,如果已經(jīng)解析,則硬件完成該報(bào)文的轉(zhuǎn)發(fā),如果是未解析的情況,則產(chǎn)生CPU中斷,靠軟件來(lái)學(xué)習(xí)該未解析的地址。3)驅(qū)動(dòng)代碼部分其中關(guān)鍵的核心有:地址解析任務(wù):在該任務(wù)中對(duì)已經(jīng)報(bào)上來(lái)的未解析的地址進(jìn)行學(xué)習(xí),以便硬件完成后續(xù)的報(bào)文的轉(zhuǎn)發(fā)而不需軟件干預(yù)。地址管理任務(wù):為了便于軟件管理和維護(hù),軟件部分保存了一份同硬件中轉(zhuǎn)發(fā)表相同的地址表copy。fib(forwarding information base)表: 這個(gè)表的信息來(lái)源于ip route table中的路由信息,之所以把它放在了driver部分, 是為了地址解析任務(wù)在學(xué)IP地址時(shí)查找的方便。

溫馨提示

  • 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)論