TCPにもフロー制御の機能がありましたが、Ethernetにもフロー制御が定められています。IEEE802.3Xという規格です。
IEEE802.3X とは
Ethernet のフロー制御規格です。
スイッチはインタフェース単位で輻輳を検知し、受信リングバッファ (rx-ring) がオーバーフローする前に、そのインタフェースからマルチキャスト (0180:c200:0001) 宛に PAUSE フレームを送り、受信した端末は一定時間通信を止めます。
PAUSE フレームのフォーマット
IEEE802.3X のフロー制御の PAUSE フレームのフォーマットを以下に示します。
操作コードには PAUSE を示す「1」が入ります。
このフレームを受け取った端末は、「中断時間 * 512」の bit 数分の時間、送信を止めます。例えば中断時間 = 10000、インタフェースの速度 = 1 Gbps であれば、bit 数分の時間、というのは
送信停止時間 = (10000*512[bit])/ (1*1024*1024*1024[bit/sec]) = 4.7[msec]
となります。
また、この時間が経過する前であっても、バッファに空きができたら「中断時間 = 0」の PAUSE フレームを送ることで、相手方に転送開始をしてよいことを伝えることができます。
Ethernet の中身データの最小サイズは 46 bit なので、残りを 46 bit 目まで Padding で埋めます。
cisco のコマンド
cisco では IEEE802.3X はデフォルトで無効になっています。
PAUSE フレームを送る設定にしたいときは、インタフェースで以下コマンドを打ちます。
(config-if)# flowcontrol send on
また、PAUSE フレームを受信した時に、PAUSE フレームに従って通信停止させたい場合は、インタフェースで以下コマンドを打ちます。
(config-if)# flowcontrol receive on
IT/インフラエンジニアの地位とスキル向上のために

【年収UPの体験談】あなたの IT/インフラエンジニアとしての価値
IT 技術の進化はとどまることを知りません。矢継ぎ早に新たな技術が出てきたり、数年前の技術が時代遅れになったりと、IT エンジニアは勉強し続ける運命のようです。 それをどう思うかはあなた次第。 ビジネスの基本は『付加価値を与える...

【パケットキャプチャ】はNWエンジニアの価値を大きく高める
nesuke の考える NW エンジニアの2つの道 ネットワークエンジニアには 2 つの道があります。 1 つはネットワーク構築一筋で、L4 までをひたすらきっちりと構築していく道。 もう 1 つはネットワークを軸として深堀し...

あなたが成長の日々を歩めますように。
コメント