オートネゴシエーションを無効にする際の3つの注意点

今どきのコンピューターは、クライアントPCもサーバーもほぼ間違いなくギガビットEthernetをサポートしています。
なので、オートネゴシエーションを無効化する必要は無いのですが、それでもどうしても無効化したい時のための注意点をメモ。

 

  1. 通信速度、全二重/半二重を手動設定する必要がある。
  2. 説明不要かと思う、と言うか速度を固定にする必要があるからオートネゴシエーションを無効化すると言うパターンのほうが多いだろう。
    通信速度・全二重/半二重はリンクパートナー(接続相手)に合わせて同じ設定にする必要がある。
    相手の機器がONUなどの場合、固定設定となっている可能性があるので、事前に仕様を確認しておく必要がある。

  3. Auto MDI/MDI-Xが無効になるので、DTE/DCEを正しいケーブルで接続する必要がある。
  4. 現場でオートネゴシエーション関連でのトラブルとして一番起こり得るので、経験則として知っている人も多いと思う。
    Auto MDI/MDI-Xの機能は1000Base-Tデバイスのためのオプション機能として実装されている。(IEEE802.3-2012 40.4.4)
    また、1000Base-Tは仕様としてオートネゴシエーションによるマスター/スレーブの設定が必須である。(IEEE802.3-2012 40.1.3)
    そのため、オートネゴシエーションを無効化させると、1000Base-Tがサポートされなくなり、結果としてAuto MDI/MDI-Xが動作しなくなる。
    Auto MDI/MDI-Xで動作させる前提で、すべてのケーブルをTIA/EIA568Bで結線していると、思わぬところでリンクダウンしてしまう可能性があるので、オートネゴシエーションを無効化する場合は、そのリンクで使用されているケーブル種別についても確認しておく必要がある。

  5. フロー制御を手動設定する必要がある。
  6. これは、1と同様にオートネゴシエーションによってやり取りしている情報のため、無効化によって手動設定が必要となる情報の一つだ。
    なぜ分けたかと言うとあまり意識されていないため、忘れがちだと思われるからだ。
    オートネゴシエーションを有効化させている多くのNW機器では、全二重におけるフロー制御(PAUSEの送受信)はDisableとされていることが多い。
    これは、パフォーマンスチューニングの観点で、PAUSEを有効化すると同じSWに接続された機器の一か所のリソース不足が全ての機器に影響してしまうからと言われている。
    オートネゴシエーションを無効化した際のフロー制御動作については、有効化されるデバイスが多い。
    機器の仕様に関しては、事前にマニュアルを確認したり、ベンダーに問い合わせするのが最善である。

    なお、接続相手がLinuxの場合、NICのフロー制御に関してはifcfg-*に記載できず、起動スクリプトなどでインターフェースを判別しethtool -Aで設定する等の機器設定が必要となる(非常に面倒くさい)ため、事前にしっかり確認しておく必要がある。

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)