Anmerkung: In eckigen Klammern '[...]’ stehen weitere Inhalte oder Kommentare.
Ein Trunk wird verwendet, wenn verschiedene VLAN-Informationen über eine physische Verbindung übermittelt werden müssen.
In einem Gebäude sind in Ergdeschoss und Obergeschoss die PCs über einen Switch miteinander verbunden. Auf jeder Ebene sind weiter in jedm Switch verschiedene VLANS eingerichtet.
Vom Switch im Erdgeschoss zum dem Switch im Obergeschoss gibt es zwei physische Verbindungen zu den unterschiedlichen VLANs.
Vom Switch im Erdgeschoss gibt es zwei physische Verbindungen beider VLANs zu einem Router.
Das funktioniert alles, is jedoch nicht gut zu erweitern. Wenn man sich vorstellt, dass es deutlich mehr Etage zu versorgen gibt, müsste es damit auch deutlich mehr physische Verbindungen der Switche untereinander geben.
Hier kommt der Trunk ist Spiel. Es gibt durch den Trunk von Switch zu Switch bzw. vom Switch im Ergeschoss zum Router lediglich noch eine phyische Verbindung, über welche die Daten übertragen werden. Damit die Switche nun erkennen können, für welches VLAN eine Information vorgesehen ist, wird an das Ethernetframe ein sogenanntes 'Tag' gesetzt.
Einmal eingerichtet überträgt der Trunk dann die Informationen ver verschiedenen VLANs und anhand des 'Tag' ist zu erkennen, für welches VLAN das Datenpaket ist.
Hinweis:
Bei einem Cisco-Switch kann das Native-VLAN keine Tags erhalten.
Switchportmodi Befehlsoptionen Beschreibung access ist immer Access-Port zum Anschluss eines Endgerätes Ein Endgerät ist immer an einem Access-Port angeschlossen. trunk Es wird immer ein Trunk-Port erstellt dynamic desirable Sendet/Empfängt DTP-Frames dynamic auto Wartet auf DTP-Frames, will ein Trunk werden, sendet jedoch keine DTP-Frames
Matrix mit Kombinationsmöglichkeiten, damit ein Trunk erstellt wird. ||==================================================================|| || Verwaltungs- || access || dynamic- || trunk || dynamic || || modi || || auto || || desirable || ||==================================================================|| | access | access | access | ! nicht | access | | | | | einrichten | | |-----------------------------------------|------------|-------------| | dynamic | access | access | trunk | trunk | | auto | | | | | |-----------------------------------------|------------|-------------| | trunk | ! nicht | trunk | trunk | trunk | | | einrichten | | | | |-----------------------------------------|------------|-------------| | dynamic | access | trunk | trunk | trunk | | desirable | | | | | |--------------------------------------------------------------------|
Ein Trunk soll eingerichtet und dessen Funktionalität getestet werden.
Vorhanden und in dieser Reihenfolge untereinander verbunden sind:
Switch1[Fa0/10]--[Fa0]PC1 [Gig0/1] | | [Gig0/1] PC0[Fa0]--[Fa0/10]Switch0
Es gibt keine Konfiguration bei den Switches
sw01# sh vlan
Dies ist die Konfiguration der PCs
PC0 192.168.10.10 255.255.255.0
PC1 192.168.10.20 255.255.255.0
Die Kommunikation der PCs untereinander wird durch ein Ping erfolgreich getestet.
Grund: Es gibt keine Konfiguration der Switches.
C:\>ping 192.168.10.20 Pinging 192.168.10.20 with 32 bytes of data: Reply from 192.168.1.20 bytes=32 time<1ms TTL=128 Reply from 192.168.1.20 bytes=32 time<1ms TTL=128 Reply from 192.168.1.20 bytes=32 time<1ms TTL=128 Reply from 192.168.1.20 bytes=32 time<1ms TTL=128 Ping statistics for 192.168.10.20: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milliseconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
Switch>ena Switch#conf t Switch(config)#vlan 10 Switch(config-vlan)#name BUCHHALTUNG Switch(config-vlan)#end Switch# sh vl br VLAN Name Status Ports ---- ----------- ------ ------------------------- 1 default active Fa0/1, Fa/0/2, Fa/0/3, Fa/0/4 [...] Fa0/21, Fa0/23, Fa0/23, Fa0/24 Gib0/1, Gig0/2 10 BUCHHALTUNG active [...]
Switch#conf t Switch(config)#interface fastEthernet 0/10 Switch(config-if)#switchport access vlan 10 Switch(config)#end
Switch#sh vl br VLAN Name Status Ports ---- ----------- ------ ------------------------- 1 default active Fa0/1, Fa/0/2, Fa/0/3, Fa/0/4 [...] Fa0/21, Fa0/23, Fa0/23, Fa0/24 Gib0/1, Gig0/2 10 BUCHHALTUNG active Fa0/10 [...]
VLAN erstellen und Switchport zuweisen
Switch>ena Switch#conf t Switch(config)#vlan 10 Switch(config-vlan)#name BUCHHALTUNG Switch(config-vlan)#exit Switch(config)#interface fastEthernet 0/10 Switch(config-if)#switchport access vlan 10 Switch(config)#end Switch# Switch# sh vl br VLAN Name Status Ports ---- ----------- ------ ------------------------- 1 default active Fa0/1, Fa/0/2, Fa/0/3, Fa/0/4 [...] Fa0/21, Fa0/23, Fa0/23, Fa0/24 Gib0/1, Gig0/2 10 BUCHHALTUNG active Fa0/10 [...]
Ein Ping ist nun nicht mehr erfolgreich.
Grund
Auf Switch0 ist Fa0/10 Bestandteil von Vlan 10
Auf Switch1 ist Fa0/10 Bestandteil von Vlan 10
Die beiden Switche wissen im Moment nicht, was mit den
Ethernetframes, die ein Vlan-Tag erhalten haben, geschehen soll.
Es muss eine Verbindung, ein Trunk konfiguriert werden zwischen Gig0/1 von Switch0 zu Gig0/1 von Switch1.
Switch#sh interface gigbitEthernet 0/1 switchport Name: Gig0/1 Switchport: Enabled Administrative Mode: dynamic auto OperationalMode: static access Administrative Trunking Encapsulation: dot1q Operational Trunking Encapsulation: native Negotiation of Trunking: On Access Mode VLAN: 1 (default) Trunking native Mode VLAN: 1 (default) Voice VLAN: none [...]
'Administrative Mode: dynamic auto' und
'OperationalMode: static access' zeigen an:
Dieser Switchport und ebenfalls der von Switch1 werden keinen Trunk ergeben.
Die Einrichtung kann so erfolgen, dass beide Ports der beteiligten Switche eine Trunk ergeben oder, weil Switch0 auf 'dynamic auto' gesetzt ist, kann Switch1 so eingerichtet werden, dass der betreffende Port ein Trunk ist und dann wird der Trunk erstellt.
Wegen der besseren Übersichtlichkeit habe ich Leerzeilen eingefügt.
Die Hilfe wird immer wieder aufgerufen, um die möglichen
Kommandos zu zeigen.
Der Trunk wird von Switch1 aus aufgebaut. Switch0 ist sozusagen in Bereitschaft und wird 'auf Zuruf' einen Trunk bilden.
Switch#conf t Switch(config)#interface gigabitEthernet 0/1 Switch(config-if)#switchport ? [ruft die Hilfe auf] access Set access mode characteristics of the interface mode Set trunking mode of the interface native Set trunking native characteristics when interface is in trunking mode nonegotiate Device will not engagne in negotiation protocol in this interface port security Security related command prioritiy Set appliance 802.1p priority trunk Set trunking characteristics of the interface voice Voice appliance attributes Switch(config-if)#switchport trunk ? [ruft die Hilfe auf] allowed Set allowed native characteristics when interface ist in trunking mode native Set trunking native characteristics when interface is in trunking mode Switch(config-if)#switchport trunk mode ? [ruft die Hilfe auf] access Set trunking mode to ACCESS uncoditionally dynamic Set trunking mode to dynamically negotiate access or trunk mode trunk Set trunking mod to TRUNK unconditionally Switch(config-if)#switchport mode dynamic ? [ruft die Hilfe auf] auto Set trunking mode dynamic negotiation parameter to AUTO desirable Set trunking mode negotiation parameter to DESIRABLE [Das Kommando, den Trunk zu bilden:] Switch(config-if)#switchport mode dynamic desirable [Der Trunk wid im Hintergrund erstellt.] Switch(config-if)# %LINEPROTO-5UPDOWN: Line protocol on Interface GigagbitEthernet0/1, changed state to up %LINEPROTO-5UPDOWN: Line protocol on Interface GigagbitEthernet0/1, changed state to down %LINEPROTO-5UPDOWN: Line protocol on Interface GigagbitEthernet0/1, changed state to up [Trunkerstellung kontrollieren] Switch(config-if)#end Switch#show interfaces trunk port Mode Encapsulation Status Native vlan Gig0/1 desireable n-802.1q trunking 1 Port Vlans allowed on trunk Gig0/1 1-1005 Port Vlans allowed an active in management domain Gig0/1 1,10 Port Vlans in spannung tree forwarding state and not pruned Gig0/1 none Switch#
Der Trunk wurde von Switch1 aus erstellt. Bei Switch0 war 'dynamic auto' eingestellt. Er ist bereit, ein Trunk zu werden, sendet jedoch noch keine TCP-Frames.
Switch1 war 'dynamic desirable' eingestellt, er sendet TCP-Frames. Diese TCP-Frames wurden von Switch0 empfangen und ein Trunk wurde erstellt.
Ein Ping gelingt nun wieder.
Quelle: Tom Wechsler