思科VLAN Trunk

VLAN Trunk  (虛擬局域網中繼技術)
作用是讓連接在不同交換機上的相同VLAN中的主機互通
 
一般來說,交換機的一個端口只能承載單個VLAN的流量,如果希望一個端口承載多個VLAN 的流量,管理員就需要在交換機上使用幹道(Trunk)技術。
 
如果交換機 1 的VLAN1 中的機器要訪問交換機 2 的VLAN1中的,我們可以把兩臺交換機的級聯端口設置爲Trunk端口,這樣,當交換機把數據包從級聯口發出去的時候,會在數據包中做一個標記(TAG),以使其它交換機識別該數據包屬於哪一個VLAN,這樣,其它交換機收到這樣一個數據包後,只會將該數據包轉發到標記中指定的VLAN,從而完成了跨越交換機的VLAN內部數據傳輸。
 
 
 
Trunk:在單條物理鏈路上承載多個VLAN的流量。一般用在交換機與交換機之間。
 
Trunk運用的2種協議:
 802.1Q:基本標準的IEEE協議,屬業界標準。
 ISL(Inter-Switch Link 交換機間鏈路):Cisco專有的Trunk封裝方式。
 
 
ISL是Cisco專有技術,802.1q則是IEEE的國際標準
 
VLAN的標識:在一條中繼鏈路上發送幀時,就會在每個幀的幀頭放置一個唯一標識VLAN的ID標識號,當這條通信路上的交換機收到這個幀時,交換機就檢查這個幀的標識號,根據標識號來判斷該幀屬於哪個VLAN(帶有VLAN標記的數據幀比正常的以太網幀大。
 
兩種VLAN中繼協議:ISL和802.1Q,它們的比較如下表:
 
 
 
802.1Q是在不破壞原數據幀的情況下在中間插入了區分Vlan的信息;
ISL相當於在外面再打了一層包.在原數據幀的頭尾都加了東西。
 
因爲封裝的形式不同:
導致ISL與沒有做ISL封裝的普通數據幀無法識別,無法通信;
而802.1Q沒有破壞原數據幀結構,所以802.1Q可以與沒有做Trunk封裝的標準數據幀兼容,正常通信。
 
結論:802.1Q比ISL好用。所以儘可能的使用802.1Q封裝。而且ISL的私有性也決定了它使用的會比標準少。
 
====
802.1Q
 
採用"標記"方式,在原始數據幀的源MAC地址之後 插入4字節(32bit)的標記
 VLAN_ID: 12bit(0~4095)
注:在交換機內部進行數據幀處理時,所有vlan的數據均加tag
 
 
 
802.1Q:   VLAN Tag(4字節)
2字節:類型
3bit :優先級
1bit :CFI(令牌環網時爲1)
12bit: VLAN_ID 
         (0~4095,0/4095爲系統保留,1爲缺省VLAN,用戶 可配置VLAN爲 2~4094 )
 
====
native VLAN(本徵VLAN):
 
802.1q :無論是否標記,交換機把trunk端口所接收的第2層幀轉發到預期VLAN中
ISL:         如果幹道端口的接收幀沒有被封裝,丟棄
 
 
發送:在一個trunk端口,若需要發送某個VLAN的數據,通常都需要添加tag. 
           若該數據幀所屬的vlan等於該trunk端口的native vlan,則不加tag直接發送
 
接收:在一個trunk端口上,若接收到一個數據幀帶有tag,則按照該tag處理
      若該數據幀沒有tag,則添加該trunk端口的native vlan作爲tag.
 
802.1Q中繼端口支持來自多個VLAN的流量(有標記流量),也支持來自VLAN以外的流量(無標記流量)。802.1Q中繼端口會將無標記流量發送到本徵VLAN。
 
默認的本徵 VLAN 是 VLAN 1,可以來修改的
int f0/1
switchport trunk native vlan 3
 
 
====
ISL
 
採用"封裝"方式,原始數據幀前加26字節 ,尾部加4字節新的FCS(CRC校驗)
       VLAN_ID:15bit
若採用ISL封裝,所有的VLAN數據經過trunk鏈路時,均需要進行ISL封裝,不存在nativ VLAN概念
 
 
 
 
========
DTP(Dynamic Trunk Protocol,動態中繼協議)
 
Cisco使用DTP(Dynamic Trunk Protocol,動態中繼協議)來動態學習設備執行哪種類型的中繼。Cisco交換機默認使用DTP的desirable模式,這意味着交換機開始發送DTP消息,希望對端迴應其他DTP消息。如果迴應收到,DTP便可以偵測是否兩個交換機能夠中繼以及它們中繼的協議類型。
 
 
 
Trunk:  封裝:   802.1q   ISL
             模式:access , trunk , desirable , nonegotiate  , auto
 
 
 
DTP協商:
   a)auto方式:       被動響應DTP報文
   b)desirable方式:    主動發送DTP報文
 注1:cisco交換機的端口缺省開啓DTP協商
 注2:交換機雙方必須在同一個VTP域中,才能進行DTP協商,進入trunk狀態
 
 示例1:
  交換機A的f0/1   <------> 交換機B的f0/1
        *1)交換機A的配置
         int f0/1
         switchport mode dynamic desirable(最終:trunk)
        交換機B的配置
          int f0/1
          switchport mode dynamic desirable(最終:trunk)
     --------------------------------------------------------
        *2)交換機A的配置
         int fa/1
         switchport mode dynamic auto       (最終:trunk)
        交換機B的配置
         int fa/1
         switchport mode dynamic desirable(最終:trunk)
     --------------------------------------------------------
        *3)交換機A的配置
         int fa/1
         switchport mode dynamic auto     (最終:access)
         交換機B的配置
          int fa/1
          switchport mode dynamic auto     (最終:access)
      --------------------------------------------------------
        *4)交換機A的配置
         int fa/1
         switchport mode dynamic auto(最終:trunk)
         交換機B的配置
         int fa/1
          switchport mode trunk              (最終:trunk)
         DTP 沒關,和對方協商
     --------------------------------------------------------
         *5)交換機A的配置
          int fa/1
          switchport mode dynamic auto(最終:access)
         交換機B的配置
          int fa/1
          switchport mode trunk(最終:trunk)
          switchport nonegotiate           ------該端口不再發達DTP報文
              靜態配置端口爲trunk或access,   然後才能將DTP協議關閉,
 
  show dtp interface
====
端口配置示例
      1)配置802.1Q封裝的trunk端口 
      int fa0/1
       switchport
       switchport trunk encapsulation dot1q
       switchport mode trunk
       switchport trunk native vlan VLAN_ID
                                                                  -----封裝802.1Q時允許存在native vlan
       switchport trunk allowed vlan ……
 
       2)配置ISL 封裝的trunk端口
        int fa0/1
        switchport
        switchport trunk encapsulation isl
        switchport mode trunk
        switchport trunk allowed vlan ……
 
若接口配置爲中繼,那麼中繼類型(ISL還是802.1Q)
通過switchport trunk encapsulation命令來配置。
 
====
路由器配置中繼
 
路由器上也可以配置VLAN中繼,不過,路由器不支持DTP,所以必須手工配置,另外與路由器連接的交換機也需要手工配置中繼。
路由器的中繼配置一般使用子接口,每個子接口屬於一個VLAN。
 
可以在路由器的子接口或物理接口上配置802.1Q原始VLAN。如果在子接口上配置,則使用encapsulation dot1q vlan-id native子命令。native關鍵字表示離開此接口的幀不打標記。如果要與IP網段聯繫,還應該配置相關的IP地址。如果在物理接口上配置,則不需使用encapsulation命令,而只要配置相關IP地址可。
 
單臂路由--路由器配置
int f0/0
no shutdown
int f0/0.4
encapsulation dot1q 4 
ip address 192.168.1.254 255.255.255.0
int f0/0.5
encapsulation dot1q 5
ip address 192.168.2.254 255.255.255.0
 
====
Trunk的相關命令:
 
1)switchport | no switchport:確定該接口是交換機接口還是路由器接口
2)switchport mode:設置DTP協商參數
3)switchport trunk:如果接口處於中繼狀態,設置中繼參數
4)switchport access:如果接口處與非中繼狀態,設置非中繼的參數
5)show interface trunk:與中繼相關信息的彙總
6)show interface f1/0 trunk:對特定接口顯示中繼的詳細信息
7)show interface f1/0 switchport:對特定接口顯示非中繼詳細信息
 
====
Trunk 實驗
當一個VLAN 跨過不同的交換機時,在同一VLAN 上但是卻是在不同的交換機上的計算機進行通信時需要使用Trunk。Trunk 技術使得在一條物理線路上可以傳送多個VLAN 的信息
 
 
SW1 SW2 創建相應vlan,並把接口劃到vlan中
sw1:
vlan 2
vlan 3
int f0/1
switchport mode acc
switchport acc vlan 2
int f0/2
switchport mode access
switchport access vlan 3
 
====
配置trunk:
SW1
int f0/10
switchport trunk encanpsulation dot1q
    //以上是配置trunk 鏈路的封裝類型,同一鏈路的兩端封裝要相同。有的交換機,例如2950只能封裝dot1q,因此無需執行該命令。
 
switch mode trunk    //以上是把接口配置爲trunk
                                 
查看
show interfaces trunk
測試R1 和R3、R2 和R4 之間的通信。由於R1 和R3 在同一VLAN,
所以R1 應該能ping 通R3
 
R1#ping 192.168.13.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.13.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 60/64/70 ms
 
====
配置Native VLAN:
 
SW1:
int f0/10
switchport trunk native vlan 2
    在Trunk 鏈路上配置Native VLAN,我們把它改爲VLAN 2 了,默認是VLAN 1
 
SW2:
int f0/10
switchport trunk native vlan 2
 
在Trunk 鏈路上,數據幀會根據ISL 或者802.1Q 被重新封裝,然而如果是Native VLAN 的數據,是不會被重新封裝就在Trunk 鏈路上傳輸。很顯然鏈路兩端的Native VLAN 是要一樣的。如果不一樣,交換機會提示出錯。
 
%CDP-4-NATIVE_VLAN_MISMATCH: Native VLAN mismatch discovered on FastEthernet0/10 (2), with SW2 FastEthernet0/10 (1).
 
====
VLAN 間路由
 
在交換機上劃分VLAN 後,VLAN 間的計算機就無法通信了。VLAN 間的通信需要藉助第三層設備,我們可以使用路由器來實現這個功能,如果使用路由器通常會採用單臂路由模式。
實際上,VLAN 間的路由大多是通過三層交換機實現的,三層交換機可以看成是路由器加交換機,然而因爲採用了特殊的技術,其數據處理能力比路由器要大多。
 
單臂路由
處於不同VLAN 的計算機即使它們是在同一交換機上,它們之間的通信也必須使用路由器。可以在每個VLAN 上都有一個以太網口和路由器連接。採用這種方法,如果要實現N 個VLAN 間的通信,則路由器需要N 個以太網接口,同時也會佔用了N 個交換上的以太網接口。
單臂路由提供另外一種解決方案。路由器只需要一個以太網接口和交換機連接,交換機的這個接口設置爲Trunk 接口。在路由器上創建多個子接口和不同的VLAN 連接,子接口是路由器物理接口上的邏輯接口。
 
當交換機收到VLAN1 的計算機發送的數據幀後,從它的Trunk 接口發送數據給路由器,由於該鏈路是Trunk 鏈路,幀中帶有VLAN1的標籤,幀到了路由器後,如果數據要轉發到VLAN2 上,路由器將把數據幀的VLAN1 標籤去掉,重新用VLAN2 的標籤進行封裝,通過Trunk 鏈路發送到交換機上的Trunk 接口;交換機收到該幀,去掉VLAN2 標籤,發送給VLAN2 上的計算機,從而實現了VLAN 間的通信。
 
 
三層交換機
單臂路由實現VLAN 間的路由時轉發速率較慢,實際上在局域網內部多采用三層交換。三層交換機通常採用硬件來實現,其路由數據包的速率是普通路由器的幾十倍。從使用者的角度可以把三層交換機看成是二層交換機和路由器的組合。
 
這個虛擬的路由器和每個VLAN 都有一個接口進行連接,不過這個接口是VLAN1 或VLAN2 接口。Cisco 早些年採用的基於NetFlow 的三層交換技術;現在Cisco 主要採用CEF 技術。CEF 技術中,交換機利用路由表形成轉發信息庫(FIB),FIB 和路由表是同步的,關鍵的是它的查詢是硬件化,查詢速度快得多。除了FIB,還有鄰接表(Adjacency Table),該表和ARP 表有些類似,主要放置了第二層的封裝信息。FIB 和鄰接表都是在數據轉發之前就已經建立準備好了,這樣一有數據要轉發,交換機就能直接利用它們進行數據轉發和封裝,不需要查詢路由表和發送ARP 請求,所以VLAN 間的路由速率大大提高。
 
 
====
VLAN 間路由
 
用R1 來實現分別處於VLAN10 和VLAN20 的PC間的通信。
 
1.在SW1 SW3中劃分VLAN,並將相應的接口劃到相應的VLAN 中
SW1:
int f0/1
switchport mode access
switchport access vlan 10
int f0/2
switchport mode access
switchport access vlan 20
 
2.把交換機與交換機之間,與路由器之間上的接口配置成Trunk 接口
SW1:
int f0/10
switchport mode trunk
 
3.在路由器R1的物理以太網接口下創建子接口,並定義封裝類型
R1:
int f0/0
no shutdown
int f0/0.1
encapsulation dot1q 10                    //定義該子接口承載哪個VLAN 流量
ip add 192.168.1.254 255.255.255.0  
                                     //在子接口上配置IP 地址,這個地址就是VLAN 10 的網關了
int f0/0.2 
encasulation dot1q 20
ip add 192.168.2.254 255.255.255.0
 
4.在PC上配置IP 地址和網關,測試PC間的通信
 
====
三層交換機實驗
用SW4 來實現分別處於 VLAN 10 和 VLAN 20 的PC1 和PC2 間的通信。
 
1.配置三層交機
SW4:

ip routing

vlan 10 
vlan 20
int vlan 10
ip add 192.168.1.200 255.255.255.0
int vlan 20
ip add 192.168.2.200 255.255.255.0
 
在vlan 接口上配置IP 地址即可,VLAN 10 接口上的地址就是PC 0 ,PC 2 的網關了,VLAN 20 接口上的地址就是PC 1 ,PC 2  的網關了。
 
2.交換機之間設置爲 Trunk
SW2
int f0/20
switchport mode trunk
 
3.把PC 的網關改爲 192.168.1.200,192.168.2.200
 
tracert 192.168.2.1
ping 192.168.2.1
 
====
 
我們也可以把f0/5 和f0/6 接口作爲路由接口使用,這時它們就和路由器的以太網接口一樣了,可以在接口上配置IP 地址。如果S1 上的全部以太網都這樣設置,S1 實際上成了具有24 個以太網接口路由器了,我們不建議這樣做,這樣太浪費接口
 
int f0/10
no switchport                 //該接口不再是交換接口了,成爲了路由接口
ip address 192.168.1.1 255.255.255.0
 
 
 

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