スイッチのポートに最も大切な設定はスピードとデュプレックスの設定です。オートネゴシエーションは便利な機能ですが、使い方を誤ると想定するスピードが出ていなかったり、リンクアップしないなどの問題が起こります。ここでは、設定を間違うとどのような動きになるかをCiscoのスイッチを使用して試しています。
スイッチのポート設定に重要なこと
スイッチのポート設定で気を付けなければいけないことは、スピード(通信速度)とデュプレックス(通信モード:全二重または半二重)は接続先機器の設定と必ず同じものにする必要があるということです。
スピードの設定は、100Mbpsや1000Mbps(1Gbps)などの種類があり、デュプレックスは、全二重通信のfull duplex か 半二重通信の half duplex の2種類があります。現在は片方向通信となる half duplex を使用することはほぼありません。
また、ポートが自動で接続相手とネゴシエーションをおこない双方がサポートする最適なスピードとデュプレックスに設定してくれるオートネゴシエーションという便利な機能もありますが、この場合も必ず双方でオートネゴシエーション設定になっていることが必須です。
Cisco スイッチ スピードとデュプレックスの設定コマンド
Cisco ネットワーク機器のインターフェイスにスピードとデュプレックスを設定するには以下のようにコマンドを使用します。
スピードは、speed に続けて対応するコマンドを実行します。
Switch(config-if)# speed ?
10 Force 10 Mbps operation
100 Force 100 Mbps operation
1000 Force 1000 Mbps operation
auto Enable AUTO speed configuration

デュプレックスは、duplex に続けて対応するコマンドを実行します。
Switch(config-if)# duplex ?
auto Enable AUTO duplex configuration
full Force full duplex operation
half Force half-duplex operation

Cisco スイッチ デフォルト設定の確認
PCやスイッチのデフォルトの設定は自動ネゴシエーションが多いため、通常なにも設定変更しなくてもお互いのオートネゴシエーションにより最適なスピードとデュプレックスで問題なく接続されます。
スイッチの設定を確認するには show interfaces status を使います。

notconnect は何も接続されていない状態です。Duplex と Speed は どちらも auto (オートネゴシエーション)になっています。
スピードとデュプレックスの設定検証
スイッチはCiscoの一般的なL2スイッチ、Catalyst2960を使用します。スイッチとPCは双方で1Gbpsに対応しています。

① オートネゴシエーション同士の場合


上記のステータス結果から、オートネゴシエーションの結果 speed 1000Mbps / Duplex full になっていることがわかります。
オートネゴシエーションに設定されている場合は、お互いに FLP(Fast LinkPulse)の信号をやりとりすることで、双方が対応するスピードとデュプレックスの中から最速の設定をおこないます。1000BASE-T の規格ではオートネゴシエーションの設定を行うことを義務とされています。
② 1000Mbps / Full 固定とオートネゴシエーションの場合


上記のステータス結果から、オートネゴシエーションの結果 speed 1000Mbps / Duplex full になっていることがわかります。問題なく接続されているようですが、メーカー指定でない限り基本的に 1000BASE-T の場合は auto に設定した方が良いでしょう。
③ 100Mbps / Full 固定とオートネゴシエーションの場合


上記のステータス結果から、オートネゴシエーションの結果 speed 100Mbps / Duplex half になっていることがわかります。これは100Mbpsを固定にした際に固有の信号(アイドル信号)を送信するために、100Mbpsであることは判明しますのでスピードは認識していますが、デュプレックスは不明となります。デュプレックスが不明な場合の仕様として half となります。
この場合、お互いにデュプレックスの設定が異なるため、パケットの衝突が頻繁に起こり通信パフォーマンスが大幅に低下します。
④ 10Mbps / Full 固定とオートネゴシエーションの場合


上記のステータス結果から、オートネゴシエーションの結果 speed 10Mbps / Duplex half になっていることがわかります。これは③の仕組みと同じですが、10Mbpsを固定にした際に固有の信号(NLP)を送信するために、10Mbpsであることは判明します。デュプレックスは不明な場合の仕様として half となります。この場合も、通信パフォーマンスは大幅に低下します。
デュプレックスミスマッチ
検証結果のようにデュプレックスのミスマッチが起こると意図せず半二重通信が行われパケットの衝突によるコリジョンやその他のエラーパケットも増加し、その結果通信パフォーマンスが大幅に低下してしまいます。具体的なエラーパケットの増加は show interface コマンドで確認することも可能です。
以下の赤字のカウンターなどが上昇していきます。

まとめ
スイッチに接続するPCなどの端末機器は、ほとんどが初期設定の段階でオートネゴシエーションになっているのでスイッチ側もオートネゴシエーションで問題ありません。古い機器やサーバー、特殊な通信機器には固定で設定する必要があるかもしれません。必ずメーカー推奨の設定にあわせてスイッチ側で適切な設定をおこない、設定後にはインターフェイスのステータスを確認することが意図しない問題を避けるために大切です。
コメント