netem と tc: netem は、Linux カーネル バージョン 2.6 以降で提供されるネットワーク シミュレーション モジュールです。この機能モジュールを使用すると、パフォーマンスの良好なローカル エリア ネットワークで、低帯域幅、伝送遅延、パケット損失などの複雑なインターネット伝送パフォーマンスをシミュレートできます。 Fedora、Ubuntu、Redhat、OpenSuse、CentOS、Debian など、Linux 2.6 (またはそれ以降) カーネル バージョンを使用する多くの Linux ディストリビューションでは、このカーネル機能が有効になっています。 tc は Linux システムのツールであり、正式名称はトラフィック制御です。 tc は netem の動作モードを制御するために使用できます。つまり、netem を使用する場合は、少なくとも 2 つの条件が必要です。1 つはカーネルに netem 関数が含まれていること、もう 1 つは tc が必要であることです。 この記事で紹介したフロー制御は、パケットの送信動作のみを制御でき、パケットの受信動作を制御できないことに注意してください。同時に、物理インターフェースに直接影響を及ぼします。物理 eth0 を制御すると、論理ネットワーク カード (eth0:1 など) も影響を受けます。逆に、論理ネットワーク カードを制御すると、制御が無効になる可能性があります。 (注: 仮想マシン内の複数のネットワーク カードは、仮想マシン内の複数の物理ネットワーク カードとみなされます)。 Linux には、ネットワーク パケットの損失と遅延をシミュレートするために使用できるトラフィック制御という tc ツールがあります。バックエンド サーバーを開発するときに、特定のネットワーク パケット損失条件下でサーバーが適切に機能するかどうかを知りたい場合は、tc を使用してパケット損失率をシミュレートできます。 パケット損失のシミュレーション 次のコマンドはパケット損失をシミュレートすることができ、eth0 ネットワーク ポートから送信されるパケットの 10% がランダムに失われます。 sudo tc qdisc add dev eth0 root netem 損失 10% アナログディレイ 次のコマンドは、eth0 ネットワーク ポートから送信されるパケットを 40 ミリ秒遅延します。 sudo tc qdisc add dev eth0 root netem 遅延 40ms 特定のシナリオにおけるパケット損失と遅延 上記で紹介したコマンドは eth0 ネットワーク ポート全体に有効であることに注意してください。つまり、eth0 から送信されるすべてのパケットでランダムなパケット損失または遅延が発生します。しかし、場合によっては、パケット損失と遅延が特定の宛先アドレスにのみ影響するようにしたいことがあります。どうすればよいでしょうか? sudo tc qdisc dev eth0 ルートハンドル 1 を追加します: prio sudo tc qdisc add dev eth0 parent 1:3 handle 30: netem 損失 13% 遅延 40ms sudo tc フィルターを追加 dev eth0 プロトコル ip 親 1:0 u32 一致 ip dst 199.91.72.192 一致 ip dport 36000 0xffff フロー ID 1:3 上記のコマンドでは、199.91.72.192:36000 に送信されるネットワーク パケットに対して 13% のパケット損失と 40 ミリ秒の遅延を生成するように tc に指示していますが、他の宛先アドレスに送信されるネットワーク パケットには影響はありません。 ルールの削除 パケット損失と遅延をシミュレートした後、ルールを削除することを忘れないでください。 sudo tc qdisc del dev eth0 ルート 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
<<: React Hook の使用例 (一般的なフック 6 つ)
>>: MySQL がユーザー名とパスワードの漏洩を引き起こす可能性のある Riddle の脆弱性を公開
この記事では主に、Web ページ上でデスクトップ exe プログラムを呼び出す方法を紹介します。 W...
この記事では、商品詳細ページの虫眼鏡を実装するためのVueの具体的なコードを参考までに共有します。具...
1.デバイス幅定義: 出力デバイスの画面表示幅を定義します。 Web ページが Safari で開か...
出典: http://www.ruoyi.vip/ 'vue' から Vue をイン...
目次これ方法オブジェクト内これを隠した厳密モードこれを変更してこれいつものように、まずはコードを見て...
序文tcpdump はよく知られたコマンドライン パケット分析ツールです。 tcpdump コマンド...
1. 丸い境界線: CSSコードコンテンツをクリップボードにコピー境界線の半径: 4px ; 2....
序文:複数の要素を格納するために、配列は最も一般的に使用されるデータ構造ですが、配列には多くの欠点も...
Prometheus (プロメテウスとも呼ばれる) 公式サイト: https://prometheu...
フォームを送信するときに、送信前に追加のパラメータが追加される状況が発生する場合があります。この問題...
目次序文一般的な方法1. 親コンポーネントを介して子コンポーネントの発行イベントをリッスンしてpro...
この記事の例では、ドロップダウンリストを実装するためのJavaScriptの具体的なコードを参考まで...
CSS のFlex(彈性布局)すると、Web ページのレイアウトを柔軟に制御できます。Flex Fl...
序文多くの MySQL テスト シナリオでは、テスト用に一部のテスト データを手動で生成する必要があ...
1. ダウンロードリンクをダウンロードするダウンロードをクリックします。Oracle アカウントにロ...