網絡概念-004 VLAN技術詳解

引言:工作中一直用VLAN和VXLAN,但是沒有形成知識體系,百度一下大神們的文章,在此整理成學習筆記。感謝大神們的無私分享,參照的主要文章鏈接如下:

http://network.51cto.com/art/201902/592347.htm

https://blog.csdn.net/dylloveyou/article/details/80107792

https://blog.51cto.com/liufei888/2071793?from=timeline&isappinstalled=0

http://virtual.51cto.com/art/201901/590900.htm


1  交換機端口工作模式簡介

      交換機端口有三種工作模式,分別是Access,Hybrid,Trunk。可以登陸到交換機中按照需要自定義端口的模式。

      Access類型的端口只能屬於1個VLAN,一般用於連接計算機的端口;

      Trunk類型的端口可以允許多個VLAN通過,可以接收和發送多個VLAN的報文,一般用於交換機之間連接的端口;

      Hybrid類型的端口可以允許多個VLAN通過,可以接收和發送多個VLAN的報文,可以用於交換機之間連接,也可以用於連接用戶的計算機。

      Hybrid端口和Trunk端口在接收數據時,處理方法是一樣的,唯一不同之處在於發送數據時:Hybrid端口可以允許多個VLAN的報文發送時不打標籤,而Trunk端口只允許缺省VLAN的報文發送時不打標籤。

2  基本概念(tag,untag,802.1Q)

      untag就是普通的ethernet報文,普通PC機的網卡是可以識別這樣的報文進行通訊;

      tag報文結構的變化是在源mac地址和目的mac地址之後,加上了4bytes的vlan信息,也就是vlan tag頭;一般來說這樣的報文普通PC機的網卡是不能識別的。

      VLAN(Virtual Local Area Network)的中文名爲"虛擬局域網"。VLAN是一種將局域網設備從邏輯上劃分成一個個網段,從而實現虛擬工作組的數據交換技術。這一技術主要應用於交換機和路由器中,但主流應用還是在交換機之中。但又不是所有交換機都具有此功能,只有VLAN協議的第二層以上交換機才具有此功能。802.1Q的標準的出現打破了虛擬網依賴於單一廠商的僵局,從一個側面推動了VLAN的迅速發展。

帶802.1Q的幀是在標準以太網幀上插入了4個字節的標識。其中包含:

  • 2個字節的協議標識符(TPID),當前置0x8100的固定值,表明該幀帶有802.1Q的標記信息。
  • 2個字節的標記控制信息(TCI),包含了三個域。
  • Priority域,佔3bits,表示報文的優先級,取值0到7,7爲最高優先級,0爲最低優先級。該域被802.1p採用。
  • 規範格式指示符(CFI)域,佔1bit,0表示規範格式,應用於以太網;1表示非規範格式,應用於Token Ring。
  • VLAN ID域,佔12bit,用於標示VLAN的歸屬。

3  交換機接口出入數據處理過程

3.1  端口接收報文時的處理:

  • Acess端口收報文:

      收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有則直接丟棄(缺省)

  • trunk端口收報文:

      收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有判斷該trunk端口是否允許該 VLAN的數據進入:如果允許則報文攜帶原有VLAN標記進行轉發,否則丟棄該報文。

  • hybrid端口收報文:

      收到一個報文,判斷是否有VLAN信息:如果沒有則打上端口的PVID,並進行交換轉發,如果有則判斷該hybrid端口是否允許該VLAN的數據進入:如果可以則轉發,否則丟棄。

      備註:PVID爲Port-base Vlan ID,也就是端口的虛擬局域網ID號,關係到端口收發數據幀時的VLAN TAG 標記。

3.2  端口發送報文時的處理

     

  • Acess端口發報文:

      將報文的VLAN信息剝離,直接發送出去

  • trunk端口發報文:

      比較端口的PVID和將要發送報文的VLAN信息,如果兩者相等則剝離VLAN信息,再發送,否則報文將攜帶原有的VLAN標記進行轉發。

  • hybrid端口發報文:

      發報文之前先判斷該VLAN在本端口的屬性,屬性分爲tag和untag兩種。

      如果是untag則剝離VLAN信息,再發送,如果是tag則比較端口的PVID和將要發送報文的VLAN信息,如果兩者相等則剝離VLAN信息,再發送,否則報文將攜帶原有的VLAN標記進行轉發。

4  舉例說明

      多交換機的情況下,VLAN是怎麼工作的呢?下圖所示的這種情況,兩個交換機VLAN相同,都是默認VLAN 1,即兩個交換機之間的聯繫同在VLAN 1之內。路由器是所有節點的出口。

      這時單播,多播和廣播數據自由傳輸,所有節點屬於同一IP地址。這時節點之間的通信不會有問題,因爲交換機的SAT顯示它們在同一VLAN。

      而下面這種連接方式就會有問題。由於VLAN在連接端口的主機之間創建了三層邊界,它們將無法通信。

      第一,所有主機都在同一IP網,儘管連接到不同的VLAN。第二,路由器在VLAN 1,因此與所有節點隔離。最後,兩臺交換機通過不同的VLAN互連。每一點都會造成通信阻礙,合在一起,網絡各元素之間會完全無法通信。

      交換機用滿或同一管理單元物理上彼此分離的情形是很常見的。這種情況下,VLAN需要通過trunk延伸至相鄰交換機。trunk能夠連接交換機,在網絡間傳載VLAN信息。如下圖所示:

對之前的拓撲的改進包括:

PC 1和PC 2分配到192.168.1.0網段以及VLAN 2。

PC 3和PC 4分配到192.168.2.0網段以及VLAN 3。

路由器接口連接到VLAN 2和VLAN 3。

交換機間通過trunk線互連。

      注意到trunk端口出現在VLAN 1,他們沒有用字母T來標識。trunk在任何VLAN都沒有成員。現在VLAN跨越多交換機,同一VLAN下的節點可以物理上位於任何地方。也就是說上圖的trunk口支持VLAN1,2,3,可以轉發這3個VLAN的數據包。

      Trunk是在兩個網絡設備之間承載多於一種VLAN的端到端的連接,將VLAN延伸至整個網絡。沒有VLAN Trunk,VLAN也不會非常有用。VLAN Trunk允許VLAN數據流在交換機間傳輸,所以設備在同一VLAN,但連接到不同交換機,能夠不通過路由器來進行通信。

      一個VLAN trunk不屬於某一特定VLAN,而是交換機和路由器間多個VLAN的通道。如下圖所示,交換機S1和S2,以及S1和S3之間的鏈路,配置爲傳輸從VLAN10,20,30以及90的數據流。該網絡沒有VLAN trunk就無法工作。

      當安裝好trunk線之後,幀在trunk線傳輸是就可以使用trunk協議來修改以太網幀。這也意味着交換機端口有不止一種操作模式。缺省情況下,所有端口都稱爲接入端口。當一個端口用於交換機間互連傳輸VLAN信息時,這種端口模式改變爲trunk,節點也路由器通常不知道VLAN的存在並使用標準以太網幀或“untagged”幀。trunk線能夠使用“tagged”幀來標記VLAN或優先級。

      因此,在trunk端口,運行trunk協議來允許幀中包含trunk信息。如下圖所示:

PC 1在經過路由表處理後向PC 2發送數據流。這兩個節點在同一VLAN但不同交換機。步驟如下:

  • 以太網幀離開PC 1到達Switch 1。
  • Switch 1的SAT表明目的地是trunk線的另一端。
  • Switch 1使用trunk協議在以太網幀中添加VLAN id。
  • 新幀離開Switch 1的trunk端口被Switch 2接收。
  • Switch 2讀取trunk id並解析trunk協議。
  • 源幀按照Switch 2的SAT轉發至目的地(端口4)。

5 VLAN的優缺點

5.1  VLAN優點

      對於規模較大的組網場景,廣播報文的泛濫對於網絡通信將會造成較大的影響。VLAN技術爲這一問題提供瞭解決方案,VLAN將同一網絡劃分爲多個邏輯上的虛擬子網,並規定當收到廣播報文時,僅僅在其所在VLAN中進行廣播從而防止廣播報文氾濫。VLAN技術在鏈路層的層次中實現了廣播域的隔離,

 

5.2  VLAN的缺點

  • 虛擬化技術的發展促使大數據、雲計算技術公司採用單個物理設備虛擬多臺虛擬機的方式來進行組網,因此對於支持VLAN的數量要求也在提升,加上VLAN技術最多支持4094個VLAN,因此已經無法滿足需求。
  • 公有云提供商的業務要求將實體網絡租借給多個不同的用戶,這些用戶對於網絡的要求有所不同,而不同用戶租借的網絡有很大的可能會出現IP地址、MAC地址的重疊,傳統的VLAN僅僅解決了同一鏈路層網絡廣播域隔離的問題,而並沒有涉及到網絡地址重疊的問題,因此需要一種新的技術來保證在多個租戶網絡中存在地址重疊的情況下依舊能有效通信的技術。

  • 虛擬化技術的出現增加了交換機的負擔,對於大型的數據中心而言,單臺交換機必須支持數十臺以上主機的通信連接才足以滿足應用需求,而虛擬化技術使得單臺主機可以虛擬化出多臺虛擬機同時運行,而每臺虛擬機都會有其唯一的MAC地址。這樣,爲了保證集羣中所有虛機可以正常通信,交換機必須保存每臺虛機的MAC地址,這樣就導致了交換機中的MAC表異常龐大,從而影響交換機的轉發性能。

      基於以上需求,VXLAN技術被提出。

      關於VXLAN技術詳情見https://blog.csdn.net/qq_35550345/article/details/87939354


轉載請註明出處,謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章