DTP(Dynamic Trunking Protocol)

DTP(Dynamic Trunking Protocol)とは、対向のポートとネゴシエーションしてポートをアクセスポートとするか、トランクポートとするかを決定するためのCisco独自のプロトコルです。トランクポートの場合、IEEE802.1QまたはCisco ISLのカプセル化プロトコルのネゴシエーションも行います。

DTPの概要
図 DTPの概要

DTPには、以下の動作モードがあります。

  • Dynamic desirable
  • Dynamic auto
  • Trunk
  • Access

Dynamic desirable

DTPのDynamic desirableのモードは、対向のポートに対して積極的にトランクポートになるようにネゴシエーション要求を行うモードです。対向のポートがネゴシエーション要求に応答すれば、ポートはトランクポートとして動作します。応答がなければ、ポートはアクセスポートとして動作します。

Dynamic desirableのモードに設定するには、インタフェースコンフィグレーションモードで次のように設定します。

Switch(config-if)#switchport mode dynamic desirable

Dynamic auto

DTPのDynamic autoのモードは、対向のポートからトランクポートになるように要求があれば、それに応答してトランクポートとして動作するモードです。対向のポートからトランクポートになるように要求がなければ、アクセスポートとして動作します。Dynamic autoのポートからトランクポートになるように要求することはありません。

Dynamic autoのモードに設定するには、インタフェースコンフィグレーションモードで次のように設定します。

Switch(config-if)#switchport mode dynamic auto

Trunk

DTPのTrunkモードは、ポートをトランクポートとして動作させます。さらに、対向のポートに対してトランクポートになるように要求します。Dynamic desirableと違って、Trunkモードは対向のポートがトランクポートになるかアクセスポートになるかに関わりなく、自ポートをトランクポートにします。つまり、スタティックなトランクポートの設定と言えます。そして、対向ポートに対してトランクポートになるように要求を送信します。

あとでまとめていますが、対向ポートの設定によっては自ポートがトランクポートなのに対向ポートがアクセスポートになってしまうことがあるので注意が必要です。

Trunkモードに設定するには、インタフェースコンフィグレーションモードで次のように設定します。

Switch(config-if)#switchport mode trunk

Catalyst3560/3750などISLと1Qの両方のトランクプロトコルをサポートしている場合は、先にswitchport trunk encapsulationコマンドでトランクプロトコルを設定しておく必要があります。

Access

DTPのAccessモードは、ポートをアクセスポートとして動作させます。対向のポートがトランクポートであるか、アクセスポートであるかに関わりなくアクセスポートにします。これは、スタティックなアクセスポートの設定です。自ポートをアクセスポートになっているのに、対向ポートがトランクポートになっていると通信が正常にできなくなってしまうので注意してください。

Accessモードに設定するには、インタフェースコンフィグレーションモードで次のように設定します。

Switch(config-if)#switchport mode access

VLANの割り当て、すなわちVLANメンバーシップはデフォルトでVLAN1です。VLANメンバーシップの変更は、次のコマンドです。

Switch(config-if)#switchport access vlan <vlan-number>

デフォルトのDTPモードに注意

CatalystスイッチのモデルによってデフォルトのDTPモードが異なります。Catalyst3560/3750などはデフォルトでDynamic autoのモードです。Catalyst3550/2950などはデフォルトでDynamic desirableのモードです。そのため、Dynamic autoのCatalyst3750同士を接続するとアクセスポートになります。Dynamic desirableのCatalyst3550とDynamic autoのCatalyst3750を接続するとトランクポートになります。

デフォルトのDTPモードのままでCatalystスイッチを使っていて、Catalystスイッチの機種を変えたら、「いつのまにかアクセスポートがトランクポートになってしまった」、あるいは逆に「いつのまにかトランクポートがアクセスポートになってしまった」ということが起こり得るので要注意です。

モデルを変えたり、OSをアップグレードしたりするとデフォルトの設定が変わってしまうことはCiscoに限らずよくあることです。安易にデフォルト設定のままで使わないほうがよいでしょう。

DTPの無効化

DTPのネゴシエーションを無効化するには、インタフェースコンフィグレーションモードで次のコマンドを入力します。

Switch(config-if)#switchport nonegotiate

DTPはCatalystスイッチでしか利用しません。PCやサーバなどが接続されるポートは、switchport nonegotiateコマンドでDTPを無効化しておいたほうがよいです。

DTPモードの組み合わせ

2台のCatalystスイッチ間でDTPモード設定と実際のスイッチポートの組み合わせは次のようになります。

DTPモードの組み合わせ
図 DTPモードの組み合わせ

表 2 DTPモードの組み合わせ

SW1

 

SW2

 

DTPモード

動作モード

DTPモード

動作モード

Dynamic desirable

Trunk

Dynamic desirable

Trunk

 

Trunk

Dynamic auto

Trunk

 

Trunk

Trunk

Trunk

 

Access

Access

Access

Dynamic auto

Trunk

Dynamic desirable

Trunk

 

Access

Dynamic auto

Access

 

Trunk

Trunk

Trunk

 

Access

Access

Access

Trunk

Trunk

Dynamic desirable

Trunk

 

Trunk

Dynamic auto

Trunk

 

Trunk

Trunk

Trunk

 

Trunk

Access

Access

Access

Access

Dynamic desirable

Access

 

Access

Dynamic auto

Access

 

Access

Trunk

Trunk

 

Access

Access

Access

DTPモードを片方のポートでTrunkモードに、もう片方のポートをAccessモードに設定してしまったら、対向のポート間での動作モード(トランクポート/アクセスポート)が一致しなくなってしまいます。対向ポートとトランク/アクセスポートの動作モードが一致しなければ、VLANのフレームの通信がうまくいかなかったり、スパニングツリーの計算がうまくできなかったりなどのトラブルが起こります。対向ポート同士でアクセス/トランクは必ず一致するようにしてください。

VTPドメインが異なるとDTPネゴシエーションは無効

なお、DTPによるネゴシエーションは、同一のVTPドメインに所属しているスイッチ間で行われます。異なるVTPドメインのスイッチ間ではDTPによるネゴシエーションを行うことができないので注意してください。VTPドメインが一致しておらず、DTPによるネゴシエーションが行えないときは、以下のようなログが出力されます。

00:12:25: %DTP-5-DOMAINMISMATCH: Unable to perform trunk negotiation on port Fa1/0/21 because of VTP domain mismatch.
VTPドメインとDTP
図 VTPドメインとDTP

関連記事