女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux下的流量控制原理

我快閉嘴 ? 來源:奇妙的Linux世界 ? 作者:陳少文 ? 2022-09-07 09:10 ? 次閱讀

	

1. Linux 下的流量控制原理

通過對包的排隊,我們可以控制數(shù)據(jù)包的發(fā)送方式。這種控制,稱之為數(shù)據(jù)整形,shape the data,包括對數(shù)據(jù)的以下操作:

  • 增加延時
  • 丟包
  • 重新排列
  • 重復(fù)、損壞
  • 速率控制

qdisc-class-filter 結(jié)構(gòu)下,對流量進(jìn)行控制需要進(jìn)行三個步驟:

  • 創(chuàng)建 qdisc 隊列

上面提到 Linux 是通過包的排隊進(jìn)行流量的控制,那么首先得有一個隊列。

  • 創(chuàng)建 class 分類

class 實際上,就是劃分流量策略分類。比如劃分兩檔流量限速 10MBps、20MBbs。

  • 創(chuàng)建 filter 過濾

雖然創(chuàng)建了 class 分類,但是并沒有將任何的 IP、Port 綁定到 class 上,此時并不會有控制作用。還需要創(chuàng)建 filter 將指定的 IP、Port 綁定到 class 上,才能使流量控制 class 生效于資源。

TC 是 Linux 下提供的流量控制工具,也是 Cilium/eBPF 等網(wǎng)絡(luò)組件的核心基礎(chǔ)設(shè)施之一。

2. 限制指定 IP、Port 對本機(jī)的訪問速度

2.1 查看網(wǎng)卡

ifconfig

eth0:flags=4163mtu1500
inet1.1.1.1netmask255.255.254.0broadcast1.1.1.1
inet61:11prefixlen64scopeid0x20
ether111:1txqueuelen1000(Ethernet)
RXpackets2980910bytes2662352343(2.4GiB)
RXerrors0dropped0overruns0frame0
TXpackets1475969bytes122254809(116.5MiB)
TXerrors0dropped0overruns0carrier0collisions0

2.2 配置 qdisc-class-filter

  • 創(chuàng)建 qdisc 根隊列
tcqdiscadddeveth0roothandle1:htbdefault1
  • 創(chuàng)建第一級 class 綁定所有帶寬資源

注意這里的單位是 6 MBps,也就是 48 Mbps

tcclassadddeveth0parent1:0classid1:1htbrate6MBpsburst15k
  • 創(chuàng)建子分類 class

可以創(chuàng)建多個子分類,對資源的流量進(jìn)行精細(xì)化管理。

tcclassadddeveth0parent1:1classid1:10htbrate6MBpsceil10MBpsburst15k

這里 ceil 設(shè)置的是上限,正常情況下限速為 6MBps,但網(wǎng)絡(luò)空閑時,可以達(dá)到 10 MBps。

  • 創(chuàng)建過濾器 filter,限制 IP
tcfilteradddeveth0protocolipparent1:0prio1u32matchipdst1.2.3.3flowid1:10

這里對 1.2.3.4 進(jìn)行限制帶寬為 1:10,也就是 6MBps。當(dāng)然,你也可以直接給網(wǎng)段 1.2.0.0/16 加 class 策略。

2.3 查看并清理配置

  • 查看 class 配置
tcclassshowdeveth0

classhtb1:10parent1:1leaf10:prio0rate48Mbitceil80Mbitburst15Kbcburst1600b
classhtb1:1rootrate48Mbitceil48Mbitburst15Kbcburst1590b
  • 查看 filter 配置
tcfiltershowdeveth0

filterparent1:protocolippref1u32chain0
filterparent1:protocolippref1u32chain0fh800:htdivisor1
filterparent1:protocolippref1u32chain0fh800::800order2048keyht800bkt0flowid1:10not_in_hw
match01020303/ffffffffat16
  • 清理全部配置
tcqdiscdeldeveth0root

3. 限制本機(jī)對指定 IP、Port 的訪問速度

由于排隊規(guī)則主要是基于出口方向,不能對入口方向的流量(Ingress)進(jìn)行限制。因此,我們需要將流量重定向到 ifb 設(shè)備上,再對 ifb 的出口流量(Egress)進(jìn)行限制,以最終達(dá)到控制的目的。

3.1 啟用虛擬網(wǎng)卡

  • 將在 ifb 設(shè)備
modprobeifbnumifbs=1
  • 啟用 ifb0 虛擬設(shè)備
iplinksetdevifb0up

3.2 配置 qdisc-class-filter

  • 添加 qdisc
tcqdiscadddeveth0handleffff:ingress
  • 重定向網(wǎng)卡流量到 ifb0
tcfilteradddeveth0parentffff:protocolipu32matchu3200actionmirredegressredirectdevifb0
  • 添加 class 和 filter
tcqdiscadddevifb0roothandle1:htbdefault10
tcclassadddevifb0parent1:0classid1:1htbrate6Mbps
tcclassadddevifb0parent1:1classid1:10htbrate6Mbps
tcfilteradddevifb0parent1:0protocolipprio16u32matchipdst1.2.3.4flowid1:10

3.3 查看并清理配置

  • 下面是限速本機(jī)對指定 IP 訪問的監(jiān)控圖

7e175268-2e3d-11ed-ba43-dac502259ad0.png

進(jìn)入的流量被限制在 6 MBps 以下,而出去的流量不被限制。

  • 查看 class 配置
tcclassshowdevifb0

classhtb1:10parent1:1prio0rate48Mbitceil48Mbitburst1590bcburst1590b
classhtb1:1rootrate48Mbitceil48Mbitburst1590bcburst1590b
  • 查看 filter 配置
tcfiltershowdevifb0

filterparent1:protocolippref16u32chain0
filterparent1:protocolippref16u32chain0fh800:htdivisor1
filterparent1:protocolippref16u32chain0fh800::800order2048keyht800bkt0flowid1:10not_in_hw
match01020304/ffffffffat16
  • 清理全部配置
tcqdiscdeldeveth0ingress
tcqdiscdeldevifb0root
modprobe-rifb

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11456

    瀏覽量

    212760
  • 流量控制
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    9768

原文標(biāo)題:如何在 Linux 下使用 TC 優(yōu)雅的實現(xiàn)網(wǎng)絡(luò)限流

文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    ATM流量控制器IP核的設(shè)計和實現(xiàn)

      ATM異步傳遞方式是建立在電路交換和分組交換基礎(chǔ)上的一種面向連接的快速分組交換技術(shù),它采用定長分組作為傳輸和交換的單位,并具有端到端QOS保證、完善的流量控制和擁塞控制,以及較好的技術(shù)綜合能力等
    發(fā)表于 09-27 11:54

    韓國MKP質(zhì)量流量控制

    韓國MKP質(zhì)量流量控制器韓國MKP質(zhì)量流量控制器吳經(jīng)理 1324.6675.433 /0755-26998458 工作Q:1139878854 地址:深圳市南山區(qū)科技園南海大道4050號MKP致力于
    發(fā)表于 03-27 16:40

    韓國MKP流量計 VIC-D220質(zhì)量流量控制

    `韓國MKP質(zhì)量流量計VIC-D220質(zhì)量流量控制器MKP質(zhì)量流量控制器(Mass Flow Controller) 深圳市現(xiàn)代豪方儀器儀表科技有限公司吳經(jīng)理:135.3421.8343工作Q
    發(fā)表于 12-06 15:15

    MKP TSC-D230流量控制

    MKP TSC-D230流量控制器MKP TSC-D230流量控制器供應(yīng)韓國MKP氣體質(zhì)量流量計吳經(jīng)理 132.4667.5433 /0755-26998458 工作Q:1139878854 MKP
    發(fā)表于 01-15 10:08

    VIC-D145 MKP流量控制

    VIC-D145 MKP流量控制器 VIC-D145 MKP流量控制器供應(yīng)韓國MKP氣體質(zhì)量流量計--中國總代理吳經(jīng)理 ***工作Q:1139878854 MKP氣體流量計 VIC-D
    發(fā)表于 03-10 11:56

    MKP TSC-230 質(zhì)量流量控制

    MKP TSC-230 質(zhì)量流量控制器MKP TSC-230 質(zhì)量流量控制器供應(yīng)韓國MKP氣體質(zhì)量流量計---中國總代-吳經(jīng)理(***工作Q: 1139878854地址:深圳市南山區(qū)科技園南海大道
    發(fā)表于 03-30 15:17

    TSC-210質(zhì)量流量控制

    TSC-210質(zhì)量流量控制器TSC-210質(zhì)量流量控制器詳詢請致電 吳經(jīng)理: ***工作Q: 1139878854MKP型號質(zhì)量流量控制器VIC-D210,VIC-D220,VIC-D240
    發(fā)表于 07-22 10:36

    什么是數(shù)據(jù)通信的信息流量控制

    什么是數(shù)據(jù)通信的信息流量控制 流量控制是網(wǎng)絡(luò)技術(shù)中的一個重要課題,此處以ATM網(wǎng)絡(luò)為例對流量控制的各個問題進(jìn)行說明。ATM網(wǎng)絡(luò)
    發(fā)表于 03-18 14:35 ?752次閱讀

    什么是ATM流量控制和擁塞控制

    什么是ATM流量控制和擁塞控制 流量控制是網(wǎng)絡(luò)技術(shù)中的一個重要課題,此處以ATM網(wǎng)絡(luò)為例對流量控制的各個問題進(jìn)行說明。ATM網(wǎng)絡(luò)能夠?qū)Σ煌瑯I(yè)務(wù)
    發(fā)表于 04-06 16:04 ?2863次閱讀

    SpaceWire總線的流量控制機(jī)制研究

    SpaceWire總線的流量控制機(jī)制研究_趙云富
    發(fā)表于 01-03 18:00 ?0次下載

    基于LabVIEW的總流量控制理論的仿真應(yīng)用

    基于LabVIEW的總流量控制理論的仿真應(yīng)用
    發(fā)表于 02-07 18:01 ?26次下載

    分組交換網(wǎng)流量控制的類型_分組交換網(wǎng)流量控制的方式

    指網(wǎng)內(nèi)相鄰兩節(jié)點之間的流量控制,使之維持一個均勻的流量,避免局部地區(qū)的阻塞。
    的頭像 發(fā)表于 09-13 16:45 ?3085次閱讀

    流量控制閥的工作原理

    流量控制閥是在一定壓力差下,依靠節(jié)流口液阻的改變大小來控制節(jié)流口流量,從而調(diào)節(jié)執(zhí)行元件的運(yùn)動速度。主要包括節(jié)流閥、調(diào)速閥、溢流節(jié)流閥和分流集流閥等。 流量控制閥的工作原理: 數(shù)顯
    的頭像 發(fā)表于 08-08 21:41 ?1.4w次閱讀

    如何在Linux使用TC優(yōu)雅的實現(xiàn)網(wǎng)絡(luò)限流

    TC 是 Linux 提供的流量控制工具,也是 Cilium/eBPF 等網(wǎng)絡(luò)組件的核心基礎(chǔ)設(shè)施之一。
    發(fā)表于 12-26 10:06 ?963次閱讀

    啤酒機(jī)如何實現(xiàn)液體流量控制

    啤酒機(jī)是現(xiàn)代家庭和餐飲場所中越來越受歡迎的設(shè)備,它可以方便地提供各種風(fēng)味的啤酒。流量控制是啤酒機(jī)制作啤酒過程中的重要環(huán)節(jié)之一,而流量計則是實現(xiàn)這一控制的關(guān)鍵部件。本文將介紹啤酒機(jī)如何通過流量
    的頭像 發(fā)表于 11-02 14:29 ?655次閱讀
    啤酒機(jī)如何實現(xiàn)液體<b class='flag-5'>流量控制</b>