3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

tcコマンドを使ったパケットロス設定

Last updated at Posted at 2019-04-13

概要

データが欠損時の再送機能のテストのためにパケットロスを発生させる環境を作った時のお話

環境

PC IP
データ送信PC 192.168.1.100
Macbook Pro 192.168.1.110,192.168.2.100
テスト対象PC 192.168.2.110

データ送信PC
  |
Macbook Pro <-ここでtcコマンドを実行
  |
テスト対象PC

tcコマンドでパケットロスを発生させる

パケットロスを発生させるためtcコマンドを使用する。
tc(8) man

しっかり設定しようとするとかなりややこしいコマンドなので、今回は簡単にパケットロスの設定と変更、削除のみ。

設定
tc qdisc add dev eth0 root netem loss 2%
設定値は少数も可能

確認
tc qdisc show dev eth0

設定値の変更
tc qdisc change dev eth0 root netem loss 4%

削除
tc qdisc del dev eth0 root

まとめ

tcコマンドはSource/Dest IPごとに制御したり帯域制限(帯域保証まで!)の設定もできる面白いコマンドだと思います。
この後に物理NIC一本で同じ環境作れない?みたいな面倒な案件もありましたが、それはまた時間があれば...

参考情報

tcを利用したトラフィックコントロール
よくわかるLinux帯域制限
Linux TC (帯域制御、帯域保証) 設定ガイドライン
tcコマンドの使い方

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?