Contents
Packeteer
Hardware
1550-er: bis 2 Mbps, 256 Classes, 128 Partitions, 5'000 TCP Flows Tunnels: 10 Compression: 2 Mbps 1 I/F Pair 2500-er: bis 10 Mbps, 512 Classes, 256 Partitions 5'000 TCP Flows (128 kbps - 6 Mbps link), 20'000 TCP Flows (10 Mbps link) Tunnels: 30 Compression: 4 Mbps 3500-er: bis 45 Mbps, 512 Classes, 256 Partitions 40'000 TCP Flows 6500-er: bis 100 Mbps, 1'024 Classes, 512 Partitins 75'000 TCP Flows Tunnels: 50 Compression: 10 Mbps 7500-er: bis 200 Mbps, 1'024 Classes, 512 Partitions 200'000 TCP Flows Tunnels: 100 Compression: 45 Mbps Gigabit Port (Cu, SX 275m, LX 5km or 20km) 9500-er: bis 200 Mbps, 2'048 Classes, 1'024 Partitions 400'000 TCP Flows Tunnels: 300 Compression: 45 Mbps Gigabit Port (Cu, SX 275m, LX 5km or 20km) 10000-er:bis 1 Gbps, 2'048 Classes, 1'024 Partitions 400'000 TCP FLows Tunnels: 300 Compression: 155 Mbps Gigabit Port (Cu, SX 275m, LX 5km or 20km)
Berechnung der Classes: PS= Lokationen x Applikationen x2 (in/out)
Setup
Easy Configure
Nur bei einem Single Link verwenden!
Mit diesem geführten Setup ist ein Vereinfachtes Aufsetzen des Packeteers möglich. Es können Businesskritische Services definiert und dementsprechend priorisiert werden. Es werden 5 Kategorien (Class Arten) erstellt.
Im Browser Cookies und JavaScript enablen.
über die URL: http://unconfigured.packetshaper.com (207.78.98.254) kann ab dann mit dem Browser zugegriffen werden.
Site Router
Wenn mehrere Links (Router) angeschlossen sind und mindestens einer NICHT gesehen werden soll, dann können mit der Option “Site Router” die zu sehenden Router ausgewählt werden. Ansonsten wird alles auf dem Link mitgemessen uns geshaped.
IN- OUTbound Rate
Werte auf den zu Managenden Link setzen.
Nicht zu vergessen
- IP-Adresse/Netzmaske/Def. Gateway
- DNS Eintrag
- Domain Name
- Passwort (Touch/Look)
- Zeitzone (“Paris” auf dem CLI)
- Datum/Zeit
- SNTP (leider noch kein NTP)
- ev. Directory Server Host (Remote Config)
- SW-Lizenz Keys:
e.g. # setup key add compatibility 1 20051113 if0ojecunptxwm10 # setup keys add control on 20050907 inq4f6saf32x22fk # setup keys add linksize 6m 20050907 w6yq3yrrh80-813e
Komplett Reset
Config wird zurückgesetzt (ALLES!), die Lizenzen bleiben aktiv:
setup reset all
Emergency Repair
Wenn ein Image komplett nicht mehr gebootet werden kann, d.h. der PS macht ein “died” gleich nach dem Booten, ist folgendes zu machen:
Nach dem einschalten am Serial-Port gleich CTRL-Y drücken, das folgende Menu erscheint:
Booting... Error, no image archives found operation failed Attention, no bootable PacketWise image found... Monitor (touch) Password: ******** Password Verified. M30 Boot Monitor, v3.0 Copyright(c) 2000,2001 Packeteer, Inc. ================================================ Boot Monitor Menu ================================================ A. Display System Configuration B. Browse Directory Contents C. Browse PacketWise Images D. Execute PacketWise Image E. Download File via LAN (TFTP GET) F. Upload a File via LAN (TFTP PUT) G. Upgrade Boot Firmware H. Recover Flash Disk (9.256) I. Perform Hardware Reset
Somit kann mit der Option E ein neues Image auf den Packeteer kopiert werden.
Der PS schaltet das Interface erst aktiv wenn der Download gestartet wird!
!!!!!!!! NICHT die Option H, benutzen, damit müsste der PS eigentlich an die Factory geschickt werden !!!!!!!!
Password Recovery
Innerhalb von 30 Sek. nach dem boot auf der Console touchpwd= eingeben, man hat “touch” Berechtigung und kann das Passwort ändern. Bei korrupter Config kann es sein, dass dies nicht geht… In diesem Falle kann über den Packeteer Support mit der Serienummer des Shapers ein “one time passwort” verlangt werden.
Traffic Klassifizieren
- Applikation (420 Apps auf L7 erkannt!)
- Ports
- IP Addressen(Subnet, Range, Hostlist)
- MAC Adressen
- Protokolle (IP, IPX, SNA, Decnet, Appletalk)
- App. Criterion (Citrix, HTTP, RTP)
- URL (FQDN)
Rate Control
Alles wird über den Packeteer transparent gebridged. Es wird einzig und alleine mit der Verzögerung der ACK Pakete die Window size angepasst. Dadurch wird auch der Verkehr über die Zeit besser verteilt. Dieses Verfahren ist proaktiv. Der eingehende Traffic wird verzögert und nicht lokal gespeichert (queuing).
Rate Control funktioniert nur bei TCP und UDP!!
Traffic Discovery
Der Shaper detektiert alle Protokolle und listet diese als Classes in der jeweiligen Richtungen (Inbound / Outbound) auf. Gutes Instrument für eine erste Klassifiziertung des Traffics im Link.
Definitionen Flow/Class/Policies/Matching Rule
Flow
FLOW = Ganzer Traffic in einer TCP Connection
Classes
Eine logische Gruppe von Traffic Flows mit denselben Eigenschaften. Eine spezifische Applikation, Protokoll, oder Adressgruppe.
Policies
Mit Policies können individuelle Flows gemanaged werden
Rate Policies
- Wenn für jeden Flow ein Minimum an Bandbreite existieren muss
- Jeder Flow hat priorisierten Zugriff auf Bandbreite
- Limitierung von bandbreitenfressern
Leitung nicht überbuchen!
Priority Policies (0 – 7)
- Wenn Rate nicht nötig ist
- Wenn der Traffic nicht bursted
- Wenn der traffic klein aber latency sensitiv ist
- Bei Hoch Prioritären, kleinen Flows
- Bei wenig Prioritarem, grossem und nicht burstendem traffic
Beispiel: Telnet, TN3270
Discard Policies
- Verwerfen von Paketen einer Klasse
- Service blocken
- Security Gründe
Ideal für nicht TCP Klassen (nicht session orientierte Verbindungen)
Never admit Policies
- Blocken einer Session mit Kundeninformation (Refuse)
- Möglichkeit von Redirection (redirect URL)
Ignore Policies
- Direkter Traffic pass through
- Keine Statistic Einträge
- Ausnehmen einer Traffik Klasse aus dem Bandwidth management
Ideal für den Traffic des Admins…..
JEDER Flow hat eine CLASS, eine POLICY und eine PARTITION
Ablaufreihenfolge
- Partition
- Rate
- Prio
- Burstcount
Admission Control
Mit der Admission Control wird festgelegt was passiert wenn nicht genug Bandbreite für die Erfüllung aller Wünsche zur Verfügung steht.
Refuse (default)
Squeeze
Ein “trickle” von 1kbps garantiert dass die Session nicht stirbt. Wenn mehr Bandbreite frei wird, bekommt der Flow mehr Bandbreite. Ideal für ICA.
Redirection
nur für HTTP Classes
Partitions
Partitionen kreieren eine virtuelle Pipe für eine Traffic Class innerhalb eines Links. Damit können die Minimale und maximale Bandbreite garantiert werden. Es können also Classes limitiert und mindestbandbreiten garantiert werden. Partitionen können auch bursten: Wenn Bandbreite “übrig” ist kann man eine Partition wachsen lassen. Dies kann bis zum Linkmaximum oder zu einer vordefinierten Grösse geschehen. Wenn eine Partition nicht voll gebraucht wird, dann wird der Rest der Partition anderen Classes ausgeliehen. Partitionen sind Hierarchisch gegliedert:
Sub Partitionen müssen in die Parent Partition passen!!
Link nicht überbuchen!!
Unter –> Manage–> Partition Summary kann der Stand der Buchungen eingesehen werden.
Jeder flow muss einer Partition angehören. Wenn in einer Class keine Partition besteht, so fällt die Class in die Partition der parent Class.
Inbound/outbound haben eine default partition : Uncomitted-none.
Uncomitted= link rate minus alle partitions minimuns.
Eine Partition braucht man für:
- Schutz und/oder Limite pro traffic Class
- Limitierung von BW Fressern
- Limitierung von unvorhesehbaren anz. von Flows wie
- ftp
- http
- peer to peer (Napster bis zu 1000 flows)
- Linkaufteilung (share a link)
Dynamische Partitionen
Dynamische Partitionen werden pro host oder pro subnet erstellt, nicht pro flow! Sie werden aufgrund der Anzahl aktiven User errichtet. Jeder User wird somit auf ein Bandbreitenmaximum limitiert.
Matching Rule
Ist die Definition um Traffic Types zu identifizieren. Jede Traffic Class muss mindestens eine Matching Rule haben. Wenn Traffic Discovery Traffic Classes erstellt, werden automatisch eine oder mehrere Matching Rules erstellt.
SLA / Performance / Reporting
Es kann ein “good service” aufgrund von response Zeiten definiert werden (–> Manage –> Response Time –> max. delay). Dort kann mit unter den Menupunkten “Worst Servers” “Worst Clients” die Liste der schlechtesten Server/Clients aufgerufen werden. Es können Schwellwerte definiert und Events ausgelöst werden. — > siehe Handbuch E-Mails können immer nur an alle Empfänger geschickt werden! PacketShaper ist auch SNMP fähig. Es können eigene Events kreiert oder vordefinierte Events (22 Stk, cli: event show) verwendet werden. Events können auch über das GUI eingesehen werden (“Monitor Events”).
Top Level Report
Mit Top Level Reports können Tendenzen der Linkauslastung erkannt werden. Zusätzlich können Custom Reports für beliebige Classes erstellt werden. Statistic Data Dumps können unter Anderem im CVS Format exportiert werden.
Backup / Restore
Config File Backup
Ein Komplettes Backup der Config in ein Command File kann so erstellt werden:
PacketShaper# setup capture complete backup Saved complete configuration in 9.256/cmd/backup.cmd
Fileinhalt:
# # PacketShaper 2500 Configuration # # Address: 172.18.1.4 # Serial: 025-10011476 # Version: PacketShaper v8.1.0g1 2006-10-25 # # Saved on Mon Nov 27 13:44:35 2006 # setup ipaddr 172.18.1.4 255.255.255.0 setup nic inside auto-negotiate setup nic outside auto-negotiate setup siterouter none setup gateway 172.18.1.1 setup timezone local setup timezone Paris setup dns 172.18.1.10 setup domain linuxnet.local setup secure inside off setup secure outside off setup link inbound 4700000 setup link outbound 512000 synthetic options create-classes on hl new exceptionHosts hl new violatingHosts class id /Inbound 1 class new /Inbound Localhost nodefault sortorder:32001 inside local outside host:any class set /Inbound/Localhost exception . . .
Ein setup capture portable macht eine Sicherung OHNE die Maschinen-Spezifischen Daten (IP-Adresse, Email etc.), diese Option ist sehr gut zu gebrauchen um Konfigurationen auf andere PS zu portieren (Darum Portable).
Config Save
Mit config save können schnell Konfigurationen gespeichert werden und später wieder mit config load zurückgeladen werden. Diese Methode ist sehr interessant um “mal schnell was zu testen” und danach den Originalzustand wieder herzustellen.
Das Backup ist komplett in einem *.LDI File abgelegt:
PacketShaper# config save backup Saved effective configuration at /default to backup.ldi
Fileinhalt backup.ldi:
dn: ou=/default,ou=pscfg,o=iqos iqosAutoPolicyOn: FALSE iqosBlockAccess: 0 iqosGoalsEnable: false iqosImageVersion: iqosInboundRate: 4700000 iqosInsideSecure: unsecure iqosLookPassword: 80c7ps6xKhYA iqosMailDomain: linuxnet.ch iqosMailHost: 172.18.1.10 iqosMailPort: 25 iqosMailSender: ps@linuxnet.ch iqosMessage: iqosModemOnConsoleOn: FALSE iqosOfflineReportsOn: FALSE iqosOutboundRate: 512000 iqosOutsideSecure: unsecure iqosOverlayRule: xparent iqosPrescribedImage: iqosShapingOn: on iqosSiteRouter: iqosSnmpLookCommunity: public iqosSnmpTouchCommunity: iqosSnmpTrapManager: iqosSntpClientOn: TRUE iqosSntpPollSeconds: 300 iqosSntpPrimaryServer: ntp1.ptb.de iqosSntpSecondaryServer: ntp2.ptb.de iqosTouchPassword: FjPfay6PO7kA iqosTrafficDiscoveryOn: TRUE objectClass: iqosConfigurationRoot objectClass: top dn: ou=_frame,ou=/default,ou=pscfg,o=iqos iqosFrameATMDiscoveryOn: true iqosFrameATMRoutingOn: true iqosFrameDiscoveryOn: true . . .
Aktueller Traffic
Mit folgendem Kommando kann der aktuelle Traffic auf dem Packeteer angesehen werden:
PacketShaper# traffic flow -tupf Num TCP Flows total = 27 (all classes) InAddr Port OutAddr Port Idle Flags Svc ------------------------------------------------------------------------------- 172.18.1.10 22 195.225.45.254 21704 0s SSH 172.18.1.10 53909 172.18.1.4 23 0s Telnet-Clear 172.18.1.10 55796 172.18.1.20 111 7m O s SunRPC-PortMap 172.18.1.10 48160 172.18.1.20 2049 7m O s NFS 172.18.1.10 443 195.225.45.254 21072 2h SSL 172.18.1.10 42943 172.18.1.20 2049 7m O s NFS 172.18.1.10 48905 172.18.1.20 111 7m O s SunRPC-PortMap 172.18.1.10 59647 172.18.1.20 111 7m O s SunRPC-PortMap . . .
Traffic History
Um die Verbindungen zu sehen die nicht klassifiziert werden konnten:
traffic history revert /Inbound/Default
Das kann auch bei jeder anderen Class angewendet werden, z.B.
traffic history revert /Inbound/HTTP
etc.
DQ-Mode
Siehe DQ Mode für mehr Informationen.
TCP Window size:
WIN 95 8 KB WIN 98 8 KB WIN 98 SE 8 KB WIN ME 16 KB WIN NT 4 8 KB WIN 2000 16 KB WIN 2003 16 – 64 KB WIN XP 64 KB MAC OS 9 32 KB MAC OS X 32 KB Solaris 7 8 KB Solaris 8 24 KB HP UX 11 32 KB Linux 2.4 64 KB
Commands
sys set testShapingModes 1 = enable DQ Mode set shaping DQ = Enter DQ Mode dq mode global = add latency to all traffic dq speed (bps) = Bandwidth Definition dq latency = adds latency dq loss = adds loss rate set shaping off = exits from dq mode
PacketShaping und measurement funktionieren NICHT wenn DQ Mode aktiv ist!
Xpress Tunnels
Commands
com xping x.x.x.x -> Ping Tunnel Endpoint
Tunnel Modes
Legacy = Version 7.x Enhanced = Version 8.x Migration = Version 7.x auf Version 8.x Tunnel (Nur Compression!)
LinkChangeTime
Mit dem Kommando net nic können div. Counter der Netzwerkkarte angesehen werden. Ein sehr interessanter Counter ist der LinkChangeTime, er gibt die Zeit in Sekunden an wo ein “Link Change” passiert ist seit dem Startup des Packetshapers.
Hier die Beschreibung von Packeteer:
LinkChangeTime represents the uptime, in seconds, when the NIC (network interface card) last changed state. Typically, this may show a value between 8 and 10 seconds if there have been no state changes in the NICs since startup. A much larger number may indicate that PacketShaper lost link temporarily or the NIC speed settings were changed. For example, an interface state change exactly 1 day after startup would result in a value 86400 seconds in the LinkChangeTime counter.
Im folgenden Beispiel wurde ein Switch rebootet der am Packeteer angeschlossen ist:
PacketShaper# net nic Current RED parms: Start- 75 End- 50, Max- 450 Inbound: OK, Outbound: OK device Inside 00:60:fb:50:d0:bd Link State: UP (speed = 100000000) Controller Type: PCnet-FAST III 79C973 nic0 MIB: [ 0] TxOctets 166890 [ 1] RxOctets 406878 [ 2] TxUnicast 1474 [ 3] RxUnicast 2205 [ 4] TxNonUnicast 44 [ 5] RxNonUnicast 65 [ 6] TxQueued 0 [ 7] rxQueued 0 [ 8] TxTimeouts 0 [ 9] RxDrops 0 [10] TxErrors 0 [11] RxRunts 0 [12] TxBabbleErrors 0 [13] RxErrors 0 [14] TxBufferErrors 0 [15] RxOverflowErrors 0 [16] TxRetryErrors 0 [17] RxFramingErrors 0 [18] TxUnderflowErrors 0 [19] RxCrcErrors 0 [20] TxLateCollisions 0 [21] RxFifoErrors 0 [22] TxNoLinkErrors 0 [23] RxMissedErrors 0 [24] TxRingFullErrors 0 [25] RxLateDrops 0 [26] TxInterrupts 0 [27] RxInterrupts 0 [28] NumRestarts 0 [29] NumInterrupts 0 [30] IsrReenters 0 [31] LinkChangeTime 20 [32] DrdBrickWallHits 0 [33] MissedPacketsCount 0 device Outside 00:60:fb:50:d0:be Link State: UP (speed = 100000000) Controller Type: PCnet-FAST III 79C973 nic1 MIB: [ 0] TxOctets 378051 [ 1] RxOctets 157235 [ 2] TxUnicast 1988 [ 3] RxUnicast 1360 [ 4] TxNonUnicast 98 [ 5] RxNonUnicast 11 [ 6] TxQueued 0 [ 7] rxQueued 0 [ 8] TxTimeouts 0 [ 9] RxDrops 0 [10] TxErrors 0 [11] RxRunts 0 [12] TxBabbleErrors 0 [13] RxErrors 0 [14] TxBufferErrors 0 [15] RxOverflowErrors 0 [16] TxRetryErrors 0 [17] RxFramingErrors 0 [18] TxUnderflowErrors 0 [19] RxCrcErrors 0 [20] TxLateCollisions 0 [21] RxFifoErrors 0 [22] TxNoLinkErrors 0 [23] RxMissedErrors 0 [24] TxRingFullErrors 0 [25] RxLateDrops 0 [26] TxInterrupts 0 [27] RxInterrupts 0 [28] NumRestarts 0 [29] NumInterrupts 0 [30] IsrReenters 0 [31] LinkChangeTime 723 [32] DrdBrickWallHits 0 [33] MissedPacketsCount 0
Auf dem Interface 00:60:fb:50:d0:bd sieht man die normale Zeit von 20s, auf dem Interface 00:60:fb:50:d0:be ist die Zeit auf 723s angestiegen.
Mit diesem Wert können sehr leicht Netzwerkprobleme festgestellt werden.