イーサネットインターフェイスエラー


10

ISPのマルチプレクサに接続しているUbuntuサーバーのイーサネットインターフェースでエラーが表示されます。これがスナップショットです。

          RX packets:204564288 errors:3193970 dropped:0 overruns:0 frame:3138402
          TX packets:29305799 errors:38752 dropped:0 overruns:0 carrier:38762
          collisions:2205053 txqueuelen:1000

Ubuntuインターフェースは全二重に対応していますが、ネゴシエーションは半二重接続のみです。別のデバイス(ルーター)をMUXに接続すると、そのようなエラーも表示されました。割り当てられる帯域幅は50 mbpsですが、20 mbpsしかありません。ISPは、MUXでデバイス(イーサネットスイッチまたはハブのように見える)を変更することをためらっています。ISPのエンジニアは、私の責任は私の側にあると非難しています。しかし、3台以上のデバイスで確認したところ、すべてエラーが表示されました。それで、それらのエラーの原因を詳しく調査するために使用できるLinux用のツールはありますか、またはそれらのエラーを取り除くためにサーバーのインターフェイスを再構成するために私ができることはありますか?

回答:


8

ISP側が100-Fullにハードコーディングされているため、デュプレックスのミスマッチが発生している可能性が非常に高く、ISPイーサネットPHYでの自動ネゴシエーションが実質的に無効になっています。

ISPが100-Fullに設定されていて、サイドがauto / autoのままである(直感ですが、一般的なものです)、サイドの自動ネゴシエーションにより、インターフェイスが100-Halfに設定されます-ISPサイドとしてのデュプレックスの不一致100-フルのままです。

修正

イーサネットPHYを100-フルに、または具体的にはISPに設定されているとおりにハードコーディングすることで、問題を解決できます。ほとんどのISPは100-Fullを使用しています。

追加の詳細

100-Fullから100-Halfまでのデュプレックスミスマッチにより、100-FullサイドはCSMA / CDを無効にしますが、CSMA / CDは100-Halfサイドで有効です。100-Full側は、メディアが空いているかどうかに関係なく送信します。100ハーフ側は、CSMA / CDで定義されているCSMA / CDチェックとバックオフを実行します。 これが、50 Mbpsのインターネット回線では20 Mbpsしか達成できない理由です。100ハーフサイドの衝突を検出するため、CSMA / CDバックオフがスループットを制限しています。

インターフェイスを100フルにハードコーディングしてISPと一致させると、両側でCSMA / CDが無効になるため、バックオフと衝突検出が無効になり、50 Mb / sインターネット回線のデータレートに非常に近い数値を達成する必要があります。

歴史

多くのISPがイーサネットPHYハンドオフをハードコード化しているのは、そうする方がはるかに信頼できる時代があったからです。元の802.3u 100 Mb / sファストイーサネット標準がリリースされたとき、速度とデュプレックスのオートネゴシエーションが存在していましたが、必須ではありませんでした。自動ネゴシエーション標準で必要とされたのは、802.3z 1 Gb / sギガビットイーサネット標準まででした。

多くのネットワークエンジニアは、オートネゴシエーションについて誤解しています。最大の誤解は、片側だけがオートネゴシエーションを実装している場合、オートネゴシエーションは速度とデュプレックスを適切にネゴシエートできるということです。これは誤りです-あなたが見たように。

これは、次のような理由が考えられます。片側が100-Fullにハードコードされている場合、オートネゴシエーションを実行するもう一方の側は常に100 Mb / sの部分を把握しているようです。片側が10-Fullにハードコーディングされている場合も同様です。オートネゴシエーションを実行しているもう一方の側は、10 Mb / sの部分を把握できます。リンク速度を決定する機能は、一致が見つかるまで、ローカルでサポートされているすべてのリンク速度で受信した物理層信号を試行する並列検出と呼ばれる機能によるものです。ただし、並列検出は速度に対してのみ機能し、デュプレックスマッチングに対しては機能しません。デュプレックスのミスマッチが発生する可能性があるのはこのためです。自動ネゴシエーションで相手側を判別できない場合、インターフェイスは常に半二重にフォールバックするためです。

Soapbox

かつてはオートネゴシエーションのサポートが不安定で、解決しようとした問題と同じ数の問題が発生していました。 そのとき、このネットワークエンジニアの意見では-合格しました。 自動ネゴシエーションの問題は依然として存在しますが、過去5年間に自動ネゴシエーションが構成されているために発生した問題の数は、自動ネゴシエーションが無効になっているために発生した問題の数よりも小さくなっています。

私は、ISPに尋ねられたときにイーサネットハンドオフをauto / autoに変更したくないと思ったことはありません。ほとんどのケーブルおよびDSLモデムとゲートウェイでは、これは問題ではありません。この問題が通常発生するのは、イーサネットハンドオフを備えたNxT1およびファイバー管理のCPEルーターです。問題は、ネットワーク管理者が最初に尋ねなければならないことです。

ISPが100-Full ハードコーディングしているため、彼らは義務を負っています。文書化して継続しなければならない義務。オートネゴシエーションは、現在安定しており、何年も前から存在しており、この問題に対処してくれるテクノロジーです。前述のように、オートネゴシエーションによって引き起こされる問題の数は、2011年に無効にされたために発生する問題の数をはるかに上回っています。この問題を解決するテクノロジーが存在します。それを使用してください。おそらく、初期TCP SYN、MSSを手動で設定し、すべてのTCP仮想回線の受信ウィンドウも管理する必要があるでしょうか。私は子供です。

怒鳴る。


インターフェイスを強制的に全二重モードにするために、次のコマンドを試しましたsudo ethtool -s eth0 duplex full speed 100 autoneg off。しかし、リンクがダウンしました。しかし、あなたの答えは私にいくつかの希望を与えました。もう一度試してみます。また、MUXで自動ネゴシエーションを有効にできるかどうかをISPに尋ねます。
nixnotwin

@nixnotwin自動ネゴシエーションがオンになっている状態で、インターフェイスが10ハーフではなく100ハーフで安定していることを確認します。特定の速度と全二重をハードコードします。オートネゴシエーションをハードコーディングして無効にした後でリンクがダウンした場合は、MDI / MDI-Xの問題が発生している可能性があります。PHYの自動MDI / MDI-Xも無効になっている可能性があるためです。ストレートパッチケーブルを使用している場合は、クロスオーバーを試してください。クロスオーバーを使用している場合は、ストレートスルーパッチケーブルを試してください。
ウィーバー

どういうわけか、自動ネゴシエーションを有効にするようにISPを説得しました。その後、インターフェイスエラー、ICMPパケット損失、ストリーミングジッター、ルーターのフリーズなど、発生していたすべての問題と、その他の多くの問題が突然消えました。これで帯域幅は50メガビットに達し、イーサネットインターフェイスに単一のエラーが表示されなくなりました。
nixnotwin

2
@nixnotwinそれは素晴らしいニュースです。将来、過敏な管理者(ネット、システム、Windowsなど)に対処する必要がある場合は、「私をユーモアして、これを1分間だけ試してみましょう。たぶん両方とも何かを学ぶでしょう」非常に効果的です。
Weaver
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.