duze obciazenie cisco 7204VXR

Wszystkie rozmowy związane z problemem z hardwarem, supportowanymi funkcjonalnościami, wydajnością urządzeń itp.
Wiadomość
Autor
gizmen
fresh
fresh
Posty: 8
Rejestracja: 30 lip 2008, 22:36

duze obciazenie cisco 7204VXR

#1

#1 Post autor: gizmen »

Witam,

Ostatnio nabylismy cisco 7204VXR z dwoma portami fast ethernet oraz NPE-400 512 RAM-u
Mamy podpiete narazie jedno lacze 20 Mb/s wraz z BGP z pelna lista prefiksow.
Robie tez NAT na nim dla sieci. Wykorzystujemy raptem gdzies 10Mb/s.
Mam tam IOS c7200-jk9o3s-mz.123-24.bin i probowalem juz na przeroznych od najnowszych 12.4 (c7200-ik9s-mz.124-21.bin). System najbardziej stabilnie pracuje pod kontrola 12.3.24. Jak mialem 12.4 to mialem przerozne zwiechy systemu. Strasznie nie stabilnie pracowal.

Ogolnie moim problemem jest obciazenie procesora. Ktore wydaje mi sie zaduze do tego co robi ten ruter.
Np:

Kod: Zaznacz cały

CPU utilization for five seconds: 66%/60%; one minute: 62%; five minutes: 49%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
  53    31471764  57189497        550  6.23%  8.68% 12.46%   0 IP Input
 164    27507460    141505     194393  0.00%  2.57%  4.45%   0 BGP Scanner
   6     4151144    215651      19249  0.00%  0.46%  0.68%   0 Check heaps
  76     1408456      9733     144709  0.00%  0.15%  0.25%   0 IP Cache Ager
  65     1329172      8773     151507  0.00%  0.12%  0.19%   0 IP Background
 156      125976    246686        510  0.00%  0.03%  0.05%   0 IP SNMP
  88      554956   1148055        483  0.15%  0.02%  0.00%   0 BGP Router
 154      577204   7301846         79  0.00%  0.02%  0.03%   0 IP NAT Ager

Kombinowalem juz jak moglem. Mam ogolnie podstawa konfiguracje zadnych dziwnostek. Nie wiem czemu mi ten ruter tak zabija procka. W dokumentacji tego procesowa podobno moze nawet do 250 Mb/s pchnac. My niei generujemy na ten czas wiecej niz 10Mb/s. Oczywiscie dochodzi do tego NAT i BGP. ALe i tak 10 do 250 Mb/s to duza roznica. Ponizej to moj konfig

Kod: Zaznacz cały

version 12.3
no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime show-timezone year
service timestamps log datetime msec localtime show-timezone year
service password-encryption
service sequence-numbers
no service dhcp
!
hostname gw
!
boot-start-marker
boot system flash c7200-jk9o3s-mz.123-24.bin
boot-end-marker
!
logging buffered 20000 debugging
!
clock timezone CET 1
clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00
aaa new-model
!
!
aaa authentication login default local
aaa authorization exec default local
aaa session-id common
ip subnet-zero
no ip source-route
no ip bootp server
ip cef
ip audit po max-events 100
ip ssh time-out 30
ip ssh authentication-retries 1

interface FastEthernet0/0
 no ip address
 duplex auto
 speed auto
!
interface FastEthernet0/0.1
 encapsulation dot1Q 13
 ip address (tutaj ipki polaczeniowe do operatora)
 ip nat outside
!
interface FastEthernet0/0.2
 description DSL
 encapsulation dot1Q 11
 ip address (lacze zapasowe)
!
interface FastEthernet0/1
 no ip address
 duplex auto
 speed auto
!
interface FastEthernet0/1.1
 description serwer
 encapsulation dot1Q 2
 ip address 172.16.2.1 255.255.255.240
 ip nat inside
!
interface FastEthernet0/1.2
 drugi serwer
 encapsulation dot1Q 50
 ip address 10.1.1.2 255.255.255.252
 ip nat inside
!
interface FastEthernet0/1.3
 description trzeci
 encapsulation dot1Q 4
 ip address 172.16.2.17 255.255.255.240
 ip nat inside
!
interface FastEthernet0/1.4
 description link do operatora ktoremu sprzedajemy lacze
 encapsulation dot1Q 3
 ip address 172.16.255.1 255.255.255.248
 ip nat inside
 rate-limit input 4200000 787500 1575000 conform-action transmit exceed-action drop
 rate-limit output 4200000 787500 1575000 conform-action transmit exceed-action drop
!
router bgp xxxxx
 no synchronization
 bgp router-id xxxx
 bgp log-neighbor-changes
 network xxxx mask xxx
 network xxx mask xxxx
 neighbor xxx remote-as 20804
 no auto-summary
!
ip nat translation timeout 240
ip nat inside source list LAN-NAT interface FastEthernet0/0.1 overload
ip nat inside source static 172.16.2.2 xxxx
ip nat inside source static 172.16.255.2 xxxx
ip classless
ip route 0.0.0.0 0.0.0.0 xxxx
ip route xxx 255.255.254.0 172.16.255.2
ip route 172.16.1.0 255.255.255.0 10.1.1.1
ip route 172.16.10.0 255.255.255.0 10.1.1.1
ip route 172.16.10.14 255.255.255.255 172.16.2.18
ip route 172.16.20.0 255.255.255.0 10.1.1.1
ip route 172.16.30.0 255.255.255.0 10.1.1.1
ip route 172.17.0.0 255.255.0.0 10.1.1.1
ip route xxx 255.255.254.0 10.1.1.1
ip route xxxx 255.255.255.255 172.16.2.2
ip route xxxx 255.255.255.255 172.16.255.2
no ip http server
no ip http secure-server
!
!
!
ip access-list standard DSL-NET
 permit xx 0.0.0.7
ip access-list standard LAN-NAT
 permit 10.1.1.1
 permit 172.16.1.10
 permit 172.16.1.3
 permit 172.16.10.0 0.0.0.255
 permit 172.17.0.0 0.0.255.255
 permit 172.16.20.0 0.0.0.255
 permit 172.16.30.0 0.0.0.255
!
route-map test permit 10
!
snmp-server community xxx
snmp-server location xxx
snmp-server contact xxx
snmp-server chassis-id xxx
gatekeeper
 shutdown
!
!
line con 0
 stopbits 1
line aux 0
 stopbits 1
line vty 0 4
 session-timeout 60
 exec-timeout 50 0
Mecze sie z tym juz kilku tygodni i nie moge dojsc co tak zjada procka i czemu. Zczytuje obciazenie procka po snmp i wacha sie miedzy 30% a 70%.

Oto stat z NATowania

Kod: Zaznacz cały

Total active translations: 4650 (2 static, 4648 dynamic; 4648 extended)
Outside interfaces:
  FastEthernet0/0.1
Inside interfaces:
  FastEthernet0/1.1, FastEthernet0/1.2, FastEthernet0/1.3, FastEthernet0/1.4
Hits: 124374768  Misses: 3225538
Expired translations: 3234489
Dynamic mappings:
-- Inside Source
[Id: 1] access-list LAN-NAT interface FastEthernet0/0.1 refcount 6869

CEF mam wlaczony na wszystkich (dwoch) interfejsach.

A to historia obciazenia z rutera:

Kod: Zaznacz cały

    3333333444443333333333222223333333333444446666688888333333
    3322222111111111111111888880000088888000000000044444777770
100
 90
 80                                                *****
 70                                                *****
 60                                           **********
 50                                           **********
 40        *****                    *************************
 30 ************************************************************
 20 ************************************************************
 10 ************************************************************
   0....5....1....1....2....2....3....3....4....4....5....5....
             0    5    0    5    0    5    0    5    0    5
               CPU% per second (last 60 seconds)
       1           1         1               1
    8890998888888990999977889099899888877899809999998999899999
    4970617548554360823234882071521987283295708529969995738999
100   ***         ***        **           ** *** *** ***  **** *
 90  ******* *** *******  ************    **********************
 80 ********************  ************** **************#*###****
 70 *********###******************#####**************########***
 60 ******#######****************######************#############
 50 ***############**********#############*#**##################
 40 ################***#*#######################################
 30 ############################################################
 20 ############################################################
 10 ############################################################
   0....5....1....1....2....2....3....3....4....4....5....5....
             0    5    0    5    0    5    0    5    0    5
               CPU% per minute (last 60 minutes)
              * = maximum CPU%   # = average CPU%
    1111111          1 1111111111111             1 11 1
    0000000999989988909000000000000098887788889990900909999998777788799898
    0000000742451336109000000000000059746862384370100507534102566301507747
100 ********         ****************           ** ******             *
 90 ************** ********************   *  ****************        *******
 80 ************************************************************* **********
 70 ************************************************************************
 60 **#**#******************************************************************
 50 #######*************#**#*#*#********************************************
 40 #########**********#############***********#######*#********************
 30 ###########*******###############*********#############*************#***
 20 ####################################**####################*******#######
 10 ########################################################################
   0....5....1....1....2....2....3....3....4....4....5....5....6....6....7.
             0    5    0    5    0    5    0    5    0    5    0    5    0
                   CPU% per hour (last 72 hours)
                  * = maximum CPU%   # = average CPU%
(troche sie to rojechalo)

Czy ktos ma pomysl co jest przyczyna takiego obciazenia ? Mnie sie skonczyly pomysly.

EDIT: Do listingow konfiguracji, show, debug, etc uzywamy znacznikow

Kod: Zaznacz cały

Seba
Ostatnio zmieniony 22 sie 2008, 12:42 przez gizmen, łącznie zmieniany 1 raz.

lukaszbw
CCIE
CCIE
Posty: 516
Rejestracja: 23 mar 2008, 11:41

#2

#2 Post autor: lukaszbw »

Witam,

Niestety NAT na cisco powoduje spore obciążenie procesora, szczególnie PAT. Jak dodasz do tego BGP i NPE-400, który ma dość słaby procesor R7000 350Mhz to nie ma się co spodziewać, że pociągnie kilkadziesiąt Mbit z NAT. Te routery podobnie jak np. 3745 nadają się dobrze do samego routingu przy prędkościach do 100-150Mbit symetrycznie. Ja zawsze zakładam, że z PAT wydajność routera będzie na poziomie ilości ppps w process switching czyli 20Kpps dla NPE-400.

Rada? Jeżeli możesz, daj statyczny nat z no-payload bez extendable. Zawsze można też wymienić NPE, NPE-G1 to 700Mhz a NPE-G2 już 1.67Ghz więc różnice potężne. [/code]
Lukasz Wisniowski MSc CCNA CCNP CCIE #20319
Tandem Networks
ul. Sztormowa 34
94-117 Łódź
NIP: 727-257-72-37
tel: +48 (42) 2091825

Awatar użytkownika
Ramonides
wannabe
wannabe
Posty: 65
Rejestracja: 15 lis 2006, 18:24
Lokalizacja: Poland

#3

#3 Post autor: Ramonides »

lukaszbw pisze:Niestety NAT na cisco powoduje spore obciążenie procesora
Tak z "małodoświadczonego" doświadczenia :) dodam, że przy rozbudowanym nacie i np. jakiejś zawirusowanej maszynie skanującej sieć od wewnątrz - NAT potrafi nabić dla kilkunastu komputerów na 7604 przy sup 32 - nawet do kilkadziesiąt procent procka !
Bo kiedyś zanim mały błąd w konfiguracji i zarobaczonego kompa usunęliśmy - było takie zdarzenie - więc sie do kolego zdania skromnie przychylam :)
Rezerwat- "Ballada o kwiatach"

gizmen
fresh
fresh
Posty: 8
Rejestracja: 30 lip 2008, 22:36

#4

#4 Post autor: gizmen »

Dzisiaj nawet z CIekawosci wyfiltorwalem wszystkie przychodzace prefixy z BGP i zostawilem default route. Myslalem ze to moze duza ilosc prefiksow moze w znacznym stopniu obciazac ruter. Ale po tym manewrze w ogole nie zmienilo sie obciazenie procesora. Tak wiec wiem jedno ze to nie full feed BGP-a. Tak wiec zostaje NAT i z nim bede musial sie uporac.

Awatar użytkownika
marcins
Site Admin
Site Admin
Posty: 3194
Rejestracja: 22 mar 2004, 09:05
Kontakt:

#5

#5 Post autor: marcins »

do NATa postaw mala ASA.i tyle

lukaszbw
CCIE
CCIE
Posty: 516
Rejestracja: 23 mar 2008, 11:41

#6

#6 Post autor: lukaszbw »

Ramonides pisze: Tak z "małodoświadczonego" doświadczenia :) dodam, że przy rozbudowanym nacie i np. jakiejś zawirusowanej maszynie skanującej sieć od wewnątrz - NAT potrafi nabić dla kilkunastu komputerów na 7604 przy sup 32 - nawet do kilkadziesiąt procent procka !
Sup32 nie wiem czy wogóle wspiera sprzętowy NAT bo nie bawiłem się nimi pod tym kątem. Od sup720 PFC3B nat jest wspierany sprzętowo dla udp i tcp. Niestety działa podobnie jak stary flow based routing. Oznacza to, że dla każdego flow (połączenia) procesor MSFC2A (przy sup32) musi przerabiać ruch. A mówimy tutaj o R7000 300Mhz więc jeszcze wolniejszy niż npe-400. Wystarczy puścić DoS ze zmieniającym się portem lub adresem docelowym i leży :)

Jeżeli musisz robić NAT na większe prędkości to firewall albo linux są dobrymi rozwiązaniami jeżeli możesz sobie pozwolić na drugą maszynke bo na nich masz na ogół mocne procesory za rozsądną cenę.

Sama wielkość tablic routingu dzięki BGP niewiele wpływa na obciążenie procesora, raczej aktualizacje BGP, szczególnie jak masz kilka peerów.
Lukasz Wisniowski MSc CCNA CCNP CCIE #20319
Tandem Networks
ul. Sztormowa 34
94-117 Łódź
NIP: 727-257-72-37
tel: +48 (42) 2091825

marcinpsk
member
member
Posty: 39
Rejestracja: 14 mar 2008, 20:22

#7

#7 Post autor: marcinpsk »

lukaszbw pisze:
Sama wielkość tablic routingu dzięki BGP niewiele wpływa na obciążenie procesora, raczej aktualizacje BGP, szczególnie jak masz kilka peerów.

troche wpływa na obciązenie bgp scannera, a przynajmniej na npe-300 z tego powodu, z pełnym feedem nie dało sie przez niego puszczac voipa bez reklamacji klientów, równo co minute skakało opoznienie, przy ruchu nie przekraczajacym 5-10 mbits.

Awatar użytkownika
marcins
Site Admin
Site Admin
Posty: 3194
Rejestracja: 22 mar 2004, 09:05
Kontakt:

#8

#8 Post autor: marcins »

bo IOS to _ nie jest platforma do NAT_. koniec kropka

to ze na 1800 da sie odpalic BGP nie znaczy ze zassiecie pelna tablice i bedzie dzialac

gizmen
fresh
fresh
Posty: 8
Rejestracja: 30 lip 2008, 22:36

#9

#9 Post autor: gizmen »

lukaszbw pisze:
Ramonides pisze: Sama wielkość tablic routingu dzięki BGP niewiele wpływa na obciążenie procesora, raczej aktualizacje BGP, szczególnie jak masz kilka peerów.
Tak dokladnie zdazylem to zauwazyc. Co minute odpala sie skaner i mam chwilowe skoki obciazenia procka. Nie jest to wiekszym problemem bo nie trwa to akurat zbyt dlugo(w granicach kilku sekund na tej maszynie). Racja z tym ze to nie jest maszyna do natowania dlatego bede kombinowal zeby sie pozbyc go i przeniesc na cos innego.

gizmen
fresh
fresh
Posty: 8
Rejestracja: 30 lip 2008, 22:36

#10

#10 Post autor: gizmen »

lukaszbw pisze:Witam,

Rada? Jeżeli możesz, daj statyczny nat z no-payload bez extendable. Zawsze można też wymienić NPE, NPE-G1 to 700Mhz a NPE-G2 już 1.67Ghz więc różnice potężne. [/code]
Czy moglbys wytlumaczyc jak dzialaja te parametry no-payload i extendable ? Szukalem po dokumentacji cisco i znalazlem szczatkowe informacje i nie jestem pewien czy to dobrze zrozumialem.

BTW: Faktycznie jak zrobilem natownie na unixie to drastycznie spadlo obciazenie procka :) Tak wiec faktycznie to problem NATowania. Tak wiec bede walczyl zeby sie pozbyc PAT-a i zostawic tylko statyczne natowania do serwerow.

lukaszbw
CCIE
CCIE
Posty: 516
Rejestracja: 23 mar 2008, 11:41

#11

#11 Post autor: lukaszbw »

no-payload - zmienia tylko ip header w NAT
Feature Overview

Previous to this feature, the address embedded in the packet payload was translated according to the configured NAT rules and the IP header address for all supported protocols or applications.

In the NAT—Translation of External IP Addresses Only feature, Cisco IOS Network Address Translation (NAT) can be configured to ignore all embedded IP addresses for any application and traffic type. Traffic between a host and the outside world flows through the internal network. A router configured for NAT translates the packet to an address that is routable inside the internal network. If the intended destination is the outside world, the packet gets translated back to an external address and sent out.
Benefits

•Supports public and private network architecture with no specific route updates.

•Gives the end client a usable IP address at the starting point. This address will be the address used for IP Security (IPSec) connections and traffic.

•Allows the use of network architecture that requires only the header translation.
extendable - rozszerza statyczny NAT
• "Extendable" static translations:
The extendable keyword allows the user to configure several ambiguous static translations, where an ambiguous translations are translations with the same local or global address.
ip nat inside source static <localaddr> <globaladdr> extendable
Some customers want to use more than one service provider and translate into each provider's address space. You can use route-maps to base the selection of global address pool on output interface as well as an access-list match. Following is an example:
ip nat pool provider1-space ...
ip nat pool provider2-space ...
ip nat inside source route-map provider1-map pool provider1-space
ip nat inside source route-map provider2-map pool provider2-space
!
route-map provider1-map permit 10
match ip address 1
match interface Serial0/0
!
route-map provider2-map permit 10
match ip address 1
match interface Serial0/1
Once that is working, they might also want to define static mappings for a particular host using each provider's address space. The software does not allow two static translations with the same local address, though, because it is ambiguous from the inside. The router will accept these static translations and resolve the ambiguity by creating full translations (all addresses and ports) if the static translations are marked as "extendable". For a new outside-to-inside flow, the appropriate static entry will act as a template for a full translation. For a new inside-to-outside flow, the dynamic route-map rules will be used to create a full translation.
Dodam jeszcze, że warto od razu zacząć od zmiany timerów dla NAT bo to też sporo pomaga :

np.

Kod: Zaznacz cały

ip nat translation timeout 120
ip nat translation tcp-timeout 120
ip nat translation udp-timeout 10
ip nat translation finrst-timeout 5
ip nat translation syn-timeout 10
ip nat translation dns-timeout 20
ip nat translation icmp-timeout 10
ip nat translation port-timeout tcp 22 1200
ip nat translation port-timeout tcp 23 1200
ip nat translation port-timeout tcp 443 1800
ip nat translation port-timeout tcp 8074 1200
Ograniczanie ilości translacji per klient też jest pomocne (w 12.4 dostępne, pojawiło się w 12.3T ale ten release jest mega niestabilny) jednak na niektórych platformach nie działa to dobrze i ma tendencje do zapychania się.

EDIT: Do listingow konfiguracji, show, debug, etc uzywamy znacznikow

Kod: Zaznacz cały

Seba
Ostatnio zmieniony 22 sie 2008, 12:43 przez lukaszbw, łącznie zmieniany 1 raz.
Lukasz Wisniowski MSc CCNA CCNP CCIE #20319
Tandem Networks
ul. Sztormowa 34
94-117 Łódź
NIP: 727-257-72-37
tel: +48 (42) 2091825

lbromirs
CCIE
CCIE
Posty: 4101
Rejestracja: 30 lis 2006, 08:44

#12

#12 Post autor: lbromirs »

lukaszbw pisze:Sup32 nie wiem czy wogóle wspiera sprzętowy NAT bo nie bawiłem się nimi pod tym kątem.
To nie Sup32/720 wspiera NAT, tylko PFC, bo ona fizycznie realizuje te funkcje. Zarówno w Supie32 jak i 720'tce.
lukaszbw pisze:Sama wielkość tablic routingu dzięki BGP niewiele wpływa na obciążenie procesora, raczej aktualizacje BGP, szczególnie jak masz kilka peerów.
Po to jest CEF żeby nie było tak jak w innych architekturach, które są flow-based, albo robią różne sztuczki - chociażby robiąc kompresję prefiksów ;P Przy włączonym CEFie rozmiar tablicy FIB nie powinien mieć znaczenia na proces forwardingu - choć po to optymalizuje się układ drzewka (16/8/8, 8/8/8/8, etc) żeby szkieletowe architektury sprawdzały się o troszkę lepiej niż dostępowe.

lukaszbw
CCIE
CCIE
Posty: 516
Rejestracja: 23 mar 2008, 11:41

#13

#13 Post autor: lukaszbw »

lbromirs pisze:
To nie Sup32/720 wspiera NAT, tylko PFC, bo ona fizycznie realizuje te funkcje. Zarówno w Supie32 jak i 720'tce.
To, że sprzęt obsługuje to nie oznacza że soft :) SLB nie jest obsługiwany na sup32, a na SUP2 jest nie mówiąc o sup720. Niby PFC3B mają sup32 i sup720 a jednak jest różnica. Podobnie ze wsparciem sprzętu, sup32 np. nie obsługiwał WS-X6182-2PA mimo, że karta jest typu bus - pewnie znalazłoby się więcej ograniczeń sup32 ale na te się natknąłem (nie licze tutaj braku SF bo to inna bajka).

Tym samym jak cisco pisze HW ready i do tego hardware assited to póki nie zobacze albo ktoś się nie pochwali że dobrze chodzi to podchodze z rezerwą :)
Lukasz Wisniowski MSc CCNA CCNP CCIE #20319
Tandem Networks
ul. Sztormowa 34
94-117 Łódź
NIP: 727-257-72-37
tel: +48 (42) 2091825

lbromirs
CCIE
CCIE
Posty: 4101
Rejestracja: 30 lis 2006, 08:44

#14

#14 Post autor: lbromirs »

lukaszbw pisze:
lbromirs pisze:
To nie Sup32/720 wspiera NAT, tylko PFC, bo ona fizycznie realizuje te funkcje. Zarówno w Supie32 jak i 720'tce.
To, że sprzęt obsługuje to nie oznacza że soft :) SLB nie jest obsługiwany na sup32, a na SUP2 jest nie mówiąc o sup720.
Ale mówimy o NAT, prawda? I ja też pisałem o NAT.
lukaszbw pisze:Niby PFC3B mają sup32 i sup720 a jednak jest różnica.
Nie biorąca się z PFC czy podłączenia PFC do płyty Supervisora.
lukaszbw pisze:Podobnie ze wsparciem sprzętu, sup32 np. nie obsługiwał WS-X6182-2PA mimo, że karta jest typu bus - pewnie znalazłoby się więcej ograniczeń sup32 ale na te się natknąłem (nie licze tutaj braku SF bo to inna bajka).
Karta 6182 wychodziła ze sprzedaży w momencie, gdy Sup32 wchodził i jest to jasno odnotowane w Release Notes:

http://www.cisco.com/en/US/docs/switche ... #wp2589910

Do obsługi "WAN"u na Sup32 jest SIP-200 i SIP-400. Dalej nie bardzo rozumiem jaki to ma związek z NATem i konstrukcją karty PFC.

ODPOWIEDZ