二层和三层转发
二層轉發的機制是什么?學習線程和報文轉發線程。二層只跟MAC地址有關?與IP無關
所以在二層做IP-MAC綁定是無效的。
?
三層以太網交換機的轉發機制主要分為兩個部分:
二層轉發和三層交換。
先講二層轉發流程。
1、 MAC地址介紹
MAC地址是48 bit二進制的地址,如:00-e0-fc-00-00-06。
可以分為單播地址、多播地址和廣播地址。
單播地址:第一字節最低位為0,如:00-e0-fc-00-00-06
多播地址:第一字節最低位為1,如:01-e0-fc-00-00-06
廣播地址:48位全1,如:ff-ff-ff-ff-ff-ff
注意:
1)普通設備網卡或者路由器設備路由接口的MAC地址一定是單播的MAC地址才能保證其與其它設備的互通。
2) MAC地址是一個以太網絡設備在網絡上運行的基礎,也是鏈路層功能實現的立足點。
----------------------------------------------------------------------------------
2、?二層轉發?介紹
交換機二層的轉發特性,符合802.1D網橋協議標準。
交換機的二層轉發?涉及到兩個關鍵的線程:地址學習線程和報文轉發線程。
學習線程如下:
1)交換機接收網段上的所有數據幀,利用接收數據幀中的源MAC地址來建立MAC地址表;
2)端口移動機制?:交換機如果發現一個包文的入端口和報文中源MAC地址的所在端口不同,就產生端口移動,將MAC地址重新學習到新的端口;
3)地址老化機制?: 如果交換機在很長一段時間之內沒有收到某臺主機發出的報文,在該主機對應的MAC地址就會被刪除,等下次報文來的時候會重新學習。
注意: 老化也是根據源MAC地址?進行老化。
報文轉發線程:
1)交換機在MAC地址表中查找數據幀中的目的MAC地址,如果找到,就將該數據幀發送到相應的端口,如果找不到,就向所有的端口發送;
2)如果交換機收到的報文中源MAC地址和目的MAC地址所在的端口相同,則丟棄該報文;
3)交換機向入端口以外的其它所有端口轉發廣播報文。
3、 VLAN二層轉發?介紹
報文轉發線程:
引入了VLAN以后對二層交換機的報文轉發線程產生了如下的影響:
1)交換機在MAC地址表中查找數據幀中的目的MAC地址,如果找到(同時還要確保報文的入VLAN和出VLAN是一致的),就將該數據幀發送到相應的端口,如果找不到,就向(VLAN內)所有的端口發送;
2)如果交換機收到的報文中源MAC地址和目的MAC地址所在的端口相同,則丟棄該報文;
3)交換機向(VLAN內)入端口以外的其它所有端口轉發廣播報文。
以太網交換機上通過引入VLAN,帶來了如下的好處:
1)限制了局部的網絡流量, 在一定程度上可以提高整個網絡的處理能力。
2)虛擬的工作組,通過靈活的VLAN設置,把不同的用戶劃分到工作組內;
3)安全?性,一個VLAN內的用戶和其它VLAN內的用戶不能互訪,提高了安全性。
另外,還有常見的兩個概念VLAN的終結和透傳, 從字面意思上就可以很好的了解這兩個概念。所謂VLAN的透傳就是某個VLAN不僅在一臺交換機上有效,它還要通過某種方法延伸到別的以太網交換機上,在 別的設備上照樣有效;終結的意思及相對,某個VLAN的有效域不能再延伸到別的設備,或者不能通過某條鏈路延伸到別的設備。
VLAN透傳可以使用802.1Q技術,VLAN終結可以使用PVLAN技術。
IEEE802.1Q協議是VLAN的技術標準,主要是修改了標準的幀頭,添加了一個tag字段,其中包含了VLAN ID等VLAN信息,具體實現這里不談,如果有興趣可以看相關的標準和資料。
注意:在Trunk端口轉發報文的時候,如果報文的VLAN Tag等于端口上配置的默認VLAN ID,則該報文的Tag應該去掉,對端收到這個不帶Tag信息的報文后, 從端口的PVID獲得報文的所屬VLAN信息,因此配置的時候必須保證連接兩臺交換機之間的一條Trunk鏈路兩端的PVID設置相同。
為什么要去Tag呢?
這樣做是為了保證一般的用戶插到Trunk上以后,仍舊可以正常通信?,因為普通用戶無法識別帶有802.1Q Vlan信息的報文。
使用802.1Q技術可以很好的實現VLAN的透傳,可是有的時候需要把VLAN終結掉,也就是說這個VLAN的邊界在哪里終止,PVLAN技術可以 很好的實現這個功能,同時達到節省VLAN 的目的。cisco的PVLAN意思是private vlan,而我們的PVLAN意思是primary vlan。
這里的VLAN有兩類:Primary vlan和secondary vlan(子VLAN)。
實現了接入用戶二層報文的隔離,同時上層交換機下發的報文可以被每一個用戶接收到,簡化了配置,節省了VLAN資源。具體實現這里不談,如果有興趣可以相關資料。
下面談談三層交換流程。
用VLAN分段,隔離了VLAN間的通信,用支持VLAN的路由器(三層設備)可以建立VLAN間通信。但使用路由器來互聯企業園區網中不同的VLAN顯然不合時代的潮流。因為我們可以使用三層交換來實現。
差別1(性能):傳統的路由器基于微處理器轉發報文,靠軟件?處理,而三層交換機通過ASIC硬件來進行報文轉發,性能差別很大;
差別2(接口類型):三層交換機的接口基本都是以太網接口,沒有路由器接口類型豐富;差別3:三層交換機,還可以工作在二層模式,對某些不需路由的包文直接交換,而路由器不具有二層的功能。
首先讓我們看一下設備互通的過程:
如圖所示:交換機上劃分了兩個VLAN,在VLAN1,VLAN 2上配置了路由接口用來實現vlan1 和 vlan 2之間的互通。
A和B之間的互通(以A向B發起ping請求為例):
1) A檢查報文的目的IP地址,發現和自己在同一個網段;
2) A---->B ARP請求報文,該報文在VLAN1 內廣播;
3) B---->A ARP回應報文;
4) A---->B icmp request;
5) B---->A icmp reply;
A和C之間的互通(以A向C發起ping請求為例):
1) A檢查報文的目的IP地址,發現和自己不在同一個網段;
2) A---->switch(int vlan 1) ARP請求報文,該報文在VLAN1 內廣播;
3) 網關---->A ARP回應報文;
4) A---->switch icmp request(目的MAC是 int vlan 1的MAC,源MAC是A的MAC,目的IP是C,源IP是A);
5) switch收到報文后判斷出是三層的報文。檢查報文的目的IP地址,發現是在自己的直連網段;
6) switch(int vlan 2)---->C ARP請求報文,該報文在VLAN2 內廣播;
7) C--->switch(int vlan 2) ARP回應報文;
8) switch(int vlan 2)---->C icmp request (目的MAC是 C 的MAC,源MAC是 int vlan 2的MAC,目的IP是C,源IP是A)同步驟4)相比報文的MAC頭進行了重新的封裝, 而IP層以上的字段基本上不變;
9) C---->A icmp reply,這以后的處理同前面icmp request的過程基本相同。
以上的各步處理中,如果ARP表中已經有了相應的表項,則不會給對方發ARP請求報文。
怎么樣來區分二和三層的數據流?
3526產品是三層以太網交換機,在其處理流程中既包括了二層的處理功能,又包括了三層的處理功能。
區別二三?層轉發的?基本模型:
?
如圖所示:
三層交換機劃分了2個VLAN, A和B之間的通信是在一個VLAN內完成,對與交換機而言是二層數據流,A和C之間的通信需要跨越VLAN,是三層的數據流。
上面提到的是宏觀的方法,具體到微觀的角度,一個報文從端口進入后,Swtich設備是怎么來區分二層包文,還是三層報文的呢?
從A到B的報文由于在同一個VLAN內部,報文的目的MAC地址將是主機B的MAC地址,而從A到C的報文,要跨越VLAN,報文的目的MAC地址是設備虛接口VLAN1上的MAC地址。
因此交換機區分二三層報文的標準就是看報文的目的MAC地址是否等于交換機虛接口上的MAC地址。
以華為?3ComS3526交換機為例,三層交換機整個處理流程中分成了三個大的部分:
1)平臺軟件協議棧部分
這部分中關鍵功能有:
運行路由協議,維護路由信息表;
總結
- 上一篇: 神十四发射前神十五就准备好了:能作为救援
- 下一篇: 联想小新首款8K解码投影仪开售:送888