Toon posts:

Bandbreedte beperken op Cisco 1812 per port/ip

Pagina: 1
Acties:
  • 103 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
We hebben een nieuwe SDSL internet verbinding gekregen van 20Mb. Nu heb ik een router binnen gekregen (1812) waarachter we onze servers gaan plaatsen. Ze zullen allemaal een vast publiek IP adres krijgen. (We hebben een subnetje van 16 gekregen.)

De router heeft een 8-poorts switch, en alle porten zitten in dezelfde vlan. Ik wil nu echter de bandbreedte limiteren. Dat wil zeggen, ik wil ervoor zorgen dat ik bv altijd 5Mb (minimaal) op server-a heb.

Ik was eerst in de veronderstelling dat ik de bandbreedte zou limiteren op verschillende poorten. Als ik echter een policy-map assign aan een port werkt dit echter niet. Het werkt wel als ik dezelfde policy aan de vlan assign.

Wat is nu de manier om ervoor te zorgen dat server-a minimaal 5Mb krijgt en server-b bv 10Mb? Moet ik het wel bij de policy-map / class-map houden? Moet ik gewoon 1 policy aan de vlan hangen en dan via match access-group de juiste bandbreedte aan het publieke IP (dus server-x) toekennen? (Dus met verschillende class-maps)

Of moet het met een policy-map op een port ook werken. (Zelfs als alle porten in dezelfde vlan zitten?)

Ik ben dus niet op zoek naar een complete config, ik wil alleen graag weten welke richting ik op moet.

  • Mikey!
  • Registratie: Augustus 2001
  • Laatst online: 10-04 16:26
Verwijderd schreef op donderdag 20 april 2006 @ 21:50:
Als ik echter een policy-map assign aan een port werkt dit echter niet. Het werkt wel als ik dezelfde policy aan de vlan assign.
Zou je dat gedeelte van de configuratie kunnen posten wat te maken heeft met je policy-map ed. Dat maakt het meedenken heel wat makkelijker :)

Verder is het voor "Lan --> Internet" connecties heel goed te doen om de bandbreedte te beheersen met behulp van onze grote vriend QoS. Omdat het hier om dataverkeer gaat moet er wel even goed gekeken worden naar wat precies we die 5 of 10Mb/s willen geven (www, ftp-data, etc). Als het om bijvoorbeeld Voice of Video ging was het al een stuk makkelijker geweest (met gebruik van RSVP, IP Precedence). Ik denk dat Class-Based Weighted Fair Queuing (CBWFB) in dit geval het meest geschikte is.

Meer informatie over RSVP, CBWFB ed. vind je op pagina 173 in de Software Configuration Guide van de fixed-configuration 1800 series.
Of moet het met een policy-map op een port ook werken.
Normaliter zou dit juist het beste werken, maar het gaat hier om een 8-poorts switch, de router ziet deze poorten (Desondanks dat ze apart staan vermeld in de configuratie) als een geheel. Je kan er wel wat aan afstellen, maar bijvoorbeeld IP-adressen toewijzen aan deze interfaces gaat niet. Puur omdat het geen 'echte' interfaces zijn zoals de WAN poort.
Ik was eerst in de veronderstelling dat ik de bandbreedte zou limiteren op verschillende poorten. Als ik echter een policy-map assign aan een port werkt dit echter niet. Het werkt wel als ik dezelfde policy aan de vlan assign.
Zoals ik hierboven al vermeldde, de bandbreedte limiteren per poort zal in dit geval niet gaan omdat je geen 'echte' interfaces hebt waar je de servers aan kan patchen. Je zou de poorten in verschillende VLANs kunnen hangen, en elk VLAN zijn eigen policy-map/class-map kunnen geven met verschillende waardes die bij de poorten wilt hebben. Dit is volgens mij een correcte oplossing voor je probleem.

Verder heb je het dus gewoon goed gedaan, alleen de beperkingen van de router houden je op dit moment tegen :P.

[ Voor 41% gewijzigd door Mikey! op 21-04-2006 09:59 ]


Verwijderd

Topicstarter
De config heb ik nu op de VLAN zitten:

code:
1
2
3
4
5
6
7
8
9
10
class-map match-all class-all
 match any 
!
policy-map 2-mb-limit
 class class-all
  random-detect
  shape average 100000
!
interface Vlan1
 service-policy output 2-mb-limit


Dit werkt op zicht wel. Ik kan nu diverse class-maps maken met verkeer naar een IP en daar een bandbreedte opzetten denk ik?

Ik wil het niet echt op verkeer type doen. Echt op verkeer van/naar servers.

Ik assign deze policy dan aan de vlan. Verschillende VLAN's wil niet aangezien ze allemaal in hetzelfde subnet moeten zitten.

Hoe kan ik de class-map het beste instellen trouwens? Met een shape average? Of met alleen een bandwidth? Of bandwidth percent? Wel of geen random-detect?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Policy-map class configuration commands:
  bandwidth        Bandwidth
  compression      Activate Compression
  drop             Drop all packets
  estimate         estimate resources required for this class
  exit             Exit from class action configuration mode
  log              Log IPv4 and ARP packets
  netflow-sampler  NetFlow action
  no               Negate or set default values of a command
  police           Police
  priority         Strict Scheduling Priority for this Class
  queue-limit      Queue Max Threshold for Tail Drop
  random-detect    Enable Random Early Detection as drop policy
  service-policy   Configure Flow Next
  set              Set QoS values
  shape            Traffic Shaping
  <cr>


Een vaste waarde is op zich goed. Maar kan ik ook makkelijk een ondergrens instellen? Dus minimaal 5Mb voor server-b maar als de rest vrij is gewoon 20Mb? Dit is niet een vereiste maar zou wel mooi zijn.

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 09-04 18:50

TrailBlazer

Karnemelk FTW

Het is echter een stuk mooier om gewoon een ACL te maken met als destination de server ip adressen. dan heb je gewoon een 10 tal klassen onder je policy-map staan. De policy map staat dan onder de VLAN interface en niet onder de fysieke interfaces. Het voordeel hiervan is dat je dezelfde klasse ook outbound op de ATM/Dialer interface kan gebruiken
Het verschil tussen Shaping en bandwidth. Shaping is een max en bandwith is een gegarandeerd minumum. Kortom in jouw geval is bandwith mooier. Je kan ze ook allebei specificeren. Bandwith percent heeft alleen zin als je het bandwith statement op de interface goed hebt staan.
Random detect is altijd een goed idee.

[ Voor 149% gewijzigd door TrailBlazer op 21-04-2006 13:00 ]


Verwijderd

Topicstarter
TrailBlazer schreef op vrijdag 21 april 2006 @ 12:54:
Het is echter een stuk mooier om gewoon een ACL te maken met als destination de server ip adressen. dan heb je gewoon een 10 tal klassen onder je policy-map staan. De policy map staat dan onder de VLAN interface en niet onder de fysieke interfaces. Het voordeel hiervan is dat je dezelfde klasse ook outbound op de ATM/Dialer interface kan gebruiken
Het verschil tussen Shaping en bandwidth. Shaping is een max en bandwith is een gegarandeerd minumum. Kortom in jouw geval is bandwith mooier. Je kan ze ook allebei specificeren. Bandwith percent heeft alleen zin als je het bandwith statement op de interface goed hebt staan.
Random detect is altijd een goed idee.
Als ik bandwidth gebruik, moet ik dan nog ergens de 20Mb instellen? Of is dat niet nodig? Als ik maar 1 ACL op neem voor 1 IP, en ik hang daar bv 2Mb aan. Dan krijgt deze minimaal 2Mb ook al zitten er nog een paar servers aan waar geen policy op zit? En als de server waar ik 2Mb op in stel niets doet dan krijgt de rest gewoon 20Mb?

Die verschillende ACL's ben ik ook van plan, dit is alleen even een test.

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 09-04 18:50

TrailBlazer

Karnemelk FTW

Met het bandwith alleen hoef je niet de bandwith op je interface in te stellen. Het is echter wel netjes om dat te doen, anders gaat je load op je interface wat gek doen.
Als een pakket aan geen enkele class voldoet zal deze worden afgehandeld door de class class-default Er is dan ook geen enkele garantie voor dit verkeer. Eventueel kan je wel die class-default ook een minimale bandbreedte geven

  • Mikey!
  • Registratie: Augustus 2001
  • Laatst online: 10-04 16:26
Hoe kan ik de class-map het beste instellen trouwens? Met een shape average? Of met alleen een bandwidth? Of bandwidth percent? Wel of geen random-detect?
shape average is om een gemiddelde bit rate in te stellen voor de interface waar het op wordt toegepast.
bandwidth is om een minimum bandbreedte te garanderen in kilobits per seconde, bandwidth percent is een percentage van de volledige beschikbare bandbreedte. In dit geval zou ik voor bandwidth gaan.
random-detect zet de weighted random early detection (WRED) drop policy aan voor een traffic class die een gegarandeerde bandbreedte heeft. In dit geval zou ik hem idd aanzetten.
Als ik bandwidth gebruik, moet ik dan nog ergens de 20Mb instellen?
Het is zoiezo voor ATM verbindingen verstandig om de bandbreedte vast in te stellen. Dit kan je doen met het bandwidth commando.

Hier is trouwens informatie te vinden over Traffic Policing en QoS
TrailBlazer schreef op vrijdag 21 april 2006 @ 12:54:
Het is echter een stuk mooier om gewoon een ACL te maken met als destination de server ip adressen. dan heb je gewoon een 10 tal klassen onder je policy-map staan. De policy map staat dan onder de VLAN interface en niet onder de fysieke interfaces. Het voordeel hiervan is dat je dezelfde klasse ook outbound op de ATM/Dialer interface kan gebruiken.
Ik moet zeggen dat ik het helemaal met je eens ben, dit is waarschijnlijk de netste oplossing :)

[ Voor 19% gewijzigd door Mikey! op 21-04-2006 13:19 ]


Verwijderd

Topicstarter
TrailBlazer schreef op vrijdag 21 april 2006 @ 13:12:
Met het bandwith alleen hoef je niet de bandwith op je interface in te stellen. Het is echter wel netjes om dat te doen, anders gaat je load op je interface wat gek doen.
De bandbreedte, de 20Mb, kan ik dus aan de vlan toekennen? Met het standaard bandwidth commando? Omdat er staat: "Set bandwidth informational parameter"
Als een pakket aan geen enkele class voldoet zal deze worden afgehandeld door de class class-default Er is dan ook geen enkele garantie voor dit verkeer. Eventueel kan je wel die class-default ook een minimale bandbreedte geven
OK. Maar als ik ergens een policy aan toe ken, dus 2Mb. Dan krijgt deze minimaal 2Mb, ook als er verkeer is zonder policy? Of moet ik zorgen dat al het verkeer wat ik krijg op de vlan onder een policy valt?

Nog een laatste vraag: kan ik het best de service-policy op output, input of beide zetten?

[ Voor 6% gewijzigd door Verwijderd op 21-04-2006 13:23 ]


  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 09-04 18:50

TrailBlazer

Karnemelk FTW

Verwijderd schreef op vrijdag 21 april 2006 @ 13:21:
[...]

De bandbreedte, de 20Mb, kan ik dus aan de vlan toekennen? Met het standaard bandwidth commando? Omdat er staat: "Set bandwidth informational parameter"
ja
[...]


OK. Maar als ik ergens een policy aan toe ken, dus 2Mb. Dan krijgt deze minimaal 2Mb, ook als er verkeer is zonder policy? Of moet ik zorgen dat al het verkeer wat ik krijg op de vlan onder een policy valt?

Nog een laatste vraag: kan ik het best de service-policy op output, input of beide zetten?
output policy op de WAN interface en op de VLAN en in die policy map voor elke klasse een bandwith garanderen met het bandwith statement

Verwijderd

Topicstarter
TrailBlazer schreef op vrijdag 21 april 2006 @ 13:31:
[...]

ja

[...]

output policy op de WAN interface en op de VLAN en in die policy map voor elke klasse een bandwith garanderen met het bandwith statement
Ook op de WAN een policy? Alleen output? En op de VLAN ook output? Gewoon dezelfde policy-map voor WAN en VLAN? Is alleen VLAN niet voldoende?

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 09-04 18:50

TrailBlazer

Karnemelk FTW

nee dan beperk je enkel het verkeer naar de server. Ik nam aan dat je ook de bandbreedte vanaf de server wil beperken

Verwijderd

Topicstarter
Ik heb nu de volgende config:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
!
class-map match-all Firewall
 match access-group 120
!
policy-map Limit-Firewall
 class Firewall
  shape average 16000
!
interface FastEthernet0
 ip address 212.X.X.1 255.255.255.252
 duplex auto
 speed auto
 service-policy output Limit-Firewall
!
interface FastEthernet1
 no ip address
 shutdown
 duplex auto
 speed auto
!
interface Vlan1
 ip address 212.X.X.194 255.255.255.240
 service-policy output Limit-Firewall
!
ip route 0.0.0.0 0.0.0.0 212.X.X.2
!
access-list 120 permit ip host 212.X.X.195 any
access-list 120 permit ip any host 212.X.X.195


Het vreemde is dat ik nu een 100KB/s haal met een download. (Zonder policy-map 1500KB/s) Hij doet dus wel wat maar als ik de 16000 bps omreken dan zou ik maar 2KB/s moeten halen. :? (Met 32000 haal ik 200KB/s.)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Router#sh policy-map int
 FastEthernet0

  Service-policy output: Limit-Firewall

    Class-map: Firewall (match-all)
      445113 packets, 24524564 bytes
      5 minute offered rate 14000 bps, drop rate 0 bps
      Match: access-group 120
      Traffic Shaping
           Target/Average   Byte   Sustain   Excess    Interval  Increment
             Rate           Limit  bits/int  bits/int  (ms)      (bytes)
            16000/16000     2000   8000      8000      500       1000

        Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping
        Active Depth                         Delayed   Delayed   Active
        -      18        354892    19544902  46227     2527887   yes

    Class-map: class-default (match-any)
      119043 packets, 7355813 bytes
      5 minute offered rate 1000 bps, drop rate 0 bps
      Match: any
 Vlan1

  Service-policy output: Limit-Firewall

    Class-map: Firewall (match-all)
      758956 packets, 1147221297 bytes
      5 minute offered rate 1265000 bps, drop rate 0 bps
      Match: access-group 120
      Traffic Shaping
           Target/Average   Byte   Sustain   Excess    Interval  Increment
             Rate           Limit  bits/int  bits/int  (ms)      (bytes)
            16000/16000     2000   8000      8000      500       1000

        Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping
        Active Depth                         Delayed   Delayed   Active
        -      0         0         0         0         0         no

    Class-map: class-default (match-any)
      260926 packets, 394607377 bytes
      5 minute offered rate 10000 bps, drop rate 0 bps
      Match: any


De vraag is nu: wat doe ik fout?

[ Voor 98% gewijzigd door Verwijderd op 22-04-2006 15:59 ]


  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 09-04 18:50

TrailBlazer

Karnemelk FTW

is inderdaad wel heel erg vaag dit. ziet er wel lekker uit.

Verwijderd

Topicstarter
Ik heb de shape average nu vervangen door een police en dat lijkt wel te werken. Het verschil is me eigenlijk niet duidelijk. (Shape tov police.) Zal wel eens ff wat zoeken, echt duidelijke uitleg van het hele QoS verhaal kan ik ook niet echt vinden..

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 09-04 18:50

TrailBlazer

Karnemelk FTW

shape buffert pakketten die out of profile zijn en verstuurt ze daarna nog. Vandaar dat je ook zie packets delayed. bij policing worden meteen paketten gedropped indien ze out of profile zijn.

Verwijderd

Topicstarter
TrailBlazer schreef op maandag 24 april 2006 @ 07:20:
shape buffert pakketten die out of profile zijn en verstuurt ze daarna nog. Vandaar dat je ook zie packets delayed. bij policing worden meteen paketten gedropped indien ze out of profile zijn.
OK, maar maakt het voor de werking iets uit? Of kan ik het ook bereiken via een police?

  • TrailBlazer
  • Registratie: Oktober 2000
  • Laatst online: 09-04 18:50

TrailBlazer

Karnemelk FTW

shaping is wat netter. Je zal wel wat meer delay krijgen maar geen packet loss. Het idee achter shaping is dat TCP het wel oplost, zeker bij windows protocollen heb ik heel andere ervaring

Verwijderd

Topicstarter
TrailBlazer schreef op maandag 24 april 2006 @ 18:58:
shaping is wat netter. Je zal wel wat meer delay krijgen maar geen packet loss. Het idee achter shaping is dat TCP het wel oplost, zeker bij windows protocollen heb ik heel andere ervaring
En wat heb ik een het rate-limit commando? Is dit ook weer meer wat hetzelfde?

Verwijderd

Heb je bandwidth op de interface al geprobeerd?
Pagina: 1