オートネゴシエーションの仕組み

 オートネゴシエーション機能を有効にしているインターフェイス同士が物理的に接続されるとFLP(Fast Link Pulse)バーストと呼ばれるパルス信号を送信します。

 10BASE-Tの場合には、同様な信号にNLP(Normal Link Pulse)と呼ばれるパルス信号を使用します。FLPは、このNLPを拡張した信号で、NLPとの互換性があります。

100BASE-TXの動作

 FLPに自分がサポートできる通信モード情報を付加して、お互いに送信し合うことで、お互いがサポートする通信モードで、最も優先順位が高いモードに設定します。

通信モードの選択優先順位は下表のようになっています。

優先順位通信モード
1100BASE-T2 全2重
2100BASE-TX 全2重
3100BASE-T2 半2重
4100BASE-T4 半2重
5100BASE-TX 半2重
610BASE-T 全2重
710BASE-T 半2重

100BASE-TXでモード不一致となるケース(相手側が10Mbpsの全2重)

下図の構成を例に解説していきます。

 クライアントPCのオートネゴシエーション機能は有効で、接続先のスイッチ側のポートの設定が固定の通信速度が10Mbpsの通信モードが全2重の場合です。

  • クライアントPC側は、オートネゴシエーションなのでFLPを送信します。しかし、相手側のスイッチは固定モードのため、FLPを送信しないので、クライアントPCは、FLPを受け取りません。
  • 固定モードに設定しているスイッチは、10Mbpsなので、NLP信号を送出して、リンクが正常に機能しているを確認します。
  • NLPを受信したクライアントPCは、信号の10Base特有の信号の形から、相手側であるスイッチはの通信速度が10Mbpsであると判断します。
  • 信号の形からPC側は速度10Mbpsであることを検出することができますが、相手先であるスイッチが、全2重か半2重を判断することができません。
  • 通信モードの判断ができない場合、オートネゴシエーションに設定されている機器は、半2重に設定するようになっています。この場合、クライアントPCは、半2重に設定されることになります。
  • 最終的にお互いの通信モードが、一方が全2、もう一方が半2重となり通信モードが異なるため、適切な通信を行うことができなくなってしまいます。

これの減少を防ぐためには、両方で通信速度と通信モードを同じ設定にする必要があります。

100BASE-TXでモード不一致になるケース(相手側が100Mbpsの全2重)

下図の構成を例に解説していきます。

 クライアントPCのオートネゴシエーション機能は有効で、接続先のスイッチ側のポートの設定が固定の通信速度が100Mbpsの通信モードが全2重の場合です。

  • クライアントPC側は、オートネゴシエーションなのでFLPを送信します。しかし、相手側のスイッチは固定モードのため、FLPを送信しないので、クライアントPCは、FLPを受け取りません。
  • 固定モードに設定しているスイッチは、100Mbpsなのでアイドル信号を送出して、リンクが正常に機能しているを確認します。
  • アイドル信号を受信したクライアントPCは、信号の100BASE-TX特有の信号の形から、相手側であるスイッチはの通信速度が100Mbpsであると判断します。
  • 信号の形からPC側は速度100Mbpsであることを検出することができますが、相手先であるスイッチが、全2重か半2重を判断することができません。
  • 通信モードの判断ができない場合、オートネゴシエーションに設定されている機器は、半2重に設定するようになっています。この場合、クライアントPCは、半2重に設定されることになります。
  • 最終的にお互いの通信モードが、一方が全2、もう一方が半2重となり通信モードが異なるため、適切な通信を行うことができなくなってしまいます。

これの減少を防ぐためには、両方で通信速度と通信モードを同じ設定にする必要があります。

1000BASE-Tの場合

1000BASE-Tでは、オートネゴシエーションが義務付けれれています。

 接続時にFLP(Fast Link Pulse)に自分がサポートできる通信モード情報を付加して、お互いに送信し合うことで、お互いがサポートする通信モードで、最も優先順位が高いモードに設定します。

優先順位は、下表のとおりです。

優先順位通信モード
11000BASE-T 全2重
21000BASE-T 半2重
3100BASE-T2 全2重
4100BASE-TX 全2重
5100BASE-T2 半2重
6100BASE-T4 半2重
7100BASE-TX 半2重
810BASE-T 全2重
910BASE-T 半2重

 自分が、1000BASE-Tで、相手が10BASE-Tや100BASE-TXの場合は、NLPやアイドル信号を送信することで下位互換性を実現しています。

オートネゴシエーションの注意事項

 ここまでで、述べてきたようにオートネゴシエーションでは、設定の組み合わせによって不具合が生じる場合があります。これらの不具合を避けるためには、以下のような設定を心がけておく必要があります。

  • 片側がオートネゴシエーションモードの場合、もう片側もオートネゴシエーションモードにする。
  • 片側が固定モードに設定した場合は、もう片側も固定モードで同じ回線速度と通信モードにする。

 ただし、ここまでで、説明したことは、必ずそうなるとは限りません。ベンダーの実装によっては、たとえ相手先の設定で問題が生じる組み合わせの設定であっても最適なモードとなり通信が行える場合もあります。

 しかし、問題が生じる組み合わせは、トラブルの原因となるため、基本的には上記の設定を心がけておきましょう。