Cisco DTP の Auto / Desirable / Nonegotiate を検証比較

CCIE-Study
  1. 検証テーマ
    1. DTP(Dynamic Trunking Protocol)とは
  2. 使用環境
    1. 構成検証構成
  3. 動作検証
    1. 【ケース1】 SW1:Dynamic Desirable  SW2:Dynamic Desirable
      1. 設定内容
      2. 動作モード確認 SW1:Dynamic Desirable  SW2:Dynamic Desirable
      3. ケース1結果 SW1:Dynamic Desirable  SW2:Dynamic Desirable
    2. 【ケース2】 SW1:Dynamic Desirable  SW2:Dynamic auto
      1. 動作モード確認 SW1:Dynamic Desirable  SW2:Dynamic Auto
      2. ケース2結果 SW1:Dynamic Desirable  SW2:Dynamic Auto
    3. 【ケース3】 SW1:Dynamic Auto  SW2:Dynamic Auto
      1. 動作モード確認 SW1:Dynamic Auto  SW2:Dynamic Auto
      2. ケース3結果 SW1:Dynamic Auto SW2:Dynamic Auto
    4. 【ケース4】 SW1:Dynamic auto  SW2:Trunk
      1. 動作モード確認 SW1:Dynamic Auto  SW2:Trunk
      2. ケース4結果 SW1:Dynamic Auto  SW2:Trunk
    5. 【ケース5】 SW1:Dynamic auto SW2:Trunk+switchport nonegotiation
      1. 動作モード確認 SW1:Dynamic auto SW2:Trunk+switchport nonegotiation
      2. ケース5結果 SW1:Dynamic auto SW2:Trunk+switchport nonegotiation
    6. 【ケース6】 SW1:Dynamic Desirable SW2:Access
      1. 動作モード確認 SW1:Dynamic Desirable SW2:Access
      2. ケース6結果 SW1:Dynamic Desirable SW2:Access
    7. 【ケース7】 SW1:Dynamic Desirable  SW2:Trunk
      1. 動作モード確認 SW1:Dynamic Desirable  SW2:Trunk
      2. ケース7結果 SW1:Dynamic Desirable  SW2:Trunk
    8. 【ケース8】 SW1:Access  SW2:Trunk
      1. 動作モード確認 SW1:Access  SW2:Trunk
      2. ケース7結果 SW1:Access  SW2:Trunk
  4. DTPでのポイント
    1. 1. 「auto×auto」はTrunkにならない
    2. 2. switchport mode trunk は「DTP停止」ではない
    3. 3. switchport nonegotiate はDTP送信を止める
    4. 4. Access × Trunk は“動作モード不一致”になり得る(Native VLANに注意)
    5. 5. 似たコマンド名に注意:switchport nonegotiate と no negotiation auto は別物
    6. 6. 実務ベストプラクティス
  5. そのた
      1. ネゴシエーションによるプロトコルの自動設定
      2. 結果show interface trunk

検証テーマ

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 nonegotiateDTP(Trunkネゴシエーション)の送信停止
no negotiation autoEtherChannel(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となっている

     

    コメント