オートネゴシエーション

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

オートネゴシエーション英語: Autonegotiation)とは、ツイストペアケーブルを介したイーサネットEthernet over twisted pair)で使用されるシグナリングメカニズムおよび手順であり、2つのネットワーク装置の間で、通信速度、通信モードフロー制御などの伝送パラメータの情報を交換し、最適なものを選択する機能である。このプロセスでは、イーサネットに接続されたデバイスは最初に相互の利用可能な伝送パラメータを共有し、両方が対応している最高性能の伝送モードを選択する。

オートネゴシエーションは、IEEE 802.3のClause 28に定義されており[1]、元々はファスト・イーサネット規格のオプションのコンポーネントだった[2]10BASE-Tで使用されているNormal Link Pulse(NLP)との後方互換性がある[3]。このプロトコルは、ギガビット・イーサネット規格で大幅に拡張され、ツイストペアケーブルを介した1000BASE-Tギガビット・イーサネットでは必須である[4]

OSI参照モデルでは、オートネゴシエーションは物理層にある。

標準化と相互運用性[編集]

1995年、IEEE 802.3u規格がリリースされた。これは、接続されたネットワークアダプタが、可能な限り最良の動作モードで動作できるように自動的に交渉する機能のための規格である。IEEE 802.3のClause 28となったこのプロトコルは、ナショナル セミコンダクターによるNWayと呼ばれる特許技術から開発されたものである。同社は、一度ライセンス料を支払うだけで、誰でもこのシステムを使うことを保証するという書簡を出した[5]。他の会社は、その特許の利用権を購入した[6]

1995年のファーストイーサネット規格IEEE 802.3uのオートネゴシエーション仕様の最初のバージョンでは、様々な解釈が可能だった。ほとんどのメーカーは、この規格を一方向で実装したが、ネットワーク大手のシスコなどのいくつかのメーカーは別の方法で実装した。異なる実装によるデバイス間のオートネゴシエーションは失敗した。このようなオートネゴシエーションの問題により、多くのネットワーク管理者は、それぞれのネットワークインターフェイスカードの通信速度や通信モードを手動で設定するようになった。ただし、手動による設定を使用すると、特に接続されている2つのデバイスが次のような場合に、通信モードの不一致が発生する可能性がある。

  • 1つが手動で半二重に設定され、もう1つが手動で全二重に設定されている場合
  • 1つがオートネゴシエーションに設定され、もう1つが手動で全二重に設定されている場合

この状態でもネットワークは不安定ながら動作するため、通信モードの不一致の問題の診断は困難である。pingなどのネットワークテストに使用されるプログラムでは、接続が有効であるが、予想よりはるかに低速であると報告される。

オートネゴシエーションの仕様で議論の余地がある部分は、1998年の802.3のリリースによって削除された。その後、1999年にギガビット・イーサネット規格IEEE 802.3abがリリースされた。新しい規格では、銅線を介した1 Gbit/sの1000BASE-Tイーサネットにオートネゴシエーションが必須であると規定されていた。現在、ほとんどのネットワーク機器メーカーは、全てのアクセスポートでオートネゴシエーションを使用し、それを工場出荷時のデフォルト設定として、機能を有効にすることを推奨している[7][8][9]

1000BASE-T1000BASE-TX10GBASE-Tの規格では、オートネゴシエーションが必須である。

機能[編集]

オートネゴシエーションは、複数の通信速度、異なる通信モード(半二重/全二重)、異なる規格が可能なデバイス間で使用できる (実際には1つの規格のみが広く使用されている)。各装置は自身の「技術的能力(technology abilities)」、すなわち使用可能な動作モードを宣言し、両方の装置で使用可能なものの中から最良のモードが選択される。低速度より高速度のもの、半二重よりも全二重の方が優先される。

自動検出が可能な装置とそうでない装置が接続されている場合、並列検出(パラレルディテクション)が使用される。これは、一方の装置がオートネゴシエーションに対応していないか、管理上オートネゴシエーションが無効に設定されている場合に発生する。この状態では、オートネゴシエーションが可能な装置が他の装置の側に速度を一致させることができる。しかしこの手順では、通信モードを自動で決定できないため、常に半二重であると仮定される。したがって事実上この組み合わせで全二重モードで通信することは出来ない。

オートネゴシエーションでは、通信速度と通信モード以外にも、ポートタイプ(シングルポート、マルチポート)やマスター/スレーブパラメータ(手動で設定されているかどうか、手動設定の場合は装置がマスターかスレーブか、自動設定の場合はマスタースレーブシードビット)が通信される。

優先度[編集]

両方の装置は、他方の装置の技術的能力を受信すると、両方の装置が利用可能な最良の動作モードを決定する。802.3の2018年版で指定されているモード間の優先順位は次の通りである[10]。すなわち、各装置は、両方の装置で対応しているモードの中で、このリストの一番上にあるモードを選択する。

  1. 40GBASE-T 全二重
  2. 25GBASE-T 全二重
  3. 10GBASE-T 全二重
  4. 5GBASE-T 全二重
  5. 2.5GBASE-T 全二重
  6. 1000BASE-T 全二重
  7. 1000BASE-T 半二重
  8. 100BASE-T2 全二重
  9. 100BASE-TX 全二重
  10. 100BASE-T2 半二重
  11. 100BASE-T4 半二重
  12. 100BASE-TX 半二重
  13. 10BASE-T 全二重
  14. 10BASE-T 半二重

電気信号[編集]

リンクの整合性を確立するために10BASE-Tデバイスで使用されるnormal link pulse

オートネゴシエーション(以前のNWay)は、10BASE-Tにおいて他の装置の接続の存在を検出するために使用しているものと同様のパルスに基づいている。これをconnection present(接続存在)パルスと言い、イーサネット装置によって、フレームを送受信していないときに送信される。最大パルス幅200ナノ秒、公称持続時間100ナノ秒の正極性の電気パルスであり[11]、16ミリ秒の間隔で生成される(タイミング変動許容範囲は8ミリ秒)。このパルスは、10BASE-Tの用語ではlink integrity test (LIT)パルス(リンク整合性試験パルス)と言い、オートネゴシエーション仕様ではノーマルリンクパルス(NLP:normal link pulse)と言う。

50〜150ミリ秒にわたってフレームもLITパルスも受信されない場合、装置はリンク障害を検出する。この方式が機能するために、装置は受信に関係なくLITパルスを送信する必要がある。

ファストリンクパルスの3回のバースト。オートネゴシエーション装置が使用可能な機能を宣言するために使用される。

オートネゴシエーションは、NLPとラベル付けされた同様のパルスを使用する。NLPは単極で、正極性のみで、公称期間は100ナノ秒である。ただし、各LITは、125マイクロ秒間隔で送信される17〜33個のパルスからなるパルスバーストとなる。このパルスバーストはファストリンクパルス(FLP:fast link pulse)バーストと呼ばれる。FLPバーストの開始間の時間間隔は、ノーマルリンクパルス間と同じ16ミリ秒(変動許容誤差は8ミリ秒)である。

ファストリンクパルスバーストにおけるリンクコードワード(16ビットワード)の符号化方法

FLPバーストは125マイクロ秒間隔(許容誤差14マイクロ秒)の14個のNLPで構成されている。2つの連続したNLPの各対の間に(すなわち、パルス対の最初のNLPの62.5マイクロ秒後に)追加の正のパルスが存在する場合がある。この追加パルスの存在は論理1を示し、存在しないことは論理0を示す。結果として、各FLPは16ビットのデータワードを含むことになる。このデータワードはリンクコードワード(LCW:link code word)と呼ばれる。リンクコードワードのビットは0から15までの番号が付けられている。ビット0は時間内の最初のパルスに対応し、ビット15は最後のパルスに対応する。

ベースリンクコードワード[編集]

各ファストリンクパルスバーストは、リンクコードワードと呼ばれる16ビットのワードを送信する。最初のワードをベースリンクコードワード(base link code word)と言い、次のように使用される。

  • 0–4: セレクタフィールド: IEEE 802.3とIEEE 802.9のどちらの規格を使用しているか示す。
  • 5–12: 技術的能力フィールド: 100BASE-Tと10BASE-Tにおいて利用可能な動作モードを示すビット列(内容は後述)。
  • 13: 遠隔故障: 装置がリンク故障を検出しているときに1に設定される。
  • 14: 確認応答: 相手側からベースリンクコードワードを正しく受信したことを示すために、1に設定する。同一のベースコードワードを最低3回受信したことによって正しく受信したと判定される。
  • 15: ネクストページ: このビットは、ベースリンクコードワードの後に​​他のリンクコードワードを送信するときに使用される。

技術的能力フィールド(technology ability field)は8ビットで構成されている。IEEE 802.3では、次のように定義されている。

  • ビット0: 装置が10BASE-Tに対応している
  • ビット1: 装置が10BASE-T 全二重に対応している
  • ビット2: 装置が100BASE-TXに対応している
  • ビット3: 装置が100BASE-TX 全二重に対応している
  • ビット4: 装置が100BASE-T4に対応している
  • ビット5: ポーズ
  • ビット6: 全二重の非対称休止
  • ビット7: 予約

確認応答ビットは、相手のベースコードワードを正しく受信したことを知らせるために使用される。これは、同一のベースコードワードを最低3回受信したことに対応する。同一のベースコードワードを3回受信すると、装置は以降6回目から8回目まで、確認応答ビットを1に設定してリンクコードワードを送信する。

リンクコードワードはページ(page)とも呼ばれる。従って、ベースリンクコードワードはベースページとも呼ばれる。ベースページのネクストページビットは、装置が他のページを送信しようとしているときに1に設定される。これを使用して他の機能を通知することができる。この追加ページは、両方の装置がネクストページビットを1に設定してベースページを送信した場合にのみ送信される。追加ページもまたリンクコードワードとしてエンコードされる(17クロックパルスで最大16ビットパルスを使用)。

メッセージページと未フォーマットページ[編集]

装置が10BASE-T、100BASE-TX、100BASE-T4のうちどのモードに対応しているかを通知するには、ベースページ(ベースリンクコードワード)だけで十分である。ギガビット・イーサネットの場合、あと2つ別のページが必要となる。両方の装置がネクストページビットを1に設定してベースページを送信した場合、これらのページが送信される。

追加のページには、メッセージページ(message page)と未フォーマットページ(unformatted page)の2種類がある。これらのページは、ベースページと同じ方法でエンコードされた16ビットワードである。最初の11ビットはデータで、最後から2番目のビットはページがメッセージページか未フォーマットページかを示す。各ページの最後のビットは、追加のページがあることを示す。

1000BASE-Tがサポートするモードとマスター・スレーブデータ(2つの装置のどちらがマスターとして動作し、どちらがスレーブとして動作するかを決定するために使用される)は、単一のメッセージページとその後に単一の未フォーマットページを使用して送信される。メッセージページには以下が含まれる。

  • 通信モード(半二重/半二重)
  • 装置がシングルポートかマルチポートか
  • マスター/スレーブが手動で設定されているかどうか
  • マスター/スレーブが手動設定の場合、装置がマスター・スレーブのどちらで設定されているか

未フォーマットページには、マスタースレーブシード値(master-slave seed value)と呼ばれる10ビットワードが含まれている。

通信モードの不一致[編集]

2つの接続デバイスが異なる通信モードに設定されていると、通信モードの不一致(duplex mismatch)が発生する。これは、例えば、一方がオートネゴシエーション用に設定されていて、もう一方が全二重(オートネゴシエーションなし)の動作モードに固定されているような場合である。このような状況では、オートネゴシエーションによって動作速度は正しく検出されるが、通信モードは正しく検出されない。その結果、通信速度は正しく設定されるものの、通信モードは半二重として通信が開始される。

2つの装置の内、片方が全二重、片方が半二重で動作している場合、両方の装置が同時にフレームを送信しようとすると、接続は非常に低いスループットでのみ機能する。これは、全二重モードではデータを両方向に同時に送信できるが、半二重モードでは一度に一方向にしか送信できないためである。その結果、全二重の装置では、受信中にデータを送信することがある。ただし、他の装置が半二重で動作している場合、データを受信することは期待されていない(現在送信中のため)。そのため、衝突(コリジョン)を検知し、送信中のフレームを再送信しようとする。タイミングによっては、半二重の装置はレイト・コリジョン(late collision)を検出することがある。これはCSMA/CDでハードエラーとして解釈されてフレームを再送信しない場合がある。一方、全二重の装置は衝突を検出せず、他の装置が衝突によって破損しているとして廃棄した場合でも、フレームを再送信しない。それでも、受信フレームが衝突検出によって切り捨てられることを期待していない全二重の装置は、半二重の装置が送信しようとした打ち切られたフレームからのフレームチェックシーケンスエラーを報告する。半二重の装置ドで報告されたレイト・コリジョンと全二重の装置で報告されたFCSエラーの組み合わせは、通信モードの不一致が存在することを示すものとして使用できる。

パケット損失は、両方の装置が同時に送信しているときに発生する。また、リンクがユーザーの視点から見て一方向にのみ使用されている場合でも発生する可能性がある。TCPストリームでは、送信側の全てのパケットが受信側デバイスによって確認応答される必要がある。その結果、実際のデータが一方向にのみ送信されている場合でも、逆方向に送信される確認応答パケットとの衝突が発生する可能性がある。

特許[編集]

オートネゴシエーションは、以下の特許により保護されている。

[6]

  • 欧州特許出願 SN 93308568.0 (DE, FR, GB, IT, NL)
  • 韓国特許 No. 286791
  • 台湾特許 No. 098359
  • 日本特許 No. 3705610
  • 日本特許 4234. 特許出願 SN H5-274147
  • 韓国特許出願 SN 22995/93
  • 台湾特許出願 SN 83104531

関連項目[編集]

  • Auto MDI-X - ストレート・クロスケーブル接続の自動設定

脚注[編集]

  1. ^ IEEE 802.3, p. 221, http://standards.ieee.org/getieee802/download/802.3-2012_section2.pdf 
  2. ^ Jayaswal, Kailash (2005). Administering Data Centers Servers, Storage, and Voice over IP.. Hoboken: John Wiley & Sons. p. 168. ISBN 0471783358. 
  3. ^ Schmidt, Daniel Minoli, Andrew (1998). Switched network services. New York: Wiley Computer Pub.. p. 93. ISBN 0471190802. 
  4. ^ IEEE. “Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) access method and Physical Layer specifications”. SECTION TWO: This section includes Clause21 through Clause 33 and Annex 22A through Annex 33E.. 2014年6月3日閲覧。
  5. ^ Archived copy”. 2008年11月19日時点のオリジナルよりアーカイブ。2009年12月2日閲覧。
  6. ^ a b Negotiated Data Solutions LLC. “NWay/IEEE Standard Patent License Offer | Negotiated Data Solutions LLC”. Negotiateddata.com. 2009年1月6日時点のオリジナルよりアーカイブ。2010年2月2日閲覧。
  7. ^ Configuring and Troubleshooting Ethernet 10/100/1000Mb Half/Full Duplex Auto-Negotiation”. Cisco. 2012年1月12日閲覧。 “Cisco recommends to leave auto-negotiation on for those devices compliant with 802.3u.”
  8. ^ Jim Eggers and Steve Hodnett (2004年7月). “Ethernet Autonegotiation Best Practices”. Sun Microsystems. 2011年5月20日時点のオリジナルよりアーカイブ。2019年4月7日閲覧。 “Using autonegotiation is the IEEE 802.3 standard and customers are encouraged to follow the "intent" of IEEE 802.3u/z standards and implement autonegotiation in their Ethernet environments.”
  9. ^ Rich Hernandez (2001年). “Gigabit Ethernet Auto-Negotiation”. Dell. 2012年1月12日閲覧。
  10. ^ IEEE 802.3 Annex 28B
  11. ^ IEEE Link Task Force Autodetect, Specification for NWay Autodetect”. p. 57. 2011年7月14日時点のオリジナルよりアーカイブ。2019年4月7日閲覧。

外部リンク[編集]