便利なAuto-Negotiation機能
前回ネットワークの基本的なイメージと自動設定機能の概要について書きました。
家庭内ネットワークで使われるハブには、便利な自動設定機能がついていますが、その中でも「Auto-Negotiation」機能が、トラブルの原因になることが多いようです。
Auto-Negotiationという機能は、ハブ(スイッチ)やルータ、端末(パソコンなど)が相互に接続された際に、接続された相手に合わせて、自分の通信速度と通信モードを最適化しようとする仕組みです。
トラブルになる例
例えば、ハブとパソコンを接続しようとします。ハブとパソコンがそれぞれ以下の機能をサポートしていたとします。
ハブ
- 通信速度:1000M/100M/10M
- 通信モード:全二重(Full)/半二重(Half)
パソコン
- 通信速度:100M/10M
- 通信モード:全二重(Full)/半二重(Half)
両者ともAuto-Negotiation機能をONしていると、遅い方(パソコン)に合わせて、2つの機器間で最大速度で通信できる「100M/Full」の状態に設定してくれます。
このAuto-Negotiation機能は正常に確立すれば、最大のパフォーマンスを発揮することができるのですが、何らかの要因で、極まれに片方(もしくは両方)の通信モードがHalfになってしまったりする誤動作を起こすことがあります。
それぞれの機器の通信速度と通信モードを固定する場合よりも信頼性が低いことから、企業向けのネットワークなどでは、通信速度と通信モードを固定して利用する場合が多いのです。(固定してもトラブルがなくなるわけではありませんが…。)
今回はまず、Auto-Negotiation機能について説明します。難しいと思ったら読むのをあきらめてください(笑)
Auto-Negotiationでは、通信モードの判別のためにFLP(Fast Link Pulse)バーストという信号のやり取りが使われています。
このFLPは、それぞれの機器が接続した相手に
「私が対応している通信モードはこれですよ~」
と情報を送る信号です。
このFLPを受け取った機器は、相手から送られてきた情報と自分の情報を見比べて、規格の中のお互いが通信可能なものから、優先順位の高い通信モードに自分の設定を変えます。
1000Mまでの規格上の優先順位は以下のとおりとなっています。
優先順位:通信モード
- 1000Base-T Full ※
- 1000Base-T Half ※
- 100Base-T2 Full
- 100Base-TX Full ※
- 100BAse-T2 Half
- 100Base-T4 Half
- 100Base-TX Half ※
- 10Base-T Full ※
- 10Base-T Half ※
市販されている家庭用のハブでサポートしているのは※のついたものになると思いますが、こんなもの見ても分かりにくいので、置き換えると以下の通りになります。
- 1:1000Base-T Full = 1000M/Full
- 2:1000Base-T Half = 1000M/Half
- 4:100Base-TX Full = 100M/Full
- 7:100Base-TX Half = 100M/Half
- 8:10Base-T Full = 10M/Full
- 9:10Base-T Half = 10M/Half
優先順位は
1000M/Full ⇒ 1000M/Half ⇒ 100M/Full ⇒ 100M/Half ⇒ 10M/Full ⇒ 10M/Half
となります。
とても便利な機能ですが、このAuto-Negotiation機能は万能ではなく、’必然的’に通信モードが正常に確立できない事象が発生します。
そのトラブルが起こる過程は次回に。
コメント ※編集/削除は管理者のみ