Bandwidth Management using Linux - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

Bandwidth Management using Linux

Description:

Bandwidth Management using Linux – PowerPoint PPT presentation

Number of Views:188
Avg rating:3.0/5.0
Slides: 30
Provided by: 79444
Category:

less

Transcript and Presenter's Notes

Title: Bandwidth Management using Linux


1
???????????????????????????????????????
  • Bandwidth Management using Linux

???????? ??????????? (sutticha_at_nida.ac.th) ???????
?????????????????? ????????????????????????????
2
??????????????????????
  • ?????????????????????????????????????????????????
    ?
  • ????????????????????????????????????? ???
  • ?????????????
  • ???????????????
  • ??????????????????????????????????????????????

3
??????????????????????????????????
  • ??????????????????????? ????? ?????????????????
    (Output Queuing ???? Egress)
  • default queue FIFO (First In First Out)

4
Queuing Disciplines ???? qdisc
  • qdisc ?????????????????????????????????????
  • qdisc ?????????????????????????????????????
    ????? root qdisc
  • ?????? qdisc
  • Classless qdisc FIFO, TBF, SFQ
  • Classful qdisc PRIO, CBQ, HTB

5
Classless qdisc
  • ???????????????????????????????????????????????
    root qdisc??????
  • pfifo_fast
  • TBF (Token Bucket Filter)
  • SFQ (Stochastic Fairness Queuing)

6
pfifo_fast
  • ???????? 3 band ??? FIFO 0,1,2 ???????????
    0,1,2
  • ????????????? Band ????????? Type of Service
    (TOS)
  • Band 0 ?????????????????? minimize delay ????
    TELNET, FTP-control, SMTP-command, DNS-udp-query

7
TBF (Token Bucket Filter)
  • ??? Tokens buffer ???????????????????????
  • ?????????????????????????????? ???????? Token ??
    Token Buffer
  • ????????????????????????????????????????????????
    Token

8
SFQ (Stochastic Fairness Queuing)
  • ????????????????????????????????????????????????
    ??????????
  • ???????????????????????????? ??? tcp session,
    udp stream
  • ???????????????????????????????????
    ????????????????????????????????????????????
    ??????????????????????? session

9
Classful qdisc
  • ?????????????????????????????????????????????????
    ?????????????????????????????????????????????????
    ??????
  • PRIO
  • CBQ (Classes Based Queue)
  • HTB qdisc (Hierarchical Token Bucket)

10
????????????? Classful qdisc
  • Queuing discipline
  • Classes
  • Filters
  • Policer

11
PRIO qdisc
  • 3 ???? ????????????????? pfifo ???????
  • ???????????????????? 1,2,3
  • filter ???????????????????????????? (default ???
    TOS, ??????????)
  • ??????????? ??????? 1 ???????????????????????????
    ???????????????????????????????????? -gt ?????????
    ??????????? 1 ?????????? SFQ

12
CBQ qdisc
  • ????????????????????????????????????????????
  • ???????????????????????? ?????????????
    ???????????????????????????????? ???????????
    ??????????????????????????????
  • ??????????? filter ??????????????????????????????
    ???
  • ??????????????????????????????????????????
    ??????????????????????????????????????????
  • ?????????????????????????????????????????????????
    ???????????????????????

13
HTB qdisc
  • ?????????????????????? CBQ ?????????????????????
    ??????? ????????????????????? CBQ
  • CBQ ?????????????????????????????????????????????
    ??????? ??????????????????????????????????
  • ????????????????????????????????

14
HTB qdisc ??????????? 1
  • ????????????????????????????????????????? tc
  • ????????????? root qdisc ???? HTB qdisc
  • tc qdisc add dev eth0 root handle 1 htb default
    12
  • (kbps kilo bytes per sec)

15
HTB qdisc ??????????? 1
  • ?????????????????????????????????? ??????????
  • tc class add dev eth0 parent 1 classid 11 htb
    rate 100kbps ceil 100kbps
  • tc class add dev eth0 parent 11 classid 110 htb
    rate 30kbps ceil 100kbps
  • tc class add dev eth0 parent 11 classid 111 htb
    rate 10kbps ceil 100kbps
  • tc class add dev eth0 parent 11 classid 112 htb
    rate 60kbps ceil 100kbps

16
HTB qdisc ??????????? 1
  • ????? filter ????????????????????????????
  • tc filter add dev eth0 protocol ip parent 10
    prio 1 u32 match ip src 1.2.3.4 match
  • ip dport 80 0xffff flowid 110
  • tc filter add dev eth0 protocol ip parent 10
    prio 1 u32 match ip src 1.2.3.4 flowid
  • 111

17
HTB qdisc ??????????? 1
  • ????? Classless qdisc ????????????????????????????
    ? leaf class
  • tc qdisc add dev eth0 parent 110 handle 20
    pfifo limit 5
  • tc qdisc add dev eth0 parent 111 handle 30
    pfifo limit 5
  • tc qdisc add dev eth0 parent 112 handle 40 sfq
    perturb 10

18
HTB qdisc ??????????? 1
  • ??????????
  • ????????????? 3 ????????????????? rate ???????
    HTB ????????????????????????? A/WWW ????????? 30
    kbps ??? A/other 10 kbps ???? B ?????????????????
    60 kbps
  • ????????????? A/WWW ????? HTB ??????????????? 30
    kbps ??? A/WWW ??????????????????? 2
    ???????????????????????????? rate
    ?????????????????????? ???
  • A/other ?????????????????? 10/70 ??? 30 kbps
  • B ?????????????????? 60/70 ??? 30 kbps

19
HTB qdisc ??????????? 2
  • ????????????????????????
  • ??????????? A ????????????? ??????? WWW ??? other
    ???? ?????????????? A ??????????????? B ???
  • ?????????????????????????? B ?????????????? A
    ??????

20
HTB qdisc ??????????? 2
  • ?????????????????????????????????? ??????????
  • tc class add dev eth0 parent 1 classid 11 htb
    rate 100kbps ceil 100kbps
  • tc class add dev eth0 parent 11 classid 12 htb
    rate 40kbps ceil 100kbps
  • tc class add dev eth0 parent 12 classid 110 htb
    rate 30kbps ceil 100kbps
  • tc class add dev eth0 parent 12 classid 111 htb
    rate 10kbps ceil 100kbps
  • tc class add dev eth0 parent 11 classid 112 htb
    rate 60kbps ceil 100kbps

21
HTB qdisc ??????????? 2
  • ??????????
  • ????????? A/WWW ????????????????? 30 kbps
    ??????????????????? A/WWW ???????????? A/other
    ????????????????? B ????
  • ??? B ??????????????? ??????????? A ??????
    ?????????????????? A ?????????????????????????? B
    ?????? ????????????????????? A ???? B ???????????
    ceil ??????????????????? A ??? B ?????????? root
    class ????????

22
HTB qdisc ??????????? 3
  • ??????????? ceil ??? A ???? 60 kbps ??? A/other
    ???? 20 kbps ???????
  • A ???????????????????? B ???????? 20 kbps
  • A/other ???????????????????? A/WWW ???????? 10
    kbps

23
HTB qdisc ??????????? 3
  • ?????????????????????? A/WWW ??????????? A/WWW
    ???????????? A/other ?????? ceil ??? A/other
    ????????? 10 kbps ??????? A/other ?????? 20 kbps
    ??????????????? 20 kbps ???????? B ??????
  • ?????????????????????? B ??????????? B ?????????
    A ?????? ???? A ??????????????????????????? ceil
    ?????????????? 60 kbps ???????????????????????????
    ????? B ??????????? ????????????????????? ISP
    ???????????????????????????????????????????
    ??????????????????????????????????????????????????
    ??????

24
?????????????????????????????? HTB/CBQ qdisc
  • ???????? 3 ??????
  • ???????????????????????????????????????(script)
    ?????????????? tc ????????????????????????
    ?????? htb.init, cbq.init
  • ?????????? Web-based ?????????????? class,
    filter ???????????????????? tc ??????????? ??????
    QOS Configurator
  • ?????????????????????????????????????????? tc
    ????????? 1 ????? ????????????????????????????????
    ???????????????????? ?????? tcng (tc next
    generation)

25
?????????????? CBQ qdisc
  • ???????? cbq-028.backbone-client
  • DEVICEeth1,10Mbit,1Mbit
  • RATE28Kbit
  • WEIGHT2Kbit
  • PRIO5
  • RULE192.168.1.1
  • ??????? 1 ?????????????? class-id ??????? 028
    ??????????????????????? eth1 ??????????????
    backbone ?????????????? client (download) ?????
    IP Address ??????? 192.168.1.1 ???????????????????
    ? 28 kbit/sec

26
?????????????? CBQ qdisc
  • ???????? cbq-128.client-backbone
  • DEVICEeth0,10Mbit,1Mbit
  • RATE128Kbit
  • WEIGHT10Kbit
  • PRIO5
  • RULE192.168.1.1,
  • ?????????????? class-id ??????? 128
    ??????????????????????? eth0 ??????????????
    client 192.168.1.1 ??????? backbone (upload)
    ???????????????????? 128 kbit/sec

27
?????????????? HTB qdisc
  • ??????? 1 eth0
  • ???? Default class ??????? 30
  • ??????? 2 eth0-2.root
  • ??????????? root class ?? class-id ??????? 2
    ????????????????? eth0 ?????????????????????? 5
    Mbits/sec
  • ??????? 3 eth0-210.www
  • ??????????????????? class-id 2 ???????????
    class-id ??????? 10 ???????????????? 5Mbits/sec
    ?? filter ???? source-port ???? 80 ??????????
    leaf queue ???????????? sfq
  • ??????? 4 eth0-220.smtp
  • ??????????????????? class-id 2 ???????????????????
    3 ????????????? 3 Mbits/sec ??? ??????????????
    (ceil) ??????? 5 Mbits/sec ?? filter ????
    destination-port ???? 25
  • ??????? 5 eth0-230.dfl
  • ??????????????????? class-id 2 ???????????????????
    3 ????????????? 1 Kbit/sec ??? ??????????????
    (ceil) ??????? 5 Mbits/sec ?? class-id ??????? 30
    ???????? default class

28
????
  • ?????????????????????????????????????????????????
    ??????????????????????????????????????????????????
    ?????????????????????
  • ?????????????????????????????????????????????????
    ???? (Appliance) ????????????????????????????????
    ???? ???????????????????????????????????????????/?
    ?????????????????????????????????????? ????
    Juniper ???????????????????????????????, SARAN
    ?????????????????????????????????? ???????
  • ?????????????????????????????????????????????????
    ??????????????????????????????????????????????????
    ??????????????????????????????????????????????????
    ???????????????????????????????
    ??????????????????????????????????????????????????
    ????????????

29
Thanks you.
Write a Comment
User Comments (0)
About PowerShow.com