QoS łącze asymetryczne
QoS łącze asymetryczne
Witam,
Posiadam łącza asymetryczne 2M na 512k.
Przy przesyłaniu w dwie strony większej ilości danych zatyka mi łącze(oczywiste).
Chciałbym jednak priorytezować pakiety ACK i pchać je na początek kolejki.
Próbował już ktoś takie rozwiązanie?
Posiadam łącza asymetryczne 2M na 512k.
Przy przesyłaniu w dwie strony większej ilości danych zatyka mi łącze(oczywiste).
Chciałbym jednak priorytezować pakiety ACK i pchać je na początek kolejki.
Próbował już ktoś takie rozwiązanie?
Re: QoS łącze asymetryczne
Jasne:
Kod: Zaznacz cały
! na interfejsie od strony użytkowników odpowiednio oznaczamy ruch
interface ge0/1
ip policy route-map rm-pbr-synack
! ma ona następującą konstrukcję:
route-map rm-pbr-synack permit 10
match ip address acl_pbr_synack
match length 0 100
set ip precedence network ! lub cokolwiek wg. Twojej polityki QoS
set ipv6 precedence 7 ! j.w.
! ACLka jest prosta:
ip access-list extended acl_pbr_synack
permit tcp any any match-any +ack
! teraz polityka na wyjściu:
policy-map pm-qos-egress
class cm-qos-synack ! class-mapa oczywiście pasuje do wyżej wybranych wartości precedence lub DSCP
priority 8
Dzięki!
Wyławianie ack działa ale nadal nie do końca wiem jak wypchnąć te ack w pierwszej kolejności.
Mam coś takiego:
Jakieś pomysły?
Wyławianie ack działa ale nadal nie do końca wiem jak wypchnąć te ack w pierwszej kolejności.
Mam coś takiego:
przesyłam w dwie strony pliki i zamiast otrzymać otrzymać wysycenie łącza mam jakieś 60k#ACLka:
ip access-list extended synack
permit tcp any any match-any +ack
#class-map:
class-map match-all wyjscie
match access-group name synack
#na wyjściu:
policy-map wyjsciowa
class wyjscie
priority 128
#interface wewnetrzny
ip policy route-map synack
#interface zewnetrzny
service-policy output wyjsciowa
Jakieś pomysły?
A przepraszam. Źle zrobiłeś.TomekMr pisze:Dzięki!
Wyławianie ack działa ale nadal nie do końca wiem jak wypchnąć te ack w pierwszej kolejności.
Mam coś takiego:przesyłam w dwie strony pliki i zamiast otrzymać otrzymać wysycenie łącza mam jakieś 60k#ACLka:
ip access-list extended synack
permit tcp any any match-any +ack
#class-map:
class-map match-all wyjscie
match access-group name synack
#na wyjściu:
policy-map wyjsciowa
class wyjscie
priority 128
#interface wewnetrzny
ip policy route-map synack
#interface zewnetrzny
service-policy output wyjsciowa
Jakieś pomysły?
Po to jest route-mapa, żeby łapać pakiety o odpowiedniej długości. Na razie sprawdzasz tylko obecność ustawionej flagi, a flagę ACK będzie miało ustawione większość segmentów TCP.
Zmieniłem w między czasie
a na wyjściowym int mamclass-map match-all wyjscie
match ip precedence 5
Service-policy output: wyjsciowa
Class-map: wyjscie (match-all)
14550 packets, 1308729 bytes
1 minute offered rate 3000 bps
Match: ip precedence 5
Class-map: class-default (match-any)
72612 packets, 39317939 bytes
1 minute offered rate 81000 bps, drop rate 0 bps
Match: any
Skąd wiesz, że pakiety ACK mają ustawione IP Precedence 5? Pokaż proszę całą, aktualną konfigurację routera.TomekMr pisze:Zmieniłem w między czasiea na wyjściowym int mamclass-map match-all wyjscie
match ip precedence 5Service-policy output: wyjsciowa
Class-map: wyjscie (match-all)
14550 packets, 1308729 bytes
1 minute offered rate 3000 bps
Match: ip precedence 5
Class-map: class-default (match-any)
72612 packets, 39317939 bytes
1 minute offered rate 81000 bps, drop rate 0 bps
Match: any
No dobrze, to teraz puść jakiś transfer w obie strony i zrzuć parę razy 'sh policy-map int x/y'. Swoją drogą, zmniejszyłbym te 128 do 64...TomekMr pisze:IP Precedence 5 są ustawiane przezroute-map synack permit 10
match ip address synack
match length 0 100
set ip precedence critical
ip access-list extended synack
permit tcp any any match-any +ack
Przetestowałem kilka konfiguracji i ciągle nic...
Cały czas idzie równo w obie strony.
Aktualnie mam
a wyniki sh policy-map:
Cały czas idzie równo w obie strony.
Aktualnie mam
class-map match-all wyjscie
match ip precedence 5
policy-map wyjsciowa
class wyjscie
priority 64
route-map synack permit 10
match ip address synack
match length 0 100
set ip precedence critical
a wyniki sh policy-map:
####################################
Service-policy output: wyjsciowa
Class-map: wyjscie (match-all)
1056 packets, 86799 bytes
1 minute offered rate 8000 bps, drop rate 0 bps
Match: ip precedence 5
Queueing
Strict Priority
Output Queue: Conversation 136
Bandwidth 64 (kbps) Burst 1600 (Bytes)
(pkts matched/bytes matched) 0/0
(total drops/bytes drops) 0/0
Class-map: class-default (match-any)
5950 packets, 7462612 bytes
1 minute offered rate 454000 bps, drop rate 0 bps
Match: any
######
30s później:
Service-policy output: wyjsciowa
Class-map: wyjscie (match-all)
2540 packets, 208434 bytes
1 minute offered rate 19000 bps, drop rate 0 bps
Match: ip precedence 5
Queueing
Strict Priority
Output Queue: Conversation 136
Bandwidth 64 (kbps) Burst 1600 (Bytes)
(pkts matched/bytes matched) 0/0
(total drops/bytes drops) 0/0
Class-map: class-default (match-any)
8613 packets, 11127980 bytes
1 minute offered rate 521000 bps, drop rate 0 bps
Match: any
######
30s później:
Service-policy output: wyjsciowa
Class-map: wyjscie (match-all)
3572 packets, 292602 bytes
1 minute offered rate 18000 bps, drop rate 0 bps
Match: ip precedence 5
Queueing
Strict Priority
Output Queue: Conversation 136
Bandwidth 64 (kbps) Burst 1600 (Bytes)
(pkts matched/bytes matched) 0/0
(total drops/bytes drops) 0/0
Class-map: class-default (match-any)
10448 packets, 13642642 bytes
1 minute offered rate 535000 bps, drop rate 0 bps
############################################################
OK, wygląda na to, że wysycasz interfejs - w końcu jest 18kbps ruchu. Możesz sobie jeszcze przez 'load-interface 30' skrócić czas wyciągania średniej dla polityki (dołóż na interfejsach).
Dla pewności możesz sobie zrobić hierarchiczną politykę:
I obserwować jak to wygląda.
Dla pewności możesz sobie zrobić hierarchiczną politykę:
Kod: Zaznacz cały
policy-map Shaper0.5M
class class-default
shape average 512000
service-policy wyjsciowa
60k... czego? Twoja policy-mapa mówi że 64kB/s:TomekMr pisze:Nie do końca... na fa mam transfer w obie strony na poziomie 60k.
Jak mam tylko ruch wejsciowy na interface to jest na poziomie około 260k.
Kod: Zaznacz cały
Service-policy output: wyjsciowa
Class-map: wyjscie (match-all)
3572 packets, 292602 bytes
1 minute offered rate 18000 bps, drop rate 0 bps
Class-map: class-default (match-any)
10448 packets, 13642642 bytes
1 minute offered rate 535000 bps, drop rate 0 bps
Aktualnie mam
Jakby policy-map była źle skonfigurowana i nie pchała ack na początek kolejki.
Jakieś jeszcze pomysły?
Trafienia w obie aclki są ale nie udaje mi się osiągnąć zamierzonego efektu.class-map match-all wyjscie
match access-group name precedence
policy-map wyjsciowa
class wyjscie
priority 8
interface Tunnel0
qos pre-classify
ip access-list extended precedence
permit ip any any precedence critical
ip access-list extended synack
permit tcp any any match-any +ack
route-map synack permit 10
match ip address synack
match length 0 100
set ip precedence critical
interface wewnętrzny
ip policy route-map synack
interface zewnętrzny
service-policy output wyjsciowa
Jakby policy-map była źle skonfigurowana i nie pchała ack na początek kolejki.
Jakieś jeszcze pomysły?
Co znaczy stwierdzenie że idzie równo w obie strony?TomekMr pisze:Przetestowałem kilka konfiguracji i ciągle nic...
Cały czas idzie równo w obie strony.
Cyt z cisco.com:TomekMr pisze:Aktualnie mamKod: Zaznacz cały
policy-map wyjsciowa class wyjscie priority 8
Kod: Zaznacz cały
You create a priority queue with these set of commands:
Router(config)# policy-map policy-name
Router(config-pmap)# class class-name
Router(config-pmap-c)# priority kpbs [bytes]
During congestion conditions, the traffic class is guaranteed bandwidth equal to the specified rate. (Recall that bandwidth guarantees are only an issue when an interface is congested.) In other words, the priority command provides a minimum bandwidth guarantee.
In addition, the priority command implements a maximum bandwidth guarantee. Internally, the priority queue uses a token bucket that measures the offered load and ensures that the traffic stream conforms to the configured rate. Only traffic that conforms to the token bucket is guaranteed low latency. Any excess traffic is sent if the link is not congested or is dropped if the link is congested.
Tylko przez klasę łapiącą odpowiednie pakiety z flagą ACK masz wysycone znacząco mniej niż 64kB/s... ~64kB/s to Ty masz jak zsumujesz całość oferowango przez klasy pasma (oczywiście kbps i kB/s to nie to samo )TomekMr pisze:Tak, 64kB/s ale tylko ruchu wyłapanego przez tą policy-map(pakiety ack).
Reszta powinna wysycać resztę łącza. Przynajmniej ja to tak rozumiem.