dot1Q tunneling

Adott az alábbi topológia, rajta a feladatokkal.

dot1q_tunneling

Cat3 és Cat4 teljesen SP eszközök. Fontos, hogy dot1q tunneling-hez Layer2-es hálózat kell az SP-n belül.

Első dolgunk, hogy ellenőrizzük, a megfelelő interface-k vannak -e összekapcsolva. Ezt CDP-vel tesszük:

Cat1#sh cdp ne | i Cat
Cat3             Fas 0/22          171           S I      WS-C3560- Fas 0/22
Cat2#sh cdp ne | i Cat
Cat4             Fas 0/22          154           S I      WS-C3560- Fas 0/22
Cat3#sh cdp ne | i Cat
Cat4             Fas 0/23          129           S I      WS-C3560- Fas 0/23
Cat1             Fas 0/22          129           S I      WS-C3560- Fas 0/22
Cat4#sh cdp ne | i Cat
Cat2             Fas 0/22          179           S I      WS-C3560- Fas 0/22
Cat3             Fas 0/23          173           S I      WS-C3560- Fas 0/23

Eddig jók vagyunk. Következő lépés, hogy az összes inter-switch kapcsolat trunk legyen, dot1q encapsulation-nel. DTP-t is letiltom. Az összes interface-nek ez lesz a konfigurációja:

interface FastEthernet0/XX 
switchport trunk encapsulation dot1q 
switchport mode trunk 
switchport nonegotiate
end

Sokan nem tudják, hogy a switchport mode trunk még nem tiltja le a DTP-t! Ehhez ki kell adnunk a switchport nonegotiate parancsot is.

Nézzük meg, hogy megvannak -e a trunk interface-k.

Cat1#sh int trunk | i trunking
Fa0/22      on               802.1q         trunking      1
Cat2#sh int trunk | i trunking
Fa0/22      on               802.1q         trunking      1
Cat3#sh int trunk | i trunking
Fa0/22      on               802.1q         trunking      1
Fa0/23      on               802.1q         trunking      1
Cat4#sh int trunk | i trunking
Fa0/22      on               802.1q         trunking      1
Fa0/23      on               802.1q         trunking      1

Ez is rendben. A VTP helyes működéséhez trunk kell a switchek között, ezért ez ezért is fontos lépés volt. VTP domain CCIE, Cat1 a szerver, a többi kliens.

Cat1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Cat1(config)#vtp domain CCIE
Domain name already set to CCIE.
Cat1(config)#vtp mode server
Device mode already VTP SERVER.
Cat1(config)#^Z
Cat1#
*Mar  1 01:41:44.280: %SYS-5-CONFIG_I: Configured from console by admin on console

Nézzük, egyeznek -e a Revision Number-ek. Ha igen, akkor a VTP jól működik.

Cat1#sh vtp status | i Revision
Configuration Revision          : 10
Cat1#
Cat2#sh vtp status | i Revision
Configuration Revision          : 10
Cat2#
Cat3#sh vtp status | i Revision
Configuration Revision          : 10
Cat3#
Cat4#sh vtp status | i Revision
Configuration Revision          : 10
Cat4#

Ez rendben. Csináljuk meg Cat1-en a 100-as VLAN-t.

Cat1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Cat1(config)#vlan 100
Cat1(config-vlan)#name QinQ
Cat1(config-vlan)#^Z
Cat1#sh vl id 100 | i Status|active
VLAN Name                             Status    Ports
100  QinQ                             active    Fa0/22

Konfiguráljuk fel a router-eket.

R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#int f0/0.14
R1(config-subif)#encapsulation dot1q 14
R1(config-subif)#ip add 14.0.0.1 255.255.255.0
R1(config-subif)#int f0/0.41
R1(config-subif)#encap dot 41
R1(config-subif)#ip add 41.0.0.1 255.255.255.0
R1(config-subif)#^Z


R2(config)#int f0/0.14
R2(config-subif)#encap dot 14
R2(config-subif)#ip add 14.0.0.4 255.255.255.0
R2(config-subif)#int f0/0.41
R2(config-subif)#encap dot1q 41
R2(config-subif)#ip add 41.0.0.4 255.255.255.0
R2(config-subif)#^Z
R2#
*Jan 13 12:20:18.736: %SYS-5-CONFIG_I: Configured from console by admin on console

Csináljuk meg a dot1q tunneling-et. Ehhez a routerhez kapcsolódó switchportokat switchport mode dot1q-tunnel módba állítjuk, és hozzá állítjuk a 100-as VLAN-t.

Cat1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Cat1(config)#int f0/1
Cat1(config-if)#swit
Cat1(config-if)#switchport mode do
Cat1(config-if)#switchport mode dot1q-tunnel
Cat1(config-if)#sw acc vl 100
Cat1(config-if)#^Z
Cat1#
Cat2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Cat2(config)#int f0/1
Cat2(config-if)#sw mode dot
Cat2(config-if)#sw acc vl 100
Cat2(config-if)#^Z
Cat2#

Nézzük, pingeli -e egymást a két router.

R1#ping 14.0.0.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 14.0.0.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms

R1#ping 41.0.0.4
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 41.0.0.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms R1#

Működik! Mindkét subinterface-n! Már csak a CDP-s task maradt. R1 és R2 lássa egymást CDP-vel. Ehhez a CDP protokollt át kell húznunk dot1q tunnellel.

Eredeti állapot:

R1#sh cdp ne
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge                  
S - Switch, H - Host, I - IGMP, r - Repeater
Device ID        Local Intrfce     Holdtme    Capability  Platform  Port ID R1#

Hm… Érdekes. Nem látja Cat1-et. Ez azért van, mert ahogy Cat1-en kiadjuk a switchport mode dotq1-tunnel parancsot, lekapcsolja az interface-n a CDP-t. Ez normál működés.

Cat1#sh run int f0/1
Building configuration...
Current configuration : 106 bytes !
 interface FastEthernet0/1  
switchport access vlan 100  
switchport mode dot1q-tunnel  
no cdp enable
end
Cat1#

Hogyan tudjuk a CDP-t tunnel-ezni? Nem nehéz. Cat1 és Cat2 Fa0/1 interface-in az alábbi parancsot adjuk ki:

Cat1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Cat1(config)#int f0/1
Cat1(config-if)#l2p
Cat1(config-if)#l2protocol-tunnel cdp
Cat1(config-if)#^Z
Cat1#
Cat2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Cat2(config)#int f0/1
Cat2(config-if)#l2
Cat2(config-if)#l2protocol-tunnel cdp
Cat2(config-if)#^Z
Cat2#

Eredmény:

R1#sh cdp ne | i R2
R2               Fas 0/0            169         R S I     1841      Fas 0/0

A dot1q tunnel lényege tehát, hogy a Service Provider felhőn keresztül Layer2 van. Gyakorlatilag az SP egy plusz VLAN headert tesz a dot1q keretünkre, amit a cél előtt levesz. Ezért a metro (vagy q-in-q) VLAN-nak léteznie kell az SP összes switchén. CDP, STP, VTP, UDLD, PAgP, LACP húzható át a felhőn.

Cat1(config-if)#l2protocol-tunnel ? 
cdp                 Cisco Discovery Protocol   
drop-threshold      Set drop threshold for protocol packets   
point-to-point      point-to-point L2 Protocol   
shutdown-threshold  Set shutdown threshold for protocol packets  
 stp                 Spanning Tree Protocol  
 vtp                 Vlan Trunking Protocol 
 <cr>

Cat1(config-if)#l2protocol-tunnel point-to-point ? 
lacp  Link Aggregation Control Protocol 
 pagp  Port Aggregation Protocol  
udld  Unidirectional Link Detection  
<cr>