- 検証テーマ
- 使用環境
- 動作検証
- 【ケース1】 SW1:Dynamic Desirable SW2:Dynamic Desirable
- 【ケース2】 SW1:Dynamic Desirable SW2:Dynamic auto
- 【ケース3】 SW1:Dynamic Auto SW2:Dynamic Auto
- 【ケース4】 SW1:Dynamic auto SW2:Trunk
- 【ケース5】 SW1:Dynamic auto SW2:Trunk+switchport nonegotiation
- 【ケース6】 SW1:Dynamic Desirable SW2:Access
- 【ケース7】 SW1:Dynamic Desirable SW2:Trunk
- 【ケース8】 SW1:Access SW2:Trunk
- DTPでのポイント
- そのた
検証テーマ
Cisco DTP Auto / Desirable / Nonegotiate それぞれの組み合わせでの動作検証を行う
| Case | SW1 Mode | SW2 Mode | 動作モード | 補足 |
|---|---|---|---|---|
| 1 | dynamic desirable | dynamic desirable | Trunk | 両側がアクティブにDTP送信 |
| 2 | dynamic desirable | dynamic auto | Trunk | Desirable側が主導 |
| 3 | dynamic auto | dynamic auto | Access | 両側受動のためTrunk不成立 |
| 4 | dynamic auto | trunk | Trunk | trunk固定が優先 |
| 5 | dynamic auto | trunk + nonegotiate | 不一致 | DTP停止により交渉不可 |
| 6 | dynamic desirable | access | Access | access固定が優先 |
| 7 | dynamic desirable | trunk | Trunk | trunk動作 |
| 8 | access | trunk | 不一致 | 強制Trunk(セキュリティ注意) |
DTP(Dynamic Trunking Protocol)とは
- Cisco独自のプロトコル
- 動的にトランクかアクセスポートを設定する
- デフォルトで30秒ごとにマルチキャスト(01:00:5E:xxxx)宛にDTPフレームを送信
- 静的な設定としてTrunk,Accessのモードがある
- 動的な設定としてDynamic Desirable,Dynamic autoのモードがある
- Access以外はDTPフレームを送信する
- VTPドメインが一致している時のみ利用可能
設定ごとの組み合わせは下記の通りとなる
| SW1\SW2 | desirable | auto | trunk | access |
|---|---|---|---|---|
| desirable | trunk | trunk | trunk | access |
| auto | trunk | access | trunk | access |
| trunk | trunk | trunk | trunk | – |
| access | access | access | – | access |
使用環境
環境:CML
機種:IOSvL2
構成検証構成
動作検証
各動作モード毎の検証内容を下記へ示す。
なおVLANはデフォルトの状態(VLAN1のみ)、TrunkモードはIEEE802.1Qとしている
【ケース1】 SW1:Dynamic Desirable SW2:Dynamic Desirable
設定内容
SW1#show running-config int gigabitEthernet 0/0
Building configuration...
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode dynamic desirable
negotiation auto
end
SW2#show running-config int gigabitEthernet 0/0
Building configuration...
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode dynamic desirable
negotiation auto
end
動作モード確認 SW1:Dynamic Desirable SW2:Dynamic Desirable
※ケース1のみshowコマンドを省略なしで表示、ケース2以降は動作モードが判別できる箇所のみへ省略する
■SW1
SW1#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi0/0 desirable 802.1q trunking 1
Port Vlans allowed on trunk
Gi0/0 1-4094
Port Vlans allowed and active in management domain
Gi0/0 1
Port Vlans in spanning tree forwarding state and not pruned
Gi0/0 1
SW1#show int gigabitEthernet 0/0 switchport
Name: Gi0/0
Switchport: Enabled
Administrative Mode: dynamic desirable
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: On
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk Native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk associations: none
Administrative private-vlan trunk mappings: none
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL
Protected: false
Appliance trust: none
■SW2
SW2#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi0/0 desirable 802.1q trunking 1
Port Vlans allowed on trunk
Gi0/0 1-4094
Port Vlans allowed and active in management domain
Gi0/0 1
Port Vlans in spanning tree forwarding state and not pruned
Gi0/0 1
SW2#show interfaces gigabitEthernet 0/0 switchport
Name: Gi0/0
Switchport: Enabled
Administrative Mode: dynamic desirable
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: On
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk Native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk associations: none
Administrative private-vlan trunk mappings: none
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL
Protected: false
Appliance trust: none
ケース1結果 SW1:Dynamic Desirable SW2:Dynamic Desirable
結果:Dynamic Desirable 同士では自動的に Trunk が確立される。
【ケース2】 SW1:Dynamic Desirable SW2:Dynamic auto
SW1#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode dynamic desirable
negotiation auto
end
SW2#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
negotiation auto
end
動作モード確認 SW1:Dynamic Desirable SW2:Dynamic Auto
■SW1
SW1#show interfaces trunk | inc 802
Gi0/0 desirable 802.1q trunking 1
SW1#$itEthernet 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: dynamic desirable
Operational Mode: trunk
■SW2
SW2#show interfaces trunk | inc 802
Gi0/0 auto 802.1q trunking 1
SW2#$itEthernet 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: dynamic auto
Operational Mode: trunk
ケース2結果 SW1:Dynamic Desirable SW2:Dynamic Auto
結果:Dynamic Desirable ,Dynamic Autoでは自動的に Trunk が確立される。
【ケース3】 SW1:Dynamic Auto SW2:Dynamic Auto
SW1#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
negotiation auto
end
SW2#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
negotiation auto
end
※デフォルトのモードのため通常は「switchport mode dynamic auto」は表示されない
動作モード確認 SW1:Dynamic Auto SW2:Dynamic Auto
■SW1
SW1#show interfaces trunk | inc 802
SW1#$itEthernet 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: dynamic auto
Operational Mode: static access
■SW2
SW2#show interfaces trunk | inc 802
SW2#$itEthernet 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: dynamic auto
Operational Mode: static access
ケース3結果 SW1:Dynamic Auto SW2:Dynamic Auto
結果:Dynamic Auto ,Dynamic Autoでは静的にaccess モードとなる。
【ケース4】 SW1:Dynamic auto SW2:Trunk
SW1#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
negotiation auto
end
SW2#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode trunk
negotiation auto
end
動作モード確認 SW1:Dynamic Auto SW2:Trunk
■SW1
SW2#sh int trunk
Port Mode Encapsulation Status Native vlan
Gi0/0 auto 802.1q trunking 1
SW1#sh int gi 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: dynamic auto
Operational Mode: trunk
■SW2
SW2#sh int trunk
Port Mode Encapsulation Status Native vlan
Gi0/0 on 802.1q trunking 1
SW2#show int gi 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: trunk
Operational Mode: trunk
ケース4結果 SW1:Dynamic Auto SW2:Trunk
結果:Dynamic Auto ,Trunkでは自動的に Trunk が確立される。
【ケース5】 SW1:Dynamic auto SW2:Trunk+switchport nonegotiation
SW1#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
negotiation auto
end
SW2#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode trunk
switchport nonegotiate
negotiation auto
end
動作モード確認 SW1:Dynamic auto SW2:Trunk+switchport nonegotiation
■SW1
SW1#show interfaces trunk
SW1#
SW1#sh int gi 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: dynamic auto
Operational Mode: static access
■SW2
SW2#sh int trunk
Port Mode Encapsulation Status Native vlan
Gi0/0 on 802.1q trunking 1
SW2#show int gi 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: trunk
Operational Mode: trunk
ケース5結果 SW1:Dynamic auto SW2:Trunk+switchport nonegotiation
結果:Dynamic Auto ,Trunk+no negotiationではautoのSWはaccess,Trunk設定のSWはTrunkでの動作となり、動作モード不一致となる
これは「switchport nonegotiation」でDTPフレームの送信を止めたため、auto側でネゴシエーションができずにaccessのままとなったためである
※なお、インターフェスに「negotiation auto」の記載もあるが、これはEtherChannelのネゴシエーション用のコマンドのため注意すること
【ケース6】 SW1:Dynamic Desirable SW2:Access
SW1#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode dynamic desirable
negotiation auto
end
SW2#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode access
negotiation auto
end
動作モード確認 SW1:Dynamic Desirable SW2:Access
■SW1
SW1#show interfaces trunk
SW1#
SW1#sh int gi 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: dynamic desirable
Operational Mode: static access
■SW2
SW2#sh int trunk
SW2#
SW2#show int gi 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: static access
Operational Mode: static access
ケース6結果 SW1:Dynamic Desirable SW2:Access
結果:Dynamic Desirable ,Accessではaccessでの動作となとなる
これはaccess設定ではDTPフレームを送信せず、Dynamic Desirable側でネゴシエーションが完了しないためである
【ケース7】 SW1:Dynamic Desirable SW2:Trunk
SW1#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode dynamic desirable
negotiation auto
end
SW2#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode trunk
negotiation auto
end
動作モード確認 SW1:Dynamic Desirable SW2:Trunk
■SW1
SW1#sh int trunk
Port Mode Encapsulation Status Native vlan
Gi0/0 desirable 802.1q trunking 1
SW1#show int gi 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: dynamic desirable
Operational Mode: trunk
■SW2
SW2#sh int trunk
Port Mode Encapsulation Status Native vlan
Gi0/0 on 802.1q trunking 1
SW2#show int gi 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: trunk
Operational Mode: trunk
ケース7結果 SW1:Dynamic Desirable SW2:Trunk
結果:Dynamic Desirable ,Trunkでは自動的に Trunk が確立される。
Trunk固定設定でもDTPフレームは送信されるためDynamic Desirableは正常にネゴシエーションできる
【ケース8】 SW1:Access SW2:Trunk
SW1#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode access
negotiation auto
end
SW2#show running-config interface gigabitEthernet 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode trunk
negotiation auto
end
動作モード確認 SW1:Access SW2:Trunk
■SW1
SW1#sh int trunk
SW1#
SW1#show int gi 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: static access
Operational Mode: static access
■SW2
SW2#sh int trunk
Port Mode Encapsulation Status Native vlan
Gi0/0 on 802.1q trunking 1
SW2#show int gi 0/0 switchport | inc Administrative Mode|Operational Mode
Administrative Mode: trunk
Operational Mode: trunk
ケース7結果 SW1:Access SW2:Trunk
結果:Access ,Trunkではそれぞれが固定で設定される。
不安定なリンクとなるため、実際の設定ではありえない組み合わせとなる、
ただ、ネイティブVLANであれば通信が可能となる。
ただし、STPが動作している場合は、accessポートでタグ付きのBPDUを受信するとタイプ不整合によるポートのブロックが発生するため注意
DTPでのポイント
1. 「auto×auto」はTrunkにならない
Dynamic Auto は受動的に相手の要求を待つモードであり、両端が Auto の場合はどちらも Trunk を要求しないため、結果として Access(static access) のままとなる。
2. switchport mode trunk は「DTP停止」ではない
Trunk モードは「Trunk状態を固定する」設定だが、デフォルトでは DTP フレーム送信自体は有効である。
そのため、対向が Dynamic Desirable / Dynamic Auto の場合でも Trunk が成立しうる(ケース4・7)。
3. switchport nonegotiate はDTP送信を止める
switchport nonegotiate は DTP(Dynamic Trunking Protocol)フレームの送信を停止するコマンドである。
このため、対向が Dynamic Auto / Dynamic Desirable など「DTPを前提にTrunk確立する」モードの場合、
交渉が成立せず 対向がAccessのままになることがある(ケース5)。
4. Access × Trunk は“動作モード不一致”になり得る(Native VLANに注意)
Access 側はタグ無しフレームのみを受信し、Trunk 側は通常 VLAN タグ付きでフレームを送受信する。
そのため Access × Trunk の組み合わせでは 動作モードが不一致となり、VLANタグ付き通信は成立しない。
一方で Trunk の Native VLAN(タグ無し) は Access 側で受信できるため、意図しない通信(VLANリーク)につながる可能性がある。
5. 似たコマンド名に注意:switchport nonegotiate と no negotiation auto は別物
名称が似ているが対象が異なる。
switchport nonegotiate:DTP(Trunkネゴシエーション)の送信停止
no negotiation auto:EtherChannel(PAgP/LACP等)のネゴシエーション制御(主に mode on と組み合わせ)
6. 実務ベストプラクティス
- Accessポートは明示的に固定(access/access)する
- Trunkは明示的に固定(trunk/trunk)し、
switchport nonegotiateを設定し余計なDTPフレームを止める - 結論:ネゴシエーションは使わない固定で設定する
そのた
ネゴシエーションによるプロトコルの自動設定
トランクリンクにおけるプロトコルは、今回IEEE802.1Qに固定設定したが
デフォルトではISLとなっている、片方をIEEE802.1QにしておけばDTPで設定することを可能
その場合ネゴシエーションして設定したことがn-802.1qの表記となる
SW1#sh running-config int gi 0/0
!
interface GigabitEthernet0/0
switchport trunk encapsulation dot1q
switchport mode dynamic desirable
negotiation auto
end
SW2#sh run int gi 0/0
!
interface GigabitEthernet0/0
switchport mode dynamic desirable
negotiation auto
end
結果show interface trunk
SW1#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi0/0 desirable 802.1q trunking 1
SW2#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi0/0 desirable n-802.1q trunking 1
Encapsulationがn-802.1qとなっている


コメント