<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Linux下的網絡輸入輸出流量的帶寬控制(2015-11-23更新)

      Linux下的網絡輸入輸出流量的帶寬控制

      整理者:赤子玄心

      QQ:280604597

      Email:280604597@qq.com

      大家有什么不明白的地方,或者想要詳細了解的地方可以聯系我,我會認真回復的

      1   概念

      Linux中可以對不同網卡的網絡輸入輸出的數據包做復雜的帶寬控制,可以做到針對輸入或輸出的數據包的不同的源發地址、不同的源發端口、不同的目的地址、不同的目的端口做不同的帶寬控制。

      Linux中的QoS分為入口(Ingress)部分和出口(Egress)部分,入口部分主要用于進行輸入流量的帶寬控制,出口部分主要用于進行輸出流量的帶寬控制。

      Linux是通過隊列對網絡流量進行帶寬控制,大多數隊列(qdisc)都是用于輸出流量的帶寬控制,例如HTB隊列等,而輸入流量只有一個隊列,即Ingress隊列。HTB隊列的可以設置復雜的隊列規則,從而靈活的控制輸出流量的帶寬,而ingress隊列的功能很簡單,不可指定復雜的隊列規則,但可以重定向數據包incoming packets。如果要對輸入流量做復雜的帶寬控制,可以通過Ingress隊列把輸入流量重定向到虛擬設備ifb,然后對虛擬設備ifb的輸出流量配置HTB隊列,就能達到對輸入流量設置復雜的隊列規則。

      Linux的每個網絡設備上,默認都會有一個輸出隊列,默認沒有輸入隊列。添加新的輸出隊列會覆蓋默認的輸出隊列。

      當隊列的帶寬被占滿時,操作系統就會延遲發送數據包,再不行就丟包。

       

       

      2   HTB隊列

      2.1 模型

       

      2.2 簡介

      隊列等級劃分:一個HTB隊列有且只有一個根分類,一個根分類下可以有零至多個主分類,一個主分類下可以有零至多個子分類,一個子分類下還可以有零至多個子分類,……

      所有分類的流量統計是在這個分類的入口做的。

      所有分類的流量帶寬控制是在這個分類的通道里做的。

      只有根分類入口上能添加過濾器,其他隊列入口只做分流,即使添加過濾器也不會觸發。

      過濾器只能把數據包扔給最底層的隊列,如果該隊列有子分類,則數據包不能扔給這個隊列,因為有子分類的主分類或子分類是沒有隊列通道的。注意:如果一定要扔給父隊列,這個過濾器能添加成功,且過濾器還能匹配成功,但是數據包就是不走這個隊列。

      經過測試,發現子分類的帶寬不受父分類的帶寬控制。

      網絡設備名:網絡設備的名字,一般叫ethX,用ifconfig或ip link命令查看。

      虛擬網絡設備名:虛擬網絡設備的名字,一般叫ifbX,用ifconfig或ip link命令查看。

      優先級:優先處理的等級,為整數,數值越低優先級越高。經過測試,發現htb隊列的優先級高低沒有對數據包產生影響。

      隊列的優先級由高到低為0、1、2、3、4、5、6、7,最高為0,最低為7。如果過濾器的優先級為0,會導致無法刪除此過濾器。

      3   輸出流量控制

      注意:tc命令都是實時生效的。

      3.1 查看根分類

      Shell命令:tc  [-s]  qdisc  show  dev  網絡設備名

      注意:-s選項表示顯示網絡流量信息。

       

      例如:tc  qdisc  show  dev  eth0

      解釋:查看eth0設備的隊列信息。

       

      例如:tc  -s  qdisc  show  dev  eth1

      解釋:查看eth1設備的隊列信息,并顯示隊列的網絡流量信息。

      3.2 添加根分類

      Shell命令:tc  qdisc  add  dev  網絡設備名  root  [handle  根分類句柄]  htb  [default  默認分類句柄]

      注意:如果指定了默認分類句柄,當數據包在不被任何過濾器匹配成功時候,就走默認分類。如果指定的默認分類不存在或不指定,數據包就走根分類。

      注意:如果要指定根分類句柄,那么其范圍必須是大于等于1、小于等于ffff的十六進制數值。如果是其他數值或不指定,則會出現隨機的句柄。

       

      例如:tc  qdisc  add  dev  eth0  root  htb

      解釋:在eth0設備上添加HTB隊列的根分類,隊列句柄為隨機,默認分類為根分類。

       

      例如:tc  qdisc  add  dev  eth0  root  handle  1:  htb

      解釋:在eth0設備上添加HTB隊列的根分類,隊列句柄為1:,默認分類為根分類。

       

      例如:tc  qdisc  add  dev  eth1  root  handle  2:  htb  default 2:1

      解釋:在eth1設備上添加HTB隊列的根分類,隊列句柄為2:,默認分類句柄為2:1的分類。

      3.3 刪除根分類

      Shell命令:tc  qdisc  del  dev  網絡設備名  root

      3.4 查看主分類或子分類

      Shell命令:tc  [-s]  class  show  dev  網絡設備名

      注意:-s選項表示顯示網絡流量信息。

      3.5 添加主分類或子分類

      Shell命令:tc  class  add  dev  網絡設備名  [parent  父分類句柄]  classid  該分類句柄  htb  rate  保留帶寬{MBps|KBps|Bps|Mbit|Kbit|bit}  [ceil  共享帶寬{MBps|KBps|Bps|Mbit|Kbit|bit}]  [prio  優先級]

      注意:如果指定的父隊列句柄不存在或不指定時,則父分類就是根分類。

      注意:如果不指定共享帶寬,則共享帶寬和保留帶寬一樣。

      注意:如果指定的優先級為負數,則會導致命令執行失敗。如果指定的優先級大于等于8,則優先級實際會設置成7。如果不指定優先級,則優先級實際會設置成0。

       

      bit表示位每秒傳輸

      Bps表示字節每秒傳輸

      KBps表示千字節每秒傳輸

      MBps表示兆字節每秒傳輸

      1MBps=1000KBps

      1KBps=1000Bps

      使用Mbit、Kbit、bit單位控制輸出流量帶寬時,會導致控制不準,控制輸入流量帶寬時沒問題。

      使用MBps、KBps、Bps單位控制輸入輸出流量帶寬都很準。

       

      例如:tc  class  add  dev  eth0  classid  1:1  htb  rate  100MBps

      解釋:在eth0設備上添加主分類,父分類默認為根分類,該分類句柄為1:1,保留帶寬為100MBps(800000Kbit),共享帶寬默認與保留帶寬一樣,優先級默認為0。

       

      例如:tc  class  add  dev  eth0  parent  1:1  classid  1:2  htb  rate  50MBps  ceil  100MBps  prio  1

      解釋:在eth0設備上添加子分類,父分類為1:1,該分類句柄為1:2,保留帶寬為50MBps(400000Kbit),共享帶寬為100MBps(800000Kbit),優先級為1。

      3.6 修改主分類或子分類

      Shell命令:tc  class  change  dev  網絡設備名  classid  分類句柄  htb  rate  保留帶寬{MBps|KBps|Bps|Mbit|Kbit|bit}  [ceil  共享帶寬{MBps|KBps|Bps|Mbit|Kbit|bit}]  [prio  優先級]

      注意:保留帶寬是必須要填的,且無法修改父分類。

      注意:如果不指定共享帶寬,則共享帶寬和保留帶寬一樣。

      注意:如果指定的優先級為負數,則會導致命令執行失敗。如果指定的優先級大于等于8,則優先級實際會設置成7。如果不指定優先級,則優先級實際會設置成0。

      3.7 刪除主分類或子分類

      Shell命令:tc  class  del  dev  網絡設備名  classid  分類句柄

      注意:如果有過濾器的與要刪除的隊列有關聯,必須先刪除過濾器,然后才能刪除該隊列。

      注意:如果要刪除的隊列有子隊列時,必須先刪除子隊列,然后才能刪除該隊列。

      3.8 查看過濾器

      Shell命令:tc  [-s]  filter  {show|ls}  dev  網絡設備名

      3.9 添加過濾器

      Shell命令:tc  filter  add  dev  網絡設備名  parent  根分類句柄  protocol  ip  [prio  優先級]  u32 [match  ip  src  源發IP地址/XX]  [match  ip  sport  XXX  0xffff]  [match  ip  dst  目的IP地址/XX]  [match  ip  dport  XXX  0xffff]  flowid  分類句柄

      注意:如果優先級為0或不指定,則優先級實際會設置成很大的一個數,也就是說優先級很低。

      3.10  刪除過濾器

      刪除指定優先級的所有過濾器:tc  filter  del  dev  網絡設備名  prio  優先級

      刪除指定句柄的單個過濾器:tc  filter  del  dev  網絡設備名  parent  根分類句柄  protocol  ip  prio  優先級  handle  句柄  u32

      4   輸入流量控制

      加載虛擬網絡設備驅動:

      modprobe ifb

       

      啟用虛擬網絡設備:

      ip  link  set  dev  虛擬網絡設備名  up  [txqueuelen  1000]

       

      給網絡設備添加ingress隊列,ingress隊列用于對輸入流量控制:

      tc  qdisc  add  dev  網絡設備名  ingress

      注意:ingress隊列的句柄默認是ffff:,無法修改。

       

      將網絡設備的輸入流量重定向到虛擬網絡設備的輸出流量上:

      tc  filter  add  dev  網絡設備名  parent  ffff:  protocol  ip  u32  match  u32  0  0  flowid  1:1  action  mirred  egress  redirect  dev  虛擬網絡設備名

      5   tc命令

      tc qdisc

      tc class {add | replace | change | del}

      tc filter

      6   例子

      l  一個:

      以下eth1為內網網卡地址

      tc qdisc del dev eth1 root #刪除以前的隊列

      tc qdisc add dev eth1 root handle 1: htb #開啟限速規則為htb(分層令牌桶)

      tc class add dev eth1 parent 1: classid 1:1 htb rate 3mbit burst 15k #規劃限制帶寬為3M峰值15k

      tc qdisc add dev eth1 parent 1:1 handle 10: sqf perturb 10 #設定平均分配帶寬

      tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.8.17 flowid 1:1 #限制192.168.8.17速度為3mbit

      posted @ 2014-04-03 20:36  赤勇玄心行天道  閱讀(2885)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧洲免费一区二区三区视频| 特级毛片在线大全免费播放| 小鲜肉自慰网站| 国产特色一区二区三区视频| 在线国产精品中文字幕| 亚洲色最新高清AV网站| 精品人妻午夜一区二区三区四区| 色偷偷女人的天堂亚洲网| 成人综合人人爽一区二区| 国内精品伊人久久久久AV一坑 | 在线亚洲午夜片av大片| 国产精品一国产精品亚洲| 日韩秘 无码一区二区三区 | 深夜福利啪啪片| 菠萝菠萝蜜午夜视频在线播放观看 | 亚洲av成人无码天堂| 国产精品久久久久aaaa| 成人亚洲一级午夜激情网| 蜜臀av无码一区二区三区| 欧美日产国产精品| 亚洲欧洲成人a∨在线| 欧美日韩精品一区二区三区高清视频| 精品人妻伦九区久久aaa片| 亚洲国产女性内射第一区| 亚洲精品国产一区二区三| 三人成全免费观看电视剧高清| 国产精品国产亚洲看不卡| 国产性色的免费视频网站 | 久久久久久久久久久免费精品| 犍为县| 国产片av在线观看国语| 日韩在线视频线观看一区| 阿城市| 久久99精品久久久久久青青| 亚洲高潮喷水无码AV电影| 人妻少妇无码精品专区| 久久成人成狠狠爱综合网| 不卡国产一区二区三区| 国产在线啪| 久久精品99国产精品亚洲| 亚洲aⅴ天堂av天堂无码麻豆|