欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux模擬網絡丟包與延遲的方法

 更新時間:2019年05月13日 08:38:18   作者:senlinzhan  
這篇文章主要給大家介紹了關于Linux模擬網絡丟包與延遲的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Linux具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

netem 與 tc:

netem 是 Linux 2.6 及以上內核版本提供的一個網絡模擬功能模塊。該功能模塊可以用來在性能良好的局域網中,模擬出復雜的互聯(lián)網傳輸性能,諸如低帶寬、傳輸延遲、丟包等等情況。使用 Linux 2.6 (或以上) 版本內核的很多發(fā)行版 Linux 都開啟了該內核功能,比如Fedora、Ubuntu、Redhat、OpenSuse、CentOS、Debian等等。

tc 是 Linux 系統(tǒng)中的一個工具,全名為traffic control(流量控制)。tc 可以用來控制 netem 的工作模式,也就是說,如果想使用 netem ,需要至少兩個條件,一個是內核中的 netem 功能被包含,另一個是要有 tc 。

需要注意的是:本文介紹的流控只能控制發(fā)包動作,不能控制收包動作,同時,它直接對物理接口生效,如果控制了物理的eth0,那么邏輯網卡(比如eth0:1)也會受到影響,反之,如果您在邏輯網卡上做控制,該控制可能是無效的。(注:虛擬機中的多個網卡可以在虛擬機中視為多個物理網卡)。

Linux 有個 tc 工具,即 traffic control,可以用來模擬網絡丟包和延遲。在開發(fā)后臺 server 時,如果我們想要知道這個 server 在特定的網絡丟包情況下,是否能表現(xiàn)良好,就可以用 tc 來模擬丟包率。

模擬丟包

下面命令可以模擬丟包,從 eth0 網口出去的包將隨機丟失 10%:

sudo tc qdisc add dev eth0 root netem loss 10%

模擬延遲

下面命令,從 eth0 網口出去的包將延遲 40ms:

sudo tc qdisc add dev eth0 root netem delay 40ms

特定場景下的丟包和延遲

注意,上面我們介紹的命令,是針對整個 eth0 網口起作用的,也就是說,只要是從 eth0 出去的所有的包,都會產生隨機丟包或者延遲。但有時候,我們只想讓丟包和延遲作用于某個目的地址,那要怎么做呢?

sudo tc qdisc add dev eth0 root handle 1: prio
sudo tc qdisc add dev eth0 parent 1:3 handle 30: netem loss 13% delay 40ms
sudo tc filter add dev eth0 protocol ip parent 1:0 u32 match ip dst 199.91.72.192 match ip dport 36000 0xffff flowid 1:3

上面的命令,我們告訴 tc,對發(fā)往 199.91.72.192:36000 的網絡包產生 13% 的丟包和 40ms 的延遲,而發(fā)往其它目的地址的網絡包將不受影響。

刪除規(guī)則

好了,模擬完丟包和延遲之后,要記得刪除掉規(guī)則:

sudo tc qdisc del dev eth0 root

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

相關文章

  • linux服務器下通過iptables+Denyhost抵御暴力破解的配置方法

    linux服務器下通過iptables+Denyhost抵御暴力破解的配置方法

    這篇文章主要介紹了linux服務器下通過iptables + Denyhost抵御暴力破解的方法,需要的朋友可以參考下
    2014-11-11
  • linux操作之清空文件方式

    linux操作之清空文件方式

    這篇文章主要介紹了linux操作之清空文件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Linux運維工具Supervisor的安裝使用(進程管理工具)

    Linux運維工具Supervisor的安裝使用(進程管理工具)

    這篇文章主要介紹了Linux運維工具Supervisor的安裝使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • CentOS 7中 Minimal 安裝JDK 1.8的教程

    CentOS 7中 Minimal 安裝JDK 1.8的教程

    這篇文章主要介紹了CentOS 7 Minimal 安裝JDK 1.8的教程,非常不錯,具有參考借鑒價值 ,需要的朋友可以參考下
    2018-05-05
  • 嵌入式Linux開發(fā)環(huán)境搭建ping、nfs的解決方法

    嵌入式Linux開發(fā)環(huán)境搭建ping、nfs的解決方法

    在本篇文章里小編給大家整理了關于嵌入式Linux開發(fā)環(huán)境搭建ping、nfs的解決方法,需要的朋友們學習參考下。
    2019-07-07
  • Linux下的chkconfig命令詳解

    Linux下的chkconfig命令詳解

    大家都知道chkconfig命令在linux中使用是非常的關鍵的,我們可以利用chkconfig來對系統(tǒng)的一些啟動與禁止相關設置,下面這篇文章小編就來給大家詳細的介紹Linux下的chkconfig命令用法,有需要的朋友們可以參考學習,下面來一起看看吧。
    2016-11-11
  • 修改wamp的apache默認端口80為8088以及www目錄

    修改wamp的apache默認端口80為8088以及www目錄

    這篇文章主要介紹了修改wamp的apache默認端口80為8088以及www目錄為workphp,需要的朋友可以參考下
    2014-03-03
  • Linux 硬鏈接和軟鏈接詳細介紹

    Linux 硬鏈接和軟鏈接詳細介紹

    這篇文章主要介紹了Linux 硬鏈接和軟鏈接詳細介紹的相關資料,需要的朋友可以參考下
    2016-11-11
  • Linux shell中的test命令用法教程

    Linux shell中的test命令用法教程

    這篇文章主要給大家介紹了Linux shell中的test命令用法的相關資料,test命令是shell環(huán)境中測試條件表達式的實用工具,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-04-04
  • Linux入侵常用命令之防黑客示例代碼

    Linux入侵常用命令之防黑客示例代碼

    這篇文章主要給大家介紹了關于Linux入侵常用命令之防黑客的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-05-05

最新評論