VLAN tag是什么意思?tag vlan是trunk口嗎 ?類似這樣的問題,下面就給大家詳細的解答下這個問題,幫助大家快速理解VLAN中tag的含義。
無論在傳統物理交換機、路由器,還是在Openstack Neutron網絡、SDN網絡中其工作原理仍然不會發生變化,網絡上對Vlan tag的解釋層出不窮,追本溯源還需研究其代碼的實現方式;首先來回顧一下帶有Vlan tag的Ethernet Frame封裝格式:
其4字節的Tag字段有12bit是Vlan ID位,總共支持的VLAN數為2^12。
溫馨提示:可能大部分的新手若是沒有系統的去學習交換機相關理論知識,你可能看到這些什么以太網數據幀之類的會感到云里霧里的,所以建議大家先了解相關課程,打好基礎。
針對于這樣的數據幀在我們傳統的交換機,或者Vswitch里面是怎樣被轉發的呢?下面我們用兩個例子來解釋,如下圖所示:
1和A通信,標簽如何“動作”(本例中省略Native vlan的解釋)
1).1主機發送普通的數據幀;
2).switch1收到此幀首先需要對其解封裝,查看二層幀頭部幀目的MAC地址;
3).從CAM表中查找其目的MAC地址對應的VLAN ID與接收該幀的接口對應的VLAN ID 是否相同,如果相同則找到對應的出接口,如果不同則丟棄該幀;
4).找到出接口后,打上對應的VLAN 標簽,封裝成802.1Q的幀,從Trunk接口發送出去;
5).到達switch2后,解封裝查看幀頭部的目的MAC地址;
6).從CAM表中查找其目的MAC地址對應的VLAN ID與接收該幀頭部的VLAN ID是否匹配,如果匹配,則查找對應的出接口,如果不同則丟棄該幀;
7).找到出接口后,封裝成原始的幀,從相應端口轉發出去。
注意:vlan tag動作打不打標簽不是基于接口的概念,而是基于其查表,cpu計算,背板的功能,我看過太多的文章,也聽過很多人在描述交換機轉發數據包是說的一句話“Access 口用來去標簽,Trunk口用來打標簽,”或是“Access口和Trunk口具有打標簽和剝離標簽的功能”,這樣的描述都是錯的。如果這樣做的話,交換機太傻了,這樣的代碼實現也是非常低級的。
例如:我們再看一種情況,如下圖所示:
主機1和主機2通信,問在交換機內部有打標簽和剝離標簽的動作嗎?1和2 在相同的vlan中,他們之間通信經過交換機如果需要打標簽的話,那豈不是加重交換機的計算負載嗎,所以像這樣的兩個主機在相互通信的時候,僅僅是查看CAM表,而不需要執行打標簽和剝離標簽的動作。
1.情景1:vm03 與 vm 04 通信
由于vm03 和 vm 04 分別在兩臺不同的物理服務器上,所以他們之間通信必須要經過外界物理交換機的幫助;
a. vm03 從eth0發送常規ethernet frame經過qbrccc到qvoccc;
b. br-int 上的qvoccc接收到該幀之后,開始解封裝其數據包,查看ethernet頭部的dest mac字段;
c. 因為其發送的數據是從qvoccc接收到的,而qvoccc 接口已經被劃分到vlan 20中,如下配置:
d. 所以在查看vcam表的時候,需要查看mac/vlan id是否一致,如果一致則將數據封裝成802.1Q的frame從int-br-eth1發送到br-eth1上,如果不一致則丟棄;
e. 當br-eth1 從 phy-br-eth1 接收到ethernet frame 時,首先就去查看local-vlan 到 global-vlan的一個映射表,配置如下:
發現 local_vlan=20 需要將其轉換成vlan 120 ;
f. br-eth1 將會查看其vcam表,查找frame destmac address對應的vlan id是否為120 如果是,則將其封裝成802.1Q vlan 120的frame 從對應的接口(eth1)轉發出去;
g. 物理交換機中轉發過程此處不再熬述;
h. 此frame到達vm04所在的物理機br-eth1上時,將解封裝查看幀的dest mac 字段;
i. 然后查找vcam表地址對應的vlan tag與此幀的tag是否一致,如果一致則封裝之后從相應的接口(phy-br-eth1)轉發出去,如果不一致則丟棄(此處與傳統交換機并無差異);
j. 當vm04所在物理機的br-int的int-br-eth1接收到該幀的時候,首先解封裝查看幀的dest mac 字段;
k. 繼而查看vcam表,尋找該mac地址對應的vlan id 與該幀的vlan tag 是否匹配,如果匹配執行如下操作,如果不匹配丟棄;
l. 當匹配時,br-int上將會查看local_global vlan id 映射關系,配置如下:
vlan tag=120 需要轉換成 tag 20;注意:轉換是查表的一個過程中,而不是具體的一個操作,更不是在進入接口的時候;
m. 當查詢完成映射表之后將會再一次查找vcam表,尋找轉化后的vlan id與該表中 mac地址對應的vlan id是否匹配,如果匹配則封裝成常規的frame,從相應端口轉發出去,如果不匹配則丟棄。
情景2:vm01和vm02之間通信
和我們傳統的交換機是一樣的,在這個過程中,br-int是不做任何的打標簽,彈標簽的動作,就是普通的frame之間轉發數據,此處不再熬述。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
matlab中怎么輸入對數函數?1. 在第一步中,我們需要知道在MATLAB中對數函數是用來表示對數的。在命令行窗口中輸入“help log”查看如何使用日志功能,如下圖所示。2. 第二步,如果我們要輸入以E為基的對數函數,輸入log(2.7183),可以看到結果是1,E的值大約是2.7183,如下圖所示。3. 在第三步中,輸入以2位為底的對數函數。您可以輸入log2(16),如下圖所示。4. 第...
自制洗發水怎樣才能變稠?一般洗發水里都會添加凝膠,一種透明的液體凝膠。加入凝膠會使洗發水變粘。不使用啫喱的話,一般的洗發水不會起泡,也不會發粘!這種膠水是允許在化學藥品中添加的,使用后起到豐富泡沫的作用,所以洗發水正常添加是合法的事情!自制洗發水怎樣才能變稠?可以加一點面粉,如果沒有,也可以加一點面粉起子。加幾次,加一點點,一點點。如果太稠,可以再加點水。加入面粉后,除灰去油能力更強。而且還能有一...
chinaren郵箱怎么登陸?中國人的郵件屬于搜狐的校友名單。你可以登錄搜狐網站上的校友名單,這是中國人的地址。輸入校友名單后,您可以在個人信息欄中找到您的ChinaRen電子郵件,然后單擊進入。如何看待張朝陽推出的搜狐熟人社交產品“狐友”?它會成功嗎?我想你會失敗100%。原因很簡單。社交網絡比其他領域更困難。今天,騰訊和Momo取得了成功。他們分別控制熟人和陌生人的社交網絡。其他玩家很難分得一...