Simulating a bad internet connection

后端 未结 4 1020
没有蜡笔的小新
没有蜡笔的小新 2021-01-30 13:42

I\'m developing an embedded device which has access to the internet through LAN. I\'m in the testing phase now, and I would like to test how the device performs when the connect

4条回答
  •  日久生厌
    2021-01-30 14:13

    If you have a Mac handy, Macs have kernel facility called dummynet built in, which you control through ipfw. It allows you to simulate a slow connection, randomly drop packets with certain probabilities, and more.

    The same facility exists in Linux and other OSes.

    From the dummynet homepage:

    As of Feb.2010 we have released the third major version of dummynet, which now runs on all main platforms: FreeBSD, Mac OS X as part of the native distributions, and you can find Linux, OpenWRT and Windows versions here.

    It can do a lot for you:

    limit the total incoming TCP traffic to 2Mbit/s, and UDP to 300Kbit/s

    ipfw add pipe 2 in proto tcp
    ipfw add pipe 3 in proto udp
    ipfw pipe 2 config bw 2Mbit/s
    ipfw pipe 3 config bw 300Kbit/s
    

    limit incoming traffic to 300Kbit/s for each host on network 10.1.2.0/24.

    ipfw add pipe 4 src-ip 10.1.2.0/24 in
    ipfw pipe 4 config bw 300Kbit/s queue 20 mask dst-ip 0x000000ff
    

    simulate an ADSL link to the moon:

    ipfw add pipe 3 out
    ipfw add pipe 4 in
    ipfw pipe 3 config bw 128Kbit/s queue 10 delay 1000ms
    ipfw pipe 4 config bw 640Kbit/s queue 30 delay 1000ms
    

提交回复
热议问题