イーサネットっていろんな規格があるんだけど・・・
イーサネットには10Mbpsの10BASE-Tや100Mbpsの100BASE-TXのように速度の違う規格が存在しています。また、半2重通信・全2重通信といった通信モードの違いもあります。
規格をすべて同じものにそろえることができればいいのですが、ネットワークの拡張計画によっては、規格をそろえることが困難なケースが良くあります。
このようなイーサネット規格の混在環境時に「オートネゴシエーション機能」がとても便利です。オートネゴシエーション機能とは、UTPケーブルを利用する10BASE-Tや100BASE-TXなどのイーサネット規格で機能し、スイッチに接続されたコンピュータと通信速度、通信モードを自動的に最適化する機能です。ネゴシエーションとは、日本語で「交渉」という意味で、接続した相手と自動的に交渉して、最適な通信を行うという意味ですね。
オートネゴシエーション機能の動作
オートネゴシエーション機能に対応したスイッチとコンピュータを接続した場合、それぞれ「FLP(Fast Link Pulse)バースト」と呼ばれるパルス信号を送出します。このFLPバーストのやり取りによって、互いの通信速度とサポートする通信モードを検出し、下の表の優先順位に従って最適なものを選択します。
| 優先順位 | 通信速度・モード |
| 1 | 100BASE-T2 全2重 |
| 2 | 100BASE-TX 全2重 |
| 3 | 100BASE-T2 半2重 |
| 4 | 100BASE-T4 半2重 |
| 5 | 100BASETX 半2重 |
| 6 | 10BASE-T 全2重 |
| 7 | 10BASE-T 半2重 |
次の図の例では、スイッチとクライアントコンピュータがどちらもオートネゴシエーションに対応していて、100BASE-TXの全/半2重、10BASE-Tの全/半2重をサポートしているので、100BASE-TX全2重で通信を行うことになります。
オートネゴシエーションは便利なんだけど・・・
最近のスイッチおよびコンピュータに取り付けるネットワークインタフェースカードはほとんどの場合、オートネゴシエーション機能をサポートしています。しかし、オートネゴシエーション機能を利用すると、FLPバーストを交換して通信速度、通信モードを決定するための時間が必要なので、実際に通信ができるようになるまでに若干のタイムラグが発生してしまいます。
そのため、あえてオートネゴシエーション機能を無効にして、固定的に通信速度と通信モードを決めるように設定する場合があります。ただし、片方でオートネゴシエーション機能を有効にしたまま、もう片方でオートネゴシエーション機能を無効にして固定の設定にした場合、通信が非常に不安定になってしまう可能性があるので注意が必要です。
オートネゴシエーションの設定でトラブルが発生するケース
実際に通信ができなくなってしまうケースを考えてみます。次の図では、スイッチでオートネゴシエーション機能を無効にし、固定的に100BASE-TX全2重通信に設定しています。
クライアントコンピュータのオートネゴシエーション機能は有効のままです。オートネゴシエーション機能を無効にして、固定的に通信速度と通信モードを設定したとき、10BASE-TならNLP(Normal Link Pulse)、100BASE-TXならアイドル信号を送出します。この場合、スイッチは100BASE-TXのアイドル信号を送出します。
クライアントは、アイドル信号から100BASE-TXであることがわかります。しかし、スイッチからFLPが送出されないので、クライアントは半2重通信なのか全2重通信なのかを判断することができません。この場合、クライアントでは半2重通信で通信を行うことになります。
すると、スイッチは100BASE-TX全2重、クライアントは100BASE-TX半2重で、通信モードが異なってしまいます。通信モードが一致していないと、あるときは通信でき、あるときは通信ができないという非常に不安定なネットワークになります。
これを防ぐためには、オートネゴシエーション機能を無効にするときには、きちんと両方で通信速度と通信モードを正しく設定する必要があります。このトラブルは、よく起こりがちなので特に注意してください。
以下の表は、10BASE-T/100BASE-TX、半/全2重対応の機器同士において、相手の機器はオートネゴシエーション機能を有効にしたままで、自分の設定を変えたときの結果をまとめたものです。
| 設定 | 相手の通信速度 | 相手の通信モード | 通信の可否 |
| 100BASE-TX 全2重 | 100BASE-TX | 半2重 | NG |
| 100BASE-TX 半2重 | 100BASE-TX | 半2重 | OK |
| 10BASE-T 全2重 | 10BASE-T | 半2重 | NG |
| 10BASE-T 半2重 | 10BASE-T | 半2重 | OK |












