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 の脆弱性を公開
1. プロジェクト構造 2.Tomcat.javaを呼び出す パッケージ com.calltomca...
目次分離効果コマンドラインの説明関与する機能分離効果-- 別居前1,2,3,4 -- 別居後1 2 ...
1. 最初の方法は、ローカルのTomcatを起動してJSPを表示することです。 tomcatのweb...
目次概要1. バックエンドデータの取得と処理2. インターフェース表示処理概要前回のエッセイ「ステッ...
この記事では、例を使用して、MySQL の非主キーの自己増分の使用方法を説明します。ご参考までに、詳...
max_allowed_packet は、受け入れるパケットのサイズを設定するために使用される ...
<br />注:ウェブサイトの種類を示すものを除くすべてのテキストは、企業サイト用です。...
よく使われる4つのMySQLエンジンの紹介(1):MyISAMストレージエンジン:トランザクションや...
HTML と CSS で、ボタンの色を設定したいとします。 目的の効果は得られますが、プロセスはかな...
序文皆さんはリモート サーバーで開発を行っており、MySQL の使用率はかなり高いはずです。コマンド...
目次1. データベースを操作する1.1 データベースを作成する1.2 データベースをクエリする1.3...
解決親要素に position:relative を追加します。子要素に position:abso...
これは、Web ページを Windows のスタート メニューなどのデスクトップ プログラムのように...
フィルター属性は要素の視覚効果を定義しますぼかし画像にガウスぼかしを適用します。 「半径」の値は、ガ...
Tomcat は内部的に複数の ClassLoader を定義し、アプリケーションとコンテナーが異な...