真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Linux模擬網(wǎng)絡(luò)丟包與延遲的方法

netem 與 tc:

成都創(chuàng)新互聯(lián)公司網(wǎng)絡(luò)公司擁有十余年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗(yàn),千余家客戶的共同信賴。提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、網(wǎng)站開發(fā)、網(wǎng)站定制、買友情鏈接、建網(wǎng)站、網(wǎng)站搭建、自適應(yīng)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)

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

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

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

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

模擬丟包

下面命令可以模擬丟包,從 eth0 網(wǎng)口出去的包將隨機(jī)丟失 10%:

sudo tc qdisc add dev eth0 root netem loss 10%

模擬延遲

下面命令,從 eth0 網(wǎng)口出去的包將延遲 40ms:

sudo tc qdisc add dev eth0 root netem delay 40ms

特定場景下的丟包和延遲

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

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 的網(wǎng)絡(luò)包產(chǎn)生 13% 的丟包和 40ms 的延遲,而發(fā)往其它目的地址的網(wǎng)絡(luò)包將不受影響。

刪除規(guī)則

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

sudo tc qdisc del dev eth0 root

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對創(chuàng)新互聯(lián)的支持。


網(wǎng)站欄目:Linux模擬網(wǎng)絡(luò)丟包與延遲的方法
本文地址:http://weahome.cn/article/psepcj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部