Packeteer Survival Guide

 

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

Wichtig

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.

Wichtig

Der PS schaltet das Interface erst aktiv wenn der Download gestartet wird!

Wichtig

!!!!!!!! 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
Wichtig

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…..

Wichtig

JEDER Flow hat eine CLASS, eine POLICY und eine PARTITION

Ablaufreihenfolge

  1. Partition
  2. Rate
  3. Prio
  4. 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!!

Wichtig

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
.
.
.
Wichtig

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
Wichtig

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.

Wichtig

Mit diesem Wert können sehr leicht Netzwerkprobleme festgestellt werden.

This entry was posted in Uncategorized and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.