Relazione elegante
Transcript
Relazione elegante
Progetto Garr-b PoReR - Università di Trieste Giorgio Giorgetti ! ! Si è inoltre considerata l’eventualità di settare la priorità di trasmissione assegnata alle code che servono i diversi PVC. Attualmente sono configurati 26 PVC; Il valore totale aggregato di banda in uscita dall’interfaccia ATM non supera i 10 Mbps di picco: con un access-rate di 155 Mbps si è considerato trascurabile settare la priorità tra i pvc. Infine per abilitare l’IP to ATM CoS si è reso necessario configurare il Cisco Express Forwarding (ip cef). Configurazione router Frame Relay Anche su Frame Relay è stato possibile definire una policy (policy-map videoconf) da applicare in uscita al PVC Frame Relay verso la sede di Trieste grazie alla nuova feature (LLQ for Frame Relay) implementata nella versione 12.1(2)T. A differenza dell’ATM, la policy è applicata al VC inserita nella map-class che definisce i parametri per lo shaping, la frammentazione dei frames e la gestione della congestione: ! interface Serial0.1 point -to-point description frame-relay verso via Valerio tramite dlci 20 bandwidth 768 ip address 140.105.XXX.50 255.255.255.252 ip access-group 106 in ip access-group 106 out ip accounting output -packets ip mtu 1496 no cdp enable frame-relay interface-dlci 20 IETF class h323class ! map-class frame-relay h323class frame-relay cir 768000 frame-relay bc 7680 frame-relay be 0 frame-relay mincir 768000 no frame-relay adaptive-shaping service-policy output videoconf frame-relay fragment 1600 ! Ugualmente a l policy-map comprende due classi: la classe H.323 a stretta priorità (class h323) a cui viene riservata una banda di 300 Kbps e la classe di default (class class-default) su cui confluisce il resto del traffico: policy-map videoconf class h323 priority 300 class class-default 10 Progetto Garr-b PoReR - Università di Trieste Giorgio Giorgetti fair-queue ! ! L’access-list 104 seleziona il traffico prioritario: class-map match-all h323 match access-group 104 ! access-list 104 permit udp host 140.105.CCC.DDD host 140.105.AAA.BBB range 3230 3237 precedence critical Oltre ai parametri del traffic shaping, nella map-class viene disabilitata la gestione della segnalazione di congestione tramite il flag BECN non supportato da Telecom, e comunque inefficiente in caso di traffico inelastico, e viene definita la dimensione minima del frame da frammentare. Analoghi test di saturazione della linea hanno permesso di valutare sufficiente una banda riservata di 300 Kbps, come prevedibile secondo il calcolo effettuato sommando ai flussi audio e video precedentemente calcolati a livello 3 (70 Kbps + 230 Kbps), il ridottissimo overhead di livello 2. Il TX-ring size (assegnato all’interfaccia main) di default ha una profondità di 64 pacchetti. Visto il valore abbastanza elevato del CIR, rispetto all’accesso, e visto che il PVC configurato è unico, si è lasciato il valore di default. Per le esigenze di QoS (in particolare riduzione del jitter) si è configurata la frammentazione secondo lo standard FRF.12 che permette di attivare il processo di LFI (Link Fragmentation ad Interleaving) per i frames in uscita dall’interfaccia main. Sebbene con un access-rate di 1984 Kbps non fosse tecnicamente raccomandato frammentare (1500 bytes in coda davanti ad un pacchetto RTP, aggiungono un delay di serializzazione trascurabile di 6 ms), si è reso comunque necessario al fine di abilitare il sistema di accodamento dual-fifo sull’interfaccia seriale, necessario alla gestione della coda fifo “alta” (LLQ) per voce/video e la fifo normale per i dati (in effetti se non viene preventivamente abilitata la frammentazione, il router non applica la service policy alla map-class frame relay e restituisce un messaggio d’errore). Serial0 is up, line protocol is up Hardware is QUICC Serial MTU 1500 bytes, BW 768 Kbit, DLY 20000 usec, reliability 255/255, txload 40/255, rxload 33/255 Encapsulation FRAME-RELAY IETF, loopback not set Keepalive set (10 sec) LMI enq sent 189, LMI stat recvd 189, LMI upd recvd 0, DTE LMI up LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0 LMI DLCI 1023 LMI type is CISCO frame relay DTE FR SVC disabled, LAPF state down 11 Progetto Garr-b PoReR - Università di Trieste Giorgio Giorgetti Broadcast queue 0/64, broadcasts sent/dropped 0/0, interface broadcasts 0 Last input 00:00:00, output 00:00:00, output hang never Last clearing of "show interface" counters 00:31:30 Queueing strategy: dual fifo Output queue: high size/max/dropped 0/256/0 Output queue 0/128, 55196 drops; input queue 1/75, 0 drops 5 minute input rate 101000 bits/sec, 9 packets/sec 5 minute output rate 121000 bits/sec, 9 packets/sec 81631 packets input, 50651147 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 125638 packets output, 108610167 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 output buffer failures, 0 output buffers swapped out 0 carrier transitions DCD=up DSR=up DTR=up RTS=up CTS=up map-class frame-relay h323class frame-relay cir 768000 frame-relay bc 7680 frame-relay be 0 frame-relay mincir 768000 no frame-relay adaptive-shaping service-policy output videoconf frame-relay fragment 1600 ! Impostando la dimensione del frame oltre la quale frammentare a 1600 (il massimo consentito), ci si aspettava che non venisse frammentato alc un frame in uscita. Così non è stato. Si è notato che la frammentazione causava la perdita di tutti i pacchetti di MTU massima. I frames venivano scartati all’interoperabilità ATM/Frame Relay: pur conforme allo standard FRF.8, non vi è la traduzione dei frame frammentati lato ATM mancando il corrispettivo. L’uscita su WAN di frame frammentati è dovuta al fatto che, essendo l’MTU dell’interfaccia seriale di 1500 Bytes (header di livello 2 escluso), il router ignora l’impostazione frame-relay fragment 1600 e considera 1500 il limite dei frame da frammentare. Dunque ad una trama in uscita di dimensione max 1514 bytes, tolto l’header Ethernet, verrebbe aggiunto l’header Frame Relay a formare un frame di 1504 bytes, maggiore di 1500 e dunque frammentato e scarta to in arrivo sullo switch di Telecom. Si è provato a ridurre la default MTU a livello 2 sull’interfaccia seriale, ma tale impostazione non viene considerata, o perlomeno il processo di frammentazione avviene prima. Dunque si è fissata la MTU a livello 3 (ip mtu 1496) con l’inevitabile lieve aumento di overhead: un compromesso valutato comunque come accettabile (il valore specificato a livello IP è comprensivo di header, la perdita di carico totale è infine di 4 bytes per frame): interface Serial0 bandwidt h 768 no ip address ip accounting output -packets 12 Progetto Garr-b PoReR - Università di Trieste Giorgio Giorgetti ip mtu 1496 encapsulation frame-relay IETF no ip mroute-cache frame-relay traffic-shaping frame-relay lmi-type cisco ! interface Serial0.1 point -to-point description frame-relay verso via Valerio tramite dlci 20 bandwidth 768 ip address 140.105.XXX.50 255.255.255.252 ip access-group 106 in ip access-group 106 out ip accounting output -packets ip mtu 1496 no cdp enable frame-relay interface-dlci 20 IETF class h323class ! 1496+4=1500 bytes massimi per frame di livello 2 (header inclusi): non viene frammentato alcun frame, e si osserva come il processo di interleaving è attivo, dando precedenza immediata alla coda prioritaria: pordenone#show frame-relay pvc 20 PVC Statistics for interface Serial0 (Frame Relay DTE) DLCI = 20, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0.1 input pkts 231077 output pkts 56763 in bytes 63544599 out bytes 20121944 dropped pkts 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 0 out bcast bytes 0 pvc create time 2w1d, last time pvc status changed 1w2d service policy miapol Service-policy output: miapol (1131) Class-map: videoconf (match-all) (1133/2) 26462 packets, 16790901 bytes 5 minute offered rate 162000 bps, drop rate 0 bps Match: access-group 104 (1137) Weighted Fair Queueing Strict Priority Output Queue: Conversation 72 Bandwidth 300 (kbps) Burst 7500 (Bytes) (pkts matched/bytes matched) 26643/16888159 (total drops/bytes drops) 0/0 Class-map: class-default (match-any) (1141/0) 29882 packets, 3269824 bytes 5 minute offered rate 26000 bps, drop rate 0 bps Match: any (1145) Weighted Fair Queueing Flow Based Fair Queueing Maximum Number of Hashed Queues 64 (total queued/total drops/no-buffer drops) 13 Progetto Garr-b PoReR - Università di Trieste Giorgio Giorgetti 0/0/0 Output queue size 0/max total 600/drops 0 fragment type end-t o-end fragment size 1600 cir 768000 bc 7680 be 0 limit 960 interval 10 mincir 768000 byte increment 960 BECN response no frags 56787 bytes 20129557 frags delayed 30134 bytes delayed 3236758 shaping active traffic shaping drops 0 pordenone# pur non essendoci in uscita alcun frame frammentato: pordenone#show frame-relay fragment interface dlci frag-type frag-size in-frag Serial0.1 20 end-to-end 1600 0 pordenone# out-frag dropped-frag 0 0 Non si è implementato il cRTP per la compressione degli header di livello 3 e 4 in quanto non supportato su ATM. Non si è implementata alcuna politica di QoS su LAN: ne a Trieste, né a Pordenone. Struttura del test e risultati Per valutare il comportamento dei routers in caso di congestione si è utilizzato il Multicast generator come generatore di traffico per porre sotto stress il collegamento WAN prima in un senso e poi nell’altro (Test 1 e Test 2). Il generatore (MGEN ver 3.2a1) genera un flusso RTP su UDP specificabile in termini di indirizzo IP target, pps, packet-size, porti utilizzati e durata, verso il client ricevitore (DREC ver 3.2a1) che tiene traccia dei pacchetti giunti a destinazione e fornisce un sommario finale. Oltre a ciò, alcuni flussi ICMP (ping) di test tra tre distinti host sorgenti su LAN a Trieste verso tre distinti host destinatari su LAN a Pordenone, hanno creato altro “disturbo” sul link, permettendo ulteriori valutazioni. Non essendo possibile interrogare i router via SNMP per l’assenza di MIB compilati con il supporto delle query alle variabili di interesse, si sono raccolti i dati attraverso l’esecuzione sul router, via CLI da shell remota, di quegli show commands che mostrassero i parametri da tracciare. A tal fine si è utilizzato un file di script schedulato sul crontab di un server UNIX. Si è inoltre utilizzato L’IP Accounting configurato sui due router a Trieste ed a Pordenone per conteggiare il traffico IP tra gli host coinvolti durante il test. Tenendo conto degli eventuali pacchetti scartati dai router, è possibile monitorare anche un eventuale drop effe ttuato da Telecom sui propri WAN-switch. 14