• Non ci sono risultati.

Estensioni da apportare a RSVP-TE

CASO GRDM:

6.1 Test di validazione MAM con preemption

La topologia di rete utilizzata in questo e nei prossimi test di validazione è quella mostrata in figura

In questa rete esistono due percorsi, di lunghezza diversa, tra sorgente e destinazione.

Lo script di validazione utilizzato è il seguente

set ns [new Simulator] $ns rtproto LS $ns color 0 yellow $ns color 1 red $ns color 2 blue $ns color 46 purple $ns color 3 black $ns color 4 magenta $ns color 5 cyan $ns bcm mam $ns te-class 0 0 7 $ns te-class 1 1 6

#set tf [open dste_rdm2.tr w] #$ns trace-all $tf

$ns namtrace-all $nf set n0 [$ns mpls-node] set n1 [$ns mpls-node] set n2 [$ns mpls-node] set n3 [$ns mpls-node] $n0 label Sorgente $n1 label Ingress-LSR $n3 label Destinazione $ns duplex-dste-link $n0 $n1 50Mb 10ms 1 1000 10000 Param Null 1 1 1 1 1 1 1 1 $ns duplex-dste-link $n1 $n2 1Mb 10ms 1 1000 10000 Param Null 1 0.5 0 0 0 0 0 0 $ns duplex-dste-link $n1 $n3 1Mb 10ms 1 1000 10000 Param Null 1 0.5 0 0 0 0 0 0 $ns duplex-dste-link $n2 $n3 1Mb 10ms 1 1000 10000 Param Null 1 0.5 0 0 0 0 0 0

# Enable upcalls on all nodes Agent/RSVP set noisy_ 255 set rsvp0 [$n0 add-rsvp-agent] set rsvp1 [$n1 add-rsvp-agent] set rsvp2 [$n2 add-rsvp-agent] set rsvp3 [$n3 add-rsvp-agent]

for {set i 0} {$i < 4} {incr i} { set a n$i

set m [eval $$a get-module "MPLS"] eval set LSRmpls$i $m

set udp0 [new Agent/UDP] $ns attach-agent $n0 $udp0 $udp0 set packetSize_ 500 $udp0 set fid_ 1

set cbr0 [new Application/Traffic/CBR] $cbr0 set packetSize_ 500

$cbr0 set rate_ 100Kb $cbr0 attach-agent $udp0 set udp1 [new Agent/UDP] $ns attach-agent $n0 $udp1 $udp1 set packetSize_ 500 $udp1 set fid_ 2

set cbr1 [new Application/Traffic/CBR] $cbr1 set packetSize_ 500

$cbr1 set rate_ 100Kb $cbr1 attach-agent $udp1 set udp2 [new Agent/UDP] $ns attach-agent $n0 $udp2 $udp2 set packetSize_ 500 $udp2 set fid_ 3

set cbr2 [new Application/Traffic/CBR] $cbr2 set packetSize_ 500

$cbr2 set rate_ 100Kb $cbr2 attach-agent $udp2 set udp3 [new Agent/UDP] $ns attach-agent $n0 $udp3 $udp3 set packetSize_ 500 $udp3 set fid_ 4

set cbr3 [new Application/Traffic/CBR] $cbr3 set packetSize_ 500

$cbr3 set rate_ 100Kb $cbr3 attach-agent $udp3

$ns attach-agent $n3 $sink0

set sink1 [new Agent/LossMonitor] $ns attach-agent $n3 $sink1

set sink2 [new Agent/LossMonitor] $ns attach-agent $n3 $sink2

set sink3 [new Agent/LossMonitor] $ns attach-agent $n3 $sink3

$ns connect $udp0 $sink0 $ns connect $udp1 $sink1 $ns connect $udp2 $sink2 $ns connect $udp3 $sink3

proc finish {} { global ns nf close $nf #close $tf puts "END" exit 0 } $ns at 1.0 "$LSRmpls1 create-crlsp-ospfte-mam $n0 $n3 0 1 0 +400000 5000 32 0" $ns at 2.0 "$LSRmpls1 create-crlsp-ospfte-mam $n0 $n3 1 2 1 +400000 5000 32 0" $ns at 3.0 "$LSRmpls1 create-crlsp-ospfte-mam $n0 $n3 2 3 2 +400000 5000 32 1" $ns at 4.0 "$LSRmpls1 create-crlsp-ospfte-mam $n0 $n3 3 4 3 +400000 5000 32 1" $ns at 2.0 "$cbr0 start" $ns at 3.0 "$cbr1 start" $ns at 4.0 "$cbr2 start" $ns at 5.0 "$cbr3 start"

$ns at 2.01 "$LSRmpls1 bind-flow-erlsp 3 1 0" $ns at 3.01 "$LSRmpls1 bind-flow-erlsp 3 2 1" $ns at 4.01 "$LSRmpls1 bind-flow-erlsp 3 3 2" $ns at 5.01 "$LSRmpls1 bind-flow-erlsp 3 4 3" $ns at 10 "finish" $ns run

Il link tra sorgente ed ingress node è stato configurato per avere una capacità trasmissiva molto alta, in modo da non essere rilevante ai fini del calcolo dei percorsi MPLS. Tutti gli altri link definiti nello script hanno una banda di 1 Mbps totalmente utilizzabile dal traffico DS-TE.

Sono definite due TE-Class:

• TE-Class[0] = <ct=0,p=7>

• TE-Class[1] = <ct=1,p=6>.

I BC utilizzati sono i seguenti:

• BC0 = 100%

• BC1 = 50%

***---Simulator<run>---*** ***---Simulator<run>---*** 1 ::::::::::::::: create-crlsp-ospfte-mam

:::::::::::: requested band from te-class 0 = <classtype 0 , priority = 7> = +400000

Explicit Path = 1_3_

3 PATH EVENT at 1.011 : SID: 0 RATE: 400000 BUCKET: 5000 SENDER: 0

1 RESV EVENT at 1.022 : SID: 0 RATE: 400000 BUCKET: 5000 SENDER: 0

2 ::::::::::::::: create-crlsp-ospfte-mam :::::::::::: requested band from te-class 0 = <classtype 0 , priority = 7> = +400000

Explicit Path = 1_3_

3 PATH EVENT at 2.011 : SID: 1 RATE: 400000 BUCKET: 5000 SENDER: 0

1 RESV EVENT at 2.022 : SID: 1 RATE: 400000 BUCKET: 5000 SENDER: 0

3 ::::::::::::::: create-crlsp-ospfte-mam :::::::::::: requested band from te-class 1 = <classtype 1 , priority = 6> = +400000

Explicit Path = 1_3_

1 Preemption on LSP with SID 0; TE-Class=<0,7> 3 PATHTEAR EVENT at 3.011 : SID: 0 SENDER: 0 3 PATH EVENT at 3.013 : SID: 2 RATE: 400000 BUCKET: 5000 SENDER: 0

1 RESV EVENT at 3.024 : SID: 2 RATE: 400000 BUCKET: 5000 SENDER: 0

4 ::::::::::::::: create-crlsp-ospfte-mam :::::::::::: requested band from te-class 1 = <classtype 1 , priority = 6> = +400000

Explicit Path = 1_2_3_

2 PATH EVENT at 4.011 : SID: 0 RATE: 400000 BUCKET: 5000 SENDER: 0

3 PATH EVENT at 4.023 : SID: 3 RATE: 400000 BUCKET: 5000 SENDER: 0

2 RESV EVENT at 4.034 : SID: 0 RATE: 400000 BUCKET: 5000 SENDER: 0

1 RESV EVENT at 4.045 : SID: 3 RATE: 400000 BUCKET: 5000 SENDER: 0

END

• All’istante 1 sec l’ingress node richiede la creazione di un LSP di banda 400 Kbps, appartenente alla TE-Class[0]. Tale richiesta viene accettata e viene instaurato un LSP sullo shortest path, lasciandovi ancora utilizzabili 600 Kbps per la CT0 e 500 Kbps per la CT1.

• All’istante 2 sec una richiesta analoga alla precedente viene instaurata sempre sullo shortest path portando l’occupazione di banda a 800 Kbps, lasciando liberi 200 Kbps per CT0 e 200 Kbps per CT1.

• Quando all’istante 3 sec viene eseguita una richiesta di creazione LSP di banda 400 Kbps appartenente alla TE-Class[1], il

calcola che la banda utilizzabile per CT1, eventualmente eliminando gli LSP con indice di priorità maggiore di 6, è 500 Kbps. In questo modo il percorso che viene assegnato all’LSP è nuovamente lo shortest path. Durante la procedura di instaurazione dell’LSP viene eliminato uno degli LSP appartenenti alla TE- Class[0], in modo da liberare banda sufficiente per soddisfare la richiesta. Dopo l’instaurazione la banda utilizzabile è di 200 Kbps per CT0 e 100 Kbps per CT1.

• All’istante 4 sec viene richesta la creazione di un nuovo LSP appartenente a TE-Class[1] a banda 400 Kbps, ma a differenza della richiesta precedente, questa volta non è possibile liberare banda sufficiente sullo shortest path attraverso la preemption. Infatti anche eliminando l’unico LSP appartenente a TE-Class[0] rimarrebbe il vincolo imposto da BC1 che limita la banda allocata a CT1 a 500 Kbps. Per questo motivo il nuovo LSP viene instaurato sul percorso 1_2_3_.

Documenti correlati