VLAN間多層路由
CISCO提供多種解決方案來獲得VLAN間路由選擇的功能。
VLAN是一種端口的邏輯組合,這些端口通常屬於用於控制廣播域的大小的單個IP子網,因爲VLAN能將流量隔離到確定的廣播域和子網中,所以不同VLAN中的設備之間是不能互訪的。
交換機二層接口類型:
接入接口:承載單個VLAN流量。
幹道接口:通過使用ISL或802.1Q標記,承載多個VLAN流量。
3550和4500交換機默認使用2層接口,6500交換機默認使用3層接口。
交換機三層接口類型:
路由端口:類似普通路由器的端口
SVI(Switch Virtual interface):VLAN間路由選擇的虛擬VLAN接口,SVI即虛擬路由的VLAN接口
BVI(Bridge virtual interface):第三層虛擬網橋接口
1.路由端口:是交換機上的一種物理端口,類似於傳統路由器上配置了第三層地質的接口,與二層接入端口的區別是,路由端口不與特定VLAN相互關聯,此種端口與真正的路由端口的區別是不支持子接口。
2.SVI(交換機虛擬接口):是一種第三層接口,爲了在多層交換機上完成VLAN間路由選擇而配置的接口。SVI是一種與VLAN-ID相關聯的虛擬VLAN接口。
三層交換機VLAN間路由方式:
1.SVI:
兩臺設備分屬不同的VLAN,網關設置爲SVI接口。
2.路由接口:
3.單臂路由:
MLS:
普通的MLS是基於flow做的,稱之爲一次轉發,多次交換,基於cache的
CISCO的MLS是基於CEF的,基於拓撲式的驅動。
路由表,不能被硬件所調用,
FIB可以被硬件所調用
普通MLS和CEF的區別
show ip cef 查看FIB表
show adjacency detail 查看鄰接關係表
實際上adj表中的MAC地址,指的是源目MAC地址加上TYPE字段0800
當使用SVI口 網關的時候,MAC地址實際上是BASE的MAC地址加上端口號所形成的端口MAC地址。
多層交換的好處:能夠讓IP包的轉發速度達到接近二層交換的速度。
SW要執行多層硬件交換,路由處理器(第3層引擎)必須將有關路由選擇、交換、ACL和QOS等信息下載到硬件中。
硬件組件通常包括下列的東東:
ASIC(Application-Specific Integrated Circuit應用專用集成電路):是專爲實現某種特殊應用而開發的集成電路芯片,其功能固定,不可更改。用來實現其專門的應用時,性能絕對牛得一B。
CAM(Content Addressable Memory)內容可尋址存儲器
SW使用CAM表來存儲2層的交換表。查找時是完全匹配,如果找不到,就從其他所有端口轉發。
對於需要精確查找的表最有用。CAM表包括了vlan號,mac地址,port號。
TCAM(Ternary CAM)三重內容可尋址存儲器,只存在於三層交換機中
TCAM以線速處理ACL查找。
完全匹配區域/最長匹配區域/第一個匹配區域
對於需要最長匹配查找的表最有用。
三種三層(IP包)的轉發方式:
進程交換:
也叫軟件轉發,最原始的轉發方式。在進程轉發方式中,每一個IP包的轉發都需要CPU來處理,沒有額外的硬件組件來負責。
對於接收到的每一個IP包,都要按以下步驟來轉發:
1、找出IP包中的目標IP地址
2、按照目標IP地址在路由表中進行最長匹配查找,找到匹配的路由。
3、有必要的話,再進行路由的遞歸查找,找到相應的出接口。
4、再查找ARP表,找到去往下一跳的MAC地址。
5、重寫二層的源、目MAC地址,再從相應出接口轉發出去。
這是最傳統的轉發方式,使用這種轉發方式的路由器在做負載均衡時是基於包的負載均衡
R1(config-if)#no ip route-cache 在每個接口下關閉cache就啓用了進程交換
基於NetFlow的MLS:也叫傳統的MLS
基於網流的交換和負載均衡
MLS使用ASIC能夠對被路由的數據包執行2層重寫(S/D MAC、CRC)。
第三層引擎(路由處理器)和交換ASIC協同工作,在cache中建立第3層條目。第三層條目可以有如下三種方式:
1、只包括目的IP地址
2、包括源和目地IP地址
3、包含第四層協議信息的完整流信息
傳統MLS的工作原理:
交換機將收到的數據流中的第一個包交給三層引擎處理,後者以進程交換的方式處理(軟交換)。在對第一個包處理完畢後,在硬件交換組件中生成一個MLS條目,這個條目包含了二層的重寫信息。對於後續的數據流就可以使用硬件轉發組件直接進行轉發了。
所以這種方式被稱爲“一次路由,多次交換”,即流的第一個分組被路由器軟件路由,後續分組則被硬件轉發。
基於CEF的MLS:(Cisco Express Forwarding)
控制平面:路由處理器(第3層引擎)
數據平面:用來進行數據轉發的硬件組件
CEF是一種基於拓撲的轉發模型,它預先將所有路由信息加入FIB(Forwarding Information Base),使SW能快速查找路由信息。
CEF中包括兩個重要組件:
FIB:類似於路由表,包含了路由轉發信息。
Adjacency:存儲2層編址信息。就是ARP表的一個COPY。
第3層引擎和硬件交換組件維護一個FIB/Adjacency。
ARP Throttling(ARP抑制)必須開啓CEF才能開啓這一功能
ip routing //要開啓CEF,首先要開啓路由功能
ip cef //開啓CEF
int f0/5
no ip router-cache cef //在接口下關閉CEF
show ip cef
show cef interface s0
show adjacency [detail]
ARP Throttling(抑制)--對於啓用CEF的交換機,如果收到一組數據包,但是在自已的Adjacency表中沒有對應表項。將通過第三層引擎發出三個ARP請求(廣播包),並開始對後續的數據包進行抑制,只到收到ARP迴應才解除抑制。如果兩秒鐘以後還沒有迴應,也將解除抑制,把後續的數據包轉發給第三層引擎來重新發起ARP請求。
默認情況下CEF是基於流的負載均衡,但可以修改爲基於包的負載均衡:
R1(config-if)#ip load-sharing per-packet 打開基於包的負載均衡
集中式交換和分佈式交換:
Centralized Forwarding(集中式轉發)
在一個專用ASIC上做出轉發決策,是所有接口的樞紐。
Series:4000/6500
Distributed Forwarding(分佈式轉發)
在SW的接口或線路模塊上獨立地做出轉發決策。
Series:3550/6500(帶有分佈卡)