亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

1 共享式以太網互連

以太網采用CSMA/CD機制,這種沖突檢測方法使得以太網可以使用共享總線型的連接方式。最初的局域網搭建采用HUB或者同軸電纜將同一網絡的主機互連起來,如圖1所示。

收藏!一文搞懂交換基礎知識

共享式以太網互連

 

HUB與同軸電纜都是典型的物理層設備,所有互連的設備位于一個沖突域中,當網絡流量較小時,沖突較少發生,利用沖突檢測機制已經可以較好的保證通信質量;但是當網絡流量增加到一定程度時,將導致沖突不斷,網絡的吞吐量受到嚴重影響,數據也可能頻繁的由于沖突而被拒絕發送。二層交換機的出現有效的解決了這個問題,大大的減小了沖突域的范圍。

2 二層交換原理

二層交換機工作在OSI模型的第二層,即數據鏈路層,它對數據包的轉發是建立在鏈路層信息——mac(Media Access Control )地址基礎之上的,它的內部一般使用稱為ASIC(Application Specific Integrated Circuit )的硬件芯片來實現轉發,同時由于是硬件轉發,其轉發性能非常高。二層交換機不同的端口發送和接收數據獨立,各端口屬于不同的沖突域,因此有效地隔離了網絡中物理層沖突域,使得通過它互連的主機(或網絡)之間不必再擔心流量大小對于數據發送沖突的影響,典型的組網結構如圖2所示。

收藏!一文搞懂交換基礎知識

多臺主機通過二層交換機互連

由于二層交換機的轉發依據是MAC地址,下面先簡單介紹一下這個概念。

2.1 MAC地址簡介

在每個以太網幀的幀頭,都包含有一個目的MAC地址和一個源MAC地址,它的作用是標志幀的源節點和目的節點的物理地址。一個MAC地址有48bit(6個字節),從應用上可以分為單播地址、組播地址、廣播地址:

(1) 單播地址:第1字節的最低位為0,比如0000-0EF3-0038,一般用于標志唯一的設備;

(2) 組播地址:第1字節的最低位為1,比如0100-5E00-0001,一般用于標志同屬一組的多個設備;

(3) 廣播地址:所有48bit全為1,即FFFF-FFFF-FFFF,它用于標志同一網段中的所有設備。

在常用的以太網幀結構中,目的、源MAC的位置如圖3所示。

 

收藏!一文搞懂交換基礎知識

常見的以太網幀結構

 

2.2 二層交換基本原理

二層交換機通過解析和學習以太網幀的源MAC來維護MAC地址與端口的對應關系(保存MAC與端口對應關系的表稱為MAC表),通過其目的MAC來查找MAC表決定向哪個端口轉發,基本流程如下:

(1) 二層交換機收到以太網幀,將其源MAC與接收端口的對應關系寫入MAC表,作為以后的二層轉發依據。如果MAC表中已有相同表項,那么就刷新該表項的老化時間。MAC表表項采取一定的老化更新機制,老化時間內未得到刷新的表項將被刪除掉;

(2) 根據以太網幀的目的MAC去查找MAC表,如果沒有找到匹配表項,那么向所有端口轉發(接收端口除外);如果目的MAC是廣播地址,那么向所有端口轉發(接收端口除外);如果能夠找到匹配表項,則向表項所示的對應端口轉發,但是如果表項所示端口與收到以太網幀的端口相同,則丟棄該幀。

從上述流程可以看出,二層交換通過維護MAC表以及根據目的MAC查表轉發,有效的利用了網絡帶寬,改善了網絡性能。圖4是一個二層交換的示例。

收藏!一文搞懂交換基礎知識

二層交換示例

 

二層交換機的MAC地址老化和刷新通常直接由硬件ASIC芯片來完成,這里順便介紹一下其通常采用的機制:

(1) 在芯片中儲存的每一個動態添加的MAC地址表項都有一個 1 bit 長度的老化標志,同時芯片有一個老化定時器用于控制地址老化;

(2) 對于新學習到的MAC地址表項,其老化標志位置1;對于已經學習到的MAC表項,如果后續有報文的源MAC與表項相同,那么將其老化標志位刷新為1;

(3) 每當芯片的老化定時器超時后,將MAC地址表中老化標志位等于1的項目,修改其老化標志位等于0;對于MAC地址表中老化標志位等于0的項目,直接刪除。

在這樣的老化更新機制下,MAC地址的實際老化時間并不是精確的,而是一個范圍:1~2倍的老化定時器時間。

二層交換機雖然能夠隔離沖突域,但是它并不能有效的劃分廣播域。因為從前面介紹的二層交換機轉發流程可以看出,廣播報文以及目的MAC查找失敗的報文會向所有端口轉發,當網絡中的主機數量增多時,這種情況會消耗大量的網絡帶寬,并且在安全性方面也帶來一系列問題。當然,通過路由器來隔離廣播域是一個辦法,但是由于路由器的高成本以及轉發性能低的特點使得這一方法應用有限。基于這些情況,二層交換中出現了VLAN技術。

2.3 支持VLAN的二層交換機

2.3.1 VLAN簡介

VLAN,即Virtual Local Area Network(虛擬局域網),遵循IEEE802.1Q標準,它在原來的以太網幀源MAC字段的后面加入了4個字節的VLAN Tag,這4字節的結構如圖5所示。

收藏!一文搞懂交換基礎知識

VLAN Tag示意圖

VLAN Tag中各字段的含義如下:

Type:取固定值0x8100,用于標志VLAN Tag;

User Priority:用戶優先級,用于流量的等級劃分;

Flag:該bit在以太網中固定取0;

VLAN-ID:取值為0~4095,用于標志不同VLAN。

由于不同VLAN之間是二層隔離的,通過將不同的主機劃分到不同的VLAN中去,就有效的控制了廣播域的范圍。我們知道,通常情況下主機發出的報文都是不帶VLAN Tag的(稱為Untagged報文),那么如何將這樣的報文劃分到某個VLAN中去呢。VLAN劃分的方法有多種,包括基于端口劃分、基于MAC劃分、基于IP劃分、基于協議劃分等等。目前,基于端口來劃分VLAN是使用最為廣泛的,也就是通過收到報文的端口來決定Untagged報文屬于哪個VLAN。當Untagged報文進入交換機內部以后,會根據VLAN劃分被加上VLAN Tag,然后進行后續轉發處理。當然,如果報文本身是帶了VLAN Tag的,就直接根據其中的VLAN ID來決定了。圖6是一個VLAN應用的示意圖。

收藏!一文搞懂交換基礎知識

VLAN應用示意圖

上圖中,兩臺二層交換機之間的鏈路一般稱為Trunk鏈路,其上傳輸的一般都是帶VLAN Tag的報文(稱為Tagged報文),這樣的報文進入交換機以后直接根據其VLAN ID來區分VLAN。

交換機引入VLAN后,帶來了以下好處:

(1) 有效控制廣播域范圍,廣播流量僅在VLAN內轉發;

(2) 配置靈活,虛擬局域網的范圍可根據需要隨時調整;

(3) 由于不同VLAN之間二層隔離,帶來了更高的安全性。

有關VLAN的內容這里不再深入討論,感興趣的同學可參考其他VLAN相關文檔。

支持VLAN的二層交換機,其二層轉發和MAC地址維護方式都發生了一定的變化,下面分別討論兩種不同的MAC地址維護方式的交換機。

2.3.2 SVL方式的二層交換機

SVL(Shared VLAN Learning)方式的二層交換機在學習MAC地址并建立MAC地址表的過程中并不附加VLAN ID,或者說它的MAC地址表是為所有VLAN共享使用的。它的二層轉發基本流程如下:

(1) 根據接收到的以太網幀的源MAC信息添加或刷新MAC地址表項;

(2) 根據目的MAC信息查找MAC地址表,如果沒有找到匹配項,那么在報文對應的VLAN內廣播;

(3) 如果找到匹配項,但是表項對應的端口并不屬于報文對應的VLAN,那么丟棄該幀;

(4) 如果找到匹配項,且表項對應的端口屬于報文對應的VLAN,那么將報文轉發到該端口,但是如果表項對應端口與收到以太網幀的端口相同,則丟棄該幀。

這種類型的二層交換機轉發與普通二層交換機轉發基本相同,只是多了轉發過程中的VLAN檢查。這樣的交換機可能遇到下述問題:位于不同VLAN的主機(或網絡設備)具有相同的MAC地址,由于SVL交換機所有VLAN共享一個MAC表,這樣對應的MAC表項中端口就會不斷的變化,而且兩個VLAN的報文轉發也會受到影響,這種情況如圖7所示。

收藏!一文搞懂交換基礎知識

SVL二層交換示意圖

 

上圖中,VLAN 10的PC A發送給PC B的報文由于MAC地址表查找結果與VLAN不符而被丟棄了;同理,當MAC B學習到PORT 2時,VLAN 20的PC D和PC C之間的通信就會出現問題。這樣,雖然不同的主機被隔離在了不同的沖突域和廣播域中,但是MAC地址卻可能導致不同VLAN的通信相互影響。

在實際應用中,SVL方式的二層交換機已經比較少見了。

2.3.3 IVL方式的二層交換機

IVL(Independent VLAN Learning)方式的交換機在學習MAC地址并建立MAC地址表的過程中同時附加VLAN ID,同一個MAC地址可以出現在不同的VLAN中,這樣的方式也可以理解為每個VLAN都有自己獨立的MAC地址表。它的二層轉發基本流程如下:

(1) 根據接收到的以太網幀的源MAC+VLAN-ID信息添加或刷新MAC地址表項;

(2) 根據目的MAC+VLAN-ID查找MAC地址表項,如果沒有找到匹配項,那么在VLAN-ID對應的VLAN內廣播;

(3) 如果能夠找到匹配表項,則向表項所示的對應端口轉發,但是如果表項所示端口與收到以太網幀的端口相同,則丟棄該幀。

SVL方式交換機上可能遇到的轉發問題,在IVL交換機中得以解決,如圖8所示。

收藏!一文搞懂交換基礎知識

IVL二層交換示意圖

IVL方式的二層交換機轉發流程更加清晰,VLAN之間不會互相影響,目前實際應用中的二層交換機大多采用這種方式。

3 三層交換基本原理

早期的網絡中一般使用二層交換機來搭建局域網,而不同局域網之間的網絡互通由路由器來完成。那時的網絡流量,局域網內部的流量占了絕大部分,而網絡間的通信訪問量比較少,使用少量路由器已經足夠應付了。通常的組網結構如圖9。

收藏!一文搞懂交換基礎知識

二層交換機+路由器組網

 

但是,隨著數據通信網絡范圍的不斷擴大,網絡業務的不斷豐富,網絡間互訪的需求越來越大,而路由器由于自身成本高、轉發性能低、端口數量少等特點無法很好的滿足網絡發展的需求。我們知道,路由器主要是通過IP轉發(三層轉發)來實現不同網絡間的互連,那么是否能夠將交換機的高性能應用到三層轉發中去呢?答案是肯定的,三層交換機就是這樣一種實現了高速三層轉發的設備。大多數三層交換機采用ASIC硬件芯片來完成轉發,ASIC芯片內部集成了IP三層轉發的功能,包括檢查IP報文頭、修改存活時間(TTL)參數、重新計算IP頭校驗和、IP包的數據鏈路封裝等等。三層交換機的組網結構如圖10所示。

收藏!一文搞懂交換基礎知識

三層交換機組網結構

 

路由器的三層轉發主要依靠CPU進行,而三層交換機的三層轉發依靠ASIC芯片完成,這就決定了兩者在轉發性能上的巨大差別。當然,三層交換機并不能完全替代路由器,路由器所具備的豐富的接口類型、良好的流量服務等級控制、強大的路由能力等仍然是三層交換機的薄弱環節。

目前的三層交換機一般是通過VLAN來劃分二層網絡并實現二層交換,同時能夠實現不同VLAN間的三層IP互訪。在討論三層交換機的轉發原理之前有必要交代一下不同網絡的主機之間互訪時的行為:

(1) 源主機在發起通信之前,將自己的IP與目的主機的IP進行比較,如果兩者位于同一網段(用網絡掩碼計算后具有相同的網絡號),那么源主機直接向目的主機發送ARP請求,在收到目的主機的ARP應答后獲得對方的物理層(MAC)地址,然后用對方MAC作為報文的目的MAC進行報文發送。位于同一VLAN(網段)中的主機互訪時屬于這種情況,這時用于互連的交換機作二層交換轉發;

(2) 當源主機判斷目的主機與自己位于不同網段時,它會通過網關(Gateway)來遞交報文,即發送ARP請求來獲取網關IP地址對應的MAC,在得到網關的ARP應答后,用網關MAC作為報文的目的MAC進行報文發送。注意,發送報文的源IP是源主機的IP,目的IP仍然是目的主機的IP。位于不同VLAN(網段)中的主機互訪時屬于這種情況,這時用于互連的交換機作三層交換轉發。

3.1 三層交換機硬件結構

為了后續討論的三層交換原理便于理解,這里簡單介紹一下三層交換機的內部結構,如圖11所示。

 

收藏!一文搞懂交換基礎知識

三層交換機硬件結構

 

根據上圖,三層交換機內部的兩大部分是ASIC和CPU,它們的作用分別如下:

(1) ASIC:完成主要的二三層轉發功能,內部包含用于二層轉發的MAC地址表以及用于IP轉發的三層轉發表;

(2) CPU:用于轉發的控制,主要維護一些軟件表項(包括軟件路由表、軟件ARP表等等),并根據軟件表項的轉發信息來配置ASIC的硬件三層轉發表。當然,CPU本身也可以完成軟件三層轉發。

從三層交換機的結構和各部分作用可以看出,真正決定高速交換轉發的是ASIC中的二三層硬件表項,而ASIC的硬件表項來源于CPU維護的軟件表項。

3.2 三層交換原理

下面分別以兩種組網情況下的主機間通信來解釋三層交換機的轉發原理。

組網1如圖12所示,通信的源、目的主機連接在同一臺三層交換機上,但它們位于不同VLAN(網段)。對于三層交換機來說,這兩臺主機都位于它的直連網段內,它們的IP對應的路由都是直連路由。

收藏!一文搞懂交換基礎知識

三層轉發組網1

上圖中標明了兩臺主機的MAC、IP地址、網關,以及三層交換機的MAC、不同VLAN配置的三層接口IP。當 PC A 向 PC B 發起ICMP請求時,流程如下:(假設三層交換機上還未建立任何硬件轉發表項)

(1) 根據前面的描述,PC A首先檢查出目的IP地址2.1.1.2(PC B)與自己不在同一網段,因此它發出請求網關地址1.1.1.1對應MAC的ARP請求;

(2) L3_SW收到PC A的ARP請求后,檢查請求報文發現被請求IP是自己的三層接口IP,因此發送ARP應答并將自己的三層接口MAC(MAC S)包含在其中。同時它還會把PC A的IP地址與MAC地址對應(1.1.1.2<==>MAC A)關系記錄到自己的ARP表項中去(因為ARP請求報文中包含了發送者的IP和MAC);

(3) PC A得到網關(L3_SW)的ARP應答后,組裝ICMP請求報文并發送,報文的目的MAC=MAC S、源MAC=MAC A、源IP=1.1.1.2、目的IP=2.1.1.2;

(4) L3_SW收到報文后,首先根據報文的源MAC+VID(即VLAN ID)更新MAC地址表。然后,根據報文的目的MAC+VID查找MAC地址表,發現匹配了自己三層接口MAC的表項。這里說明一下,三層交換機為VLAN配置三層接口IP后,會在交換芯片的MAC地址表中添加三層接口MAC+VID的表項,并且為表項的三層轉發標志置位。當報文的目的MAC匹配這樣的表項以后,說明需要作三層轉發,于是繼續查找交換芯片的三層表項;

(5) 交換芯片根據報文的目的IP去查找其三層表項,由于之前未建立任何表項,因此查找失敗,于是將報文送到CPU去進行軟件處理;

(6) CPU根據報文的目的IP去查找其軟件路由表,發現匹配了一個直連網段(PC B對應的網段),于是繼續查找其軟件ARP表,仍然查找失敗。然后L3_SW會在目的網段對應的VLAN 3的所有端口發送請求地址2.1.1.2對應MAC的ARP請求;

(7) PC B收到L3_SW發送的ARP請求后,檢查發現被請求IP是自己的IP,因此發送ARP應答并將自己的MAC(MAC B)包含在其中。同時,將L3_SW的IP與MAC的對應關系(2.1.1.1<==>MAC S)記錄到自己的ARP表中去;

(8) L3_SW收到PC B的ARP應答后,將其IP和MAC對應關系(2.1.1.2<==>MAC B)記錄到自己的ARP表中去,并將PC A的ICMP請求報文發送給PC B,報文的目的MAC修改為PC B的MAC(MAC B),源MAC修改為自己的MAC(MAC S)。同時,在交換芯片的三層表項中根據剛得到的三層轉發信息添加表項(內容包括IP、MAC、出口VLAN、出端口),這樣后續的PC A發往PC B的報文就可以通過該硬件三層表項直接轉發了;

(9) PC B收到L3_SW轉發過來的ICMP請求報文以后,回應ICMP應答給PC A。ICMP應答報文的轉發過程與前面類似,只是由于L3_SW在之前已經得到PC A的IP和MAC對應關系了,也同時在交換芯片中添加了相關三層表項,因此這個報文直接由交換芯片硬件轉發給PC A;

(10) 這樣,后續的往返報文都經過查MAC表=>查三層轉發表的過程由交換芯片直接進行硬件轉發了。

從上述流程可以看出,三層交換機正是充分利用了“一次路由(首包CPU轉發并建立三層硬件表項)、多次交換(后續包芯片硬件轉發)”的原理實現了轉發性能與三層交換的完美統一。

下面介紹另一種組網情況的三層轉發流程,如圖13所示。

 

收藏!一文搞懂交換基礎知識

三層轉發組網2

上圖中標明了兩臺主機的MAC、IP地址、網關,以及兩臺三層交換機的MAC、不同VLAN配置的三層接口IP。假設L3_SW1上配置了靜態路由:ip route 2.1.1.0 255.255.255.0 3.1.1.2;L3_SW2上配置了靜態路由:ip route 1.1.1.0 255.255.255.0 3.1.1.1。當然,路由信息也可以通過動態路由協議的交互來獲得,有關路由的知識請查閱相關文檔。

這種組網情況下的轉發過程與圖12的組網1情況是類似的,下面的流程講解中將省略部分前面已經分析過的細節內容。當PC A 向 PC B 發起ICMP請求時,流程如下:(假設三層交換機上還未建立任何硬件轉發表項)

(1) PC A首先檢查出目的IP地址2.1.1.2(PC B)與自己不在同一網段,因此它通過ARP解析得到網關地址1.1.1.1對應的MAC(MAC S1)。然后,PC A組裝ICMP請求報文并發送,報文的目的MAC=MAC S1、源MAC=MAC A、源IP=1.1.1.2、目的IP=2.1.1.2;

(2) L3_SW1收到報文后,首先根據報文的源MAC+VID更新MAC地址表。然后,根據報文的目的MAC+VID查找MAC地址表,發現匹配了自己三層接口MAC的表項,于是繼續查找芯片的三層轉發表;

(3) 由于之前未建立任何表項,因此三層轉發表查找失敗,于是將報文送到CPU去進行軟件處理;

(4) CPU根據報文的目的IP去查找其軟件路由表,發現匹配路由2.1.1.0/24,其下一跳IP地址為3.1.1.2,于是繼續查找3.1.1.2是否有對應的ARP,仍然查找失敗。然后L3_SW1在下一跳地址3.1.1.2對應的VLAN 4內發起ARP請求,并得到L3_SW2的回應,從而得到IP和MAC對應關系(3.1.1.2<==>MAC S2);

(5) L3_SW1將PC A發出的ICMP請求報文轉發給L3_SW2,報文的目的MAC修改為L3_SW2的MAC(MAC S2),源MAC修改為自己的MAC(MAC S1)。同時,將剛剛用到的轉發信息添加到交換芯片的三層轉發表中去,包括匹配的網段2.1.1.0/24、下一跳地址的MAC(MAC S2)、出口VLAN、出端口。這樣,后續發往2.1.1.2的報文就可以直接通過交換芯片硬件轉發了;

(6) L3_SW2收到報文后,與組網1中的處理類似,經過查MAC表=>查三層轉發表=>送CPU=>匹配直連路由=>ARP解析=>轉發報文同時添加硬件表項的過程,將報文轉發給PC B,此時報文的目的MAC修改為PC B的MAC(MAC B),源MAC修改為L3_SW2的MAC(MAC S2)。這樣后續發往2.1.1.2的報文就直接由交換芯片硬件轉發了;

(7) PC B收到來自PC A的ICMP請求報文后進行ICMP應答。由于在ICMP請求報文轉發的過程中,每個網段的兩端節點都已經通過ARP解析得到了對方的IP和MAC對應關系,因此應答報文的轉發完全由交換芯片完成(查MAC表=>查三層轉發表=>發送);

(8) 這樣,后續的往返報文都經過查MAC表=>查三層轉發表的過程由交換芯片直接進行硬件轉發了。

 

從上述兩種組網情況下的轉發流程可以看出,三層交換機的轉發具有以下特點:

(1) 首包通過CPU轉發,同時建立交換芯片硬件表項;后續包由交換芯片直接硬件轉發,即常說的“一次路由、多次交換”;

(2) 交換芯片的硬件轉發并不關心路由的具體下一跳IP地址是多少,硬件三層表項中只包含了目的地址(或網段)、目的IP(或下一跳IP)對應的MAC、出口VLAN、出端口;(這里說明一下,并不是所有的三層交換機的硬件三層表項都會包含“出端口”的,這一點后面會有具體介紹。)

(3) IP報文每經過一次三層轉發,它的源、目的MAC都會變化,但是源、目的IP是始終不變的。

3.3 三層交換的其他一些技術細節

在三層交換轉發中,交換芯片(ASIC)起到了至關重要的作用,因此三層交換機的性能和轉發特點主要取決于交換芯片的實現機制。在4.2節中講解的三層交換原理只是一個大致的轉發流程,對于使用了不同交換芯片的三層交換機,其硬件轉發過程中的一些細節內容是有所區別的。本節主要就硬件三層表項的結構和查表方式介紹幾種不同的實現。

3.3.1 三層表項的精確匹配和最長匹配

從前面的描述可以看出,三層轉發是必然需要路由信息的,而轉發過程中的路由選擇決定了報文的最終出口如何,三層交換機只是將這種路由功能整合到交換芯片中去了。路由選擇存在精確匹配和最長匹配兩種方式,精確匹配即目的IP地址與路由的地址信息必須完全吻合,而最長匹配則是選擇所有包含了目的地址的路由中掩碼最長的一條。

早期的三層交換機上,其交換芯片多采用精確匹配的方式,它們的硬件三層表項中只包含具體的目的IP地址,并不帶掩碼信息。比如在轉發目的IP為2.1.1.2的報文時,通過軟件查找匹配了非直連路由2.1.1.0/24,那么就將2.1.1.2的轉發信息添加到交換芯片中去,如果繼續來了目的IP為2.1.1.3的報文需要轉發,則要重新進行軟件查找,并在交換芯片中為2.1.1.3增加新的表項。這樣的選路方式和表項結構對交換芯片的硬件資源要求很高,因為芯片中集成的表項存儲空間是很有限的,如果要轉發大量目的IP地址不同的報文那么就需要添加大量的硬件表項。曾經泛濫一時的沖擊波病毒,就導致了當時大量的只支持精確匹配的三層交換機資源耗盡。因為沖擊波病毒的手段之一就是發送巨大數量的網段掃描報文,而多數三層交換機上都配置了缺省路由,這樣所有的報文在CPU軟件查找時都能夠找到匹配路由,進而針對每一個病毒報文的目的IP都需要新增硬件表項并迅速將硬件資源占滿。這樣,大部分用戶的正常數據流由于轉發資源耗盡而得不到高速處理了。

由于精確匹配方式的三層交換機的這種缺陷,后期的三層交換機增加了對最長匹配方式的支持,即硬件三層表項中可同時包含IP地址和掩碼,在查找時遵循最長匹配原則。這種類型的三層交換機,一般在軟件路由表建立時就將路由信息添加到硬件三層表中去,包括直連路由和非直連路由。對于直連路由,對應的硬件三層表項的“to CPU”標志位始終置1,報文的目的IP匹配這樣的表項以后被送往CPU處理,CPU軟件會在直連網段發送ARP請求,并將獲取的ARP信息作為主機路由添加到硬件表項中(對應的“to CPU”標志位置0),這樣后續的同樣目的IP的報文就直接通過新添的硬件表項轉發了;對于非直連路由,當下一跳地址的對應ARP信息還未獲得時,對應的硬件三層表項的“to CPU”標志位置1,報文的目的IP匹配這樣的表項以后被送往CPU處理,CPU軟件會在下一跳地址對應的直連網段發送ARP請求,并使用獲取的ARP信息中的下一跳MAC、出口VLAN等信息更新對應的硬件三層表項,然后將其“to CPU”標志位置0,這樣后續的目的IP匹配該非直連路由的報文就能夠直接通過修改后的硬件表項轉發了。

目前,大多數的三層交換機均能夠同時支持精確匹配表項和最長匹配表項,一般來說精確匹配表項對應于軟件中的ARP表,最長匹配表項對應于軟件中的直連路由和非直連路由。

3.3.2 三層表項的出口信息

在4.2節描述的交換機三層轉發流程中,曾經提到,硬件三層表項由目的IP(或網段)、目的IP(或下一跳IP)對應MAC、出口VLAN、出端口組成,采用這樣表項的三層交換芯片一般直接通過查找三層轉發表項就能夠完成轉發。這種處理機制流程簡單、轉發效率高,但是也使得CPU軟件對硬件表項的配置控制比較復雜,因為每當IP地址對應的MAC和物理端口出現變化,就必須對三層轉發表項進行更新。而在交換機上二層信息變化的可能性是比較大的,特別是交換機支持鏈路聚合、生成樹等冗余機制,所以在某些應用環境中CPU不得不經常的對三層轉發表進行更新,一旦更新出現問題(特別是出端口錯誤)必然對轉發造成嚴重的不利影響。

不過,并不是所有三層交換機的硬件三層表項都帶有出端口信息,部分交換芯片使用的硬件表項只包括目的IP(或網段)、目的IP(或下一跳IP)對應MAC、出口VLAN,從轉發流程上來說有以下變化:根據報文的目的IP查找三層轉發表后,只得到了目的IP(或下一跳IP)對應的MAC和出口VLAN;然后繼續根據MAC+VID去查找MAC地址表,并最終獲得出端口信息,如果查找MAC表失敗的話會在出口VLAN進行廣播。這樣的處理機制雖然增加了芯片處理復雜度,但是流程更加清晰合理,CPU的處理也更加簡單,因為物理出口的變化只需要反映在MAC地址表中就可以了,硬件三層表項無需頻繁更新。

這兩種處理方式的交換芯片各有優勢,不同廠商會根據成本、可靠性、產品定位等各方面因素來進行選擇,這也使得不同型號的三層交換機在同一應用環境中可能有不同的表現。

分享到:
標簽:基礎知識 交換
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定