linux下模擬網絡環境,主要是使用tc命令改寫內核信息來模擬網卡收發包的延遲和丟失率。
分為三部分:
1 安裝linux系統,可使用redhat5.x企業版,在安裝的時候注意勾選“系統網絡設置”工具。
2 建立透明橋接,需要至少2個物理網口,如果需要額外管理,則需要3個。
建立透明橋接步驟如下:
網卡准備,網卡不能設置ip地址
a建立橋組
#brctl addbr bridgename
b將兩層接口加入橋組
#brctl addif bridgenamedevice
c把生成的網橋UP起來
#ifconfig bridgename up
d檢驗
#brctl show 可以看到橋接信息
#/user/sbin/brctl show 查看橋接信息
#ifconfig –a 可以看到橋接端口
#接上網線進行測試
其他命令:
#brctl delbr bridgename 刪除橋接組
#brctl delif bridgename device 將物理接口從橋接組刪除
3 使用tc命令模擬網絡環境
Tc是linux下的流量控制工具,基本功能模塊包括隊列、分類、過濾器、通過相關參數進行流量控制,可通過‘man tc’命令查看tc的所有操作信息。
注:限制接口應為連接client端接口。
我們常用的是隊列模塊,命令格式如下:
tc qdisc [ add | del | change | replace | link ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] qdisc [ qdisc spe-cific parameters ]
命令解說:
#tc qdisc add dev eth0 root netem delay 1000ms 所有經過eth0的數據延遲1000ms
#tc qdisc add dev eth0 root netem delay 1000ms 500ms 數據延遲范圍在1000±500ms
#tc qdisc add dev eth0 root netem delay loss 10% 丟包率為10%
#tc qdisc add dev eth0 root netem delay loss 10% 5% 丟包率范圍在10±5%
# tc qdisc add dev eth0 root netem duplicate 10% 隨機產生10%的重復包
# tc qdisc add dev eth0 root netem corrupt 10% 隨機產生10%的損壞包
# tc qdisc add dev eth0 root netem delay 10ms reorder 25% 50% 有25%的包(50%相關)立即傳送,其他延遲10ms
# tc qdisc 查看信息
#以上命令可疊加使用
本文出自 “CXZ” 博客,請務必保留此出處http://chenxz.blog.51cto.com/614454/897218