Jump to content 日本-日本語
製品  >  ソフトウェア  >  Linux

bondingドライバ利用時のリピータハブ使用について

Open Source & Linux

導入事例

product

ハードウェア
ソフトウェア
サービス & サポート

buy now?

HPE OPEN SERVICES
保守サービス
教育プログラム

support

OS対応表
システム構成図
技術文書
FAQ
ディストリ対応表
サポート & ドライバ
リンク
SDR - 設定方法
FreeBSD
サイトマップ
HPE & Red Hat情報ポータル HPEとRed Hatが実現するオープンなイノベーション
BSD 動作確認レポート等を掲載
コンテンツに進む
20-MAR-04
 本ページに記載してある内容は限られた評価環境に於ける検証結果に基づいたものです。本ページの情報を利用する前に予めサイト内リンク技術情報サイト内リンク保証について、ディストリビュータが提供する WEBサイト等をご覧ください。
 本ページでは、bondingドライバ利用時のリピーターハブの問題点について説明します。

動作確認環境

  • Red Hat EL 2.1
  • Red Hat EL 3 AS QU1
  • e100.o v2.3.27a-1
  • e1000.o v5.2.16a-1
  • bcm5700 v7.1.9c-1
+
他のディストリビューションを利用した同等環境でも同様に発生すると思われます

概要

 bondingドライバ利用時、リピーターハブを使用すると、以下の例のようにパケットが dulplicate になってしまう現象が発生するため、リピータハブを利用することはおすすめしません。

 
PING 192.168.4.101 (192.168.4.101) from 192.168.4.100 : 56(84) bytes of data.
64 bytes from 192.168.4.101: icmp_seq=0 ttl=64 time=312 usec
64 bytes from 192.168.4.101: icmp_seq=0 ttl=64 time=409 usec (DUP!)
64 bytes from 192.168.4.101: icmp_seq=1 ttl=64 time=292 usec
64 bytes from 192.168.4.101: icmp_seq=1 ttl=64 time=387 usec (DUP!)
64 bytes from 192.168.4.101: icmp_seq=2 ttl=64 time=283 usec
64 bytes from 192.168.4.101: icmp_seq=2 ttl=64 time=381 usec (DUP!)
64 bytes from 192.168.4.101: icmp_seq=3 ttl=64 time=287 usec
64 bytes from 192.168.4.101: icmp_seq=3 ttl=64 time=384 usec (DUP!)
64 bytes from 192.168.4.101: icmp_seq=4 ttl=64 time=279 usec
64 bytes from 192.168.4.101: icmp_seq=4 ttl=64 time=377 usec (DUP!)
64 bytes from 192.168.4.101: icmp_seq=5 ttl=64 time=286 usec
64 bytes from 192.168.4.101: icmp_seq=5 ttl=64 time=383 usec (DUP!)

--- 192.168.4.101 ping statistics ---
6 packets transmitted, 6 packets received, +6 duplicates, 0% packet loss
round-trip min/avg/max/mdev = 0.279/0.338/0.409/0.051 ms

bondingドライバ利用時にパケットがduplicateになる理由

 bonding driverは、active slave deviceの管理、上位ネットワーク層からのパケット送信を行い、パケット受信処理については一切関与しません。パケット受信処理は、slave deviceである NIC driverが担当しており、受信したパケットは bonding driverを経由せず、直接上位レイヤー(この場合 arp)に渡されます。

 下図は、bonding利用時にリピーターハブを使用し、ICMPパケットを送信した場合のシーケンス図です。(1)で送信されたパケットは、リピーターハブの全てのポートにブロードキャストされるため、eth0,eth1共に同じパケットを受信((2)、(3))します。NIC driver で受信したパケットは ARPレイヤーに渡され((4)、(5))、ARPレイヤーはそのリプライパケットを返します((6)、(7))。しかし、リプライパケットは、内容がまったく同一のパケットであるため、これらのパケットを受信したクライアントの pingコマンドは、重複したパケットであると判断し、端末へエラー(DUP!!)を表示します。

 従って、bonding driver(および NIC driver)の構造上、bonding利用時にリピーターハブを使用するとパケットが duplicate します。
シーケンス図
印刷用画面へ印刷用画面へ
プライバシー ご利用条件・免責事項