Sei sulla pagina 1di 165

ollLecnlco dl 1orlno

Corso dl Laurea MaglsLrale ln lngegnerla


lnformaLlca


ulspense del corso dl
1LCNCLCGIL L SLkVI2I DI kL1L

A.A. 2010-2011
8Cl. ClMlnlL8A LulCl





8eallzzaLo da: Magglo Lulgl
L-mall: luls_may86[llbero.lL


LL2ICNI N. 1,2,3,4

ll programma del corso verLera su 3 grossl argomenLl:
! Iv6, una nuova verslone dell' l. ll problema della v6 sLa nella sua LoLale lncompaLlblllLa con la
precedenLe v4, nonosLanLe l due proLocolll condlvldano alcunl prlnclpl dl base. CuesLo osLacola la
dlffuslone della v6 essendo che la v4 ha ormal una enorme dlffuslone negll apparaLl dl reLe dl LuLLo
ll mondo.
! VN, un gruppo dl Lecnlche e proLocolll che hanno lo scopo dl cosLrulre una reLe prlvaLa (qulndl
separaLa dal resLo dl lnLerneL) uLlllzzando l' lnLerneL pubbllco.
! VCICLoverI, l meLodl e l proLocolll uLlllzzaLl per ll conLrollo delle chlamaLe su l.
! ln una parLe flnale saranno LraLLaLe le Lecnologle per le connesslonl geograflche (le MLS) e alcune
Lecnlche che hanno lo scopo dl garanLlre la CoS.

L'evo|uz|one d| I:
Internetrotoco|Vers|one 6

La declslone dl passare ad una nuova verslone dell'l rlsale alla prlma meLa degll annl 90' ed e dovuLa a
molLepllcl raglonl:

! LsaurlmenLo dello spazlo dl lndlrlzzamenLo lv4: l'lndlrlzzo lv4 e composLo da 32 blL, che
corrlspondono a clrca 4 mlllardl dl comblnazlonl. ul conLro per alcunl Llpl dl comblnazlonl non
possono essere usaLe perche rlservaLe per parLlcolarl uLlllzzl (mulLlcasL, eLc eLc). Come se non
basLasse sl rlsconLra una cerLa frammenLazlone lnLerna dovuLa al faLLo che quando sl concede un
pool dl lndlrlzzl ad una organlzzazlone sollLamenLe non LuLLo ll pool vlene uLlllzzaLo. Come vengono
assegnaLl gll lndlrlzzl l? LslsLono 3 agenzle reglonall (8l8). lAnA fornlsce delle reLl \8 (qulndl clrca 16
mlllonl dl comblnazlonl) al 8l8. un 8l8 pu andare a chledere un nuovo blocco a lAnA solo quando
gll e rlmasLo da assegnare meno dl un \9 oppure se proleLLando l daLl sLaLlsLlcl nel fuLuro cl sl rende
conLo che quelll a dlsposlzlone saranno esaurlLl ln meno dl un anno e mezzo. ll consumo dl lndlrlzzl
lv4 e aLLualmenLe rallenLaLo grazle ad una plu oculaLa pollLlca dl concesslone dl pool dl quesLl
ulLlml da parLe del 8l8, nonche medlanLe l'lnLroduzlone dl Lecnlche quall ad esemplo ll nA1.
! roblemaLlche dl scalablllLa del rouLlng: l rouLer dl backbone hanno avuLo una cresclLa verLlglnosa
delle rlghe nelle loro Labelle dl lnsLradamenLo, ll che va ad allungare l Lempl dl rlcerca al loro lnLerno
nel momenLo ln cul sl esegue la rlcerca del LongesL reflx MaLch per esegulre l'lnsLradamenLo del
paccheLLl. Cl sono molLl che crlLlcano ll campo dl lndlrlzzamenLo da 128 blL perche se da un laLo cosl
facendo le rlghe sono sLaLe rldoLLe, dall'alLro sl sono allungaLe (ma era lnevlLablle vlsLa la necesslLa
dl aumenLare ll campo dl lndlrlzzamenLo).
! 8lchlesLa dl servlzl nuovl e/o plu efflclenLl: ln Lermlnl dl

! Mob|||t, polche uno del probleml dell'lndlrlzzamenLo l e che se cl sl collega ad una dlversa
soLLoreLe e necessarlo camblare l'lndlrlzzo l per renderlo coerenLe con ll preflsso dl reLe della
soLLoreLe ln cul cl sl e sposLaLl (nonche l'lndlrlzzo del defaul gaLeway). Sl vorrebbe lnvece ln
ognl caso manLenere ll proprlo lndlrlzzo l. ln alLre parole, le soluzlonl che prevedono
solamenLe l'assegnazlone degll lndlrlzzl non sono ln grado dl gesLlre le problemaLlche dl
roamlng (sposLamenLo da un gesLore all'alLro), dl handover (sposLamenLo da una reLe all'alLra),
ossla ln generale non gesLlscono ll problema della porLablllLa (per alcunl versl deLLa
ragglunglblllLa) dell'lndlrlzzo dl reLe assegnaLo.
! S|curezza, con la posslblllLa dl auLenLlcare l'lndlrlzzo l. ln Lal modo non sl andrebbe a clfrare
solo ll carlco dell'appllcazlone, ma anche ll carlco a llvello 3 (ad esemplo messaggl lCM).
! Autoconf|guraz|one, ovvero collegare una macchlna alla reLe senza la necesslLa dl dover
operare una conflgurazlone manuale delle lmposLazlonl dl reLe.
! oS, con la necesslLa dl fornlre dlversl Llpl dl servlzlo a seconda del Llpl speclflcl dl flusso dl
paccheLLl.
! Mu|t|cast, polche ln lv4 non sono LraLLaLe delle funzlonallLa quall ad esemplo l'lngresso e
l'usclLa da un gruppo mulLlcasL.

ul faLLo per sono sLaLl lnLrodoLLl nell'lv4 del proLocolll per Lamponare alcune delle lacune funzlonall
LraLLaLe, ovvero rlspeLLlvamenLe Mobllel, l Sec, uPC, campo 1ype nel paccheLLo l, lCM.
er quanLo rlguarda ll formaLo dell'Peader, uno del prlnclpall obleLLlvl della proposLa Sl (equlndl dl lv6)
era la sempllflcazlone del proLocollo. CuesLo corrlspondeva lnnanzlLuLLo ad ellmlnare l campl superflul o a
fare un uso esLremamenLe llmlLaLo dall'header del proLocollo sLesso. CuesLa operazlone aveva come
obleLLlvo la sempllflcazlone del coslddeLLo crlLlcal rouLer loop, ossla quella porzlone dl codlce che un rouLer
deve esegulre per LuLLl l paccheLLl che sl Lrova a dover lnsLradare e che lnflulsce qulndl dlreLLamenLe sulle
sue presLazlonl.
L' evldenLe (ln flgura) come ll numero dl campl sl sla rldoLLo da 12 a 8 (escludendo l campl opzlonall),
menLre lo spazlo occupaLo da LuLLl l campl esclusl gll lndlrlzzl dl sorgenLe e dl desLlnazlone e passaLo da 12
a 8 byLes. L'amplezza LoLale dell'header e LuLLavla aumenLaLa (da 20 a 40 byLes) a causa del due campl
conLenenLe l'lndlrlzzo sorgenLe e desLlnazlone, grandl ognuno 128 blL, per un LoLale dl 40 byLes, che e la
lunghezza flssa dell'header.
l rlsulLaLl dl quesLa sempllflcazlone non sono LuLLavla compleLamenLe poslLlvl. ln parLlcolare, la dlmenslone
dell'lndlrlzzo lv6, a parLe un po' dl folclore ("cl sono plu lndlrlzzl lv6 che aLoml nell'unlverso") non Lrova
effeLLlve glusLlflcazlonl Lecnlche Lranne la volonLa dl voler evlLare a LuLLl l cosLl dl lncorrere ln nuove
penurle dl lndlrlzzl come e accaduLo per ll proLocollo lv4. CuesLa scelLa, peralLro, compllca noLevolmenLe
le operazlonl dl rouLe lookup ossla la procedura che serve a locallzzare, per ognl paccheLLo ln LranslLo ln un
rouLer, l'effeLLlva sLrada (rouLe) dl desLlnazlone. lnfaLLl, quesLa operazlone conslsLe ln un confronLo Lra
l'lndlrlzzo l dl desLlnazlone e ognl rouLe memorlzzaLa nel rouLer per cercare quella che ha ln comune un
magglor numero dl blL (da slnlsLra verso desLra) con l'lndlrlzzo dl desLlnazlone.

MeLLlamo qulndl ora a confronLo plu deLLagllaLamenLe le lnLesLazlonl delle due verslonl dell' l





uove ll campo:
VLkSICNL: ln Leorla dovrebbe permeLLere a chl rlceve un daLagram dl lnLerpreLare l'lnLesLazlone secondo ll
formaLo della v6 o della v4. ln realLa per quesLo vlene declso a llvello lnferlore, ovvero a llvello 2, polche
nella Lrama eLherneL e speclflcaLo un campo roLocol 1ype che lndlca ll Llpo del carlco uLlle LrasporLaLo. ln
Lal modo e posslblle avere dlsLlnLe reallzzazlonl sofLware (che sl lgnorano a vlcenda) per le verslonl dl l:
sara ll drlver della scheda dl reLe che sl occupera dl smlsLare correLLamenLe l daLagram Lra le due a seconda
del campo roLocol 1ype. L' l'unlco campo che ha manLenuLo la sLessa poslzlone e lo sLesso slgnlflcaLo, e
grande 4 blL e conLlene ll numero 6.
nLLN: lndlca la lunghezza dell'lnLesLazlone. nella v4 deve essere scrlLLa polche Lale lunghezza pu essere
varlablle e c'e qulndl la necesslLa dl lndlcare dove lnlzla ll carlco uLlle. nella v6 lnvece l'lnLesLazlone ha
lunghezza flssa a 40 byLe, con lo scopo dl favorlre la commuLazlone del paccheLLl operaLa ln hardware.
SCUkCL]DLS1INA1ICN I ADDkLSS: gll lndlrlzzl mlLLenLe sono da 32 blL nell'lv4 e da 128 blL nell'lv6.
1kAIIIC CLASS: permeLLe dl dlsLlnguere ll daLagram ln funzlone del servlzlo che cl sl aspeLLa per quel Llpo
dl daLagram. L' uno dl quel campl che servono per la gesLlone della CoS.
ILCW LA8LL: e lungo 20 blL e consenLe al nodo mlLLenLe dl conLraddlsLlnguere un lnsleme dl paccheLLl
apparLenenLl allo sLesso flusso dl daLl. un flusso e un gruppo dl paccheLLl che rlchlede un LraLLamenLo
coerenLe da parLe della reLe. 1uLLl l paccheLLl apparLenenLl allo sLesso flusso dovranno avere sLesso
lndlrlzzo dl mlLLenLe, dl desLlnaLarlo e la sLessa llow label, lnolLre evenLuall LxLenslon Peader dl Llpo Pop-
by-Pop oppure 8ouLlng presenLl devono essere uguall ln LuLLl l paccheLLl dello sLesso flusso. 1ale campo
pu conLenere valorl Lra 1 e llllll.
ALCAD LLNGn1: L' lungo 16 blL, rlmplazza ll campo 'LoLal lengLh' dl lv4, ln cul essendo l'header dl
lunghezza varlablle e necessarlo lndlcare la lunghezza LoLale del paccheLLo, ln lv6 lnvece, essendo l'header
dl lunghezza flssa e sufflclenLe lndlcare la dlmenslone del campo daLl LrasporLaLo col paccheLLo, essendo
quesLo campo lungo 16 blL la dlmenslone masslma del campo daLl dl un paccheLLo lv6 pu qulndl essere
64kbyLe.

1C1AL LLNGn1: lndlca la lunghezza del daLagram lnclusa l'lnLesLazlone. ll masslmo per un daLagram v4 e
64 kb compresa l'lnLesLazlone.
nC LIMI1: corrlsponde al 11L della v4. L' lungo 8 blL, Lale campo vlene decremenLaLo dl un'unlLa ognl
volLa che un rouLer LrasmeLLe ll paccheLLo. Se ll campo Pop LlmlL assume ll valore zero ll paccheLLo deve
essere scarLaLo. Serve per evlLare che paccheLLl enLraLl ln condlzlone dl loop conLlnulno a clrcolare nella
reLe lndeflnlLamenLe. uaLa la lunghezza dl quesLo campo, Lra due nodl non poLranno essercl plu dl 233 hop,
cloe non plu dl 234 rouLer.
C1ICNS: ln lv4 e uLlllzzaLo per la frammenLazlone lnsleme al campl IDLN1IIICA1ICN, ILAGS e
IkAGMLN1 CIISL1. 1all campl sparlscono nella v6 ln quanLo non e plu permesso che l rouLer operlno la
frammenLazlone del daLagram ln funzlone della M1u della soLLoreLe. ln lv6 la frammenLazlone e
successlvo rlassemblagglo sono reallzzaLl rlspeLLlvamenLe dal user mlLLenLe e desLlnaLarlo.
nLADLk CnLCkSUM: e sLaLo abollLo nella v6 polche quello della v4 era debole (non permeLLeva dl
ldenLlflcare alcunl Llpl dl errore) e sopraLLuLLo alcune delle medeslme manslonl venlvano svolLe ln manlera
plu efflclenLe a llvello 2.
kC1CCCL: nella v4 lndlca a quale proLocollo apparLlene ll carlco uLlle del daLagram che sl sLa
conslderando (1C, uu, lCM..)
NLk1 nLADLk: e lungo 8 blL, lndlca dl quale Llpo e l lnLesLazlone che vlene sublLo dopo quella dell'lv6.
oLrebbe essercl un'lnLesLazlone dl Llpo 1C, uu, lCM.. e ln Lal caso funzlone ln modo del LuLLo analogo
al campo 8C1CCCL della v4. oLrebbero per anche essercl delle alLre lnLesLazlonl dell'lv6 opzlonall (ad
esemplo quelle dl slcurezza per la clfraLura..)




1ale Lecnlca crea del probleml perche ln alcunl casl e necessarlo andare a guardare alcunl campl che sl
Lrovano nell'lnLesLazlone dl base dell' l e pol andare a vedere alcunl campl dell'lnLesLazlone 1C. Chl deve
fare quesLa operazlone sono dl sollLo l flrewall, per l quall una regola poLrebbe essere dl lmpedlre LuLLe le
connesslonl se non quelle dlreLLe ad un cerLo lndlrlzzo l e ad una cerLa porLa 1C. ln lv4 per leggere
l'lnLesLazlone 1C e sufflclenLe prendere ll campo PLLn e calcolare l'offseL, menLre ln lv6 blsogna scorrere
LuLLa l'evenLuale caLena del nLx1 PLAuL8 flno ad arrlvare a quello che ml lnLeressa.
l prlnclpall valorl ammessl per ll campo nLx1 PLAuL8 sono l seguenLl:



dove ln parLlcolare:

n8n: sono delle lnformazlonl che vengono passaLe da un rouLer all'alLro
An: permeLLe dl essere slcurl che l'lndlrlzzo l mlLLenLe non sla sLaLo modlflcaLo menLre ll paccheLLo
aLLraversava la reLe
LS: permeLLe dl clfrare ll carlco uLlle del paccheLLo per asslcurare la rlservaLezza della Lrasmlsslone

Iv6 Cv6 Cv6 Cv6 1C
CSI: e ll meccanlsmo uLlllzzaLo dal rouLer per comunlcarsl lnformazlonl rlguardo lo sLaLo della reLe
(se ad esemplo un llnk e andaLo glu)

un paccheLLo lv6 pu conLenere nessun LxLenslon Peader, un LxLenslon Peader o plu LxLenslon Peader.
ln llnea dl masslma un nodo lv6 deve acceLLare e cercare dl elaborare gll LxLenslon Peader ln qualslasl
ordlne sl presenLlno, anche se eslsLe un ordlne preferenzlale che ln alcunl casl e pluLLosLo vlncolanLe.
L'ordlne e ll seguenLe: Pop 8y Pop CpLlon Peader, 8ouLlng Peader, lragmenL Peader, AuLhenLlcaLlon
Peader, LncrypLed SecurlLy ayload Peader e uesLlnaLlon CpLlon Peader. ua noLare e che dall' LS ln pol e
LuLLo clfraLo e qulndl un rouLer non e ln grado dl leggere ll uCP, moLlvo per cul ad esemplo 8P deve sLare
per forza prlma dl LS conLenendo ll percorso (speclflcaLo dal mlLL) che ll daLagram deve complere. ua
soLLollneare e lnolLre che l'Popby- Pop LxLenslon Peader pu Lrovarsl solLanLo lmmedlaLamenLe dopo
l'header lv6, quesLo accorglmenLo consenLe dl llmlLare ll carlco compuLazlonale del nodl lnLermedl della
reLe: lnfaLLl l'unlco Llpo dl LxLenslon Peader che deve essere elaboraLo anche dal nodl lnLemedl e l'Pop-by-
Pop CpLlon Peader. Cgnl nodo lnLermedlo dovra perLanLo solLanLo anallzzare l'header lv6 e verlflcare ll
suo campo nexL Peader che lndlca la presenza o meno dl un Pop-by-Pop CpLlon Peader, ossla l'evenLuale
presenza dl ulLerlorl lnformazlonl da elaborare per gesLlre correLLamenLe ll paccheLLo.
ll formaLo delle lnLesLazlonl opzlonall e ll seguenLe


dove ln LesLa c'e ll nLx1 PLAuL8 che fornlsce l'lnformazlone su "cosa vlene dopo" segulLo da un
Lx1LnSlCnL PLAuL8 LLnCP1 che permeLLe dl locallzzare sublLo l'lnlzlo dell'header che segue quello ln
esame, ma poLrebbero essere presenLl anche alLrl campl opzlonall quall ad esemplo 1?L.
ll kCU1ING nLADLk conLlene una llsLa dl lndlrlzzl dl rouLer che devono essere aLLraversaLl e un SLCMLn1
LLl1 che speclflca quanLl elemenLl dal basso devono essere ancora conslderaLl. er esemplo se ll valore dl
Lale campo fosse due sLa a slgnlflcare che ll rouLer che lo rlceve deve rlspedlrlo al penulLlmo rouLer prlma
della desLlnazlone, menLre se e 0 slgnlflca che ll rouLer e lul sLesso ll desLlnaLarlo.



CuesLo exLenslon header lmplemenLa la Lecnlca dl lnsLradamenLo dl Llpo source rouLlng, la sorgenLe e
perLanLo ln grado dl condlzlonare ll cammlno dl lnsLradamenLo dl un paccheLLo scavalcando ll normale
lnsLradamenLo lv6.

er esemplo



La flgura rlporLa un esemplo dl lmplego dl rouLlng header. ll paccheLLo vlene orlglnaLo dalla sorgenLe S
verso la desLlnazlone u, ma al paccheLLo lv6 vlene agglunLo un 8ouLlng Peader che lo forza a passare
aLLraverso l rouLer lnLermedl 81 ed 82. erLanLo, ll paccheLLo orlglnale avra ll rouLer 81 come apparenLe
desLlnazlone, menLre la vera desLlnazlone (u) e lndlcaLa come ulLlmo passo nella llsLa del rouLer da
aLLraversare lndlcaLa dal 8ouLlng Peader. All'arrlvo del paccheLLo nel rouLer 81, quesLo rlconosce ll
paccheLLo lpv6 come, apparenLemenLe, desLlnaLo a lul, lnfaLLl, ll suo lndlrlzzo compare nel campo
desLlnaLlon address dell'header lpv6. ne conLrolla gll header successlvl e scopre che ll paccheLLo conLlene
un 8ouLlng Peader: quesLo cambla perLanLo le carLe ln Lavola perche, solo ora, ll rouLer rlconosce che non
e lul ll desLlnaLarlo flnale del paccheLLo ma un alLro hosL. Al rouLer 81, ln effeLLl, non lmporLa conoscere ll
desLlnaLarlo effeLLlvo: quello che sl llmlLa a fare e selezlonare ll prosslmo hop a cul mandare ll paccheLLo (ln
quesLo caso ll rouLer 82, ln quanLo ll valore del campo SegmenL LefL lndlca che devono essere ancora
effeLLuaLl 2 passl verso la desLlnazlone) e sosLlLulre a quel campo (campo Pop1) del 8ouLlng Peader ll
proprlo lndlrlzzo lv6. ll procedlmenLo conLlnuera dl hop ln hop, l'hosL desLlnazlone (u) rlcevera un
paccheLLo lv6 con un 8ouLlng Peader rlporLanLe ll valore zero nel campo SegmenL LefL, che corrlsponde al
faLLo che ll paccheLLo ha ragglunLo la desLlnazlone preflssaLa.

er quanLo rlguarda ll IkAGMLN1 nLADLk, eslsLono del meccanlsml deflnlLl nello sLandard 8lC 1981 che
permeLLono ll aLh M1u ulscovery, ovvero permeLLono dl andare a scoprlre ll mlnlmo valore della M1u
lungo un cerLo percorso. una volLa ln possesso dl Lale lnformazlone, ll mlLLenLe e ln grado dl frammenLare
opporLunamenLe l daLagrams. Se la frammenLazlone e necessarla vlene lnserlLo nel daLagram l'header

Cccorre rlcordare che anche ll 1C (o l'uu) opera una frammenLazlone del proprl paccheLLl, generando
del blocchl compaLlblll con la M1u della soLLoreLe ln cul sl Lrova (per esemplo se e una reLe locale dl Llpo
LLherneL allora dl sollLo ll 1C genera del segmenLl da carlcare ln un daLagram Lall per cul
daLl+headerLLherneL=1300byLe che e ll llmlLe per LLherneL ma che poLrebbe non esserlo per LuLLe le
soLLoreLl che devono essere aLLraversaLe). A segulLo del rlsconLro dl M1u plu plccole lungo ll percorso, per
evlLare dl rlsallre flno al 1C (o uu) per operare una dlfferenLe frammenLazlone, e appunLo l'l mlLLenLe
che deve essere ln grado dl frammenLare l paccheLLl rlcevuLl dal 1C.
Cgnl paccheLLo e formaLo da due parLl, una frammenLablle e una non frammenLablle. CuesLo perche ad
esemplo l'lnLesLazlone lv6 non pu essere frammenLaLa cosl come anche LuLLl gll LxLenslon Peader che
precedono ll l8ACMLn1 PLAuL8. Cvvero ognl frammenLo e perLanLo cosLlLulLo da:

! arte non frammentab||e, con ll valore orlglnale del campo ayload LengLh modlflcaLa per lndlcare
la lunghezza del frammenLo e ll nexL Peader dell'ulLlma lnLesLazlone della parLe non frammenLablle
lndlcanLe che, a segulre, vl sara ll lragmenL Peader.
! Iragment neader, che conLlene ll campo nexL Peader (che ldenLlflca ll prlmo header della parLe
frammenLablle del paccheLLo orlglnale), l'offseL relaLlvo all'lnlzlo della parLe frammenLablle del
paccheLLo orlglnale, ll flag M che lndlca se ll frammenLo correnLe e l'ulLlmo, e ll valore ldenLlflcaLlon
del paccheLLo orlglnale, LramlLe ll quale ll rlcevlLore e ln grado dl rlunlre l frammenLl e rlcosLrulre ll
paccheLLo dl parLenza.
! Irammento, che conLlene la porzlone dl daLl del paccheLLo orlglnale.



un esemplo esausLlvo del meccanlsmo dl frammenLazlone ln lv6 e rlporLaLo nella flgura seguenLe



dove la M1u sl rlLlene comprenslva dl Peader, moLlvo per cul ll carlco dl daLl e sLaLo frammenLaLo ln Lre
blocchl da 320 byLe, 344 byLe e 348 byLe. ua noLare e che nel prlmo blocco ll lragmenL Peader e sLaLo
posLo Lra quello che pu essere frammenLaLo e quello che non pu esserlo e che ll lragmenL Peader
rlporLa, come campo nexL Peader, sempre ll valore del prosslmo header lnconLraLo nel paccheLLo
orlglnale. erLanLo quesLo valore del campo nexL Peader vlene rlpeLuLo anche nel frammenLl successlvl
anche se l'header a cul sl rlferlsce quella codlflca e ormal sLaLo Lrasmesso.
er quanLo rlguarda la Slcurezza ln lv6, sl e gla deLLo precedenLemenLe che l' AU1nLN1ICA1ICN nLADLk
e uLlllzzaLo per garanLlre l'auLenLlclLa dell'lndlrlzzo mlLLenLe menLre |'LNCk1LD SLCUkI1 ALCD (che
pu essere accopplaLo al precedenLe) permeLLe dl oLLenere la clfraLura dell carlco, che qulndl dlvenLa non
legglblle per chlunque non possleda la chlave per declfrarlo.



L'arch|tettura d| |nd|r|zzamento Iv6

ln lv6 eslsLono Lre dlversl Llpl dl lndlrlzzl:
! UNICAS1: ldenLlflca una slngola lnLerfaccla. un paccheLLo con un lndlrlzzo unlcasL e lnvlaLo alla sola
lnLerfaccla assoclaLa a Lale lndlrlzzo,
! MUL1ICAS1: ldenLlflca un lnsleme dl lnLerfacce, LlplcamenLe apparLenenLl a nodl dlversl. un
paccheLLo con un lndlrlzzo mulLlcasL e lnvlaLo a LuLLe le lnLerfacce con Lale lndlrlzzo,
! ANCAS1: un lndlrlzzo anycasL e assoclaLo ad un gruppo dl macchlne come ll mulLlcasL. La
dlfferenza sLa nel faLLo che quando lo spedlsco un daLagram ad un lndlrlzzo mulLlcasL vogllo che
LuLLe le macchlne che fanno parLe dl quel gruppo lo rlcevano, menLre quando spedlsco un daLagram
ad un lndlrlzzo anycasL vogllo che quesLo ragglunga anche solo una delle macchlne che
apparLengono a quel gruppo. ln Lal modo posso avere uno sLesso servlzlo repllcaLo su LanLe
macchlne e pol con una Lrasmlsslone anycasL cercare dl ragglungere la plu vlclna (nel senso della
reLe, non geograflco). 1ale Lecnlca e uLlllzzaLa sopraLLuLLo per ragglungere ll server unS plu vlclno
senza conoscerne necessarlamenLe l'lndlrlzzo l.
ln lv6 scompare ll broadcasL (Lrasmlsslone che ln lv4 era dlreLLa a LuLLe le macchlne della soLLoreLe o
sulla reLe generale, a seconda dell'lndlrlzzo broadcasL uLlllzzaLo), ellmlnaLo perche era dlspendloso sla dal
punLo dl vlsLa del Lempo dl Lrasmlsslone che dl quello dl elaborazlone. ll broadcasL ln lv6 e sLaLo sosLlLulLo
dall'lsLlLuzlone dl un lnsleme dl gruppl sLandard mulLlcasL.

LslsLono Lre Llpl dl lndlrlzzl lv6 unlCAS1:

! LINk-LCCAL: e obbllgaLorlo, una lnLerfaccla deve sempre e comunque avere un lndlrlzzo dl quesLo
Llpo. 1ale Llpo dl lndlrlzzo serve per comunlcare con alLre macchlne che apparLengono alla proprla
soLLoreLe, non ml permeLLe dl aLLraversare nessun rouLer. Cloe un lndlrlzzo llnk-local ha un valore
solo all'lnLerno della soLLoreLe ln cul ml Lrovo, dl modo che poLrebbe rlpeLersl ln alLre soLLoreLl
perche LanLo non e un lndlrlzzo globale. Sono eulvalenLl a quelll dell'auLoconflgurazlone sLaLeless
dell'lv4 perche anche quelll sono lndlrlzzl scelLl a caso esLraendo ln un range dl lndlrlzzl l
nell'lpoLesl che ho blsogno dl un lndlrlzzo l per avvlsare una comunlcazlone escluslvamenLe con le
macchlne che fanno parLe della mla soLLoreLe.
! SI1L-LCCAL: sono slmlll al llnk-local, nel senso anche ln quesLo caso non sl esce su LuLLo l'l, per sl
rlesce ad aLLraversare qualche rouLer. Sl pensl ad esemplo ad una reLe azlendale cosl grossa che,
nonosLanLe sla LagllaLa fuorl da lnLerneL, sla organlzzaLa ln soLLoreLl e abbla qulndl del rouLer
all'lnLerno. Cll lndlrlzzl slLe-local servono per essere lndlrlzzaLl e ragglunglblll all'lnLerno dl una
slmlle reLe.
! GLC8AL: equlvalenLl agll lndlrlzzl pubbllcl, permeLLono dl essere lndlrlzzaLl su LuLLo l'l (e qulndl che
la macchlna sla ragglunglblle dall'esLerno).

SollLamenLe l global e l slLe-local sono ln alLernaLlva, menLre un lndlrlzzo llnk-local deve sempre essere
presenLe. ul conseguenza ognl lnLerfaccla dl reLe ha assegnaLl almeno un palo dl lndlrlzzl (llnk-local+global),
perche ln lv6 ad una sLessa lnLerfaccla possono anche essere assegnaLl plu lndlrlzzl dl Llpo global.

Come sl scrlvono gll lndlrlzzl lv6? Sl scrlvono ln esadeclmale come oLLo numerl naLurall separaLl da ":",
ognuno equlvalenLe a 16 blL.

es. lLuC:8A98:0876:43lA:0362:CuAl:3uAl:8801
es. 1080:0000:0000:0007:0200:A00C:3423:A037

Slccome la sLrlnga e molLo lunga sono sLaLe lnLrodoLLe delle sempllflcazlonl che possono essere apporLaLe
nella scrlLLura

sl possono omeLLere gll zero lnlzlall
es. 1080:0:0:7:200:A00C:3423:A037
sl possono sosLlLulre gruppl dl zero con "::" (pu essere usaLo una volLa sola nella sLrlnga)
es. 1080::7:200:A00C:3423:A037
es. ::1 (lndlrlzzo dl Loopback)
Cl sono lnolLre alcunl lndlrlzzl lv4 che possono essere scrlLLl ln v6 ln dlversl modl

0:0:0:0:0:0:A00:1
::A00:1
::10.0.0.1

dove gll ulLlml 32 blL rappresenLano l'lndlrlzzo v4.

ln lv6 scompare ll conceLLo dl neLmask sosLlLulLo da quello dl kLIIk LLNGn1 che permeLLe
un'allocazlone degll lndlrlzzl sLreLLamenLe gerarchlca. CuesLo sl lndlca agglungendo alla desLra dl un
lndlrlzzo "/n" dove n e la lunghezza ln blL del preflsso. ua noLare e che sl sollLo ln lv6 ll preflsso sl muove a
blocchl dl 4 perche ln Lal modo e posslblle manlpolarll plu facllmenLe ln una scrlLLura ln base 16 (perche un
gruppo dl 4 blL corrlsponde ad una clfra esadeclmale).

es. lLuC:0123:8700::/36


Cll lndlrlzzl assegnaLl al varl gruppl sono l seguenLl



dove
! quelll che lnlzlano per 00 esadeclmale sono rlservaLl ad lndlrlzzl che provengono dalla v4, perche
devono ln qualche modo essere rladLLaLl alla v6.
! gll lndlrlzzl publlcl g|oba|| (AggregaLable Clobal unlcasL) lnlzlano con 2 o 3 esadeclmale.
! gll lndlrlzzl dl Llpo ||nk-|oca| (Llnk Local use) lnlzlano con un valore tra IL8 e IL8
! gll lndlrlzzl prlvaLl dl Llpo s|te-|oca| (rlvaLe) lnlzlano con ID
! gll lndlrlzzl mu|t|cast lnlzlano con II
! ll Lerzo e quarLo lnLervallo erano rlservaLl per lncamerare nella v6 lndlrlzzl che derlvano da alLrl Llpl
dl proLocollo dl llvello 8eLe quall appunLo nSA e lx.

La colonna plu a desLra lndlcl la frazlone dello spazlo LoLale dl lndlrlzzamenLo coperLa da ognuno degll
lnLervalll elencaLl.
Sorge sponLanea la domanda: ma perche deflnlre un lnLervallo per gll lndlrlzzl slLe-local? essendo una reLe
prlvaLa separaLa dall'lnLerneL pubbllco non posso assegnare alle macchlne un qualslasl lndlrlzzo? Lbbene
flno a quando la reLe prlvaLa rlmane separaLa dall'lnLerneL pubbllca quesLo e vero. urLroppo per quando
sl crea una grande reLe prlvaLa prlma o pol vlene ll deslderlo dl collegarla all'esLerno. ln Lal caso nell' lv4 la
soluzlone sarebbe l'lnserlmenLo dl un nA1 per non doversl sobbarcare l'lncombensa dl rlnumerare LuLLe le
macchlne. ll problema sorge per quando all'lnLerno della reLe prlvaLa e sLaLo lmposLaLo un lndlrlzzo
uLlllzzaLo anche da qualcun alLro nell'lnLerneL pubbllca. ln Lal caso ll nA1 non sapra verso quale delle due
macchlne lnsLradare un paccheLLo essendo che verra uLlllzzaLa preferenzlalmenLe una delle due posslblll
rlghe nella Labella dl rouLlng verso una sLessa desLlnazlone l. l paccheLLl arrlvandogll dall'lnLerno verranno
rlspuLaLl denLro o arrlvandogll da fuorl verranno rlmandaLl nell'lnLerneL pubbllca. AlLro problema rlguardo
gll lndlrlzzl slLe-local sorge pol nel momenLo ln cul due organlzzazlonl, avenLl ognuna la proprla reLe prlvaLa
azlendale, vogllano meLLere ln comunlcazlone le loro reLl ln vlrLu dl un accordo commerclale. ln Lal caso cl
sara da rlsolvere un posslblle problema dl confllLLo dl lndlrlzzl.

ln lv6, al flne dl mlnlmlzzare ll numero dl rlghe presenLl nelle Labelle dl rouLlng degll lS dl plu alLo llvello,
sl e lnlzlaLo a dlsLrlbulre e assegnare gll lndlrlzzl ln modo gerarchlco ln modo Lale che l'aggregazlone del
preflssl fosse auLomaLlca. ln parLlcolare gll lndlrlzzl sono dlsLrlbulLl secondo ll seguenLe schema



la dlsLrlbuzlone e nelle manl dl lAnA che ll dlsLrlbulsce aLLraverso l 8l8, che a loro volLa ll dlsLrlbulscono agll
lS dl plu alLo llvello (1LA - 1op Level AuLhorlLy). La 1LA rlceve un grosso blocco dl lndlrlzzl, qulndl con un
preflsso dl reLe abbasLanza corLo. Alla 1LA sl possono rlvolgere una nLA (nexL Level AuLhorlLy), un rovlder
locale o anche un cllenLe flnale. Al dl soLLo dl una nLA dl sollLo ce sempre solLanLo o un cllenLe flnale o un
cllenLe flnale. L'allocazlone gerarchlca unlsce l vanLaggl dell'allocazlone geograflca, che non Llene conLo del
vlncoll sulla reLe del provlder, e dl quella provlder-based, che dlsLrlbulsce ll Lrafflco sempllcemenLe ln base
al provlder lndlpendenLemenLe dalla loro locazlone, LuLLavla un provlder pu essere molLo esLeso con
molLl punLl dl accesso al backbone lnLernazlonale e qulndl poLrebbe essere plu convenlenLe assegnare gll
lndlrlzzl ln manlera parzlalmenLe geograflca.

ll formaLo degll lndlrlzzl lv6 dl Llpo UNICAS1 GLC8AL e dlvlso loglcamenLe ln Lre parLl dl dlmenslone flssa
chlamaLe rlspeLLlvamenLe ubllc 1opology, SlLe 1opology e lnLerface lu. La prlma e uLlllzzaLa per ll rouLlng
all'lnLerno della publlc lnLerneL ed lndlvldua ll provlder o l'exchange fornlLore del servlzlo dl accesso alla
reLe, SlLe 1opology ldenLlflca l'organlzzazlone lnLerna del slLo e dl conseguenza e usaLa per l'lnsLradamenLo
lnLraslLe, lnflne lnLerface lu ldenLlflca l'lnLerfaccla sul llnk.



dove:

! IN1LkIACL ID: parLe rlservaLa per numerare LuLLe le macchlne presenLl all'lnLerno dl una speclflca
soLLoreLe. Cvvero ll valore presenLe ln Lale campo da 64 blL e assegnaLo ad una lnLerfaccla per
numerarla all'lnLerno dl una soLLoreLe. Se un slLo dovesse essere rlconflguraLo, perche ad esemplo
ha camblaLo provlder, gll ldenLlflcaLlvl 1LA e nLA camblerebbero menLre l' SLA e l'ldenLlflcaLlvo dl
lnLerfaccla rlmarrebbero uguall.
! SLA ID: quesLl 16 blL sono uLlllzzaLl per numerare posslblll soLLoreLl presenLl all'lnLerno dl un unlca
grossa reLe prlvaLa (che qulndl al suo lnLerno comprende del rouLer).
! NLA ID: m blL rlservaLl alla nLA. ul sollLo Lale campo sl assume lungo 24 blL.
! kLS: rlservaLo per un uLlllzzo fuLuro per l'espanslone della dlmenslone dell'lu 1LA o dell'lu nLA. La
dlmenslone del campo e assunLa dl sollLo a 8 blL.
! 1LA ID: k blL rlservaLl alla 1LA. ul sollLo Lale campo sl assume lungo 13 blL.
! I: preflsso da 3 blL che lndlca ll Llpo dl lndlrlzzo lv6. negll lndlrlzzl pubbllcl vale 001.

l prlml 48 blL dell'lndlrlzzo sono quelll dl cul effeLLlvamenLe ml servo quando devo andare sull'lnLerneL
pubbllco. lnolLre va noLaLo che scrlvendo un lndlrlzzo lv6 ln noLazlone esadeclmale non vl e alcuna clfra
hex che comprende blL da due campl dlversl.
l 64 blL bassl dell'lndlrlzzo possono essere scelLl arblLrarlamenLe, perche LanLo saranno l 64 blL alLl a
garanLlrne l'unlclLa. 1all blL devono essere lnserlLl manualmenLe? Con l'lnLroduzlone dell'lv6 cl sl era posLl
l'obleLLlvo dell'auLoconflgurazlone (funzlonallLa fornlLa nella v4 medlanLe proLocollo uPC), dl modo che
sono sLaLa lnLrodoLLe delle Lecnlche medlanLe la quale Lall 64 blL bassl possono essere auLomaLlcamenLe
calcolaLl. er esemplo sl pu farlo a parLlre dall'lndlrlzzo MAC cablaLo all'lnLerno dl ognl lnLerfaccla dl reLe
(che e unlco a llvello mondlale).
L'lndlrlzzo MAC e un lndlrlzzo dl llvello 2, uLlllzzaLo qulndl per ldenLlflcare ll desLlnaLarlo o ll mlLLenLe
all'lnLerno della reLe locale. un lndlrlzzo MAC e composLo da 48 blL, l cul 24 alLl sono dl sollLo un codlce del
cosLruLLore e l 24 bassl sono gesLlLl dal cosLruLLore che ll usera per numerare le lnLerfaccle prodoLLe. ll
meccanlsmo uLlllzzaLo e ll seguenLe


I|gura a. rocesso per r|cavare | 64 b|t bass| da| MAC

Sl dlvlde l'lndlrlzzo MAC ln due parLl. l 24 blL alLl saranno l 24 blL alLl dell'lnLerface lu con l'unlca dlfferenza
che ll seLLlmo blL da slnlsLra da 0 vlene posLo a 1 (Un|versa| b|t). l 24 blL bassl del MAC a loro volLa saranno l
24 blL bassl dell'lnLerfaccla e ln mezzo vengono lnfllaLl due byLe sLandard II IL. ua noLare e che poLrebbe
succedere che qualcuno, seLLando l 64 blL bassl del suo lndlrlzzo a mano, ll abbla scelLl ldenLlcl al mlel
calcolaLl auLomaLlcamenLe a parLlre dall'lndlrlzzo MAC. 1ale probablllLa e davvero bassa, ma non e neanche
zero!

er quanLo rlguarda gll lndlrlzzl dl Llpo UNICAS1 LCCALI lnvece ll formaLo e ll seguenLe:

! SI1L-LCCAL: quesLl lndlrlzzl possono essere uLlllzzaLl solo all'lnLerno dl un slngolo llnk, per scopl
quall l'auLoconflgurazlone degll lndlrlzzl e le procedure dl nelghbor dlscovery. lnolLre quesLl lndlrlzzl
possono essere uLlllzzaLl per le comunlcazlonl Lra Lermlnall dlreLLamenLe connessl quando non
slano presenLl del rouLer sul llnk.



! LINk-LCCAL: possono essere uLlllzzaLl solLanLo all'lnLerno dl uno sLesso slLo. l paccheLLl ll cul
lndlrlzzo dl desLlnazlone e dl Llpo slLe local non devono essere lnvlaLl all'esLerno del slLo. Cll lndlrlzzl
slLe-local sono uLlllzzablll sopraLLuLLo da slLl che pur adoLLando la Lecnologla l non sono connessl
alla publlc lnLerneL. Cll lndlrlzzl slLe-local cosLlLulscono ln lv6 l'equlvalenLe degll lndlrlzzl prlvaLl
uLlllzzaLl nelle lnLraneL lv4, ma, rlspeLLo a quesLl, lnLroducono vanLaggl slgnlflcaLlvl nella
rlnumerazlone dl reLl prlvaLe che decldano dl adoLLare lndlrlzzl globall per connessl alla lnLerneL
pubbllca. ln quesLl casl, lnfaLLl, e sufflclenLe sosLlLulre ll preflsso slLe local con ll preflsso globale
assegnaLo al slLo, e non e necessarlo camblare ll subneLLlng all'lnLerno del slLo.



ua noLare e che probabllmenLe l 64 blL bassl saranno uguall ln LuLLl gll lndlrlzzl assegnaLl ad una lnLerfaccla,
compreso un evenLuale lndlrlzzo globale, perche non c'e nessuno svanLagglo nello sforzarsl a numerarll
dlversamenLe.

lndlrlzzl UNICAS1 SLCIALI sono lnvece l seguenLl:

! UNSLCIIILD --> :: lndlca che non e dlsponlblle un lndlrlzzo lv6. u esser uLlllzzaLo solLanLo come
lndlrlzzo sorgenLe per paccheLLl dl nelghbor ulscovery ln fase dl auLoconflgurazlone dl un nodo,
quando ll nodo sLesso non conosce ancora ll proprlo lndlrlzzo.
! LCC8ACk --> ::1 uLlllzzaLo per lndlrlzzare se sLesso.
! Iv4 CCMA1I8LL --> ::100:1:2:3 uLlllzzaLo nel caso ln cul una macchlna lv6 volesse lndlrlzzare una
macchlna lv4. l 32 blL bassl sono proprlo l'lndlrlzzo lv4, menLre gll alLrl sono LuLLl lmposLaLl a 0.
! Iv4 MALD --> ::IIII:100:1:2:3
! lndlrlzzl compaLlblll con alLre archlLeLLure dl reLe

er quanLo rlguarda gll lndlrlzzl dl Llpo lv4 MALu, blsogna Lener presenLe che ora come ora cl sl rlLrova
a dover convlvere con enLrambl l proLocolll v4 e v6 ln uso. Cloe se l'lv6 e lmplemenLaLo ln una macchlna,
slcuramenLe lo sara accanLo l'lv4 perche dlversamenLe, daLa l'enorme dlffuslone dl cul gode la v4, cl sl
precluderebbe la posslblllLa dl comunlcare con la magglor parLe degll uLenLl della reLe. L'archlLeLLura che
permeLLe la convlvenza dl enLrambl l proLocolll all'lnLerno dl una macchlna prende ll nome dl
AkCnI1L11UkA DUAL S1ACk. All'lnLerno della macchlna sono lmplemenLaLl gll sLack proLocollarl sla della
v6 che della v4. L'appllcazlone pu accedere al proLocolll del llvelll lnferlorl medlanLe un'lnLerfaccla a
sockeL, dl Llpo sLream per ll 1C e sockeL dl Llpo daLagram per l'uu. L'appllcazlone sl meLLe ln aLLesa su un
sockeL, rlceve una rlchlesLa, la evade e pol sl rlmeLLe ln aLLesa sul sockeL orlglnarlo. er servlre rlchlesLe che
possono arrlvare da enLrambl gll sLack proLocollarl, l'appllcazlone dovrebbe meLLersl ln ascolLo su plu
sockeL dl Llpo dlverso conLemporaneamenLe. er faclllLare la vlLa a coloro che scrlvono le appllcazlonl sl e
qulndl sLudlaLo un meccanlsmo Lale per cul LuLLo quello che arrlva all' lv4 dlreLLo all'lv6 vlene devlaLo e
faLLo apparlre sul sockeL lv6, dl modo che l'appllcazlone pu meLLersl ln ascolLo anche solo sul sockeL v6.
Ma quale sara l'lndlrlzzo del mlLLenLe? 1ale mlLLenLe avra un lndlrlzzo v4. L come lo lndlco ln una sLruLLura
daLl che lnvece prevede un lndlrlzzamenLo dl Llpo lv6? vlene uLlllzzaLa la rappresenLazlone lv4 MALu

::llll:100:1:2:3
dove l 32 blL bassl sono l blL dell'lndlrlzzo v4, 16 blL LuLLl a 1 e gll 80
blL plu alLl lnvece LuLLl lmposLaLl a 0.
ll problema sl presenLa pol nel momenLo ln cul blsogna rlspondere.
ll daLagram dl rlsposLa sara lndlrlzzaLo allo sLesso lndlrlzzo del
mlLLenLe della rlchlesLa. L'lndlrlzzo mlLLenLe vlene rlconoscluLo
essere un lndlrlzzo lv4 e vlene qulndl devlaLo verso lo sLack della
v4 perche sl provvedo al suo lnolLro.

AlLra quesLlone e quella del coslddeLLo MUL1I-nCMING. MolLo spesso gll uLenLl (sla nella v4 che nella v6)
acqulsLano servlzl dl conneLLlvlLa da plu rovlder conLemporaneamenLe.
er esemplo

dove ll rovlderA sl e rlvolLo, per avere ll suo spazlo dl lndlrlzzl, ad una 1LAa. La 1LAa aveva a sua volLa
rlcevuLo da lAnA uno spazlo dl lndlrlzzl quale ad esemplo 2001::0/16, dl modo che esaudlsce la rlchlesLa dl
uno spazlo dl lndlrlzzl da parLe del rovlderA assegnandogll una /32 con un preflsso speclflco 86Ll.
L'uLenLe sl rlvolge al rovlderA per rlchledere un servlzlo e sl vede assegnaLo un /48 con speclflcaLo un
preflsso 0023 e 80 blL per poLer numerare le proprle macchlne. ul conseguenza ll preflsso LoLale dell'uLenLe
e dlvenLaLo 2001:86Ll:23. L'uLenLe usa Lale spazlo dl lndlrlzzamenLo assegnando ad una macchlna ad
esemplo l'lndlrlzzo 3001:86Ll:23:7::A.


L'uLenLe sl rlvolge anche al rovlder8 per avere un servlzlo dl conneLLlvlLa. nel momenLo ln cul dlvlene
cllenLe anche del rovlder8, la macchlna precedenLemenLe numeraLa prende auLomaLlcamenLe anche un
secondo l globale quale ad esemplo 3001:43Cu:l300:7::A. l paccheLLl che arrlvano dalla reLe arrlveranno
dal laLo del rovlder8 se chl lo manda ha usaLo come lndlrlzzo dl desLlnazlone 3001:43Cu:l300:7::A,
arrlveranno da A se sara sLaLo uLlllzzaLo l'alLro. va speclflcaLo che ll faLLo dl avere due lndlrlzzl l assegnaLl
da due provlder dlversl non aluLa mlnlmamenLe nell'lnLenLo dl dlsLrlbulre ll carlco, perche ll Lrafflco verso
l'esLerno passa da A o da 8 a seconda dl quale sara l'lndlrlzzo desLlnaLarlo.
L'uLenLe ad un cerLo punLo poLrebbe decldere dl sosLlLulre ll rovlder8 con un Lerzo rovlderC, ll quale
posslede uno spazlo dl lndlrlzzamenLo 3008:1A7l::0/32. Sulla macchlna a quesLo punLo sparlsce l'lndlrlzzo
l relaLlvo al provlder8 e ne assume un'alLro relaLlvo al rovlderC quale ad esemplo 3008:1A7l:17:7::A.



Cvvero se sl cambla rovlder sl va lnconLro alla necesslLa dl dover rlnumerare LuLLe le macchlne all'lnLerno
dell'organlzzazlone (cosa che lnvece non succede nell'lv4). ln Lal modo sl preserva l'aggregablllLa del
preflssl ad alLo llvello.
er allevlare Lall probleml nella v6 sono sLaLl prevlsLl del meccanlsml che, una volLa lnserlLo ln un rouLer ll
nuovo preflsso dl reLe, permeLLono dl propagare Lale lnformazlone a LuLLl l rouLer e alle macchlne uLenLe
dell'organlzzazlone. lnolLre sara necessarlo, se all'lnLerno dell'organlzzazlone sono presenLl del server,
andare a reglsLrarll nuovamenLe con ll nuovo lndlrlzzo presso ll unS o non saranno ragglunglblll dal cllenLl.
lnflne c'e da conslderare che un campo dl lndlrlzzl non pu avvenlre lmprovvlsamenLe, ma dl sollLo blsogna
manLenere LuLLl gll lndlrlzzl per un cerLo perlodo. L'lndlrlzzo che sLa per essere abbandonaLo sara segnalaLo
come deprecaLo. ln Lal modo non verranno perse connesslonl che poLrebbero essere ln corso verso o da
l'lndlrlzzo l che vlene abbandonaLo.

Cll INDIkI22I ANCAS1 non cosLlLulscono uno spazlo dl lndlrlzzamenLo separaLo, ovvero non eslsLe un
parLlcolare preflsso che ll ldenLlflca. Sono lndlrlzzl che servono ad lndlrlzzare un gruppo dl macchlne. Lo
scopo e quello dl far arrlvare un daLagram conLenenLe Lale lndlrlzzo nel campo desLlnaLarlo anche ad una
sola delle macchlne apparLenenLl a quel gruppo, quella plu facllmenLe ragglunglblle. 1ale Llpo dl lndlrlzzo
pu essere assegnaLo solo al rouLer lv6 e non alle macchlne uLenLe. ALLualmenLe per non sono molLo
uLlllzzaLl polche l'algorlLmo dl lnsLradamenLo non e molLo efflclenLe. L'unlco caso ln cul sono
effeLLlvamenLe usaLl e per l'lndlrlzzamenLo del Local name Server, dl conseguenza non vl e plu la necesslLa
dl conflgurare manualmenLe l'lndlrlzzo l per ll unS.
ll formaLo generlco dl un lndlrlzzo AnycasL e ll seguenLe

dove
! SU8NL1 kLIIk: 64 blL bassl che lndlcano ln quale speclflca soLLoreLe (probabllmenLe la mla) vogllo
effeLLuare l'anycasL.
! ANCAS1 ID: 7 blL alLl che cosLlLulscono un ldenLlflcaLore anycasL
! AL1kI: l rlmanenLl 37 blL sono cosLlLulLl da sel blL a 1, un blL a 0 e gll alLrl LuLLl 1
Culndl meLLendo un apposlLo codlce nel campo AnycasL ld posso fare un anycasL verso ll Local name
Server, Lenendo per presenLe che ll SubneL reflx e flssaLo ( sara quello della mla soLLoreLe). L'anycasL su
macchlne che sl Lrovano ln soLLoreLl dlfferenLl e prevlsLo ma dl faLLo non e uLlllzzaLo polche non e ancora
dlsponlblle un algorlLmo abbasLanza efflclenLe.

Cll INDIkI22I MUL1ICAS1, presenLl anche nella v4, nella v6 sosLlLulscono l 8roadcasL. 1uLLe le macchlne
apparLenenLl al gruppo MulLlcasL rlcevono una copla del messagglo recanLe lndlrlzzo desLlnaLarlo quello
del gruppo. ll formaLo generlco dl un lndlrlzzo mulLlcasL e ll seguenLe


dove:
! 8 blL alLl dl preflsso LuLLl a 1 conLraddlsLlnguono ll MulLlcasL --> II
! ILAG: solo l'ulLlmo blL dl quesLo gruppo dl 4 blL vlene uLlllzzaLo ed lndlca se sl LraLLa dl un gruppo
LranslLorlo o permanenLe
! SCCL: dellmlLa l'amplezza del MulLlcasL da effeLLuare
1 - node Local: MulLlcasL lnLerno alla macchlna mlLLenLe verso una cerLa serle dl
appllcazlonl che sl Lrovano LuLLe nella sLessa macchlna.
2 - Llnk Local: MulLlcasL llmlLaLo a LuLLe le macchlne dl un parLlcolare gruppo che sl
Lrovano nella mla sLessa soLLoreLe. 1ale Llpo dl mulLlcasL non pu qulndl aLLraversare
nessun rouLer.
S - SlLe Local: MulLlcasL verso LuLLe le macchlne apparLenenLl ad un parLlcolare gruppo
che hanno l 48 blL alLl uguall a quelll del mlLLenLe, ovvero non sl vuole usclre al
dl fuorl dalla reLe prlvaLa dell'organlzzazlone.
8 - CrganlzaLlon Local
L - Clobal: MulLlcasL verso LuLLl coloro che fanno parLe dl un cerLo gruppo ovunque esse sl
Lrovlno.
nella v4 lnvece sl llmlLava l'amplezza del mulLlcasL andando a glocare sul 11L. ln Lal modo per sl
poLevano oLLenere degll effeLLl lndeslderaLl quall ad esemplo ll seguenLe



ll Ml11enLe vuole lnvlare un lnvlo mulLlcasL a LuLLe le macchlne aderenLl al gruppo che sl Lrovano
all'lnLerno della sua soLLoreLe. Culndl, con lo scopo dl far glungere ll mulLlcasL flno a C, seLLe un 11L
parl a 3. roblema e che se la macchlna A, anch'essa aderenLe al gruppo ma al dl fuorl della
soLLoreLe, e abbasLanza vlclna anch'essa dl faLLo poLrebbe rlcevere la Lrasmlsslone mulLlcasL.
! GkCU ID: ldenLlflca ll parLlcolare gruppo verso ll quale sl vuole effeLLuare ll mulLlcasL.

ICMv6

La verslone del proLocollo lCM assoclaLo all'lv6 dlfferlsce da quella uLlllzzaLa nel caso dell'lv4 polche va
ad lnglobare funzlonl che nella v4 erano demandaLe ad alLrl proLocolll. nella caLena dl header lv6, lCMv6
vlene ldenLlflcaLo dal valore 38 nel campo nexL Peader dell'lnLesLazlone che lo precede. lu preclsamenLe
l'lCMv6 ha funzlonl dl:
! D|agnost|ca: Lale funzlonallLa era gla presensenLe nella v4 e offrlva un servlzlo dl segnalazlone a
fronLe dl errorl quall ad esemplo l'lrraglunglblllLa dl una porLa, una dlmenslone Lroppo grande dl un
daLagram per una cerLa M1u (quesLo problema nella v4 non sl presenLa mal a meno che non venga
seLLaLo ll campo uon'L lragmenL), desLlnaLarlo non ragglunglblle..
! Ne|ghbor D|scovery: sosLlLulsce ll proLocollo A8 della v4 e serve a scoprlre, conoscendo un
lndlrlzzo l dl una macchlna, qual'e l'lndlrlzzo MAC assoclaLo, a paLLo che quesLa sl Lrovl all'lnLerno
della sLessa soLLoreLe.
! Gest|one de| grupp| mu|t|cast: corrlsponde sosLanzlalmenLe all'lCM della v4, proLocollo che
venlva uLlllzzaLo per la comunlcazlone Lra una macchlna e ll proprlo rouLer. l messaggl lnvlaLl sono
del Llpo "SLo enLrando a far parLe dl un gruppo", "SLo uscendo da un gruppo" e ll rouLer pu lnvlare
del Membershlp 8eporL per dlre a LuLLl quall macchlne fanno parLe dl un gruppo. lu ln deLLagllo,
per decldere ll gruppo mulLlcasL l rouLer o server lnvlano paccheLLl dl Membershlp Cuery e gll hosL
apparLenenLl ad un gruppo rlspondono con un messagglo dl Membershlp 8eporL. CuesLl ulLlml
vengono lnvlaLl cosLanLemenLe dal cllenL e per non provocare un appesanLlmenLo della reLe un
campo dl Maxlmum 8esponse uelay lndlca l'lnLervallo dl lnvlo del Membershlp 8eporL. nel
momenLo ln cul un hosL abbandona ll gruppo mulLlcasL, vlene lnvlaLo un lCMv6 dl 1ermlnaLlon.
ll formaLo del generlco paccheLLo lCMv6 e ll seguenLe

dove:
! 1L: lndlca ll Llpo del paccheLLo lCMv6. 1ale campo ha 233 valorl posslblll e dl segulLo, per
brevlLa, sono rlporLaLl l valorl plu slgnlflcaLlvl



dove 130, 131 e 132 sono quelll che sosLanzlalmenLe sosLlLulscono ll proLocollo lCM della v4. l
rouLer che vogllono LesLare l'apparLenenza degll hosL locall a deLermlnaLl gruppl spedlscono un
messagglo dl membershlp query, e gll hosL che apparLengono ad un gruppo rlspondono con un
group membershlp reporL.
l codlcl 133 e 134 sono lnvece legaLl alle funzlonallLa uPC della v4. nella v6 ognl macchlna declde
ln prlmls ll proprlo lndlrlzzo dl Llpo llnk-local (che e obbllgaLorlo a dlfferenza dl quello globale o slLe-
local), che conslsLe nella scelLa del 64 blL bassl perche l 64 alLl non sono alLro che ll preflsso llnk-
local e pol LuLLl zerl. uopo dl che sl vorrebbe poLer acqulslre un lndlrlzzo dl Llpo Clobal ad esemplo,
dl modo che ce blsogno dl acqulslre l 64 blL alLl dell'lndlrlzzo, e chl pu fornlrll e un rouLer che sl
Lrova all'lnLerno della speclflca soLLoreLe. Con una 8ouLer SolllclLaLlon sl rlchlede a uno del rouLer
della soLLoreLe dl fornlre ll preflsso, la parLe alLa dell'lndlrlzzo. ll rouLer lncludera le lnformazlonl
rlchlesLe ln un messagglo dl 8ouLer AdverLlsemenL. 1all messaggl vengono perlodlcamenLe lnvlaLl
dal rouLer anche se non hanno rlcevuLo espllclLe rlchlesLe dl 8ouLer SolllclLaLlon perche sl e vlsLo
che nella v6 la posslblllLa dl dover rlnumerare la reLe e plu probablle rlspeLLo alla v4, dl modo che l
rouLer provvedono a rlnfrescare perlodlcamenLe ll preflsso dl reLe. ua noLare e che l 8ouLer
AdverLlsemenL possono annunclare anche plu dl un preflsso dl reLe, vlsLa la posslblllLa dl rlchledere
servlzl dl conneLLlvlLa conLemporaneamenLe a plu dl un rovlder. lnolLre ln generale gll lndlrlzzl
delle macchlne soggeLLl a rouLer AdverLlsemenL (global e slLe-local) sono "a Lempo", cloe un cerLo
preflsso vlene annunclaLo come valldo per un cerLo perlodo dl Lempo. rlma che Lale lasso dl
Lempo scada arrlva un nuovo rouLer adverLlsemenL che fa parLlre da zero ll conLaLore oppure ml
annuncla un nuovo preflsso.
l codlcl 13S e 136 sono ll corrlspeLLlvo del proLocollo A8 nell v4. ll nelghor SolllclLaLlon serve per
scoprlre qual'e l'lndlrlzzo MAC assoclaLo ad un lndlrlzzo l ln mlo possesso. ll nelghbor
AdverLlsemenL e la rlsposLa dalla macchlna avenLe quell'l, nella quale comunlca l'lndlrlzzo MAC
della sua lnLerfaccla. LoglcamenLe quesLo vale all'lnLerno delle reLl locall, essendo ll MAC un
proLocollo dl llvello 2. Se non ml Lrovo su una reLe locale ll funzlonamenLo e lnvece dlfferenLe. ll
nelghbour solllclLaLlon per pu anche essere uLlllzzaLo per verlflcare che l'lndlrlzzo l llnk-local
cosLrulLo sla unlco all'lnLerno della soLLoreLe. er farlo lnfaLLl nella v4 sl manda un A8 ln broadcasL
a LuLLl con quell'lndlrlzzo come desLlnaLarlo, dl modo che se nessuno rlsponde sl ha la cerLezza
della sua unlclLa.
! CCDL: lndlca ll codlce del messagglo dl errore
! CnLCkSUM: uLlllzzaLo per rllevare errorl dl Lrasmlsslone dell'lnLero paccheLLo
! MLSSAGL 8CD: conLlene un messagglo ed e dl lunghezza varlabll






LL2ICNI N. 4,S,6,7,8

Internet rotoco| Vers|one 6:
Aspett| avanzat|

una delle novlLa lnLrodoLLe dalla v6 dell'l e ll meccanlsmo dl AU1CCCNIIGUkA2ICNL, che ha lo scopo dl
auLomaLlzzare ll processo dl conflgurazlone dl un hosL. nella v4 per avere una funzlonallLa dl quesLo Llpo e
sLaLo lnLrodoLLo ll proLocollo uPC (eslsLe anche la posslblllLa dl auLoconflgurazlone sLaLeless, ma llmlLaLa
al caso dl reLl locall LoLalmenLe scollegaLe dall' lnLerneL pubbllco), che per presuppone l'eslsLenza dl un
server uPC al quale poLer rlchledere l parameLrl dl conflgurazlone. Sl rlcordl che Lra l parameLrl dl
conflgurazlone nella v6 non e plu presenLe l'lndlrlzzo del Local name Server perche oLLenuLo aLLraverso
l'lnvlo dl messaggl anycasL.
Cll lndlrlzzl sono formaLl da due parLl: l 64 blL alLl e quelll bassl. l 64 blL bassl sono la numerazlone dl una
lnLerfaccla all'lnLerno della parLlcolare soLLoreLe ln cul sl Lrova e sono una lnformazlone che pu essere
declsa localmenLe. L'lnformazlone da lnserlre nel 64 blL alLl e lnvece ln possesso del rouLer perche
conLengono ll preflsso globale (l prlml 48 blL) e ll numero dl soLLoreLe (l resLanLl 16 blL). 1all blL possono
essere acqulslLl, come gla accennaLo ln precedenza, medlanLe uLlllzzo del messaggl dl 8ouLer SolllclLaLlon e
8ouLer AdverLlsemenL deflnlLl dal proLocollo lCMv6.

Autoconf|guraz|one deg|| hosts state|ess
una delle prlme operazlonl che vengono effeLLuaLe all'accenslone dell'lnLerfaccla e la generazlone dl un
lndlrlzzo dl Llpo llnk-local (l cul 64 blL bassl sono l'lu dell'lnLerfaccla all'lnLerno della soLLoreLe e l 64 alLl flssl
sono un ldenLlflcaLlvo del Llpo llnk-local segulLo da una sLrlnga dl zerl). CeneraLo Lale lndlrlzzo e necessarlo
andare ad effeLLuare una fase dl uupllcaLe Address ueLecLlon (anche deLLa dl rob|ng) per verlflcare
l'unlclLa dell'lndlrlzzo all'lnLerno della soLLoreLe, ovvero che non cl sla nessuno che abbla scelLo gll sLessl 64
blL bassl (magarl lmposLandoll manualmenLe). Se l'lndlrlzzo e gla uLlllzzaLo da un alLro hosL sul llnk, la
procedura dl auLoconflgurazlone rlprende con un nuovo Loken generaLo random. Avendo assegnaLo solo
un lndlrlzzo dl Llpo llnk-local una macchlna e ln grado dl comunlcare solo con LuLLe le alLre macchlne che
fanno parLe della sua soLLoreLe.
er ampllare le proprle posslblllLa dl comunlcazlone necesslLa lnvece dl un lndlrlzzo dl Llpo slLe-local o
global. ln enLrambl l casl e necessarlo che cl sla un rouLer che sl affaccla sulla soLLoreLe. er deLermlnare la
parLe alLa dell'lndlrlzzo (che ln enLrambl l casl non e flssa) e posslblle lnolLraLe una rlchlesLa medlanLe un
messagglo lCMv6 dl 8ouLer SolllclLaLlon all'lndlrlzzo all rouLer mulLlcasL address" (ll02::2), oppure pu
sempllcemenLe meLLersl ln ascolLo per l messaggl dl 8ouLer AdverLlsemenL che perlodlcamenLe vengono
spedlLl dal rouLer. l messaggl dl rouLer adverLlsemenL possono conLenere uno o plu preflssl assoclaLl al llnk
con l quall ll nodo pu compleLare la procedura dl auLoconflgurazlone sLaLeless creando gll lndlrlzzl globall
(o slLe local) per le proprle lnLerfacce. AcqulslLl l 64 blL della parLe alLa vlene composLo l'lndlrlzzo compleLo
e lnlzla la fase dl roblng per verlflcare che sla unlco all'lnLerno della soLLoreLe, polche l'unlclLa globale e
garanLlLa dal preflsso dl reLe.

un esemplo dl daLagram conLenenLe un messagglo dl 8ouLer AdverLlsemenL e ll seguenLe:

dove nell'lnLesLazlone dl llvello MAC e posslblle noLare che
! l'lndlrlzzo desLlnaLarlo e dl Llpo mulLlcasL polche lnlzla col preflsso 33:33: che a llvello MAC e
uLlllzzaLo a Lale scopo
! ll valore del campo 1ype 0x86dd lndlca che ll frame eLherneL LrasporLa un messagglo dell'lv6
nell'lnLesLazlone lv6 lnvece
! nexL Peader dlce che ll prosslmo header e un'lnLesLazlone lCMv6
! L'lndlrlzzo mlLLenLe e dl Llpo slLe-local (lnlzla con fe) menLre quello desLlnaLarlo e dl Llpo mulLlcasL
(lnlzla con ff) llmlLaLo alla soLLoreLe (ff02)
nell' header lCMv6 lnflne
! ll campo 8ouLer LlfeLlme lndlca ll lasso dl Lempo per ll quale sara vallda l'lnformazlone
! vengono fornlLe lnformazlonl rlguardo la M1u sulla soLLoreLe (1300 byLe essendo eLherneL)
! Cl sono due annuncl dl due preflssl dlversl. ll prlmo ln parLlcolare e 2001:6b8:401:1::, lungo 64 blL
come cl sl aspeLLa. ll quarLo gruppo da 16 blL e uguale ln enLrambl perche quello e ll numero della
soLLoreLe e qulndl non cambla.
! ll campo referred llfeLlme lndlca per quanLo Lempo rlmarra valldo Lale preflsso. rlma che scada
Lale Lempo sara qulndl rlcevuLo un nuovo 8ouLer AdverLlsemenL per rlnfrescare ll preflsso o per
modlflcarlo. ll valld LlfeLlme plu grande del referred llfeLlme perche sl consldera la posslblllLa che
alcunl messaggl dl adverLlsemenL vadano persl dopo l'lnvlo (max 4).


ua noLare e che ln generale non LuLLl l rouLer mandano messaggl dl 8ouLer AdverLlsemenL. er esemplo se
ln una reLe locale sono presenLl plu rouLer ll sl pu lmposLare ln modo che solo uno dl essl lnvll Lall
messaggl.
ual momenLo che, come deLLo, l rouLer lnvlano perlodlcamenLe nuovl messaggl dl rouLer adverLlsemenL, l
nodl rlcevono conLlnuamenLe nuove lnformazlonl con le quall agglungere nuovl lndlrlzzl o agglornare quelll
gla conflguraLl. Le procedure dl auLoconflgurazlone degll hosL possono essere vanLagglosamenLe uLlllzzaLe
per camblare gll lndlrlzzl dl un slLo (slLe renumberlng), operazlone LlplcamenLe poco amaLa dal gesLorl delle
reLl. CuesLa caraLLerlsLlca qulndl favorlsce operazlonl dl rlsLruLLurazlonl della reLe, camblo dl lS, merglng
dl azlende, cosl come ll passagglo da una archlLeLLura dl reLe prlvaLa (lndlrlzzl slLe-local) ad una pubbllca
(lndlrlzzl globall).
Al momenLo aLLuale l proLocolll dl llvello alLo quall 1C ldenLlflcano le connesslonl uLlllzzando anche
l'lndlrlzzo l e qulndl un camblamenLo dl lndlrlzzo non pu essere effeLLuaLo senza dlsLruggere le
connesslonl ln corso. er Lenere conLo dl quesLo faLLo gll lndlrlzzl lv6 sono dlvlsl ln due caLegorle, quelll
preferlLl (preferred) e quelll deprecaLl (deprecated). l proLocolll dl alLo llvello, quando devono aprlre una
nuova connesslone, devono sempre uLlllzzare un lndlrlzzo dl Llpo preferlLo. er lnlzlare una procedura dl
rlnumerazlone occorre lnnanzlLuLLo lnserlre sul rouLer l nuovl preflssl assegnaLl alla reLe (uLlllzzaLl per
generare l nuovl lndlrlzzl delle sLazlonl della reLe) ed aLLendere che vengano propagaLl ln LuLLa la reLe. ual
momenLo che ad ognl preflsso e assoclaLa una valldlLa Lemporale, allo scadere della loro valldlLa, non
essendo plu confermaLl dal messaggl del rouLer, l vecchl preflssl verranno auLomaLlcamenLe eLlcheLLaLl
come deprecaLl, rlmanendo ln quesLo sLaLo per un Lempo raglonevolmenLe sufflclenLe a consenLlre a LuLLe
le connesslonl aLLlvaLe ln precedenza dl Lermlnare (per esemplo alcunl glornl). lnflne gll lndlrlzzl deprecaLl
dlvenLano non valldl e possono essere compleLamenLe ellmlnaLl, Lermlnando cosl la Lranslzlone dal vecchl
al nuovl lndlrlzzl.

Come gla accennaLo, ll Dup||cate Address Detect|on e un procedlmenLo che serve per verlflcare che ll
proprlo lndlrlzzo l non sla dupllcaLo all'lnLerno della soLLoreLe dl apparLenenza. er farlo vlene lnvlaLo un
nelghbor SollclLaLlon (slmll-A8), dl modo che se nessuno rlsponde sono slcuro dell'unlclLa dell'lndlrlzzo
nella soLLoreLe. una Llplca sequenza dl frame per la reallzzazlone del uAu e la seguenLe



ACCnL11C 1: nelghbor SollclLaLlon


A llvello MAC ll desLlnaLarlo sono solo LuLLe quelle macchlne all'lnLerno della mla soLLoreLe che hanno gll
sLessl 24 blL bassl del mlLLenLe (..:a8:77:20), qulndl non e un mulLlcasL che "dlsLurba" plu dl LanLo le
lnLerfacce. ua noLare e che l'lndlrlzzo dl desLlnazlone e cosLrulLo unendo al preflsso dl mulLlcasL dl llvello
MAC 33:33 l 32 blL bassl dell'lndlrlzzo l del mlLLenLe.
nell'lnLesLazlone lv6 l'lndlrlzzo mlLLenLe non e speclflcaLo (perche sLo ancora cercando dl caplre se quello
che ho scelLo effeLLlvamenLe lo posso adoLLare) e ll campo nexL Peader dlce che segue un header lCMv6.
L'lndlrlzzo dl desLlnazlone e un mulLlcasL llmlLaLo alla soLLoreLe (per vla del preflsso ff02::1), e ln parLlcolare
a LuLLe le macchlne della soLLoreLe ll cul lndlrlzzo l nel 32 blL bassl ha :ffa8:7720 (ff flsso + 24 blL bassl
dell'lndlrlzzo MAC).
nell'lnLesLazlone lCMv6 pol ce flnalmenLe scrlLLo, nel campo 1argeL, l'lndlrlzzo compleLo rlcercaLo, ovvero
fe80::2c0:dfff:fea8:7720. Come cl sl aspeLLava Lale lndlrlzzo e dl Llpo llnk-local (lnlzla con fe8).

ACCnL11C 2: MulLlcasL LlsLener 8eporL

uopo aver aLLeso clrca 4 secondl senza rlcevere alcuna rlsposLa al messagglo dl nelghbor SolllclLaLlon, la
macchlne lnvla un messagglo dl MulLlcasL LlsLener reporL. 1ale messagglo ln Leorla serve per dlchlarare la
proprla apparLenenza ad un cerLo gruppo ma dl faLLo ln quesLo caso e uLlllzzaLo per noLlflcare ll faLLo che e
sLaLo adoLLaLo un cerLo lndlrlzzo lv6 dl Llpo llnk-local dopo averne verlflcaLa l'unlclLa all'lnLerno della
soLLoreLe.

ACCnL11C 3: 8ouLer SolllclLaLlon
uopo aver conflguraLo l'lndlrlzzo llnk-local prova a vedere se eslsLe anche un lndlrlzzo slLe-local o global.
Culndl lnvla un messagglo dl 8ouLer SolllclLaLlon all'lndlrlzzo mulLlcasL ff02::2 che corrlsponde a LuLLl l
rouLer che sl Lrovano all'lnLerno della soLLoreLe. roblema e che ln quesLo caso pare che non cl sono rouLer
nella soLLoreLe, dl modo che non rlceve alcun rouLer adverLlsemenL.

olche l'ldenLlflcaLlvo dl lnLerfaccla pu rlmanere lnvarlaLo per un Lempo molLo lungo (addlrlLLura per LuLLa
la duraLa dell'eslsLenza dell'lnLerfaccla sLessa), poLrebbero presenLarsl del probleml dl slcurezza legaLl al
faLLo che Lale ldenLlflcaLlvo poLrebbe poLenzlalmenLe essere uLlllzzaLo per Lenere Lraccla del movlmenLl
sulla reLe dl un nodo parLlcolare, meLLendo ln relazlone Lra dl loro aLLlvlLa apparenLemenLe scorrelaLe
effeLLuaLe ln conLesLl dlfferenLl. Ad esemplo un anallzzaLore dl reLe collocaLo ln una poslzlone sLraLeglca
della reLe poLrebbe raccogllere lnformazlonl rlguardo al Lrafflco generaLo da un hosL dlsLlnguendolo ln base
all'lnLerface lu (anche se sl LraLLa dl un uLenLe moblle o dl una connesslone ) e Lall lnformazlonl
poLrebbero, ad esemplo, essere uLlllzzaLe per verlflcare se un cerLo lmplegaLo e al lavoro e a quale ora,
oppure se c'e qualcuno ln una cerLa ablLazlone o ufflclo. SlLl parLlcolarmenLe LrafflcaLl (ad esemplo un
porLale WL8) poLrebbero caLalogare, ln base all'lnLerface lu, ll Lrafflco provenlenLe da un cerLo hosL allo
scopo dl creare un profllo dell'uLenLe (o degll uLenLl) che lo uLlllzzano. Sono sLaLl qulndl deflnlLl meccanlsml
che consenLono ad un nodo dl generare lnLerface Loken dlversl ognl volLa che vlene effeLLuaLa la procedura
dl auLoconflgurazlone. una delle proposLe prevede che un nodo effeLLul le normall operazlonl dl sLaLeless
auLoconflguraLlon uLlllzzando ognl volLa un lnLerface lu dlverso, generaLo da un algorlLmo sLocasLlco
basaLo su Labelle dl hash Mu3.

Autoconf|guraz|one deg|| hosts statefu||
LslsLe anche un uPCv6 per l'auLoconflgurazlone dl hosL che sla sLaLefull ("con memorla"). ll modello
sLaLeful prevede che l'hosL oLLenga l'lndlrlzzo della proprla lnLerfaccla ed alLrl evenLuall parameLrl da un
server, ll quale manLlene un daLabase che Llene Lraccla dl quall lndlrlzzl sono sLaLl assegnaLl a deLermlnaLl
nodl. La Lransazlone e lnlzlaLa dal cllenL che rlchlede l'assegnazlone dl un lndlrlzzo (e del parameLrl relaLlvl)
ed e composLo da dlversl Llpl dl messaggl dl comunlcazlone per rlchlesLa, rlsposLa, rllasclo, rlconflgurazlone,
solleclLazlone e adverLlse. CuesLo meccanlsmo e compaLlblle con lo sLaLeless, nel senso che un nodo pu
oLLenere, per esemplo, ll suo lndlrlzzo LramlLe ll meccanlsmo sLaLeless, e alLrl parameLrl aLLraverso
l'auLoconflgurazlone sLaLeful. CuesLo Llpo dl auLoconflgurazlone e parLlcolarmenLe adaLLa nel slLl ln cul
slano predomlnanLl gll aspeLLl legaLl alla slcurezza, oppure quando sulla sLessa LAn convlvano plu reLl l
dlsLlnLe, nel qual caso sl vuole forzare un hosL ad apparLenere sempre e solo ad una ben deLermlnaLa reLe.


Autoconf|guraz|one de| router
LslsLe uno sLandard che deflnlsce l meccanlsml con cul l rouLer devono comunlcare nel caso ln cul sla
necessarlo effeLLuare una rlnumerazlone delle mle reLl. 1all Lecnlche sono conLenuLe nel proLocollo 8ouLer
8enumberlng descrlLLo nello 8lC 2894. ln parLlcolare cl sono del messaggl che l rouLer sl scamblano Lall che
se ho una reLe complessa composLa da plu soLLoreLl lnLerna alla mla azlenda, basLa che l preflssl vengano
lmmessl anche solo ln un rouLer (LlplcamenLe quello che funge da collegamenLo verso l'esLerno) perche
quesLl vengano propagaLl a LuLLl gll alLrl rouLer flno a quando quesLl non arrlvano alle lnLerfaccle degll hosL
medlanLe l 8ouLer AdverLlsemenL.


vedlamo ora qual'e l'lmpaLLo che Lranslzlone a lv6 comporLa per quanLo rlguarda ll unS, ll daLabase
dlsLrlbulLo che memorlzza le assoclazlonl Lra ldenLlflcaLorl umanamenLe comprenslblll (ed alLrl parameLrl)
ed lndlrlzzl l. L'elemenLo aLomlco dl quesLo daLabase prende ll nome dl kesource kecord (88), l cul campl
prlnclpall sono nome, 1lpo e valore.


l due Llpl dl 88 plu comunl sono:
! 1lpo A: assoclano a ldenLlflcaLlvl alfanumerlcl lndlrlzzl lv4 dl 32 blL.
! 1lpo CNAML: sLablllsce un allas, ovvero un mapplng Lra un nome e un alLro nome. un Lale Llpo dl 88
punLa pol ad un 88 dl 1lpo A per oLLenere la Lraduzlone dell'ldenLlflcaLlvo.



Con la Lranslzlone ad lv6 ll 88 dl Llpo CnAML non ha sublLo alcuna varlazlone. Al conLrarlo, per sosLlLulre ll
1lpo A e sLaLo sLandardlzzaLo un nuovo 1lpo AAAA. CuesLo svolge esaLLamenLe la medeslma funzlone del
1lpo A con la sola dlfferenza che all'ldenLlflcaLlvo alfanumerlco assocla un lndlrlzzo lv6 a 128 blL pluLLosLo
che un lndlrlzzo v4 a 32 blL.
Come abblamo gla deLLo ln precedenza, ora come ora gran parLe delle macchlne che fanno uso dell'lv6
uLlllzzano anche l'lv4. ul conseguenza e sLaLo sLandardlzzaLo un ulLerlore Llpo dl 88, ll Llpo AN. lnvlando
una rlchlesLa al server unS per un 88 dl Llpo An? sl rlchledono LuLLl l 88 assoclaLl al nome lndlcaLo, slano
essl sla dl Llpo A che dl Llpo AAAA. nella rlsposLa del unS poLrebbero essere conLenuLl plu dl un 88 dl Llpo
AAAA e plu dl un 88 dl Llpo A. lnfaLLl ln lv6 e normale che ad una lnLerfaccla possano essere assoclaLl plu
lndlrlzzl l, menLre ln lv4 cl sl pu verlflcare nel momenLo ln cul ad esemplo un server e sLaLo repllcaLo
su plu macchlne al flne dl rlparLlrne ll carlco dl lavoro. 8lcevuLa la rlsposLa dal server unS, ll cllenL poLrebbe
provare a conLaLLare ll server provando ad usare gll lndlrlzzl lv6 conLenuLl nel 88 AAAA (sl prova ll prlmo,
pol ll secondo,..flno ad esaurlre la llsLa del 88 AAAA). Se non rlesce a conLaLLare ll server con gll lndlrlzzl
lv6, quesLo poLrebbe dlpendere dal faLLo che, a causa della scarsa dlffuslone del proLocollo, da qualche
nella reLe non eslsLe un collegamenLo lv6. ul conseguenza sl andra a provare dl sLablllre la connesslone
uLlllzzando gll lndlrlzzl lv4 del 88 A. Solo nel caso ln cul nemmeno con quesLl ulLlml sl rlesca a conLaLLarlo,
allora ll server sara dlchlaraLo non ragglunglblle.


arllamo lnvece ora del meccanlsmo dl NLIGn8Ck DISCCVLk, una delle nuove funzlonallLa lnLrodoLLe
nell'amblLo del proLocollo lCMv6 e lnglobaLo all'lnLerno del uAu (uupllcaLe Address ueLecLlon). 1ale
meccanlsmo sosLlLulsce ll proLocollo A8 uLlllzzaLo nella v4 e permeLLe dl scoprlre qual'e ll MAC Address dl
un posslblle desLlnaLarlo locallzzaLo all'lnLerno della sLessa reLe locale del mlLLenLe (polche gll lndlrlzzl MAC
sono dl llvello 2 e hanno senso solo all'lnLerno delle reLl locall), a paLLo dl conoscerne l'lndlrlzzo l. Cll
scenarl dl uLlllzzo sono sosLanzlalmenLe due:
! andando a vedere l'lndlrlzzo l del desLlnaLarlo dl un daLagram e confronLandolo col mlo, ml sono
accorLo che l 64 blL alLl sono uguall (sLesso preflsso e sLessl 16 blL slLe local). Cl slgnlflca che ll
desLlnaLarlo sl Lrova all'lnLerno della mla soLLoreLe, dl modo che poLr lndlrlzzarlo uLlllzzando ll suo
lndlrlzzo MAC.
! devo spedlre un daLagram ad un desLlnaLarlo locallzzaLo al dl fuorl della mla soLLoreLe. ul
conseguenza ll daLagram dovra prlma essere spedlLo ad uno del rouLer che sl affacclano sulla mla
soLLoreLe locale e che ho scoperLo medlanLe l 8ouLer AdverLlsemenL. er spedlrgllelo devo fare
affldamenLo sul meccanlsml dl lnsLradamenLo della mla reLe locale, basaLl su lndlrlzzl dl Llpo MAC.
er conoscere l'lndlrlzzo MAC del desLlnaLarlo, vlene lnvlaLo un messagglo lCMv6 dl nelghbor ulscovery
(nel quale e lndlcaLo l'lndlrlzzo l del quale vogllo conoscere ll corrlspondenLe MAC). A dlfferenza dell'A8,
che mandava del messaggl broadcasL, ln quesLo caso sl fa uso dl messaggl mulLlcasL llmlLaLl alla sola reLe
locale nel quall l'lndlrlzzo del desLlnaLarlo e rlcavaLo nel modo seguenLe



Cvvero sl cosLrulsce l'lndlrlzzo mulLlcasL lv6 come
! ll --> preflsso esadeclmale dl mulLlcasL
! 0 --> lndlca che e un gruppo mulLlcasL permanenLe
! 2 --> lndlca che ll messagglo e llmlLaLo alla sola soLLoreLe
! ulLlml 32 blL dell'lndlrlzzo lv6
ma per spedlre ll messagglo all'lnLerno della reLe locale ln mulLlcasL ho blsogno dl assegnargll anche un
lndlrlzzo MAC mulLlcasL cosLrulLo come
! reflsso esadeclmale 3333
! l 32 blL plu bassl dell'lndlrlzzo lv6
l 24 blL plu bassl dell'lndlrlzzo lv6 sono pol sollLamenLe uguall al 24 blL plu bassl dell'lndlrlzzo MAC del
mlLLenLe, dl modo che solo coloro che hanno gll sLessl 24 blL bassl uguall a quelll del mlLLenLe
esamlneranno ll messagglo dl mulLlcasL, menLre LuLLl gll alLrl lo lgnoreranno. lnvece con la Lrasmlsslone ln
broadcasL uLlllzzaLa per ll proLocollo A8 ln lv4 LuLLl dovevano esamlnare ll conLenuLo del frame, per pol
evenLualmenLe scoprlre dl non esserne ll desLlnaLarlo e qulndl scarLarlo.

ul segulLo sono rlporLaLl alcunl lndlrlzzl dl mapplng per alcunl gruppl dl mulLlcasL sLandard

dove ln parLlcolare ll prlmo lndlrlzza LuLLl l nodl apparLenenLl alla sLessa soLLoreLe del mlLLenLe, ll secondo
lndlrlzza LuLLl l rouLer apparLenenLl alla sLessa soLLoreLe del mlLLenLe e ll Lerzo lnvece mosLra un esemplo dl
mulLlcasL solllclLed node, uLlllzzaLo per oLLenere l'lndlrlzzo llnk-layer dl un nodo. ln Lal caso occorre
mandare un messagglo nelghbor SollclLaLlon all'lndlrlzzo sollclLed node mulLlcasL address", rlchledendo al
nodo dl cul sl dlspone dell'lndlrlzzo lv6 ll suo lndlrlzzo llnk layer. olche ll nodo rlchledenLe lnclude nel
messagglo ll proprlo lndlrlzzo dl llvello 2, ll nodo desLlnazlone e ln grado dl rlspondere uLlllzzando un
messagglo unlcasL.

ll02::1:llA8:7720






8lassumenLo quanLo deLLo, la procedura dl nelghbor ulscovery conslsLe nell'lnvlo dl un messagglo dl
nelghbor SollclLaLlon che, come sl e gla vlsLo, e un messagglo lCM con ll campo Lype parl a 133, l'lndlrlzzo
sorgenLe del messagglo e ll llnk local address dell'lnLerfaccla del nodo che vuole rlsolvere l'lndlrlzzo,
menLre l'lndlrlzzo desLlnazlone e ll sollclLed-node mulLlcasL address, ll nodo remoLo (on-llnk) lnLeressaLo
rlspondera con un messagglo dl nelghbor AdverLlsemenL ln cul lndlchera ll MAC address rlchlesLo. 1ale
lnformazlone sara agglunLa nella nelghbor Cache, a quesLo punLo l'hosL e ragglunglblle. nel caso ln cul ll
messagglo dl nelghbor sollclLaLlon non rlceva rlsposLa, l'hosL dl cul sl vuole conoscere l'lndlrlzzo MAC e
remoLo, percl ll nodo rlchledenLe sceglle un rouLer Lra quelll rllevaLl LramlLe un 8ouLer AdverLlsemenL e
LramlLe quesLo lnsLrada l paccheLLl che vuole spedlre all'hosL remoLo.
Cgnl macchlna ovvlamenLe, come avvenlva per l'A8, manLlene delle cache quall
24 blL bassl dell'lndlrlzzo l
del quale vogllo scoprlre ll
MAC address
96eslmo blL da sx
sempre posLo a 1
ed ll flsso prlma
del l 24 blL bassl
reflsso che lndenLlflca ll
mulLlcasL llmlLaLo alla
soLLoreLe


dove:

! La NLIGn8Ck CACnL conLlene una enLry per ognl nodo dlreLLamenLe connesso (ovvero
apparLenenLe alla sLessa reLe locale) con cul l'hosL abbla lnvlaLo recenLemenLe del Lrafflco. Cgnl enLry
conLlene un lndlrlzzo on-llnk unlcasL (lndlrlzzo MAC), un flag che lndlca se sl LraLLa dl un rouLer
oppure no ed un punLaLore ad evenLuall paccheLLl accodaLl ln aLLesa dl Lrasmlsslone.
! La DLS1INA1ICN CACnL conLlene una enLry per ognl desLlnazlone (anche non on-llnk) cul ll nodo ha
recenLemenLe lnvlaLo del Lrafflco. Cgnl enLry conLlene un lndlrlzzo unlcasL ed un punLaLore alle enLry
nella nelghbor cache che lndlca l'lndlrlzzo del nexL hop per quesLa desLlnazlone.
! La kCU1Lk CACnL, lnflne, conLlene una llsLa dl LuLLl l rouLer cul possono essere lnvlaLl l paccheLLl ln
usclLa dalla reLe. un opporLuno llnk permeLLe dl assoclare ad ognl rouLer una enLry nella nelghbor
cache. 1ale Labella e cosLrulLa dlnamlcamenLe ln base alla leLLura del messaggl dl nelghbor
AdverLlsemenL che vlagglano sulla reLe locale.
! nella kLIIk LIS1 vengono memorlzzaLl l preflssl conslderaLl on-llnk ed appresl dal messaggl dl rouLer
adverLlsemenL.


Ino|tro d| pacchett| Iv6
ll meccanlsmo dl lnolLro del paccheLLl nella v6 sosLanzlalmenLe non dlfferlsce da quello adoLLaLo nella v4.
Sl vanno a vedere l 48 blL alLl dell' lndlrlzzo l del desLlnaLarlo, dopo dl che
! se sono dlfferenLl dal 48 blL alLl dl uno del preflssl ln uso nella macchlna mlLLenLe allora ll
desLlnaLarlo sl Lrova al dl fuorl della soLLoreLe. ln Lal caso per spedlre ll paccheLLo e necessarlo
rlchledere l servlgl dl uno del rouLer scoperLl medlanLe l 8ouLer AdverLlsemenL (ognl macchlna
conserva una Labella conLenenLe gll lndlrlzzl dl Lall rouLer locallzzaLl).
! se sono uguall al 48 blL alLl dl uno del preflssl ln uso nella macchlna mlLLenLe allora ll desLlnaLarlo sl
Lrova all' lnLerno della soLLoreLe. ln Lal caso sl dovra scoprlre l'lndlrlzzo MAC assoclaLo per
procedere ad un lnolLro dlreLLo.
lu ln deLLagllo, per lnvlare un paccheLLo ad una desLlnazlone remoLa, un nodo deve uLlllzzare una
parLlcolare comblnazlone delle lnformazlonl conLenuLe nella uesLlnaLlon Cache, nella reflx LlsL e nella
uefaulL 8ouLer Cache al flne dl deLermlnare ll nexL hop, ossla l'lndlrlzzo del nodo dlreLLamenLe connesso
cul lnvlare ll paccheLLo. Cuando ll nexL hop e sLaLo deLermlnaLo deve consulLare la nelghbor Cache per
verlflcare se eslsLe l'ldenLlflcaLore llnk layer (lndlrlzzo MAC) assoclaLo a quell'lndlrlzzo.
er rlsallre al nexL hop ll nodo mlLLenLe effeLLua un confronLo dl Llpo LongesL reflx MaLch Lra l'lndlrlzzo
desLlnazlone ed l preflssl conLenuLl nella reflx LlsL. ln caso rlsconLrl che ll preflsso del nodo remoLo e
conLenuLo ln quesLa Labella, ll nexL hop sara lo sLesso lndlrlzzo desLlnazlone, polche ll nodo desLlnazlone sl
Lrova on-llnk (ovvero ll desLlnaLarlo sl Lrova all'lnLerno della sLessa reLe locale del mlLLenLe, dl modo che
pu essere conLaLLaLo dlreLLamenLe uLlllzzando ll suo lndlrlzzo MAC). ln caso conLrarlo occorre selezlonare
un rouLer dalla uefaulL 8ouLer Cache da uLlllzzare come nexL Pop. nel caso ll rouLer selezlonaLo come nexL
hop sl Lrovl nella slLuazlone dl dover lnsLradare l paccheLLl sulla sLessa lnLerfaccla da cul gll sono pervenuLl,
lnvlera un messagglo dl 8ouLlng 8edlrecL per lnformare la sLazlone che, per quella desLlnazlone, eslsLe un
percorso mlgllore. er moLlvl dl efflclenza, ll rlsulLaLo dl Lale procedura vlene memorlzzaLo nella
uesLlnaLlon Cache. ln quesLo modo ad ognl nuovo paccheLLo da lnvlare ll nodo pu verlflcare nella
desLlnaLlon cache se eslsLe gla un'lnformazlone per la desLlnazlone remoLa nel qual caso non e necessarlo
rlpeLere la procedura dl nexL Pop ueLermlnaLlon.
una volLa deLermlnaLo l'lndlrlzzo del nexL Pop ll nodo mlLLenLe accede alla nelghbor Cache. Se non eslsLe
una enLry speclflca per ll nexL hop, vlene creaLa una nuova enLry nello sLaLo lncompleLe, vlene lnlzlaLa la
procedura dl nelghbor ulscovery e l paccheLLl per quesLa desLlnazlone vengono accodaLl.

er quanLo rlguarda l rouLer, anche ln quesLo caso essl dlspongono dl Labelle dl lnsLradamenLo. ll rouLer
prende un paccheLLo da lnsLradare, ne guarda l'lnLesLazlone (per rlcercare l'lndlrlzzo del desLlnaLarlo) e va a
cercare nella sua Labella dl rouLlng LuLLe le rlghe ln cul cl slano del numerl dl reLe che sono del preflssl
all'lnLerno dell'lndlrlzzo del desLlnaLarlo. 1ra quesLe sara scelLa quella che cosLlLulsce la sequenza dl blL plu
lunga a slnlsLra dell'lndlrlzzo del desLlnaLarlo (LongesL reflx MaLch).
l rotoco||| d| rout|ng sono quel proLocolll che servono al rouLers per scamblarsl delle lnformazlonl per
agglornare lo sLaLo della reLe e qulndl dl conseguenza le Labelle dl lnsLradamenLo. l due prlnclpall proLocolll
dl rouLlng sono:
! kIng: e un proLocollo dl Llpo dlsLance vecLor uLlllzzaLo per ll rouLlng lnLra-domaln, le sue
presLazlonl sono neLLamenLe lnferlorl a quelle dl proLocolll dl Llpo llnk-sLaLe, come ad esemplo
CSl, per quesLo moLlvo vlene uLlllzzaLo ln auLonomous sysLem dl plccole dlmenslonl. ll vanLagglo
del 8l e che la sua lmplemenLazlone e molLo sempllce.
! CSIv3: CSl e un proLocollo dl Llpo llnk-sLaLe ed e raccomandaLo per ll rouLlng lnLradomaln. Sl
basa sul faLLo che LuLLl l rouLer hanno una copla dl un daLabase che conLlene l llnk sLaLe record che
descrlvono lo sLaLo della reLe, o per lo meno lo sLaLo della reLe a cul apparLengono, lo scamblo dl
lnformazlonl fra l dlversl rouLer avvlene LramlLe LSA (Llnk SLaLe AdverLlsemenL). CSl vlene
uLlllzzaLo da molLl annl con lv4 e, grazle al mlglloramenLl che ha sublLo nel corso del Lempo, ll
meccanlsmo per la verslone lv6 e rlmasLo praLlcamenLe lnvarlaLo, Lranne che per alcune varlazlonl
che rlguardano prlnclpalmenLe l'adaLLamenLo al nuovo formaLo degll lndlrlzzl.


La trans|z|one ad Iv6
r|nc|pa|| prob|emat|che |egate a||a trans|z|one da Iv4 ad Iv6
e tecn|che per fac|||tare |a m|graz|one



ll problema dell'esaurlmenLo degll lndlrlzzl lv4 e sLaLo la moLlvazlone prlnclpale che ha porLaLo alla nasclLa
dl lv6 ed alla necesslLa dl passare enLro qualche anno al nuovo proLocollo. A quesLo punLo per blsogna
anallzzare le dlfflcolLa della Lranslzlone da un proLocollo all'alLro, lnfaLLl, vlsLa la dlmenslone e
l'eLerogenelLa dl lnLerneL, la Lranslzlone sara molLo lunga e qulndl l due proLocolll dovranno coeslsLere per
molLo Lempo.
La descrlzlone del proLocollo lv6 faLLa flnora ha messo ln evldenza ll faLLo che esso non pu essere
conslderaLo una semplce evoluzlone dl lv4, bensl un nuovo proLocollo che ln llnea dl masslma non e ln
grado dl lnLeroperare con lv4. lnfaLLl le appllcazlonl progeLLaLe per lv4 non funzlonano su lv6 ed l nodl
dl reLe lv4 (Lermlnall o rouLer) non possono comunlcare con nodl dl reLe lv6, ln quanLo sono dlverse
molLe delle procedure dl comunlcazlone e sopraLLuLLo e compleLamenLe dlverso ll formaLo degll lndlrlzzl.
Sl sono sLudlaLe delle soluzlonl a quesLl probleml, ln modo che, ln aLLesa della dlffuslone LoLale dl lv6, l
nuovl apparaLl lv6 possano lnLerlavorare con gll apparaLl lv4 eslsLenLl e sla posslblle la comunlcazlone Lra
reLl lv6 lsolaLe nella lnLerneL lv4.

Ma dove blsognera andare a camblare con l'lnLroduzlone dl lv6?

! kete e re|at|v| apparat| d| rete: e una Lranzlone gla pronLa, essendo che LuLLl gll apparaLl dl reLe ln
produzlone oggl come oggl sono ln grado dl uLlllzzare sla la v4 che la v6 dell'l.
! nost: LuLLl l magglorl slsLeml operaLlvl ormal supporLano l'lv6.
! App||caz|on|: sl vorrebbe che un unlco sockeL fosse ln grado dl raccogllere sla l daLagram
provenlenLl dalla v4 che quelll provenlenLl dalla v6.



M|graz|one deg|| apparat| d| rete
ln Leorla la mlgrazlone degll apparaLl dl reLe dovrebbe avvenlre solo per quelll che LraLLano l llvelll dal Lerzo
ln su (essendo che ll proLocollo l e locallzzaLo a llvello 3, LlvLLLC 8L1L).
urLroppo per quesLo non e del LuLLo vero. rendlamo ad esemplo gll swlLch delle reLl locall (che sono
apparaLl dl llvello 2) ll cul complLo e quello dl fare lnsLradamenLo: uno swlLch rlceve frame dlle sue porLe ln
lngresso, legge l'lndlrlzzo MAC del desLlnaLarlo e va a guardare ln una sua Labella dl lnsLradamenLo
aLLraverso quale delle sue porLe ln usclLa l frame vanno rlLrasmessl.
verrebbe qulndl da pensare che ll vanLagglo alla v6 non comporLa probleml con Lall apparaLl essendo che
uno swlLch va a guardare solo l'lndlrlzzo MAC del desLlnaLarlo e non cosa ce scrlLLo nell'lnLesLazlone MAC
rlguardo ll llvello superlore.
urLroppo per non e sempre cosl..cl sono degll swlLch che, per LenLare dl oLLlmlzzare ll mulLlcasL, vanno a
vedere anche gll lndlrlzzl del llvello 3 conLenuLl nelle lnLesLazlonl lCM (proLocollo per la gesLlone del
gruppl mulLlcasL che nella v6 e sLaLo lnLegraLo nelle funzlonallLa dell'lCM).
La soluzlone a quesLo problema, olLre a quella che poLrebbe essere l'adeguamenLo della funzlonallLa degll
swlLch per supporLare l'lv6, e la seguenLe


ll LlvLLLC 8L1L vlene sdopplaLo, con l due pezzl che non sl lnfluenzano a vlcenda essendo LoLalmenLe
lncompaLlblll (approcclo "shlps ln Lhe nlghL"). roblema dl Lale soluzlone e che comporLa la dupllcazlone dl
roLocolll dl rouLlng, Labelle dl lnsLradamenLo, access llsLs.. polche ognuna delle due verslonl necesslLa dl
una proprla verslone ad hoc. rlma conseguenza e che ad esemplo raddoppla ll numero dl messaggl
scamblaLl per manLenere agglornaLe le Labelle dl rouLlng, ll che sl Lraduce ln un onere magglore dal punLo
dl vlsLa compuLazlonale.

M|graz|one deg|| host
er quanLo rlguarda la mlgrazlone degll hosL l'approcclo plu geLLonaLo e quello DUAL S1ACk, che prevede a
bordo dell'hosL la presenza sla dello sLack lv4 che dl quello lv6. ln Lal modo vlene fornlLo un supporLo
compleLo per enLrambl l proLocolll. l llmlLl dl Lale soluzlone sLanno nel faLLo che se accanLo alla v6 vlene
ancora usaLa anche la v4, dl faLLo ll consumo degll lndlrlzzl non cala e che l'uLlllzzo dl enLrambl l proLoolll
causa un aumenLo della complesslLa della reLe.
LslsLono due verslone dell'approcclo uual SLack:
! DUAL S1ACk
! DUAL LALk
nella verslone Dua| Stack e prevlsLo l'uLlllzzo del dopplo sLack l, nella plla proLocollare. CuesLo dopplo
sLack permeLLe dl poLer lnLerpreLare enLrambe le verslonl del proLocollo, con l due sLack che lgnorano
ognuno la presenza dell'alLro. La rlconglunzlone Lra avvlene a llvello appllcazlone, ovvero l'appllcazlone e
cosclenLe che soLLo dl se ha due dlfferenLl sLack.
nella verslone Dua| Layer lnvece le due verslonl dell'l sono cosclenLl dl essere ln convlvenza, LanLo che
eslsLe un'lnLerfaccla che permeLLe ll passagglo del daLagram della v4 alla v6 e vlceversa.
Ma come vengono usaLl?
nella verslone Dua| Stack l daLagram, a seconda della verslone cul apparLengono, percorrono uno o l'alLro
sLack, arrlvando qulndl all'appllcazlone aLLraverso due lnLerfaccle dlfferenLl. L'appllcazlone dl sonseguenza
sara perennemenLe ln ascolLo su enLrambl l sockeL.
nella verslone Dua| Layer lnvece l daLagram v6 percorrono obbllgaLorlamenLe lo sLack dal laLo lv6, menLre
quelll della v4 possono sla percorrere lo sLack lv4 che essere lncapsulaLl ln un daLagram v6 e percorrere lo
sLack v6 afflorando all'appllcazlone aLLraverso l'lnLerfaccla lv6. ln Lal caso l'appllcazlone non rlesce a
dlsLlnguere l daLagram v6 da quelll che ln orlglne erano v4. er l'appllcazlone e convenlenLe quesLa
seconda lpoLesl, ln quanLo comporLerebbe che essa deve rlmanere ln ascolLo su un'unlca lnLerfaccla
(sockeL) lnvece che su due.



Anche ln Lrasmlsslone non cambla nulla per l'appllcazlone Lra daLagram v6 e daLagram che ln prlnclplo
erano v4. nel caso del segmenLl uu ad esemplo, dal sockeL ml vlene l'lndlrlzzo mlLLenLe e la porLa
mlLLenLe, dl modo che nel momenLo ln cul devo rlspondere le prendo e le uLlllzzo come lndlrlzzo
desLlnaLarlo e porLa desLlnaLarlo della rlsposLa. ArrlvaLo all'lv6, l'lndlrlzzo lv6 dl Llpo lv4 MALu vlene
rlconoscluLo essere Lale e vlene spedlLo all'lv4. Al conflne Lra la v6 e la v4 vlene camblaLa l'lnLesLazlone del
daLagram dalla v6 alla v4, l'lndlrlzzo lv4 del desLlnaLarlo vlene esLraLLo dal 32 blL bassl e vlene lmmesso
sulla reLe un daLagram perfeLLamenLe v4 come lo era ln orlglne quello cul sl sLa dando rlsposLa.
ua quanLo deLLo se ne deduce che la verslone uual Layer e quella che Lra le due e plu uLlllzzaLa, polche
sempllflca noLevolmenLe la vlLa a chl scrlve le appllcazlonl.


M|graz|one de||a rete
ll 1UNNLLING e la soluzlone magglormenLe uLlllzzaLa per far comunlcare fra dl loro nodl o reLl lv6
separaLe da reLl lv4.
Supponlamo dl voler lnvlare un daLagram da una reLe lv6 ad un'alLra e che Lra le due reLl lv6 vl sla una
reLe lv4. ll daLagram vlene lnsLradaLo verso un rouLer che sl Lrova al conflne Lra la prlma reLe lv6 e la reLe
lv4 e che reallzza la funzlone dl 1L (1unnel Lnd olnL), ovvero funge da esLremlLa per ll Lunnel. ll rouLer
prende ll paccheLLo lv6 e gll agglunge un'lnLesLazlone della v4, ovvero prende la busLa e la lmbusLa ln
un'alLra plu esLerna. ll daLagram cosl oLLenuLo avra

! campo roLocol 1ype=41 lndlcanLe "lv6 ln lv4", ovvero che ll carlco uLlle del paccheLLo lv4 alLro
non e che un daLagram lv6.
! come lndlrlzzo desLlnaLarlo l'lndlrlzzo lv4 dl un'alLro rouLer che funge da 1L all'alLro capo del
Lunnel.
ll daLagram vlene a quesLo punLo lnsLradaLo nella reLe lv4 flno al 1L dl usclLa ln base alle lnformazlonl
conLenuLe nell'lnLesLazlone v4. ArrlvaLo a desLlnazlone, ll secondo 1L provvedera a Logllere l'lnLesLazlone
lv4 e a rlLrasmeLLere ll daLagram aLLraverso un'lnLerfaccla che da verso la reLe v6.



l posslblll scenarl che possono presenLarsl sono l seguenLl:
! uue macchlne che sl affacclano su una reLe v4 vogllono uLlllzzare l'lv6. er farlo vlene creaLo un
Lunnel che parLe dalla macchlna mlLLenLe e arrlva a quella desLlnaLarlo, ovvero ln quesLo caso l 1L
sono all'lnLerno delle due macchlne.

! ll desLlnaLarlo e all'lnLerno della reLe v6. ll Lunnel verra aperLo Lra ll mlLLenLe e ll rouLer che funge
da 1unnel Lnd olnL. nella seconda lmmaglne sono sempllcemenLe scamblaLl mlLLenLe e
desLlnaLarlo qulndl la slLuazlone non cambla.




! ll Lunnel vlene aperLo Lra l due rouLer che fungono da 1L al flne dl aLLraversare la reLe v4


ua soLLollneare e l'eslsLenza dl un falso problema rlguardanLe ll recaplLo dl paccheLLl lv4 ln reLl dl Llpo lv6
only. 1ale problema e per dl faLLo solo Leorlco polche, essendo l'lv6 esLremamenLe poco dlffuso rlspeLLo
all'lv4, la posslblllLa che possa presenLarsl una eslgenza del genere e davvero bassa.
Con rlferlmenLo allo scenarlo seguenLe, sl e deLLo che ll 1L parLe dall'lnLerno della macchlna mlLLenLe.
1ale soluzlone e reallzzaLa aLLraverso la deflnlzlone dl una pseudo-lnLerfaccla dl reLe deLLa "AuLomaLlc
1unnellng seudo-lnLerface" (ln Wlndows)




Ind|r|zz| Iv4-Compat|b|e
er lndlrlzzare ll desLlnaLarlo flnale sl usano degll lndlrlzzl deLLl Iv4-CCMA1I8LL, caraLLerlzzaLl da
! 32 blL bassl che sono l'effeLLlvo lndlrlzzo lv4
! 96 blL alLl LuLLl a 0
dl conseguenza nella Labella dl lnsLradamenLo della macchlna blsogna deflnlre un preflsso ::/96 che lndlchl
che LuLLl l daLagram avenLl un lndlrlzzo lv6 che lnlzla con novanLasel zerl devono essere spedlLl aLLraverso
l'AuLomaLlc 1unnellng seudo-lnLerface.
CuanLo deLLo e speclflcaLo, ad esemplo ln amblenLe Wlndows, nel modo seguenLe

C:\> netshinterface ipv6 add route ::/96 "Automatic TunnelingPseudo-Interface"
C:\> ipv6 rt
::/96 -> 2 pref1if+0=1 life infinite, publish, no aging (manual)
::/0 -> 3/2002:c058:6301::c058:6301 pref1if+2147483647=2147483648 life 2h/30m,
publish, no aging (manual)
::/0 -> 3/2002:836b:213c:1:e0:8f08:f020:8 pref1if+1180=1181 life 2h/30m, publish,
no aging (manual)2002
::/16 -> 3 pref1if+1000=1001 life 2h/30m, publish, no aging (manual)
C:\> ping ::130.192.225.135

dove con la prlma lsLruzlone vlene deflnlLa una nuova rouLe e una nuova lnLerfaccla loglca, speclflcando
che LuLLl gll lndlrlzzl che lnlzlano per ::/96 devono essere lnsLradaLl aLLraverso Lale lnLerfaccla. Con la
seconda lsLruzlone vlene lnvece vlsuallzzaLa la Labella dl rouLlng lnLerna alla macchlna. uopo dl che vlene
lnvocaLo ll comando lng, che provoca l'lnvlo dl quaLLro Lcho 8equesL


per le quall sl noLa la presenza, come cl sl aspeLLava, dl due lnLesLazlonl l. La plu esLerna delle due, quella
relaLlva alla v4, conLlene un'lnLesLazlone lv6, che a sua volLa conLlene un'lnLesLazlone lCMv6. L'lndlrlzzo
desLlnaLarlo all'lnLerno dell'lnLesLazlone lv4 e sLaLo rlcavaLo da quallo lv4-CompaLlble ::130.192.223.133
speclflcaLo nell'lnvocazlone del comando lnC.
er quanLo rlguarda lnvece ll caso ln cul ll mlLLenLe apre ll Lunnel con un apparaLo che non e ll desLlnaLarlo
flnale

l comandl per la conflgurazlone del Lunnel ln amblenLe Wlndows sono l seguenLl

C:\> netshinterface ipv6 add route ::/96 "Automatic TunnelingPseudo-Interface"
::163.162.170.177
C:\> ipv6 rt
::/96 -> 2/::163.162.170.177 pref1if+0=1 life infinite (manual)
::/0 -> 3/2002:c058:6301::c058:6301 pref1if+2147483647=2147483648 life 2h/30m,
publish, no aging (manual)
::/0 -> 3/2002:836b:213c:1:e0:8f08:f020:8 pref1if+1180=1181 life 2h/30m, publish,
no aging (manual)2002
::/16 -> 3 pref1if+1000=1001 life 2h/30m, publish, no aging (manual)
C:\> ping ::130.192.225.135


dove sl noLa come appunLo nella prlma lsLruzlone vlene lndlcaLo l'lndlrlzzo lv6 del 1L verso ll quale deve
essere aperLo ll Lunnel, ovvero ::163.162.170.177.

6over4
AlLra Lecnlca per reallzzare la convlvenza Lra le due verslonl del proLocollo l e ll 6over4. 1ale Lecnlca
sosLanzlalmenLe cerca dl reallzzare una vlrLual LLherneL, ovvero una reLe locale vlrLuale. ll 6over4 sl basa
sul mulLlcasL e rlchlede la creazlone dl un'lnLerfaccla loglca dl Llpo 6over4. ll problema dl una Lale reLe
locale vlrLuale e che, menLre nelle reLl locall vere e proprle e posslblle usare del meccanlsml dl Lrasmlsslone
broadcasL o mulLlcasL ln vlrLu dell'abbondanza dl banda, lo sLesso non avvlene nelle reLl a llvello geograflco.
lnolLre nelle reLl lv4, anche se sono deflnlLl degll lndlrlzzl dl Llpo mulLlcasL e l rouLer della reLe sono ln
grado dl LraLLare Lale Llpologla dl lndlrlzzl, ln realLa vlene usaLo solo al llvello dl AuLonomous SlsLem e mal a
llvello geograflco. roprlo ln vlrLu dl Lale lndlsponlblllLa dl servlzl mulLlcasL ovunque nella reLe lv4, la
Lecnlca 6over4 non e molLo usaLa.

6to4
L' un'ulLerlore Lecnlca che prevede dl parLlre da un lndlrlzzo lv4 e da quesLo rlcavare un corrlspondenLe
lndlrlzzo lv6. Ma ln che modo? L'lndlrlzzo lv4 vlene dlvlso nel quaLLro byLe che lo compongono, e ll
valore declmale dl ognl byLe vlene LrasformaLo nell'equlvalenLe esadeclmale (polche gll lndlrlzzl lv6 sono
espressl ln formaLo esadeclmale). l quaLLro gruppl dl due clfre esadeclmall oLLenuLl andranno a cosLlLulre,
nell'lndlrlzzo lv6, ll gruppo da LrenLadue blL che segue un preflsso da sedlcl blL . 1ale preflsso lndlca che
l'lndlrlzzo e dl Llpo 6Lo4, ed ha valore flsso a 2002. l prlml 48 blL cosl composLl cosLlLulscono ll preflsso
globale dell'lndlrlzzo lv6 rlcavaLo. l resLanLl 80 blL sono cosLlLulLl da 16 blL dl ldenLlflcaLlvo della soLLoreLe
e 64 blL dl ldenLlflcaLlvo dell'lnLerfaccla dl reLe.



nel caso che ll Lunnel parLa dalla macchlna del mlLLenLe, nel campo v4Auu8 sara lnserlLo dlreLLamenLe
l'lndlrlzzo del desLlnaLarlo del daLagram. Ma non sempre e cosl, polche ad esemplo poLrebbe venlre a
presenLarsl la seguenLe slLuazlone



dove le due reLl ln basso sono reLl che uLlllzzano naLlvamenLe l'lv6 e la reLe lv4 ln alLo funge da
collegamenLo Lra Lall due "lsole". Al conflne sono locallzzaLl degll apparaLl (rouLer che fungono da 1L)
blfronLl, nel senso che dal laLo lnLerno hanno lnLerfacce che uLlllzzano l'lv6, menLre lnvece dal laLo
esLerno lnLerfaccle che uLlllzzano l'lv4. Culndl ad esemplo assumlamo che 192.1.2.3 sla l'lndlrlzzo
dell'lnLerfaccla del 8ouLer1 che sl affaccla sulla reLe lv4. ln Lale slLuazlone
! se mlLLenLe x e desLlnaLarlo ? sono enLrambl all'lnLerno della 8eLeA per comunlcare vlene usaLo ll
proLocollo lv6.
! se ll mlLLenLe x sl Lrova nella 8eLeA e ll desLlnaLarlo ? nella 8eLe8 l'lndlrlzzo 192.1.2.3, che permeLLe
l'accesso alla 8eLeA, vlene uLlllzzaLo per creare un lndlrlzzo lv6 dl Llpo 6Lo4, ovvero ad esemplo la
macchlna x avra lndlrlzzo 2002:c001:0203:1::8/48. Allo sLesso modo l'lndlrlzzo 9.234.2.232 vlene
uLlllzzaLo per creare un lndlrlzzo dl Llpo 6Lo4 per le macchlne nella 8eLe8, ad esemplo ? avra lndllzzo
2002:09lL:02lC:3::C7/48. Se x deve spedlre un daLagram ad ? usa quesL'ulLlmo come lndlrlzzo
desLlnaLarlo. l rouLer all'lnLerno della 8eLeA guardando l 48 blL alLl dell'lndlrlzzo desLlnaLarlo
caplscono che esso e locallzzaLo al dl fuorl della soLLoreLe, dl modo che provvedono ad lnolLrare ll
daLagram verso ll rouLer dl conflne. ll rouLer dl conflne dovra qulndl aprlre un Lunnel..ma verso chl?
prende l 32 blL successlvl al preflsso 2002 dell'lndlrlzzo desLlnaLarlo e ll usa come lndlrlzzo lv4 per
l'lnLesLazlone esLerna v4 da porre al daLagram lv6 per permeLLerne l'lnsLradamenLo verso la 8eLe8
aLLraverso la reLe lv4. ll rouLer all'lngresso della 8eLe8 rlmuove l'lnLesLazlone esLerna lv4 facendo
rlafflorare l'lnLesLazlone lpv6. A quesLo punLo l rouLer lnLernl alla 8eLe8, guardando l 48 blL alLl
dell'lndlrlzzo del desLlnaLarlo, caplscono che blsogna esegulre un lnsLradamenLo lnLerno alla reLe
locale flno al deLlnaLarlo flnale.



ua noLare e che le due nuvole non necessarlamenLe devono essere delle reLl locall, ma poLrebbero
addlrlLLura colncldere anche solo con due macchlne che uLlllzzano l'lv6 naLlvamenLe.
un problema della Lecnlca 6Lo4 e la sua lncompaLlblllLa con ll nA1. lnfaLLl l'lndlrlzzo lv4 uLlllzzaLo come
desLlnaLarlo e che vlene lncasLraLo nel secondo e Lerzo gruppo da 16 blL dell'lndlrlzzo 6Lo4 deve essere un
lndlrlzzo l pubbllco. ueLLo quesLo, come facclo ad lndlrlzzare con un lndlrlzzo pubbllco una macchlna che
sl Lrova dleLro a un nA1? non cl sl rlesce. lnolLre ce da Lener presenLe un ulLerlore problema, dovuLo al
faLLo che alcunl Llpl dl nA1 non manlpolano solo l'lndlrlzzo l mlLLenLe/desLlnaLarlo, bensl anche ll numero
dl porLa 1C/uu. ln base all'approcclo fln qul descrlLLo ll nA1 rlceve un daLagram del Llpo seguenLe


leLLo l'lndlrlzzo l mlLLenLe desLlnaLarlo all'lnLerno dell'lnLesLazlone lv4, andra a cercare nell'lnLesLazlone
sublLo successlva le lnformazlonl sul numero dl porLa. ul faLLo per l'lnLesLazlone che segue quella lv4 ln
quesLo caso non e 1C/uu, bensl un'lnLesLazlone lv6. 8lsulLaLo e che ll nA1 non rlesce a sapere ll
numero dl porLa, che per lul e un'lnformazlone fondamenLale polche le macchlne della reLe lnLerna che sl
Lrova dleLro ll nA1 sono ldenLlflcaLl appunLo aLLraverso un numero dl porLa.

ISA1A
ulLerlore meccanlsmo e quello lSA1A (lnLra-slLe AuLomaLlc 1unnel Addresslng roLocol). un'alLro
problema del 6Lo4 sLava nel faLLo che e rlchlesLa una conneLLlvlLa naLlva lv6 all'lnLerno delle "nuvole" e
non vlene uLlllzzaLo ll 8ouLer AdverLlsemenL. CuesLo perche non c'e la necesslLa dl scoprlre quall reLl lv6
dl Llpo 6Lo4 cl sono ln un'alLra "nuvola" essendo che Lale lnformazlone e scrlLLa chlaramenLe nel secondo e
Lerzo gruppo dl 16 blL da slnlsLra dell'lndlrlzzo del desLlnaLarlo. Culndl l rouLer che sono Ll Llpo 6Lo4 e che
sono sul bordo della reLe non hanno la necesslLa dl lnvlare degll avvlsl agll alLrl rouLer 6Lo4 per comunlcarsl
la poslzlone delle varle soLLoreLl.
lSA1A sl e appunLo concenLraLo su quesLo problema.. qulndl come sl fa a scoprlre dove sono l rouLer e
qulndl anche le alLre reLl dl Llpo lv6? CuesLl sono reglsLraLl all'lnLerno del unS, che vlene qulndl uLlllzzaLo
come una sorLa dl elenco Lelefonlco. Cvvero, per ldenLlflcare un rouLer, vlene rlchlesLo al unS un record dl
Llpo A per un nome _|satap.dom|n|o.com, che avra come rlsposLa l'lndlrlzzo l del rouLer. ln Lal modo sl
caplsce quall sono gll alLrl rouLer lv6 ln clrcolazlone.
Come sono cosLrulLl gll lndlrlzzl lSA1A? Cll ulLlml 32 blL sono l'lndlrlzzo lv4, alla cul slnlsLra vlene posLo un
preflsso sLandard per quesLo Llpo dl lndlrlzzamenLo

::0:SLIL:a.b.c.d /64



1LkLDC
1L8LuC LenLa dl rlsolvere ll problema con l nA1 reallzzando un lmbusLamenLo della v6 denLro l'uu, cloe
lnvece dl fare ll 1unnellng a llvello 3 lo sl fa a llvello 4. ul conseguenza un daLagram ln un Lunnel 1eredo
vlene fuorl nel modo seguenLe



ln Lal modo ll nA1 dovrebbe rlusclre a leggere ll numero dl porLa polche Lrova l'lnLesLazlone uu sublLo
dopo quella lv4. Sl usa ll condlzlonale perche, ad esemplo, nel caso ln cul dall'esLerno sl volesse lnlzlare
una comunlcazlone con l'lnLerno, ll numero dl porLa speclflcaLo nell'lnLesLazlone uu dal mlLLenLe
poLrebbe non essere ancora sLaLo assegnaLo a nessuna macchlna della reLe lnLerna (essendo la prlma volLa
che sl comlncla la comunlcazlone). er ovvlare a Lale problema 1L8LuC prevede la presenza dl un 8elay
Server. una macchlna della reLe lnLerna che voglla uLlllzzare 1L8LuC per affacclarsl sull'lnLerneL pubbllco,
sapendo che c'e qualcuno che dall'esLerno poLrebbe volergll spedlre un daLagram, perlodlcamenLe lnvla al
8LllSSC S1AnuA8u lnul8lZZC lv4
Iv4 UD Iv6
8elay del messaggl dl Llpo uaLagram. 1all daLagram uscendo dal nA1 provocano ln quesL'ulLlmo, ln una
Labella lnLerna, l'assoclazlone Lra l'lndlrlzzo l della macchlna mlLLenLe e una porLa uu. 1ale assoclazlone
vlene perlodlcamenLe rlnfrescaLa. La medeslma lnformazlone vlene rlpresa anche dal 8elay Server, dl modo
che per avvlare una comunlcazlone dall'esLerno verso una macchlna della reLe lnLerna sl poLrebbe
procedere ln quesLo modo: sl lnvlano LuLLl l paccheLLl al 8elay Server, ll quale provvedera a camblare ll
numero dl porLa uu desLlnaLarlo e a farll pol LranslLare aLLraverso ll nA1. A sua volLa la macchlna lnLerna,
volendo rlspondere al daLagram rlcevuLo, polche nel campo mlLLenLe dl quesL'ulLlmo Lrova l'lndlrlzzo del
Server, lnvla un daLagram al 8elay. CuesLo provvedera, sempre uLlllzzando la sua Labella dl assoclazlonl, ad
lnsLradarlo verso ll vero desLlnaLarlo sulla reLe pubbllca.
ua quanLo deLLo se ne deduce che, per un correLLo funzlonamenLo, ll 8elay Server deve essere
dlreLLamenLe collegaLo alla reLe pubbllca, non pu Lrovarsl dleLro al nA1.



1unne| 8roker
ll problema e sempre quello dl aprlre un Lunnel con una macchlna per ragglungere un cerLo desLlnaLarlo.
1ale Lunnel pu essere aperLo manualmenLe (come vlsLo precedenLemenLe), ma dl sollLo l'uLenLe normale
non ha molLa dlmesLlchezza con la conflgurazlone dl lnLerfacce loglche. La soluzlone e sLaLa cosLrulre un
slLo web da cul l'uLenLe pu scarlcare degll scrlpL che lo aluLano nella conflgurazlone a seconda del
desLlnaLarlo che vorrebbe ragglungere.



Lserc|z|
Iv6: |nd|r|zzamento e rout|ng



Lserc|z|o 1: State|ess conf|gurat|on
Sla daLa la conflgurazlone dl reLe ln flgura. Assumendo
che ll 8ouLer AdverLlsemenL sla ablllLaLo solamenLe sul
rouLer 81, lndlcare gll lndlrlzzl lv6 presenLl sull'
lnLerfaccla dell'hosL oLLenuLl aLLraverso ll meccanlsmo dl
sLaLeless conflguraLlon.




8lsposLe posslblll:
A) 2001:1:0:1:20b:3dff:fe4c:3a6b, 2001:1:0:7:20b:3dff:fe4c:3a6b, fe80::20b:3dff:fe4c:3a6b --> nC
8) 2001:1:0:1:20b:3dff:fe4c:3a6b, fe80:1::20b:3dff:fe4c:3a6b --> nC
C) 2001:1:0:7:20b:3dff:fe4c:3a6b, fe80::20b:3dff:fe4c:3a6b --> nC
u) 2001:1:0:1:20b:3dfe:ff4c:3a6b, fe80::20b:3dff:fe4c:3a6b --> nC
L) 2001:1:0:1:20b:3dff:fe4c:3a6b, fe80::20b:3dff:fe4c:3a6b --> Sl

lnnanzlLuLLo blsogna andare a caplre quanLl lndlrlzzl prendera l'lnLerfaccla dell'hosL: slcuramenLe un
lndlrlzzo llnk-local (essendo obbllgaLorlo), plu uno globale polche abblamo un rouLer 81 che fa ll 8ouLer
AdverLlsemenL. 1ale lndlrlzzo globale avra preflsso 2001:1:0:1::/64. ll rouLer 82 lnvece non fa ll 8ouLer
AdverLlsemenL, dl modo che l'hosL non rlusclra mal a sapere che eslsLe anche quesL'alLro preflsso
all'lnLerno delle reLe. ln base a Lall conslderazlonl
! posslamo gla scarLare la rlsposLa A, polche lndlca un lndlrlzzo con ll preflsso del 8ouLer 2 che dl
faLLo per l'hosL non rlusclra mal a conflgurare.
! la rlsposLa 8 propone ll glusLo numero dl lndlrlzzl per l'lnLerfaccla (due, uno globale e uno llnk-local).
ll preflsso dell'lndlrlzzo globale e correLLo. nell'lndlrlzzo llnk-local l 64 blL bassl sono glusLl (essendo
uguall a quelll dell'lndlrlzzo globale polche rlcavaLl medlanLe l'algorlLmo dl conf sLaLeless) ma ce un
1 dl Lroppo, quello dopo ll preflsso fe80. lnfaLLl ll formaLo sLandard degll lndlrlzzl dl Llpo llnk-local
prevede che dopo ll preflsso fe80 vl slano 34 blL LuLLl lmposLaLl a 0. ul conseguenza scarLlamo la
rlsposLa 8.
! anche la rlsposLa C propone un glusLo numero dl lndlrlzzl, ma l'lndlrlzzo globale e conflguraLo con ll
preflsso dl 82, che abblamo deLLo ln precedenza l'hosL non pu conoscere essendo su Lale rouLer
dlsablllLaLo ll 8ouLer AdverLlsemenL. Culndl scarLlamo anche quesLa rlsposLa.
! la rlsposLa u propone ll glusLo numero dl lndlrlzzl per l'lnLerfaccla e ll preflsso dell'lndlrlzzo globale e
correLLo. nel 64 blL bassl per sono sLaLl scamblaLl l due byLe cenLrall, che sono fe:ff lnvece dl ff:fe
come prevlsLo dall'algorlLmo dl conflgurazlone sLaLeless. ul conseguenza Lale soluzlone va scarLaLa.
ul Lale errore cl sl poLeva anche accorgere noLando che l 64 blL bassl dell'lndlrlzzo globale sono
dlversl da quelll dell'lndlrlzzo llnk-local.
! lnflne anche la rlsposLa L propone un numero glusLo dl lndlrlzzl da assegnare all'lnLerfaccla
dell'hosL. ll preflsso dell'lndlrlzzo globale e correLLo e non sembrano essercl errorl nel 64 blL bassl. ll
preflsso dell'lndlrlzzo llnk-local e correLLo e l 64 blL bassl sono ldenLlcl a quelll dell'lndlrlzzo globale.
ul conseguenza Lale soluzlone pu essere conslderaLa esaLLa.

Lserc|z|o 2: State|ess conf|gurat|on
Sla daLa la conflgurazlone dl reLe ln flgura.
Assumendo che ll 8ouLer 81 non abbla ablllLaLo
ll processo dl 8ouLer AdverLlsemenL, lndlcare:
1) gll lndlrlzzl conflguraLl sull' hosL P1
2) l paccheLLl generaLl da P1 al 8ooLsLrap
3) l paccheLLl generaLl da P1 qualora quesLo
cerchl dl effeLLuare un lnC verso P2, supposLo
che ne conosLa l'lndlrlzzo lv6
4) l paccheLLl generaLl da P1 qualora voglla
lnlzlare una connesslone 1C verso un hosL
lnLerneL


8lSCS1A 1: 81 non ha ablllLaLo ll 8ouLer AdverLlsemenL, dl modo che su P1 sara conflguraLo solLanLo un
lndlrlzzo dl Llpo llnk-local (perche obbllgaLorlo). ll rouLer non comunlca agll hosL della reLe locale ll preflsso
dl reLe globale qulndl P1 non rlesce a conflgurare un lndlrlzzo dl Llpo global.
8lSCS1A 2: al 8ooLsLrap l'hosL P1 andra a verlflcare che l'lndlrlzzo dl Llpo llk-local che ha conflguraLo
(lL80::0201:04ll:lL76:2A3C) sla unlco almeno all'lnLerno della proprla soLLoreLe. ll prlmo paccheLLo
generaLo sara un paccheLLo dl broadcasL lndlrlzzaLo a LuLLe le macchlne avenLl gll sLessl 24 blL bassl
nell'lndlrlzzo l

accheLLo 1:
[LLh] 000104-762A3C => 3333ll-762A3C
[lv6] :: =>ll02::1:ll76:2A3C (Len64)
[lCM6]nelghbor SollclLaLlon:who haslL80::0201:04ll:lL76:2A3C?

A Lale paccheLLo dl sollLo non seguono rlsposLe, dl modo che, scaLLaLo un LlmeouL, l'hosL lnvla un Croup
Membershlp 8eporL per comunlcare a LuLLl gll apparLenenLl ad un cerLo gruppo mulLlcasL l'lndlrlzzo llnk
local che ha conflguraLo per la proprla lnLerfaccla
accheLLo 2:
[LLh] 000104-762A3C => 3333ll-762A3C
[lv6] lL80::0201:04ll:lL76:2A3C =>ll02::1:ll76:2A3C (Len72)
[lCM6]Croup Membershlp 8eporL(ll02::1:ll76:2A3C)

lnflne l'hosL prova a vedere se ce anche un rouLer che possa fornlrgll un preflsso per conflgurare un
lndlrlzzo dl Llpo globale. A Lal scopo lnvla un messagglo dl 8ouLer SolllclLaLlon

accheLLo 3:
[LLh] 000104-762A3C => 3333ll-000002
[lv6] lL80::0201:04ll:lL76:2A3C =>ll02::2 (Len36)
[lCM6]8ouLer sollclLaLlon

Lale messagglo non rlceve rlsposLa polche l'unlco rouLer presenLe non ha ll 8ouLer AdverLlsemenL ablllLaLo.
8lSCS1A 3: Anche nel caso del lnC dl P2 ll prlmo paccheLLo generaro sara un paccheLLo dl nelghbor
SolllclLaLlon, con l'unlca dlfferenza che, rlspeLLo al caso precedenLe, sLavolLa l'lndlrlzzo l mlLLenLe e
speclflcaLo essendo gla sLaLo verlflcaLo ed acqulslLo

accheLLo 1:
[LLh] 000104-762A3C => 3333ll-788u28
[lv6] lL80::0201:04ll:lL76:2A3C =>ll02::1:ll78:8u28 (Len72)
[lCM6]nelghbor SollclLaLlon:who haslL80::0201:04ll:lL78:8u28?

A quesLo messagglo c'e rlsposLa, un paccheLLo dl nelghbor AdverLlsemenL col quale P2 dlce "Lccoml..lo
sono quesLo l e quesLo e ll mlo lndlrlzzo MAC se vuol comunlcare.."

accheLLo 2:
[LLh] 000104-788u28 => 000104-762A3C
[lv6] lL80::0201:04ll:lL78:8u28 => lL80::0201:04ll:lL76:2A3C(Len72)
[lCM6]nelghbor AdverLlsemenL: lamlL80::0201:04ll:lL78:8u28 aL 000104-788u28

dopo dl che segue una serle dl Lcho 8equesL ed Lcho 8eply

accheLLo 3:
[LLh] 000104-762A3C => 000104-788u28
[lv6] lL80::0201:04ll:lL76:2A3C => lL80::0201:04ll:lL78:8u28(Len72)
[lCM6]Lcho 8equesL

accheLLo 4:
[LLh] 000104-788u28 => 000104-762A3C
[lv6] lL80::0201:04ll:lL78:8u28 => lL80::0201:04ll:lL76:2A3C(Len72)
[lCM6]Lcho 8eply

8lSCS1A 4: non verra generaLo alcun paccheLLo perche per aprlre una connesslone verso un hosL
locallzzaLo nell'lnLerneL pubbllco P1 necesslLa dl un lndlrlzzo globale. ulsponendo solo dl un lndlrlzzo dl
Llpo-llnk local P1 e vlncolaLo a poLer comunlcare solo con le alLre macchlne apparLenenLl alla sua sLessa
reLe locale, polche nella proprla Labelllna dl lnsLradamenLo non ha lndlcaLo nessun rouLer a cul passare l
paccheLLl nel caso voglla lnlzlare una comunlcazlone con l'esLerno. ln parLlcolare l'lndlrlzzo llnk-local dl P1
sara lL80::0201:04ll:lL76:2A3C.


Lserc|z|o 3: |ng
Sla daLa la conflgurazlone dl reLe ln flgura.
Assumendo che ll 8ouLer 81 non abbla ablllLaLo ll
processo dl 8ouLer AdverLlsemenL, lndlcare ll
flusso del paccheLLl quando, su P1, sl dlglLa ll
comando lnC 2001:1:0:2::2".
Sl assuma che la nelghbor Cache non conLenga
nessuna enLry.





ln quesLo caso 81 annuncla due preflssl avendo due lndlrlzzl l assegnaLl alla sLessa lnLerfaccla. ll
desLlnaLarlo P2 ha nel 64 blL alLl dell'lndlrlzzo l un preflsso dlverso rlspeLLo a quello dl P1, dl modo che
non rlsulLera far parLe della sLessa soLLoreLe. ul conseguenza, ln base alla modallLa dl lndlrlzzamenLo lv6,
per avvlare una connesslone con P2 ll mlLLenLe dovra avvalersl del servlgl dl 81 (qulndl P1 lnvlera ad 81 ll
messagglo dl Lcho 8equesL). P1 conosce l'lndlrlzzo lv6 dl 81, ma non ll suo MAC address (necessarlo per
sLablllre una comunlcazlone a llvello della reLe locale). Lssendo dlsablllLaLo su 81 ll 8ouLer AdverLlsemenL
(moLlvo per cul sarebbe lnuLlle provare a fare un 8ouLer SolllclLaLlon perche LanLo non sl oLLerrebbe
rlsposLa), ll prlmo prlmo paccheLLo lnvlaLo da P1 sara un paccheLLo dl nelghbor SolllclLaLlon alla rlcerca dl
81
accheLLo 1 (lCMv6nelghbor SollclLaLlonda P1 ad 81):
[LLh] 000104-762A3C => 3333ll-000001
[lv6] 2001:1:0:1::2 =>ll02::1:ll00:1 (Len72)
[lCM6]nelghbor SollclLaLlon:who has2001:1:0:1::1 ?
81 rlsponde con un messagglo dl nelghbor AdverLlsemenL conLenenLe ll suo lndlrlzzo MAC
accheLLo 2 (lCMv6nelghbor AdverLlsemenLda 81 ad P1):
[LLh] 00AA88-CCuuLL => 000104-762A3C
[lv6] 2001:1:0:1::1 => 2001:1:0:1::2 (Len72)
[lCM6]nelghbor AdverLlsemenL: lam2001:1:0:1::1 aL 00AA88-CCuuLL
A quesLo punLo P1 ha LuLLl l parameLrl necessarl per poLer comunlcare con 81 e procede qulndl a lnvlare ll
messagglo dl Lcho 8equesL
accheLLo 3 (lCMv6Lcho 8equesLverso 81):
[LLh] 000104-762A3C => 00AA88-CCuuLL
[lv6] 2001:1:0:1::2 => 2001:1:0:2::2 (Len72)
[lCM6]Lcho 8equesL
nel quale sl pu noLare come a llvello l ll desLlnaLarlo lndlcaLo sla P2, menLre lnvece a llvello MAC e 81. ll
rouLer sl accorge che ll desLlnaLarlo e ragglunglblle aLLraverso la medeslma lnLerfaccla dalla quale ha
rlcevuLo ll paccheLLo, ma dl faLLo non conosce l'lndlrlzzo MAC dl P2 (ln vlrLu dell'lpoLesl che le nelghbor
Cache sono vuoLe) per poLer sLablllre una connesslone. lnvla qulndl un messagglo dl nelghbor SolllclLaLlon
con desLlnaLarlo P2 e rlceve da quesL'ulLlmo un messagglo dl nelghbor AdverLlsemenL come rlsposLa
accheLLo 4 (lCMv6nelghbor SollclLaLlonda 81 ad P2):
[LLh] 00AA88-CCuuLL => 3333ll-000002
[lv6] 2001:1:0:2::1 =>ll02::1:ll00:2 (Len72)
[lCM6]nelghbor SollclLaLlon:who has2001:1:0:2::2 ?

accheLLo 3 (lCMv6nelghbor AdverLlsemenLda P2 ad 81):
[LLh] 000104-788u28=> 00AA88-CCuuLL
[lv6] 2001:1:0:2::2 => 2001:1:0:2::1 (Len72)
[lCM6]nelghbor AdverLlsemenL: lam2001:1:0:2::2 aL 000104-788u28
a quesLo punLo qulndl 81 passa ad P2 l'Lcho 8equesL lnvlaLa da P1. P2 rlspondera con un messagglo dl
Lcho 8eply per la cul spedlzlone, polche P1 e vlsLo come non apparLenenLe alla reLe locale, sl avvarra del
servlgl del defaulL gaLeway 81
accheLLo 6 (lCMv6Lcho 8equesLda 81 ad P2):
[LLh] 00AA88-CCuuLL => 000104-788u28
[lv6] 2001:1:0:1::2 => 2001:1:0:2::2 (Len72)
[lCM6]Lcho 8equesL

accheLLo 7: (lCMv6Lcho 8eplyda P2 ad 81):
[LLh] 000104-788u28 => 00AA88-CCuuLL
[lv6] 2001:1:0:2::2 => 2001:1:0:1::2 (Len72)
[lCM6]Lcho 8eply

81 provvedera a passare ad P1 l'Lcho 8eply lnvlaLo da P2. P1 lnvlera qulndl un nuovo messagglo dl Lcho
8equesL ad 81 con desLlnaLarlo P2, polche dl sollLo l'lnvocazlone del comando lnC comporLa l'lnvlo dl 4
messaggl dl Lcho 8equesL. A dlfferenza del prlmo lnvlo per sLavolLa non cl sara blsogno dl andare a
cercare l'lndlrlzzo MAC dl 81 polche Lale lndlrlzzo e salvaLo nella nelghbor Cache dl P1.

8lassumendo schemaLlcamenLe la sequenza dl operazlonl rlsulLa


Lserc|z|o 4
Sla daLa la caLLura del lnC fra due hosLrl porLaLa dl segulLo. lndlvlduare ll moLlvo della mancaLa rlsposLa al
paccheLLo lCMv6 dl Lcho 8equesL.

La domanda e: dov' e che sl blocca ll meccanlsmo? ll prlmo messagglo e un nelghbor SolllclLaLlon alla
rlcerca dell' lndlrlzzo MAC della macchlna avenLe lndlrlzzo lv6 2001:1A60:1:1::3:1. ll secondo messagglo e
un messagglo dl nelghbor AdverLlsemenL che 2001:1A60:1:1::3:1 rlLorna a 2001:1A60:1:1::3:2, mlLLenLe
della SolllclLaLlon, conLenenLe l'lndlrlzzo MAC cercaLo. ll Lerzo paccheLLo e un messagglo dl Lcho 8equesL
lnvlaLo da 2001:1A60:1:1::3:2. 1ale messagglo ha come desLlnaLarlo a llvello l una Lerza macchlna
2001:1A60:1:2::16:2, menLre a llvello MAC ll desLlnaLarlo e la macchlna 2001:1A60:1:1::3:1. Anallzzando l
preflssl degll lndlrlzzl l sl noLa che 2001:1A60:1:1::3:2 e 2001:1A60:1:2::16:2 non sono nella sLessa
soLLoreLe, dl modo che sl pu dedurre che 2001:1A60:1:1::3:1 alLro non e che un rouLer medlanLe ll quale
2001:1A60:1:1::3:2 sLa cercando dl lnvlare ll suo messagglo dl Lcho 8equesL al dl fuorl della proprla
soLLoreLe. ueLLo quesLo, ll quarLo e qulnLo paccheLLo dl nelghbor SolllclLaLlon e relaLlvo AdverLlsemenL
racconLano del rouLer che, dovendo consegnare a desLlnazlone ll messagglo dl Lcho 8equesL affldaLogll,
cerca dl venlre a conoscenza dell'lndlrlzzo MAC del desLlnaLarlo, ovvero quello assoclaLo all'lndlrlzzo l
2001:1A60:1:2::16:2. una volLa venuLo a conoscenza dl Lale lndlrlzzo MAC, ll sesLo paccheLLo e la consegna
a desLlnazlone da parLe del rouLer del messagglo dl Lcho 8equesL lnvlaLo da 2001:1A60:1:1::3:2 a
2001:1A60:1:2::16:2. Cl sl aspeLLa che a quesLo punLo ll desLlnaLarlo flnale rlsponda. Col seLLlmo paccheLLo
2001:1A60:1:2::16:2 cerca per l'lndlrlzzo MAC dl una quarLa macchlna 2001:1A60:1:2::30:1, ll che sLa a
slgnlflcare che ll percorso dl rlLorno non e uguale a quello dl andaLa, l persorsl non sono slmmeLrlcl (per ll
rlLorno vlene uLlllzzaLa una dlversa lnLerfaccla dello sLesso rouLer usaLo dal mlLLenLe oppure proprlo
un'alLro rouLer). ll paccheLLo successlvo e uguale, un'alLra nelghbor SollclLaLlon con sLesso mlLLenLe e
sLesso desLlnaLarlo. CuesLo perche slcuramenLe e scaduLo ll LlmeouL assoclaLo alla prlma nelghbor
SollclLaLlon e l'hosL ha rlprovaLo a mandarla. Morale della favola posslamo dedurre che e qul che sl lnceppa
ll meccanlsmo. ll desLlnaLarlo dell' Lcho 8equesL non rlesce a rlspondere per l'lmposslblllLa dl aprlre una
connesslone con la quarLa macchlna aLLraverso la quale e lmposLaLo ll cammlno dl rlLorno (la macchlna
2001:1A60:1:2::16:2 ha 2001:1A60:1:2::30:1 lmposLaLo come defaulL gaLeway).
L' posslblle rappresenLare schemaLlcamenLe quanLo deLLo come segue




Lserc|z|o S: p|ano d| |nd|r|zzamento
8eallzzare un plano dl lndlrlzzamenLo lv6 per la reLe ln flgura. lndlcare lnolLre le rouLe sLaLlche da
conflgurare sulrouLer afflnchela reLe sla funzlonanLe.


Abblamo 3 reLl l Lra le quall dlsLrlbulre l'lndlrlzzamenLo
! una con 330 hosL + 1 lnLerfaccla dl un rouLer
! una con 2 lnLerfaccle dl rouLer
! una con 120 hosL + 1 lnLerfaccla dl rouLer
non essendo la reLe connessa ad lnLerneL, esufflclenLe gesLlre ll LuLLo con lndlrlzzl slLe-local. er
faclllLarel'auLoconflgurazlone, sl possono uLlllzzare dl preferenza reLl /64, anche se quesLo porLa ad un
noLevole spreco dl lndlrlzzl (lnpaLLlcolaresulllnkpunLo-punLo).
ll plano lndlrlzzamenLo pu essere espllclLaLo schemaLlcamenLe come segue




Lserc|z|o 6: p|ano d| |nd|r|zzamento
8eallzzare un plano dl lndlrlzzamenLolv6 per la reLe ln flgura e lndlcare su quall lnLerfacce ha senso
ablllLare ll processo dl8ouLer AdverLlsemenL.


ln quesLo caso abblamo a che fare con la reLe dl un'unlca organlzzazlone che e sLaLa suddlvlsa ln plu
soLLoreLl. C'e un rouLer che collega ll LuLLo verso lnLerneL e 3 edlflcl ognuno con un rouLer dl lngresso,
ognuno del quall collegaLo con 3 rouLer poslzlonaLl al varl planl dell'edlflclo. ll rouLer dl plano da accesso
alla vera e proprla reLe locale.
ln quesLo caso e posslblle persegulre due dlverse sLraLegle per reallzzare ll plano dl lndlrlzzamenLo,
conslderando che ad esemplo ll provlder abbla fornlLo all'organlzzazlone un preflsso da 48 blL quale
2001:760:400::/48
! vlsLa la llmlLaLa dlmenslone della reLe, e posslblle assegnare gll lndlrlzzl anche ln manlera non
gerarchlca, lasclando al 8ouLer lnLerno ll complLo dl propagare la ragglunglblllLa degll lndlrlzzl dl
reLe.


! ln alLernaLlva, eposslblle assegnare gll lndlrlzzl gerarchlcamenLe. er quanLo rlguarda ll processo dl
8ouLer AdverLlsemenL, va ablllLaLo solamenLe sulle lnLerfacce lnferlorl del rouLer dl ulLlmo llvello.


LL2ICNI N. 9,10,11,12,13,14

VN
V|rtua| r|vate Network

una posslblle deflnlzlone dl vn e la seguenLe: "ConneLLlvlLa dell'uLenLe che vlene messa ln opera su una
lnfrasLruLLura condlvlsa ln manlera Lale che possano essere appllcaLe delle pollLlche come se fosse una reLe
prlvaLa".
Ma cos'e una reLe prlvaLa? er 8eLe prlvaLa sollLamenLe sl suole lnLendere una reLe ln cul l'lnfrasLruLLura e
al servlzlo dl una sola organlzzazlone. er esemplo la seguenLe



ln cul ad una reLe locale (a slnlsLra) sono sLaLe collegaLe alLre reLl, slLl e worksLaLlon remoLe apparLenenLl
alla medeslma organlzzazlone medlanLe collegamenLl dl Llpo unLo a unLo (). lare una cosa del genere
oggl come oggl rlchledere dl sLendere un cordone dl flbra oLLlca Lra l due slLl, cosa che consLerebbe
davvero molLo (Lempl dl reallzzazlone a parLe). una soluzlone plu lnLelllgenLe (ed economlca!) e lnvece
quella dl cosLrulre Lall canall con delle Lecnlche parLlcolarl che servono ad asslcurare ll comporLamenLo
come se fosse un canale punLo a punLo dedlcaLo, ma uLlllzzando l'lnfrasLruLLura dl reLe pubbllca, qulndl
condlvlsa. 1ale soluzlone, che dl faLLo sl epllclLa col possesso dl rlsorse rlservaLe all'lnLerno della reLe
pubbllca, poLrebbe per non essere molLo gradlLo alle organlzzazlonl. La soluzlone alla quale sl vuole
arrlvare e la seguenLe


nella quale sono presenLl la sLessa 8eLe Locale e gll sLessl punLl remoLl. ln parLlcolare sl vuole che ll
collegamenLo Lra dl essl venga reallzzaLo aLLraverso lnLerneL ubbllco, appllcando delle pollLlche (lnLese
come meccanlsml dl gesLlone della reLe) che sono per speclflche dell'organlzzazlone. Ad esemplo sl
poLrebbe volere che un uLenLe qualslasl collegaLo alla reLe pubbllca non sla ln grado dl avvlare una
comunlcazlone con le macchlne che fanno parLe della reLe azlendale (funzlonallLa reallzzaLa medlanLe
l'uLlllzzo dl flrewall). ln Lal modo quella che vlene creaLa e una 8eLe rlvaLa vlrLuale, ovvero una reLe che sl
basa su lnfrasLruLLura pubbllca ma che da chl la uLlllzza vlene a LuLLl gll effeLLl perceplLa come una reLe
prlvaLa Lradlzlonale su lnfrasLruLLura dedlcaLa.
Le pollLlche azlendall accennaLe possono rlguardare SecurlLy, CoS, 8ellablllLy, Addresslng.. ln parLlcolare
per quanLo rlguarda l'lndlrlzzamenLo, e conslgllablle che la numerazlone delle macchlne avvenga
uLlllzzando lndlrlzzl apparLenenLl al range degll lndlrlzzl prlvaLl. nel caso ln cul fossero uLlllzzaLl lndlrlzzl
pubbllcl
! non ce alcun problema e LuLLo funzlona bene flno a che la reLe prlvaLa rlmane compleLamenLe
lsolaLa dall'lnLerneL pubbllco.
! nel momenLo ln cul sl volesse accedere ad lnLerneL pubbllco (magarl uLlllzzano un nA1) sl
correrebbe ll rlschlo dl avere un problema dl dupllcazlone dl lndlrlzzl globall. CuesLo perche ll range
dl lndlrlzzl globall (ad esemplo un /16), uLlllzzaLo lmproprlamenLe per numerare le macchlne della
reLe prlvaLa, poLrebbe essere sLaLo assegnaLo a qualcuno da lAnA per numerare macchlne che sl
Lrovano sull'lnLerneL pubbllco. ln Lal caso ll nA1 rlsconLrerebbe un'amblgulLa dl lndlrlzzamenLo,
polche all'lnLerno della sua Labella dl rouLlng per ll medeslmo preflsso Lroverebbe due rlghe (una
che dlce che la reLe cercaLa sl Lrova sull'lnLerneL pubbllco e un'alLra che lnvece dlce che sl Lrova
all'lnLerno della reLe prlvaLa).


La soluzlone da adoLLare per evlLare l suddeLLl probleml e quella dl esegulre una numerazlone delle
macchlne basaLa su lndlrlzzl apparLenenLl al range degll lndlrlzzl prlvaLl. nel momenLo ln cul pol sl volesse
avere accesso alla reLe pubbllca sl poLrebbe sempllcemenLe usare un nA1 (che ln Lal caso e lmposslblle che
veda del preflssl dl reLl prlvaLe annunclaLl sulla reLe pubbllca, qulndl non poLranno mal verlflcarsl amblgulLa
dl lndlrlzzamenLo) oppure assegnare degll lndlrlzzl globall ad alcune macchlne (o anche a LuLLe volendo),
che avrebbero cosl conflguraLo sla un lndlrlzzo prlvaLo che uno pubbllco.

AlLra moLlvazlone olLre a quella economlca che rende convenlenLe l'uLlllzzo delle vn rlguarda la posslblllLa
dl Lenere soLLo conLrollo ll proprlo Lrafflco. Con le vn lnfaLLl sl e ln grado dl conLrollare l'accesso dl Lrafflco
esLerno verso la vn e vlceversa, sempllcemenLe plazzando del llrewall e/o del VN Gateway nel punLl ln
cul la reLe lnLerna "vlene a conLaLLo" con quella pubbllca. ln parLlcolare un vn CaLeway svolge una
funzlone dl fllLregglo del Lrafflco, ovvero rlconosce se ll Lrafflco ln arrlvo e provenlenLe da un'alLro slLo della
mla sLessa vn oppure no. nel caso ln cul ll Lrafflco ln arrlvo nn apparLenga ad un slLo della mla vn e Lale
Lrafflco non sla auLorlzzaLo all'lngresso, ll vn CaLeway provvede a scarLarlo.
er esemplo nella conflgurazlone lllusLraLa nella flgura soLLosLanLe, le LAn 8emoLe flnlscono sempre per
collegarsl con ll quarLler generale. ll vn CaLeway plazzaLo nel quarLler generale rlceve delle rlchlesLe dl
connesslone, a segulLo delle quall effeLLua una fase dl auLenLlcazlone. Se l'auLenLlcazlone dell'alLro 1L va a
buon flne ll vn CaLeway permeLLe l'aperLura dl un Lunnel aLLraverso ll quale avverra la comunlcazlone,
dlversamenLe la connesslone vlene rlfluLaLa. SLessa cosa vale nel caso ln cul sl cerchl dl aprlre delle
connesslonl Lra le varle Lan 8emoLe. ua noLare e che non e deLLo che ll vn CaLeway debba sempre essere
poslzlonaLo dleLro ll rouLer+flrewall, pu essere anche poslzlonaLo prlma (ognuna delle due conflgurazlonl
comporLa proprl vanLaggl e svanLaggl).



ln quesL'alLro esemplo sono lnvece lllusLraLl Lre dlversl Llpl dl posslblll rlchledenLl accesso alla vn: un
ufflclo remoLo, un moblle user e un LelelavoraLore. ua noLare e che ognuno dl essl poLrebbe avvalersl del
servlzlo dl connesslone offerLo da un dlverso lS, scelLo ln manlera lndlpendenLe.

nel caso ln cul dall'uff|c|o remoto sl volesse lnsLaurare una connesslone con l server locallzzaLl all'lnLerno
della reLe locale del quarLler generale, vlene lnvlaLa una rlchlesLa al vn CaLeway (ln flgura lurewall e vn
CaLeway colncldono). A quesLo punLo ll vn CaLeway chlama ln causa ll Server AAA (AuLhenLlcaLlon
AuLhorlzaLlon AccounLlng) che ha ll complLo dl
! auLenLlcare l'ldenLlLa del mlLLenLe della rlchlesLa dl connesslone.
! nel caso ln cul l'auLenLlcazlone sla avvenuLa con successo, sLablllre le auLorlzzazlonl da assegnare. ln
poche parole, ldenLlflcaLo ll mlLLenLe, gll sl dlra quall sono le operazlonl che e auLorlzzaLo a
svolgere.
! effeLLuare ll conLegglo del consumo delle rlsorse da parLe degll uLenLl, magarl per scopl puramenLe
sLaLlsLlcl per la gesLlone della reLe lnLerna.
AlLra prospeLLlva e quella dl un te|e|avoratore che da casa sl collega ad lnLerneL pubbllco, qualche volLa per
moLlvl suol personall e alLre volLe per lavoro (moLlvo per cul vorrebbe enLrare nella vn azlendale). Culndl
ln Lal caso non sl parla dl una soLLoreLe remoLa, bensl dl un'unlca macchlna remoLa che rlchlede l'accesso
alla vn. La dlfferenza Lra ll caso del LelelavoraLore e quello dell'ufflclo remoLo sLa nel faLLo che nel caso
dell'ufflclo remoLo ll Lunnel e sLablle (vlene aperLo una volLa e permane sempre o per LuLLo l'arco della
glornaLa lavoraLlva come mlnlmo) menLre nel caso del LelelavoraLore ll Lunnel poLrebbe essere aperLo e
chluso plu volLe al glorno (perche magarl lavora qualche ora al maLLlno e pol rlprende nel pomerlgglo).
CuesLo non e molLo acceLLablle essendo che le operazlonl dl relnlzzallzzazlone dl un Lunnel hanno un loro
cosLo ln Lermlnl dl Lempo e rlsorse.
venlamo lnflne al caso del Mob||e User, ovvero qualcuno che, munlLo dl noLebook e connesslone lnLerneL,
se ne va ln glro per lavoro. CuesLl non solo lmpllcano una frequenza dl lnsLaurazlone e chlusura del Lunnel
magglore anche del caso del LelelavoraLore, ma nell'arco della sLessa glornaLa poLrebbero addlrlLLura
collegarsl uLlllzzando dlversl lS.
nel caso dell'uLenLe moblle e del LelelavoraLore sl parla dl VN DI ACCLSSC, ovvero che permeLLono ad
una slngola macchlna dl enLrare nella vn aLLraverso l'aperLura dl un Lunnel con la sede cenLrale (e Lale
Lunnel e soggeLLo ad una cerLa frequenza dl relnsLaurazlone nell'arco anche dl una sLessa glornaLa). nel
caso dell'ufflclo remoLo sl parla lnvece dl VN SI1L-1C-SI1L, dove sl vanno a collegare ln manlera sLablle
due slLl flssl apparLenenLl ad una sLessa organlzzazlone. l due Llpl dl vn dlfferlscono per le Lecnlche dl
gesLlone ed aperLura del Lunnel. ln parLlcolare Lall Lecnlche possono essere plu snelle nel caso delle vn dl
accesso, essendo che quesLe prevedono che l Lunnel vengano relnsLauraLl abbasLanza frequenLemenLe.
vedlamo ora dl rlspondere alla domanda dl caraLLere praLlco: per cosa sl usano le vn? Lsse sono uLlllzzaLe
essenzlalmenLe per usl dl
! kemote user access:
e ll caso LraLLaLo negll esempl precedenLl, caraLLerlzzaLo da
- auLenLlcazlone forLe, dove l'auLenLlcazlone pu rlguardare ll Lermlnale o l'uLenLe. Se sl
auLenLlca ll Lermlnale loglcamenLe non posso sapere dl faLLo chl lo sLa usando.
- gesLlone cenLrallzzaLa, polche LuLLl dovranno flnlre per andare a collegarsl con la cenLrale
- scalablllLa, polche Lall reLl devono essere pensaLe per gesLlre anche un grande numero dl
uLenLl. nel caso gll uLenLl sla dlsLrlbulLl su larga scala geograflca e posslblle che vengano
prevlsLl del punLl dl accesso alla vn anch'essl dlsLrlbulLl geograflcamenLe.




! Intranet VN:
cosLrulre una reLe Lra dlversl slLl lnLerna alla mla organlzzazlone, ln cul sosLanzlalmenLe macchlne
che sl Lrovano ln slLl dlversl flnlscono per cosLlLulre LuLLa un'unlca reLe prlvaLa vlrLuale passando per
lnLerneL.


dove nella sede prlnclpale c'e un server accesslblle dall'esLerno (che poLrebbe essere un server Web
o un server dl posLa eleLLronlca). ll Server ha accesso llbero e a valle dl esso cl sono del flrewall,
ognuno del quall Lende a proLeggere un cerLo gruppo dl macchlne della reLe locale. non c'e molLa
proLezlone verso l'esLerno perche le macchlne del slLo remoLo enLrano nella reLe vn della sede
cenLrale solo dopo essere sLaLl auLenLlcaLl dal vn CaLeway come dlpendenLl della sede remoLa,
qulndl LraLLablll come uLenLl locall. Culndl dl faLLo e ll vn CaLeway che ml fornlsce una proLezlone
lnLrlnseca. Le caraLLerlsLlche dl una lnLraneL vn sono:
! comunlcazlone slcura Lra dlfferenLl slLl
! clfraLura del daLl lnvlaLl sul Lunnel
! auLenLlcazlone del Lunnel
! affldablllLa, ovvero dlverse CoS ln base alla Llpologla dl Lrafflco
! scalablllLa, ovvero la posslblllLa dl poLer agglungere alla vn alLrl slLl remoLl ln base magarl a fuLure
necesslLa dl espanslone della vn azlendale

! Lxtranet VN:
e una reLe ancora prlvaLa, ma ln quesLo caso c'e la volonLa dl collegare due reLl lnLerne dl due
dlverse organlzzazlonl (magarl ln vlrLu dl un accordo commerclale). L'ammlnlsLraLore della reLe A
concedera l'accesso alla proprla reLe alle macchlne della reLe 8, permeLLendo per loro dl complere
solo deLermlnaLe operazlonl.


CuesLa volLa, ln vlrLu del faLLo che non LuLLe le operazlonl devono essere concesse, a monLe del
Server cl sara un flrewall. ln Lale conLesLo va evldenzlaLa la posslblllLa che sl verlflchl un confllLLo dl
lndlrlzzamenLo, nel caso ln cul le due azlende che ho collegaLo alla mla reLe abblano usaLo ll
meseslmo spazlo dl lndlrlzzl per numerare le proprle macchlne. ln Lal caso la soluzlone plu
lmmedlaLa sLa nell'uLlllzzo dl nA1.

AlLra classlflcazlone delle vn sl basa sul modo ln cul esse accedono all'lnLerneL pubbllco. LslsLono due
approccl medlanLe l quall pu essere permesso l'accesso agll uLenLl all'lnLerneL pubbllco
! CLN1kALI2LD (Compu|sory connect|on)
Se ho aperLo un Lunnel (ad esemplo verso la sede cenLrale), LuLLo ll mlo Lrafflco che non e dlreLLo
verso la vn, bensl verso un'alLra desLlnazlone all'esLerno, vlaggla aLLraverso Lale Lunnel flno a
ragglungere ll punLo ln cul sl esce dalla vn verso la reLe pubbllca. ua ll pol conLlnua ad essere
lnsLradaLo all'lnLerno della reLe pubbllca flno al desLlnaLarlo. l messaggl dl rlsposLa fanno ll
cammlno lnverso, ragglungendoml aLLraverso ll Lunnel anche se dl faLLo ll mlLLenLe e una
macchlna locallzzaLa all'esLerno della vn.



nell'esemplo lllusLraLo ln flgura dalla macchlna C sl vuole accedere a un desLlnaLarlo che sl Lrova
sull'lnLerneL pubbllco. ln vlrLu dell'uLlllzzo dl un approcclo dl accesso cenLrallzzaLo, l paccheLLl
lnvlaLl da C vlaggeranno all'lnLerno del Lunnel flno ad 81 (che cosLlLulsce ll punLo dl conLaLLo Lra la
vn e la reLe pubbllca), enLreranno nella reLe locale e lnflne saranno rlspuLaLl fuorl su 81 per
essere lnsLradaLl verso la reLe pubbllca.
ll vanLagglo dl Lale modo dl procedere sLa nel faLLo che a llvello del rouLer 81 poLrebbe essere
plazzaLo un flrewall per conLrollare che le operazlonl effeLLuaLe con desLlnazlone sull'lnLerneL
pubbllco slano effeLLlvamenLe consenLlLe. Lo svanLagglo e lnvece che se la macchlna C e a 1orlno,
la sede cenLrale e ln Amerlca e ll desLlnaLarlo e a Mllano, dl faLLo ll paccheLLo fa un vlagglo
davvero Lroppo lungo rlspeLLo a quello che ln realLa sarebbe necessarlo.

! DIS1kI8U1LD (Vo|untary connect|on)
Supponendo dl avere un Lunnel aperLo, quando uso un desLlnaLarlo che non fa parLe della vn ll
messagglo non passa aLLraverso ll Lunnel ma vlene dlreLLamenLe lnsLradaLo a desLlnazlone
usando escluslvamenLe l meccanlsml della reLe pubbllca.



l paccheLLl lnvlaLl dal 8emoLe branch che hanno come desLlnaLarlo ll quarLler generale vlagglano
nel Lunnel, menLre quelll avenLl come desLlnaLarlo un qualunque uLenLe della reLe pubbllca
vengono lnsLradaLl dlreLLamenLe verso dl essa dal rouLer 81. l vanLaggl/svanLaggl relaLlvl a Lale
Llpo dl approcclo sono slmmeLrlcl rlspeLLo a quelll del precedenLe.


ossono lnolLre essere dlsLlnLl due dlversl modelll dl messa ln opera delle vn:

! Modello CVLkLA:
La vn vlene cosLrulLa senza che la reLe che le offre supporLo lnfrasLruLLurale ne sla consapevole.
Come soLLollneaLo dalla seguenLe lmmaglne

ln Lal caso l'organlzzazlone deve dlsporre dl lnfrasLruLLure proprle (esLerne alla reLe) per la
gesLlone del Lunnel (vn CaLeway) e alla reLe pubbllca soLLosLanLe vlene rlchlesLo solo ll servlzlo
dl conneLLlvlLa l. L' lmporLanLe noLare che, per poLer decldere su quale Lunnel far vlagglare un
paccheLLo dlreLLo verso una cerLa desLlnazlone, e necessarlo che Lra l vn CaLeway sla aLLlvo un
meccanlsmo dl annunclo delle soLLoreLl del LuLLo slmlle a quello uLlllzzaLo dal rouLer l.

! Modello LLk:
nel modello LL8 ll servlzlo vn e fornlLo dall'lnLerneL pubbllco, ovvero e la reLe pubbllca che sl
occupa dl offrlre ll servlzlo dl lnsLradamenLo, dl cosLruzlone e dl annunclo del 1unnel vn.


L'uLenLe esLerno deve comunlcare all'lnfrasLruLLura dl reLe solo a quall soLLoreLl e collegaLo e
verso quall alLrl slLl sl desldera che slano aperLl del Lunnel. Cvvero chl sl Lrova al dl fuorl della reLe
vede la vn come una reLe prlvaLa vlrLuale vera e proprla.
vanLagglo del modello LL8 e che le apparecchlaLure dell'uLenLe possono LranqulllamenLe
lgnorare l'eslsLenza della vn, loro vedono sempllcemenLe una reLe normale ma che e prlvaLa.

l due modelll esposLl possono essere usaLl ovunque?
SosLanzlalmenLe ll modello LL8 non pu essere uLlllzzaLo per le reLl vn dl accesso polche quesLe sono
pluLLosLo sLaLlche. La cosLruzlone dl un Lunnel rlchlede un cerLo lLer che e abbasLanza lungo, o per lo meno
non abbasLanza breve per poLer essere conslderaLo acceLLablle nel caso ln cul l Lunnel debbano essere
chlusl e relnsLauraLl con una cerLa frequenza anche nell'arco dl un llmlLaLo perlodo dl Lempo. CuesLo e ll
caso del LelelavoraLore e/o del moblle user, che addlrlLLura poLrebbe anche collegarsl alla vn uLlllzzando
ognl volLa un dlverso lS, dl modo che per l'azlenda nn sarebbe plu sufflclenLe rlchledere ll servlzlo dl vn
ad un slngolo operaLore dl reLe. AlLro problema e anche che nelle reLl dl accesso ll Lunnel parLe dalla
macchlna dell'uLenLe e Lermlna nel vn CaLeway, ll che vlola ll vlncolo sLruLLurale ln base al quale nelle reLl
LL8 l'Lnd olnL sl Lrova all'lnLerno della reLe pubbllca. SchemaLlcamenLe



un' ulLerlore classlflcazlone suddlvlde le vn ln due caLegorle. Sl conslderl la seguenLe slLuazlone ln cul
sl vogllono collegare clnque slLl per formare un'unlca
reLe prlvaLa vlrLuale. Cgnl slLo avra un CL - Customer
Ldge, che e l'ulLlma apparecchlaLura dell'uLenLe,
dopo dl che e presenLe un L - rov|der Ldge, prlma
apparecchlaLura soLLo ll conLrollo del rovlder.
Le llnee LraLLegglaLe sono del canall da uLlllzzare ln
caso dl emergenza, menLre quelle ln azzurrlno sono
usaLe per ll rouLlng e l'lnsLradamenLo del paccheLLl
della vn aLLraverso la reLe.
Sl dlsLlnguono

! VN kCVIDLk kCVIGICNLD
la vn vlene cosLrulLa e gesLlLa dal fornlLore dl conneLLlvlLa lnLerneL. ne
consegue che le reLl cosLrulLe con modello LL8 sono cerLamenLe dl
quesLo Llpo polche l'uLenLe non pu andare a cosLrulre la vn denLro
l'lnfrasLruLLura dl reLe senza che quesLa pol sla gesLlLa anche dal rovlder.
Le reLl cosLrulLe con modello CvL8LA? possono lnvece essere rovlder rovlgloned o no. u lnfaLLl
succedere che la vera lnfrasLruLLura dl reLe sla locallzzaLa ln un'area lnLerna dellmlLaLa dalle
poslzlonl del L . ln Lal caso l L sono apparecchlaLure posLe ln casa del cllenLe, qulndl al dl fuorl
dell'lnfrasLruLLura vera e proprla, ma ammlnlsLraLe e gesLlLe da chl fornlsce ll servlzlo dl vn. ne
consegue che ll cllenLe non ha blsogno dl possedere conoscenze Lecnlche ne personale per ll
manLenlmenLo della reLe vn, polche a Lall funzlonl assolve ln LoLo ll rovlder dl reLe cul ne e sLaLa
affldaLa la cosLruzlone.

! VN CUS1CMLk kCVIGICNLD
L' l'uLenLe che sl auLo-fornlsce ll servlzlo vn.

LoglcamenLe e necessarlo che ll rovlder sla ln grado dl gesLlre plu vn dl Llpo dlverso senza mescolare ll
loro Lrafflco, nonosLanLe l'lnfrasLruLLura uLlllzzaLa sla la
sLessa per LuLLe.
CuesLo lmpllca anche la posslblllLa dl rlLrovarsl a dover
gesLlre anche slLuazlonl parLlcolarl, come ad esemplo nel
caso ln cul venga agglunLo un nuovo slLo (SlLe 6)
apparLenenLe all'organlzzazloneA (nuvole color celesLe)
collegandolo alla sLessa apparecchlaLura che funge da
rouLer dl lngresso-usclLa per una soLLoreLe apparLenenLe
alla vn dell'organlzzazlone8 (nuvole color rosso). 1ale
apparecchlaLura, nel momenLo ln cul arrlva un paccheLLo,
deve essere ln grado dl dlsLlnguere a quale delle due
soLLoreLl esso e desLlnaLo. ln parLlcolare blsogna Lener
presenLe che l paccheLLl desLlnaLl ad enLrambe le
soLLoreLl poLrebbero vlagglare all'lnLerno dello sLesso
Lunnel flno all'apparecchlaLura che ne dovra esegulre lo
smlsLamenLo. lnuLlle dlre che, al flne dl permeLLere
l'lnsLradamenLo del paccheLLl, all'agglunLa del Sl1L6 ll
corrlspondenLe CusLomer Ldge dovra provvedere ad
annunclare al rovlder Ldge quall sono le soLLoreLl della
vn conLenuLe all'lnLerno dl Lale slLo.



un'alLro modo ancora per classlflcare le vn rlguarda ll llvello proLocollare al quale sl va ad aglre per la loro
reallzzazlone:
! a LIVLLLC DA1A LINk (Llvello 2) e posslblle reallzzare una reLe locale vlrLuale (V|rtua| r|vate LAN
Serv|ce), ovvero avendo dlversl slLl geograflcamenLe dlsLrlbulLl sl pu fare ln modo che quesLl sl
comporLlno come se fossero un'unlca reLe locale globale. Se ne deduce che l'lnsLradamenLo del
frame (perche sLlamo parlando a llvello 2) Lra Lall slLl sara basaLo sull'lndlrlzzo MAC desLlnaLarlo (dl
modo che sara faLLo amplo uso del proLocollo A8, l cul messaggl broadcasL saranno propagaLl
all'lnLerno dl LuLLl l slLl che compongono la reLe locale).
Cppure a Llvello 2 sl poLrebbe anche reallzzare un servlzlo che fornlsca un collegamenLo punLo-a-
punLo vlrLuale (V|rtua| r|vate W|re Serv|ce). 1ale servlzlo pu essere uLlle nelle 8eLl dl Accesso
dove la necesslLa e quella dl collegare una macchlna uLenLe al vn CaLeway che sl Lrova nella sede
cenLrale. A Lale scopo sarebbe davvero Lroppo asLruso meLLersl ad emulare una reLe locale, scelLa
declsamenLe mlgllore e quella dl emulare sempllcemenLe un collegamenLo punLo-a-punLo, come se
ll Lermlnale dell'uLenLe fosse dlreLLamenLe collegaLo al vn CaLeway.
Sono lnflne reallzzablll del servlzl deLLl I-Cn|y LAN-||ke Serv|ce (anche quesLl emulano una reLe
locale) che lmpongono delle resLrlzlonl parLlcolarl rlguardo al paccheLLl che apparLengono a
proLocolll al dl sopra del llvello2. Ad esemplo possono essere lasclaLl passare solo l paccheLLl l (e
qulndl lCM) e A8.
! se la vn e reallzzaLa LIVLLLC kL1L (Llvello 3) le unlLa dl Lrasmlsslone sono l daLagram e le declslonl
per ll loro lnsLradamenLo sono prese ln base all'lndlrlzzo l del desLlnaLarlo. ul conseguenza solo l
proLocolll che usano l'l rlusclranno a LranslLare da un slLo all'alLro. l CL saranno del rouLers o delle
macchlne nel caso delle reLl dl accesso.
! se lnflne la vn e reallzzaLa a LIVLLLC 1kASCk1C (Llvello 4) un Lunnel e cosLrulLo uLlllzzando una
connesslone 1C (al llmlLe una connesslone slcura, qulndl 1C+SSL) e pu essere lnsLauraLo solo Lra
due macchlne uLenLe (essendo che generalmenLe ll 1C e lmplemenLaLo solo nella macchlne
uLenLe).

ueLLo quesLo, vedlamo qulndl come sono cosLrulLl l paccheLLl. Supponlamo che ln una Lradlzlonale reLe
debba essere lnvlaLo un messagglo P11, ln Lal caso ll paccheLLo sarebbe sLruLLuraLo nel modo seguenLe


se Lale paccheLLo dovesse essere ad esemplo Lrasmesso all'lnLerno dl un Lunnel cosLrulLo a llvello 4, ma che
deve emulare una connesslone punLo-a-punLo, avremmo





ovvero la sequanza delle lnLesLazlonl non segue plu un ordlne sLreLLamenLe crescenLe. Ma la cosa ln Leorla
pu ancora compllcarsl se sl pensa che, per sempllflcare l'lnsLradamenLo, LuLLl l Lunnel che hanno dlfferenLl
desLlnazlonl ma con un pezzo dl LraglLLo da percorrere ln comune possono essere posLl all'lnLerno dl un
Lunnel plu grosso. CuesLa Lecnlca per, se da un laLo comporLa una
sempllflcazlone dell'lnsLradamenLo del paccheLLl dovuLa al faLLo che
accorpando le desLlnazlonl lnLermedle sl rlducono le enLry nelle Labelle
dl rouLlng, dall'alLro lmpllca che un paccheLLo presenLera ben Lre
lnLesLazlonl, ovvero:
! uue lnLesLazlonl dl Lunnel
! una lnLesLazlone ordlnara plu lnLerna

MLSS n11 nDk n11 nDk 1C nDk I nDk MAC 1Lk MAC
MLSS n11 nDk n11 nDk 1C nDk I nDk 1Lk MAC nDk MAC nDk 1C nDk I
kC1CCCLLI Lk L'IM8US1AMLN1C
ALL'IN1LkNC DLL 1UNNLL
una rappresenLazlone rlepllogaLlva rlguardo la classlflcazlone delle 1ecnologle vn e fornlLa dalla flgura
seguenLe


dove sl pu noLare che:
! le vn cosLrulLe a llvello 2 sono rovlder rovlgloned, essendo che l'equlvalenLe del punLo-a-punLo
lo sl pu chledere al provlder ma dlfflcllmenLe l'uLenLe pu reallzzarlo da se.
! CosLruendo a llvello 3 la vn sl pu scegllere Lra un approcclo CusLomer rovlgloned e rovlder
rovlgloned.
! vn messe su a llvello 4 possono essere solo CusLomer rovlgloned, basandosl su 1C+ SSL.

er quanLo rlguarda l'aspeLLo Lopologlco, quando sl cosLrulsce una reLe prlvaLa vlrLuale sl cosLrulsce
sosLanzlalmenLe una Lopologla vlrLuale sovrapposLa a quella flslca, ovvero dl faLLo volendo cosLrulre una
vn cl sl pu dlslnLeressare LranqulllamenLe della Lopologla della reLe flslca. ossono essere classlflcaLl due
prlnclpall approccl Lopologlcl per le vn:
! nU8 AND SCkL:
l varl slLl della vn non possono comunlcare dlreLLamenLe Lra dl loro, ma solo con ll quarLler
generale. nel caso ln cul un messagglo debba essere recaplLaLo dal slLo1 al
slLo2 esso passera qulndl prlma dal quarLler generale per pol essere
lnsLradaLo verso l'effeLLlva desLlnazlone dal vn CaLeway. ne consegue
che ll rouLlng adoLaLLo e sub-oLLlmo.
Con una Lopologla dl quesLo Llpo, posLo n ll numero del slLl presenLl,
saranno cosLrulLl n-1 Lunnel. ln parLlcolare le reLl dl accesso sono LuLLe dl
quesLo Llpo, polche sl ha a che fare con un Lermlnale uLenLe che apre una
comunlcazlone con uno del vn CaLeway del quarLler generale.


! MLSn:
ln quesLo caso, magarl perche cl sl aspeLLa dl avere Lra due parLlcolarl slLl un Lrafflco abbasLanza
corposo, sl declde dl dedlcare loro un Lunnel dlreLLo per
agevolare lo scamblo dl lnformazlonl. 1ale conflgurazlone e
loglcamenLe plu compllcaLa essendo che ll numero del Lunnel
da gesLlre aumenLa, dl conLro per ll rouLlng rlsulLa oLLlmlzzaLo.










nelle vn dl Llpo 8CvluL8 8CvlClCnLu pu spesso caplLare che l'accesso ad lnLerneL venga
subordlnaLo ad un accesso alla vn (magarl perche un'azlenda che ha messo su una vn vuole che l suol
dlpendenLl accedano alla reLe pubbllca solo aLLraverso dl essa). un uLenLe remoLo ad esemplo, cercando dl
accedere ad lnLerneL, verra prlma
dl LuLLo auLenLlcaLo. A Lale scopo
eslsLe un qualche meccanlsmo dl
slcurezza lnLerno (SecurlLy Server
AAA) che, una volLa auLenLlcaLo
l'uLenLe, sapra anche ln grado dl
far presenLe che, ln base ad
accordl presl, Lale uLenLe deve
essere collegaLo ad una
parLlcolare vn. ll nAS allora
prende l'lndlrlzzo del vn
CaLeway al quale blsogna
collegarsl e va a chledere a
quesL'ulLlmo dl aprlre un Lunnel
verso l'uLenLe.
ll vn CaLeway non rlpeLe la fase
dl auLenLlcazlone gla effeLLuaLa,
ma va a carlcare l'lnsleme del
prlvllegl da assegnare al parLlcolare uLenLe e fornlsce una rlsposLa al nAS clrca la posslblllLa dl lnsLaurare ll
Lunnel (anche per effeLLuare l'accounLlng). ua quesLo punLo ln avanLl ll rovlder funge solo da
"passacarLe" polche LuLLo passa dlreLLamenLe sul Lunnel.


VN Components
Andlamo ora a vedere come sl fa a meLLere su una vn. Cuello che cl occorre e:
! qualcosa per separare l daLl della vn da LuLLl gll alLrl che clrcolano all'lnLerno della reLe pubbllca.
A Lal scopo vengono uLlllzzaLl del Lunnel.
! un meccanlsmo dl clfraLura per ll Lrafflco della vn che LranslLa sull' lnLerneL pubbllco, dl modo che
nel caso ln cul venga lnLerceLLaLo non possa essere leLLo.
! meccanlsml per poLer verlflcare l'lnLegrlLa del messaggl, per accerLarsl che non slano sLaLl
manomessl.
! un meccanlsmo per l'auLenLlcazlone: sl vuole essere slcurl, prlma dl lnsLaurare un Lunnel, che ll 1L
con ll quale lo sl aprlra sla veramenLe colul che dlce dl essere.



1unne||ng
Sl e gla parlaLo nel paragrafl precedenLl dl Lale argomenLo. nel caso S|te-to-S|te fondamenLalmenLe vl sono
due reLl locall apparLenenLl ad
una sLessa vn e per meLLerle sl
e obbllgaLl a passare aLLraverso
l'lnLerneL pubbllco. vengono
qulndl usaLl due 1L-1unnel Lnd
olnL (poslzlonaLl ognuno
all'enLraLa dl una delle due reLl)
Lra l quall vlene cosLrulLo un
Lunnel aLLraverso ll quale
saranno faLLl LranslLare l daLl scamblaLl Lra le reLl locall. un paccheLLo che LranslLa aLLraverso ll Lunnel avra
ll formaLo mosLraLo ln flgura, ovvero all'header l convenzlonale per l'lnsLradamenLo all'lnLerno della reLe
locale e agglunLo un ulLerlore header l per l'lnsLradamenLo all'lnLerno del Lunnel. ln parLlcolare ln
quesL'ulLlma lnLesLazlone gll lndlrlzzl mlLLenLe-desLlnazlone saranno quelll del 1L dl parLenza-arrlvo,
menLre nell'lnLesLazlone plu lnLerna saranno quelll delle macchlne che sono l verl mlLLenLe e desLlnaLarlo
del paccheLLo.
nel caso delle ket| d| accesso lnvece la macchlna uLenLe deve prlma dl LuLLo collegarsl all'l pubbllco,
auLenLlcandosl presso ll provlder l locale. A marglne dl Lale auLenLlcazlone rlceve un lndlrlzzo l pubbllco
(30.1.1.1). A quesLo punLo l'uLenLe LenLa dl aprlre una connesslone con ll vn CaLeway dell'azlenda avenLe
lndlrlzzo 130.192.3.2. ual momenLo ln cul
vlene aperLo ll Lunnel l'uLenLe e denLro la
vn e ll vn CaLeway gll assegnera
un'alLro lndlrlzzo l ln base al plano dl
lndlrlzzamenLo della vn (10.2.1.3).
ul conseguenza ora la macchlna uLenLe
posslede sla un lndlrlzzo pubbllco che uno
prlvaLo (che dl faLLo poLrebbe anch'esso
essere un lndlrlzzo dl Llpo pubbllco,
vorrebbe solo dlre che la vn e ln qualche
modo collegaLa con l'lnLerneL pubbllco).
volendo spedlre una rlchlesLa al Server
azlendale (10.1.1.2), Lale paccheLLo vlaggera all'lnLerno del Lunnel cosLrulLo Lra l'hosL uLenLe e ll vn
CaLeway con ll seguenLe formaLo





GkL
ll GkL- Cenerlc 8ouLlng LncapsulaLlon e uno del proLocolll usaLl per lncapsulare l Lunnel. ln parLlcolare
l'uLlllLa dl Lale proLocollo sLa nel faLLo che permeLLe dl cosLrulre Lunnel a dlversl Llpl dl llvelll, cloe non
vlncola ad avere un'alLra lnLesLazlone l dopo la prlma lnLesLazlone l. Ad esemplo qulndl, qualora sla sLaLo
cosLrulLo un Lunnel C8L per emulare un canale punLo-a-punLo, poLrel meLLere denLro Lale Lunnel un frame
.
Ma perche e necessarlo C8L? non sl pu dlreLLamenLe porre dopo la prlma lnLesLazlone l la successlva
lnLesLazlone dl proLocollo uLlllzzaLo? Lbbene, no non sl pu. 8lsogna lnfaLLl rlcordare che nel paccheLLo l
e presenLe un campo che lndlca a quale proLocollo apperLlene l'lnLesLazlone successlva ( campo
8C1CCCL ln lv4, campo nLx1 PLAuL8 ln lv6), e l valorl assegnablll a Lale campo sono per defaulL solo
relaLlvl a proLocolll dl llvello superlore a quello aLLuale. ul conseguenza cl sl Lrova ad esemplo
nell'lmposslblllLa dl lndlcare che un'lnLesLazlone l e segulLa da una . AppunLo per superare Lale llmlLe
vlene uLlllzzaLo un proLocollo dl lncapsulamenLo come ll C8L


dl modo che nell'lnLesLazlone l e presenLe un'lndlcazlone che l'lnLesLazlone che segue apparLlene al C8L,
che pol a sua volLa poLra lndlcare come successlvo un qualslasl proLocollo dl un qualslasl llvello. ln
parLlcolare l'lnLesLazlone del proLocollo C8L e cosLlLulLa dal seguenLl campl
nLADLk I
SkC: 30.1.1.1
DS1: 130.192.3.2
nLADLk I
SkC: 10.2.1.3
DS1: 10.1.1.2

MLSSAGGIC


dove:
! SLULNCL NUM8Lk: serve per numerare l daLl dl modo che sla posslblle rendersl conLo se l
paccheLLl sLanno arrlvando fuorl ordlne. l paccheLLl che arrlvano fuorl ordlne vengono scarLaLl.
! kC1CCCL: lndlca a quale proLocollo apparLlene l'header che segue quello C8L.
! kLCUk: lndlca ll faLLo che un Lunnel sla lnserlLo all'lnLerno dl un'alLro plu grande, anche se dl faLLo
non e posslblle lnserlre un Lunnel C8L all'lnLerno dl un'alLro Lunnel C8L (moLlvo per cul Lale campo
e seLLaLo a 0 dl defaulL).
! kCU1ING: lndlca una sequenza lndlrlzzl l o dl ALonoumus SysLems che devono essere aLLraversaLl
per arrlvare all'alLro 1L.

l meccanlsml messl a dlsposlzlone dal C8L sono l seguenLl:
! Contro||o d| f|usso: vlene uLlllzzaLo un meccanlsmo dl conLrollo dl flusso a flnesLra scorrevole
! k||evameto pacchett| fuor| ord|ne: l paccheLLl arrlvaLl fuorl ordlne vengono rllevaLl e scarLaLl
! 1|meout: nel caso ln cul sla prevlsLo un meccanlsmo dl acknowledgmenL per la rlLrasmlsslone dl
paccheLLl, ll LlmeouL per la rlLrasmlsslone vlene calcolaLo con un meccanlsmo slmlle a quello del 1C
! Conto||o d| congest|one: nel momenLo ln cul sl rllavano molLl LlmeouL sl procede a dlmlnulre la
veloclLa dl lmmlsslone dl daLl nella reLe.


V|rtua| D|a|-Up
AlLrl proLocolll per ll 1unnellng quall ll 1 o l'L21 permeLLono la cosLruzlone dl reLl dl accesso deLLe
V|rtua| D|a|-Up, ovvero quello che sl vuole vlrLuallzzare e la chlamaLa da una sede remoLa verso uan sede
cenLrale. ln Lale conLesLo e necessarlo che slano fornlLl meLodl per:
! Autent|caz|one: polche l Lunnel vengono aperLl e chlusl con una cerLa frequenza, e ognl volLa che
un Lunnel vlene rlaperLo blsogna accerLarsl che chl ne rlchlede l'aperLura sla una persona
auLorlzzaLa a farlo. Ad assolvere a Lale manslone e ll vn CaLeway, sulla base dl lnformazlonl che
possono per essere memorlzzaLe alLrove (ad esemplo sul Server AAA).
! Autor|zzaz|one: una volLa auLenLlcaLo un'uLenLe ll vn CaLeway deve andare a vedere quall sono l
permessl (ln Lermlnl dl operazlonl che pu svolgere) assoclaLl. 1e lnformazlonl su Lall permessl
poLrebbero ancora una volLa essere memorlzzaLe alLrove (ad esemplo su un Server AAA).
! A||ocaz|one d| |nd|r|zz|:l'uLenLe, una volLa auLenLlcaLo e che gll sono sLaLl noLlflcaLl l suol permessl,
ha blsogno che gll sla assegnaLo dal vn CaLeway un lndlrlzzo lnLerno della vn. 1ale lndlrlzzo pu
essere dl Llpo prlvaLo o pubbllco, a seconda che Lale uLenLe abbla blsogno dl accedere o meno
all'lnLerneL pubbllco (ln caso sla usaLo un nA1 l'uLenLe pu andare sulla reLe pubbllca anche con un
lndlrlzzo prlvaLo).
vedlamo una LraLLazlone plu deLLagllaLa del proLocolll suddeLLl:

L21 (Layer 2 1unne||ng rotoco|)

1ale proLocollo e sLaLo pensaLo per uno scenarlo ln cul ll servlce rovlder meLLe a dlsposlzlone un servlzlo
per macchlne lsolaLe. non sl preoccupa del problema della slcurezza lnLesa come prlvaLezza della
comunlcazlone, bensl a Lale scopo uLlllzza un proLocollo quale l'lSec.
ln parLlcolare lo scenarlo che aveva ln menLe chl ha reallzzaLo l'L21 e una reLe dl accesso alla vn dl Llpo
rovlder rovlgloned, ln cul qulndl
fosse ll rovlder a fornlre LuLLl l
meccanlsml per l'accesso alla vn. 1all
meccanlsml prevedono l'lmplego dl
! LAC - L21 Access Concentrator
! LNS - L21 Network Server
un LnS alLro non e che un vn
CaLeway per l'L21. un LAC e lnvece un
concenLraLore ln grado dl acceLLare dlverse connesslone da uLenLl dlfferenLl e dl lnvlare l loro daLl su Lunnel
verso uno sLesso LnS. 1ra la macchlna uLenLe e ll LAC e usaLo ll , un proLocollo dl llvello 2 pensaLo per
comunlcazlonl dl Llpo punLo-a-punLo, menLre Lra ll LAC e l'LnS sl aprono l verl e proprl Lunnel (un canale dl
conLrollo e uno o plu Lunnel per l daLl).
Lo sLack dl proLocolll uLlllzzaLo dall'L21 e ll seguenLe

ln verlLa ce ne sono due dl sLack: lo sLack dl desLra e uLlllzzaLo per l messaggl dl conLrollo della Lrasmlsslone
(Lra ll LAC e l'LnS), quello dl slnlsLra e uLlllzzaLo lnvece per l daLl. Anallzzando lo sLack dl slnlsLra sl pu
noLare che quello che frulsce all'lnLerno del Lunnel daLl sono del frame , dl modo che se ne deduce che
l'L21 non fa alLro che emulare una connesslone dl Llpo punLo-a-punLo Lra la macchlne dell'uLenLe e ll vn
CaLeway LnS. ll LuLLo poggla su una serle dl proLocolll quall ad esemplo l'uu, dl modo che ll Llplco formaLo
dl un paccheLLo L21 e ll seguenLe


dove nell'header l gll lndlrlzzl desLlnaLarlo-mlLLenLe sono quelll dell'LnS-LAC. Supponendo che sl LraLLl dl
un paccheLLo dl daLl e non dl un paccheLo dl conLrollo, nel campo uA1A sara presenLe un'lnLesLazlone ,
segulLa da una l eLc eLc essendo che ll e un proLocollo dl llvello 2. ll formaLo dell'lnLesLazlone L21 e
lnvece ll seguenLe, dove ll blL del campo 1 assume valore
! 0 - se sl LraLLa dl un messagglo daLl
! 1 - se sl LraLLa dl un messagglo dl conLrollo

er quanLo rlguarda l campl Sess|onID e 1unne|ID, nell'L21 e prevlsLo che ll LAC possa fornlre ll
collegamenLo verso uno sLesso LnS per plu uLenLl. Cuando ll prlmo uLenLe sl presenLa sl apre ll Lunnel
(Lubo grosso) e dl conseguenza
una conLrol connecLlon per la
sua gesLlone. usando del
messaggl dl conLrollo sulla
conLrol connecLlon e posslblle
rlchledere l'aperLura dl una o
plu sesslonl daLl, clascuna delle
quall corrlsponde ad un uLenLe
che rlchlede un collegamenLo
verso lo sLesso LnS. Se ne
deduce che nella Lermlnologla L21 ll 1unnLL ldenLlflca LuLLo ll collegamenLo Lra LAC e LnS all'lnLerno del
quale flulsce pol sla la conLrol connecLlon che un cerLo numero dl sesslonl daLl (ldenLlflcaLe appunLo dal
campo Sesslonlu all'lnLerno dell'header). ua noLare e lnolLre che un LAC poLrebbe avere plu Lunnel ln
usclLa verso dlfferenLl LnS (ldenLlflcaLl dal campo 1unnellu all'lnLerno dell'header).
ualla presenza del campl Ns (sequence number) e Nr sl deduce lnolLre che vlene effeLLuaLo un qualche
sorLa dl acknowledgmenL del paccheLLl. ll campo ns rappresenLa lnfaLLl ll sequence number del paccheLLo
correnLe, menLre nr fornlsce un'lndlcazlone rlguardo ll sequence number del paccheLLo per ll quale sl sLa
aLLendendo rlsconLro. 1ale meccanlsmo e per dl faLLo uLlllzzaLo solo per quanLo rlguarda l messaggl dl
conLrollo, e ln parLlcolare vlene uLlllzzaLo un meccanlsmo dl rlLrasmlsslone seleLLlva.
nel momenLo ln cul vlene aperLo un Lunnel e posslblle auLenLlcare chl sl Lrova dall'alLro capo. A Lal scopo
vlene condlvlso un "segreLo" che blsogna dlmosLrare dl conoscere per essere
auLenLlcaLl, secondo un meccanlsmo deLLo CPA-llke. 1ale meccanlsmo conslsLe nella
spedlzlone dl 8 ad A (che vuole auLenLlcarsl) dl un numero 8 scelLo a caso all'lnLerno dl
un range abbasLanza amplo. 8 sl aspeLLa che A prenda 8, lo clfrl con la sua chlave
segreLa e gllelo rlspedlsca. ln Lal modo, se 8 declfrandolo rlLrova ll numero 8 che aveva
spedlLo ad A, allora e slcura dell'ldenLlLa della conLroparLe. una volLa superaLa quesLa
fase dl auLenLlcazlone le conLroparLl sl scamblano ll proprlo Loca|ID polche l LAC e gll
LnS numerano l Lunnel che vengono lnsLauraLl ln base agll ldenLlflcaLlvl che al momenLo erano dlsponlblll,
dl modo che uno sLesso Lunnel poLrebbe essere ldenLlflcaLo con due numerl dlfferenLl laLo-LAC e laLo-LnS.
1 (o|nt-to-o|nt rotoco|)

ll proLocollo 1 e slmlle all'L21 appena vlsLo, l'unlca vera dlfferenza e che ll LAC e lnglobaLo all'lnLerno
della macchlna uLenLe. Culndl pol c'e un NS - 1
Network Server, corrlspeLLlvo dell'LnS del
proLocollo L21. ln parLlcolare ll faLLo che ll Lunnel
parLa dlreLLamenLe dalla macchlna uLenLe fa sl che
cl sla un unlco Lunnel daLl che sl apre dopo
l'lnsLaurazlone del canale dl conLrollo.
Anche ll 1 prevede la spedlzlone aLLraverso ll
Lunnel dl frame , essendo un proLocollo dl
Lunnellng per reLl dl accesso che slmulano un
collegamenLo dl Llpo punLo-a-punLo Lra la macchlna uLenLe e ll vn CaLeway azlendale.
ll formaLo del frame 1 per l messaggl dl conLrollo e ll seguenLe

dalla cul osservazlone sl pu dedurre che l messaggl dl conLrollo 1 vlagglano su una connesslone 1C.
er quanLo rlguarda l messaggl dl daLl ll formaLo e lnvece ll seguenLe

l campl dell'lnLesLazlone 1 sono lnflne l seguenLl

Lncrypt|on
Aprlamo ora una breve parenLesl rlguardo la clfraLura e come quesLa pu essere usaLa per l'auLenLlcazlone,
per la prlvaLezza e l'lnLegrlLa del messaggl. laLLo quesLo sl poLra qulndl pol dlscuLere ll proLocollo lSec.
l probleml che sl rlescono ad affronLare uLlllzzando la clfraLura sono l seguenLl:

! k|servatezza: vogllo che l mlel messaggl, se anche fossero lnLerceLLaLl da una Lerzl, slano codlflcaLl
ln modo Lale da non rlsulLare a loro comprenslblll.
! Autent|caz|one: vogllo essere slcuro, duranLe uno scamblo dl daLl, che ll mlLLenLe dl quesLl ulLlml sla
realmenLe chl dlce dl essere.
! Integr|t: vogllo essere slcuro che l messaggl che rlcevo non slano sLaLl manlpolaLl duranLe ll
LraglLLo sulla reLe. ua quesLo derlva la "non rlpudlablllLa", ovvero se sl rlesce a dlmosLrare che un
messagglo e lnLegro allora ll mlLLenLe non poLra rlpudlarlo (polche non e sLaLo manlpolaLo ne
duranLe ll percorso sulla reLe ne dopo la rlcezlone).
Ma come avvlene la clfraLura?
un messagglo 'm' (ln chlaro) vlene faLLo passare aLLraverso un meccanlsmo dl clfraLura che ha due lnpuL: ll
messagglo da clfrare e una chlave dl clfraLura k
L
. 1ale meccanlsmo alLro non e che un algorlLmo
maLemaLlco che produce come rlsulLaLo L(k
L
,m), che dl faLLo e quello che arrlva al desLlnaLarlo.
CuesL'ulLlmo opera un meccanlsmo dl declfraLura che prende ln lnpuL appunLo L(k
L
,m) plu una chlave dl
declfraLura. CuLpuL della declfraLura deve essere ll messagglo lnlzlale m.

ua noLare e che L, u, k
L
e k
u
devono essere scelLl ln manlera Lale che non solo resLlLulscano a desLlnazlone
m qualunque sla l'm dl parLenza, bensl anche Lall che se non sl conosce k
u
ma sl conosce LuLLo ll resLo non
sl rlesca a rlcavare m, oppure conoscendo m non sl rlesca a rlcavare k
u
. Se ne deduce che la slcurezza
dell'algorlLmo rlposa sul faLLo che la chlave k
u
deve essere segreLa, dl modo che l'algorlLmo maLemaLlco ln
se per se pu anche essere pubbllco.
l meccanlsml dl crlLLografla possono essere dlsLlnLl ln due caLegorle:
! Meccan|sm| d| c|fratura a CnIAVL U88LICA:
ln Lal caso le chlavl k
L
e k
u
sono dlverse, seppur legaLe Lra loro da una qualche relazlone
maLemaLlca. k
L
vlene reso pubbllco, menLre k
u
deve resLare segreLo. ln Lal modo LuLLl possono
scrlvere ad un cerLo desLlnaLarlo (clfrando l messaggl medlanLe la chlave pubbllca k
L
) ma dl faLLo
solo quesL'ulLlmo poLra leggere Lall messaggl essendo l'unlco a conoscenza della chlave dl
declfraLura k
u
. ual punLo dl vlsLa compuLazlonale Lale meccanlsmo e plu dlfflclle da reallzzare ma
presenLa una sempllflcazlone non lndlfferenLe per quanLo rlguarda la dlsLrlbuzlone delle chlavl.
! Meccan|sm| d| c|fratura a CnIAVL kIVA1A:
ln quesLo caso rlsulLa che k
L
=k
u
, dl modo che appunLo k
L
deve rlmanere segreLa. ln vlrLu del faLLo
che la chlave usaLa per la clfraLura e uguale a quella usaLa per la declfraLura, Lall algorlLml vengono
anche deLLl "a chlave slmmeLrlca". ln parLlcolare quesLl sono molLo sempllcl da reallzzare (gran
parLe possono perflno essere reallzzaLl ln hardware) ma comporLano la dlfflcolLa dl dlsLrlbulre
segreLamenLe le copple dl chlavl aLLraverso la reLe.
ueLLo quesLo, al momenLo dell'aperLura dl una sesslone l'auLenLlcazlone della conLroparLe pu essere faLLa
uLlllzzando un algorlLmo a chlave pubbllca (che e sl plu pesanLe, ma ln quesLa fase dl faLLo blsogna clfrare
solo plccoll blocchl dl daLl). una volLa effeLLuaLa l'auLenLlcazlone, duranLe la quale sara sLaLa avvlaLa la
condlvlslone dl un "segreLo comune" ln manlera slcura, e posslblle esLrarre una cerLa sequenza dl blL dal
"segreLo comune" medlanLe la quale generare una chlave prlvaLa slmmeLrlca. ua quesLo punLo ln pol sl
usera qulndl un meccanlsmo a chlave prlvaLa, ln vlrLu della sua magglore efflclenza.
l meccanlsml a chlave pubbllca godono della seguenLe proprleLa
u(k
u
,L(k
L
,m)) = m = L(k
L
,u(k
u
,m))
dove la parLe dl slnlsLra e uLlllzzablle per garanLlre rlservaLezza, menLre la parLe dl desLra per garanLlre
auLenLlcazlone e lnLegrlLa (polche solo u pu scrlvere ll messagglo m ma LuLLl possono leggere e verlflcare
che m sla sLaLo scrlLLo correLLamenLe).
L'auLenLlcazlone pu qulndl avvenlre nel modo seguenLe: A manda a 8 un feedback rlguardo la sua
ldenLlLa, cul 8 rlsponde lnvlando una "sflda" 8 (un numero scelLo a caso
ln un lnLervallo sufflclenLemenLe amplo). La rlsposLa aLLesa da 8 e 8
clfraLo con la chlave segreLa dl A, al quale appllchera la chlave pubbllca
dl A per vedere se quello che oLLlene e l'8 che aveva lnvlaLo pocanzl. ll
problema dl Lale meccanlsmo sLa nel modo ln cul 8 dovrebbe oLLenere
la chlave pubbllca dl A, polche chlunque poLrebbe lnLerporsl Lra A e 8
(dopo aver snlffaLo l'lnformazlone 8) fornendo a quesL'ulLlmo la proprla
chlave pubbllca. La soluzlone sLa nell'uLlllzzo dl cerLlflcaLl che aLLesLlno la corrlspondenza Lra una cerLa
chlave pubbllca e un l'lndlvlduo del quale sl ha blsogno dl verlflcare l'lndenLlLa.
La cosLruzlone dl un segreLo comune pu lnvece avvenlre nel seguenLe modo: A e 8 scelgono a caso due
numerl x e y. A calcola k=(g
x
mod n) e 8
calcola P=(g
y
mod n) dopo dl che sl
scamblano Lale qunLlLa calcolaLa. un
fanLomaLlco lnLerceLLaLore che rlusclsse a
snlffare k, se anche sapesse quanLo
valgono g ed n, non rlusclrebbe a
calcolare x (non eslsLe un algorlLmo che
permeLLe dl rlsolvere quell'equazlone), lo
sLesso vale nel caso ln cul lnLerceLLasse P,
non rlusclrebbe a calcolare y. A, rlcevuLo
P, calcola (P
x
mod n)=(g
xy
mod n). 8, dal
canLo suo, rlcevuLo k calcola (k
y
mod n)=(g
xy
mod n). Culndl A e 8, seppur non a conoscenza ognuno del
numero scelLo dall'alLro (x/y), hanno dl faLLo calcolaLo una quanLlLa comune. ua Lale quanLlLa e posslblle
esLrarre una sequenza dl blL dalla quale rlchlavare la chlave
segreLa. Ad ognl sesslone dl comunlcazlone, al flnl della
slcurezza, Lale operazlone vlene rlpeLuLa.
lnflne vedlamo come e posslblle verlflcare l'lnLegrlLa dl un
messagglo: sl prende un messagglo m e lo sl fa passare
aLLraverso una funzlone dl Pash P che ne rlcava un
Message ulgesL (anche deLLo llngerprlnL) dl lunghezza
flssa. ll message dlgesL vlene clfraLo con la chlave segreLa dl
A e vlene pol concaLenaLo al messagglo m, e quesLo e
quello che glunge al desLlnaLarlo. 8 prlma dl LuLLo separa m dal message dlgesL, dopo dl che fa rlpassare m
nella funzlone dl Pash e declfra ll message dlgesL usando la chlave pubbllca dl A. Se l due rlsulLaLl oLLenuLl
da 8 sono ldenLlcl allora ll messagglo non e sLaLo alLeraLo. La proprleLa che deve avere la funzlone dl hash e
che, conoscendo ll flngerprlnL dl m, deve essere esLremamenLe dlfflclle rlusclre a generare un messagglo
m' che abbla quello sLesso flngerprlnL.


ISec
uno del probleml plu grossl delle vn e la fornlLura dl opporLune garanzle dl slcurezza. l prlnclpall probleml
che rlguardano la slcurezza possono essere schemaLlzzaLl ln:

! k|servatezza: e la capaclLa dl Lenere rlservaLa una comunlcazlone, nel caso dl comunlcazlonl non
proLeLLe un banale packeL snlffer posLo su una reLe azlendale e ln grado dl caLLurare LuLLo ll Lrafflco
che scorre Lra qualunque hosL, con le ovvle lmpllcazlonl sulla prlvaLezza della comunlcazlone.
! Integr|t: e la capaclLa dl garanLlre che ln una comunlcazlone verranno recaplLaLl al desLlnaLarlo
esaLLamenLe l daLl spedlLl dal LrasmeLLlLore. CuesLo evlLa, ad esemplo, che una comunlcazlone
venga modlflcaLa all'lnsapuLa del due end-polnLs.
! Autent|caz|one: e la capaclLa dl asslcurarsl dell'ldenLlLa dell'alLro lnLerlocuLore. ll furLo dell'ldenLlLa,
ossla lo spacclarsl per qualcun'alLro complendo azlonl alla sua lnsapuLa (ad esemplo spacclarsl per ll
slLo web dl una banca, caLLurando qulndl l daLl degll uLenLl che sl rlvolgono onllne per fare
un'operazlone).

ll proLocollo ISec e una soluzlone proposLa ln amblLo lL1l che sl pone ad un llvello dl proLezlone
lnLermedlo Lra l'l e l proLocolll dl llvello 4, permeLLendo la gesLlone della slcurezza su LuLLo ll payload l e
alcunl campl del paccheLLo l sLesso. L'lSec, vlsLo rlspeLLo all'lv4, e un proLocollo separaLo polche l
probleml dl slcurezza sono naLl ln un momenLo successlvo rlspeLLo alla sLandardlzzazlone del proLocollo l.
er quanLo rlguarda l'lv6 lnvece le funzlonallLa dell'lSec sono sLaLe lncluse all'lnLerno della speclflca del
proLocollo sLesso.
lSec, avendo plu modallLa dl funzlonamenLo, deflnlsce un nuovo seL dl headers che devono essere
agglunLl al paccheLLo l. CuesLl nuovl headers sono poslzlonaLl dopo l'header l e prlma dell'header dl
llvello 4 e possono essere dl due Llpl:

! lnLesLazlone An (Autent|cat|on neader rotoco|): posLa Lra l'lnLesLazlone l e ll carlco uLlle del
daLagram l, asslcura l'lnLegrlLa e l'auLenLlcazlone del daLl, comprenslvl anche del campl non
varlablll (Source l address, ...) all'lnLerno dell'header l sLesso, menLre non fornlsce servlzl dl
confldenzlallLa. ul conseguenza se qualcuno rlusclsse a caLLurare del daLagram non poLrebbe
alLerarll, ma poLrebbe leggerne ll conLenuLo. er segnalare la presenza dl Lale lnLesLazlone nel
campo roLocol dell'lnLesLazlone l e lndlcaLo ll valore 31.
SosLanzlalmenLe l'lnLesLazlone AP conLlene:

! un ldenLlflcaLore dl una connesslone lSec, deLLa Secur|ty Assoc|at|on.
! ll message dlgesL del messagglo calcolaLo dal mlLLenLe e clfraLo uLlllzzando la sua chlave segreLa.
! un campo che speclflca dl che Llpo e ll nexL Peader (1C,uu,lCM).



! lnLesLazlone LS: asslcura confldenzlallLa, lnLegrlLa e auLenLlcazlone. A dlfferenza dell'AP, l'lnLegrlLa
non comprende l campl lnvarlanLl all'lnLerno dell'header l. ln quesLo caso olLre all'header vlene
plazzaLo anche un Lraller che funge da paddlng, dl modo che ll daLagram ragglunga una lunghezza
che sla mulLlplo dl una cerLa quanLlLa. uopo ll Lraller lnolLre vl e qualcosa dl slmlle all'lnLesLazlone
AP, che conLlene ll flngerprlnL del daLl clfraLo con la chlave segreLa del mlLLenLe (per fornlre
auLenLlcazlone del mlLLenLe). er segnalare la presenza dl un'lnLesLazlone LS nel campo roLocol
dell'lnLesLazlone l e lndlcaLo ll valore 30.



CuesLl due Llpl dl headers possono essere uLlllzzaLl lndlpendenLemenLe uno dall'alLro e possono addlrlLLura
essere uLlllzzaLl conLemporaneamenLe (anche se e un caso pluLLosLo raro). ua plu parLl sl sosLlene che ll
proLocollo AP sla ln realLa rldondanLe, ln quanLo la sLessa funzlonallLa e coperLa anche da LS. 1uLLavla ll
worklng group ln lL1l ha rlLenuLo necessarla la sLandardlzzazlone dl ambedue le modallLa.
lSec non deflnlsce l'algorlLmo dl slcurezza (clfraLura, ...) speclflco da uLlllzzare ma fornlsce un modo per
lndlcare qual e l'algorlLmo prescelLo, consenLendo l'uLlllzzo degll algorlLml plu consonl alle eslgenze del
momenLo. Ad esemplo l'lnLegrlLa vlene normalmenLe conLrollaLa facendo uso degll algorlLmo Mu3 (8SA
uaLa SecurlLy) o SPA (Secure Pash AlgorlLhm), menLre la crlLLografla e spesso faLLa medlanLe uLS (uaLa
LncrypLlon SLandard). Lo sLandard prevede comunque anche gll algorlLml luLA, 8lowflsh e 8C4. SLanLe la
dlversa complesslLa compuLazlonale Lra gll algorlLml a chlave pubbllca e quelll slmmeLrlcl, lSec uLlllzza l
prlml solamenLe nella fase dello scamblo delle chlavl (auLenLlcazlone della conLroparLe), qulndl vlene
negozlaLa una chlave dl sesslone che verra uLlllzzaLa dagll algorlLml Lradlzlonall per la crlLLografla del
canale.

SposLlamo ora la nosLra aLLenzlone sugll aspeLLl del proLocollo lSec lnerenLl ll suo uLlllzzo all'lnLerno delle
vn. Come e faclle lmmaglnare un canale lSec vlene sLablllLo Lra due vn CaLeway. olche l'lSec e un
proLocollo abbasLanza compllcaLo da manegglare, sl presLa all'uLlllzzo con conflgurazlonl vn dl Llpo slLe-
Lo-slLe. ln vn d'accesso lnfaLLl la macchlna uLenLe dovrebbe sobbarcarsl l'onore della creazlone e
conflgurazlone del Lunnel lSec, che e un'operazlone che ha una cerLa complesslLa. l servlzl fornlLl vanno
dall'lncapsulamenLo alla crlLLografla del carlco daLl, all'auLenLlcazlone del mlLLenLe.


lSec supporLa due modallLa operaLlve:
! 1kANSCk1 MCDL:
prevede che venga conslderaLo solamenLe ll payload l, lasclando lnLaLLo l'header l orlglnale.
CuesLa modallLa ha ll preglo dl lnserlre un basso overhead (pochl byLes per ognl paccheLLo) e dl
lasclare lnalLeraLo l'header l, uLlle ad esemplo per fornlre un mlnlmo quallLa del servlzlo al
paccheLLl ln LranslLo ln quanLo almeno gll lndlrlzzl l sorgenLe e desLlnazlone sono lasclaLl ln chlaro.
Sla "LransporL daLa" un segmenLo 1C o uu, sl pu usare ad esemplo dlreLLamenLe l'LS (ll blocco
del daLl provenlenLl dal llvello superlore vlene lnfaLLl lnserlLo Lra un'lnLesLazlone ed una coda). ll
LuLLo vlene pol lnserlLo ln un paccheLLo l. L'lnLesLazlone l loglcamenLe non pu essere clfraLa,
polche ln Lal caso non sarebbe legglblle anche al rouLer, che per hanno blsogno delle lnformazlonl
conLenuLe per effeLLuare l'lnsLradamenLo del paccheLLl.



! 1UNNLL MCDL:
prevede che l'lnLero paccheLLo l venga crlpLaLo, dlvenLando a sua volLa ll payload dl un nuovo
paccheLLo l generaLo ex-novo. CuesLa modallLa e declsamenLe plu slcura (lo snlfflng e
praLlcamenLe lnuLlle ln quanLo non c'e modo dl rlsallre al verl mlLLenLe e desLlnaLarlo del
paccheLLo) e offre la posslblllLa ad una enLlLa lnLermedla (ad esemplo un rouLer) dl aLLlvare lSec
sul paccheLLl ln LranslLo per conLo del cllenL. lnfaLLl ll nuovo paccheLLo avra un nuovo header l,
conLenenLe l due esLreml del Lunnel come lndlrlzzl l sorgenLe e desLlnazlone, consenLendo qulndl
la crlLLografla a chlave pubbllca a nome del rouLer lnLermedlo. Crazle al suol vanLaggl dl
conflgurazlone, ll 1unnel Mode e usaLo plu spesso del 1ransporL Mode.



vedlamo qulndl un esemplo dl uLlllzzo dl Lale modallLa: supponlamo dl avere due Lronconl dl reLe
prlvaLa Lra l quall sara aperLa una connesslone. All'alLezza del vn CaLeway laLo mlLLenLe vlene
esegulLo, come descrlLLo pocanzl, l'lncapsulamenLo del daLl da spedlre aLLraverso la SecurlLy
AssoclaLlon (Lunnel basaLo su lSec) verso ll vn CaLeway dl desLlnazlone. nell'lnLesLazlone l plu
esLerna gll lndlrlzzl mlLLenLe-desLlnaLarlo saranno quelll del due vn CaLeway, menLre
l'lnformazlone sul verl mlLLenLe-desLlnaLarlo all'lnLerno della vn e lndlcaLa nell'lnLesLazlone l plu
lnLerna. CuesL'ulLlma, ln vlrLu del meccanlsml lSec, una volLa nel Lunnel, sara clfraLa e qulndl
lllegglblle a chlunque rlusclsse a lnLerceLLare ll daLagram sulla reLe pubbllca. A desLlnazlone vlene
effeLLuaLa l'operazlone lnversa, l daLl vengono esLraLLl e ne vlene verlflcaLa l'lnLegrlLa medlanLe ll
meccanlsmo del flngerprlnL. una volLa aLLesLaLa l'lnLegrlLa del messagglo, ll daLagram l vlene
lmmesso sul segmenLo prlvaLo della reLe.



Come gla accennaLo, lSec sl basa su delle connesslonl vlrLuall deflnlLe SA - Secur|ty Assoc|at|on che
possono essere deflnlLe come una relazlone Lra due o plu enLlLa che descrlve come quesLe uLlllzzano l
servlzl dl slcurezza per comunlcare. La SA e unldlrezlonale, ll che slgnlflca che per una normale
comunlcazlone (bldlrezlonale) servlranno due SA dlsLlnLe. Cgnl qualvolLa sl voglla sLablllre una SA e prlma
necessarlo auLenLlcarsl ed aprlre una SA dl conLrollo.
Come lllusLraLo dalla flgura soLLosLanLe, le lnformazlonl necessarle per l'uLlllzzo della securlLy assoclaLlon
sono, laLo mlLLenLe, le seguenLl:

! desLlnaLarlo della securlLy assoclaLlon
! proLocollo uLlllzzaLo (nell' esemplo e 1unnel Mode con lnLesLazlone LS)
! Llpo dl algorlLmo dl Pash usaLo per ll calcolo del flngerprlnL (SPA-1) e la chlave segreLa (x
S
) usaLa
per la clfraLura dl quesL'ulLlmo.
! l'algorlLmo dl clfraLura (uLS) usaLo per l paccheLLl ln usclLa e la relaLlva chlave segreLa (y)

A desLlnazlone, per la medeslma securlLy assoclaLlon, 8 deve essere a conoscenza delle seguenLl
lnformazlonl:

! mlLLenLe della securlLy assoclaLlon
! proLocollo uLlllzzaLo
! algorlLmo dl Pash uLlllzzaLo e chlave pubbllca x

per la verlflca dl quesL'ulLlmo


! algorlLmo dl clfraLura uLlllzzaLo e relaLlva chlave segreLa (y, uguale a quella dl clfraLura) per la
declfraLura

Ma come avvlene la condlvlslone del parameLrl comunl?
LslsLe un proLocollo apposlLo, uLlllzzaLo per l'aperLura e la manuLenzlone delle SecurlLy AssoclaLlon, deLLo
IkL- Internet key Lxchange. Lsso prevede che lnnanzlLuLLo venga sLablllLa una securlLy assoclaLlon Lra
mlLLenLe e desLlnaLarlo, all'lnLerno della quale vengono scamblaLl una serle dl messaggl per far parLlre alLre
securlLy assoclaLlon, uLlllzzaLe per ll LrasferlmenLo del daLl verl e proprl.
LvenLuall chlavl che saranno uLlllzzaLe ln quesLe ulLlme sono esLraLLe da un segreLo comune sLablllLo
all'lnLerno della SecurlLy
AssoclaLlon lnlzlale (dl
conLrollo).
Ma come vlene sLablllLa la SA
dl conLrollo? Sl uLlllzza ll
proLocollo ISAkM - Internet
Secur|ty Assoc|at|on key
Management rotoco|, ln
base al quale lnlzlalmenLe ll
mlLLenLe spedlsce al
desLlnaLarlo due gruppl dl parameLrl opzlonall (lnerenLl l'algorlLmo a chlave segreLa, l'algorlLmo per ll
calcolo dell'hash, ll meccanlsmo sul quale basare ll segreLo comune e ll meccanlsmo per l'auLenLlcazlone
reclproca). ll desLlnaLarlo comunlca quale del due gruppl preferlsce. A quesLo punLo qulndl sl scamblano le
proprle chlavl pubbllche con cerLlflcaLo, ln modo da poLer accerLare l'ldenLlLa l'uno dell'alLro. Cl sl scambla
lnflne del daLl flrmaLl per l'auLenLlcazlone (ad esemplo pu essere usaLo ll meccanlsmo dl sflda LraLLaLo
precedenLemenLe).

vedlamo ora come l meccanlsml descrlLLl lnLeraglscono con llrewall, nA1 e vn CaLeway.
er quanLo rlguarda l llrewall e l vn CaLeway, Lall apparaLl sono dl sollLo plazzaLl nel punLl dl conLaLLo Lra
la reLe pubbllca e una reLe prlvaLa. LslsLono quaLLro posslblll conflgurazlonl che possono essere rlsconLraLe:

! INSIDL:
ll flrewall e messo a proLezlone del vn CaLeway. ll problema dl Lale conflgurazlone sLa nel faLLo
che ll flrewall sl Lrova lmposslblllLaLo ad appllcare le proprle regole dl fllLragglo polche non rlesce a
leggere l verl lndlrlzzl mlLLenLe e desLlnaLarlo del daLagram ln arrlvo. CuesLo dlpende dal faLLo che
ln 1unnel Mode Lall lndlrlzzl sono speclflcaLl nell'lnLesLazlone l plu lnLerna, che e clfraLa e qulndl
non legglblle. nell'lnLesLazlone l plu esLerna sono lndlcaLl solo gll lndlrlzzl mlLLenLe-desLlnaLarlo del
due vn CaLeway che reallzzano ll Lunnel fungendo da 1L. ll vanLagglo dl Lale conflgurazlone e
lnvece che ll vn CaLeway pu essere proLeLLo da messaggl lnvlaLl per reallzzare un aLLacco dl Llpo
uenlal-of-servlce.
! AkALLLL:
l flle provenlenLl dalla reLe vengono conLrollaLl ln parallelo dal vn CaLeway e dal llrewall. 1ale
conflgurazlone presenLa evldenLl llmlLl, polche ancora ll flrewall non e ln grado dl reperlre le
lnformazlonl per aLLuare ll fllLragglo e ll vn CaLeway vlene oberaLo dl lavoro per esamlnare l
daLagram ln arrlvo.
! CU1SIDL:
ll llrwall e posLo dleLro ll vn CaLeway (lnverso rlspeLLo alla conflgurazlone lnSluL). ln quesLo caso
ll lrewall e capace dl vedere l verl lndlrlzzl mlLLenLe-desLlnaLarlo polche l daLagram, aLLraversando ll
vn CaLeway, sono sLaLl declfraLl e sono sLaLe ellmlnaLe l'lnLeLazlonl plu esLerne (che rellzzavano
l'lncapsulamenLo necessarlo per ll LrasporLo all'lnLerno del Lunnel). LlaspeLLo negaLlvo e che ll vn
CaLeway sara oberaLo dl lavoro polche l daLagram che gll arrlvano non sono sLaLl fllLraLl a monLe.
! IN1LGkA1LD:
e la conflgurazlone che garanLlsce la magglor flesslblllLa, ed e qulndl quella plu adoLLaLa. llrewall,
vn CaLeway e 8ouLer sono lnLegraLl all'lnLerno dl una sLessa macchlna. ln Lal modo l fllLraggl ad
opera del flrewall possono essere effeLLuaLl una parLe prlma e un'alLra parLe dopo l'esLrazlone del
carlco daLl dal daLagram (declfraLura, rlmozlone lnLesLazlonl..). 1ale conflgurazlone garanLlsce
qulndl sla proLezlone del vn CaLeway che fllLragglo del Lrafflco lnLerno alla reLe locale.

vedlamo lnvece ora come sl comporLano l nA1 con l 1unnel e con l'lSec:

! sl e ln precedenza splegaLo che ln caso dl uLlllzzo dell'An- Authent|cat|on neader, ll daLagram
orlglnale vlene soLLoposLo al calcolo del flngerprlnL. CuesL'ulLlmo vlene clfraLo uLlllzzando la chlave
segreLa del mlLLenLe e ll LuLLo vlene posLo all'lnLerno dell'AuLhenLlcaLlon Peader. Se un daLagram
cosl reallzzaLo passa aLLraverso un nA1 (per esemplo uscendo dalla reLe locale verso quella
pubbllca) succede che quesL'ulLlmo cambla l'lndlrlzzo mlLLenLe ponendovl l'unlco lndlrlzzo pubbllco
a sua dlsposlzlone. ul conseguenza a desLlnazlone, andando a rlcalcolare ll flngerprlnL, verra
rlsconLraLa una falsa non lnLegrlLa del messagglo e quesLo verra dunque scarLaLo.
! se e uLlllzzaLa la 1ransport Mode ll problema e ll medeslmo, polche anche quesLa volLa ll nA1
modlflca l'lnLesLazlone del daLagram. l conLrolll dl lnLegrlLa effeLLuaLl a desLlnazlone porLano qulndl
a far sl che ll paccheLLo venga scarLaLo.

una posslblle soluzlone a Lale problema e plazzare ll nA1 prlma dell'lnlzlo del Lunnel lSec. ln Lal modo ll
nA1 puo' effeLLuare le converslonl dl lndlrlzzl rlhlesLe nell'lnLesLazlone del daLagram prlma che quesLo
venga lmmesso nel Lunnel lSec. ul conseguenza ll daLagram a desLlnazlone non verra rlsconLraLo come
alLeraLo. da noLare e per che Lale soluzlone e vallda solo se ll daLagram effeLLlvamenLe parLe dal nA1,
ovvero se ll daLagram non arrlva al nA1 come punLo lnLermedlo del suo percorso. ln Lal caso ll daLagram e
gla LuLLo formaLo e ll nA1 e lmposslblllLaLo ad effeLLuare le converslonl che gll compeLono.


VN Gateway e IDS
AlLro modo per fare un anallsl del Lrafflco e medlanLe gll IDS - Intrus|on Detect|on System, che per usano
un approcclo dlverso rlspeLLo a quello del llrewall. CuesLl ulLlml sl basano LendenzlalmenLe sulle
lnformazlonl conLenuLe nelle lnLesLazlonl l e ln quelle 1C/uu/lCM e le regole dl fllLragglo sono del Llpo
"non permeLLere l'aperLura dl una connesslone 1C verso una macchlna all'lnLerno a meno che non abbla
un parLlcolare lndlrlzzo l". ln Lal caso ll flrewall andra a conLrollare l'lndlrlzzo del desLlnaLarlo all'lnLerno
dell'lnLesLazlone l, se ll Llpo dl proLocollo conLenuLo all'lnLerno del daLagram e 1C e nell'lnLesLazlone 1C
se ll flag S?n=1 e quello lLAC=0 (se l flag sono seLLaLl ln quesLo modo sl LraLLa dl un paccheLLo dl rlchlesLa
dl aperLura dl una connesslone 1C). L'luS lnvece sl occupa dl guardare alLro, ad esemplo se e ln aLLo un
porL scan o un address scan (meccanlsmo usaLo per LenLare dl lnsLallare un processo soLLo conLrollo dl una
macchlna remoLa, dal quale parLlra pol un aLLacco verso Lerzl), oppure sl pu andare a conLrollare la mole
dl Lrafflco generaLa da un
lndlrlzzo l. Culndl l'luS non
effeLLua una scanslone e fllLragglo
del Lrafflco, bensl ne anallzza gll
aspeLLl plu preLLamenLe sLaLlsLlcl.
Cll luS vengono dl sollLo plazzaLl
fuorl dal flrewall, dl modo che quesLl ulLlml rlsulLlno ln qualche modo proLeLLl. Se fossero plazzaLl solo al dl
fuorl della vn a monLe del llrewall per non sl rlusclrebbe dl faLLo a caplre che sLa succedendo all'lnLerno
del Lrafflco della vn. ne consegue che anche ln quesLo caso la soluzlone mlgllore e plazzare le sonde dell'
luS (meccanlsml uLlllzzaLl per splllare del Lrafflco che sara pol anallzzaLo) un parLe prlma del vn CaLeway-
llrewall e un parLe dopo, ln modo da rlusclre ad anallzzare un p sla ll Lrafflco prlma che esca dal Lunnel
che quello che sLa per enLrare nella reLe prlvaLa. ua noLare e che un luS, rllevaLa un'anomalla, dl sollLo non
lnLervlene aLLlvamenLe, bensl sl llmlLa a noLlflcare la cosa. L' lnfaLLl posslblle che, basandosl unlcamenLe su
anallsl sLaLlsLlche del Lrafflco, l'luS rlconosca come anomalla un comporLamenLo che lnvece non lo e. ul
conseguenza e molLo megllo affldare la declslone se lnLervenlre manualmenLe o no ad un operaLore
umano.

ll flgura sono rlporLaLl l formaLl dl lmbusLamenLo del paccheLLl lSec nel varl casl, sla per lv4 che per lv6.
L' posslblle noLare come l'lmbusLamenLo sla molLo slmlle ln ambedue l casl, l'unlca parLlcolarlLa sl pu
Lrovare ln lv6 a proposlLo degll LxLenslon Peaders. nel caso dl 1ransporL Mode, alcunl LP del paccheLLo
orlglnale vlagglano ln chlaro (fondamenLalmenLe quelll che possono essere uLlll/modlflcablll) duranLe ll
percorso del paccheLLo, ad esemplo l'Pop 8y Pop rouLlng), menLre alLrl vlagglano crlpLaLl (quelll che hanno
lmporLanza solo per l'hosL dl desLlnazlone. nel caso dl 1unnel mode, vlceversa, cl sono due seL dlsLlnLl dl
LxLenslon Peaders, ll prlmo rlferlLo alla nuova busLa lv6 (creaLa dall'hosL che crea ll Lunnel), ll secondo
quello del paccheLLo orlglnarlo. ll prlmo LP vlaggla compleLamenLe ln chlaro menLre ll secondo vlene
auLenLlcaLo/crlpLaLo compleLamenLe.







SSL VN:
V|rtua| r|vate Netwoks based on Secure Socket Layer


asslamo ora a LraLLare le vn cosLrulLe su llvelll superlorl al Lerzo (llvello l). llnora lnfaLLl sono sLaLl vlsLl
Lunnel cosLrulLl o su llvello 2 o su llvello 3.
Cuando sl LraLLa dl cosLrulre una vn a llvello 4 la cosa che sl fa e aprlre delle connesslonl SSL - Secure
Socket Layer, qulndl ll Lunnel corrlsponde all'aperLura dl una connesslone 1C con SSL. CuesL'ulLlmo
fornlsce obbllgaLorlamenLe l'auLenLlcazlone del Server e opzlonalmenLe l'auLenLlcazlone anche del cllenL,
nonche la clfraLura del daLl che passano aLLraverso la connesslone 1C. Culndl SSL dlvenLa ll meccanlsmo dl
lncapsulamenLo del Lunnel cosLrulLl a llvello 4. Cvvero sosLanzllamenLe l daLl che vlagglano su Lall Lunnel
presenLeranno ad esemplo ll seguenLe formaLo






CuesLo meccanlsmo con 1C+SSL pu essere usaLo per
! vn dl Llpo SlLe-Lo-SlLe
! vn per accesso remoLo
! servlzl slcurl, polche SSL clfra l daLl e auLenLlca la conLroparLe

ua noLare e che uLlllzzando Lale meccanlsmo sl poLrebbero reallzzare delle SLUDC-VN. nell'esemplo dl
lmpaccheLLamenLo lllusLraLo precedenLemenLe e chlaro che ll canale SSL e uLlllzzaLo per slmulare un canale
dl Llpo punLo-a-punLo (lnfaLLl l'header dl llvello 2 del carlco daLl e un header ). ln alLernaLlva sl poLrebbe
per aprlre la connesslone SSL dlreLLamenLe verso ll Server con ll quale cl sl vuole collegare, ll rlsulLaLo e la
cosLruzlone dl una vn, della quale fanno per parLe solo l cllenLl e l server ll cul accesso sl vuole sla
slcuro. ln quesLo caso sl e sollLl parlare dl seudo-vn, polche ll conceLLo dl reLe prlvaLa sfuma.
er splegare Lale conceLLo posslamo ad esemplo lpoLlzzare che a bordo dl una sLessa macchlna slano ln
funzlone due server dlsLlnLl A e 8. ln vlrLu del faLLo che l'l lndlrlzza le lnLerfaccle menLre 1C lndlrlzza l
processl, e posslblle che sla ln uso una conflgurazlone Lale che ad un cerLo cllenL C sla permessa una
connesslone slcura solo ad uno del due server. ll conflne della vn qulndl passa all'lnLerno della macchlna,
alcunl processl sono fuorl la vn e alLrl denLro.
Se ne deduce che, lnLesa ln quesLo senso, una vn pu essere vlsLa come un collegamenLo Lra un gruppo
dl processl (appllcazlonl) ln comunlcazlone Lra loro e che non vogllono essere dlsLurbaLl da alLrl processl
che glrano all'lnLerno della sLessa reLe. Ad un llvello un p superlore dl asLrazlone sl pu qulndl affermare
nLADLk LIV.2 nLADLk I nLADLk 1C nLADLk nLADLk I nLADLk UD DA1I

IN1LS1A2ICNL Lk VIAGGIAkL
SUL 1UNNLL
CAkICC DLL SLGMLN1C 1C CnL VIAGGIA SUL
1UNNLL
(CuesLa parLe vlene clfraLa non appena superaLa la
fase dl auLenLlcazlone)
che, menLre le vn basaLe su lSec collegano Lra dl loro reLl locall oppure hosLs a reLl locall, quelle basaLe
su SSn meLLono ln comunlcazlone uLenLl con servlzl (processl Server).
Ma per quale moLlvo sl dovrebbe preferlre la cosLruzlone dl Lunnel a llv4?
La moLlvazlone prlnclpale e che ln Lal modo sl pu evlLare dl uLlllzzare l'lSec (Lroppo complesso dal punLo
dl vlsLa della gesLlone e della conflgurazlone), polche l'accopplaLa 1C+SSL e ln grado dl fornlre le
medeslme funzlonallLa dl slcurezza. lnolLre l'lSec opera ln kernel space, moLlvo per cul un evenLuale crash
e faclle che sl propaghl anche ad alLre appllcazlonl, l proLocolll dl llvello 4 operano lnvece ln user space.
AlLra moLlvazlone e che cosLruendo Lunnel con 1C+SSL non sl rlsconLrano probleml per quanLo rlguarda
l'aLLraversamenLo del nA1 polche, a dlfferenza dl quanLo accade con lSec, le lnLesLazlonl l e 1C non
sono clfraLe e qulndl vlslblll al nA1. 1all lnLesLazlonl lnolLre non sono neanche proLeLLe dal calcolo del
flngerprlnL, moLlvo per cul ll nA1 pu modlflcarle senza che cl causl probleml a desLlnazlone (ll messagglo
sara valuLaLo lnLegro). Meno dlfflcolLa sl rlsconLra anche nell'aLLraversamenLo del flrewall, che sollLamenLe
Lendono a bloccare l segmenLl uu.
ll rovesclo della medaglla e che paccheLLl che per qualche moLlvo devono essere scarLaLl, saranno ln ognl
caso elaboraLl flno al llvello 4 prlma che sl caplsca che effeLLlvamenLe non devono essere acceLLaLl, e cl
causa un noLevole spreco dal punLo dl vlsLa della poLenza dl elaborazlone.
nel caso dl seudo-vn lnvece ll vanLagglo e che non e necessarla alcuna lnsLallazlone dl codlce cllenLe
polche sl pu usufrulre del servlzl uLlllzzando un cllenL sLandard, ad esemplo ll 8rowser (che pu
all'occorrenza avvalersl dl un proxy per comunlcare con ll processo).

Cuando dl parla dl seudo-vn sollLamenLe l meccanlsml che possono essere usaLl per crearle sono l
seguenLl:

! Web roxy|ng:
ll Web Server non e ablllLaLo per l'uso dell' P11S. ln quesLo caso ll cllenL pu uLlllzzare P11S
proLocollo flno ad un vn CaLeway (che ln praLlca sarebbe un roxy) che, verlflcaLa la slcurezza sul
collegamenLo Lra lul e ll cllenL , fa pol vlagglare l messaggl verso ll Web Server con meccanlsml non
proLeLLl (polche essendo all'lnLerno della reLe prlvaLa non e plu rlchlesLa proLezlone).



! App||cat|on trans|at|on:
vlene usaLo P11S flno al vn CaLeway, dopo dl che e ln uso un proLocollo compleLamenLe dlverso,
ad esemplo ll C3. ll slsLema lnLermedlo declfra l messaggl dl rlchlesLa P11S e ll Lrasforma ln
messaggl dl rlchlesLa C3, rlceve l messaggl dl rlsposLa C3 dal Mall Server e ll converLe ln
messaggl dl rlsposLa P11S da resLlLulre al cllenL. un Lale scenarlo sl pu presenLare ad esemplo
uLlllzzando la Web mall.

! ort forward|ng:
sl basa sull'eslsLenza dl un parLlcolare processo che rlceve delle rlchlesLe su una porLa (1C/uu) e
le rlspedlsce su un'alLra porLa. SollLamenLe Lale funzlonallLa e lmplemenLaLa a bordo del cllenL
medlanLe un sofLware addlzlonale.
er esemplo nella seguenLe lmmaglne



ll orL lorwarder sl Lrova all'lnLerno della macchlna del cllenLe. Supponendo che nel cllenL sla ln
esecuzlone un sofLware per C3, quesLo Lende ad lndlrlzzare le sue connesslonl verso la porLa 110,
well known porL su cul sono ln ascolLo l Server C3. nel caso speclflco per sl vuole arrlvare alla
macchlna remoLa uLlllzzando l'P11S, dl modo che l paccheLLl generaLl dal cllenL C3 vengono
lnolLraLl verso una porLa 110 locale del orL lorwarder, che ll rlspedlra alla macchlna remoLa
usando la porLa 443 (well known porL per l Server P11S).
ln alLernaLlva ll porL forwandlng pu essere faLLo sul laLo del Server



alla macchlna remoLa arrlvano messaggl sulla porLa 443. 1all messaggl vengono spaccheLLaLl (per
esegulre l conLrolll dl slcurezza) e rlspedlLl sulla porLa 110 del Server desLlnaLarlo.

roblema del porL forwardlng e che funzlona solo con quel proLocolll che uLlllzzano delle porLe
flsse. AlLrl proLocolll, ad esemplo l'l1, che uLlllzzano una porLa preflssaLa sul Server per sLablllre la
connesslone dl conLrollo, ma delle porLe declse al volo per le connesslonl sulle quall sara effeLLuaLo
ll LrasferlmenLo del daLl. ll numero dl porLa sul cllenL loglcamenLe non e un problema, polche la
prlma mossa speLLa a quesL'ulLlmo e ll numero della porLa uLlllzzaLa per la connesslone e reso noLo
al Server lndlcandola all'lnLerno del prlmo messagglo. ul conseguenza ll problema del numerl dl
porLa declsl al volo sl concreLlzza nel momenLo ln cul e ll Server che fa rlchlesLa al cllenL per
l'aperLura della daLa connecLlon, polche ll orL lorwarder non conosce ll numero dl porLa,
dlfferenLe da quello usaLo per la conLrol connecLlon, che e sLaLo declso a bordo del cllenL. er
rlusclre a rlsolvere Lale problema e necessarlo uLlllzzare un AppllcaLlon Layer CaLeway che, essendo
ln grado dl leggere ed lnLerpreLare l campl dl llvello appllcazlone nel messaggl, e ln grado dl caplre
quando ll cllenL ad esemplo comunlca qual'e ll numero della porLa che sLa uLlllzzando per la
connesslone.

! SSL'ed protoco|s:
ora come ora molLl proLocolll hanno una verslone che usa dlreLLamenLe l'SSL. Cuello che cambla,
olLre al faLLo che nella fase dl lnsLaurazlone della connesslone hanno luogo l meccanlsml proprl
dell'SSL, e la porLa verso la quale devono essere lndlrlzzaLe le rlchlesLe (per esemplo nel caso del
CS dlvenLa 993).

! App||cat|on roxy|ng:
ln quesLo caso vlene uLlllzzaLo un roxy per la gesLlone del meccanlsml dl slcurezza per quanLo
rlguarda la connesslone lnsLauraLa con ll cllenL. una volLa aperLa la connesslone slcura ll proxy non
fa alLro che prendere l messaggl che gll arrlvano e rlLrasmeLLerll verso ll Server nel loro formaLo dl
proLocollo non proLeLLo (per esemplo l messaggl CS che gll arrlvano ll rlLrasmeLLe su C).















1C Ck1 99S
1C Ck1 110
Lserc|z|
VN - V|rtua| r|vate Network

Lserc|z|o 1
uaLa la caLLura ln flgura e assumendo dl conslderare una vn dl accesso alla reLe 130.192.223.0/24:

1. La caLLura rlporLaLa rlsulLa compleLa dal punLo dl vlsLa del paccheLLl scamblaLl per l'lnsLaurazlone della
connesslone? MoLlvare la rlsposLa.
2. Che Llpo dl auLenLlcazlone (se presenLe) vlene uLlllzzaLa?
3. lndlcare l'lndlrlzzo l del vn cllenL (prlma dell'lnsLaurazlone della connesslone).
4. lndlcare l'lndlrlzzo l del gaLeway.
S. ln base a quanLo rlporLaLo nella caLLura, l'accesso a lnLerneL rlsulLa cenLrallzzaLo o dlsLrlbulLo? MoLlvare
la rlsposLa.
6. uescrlvere schemaLlcamenLe ll percorso segulLo dal paccheLLl dl Lrafflco.

n.8. L'anallzzaLore ha salLaLo un paccheLLo dl "1 CuLgolng -Call-8equesL" ln poslzlone 3.
Sl LraLLa dl una reLe d'accesso, qulndl una slngola macchlna che sLa aprendo un Lunnel verso una macchlna
remoLa che funge da vn CaLeway.
1. Sl sLa usando ll 1 per lnsLaurare ll Lunnel verso ll vn CaLeway. ll prlmo paccheLLo e un "SLarL-
ConLrol-ConnecLlon-8equesL" polche nel 1 per aprlre un Lunnel blsogna prlma aprlre una connesslone
dl conLrollo, dopo dl che su Lale connesslone sl fanno passare del comandl per aprlre la daLa-connecLlon.
uopo dl che a chludere la coppla vl e la rlsposLa provenlenLe dal vn CaLeway "SLarL-ConLrol-ConnecLlon-
8eply". A quesLo punLo un'alLra coppla "CuLgolng-Call-8equesL" - "CuLgolng-Call-8eply" che denoLa
l'aperLura dl un Lunnel daLl fra ll cllenL e ll vn CaLeway. A Lal proposlLo segue ll messagglo dl conLrollo
"SeL-Llnk-lnfo", usaLo per seLLare alcunl parameLrl della connesslone daLl appena lnsLauraLa (Lale
messagglo pu anche non essere presenLe se non e necessarlo). 1ermlnano qul l messaggl dl conLrollo
1 e l pacheLLl da qul ln pol passano LuLLl sul Lunnel. lnfaLLl, olLre all'lnLesLazlone l, e lndlcaLa la
presenza anche delle lnLesLazlonl C8L, e LC. LC, Llnk ConLrol roLocol, e una fase lnlzlale del 1 e
vlene usaLo per sLablllre alcunl parameLrl per la comunlcazlone su . La presenza dell'lnLesLazlone CPA
lndlca lnvece che a quesLo punLo sl passa ad una fase dl auLenLlcazlone reclproca. Segue la presenza dl
lnLesLazlonl lC (l ConLrol roLocol) che denoLa una fase nella quale vengono seLLaLl alcunl parameLrl
relaLlvl all'l su . ln parLlcolare vlene aLLrlbulLo al cllenLe un lndlrlzzo l. ual paccheLLo 19 ln pol
Lrovlamo delle rlchlesLe P11, quesLe palesemenLe non vlagglano sul Lunnel, vlsLa la mancanza dl
lnLesLazlonl C8L e . La medeslma conslderazlone pu essere faLLa anche osservando che ll desLlnaLarlo
dl Lall paccheLLl non e ll 1unnel Lnd olnL (vn CaLeway) con cul era sLaLa aperLa una connesslone
lnlzlalmenLe, bensl un'alLra macchlan compleLamenLe dlversa.
A quesLo punLo posslamo dlre che LA CA11u8A L' CCMLL1A lnfaLLl sono presenLl LuLLe le seguenLl fasl:
! fase dl rlchlesLa lnsLaurazlone dl conLrollo e Lunnel daLl
! fase LC
! fase CPA dl auLenLlcazlone
! fase lC
da qul ln pol poLrebbero lnzlare a flulre l normall paccheLLl dl daLl, ma dl faLLo ll cllenL lnlzla ad lnvlare
paccheLLl verso alLre macchlne (S8LCCnLLLLL!!).

2. vlene uLlllzzaLa un'auLenLlcazlone basaLa su CPA.
3. L'lndlrlzzo l del vn cllenL prlma dell'lnsLaurazlone della connesslone e 10.0.0.101.
4. L'lndlrlzzo l del vn CaLeway e 130.192.223.234

S. er caplre se l'accesso ad lnLerneL e cenLrallzzaLo o dlsLrlbulLo dobblamo andare a vedere paccheLLl che
sono lndlrlzzaLl a macchlne che sl Lrovano al dl fuorl della vn, dl modo che andlamo a guardare l Lre
paccheLLl flnall. 1all paccheLLl, come abblamo gla splegaLo precedenLemenLe, non vlagglano sul Lunnel. ne
consegue che l'accesso a lnLerneL e dl Llpo dlsLrlbulLo, polche ll Lrafflco che non e dlreLLo alla vn non e
cosLreLLo a passare aLLraverso ll Lunnel.

6. ll percorso segulLo dal paccheLLl dl Lrafflco e quello lllusLraLo ln flgura:




Lserc|z|o 2

uaLa la caLLura ln flgura e assumendo dl conslderare una vn dl accesso alla reLe 130.192.223.0/24:



La caLLura lnclude LuLLl l paccheLLl necessarl all'lnsLaurazlone della connesslone vn? MoLlvare la rlsposLa.
n.8. L'anallzzaLore ha salLaLo un paccheLLo dl "1 CuLgolng -Call-8equesL" ln poslzlone 3.
uaLa la seguenLe sequenza compleLa dl fasl
! fase dl rlchlesLa lnsLaurazlone dl conLrollo e Lunnel daLl
! fase LC
! fase CPA dl auLenLlcazlone
! fase lC
! flusso dl paccheLLl daLl
se ne deduce che nella caLLura fornlLa mancano l paccheLLl rlguardanLl la fase -lC. Se Lale fase non
fosse effeLLuaLa l'hosL non poLrebbe oLLenere un lndlrlzzo l all'lnLerno della reLe azlendale dal vn
CaLeway.






Lserc|z|o 3
uaLa la caLLura ln flgura e assumendo dl conslderare una vn dl accesso alla reLe 130.192.223.0/24:


1. CommenLare l'eslLo dell'lnsLaurazlone della connesslone vn.
2. La caLLura rlporLaLa rlsulLa compleLa dal punLo dl vlsLa del paccheLLl scamblaLl per l'lnsLaurazlone della
connesslone? MoLlvare la rlsposLa.

Sl, la caLLura rlsulLa essere compleLa dal punLo dl vlsLa del paccheLLl scamblaLl per l'lnsLaurazlone della
connesslone. Come cl sl aspeLLa all'lnlzlo sl Lrovano le copple dl paccheLLl "SLarL-ConLrol-ConnecLlon-
8equesL/8eply" e "CuLgolng-Call-8equesL/8eply", segue ll paccheLLo dl conLrollo "SeL-Llnk-lnfo", usaLo per
seLLare alcunl parameLrl della connesslone daLl appena lnsLauraLa. Culndl a ruoLa l paccheLLl della fase
-LC e quelll della fase dl auLenLlcazlone CPA. ln praLlcolare duranLe quesLa fase ll vn CaLeway
propone alla macchlna uLenLe un Challenge, ovvero un numero che deve essere clfraLo ln manlera
opporLuna. La rlsposLa del cllenL e segulLa da un messagglo dl LermlnaLlon 8equesL che lndlca che ll
LenLaLlvo dl auLenLlcazlone e falllLo, username e/0 password non sono valldl. lnfaLLl sono pol presenLl l
messaggl usaLl per la chlusura delle connesslonl precedenLemenLe lnsLauraLe:

! LC "1ermlnaLlon 8equesL" (CaLeway-->cllenL)
! LC "1ermlnaLlon Ack" (cllenL-->CaLeway)
! 1 "Call-Clear-8equesL" (cllenL-->CaLeway)
! 1 "Call-ulsconnecL-noLlfy" (CaLeway-->cllenL)
! 1 "SLop-ConLrol-ConnecLlon-8equesL" (CaLeway-->cllenL)
! 1 "SLop-ConLrol-ConnecLlon-8equesL" (cllenL-->CaLeway)
! 1 "SLop-ConLrol-ConnecLlon-8eply" (CaLeway-->cllenL)

Lserc|z|o 4

uaLa la caLLura ln flgura e assumendo dl conslderare una vn dl accesso alla reLe 130.192.223.0/24:



1. La caLLura lnclude LuLLl l paccheLLl necessarl all'lnsLaurazlone della connesslone vn? MoLlvare la
rlsposLa.
2. ln base a quanLo rlporLaLo nella caLLura, l'accesso a lnLerneL rlsulLa cenLrallzzaLo o dlsLrlbulLo? MoLlvare
la rlsposLa
3. Cuale lndlrlzzo l ll cllenL oLLlene ln segulLo all'lnsLaurazlone della vn?
4. uescrlvere schemaLlcamenLe ll percorso segulLo dal paccheLLl dl Lrafflco, lndlcando espllclLamenLe gll
lndlrlzzl l dl LuLLe le enLlLa colnvolLe.

n.8. L'anallzzaLore ha salLaLo un paccheLLo dl "1 CuLgolng -Call-8equesL" ln poslzlone 3.

1. Sl, la caLLura e compleLa. ua noLare e che 130.192.223.203 e l'lndlrlzzo l lnLerno alla vn che e sLaLo
assegnaLo al cllenL duranLe la fase -lC.

2. L'accesso ad lnLerneL rlsulLa cenLrallzzaLo. 1ale lnformazlone pu essere dedoLLa appllcando ll seguenLe
raglonamenLo: ll paccheLLo 19 e un messagglo dl P11 8equesL che ll cllenL lnvla verso un Server P11 che
sl Lrova al dl fuorl della vn, polche ll preflsso dell'lndlrlzzo dl quesL'ulLlmo (130.237.234.40) dlfferlsce da
quello del vn CaLeway ad esemplo (130.192.223.234). nonosLanLe cl ll messagglo vlaggla all'lnLerno del
Lunnel flno al vn CaLeway prlma dl essere lndlrlzzaLo verso l'lnLerneL pubbllco. ul conseguenza sl pu dlre
che l'accesso ad lnLerneL e cenLrallzzaLo.

3. L'lndlrlzzo l che ll cllenL oLLlene ln segulLo all'lnsLaurazlone della vn e 130.192.223.203. 1ale lndlrlzzo e
un lndlrlzzo dl Llpo pubbllco, magarl perche la vn e collegaLa ad lnLerneL pubbllco e sono sLaLl assegnaLl
lndlrlzzl pubbllcl alle macchlne ln alLernaLlva all'uso dl un nA1. ll cllenL lnvece accede ald lnLerneL
uLlllzzando un lndlrlzzo prlvaLo, dl modo che all'usclLa dalla sua soLLoreLe e slcuramenLe uLlllzzaLo un nA1.

4. ll percorso segulLo dal paccheLLl dl Lrafflco e ll seguenLe




Lserc|z|o S
uaLa la Lopologla dl reLe rlporLaLa ln flgura, assumendo una vn con accesso a lnLerneL cenLrallzzaLo
basaLo su 1:

1. 8lporLare schemaLlcamenLe, lndlcando LuLLl gll evenLuall lncapsulamenLl, ll formaLo dl:
- un paccheLLo 1 scamblaLo duranLe la fase dl lnsLaurazlone della connesslone
- un paccheLLo P11 CL1 lnvlaLo da hosL A all'P11 Server8
- La rlsposLa cosl come vlene lnvlaLa dall'P11 Server8
- La rlsposLa cosl come vlene rlcevuLa dall' hosLA
2. 8appresenLare schemaLlcamenLe ll percorso segulLo dal paccheLLl dl Lrafflco daLl.

L'accesso ad lnLerneL e per lpoLesl cenLrallzzaLo, dl modo che l'hosL A andra ad aprlre un Lunnel 1 verso
ll vn CaLeway.
un paccheLLo 1 scamblaLo duranLe la fase dl lnsLaurazlone della connesslone, qulndl un paccheLLo della
fase LC, ha ll seguenLe formaLo:





L'lnLesLazlone l, polche ll Lunnel e gla sLaLo aperLo, rlporLera nel campl mlLLenLe-desLlnaLarlo gll lndlrlzzl
del due 1unnel Lnd olnL (qulndl 130.192.12.31 e 130.192.16.234). Segue un'lnLesLazlone C8L per
l'lncapsulamenLo, all'lnLerno della quale sara presenLe un'lndlcazlone rlguardo ll faLLo che l'lnLesLazlone
successlva apparLlene al . CuesL'ulLlma a sua volLa conLerra all'lnLerno del suol campl l'lndlcazlone
rlguardo ll faLLo che segue un'lnLesLazlone LC.
un paccheLLo P11 CL1 lnvlaLo da hosL A all'P11 server 8, lnLerceLLaLo non appena usclLo dall'hosL A, ha ll
seguenLe formaLo:



L'lnLesLazlone l rlporLa nel campl mlLLenLe-desLlnaLarlo gll lndlrlzzl del vn CaLeway e dell'hosL A, che
cosLlLulscono l due 1unnel Lnd olnL. Seguono un'lnLesLazlone C8L per l'lncapsulamenLo, un'lnLesLazlone
, una seconda lnLesLazlone l, una 1C e lnflne l'lnLesLazlone P11 (all'lnLerno della quale e speclflcaLo
ll messagglo dl CL1). nell'lnLesLazlone l plu lnLerna nel campl mlLLenLe-desLlnaLarlo sono speclflcaLl gll
lndlrlzzl l del verl mlLLenLe-desLlnaLarlo del paccheLLo, ovvero l'lndlrlzzo assegnaLo all'hosLA lnLerno alla
vn (qulndl con preflsso 130.192.16) e l'P11 Server8.
un messagglo dl rlsposLa lnvlaLo dall'P11 Server8 non vlaggla all'lnLerno del Lunnel, dl modo che non
presenLa lncapsulamenLo. ln parLlcolare ll formaLo del paccheLLo e ll seguenLe:


ll paccheLLo dl rlsposLa vlene rlcevuLo dall'hosLA sul Lunnel, dl modo che quesLo, aLLraversando ll vn
CaLeway, sara sLaLo lncapsulaLo e gll saranno sLaLe agglunLe le lnLesLazlonl per farlo vlagglare all'lnLerno
del Lunnel (qulndl llv2,l,C8L e ). ul conseguenza ll paccheLLo dl rlsposLa cosl come vlene rlcevuLo dall'
hosLA ha ll seguenLe formaLo:



dove come al sollLo nell'lnLesLazlone l plu esLerna sono lndlcaLl come mlLLenLe-desLlnaLarlo l due 1unnel
Lnd olnL, qulndl ll vn CaLeway e l'hosLA.
ll percorso segulLo dal paccheLLl dl Lrafflco daLl e ll seguenLe


Lserc|z|o 6
uaLa la Lopologla dl reLe rlporLaLa ln flgura, assumendo una vn con accesso a lnLerneL cenLrallzzaLo:

1. lndlcare un posslblle lndlrlzzo l per l'hosL A dopo l'lnsLaurazlone della vn
2. 8lporLare schemaLlcamenLe, lndlcando LuLLl gll evenLuall lncapsulamenLl, ll formaLo dl:
- un paccheLLo P11 CL1 lnvlaLo dall' hosL A all'P11 ServerA
- La rlsposLa cosl come vlene lnvlaLa dall'P11 ServerA
- La rlsposLa cosl come vlene rlcevuLa dall'hosLA
3. 8appresenLare schemaLlcamenLe ll percorso segulLo dal paccheLLl.

1. un posslblle lndlrlzzo l per l'hosLA dopo l'lnsLaurazlone della vn avra preflsso dl reLe 130.192.16,
qulndl ad esemplo poLrebbe essere 130.192.16.17. SollLamenLe ll vn CaLeway ha un lnLervallo dl lndlrlzzl
Lra cul scegllere un lndlrlzzo l per le macchlne che sl collegano da remoLo alla vn. ln Lal modo e anche
posslblle caplre lmmedlaLamenLe se una macchlna sl Lrova all'lnLerno della reLe locale o se sl collega alla
vn da remoLo.

2. non vlene rlporLaLo che Llpo dl proLocollo vlene uLlllzzaLo per l'accesso alla vn. 1raLLandosl dl una reLe
d'accesso per 1 poLrebbe essere una scelLa sensaLa.
uunque, lpoLlzzando dl uLlllzzare 1, un paccheLLo dl P11 CL1 lnvlaLo dall'hosLA all'P11 ServerA ha ll
seguenLe formaLo







nDk LIV.2 nDk I
S8C: 130.192.12.31
uS1: 130.192.16.234
GkL nDk I
S8C: 130.192.16.17
uS1: 130.192.16.26
nDk 1C nDk n11 MLSS GL1
ll messagglo dl rlsposLa lnvlaLo dal ServerA, polche esso sl Lrova all'lnLerno della reLe locale e qulndl l suol
paccheLLl non vlaggeranno sul Lunnel, avra ll seguenLe formaLo





nel paccheLLo dl rlsposLa cosl come vlene rlcevuLo dall'PosLA saranno sLaLe agglunLe, al passagglo dal vn
CaLeway, le lnLesLazlonl dl lncapsulamenLo del Lunnel. ul conseguenza presenLera ll seguenLe formaLo:






ll percorso segulLo dal paccheLLl e ll seguenLe


lnfaLLl ll desLlnaLarlo flnale e all'lnLerno della reLe azlendale, qulndl l'unlca cosa che pu fare un paccheLLo e
parLlre dal dall' PosLA, aLLraversare ll Lunnel sbucando all'lnLerno della 8eLe Azlendale e dlrlgersl verso ll
ServerA. La rlsposLa percorrera esaLLamenLe ll cammlno lnverso. Lssendo ll desLlnaLarlo lnLerno alla vn
non ce neanche da porsl ll problema se l'accesso ad lnLerneL e cenLrallzzaLo o dlsLrlbulLo.

nDk LIV.2 nDk I nDk 1C
S8C: 130.192.16.26
uS1: 130.192.16.17
nDk n11 MLSS Ck
nDk LIV.2 nDk I
S8C: 130.192.12.234
uS1: 130.192.16.31
GkL nDk I
S8C: 130.192.16.26
uS1: 130.192.16.17
nDk 1C nDk n11 MLSS Ck
Lserc|z|o 8
uaLa la Lopologla dl reLe rlporLaLa ln flgura:

una volLa lnsLauraLa una connesslone vn dall' hosL A verso la reLe azlendale, sl dlscuLa l'lmpaLLo sulla
ragglunglblllLa dell'P11 Server da parLe dl hosL A assumendo:

1. un malfunzlonamenLo sul rouLer3 e un accesso a lnLerneL dlsLrlbulLo.
2. un malfunzlonamenLo sul rouLer3 e un accesso a lnLerneL dlsLrlbulLo.
3. un malfunzlonamenLo sul rouLer2 e un accesso a lnLerneL dlsLrlbulLo.
4. un malfunzlonamenLo sul rouLer4 e un accesso a lnLerneL cenLrallzzaLo.
S. un malfunzlonamenLo sul rouLer3 e un accesso a lnLerneL cenLrallzzaLo.

Cuando l'PosLA sl collega alla reLe azlendale sl apre un Lunnel Lra quesL'ulLlmo e ll vn CaLeway.

1. Se ll rouLer3 e fuorl uso ll server P11 pu essere ugualmenLe ragglunLo. ln vlrLu dell'lpoLesl che
l'accesso ad lnLerneL e dlsLrlbulLo lnfaLLl l paccheLLl ll cul desLlnaLarlo sl Lrova al dl fuorl della reLe azlendale
possono essere dlreLLamenLe lnsLradaLl aLLarverso la reLe pubbllca, senza vlagglare necessarlamenLe
aLLraverso ll Lunnel flno al vn CaLeway. ul conseguenza l paccheLLl lnvlaLl dall'PosLA verso ll server P11
percorreranno ll seguenLe LraglLLo

PosLA --> 8ouLer1 --> 8ouLer3 --> P11 Server

2. Se ll rouLer3 e fuorl uso e l' accesso ad lnLerneL e dlsLrlbulLo ll cammlno precedenLemenLe uLlllzzaLo per
ragglungere ll Server P11 cl e ora precluso. ln Leorla poLrebbe essere uLlllzzaLo un dlfferenLe LraglLLo che
sfruLLl ll Lunnel della reLe azlendale, ovvero

PosL A --> 8ouLer1 --> vn CaLeway --> 8ouLer3 --> 8ouLer 4 --> P11 Server

Lale soluzlone, se non lmposslblle, e per alquanLo lmprobablle. CuesLo perche all'alLezza del vn CaLeway
poLrebbe essere plazzaLo anche un flrewall. MenLre ll vn CaLeway conLrollo solo che l paccheLLl ln arrlvo
slano provenlenLl da un Lunnel vn e che ll 1L all'alLro capo sla correLLamenLe auLenLlcaLo, ll flrewall
all'enLraLa dl una reLe azlendale spesso lmplemenLa regole dl fllLragglo ln base alle quall l paccheLLl che non
sono desLlnaLl a macchlne lnLerne alla reLe azlendale vengono scarLaLl all'lngresso. Se cosl non fosse sl
andrebbe a sprecare lnuLllmenLe rlsorse dl elaborazlone per processare ll Lrafflco ln LranslLo, col rlschlo
agglunLo dl lnLasare la reLe azlendale.

3. Se ll rouLer2 e fuorl uso e l' accesso ad lnLerneL e dlsLrlbulLo, anche ln quesLo caso ll server P11 sara
ragglunglblle percorrendo ll LraglLLo

PosLA --> 8ouLer1 --> 8ouLer3 --> P11 Server

4. Se ll rouLer4 e fuorl uso e l'accesso ad lnLerneL e cenLrallzzaLo, l'unlca posslblllLa che ha l'hosLA dl
ragglungere l'P11 Server e seguendo ll seguenLe percorso

PosL A --> 8ouLer1 --> vn CaLeway --> 8ouLer1 --> 8ouLer3 --> P11 Server

Lale soluzlone rlchlede per loglcamenLe che nella Labella dl rouLlng del 8ouLer2 assoclaLo al vn CaLeway
vl sla un'lndlcazlone ln base alla quale, ln caso dl non percorrlblllLa del normale LraglLLo 8ouLer3 -->
8ouLer4, l paccheLLl vengono relnsLradaLl all'lndleLro verso ll 8ouLer1 per essere lmmessl nella reLe
pubbllca.

S. Se ll rouLer3 e fuorl uso e l' accesso ad lnLerneL e cenLrallzzaLo l paccheLLl arrlveranno dall'PosLA all'
P11 Server LranslLando all'lnLerno della reLe azlendale. ln parLlcolare ll percorso segulLo sara ll seguenLe

PosLA --> 8ouLer1 --> vn CaLeway --> 8ouLer3 --> 8ouLer4 --> P11 Server














LL2ICNI N. 14,1S,16,17,18,19,20


Introduz|one a||a voce su I:
Introduz|one a||e tecno|og|e per || trasporto d| voce su I

una normale reLe Lelefonlca funzlona a commutaz|one d| c|rcu|to. er meLLere ln collegamenLo due
posLazlonl Lelefonlche e necessarlo effeLLuare una prlma fase dl segnalazlone, che comprende LuLLe le
operazlonl per la gesLlone della chlamaLa (composlzlone del numero, segnalazlone che ll Lelefono e llbero o
occupaLo, ..), dopo dl che pu avere luogo la chlamaLa vera e proprla lnLesa come LrasporLo del segnale
vocale. arLendo dalla prlma cenLrallna a valle del mlLLenLe, vengono rlcercaLe nella reLe un lnsleme dl
rlsorse che permeLLano dl reallzzare e manLenere la comunlcazlone. 1all rlsorse, se dlsponlblll, vengono
prenoLaLe per la speclflca sesslone (nessun alLro pu uLlllzzarle) e sl lnlzla a far passare ll segnale vocale.
Anche nel caso ln cul per un cerLo perlodo dl Lempo la comunlcazlone non fosse aLLlva (enLrambl gll
lnLerlocuLorl sLanno zlLLl alla corneLLa) le rlsorse precedenLemenLe allocaLe non possono essere uLlllzzaLe
da nessun alLro, ovvero le rlsorse vengono allocaLe sLaLlcamenLe alle speclflche sesslonl dl comunlcazlone.
CuesLo, se da un laLo comporLa una gesLlone pluLLosLo rlglda del slsLema e un evldenLe spreco dl rlsorse,
dall'alLra garanLlsce per un Lempo dl aLLraversamenLo flsso. ALLualmenLe a llvello delle dorsall dl reLe,
dove vlene faLLo conflulre LuLLo ll Lrafflco, vlene uLlllzzaLa una rappresenLazlone ln forma dlglLale, vlene
operaLa pol una converslone ln analoglco nel pressl dell'arrlvo. ueLLo quesLo, normalmenLe per una
conversazlone Lelefonlca sono necessarl almeno 64kbps nel caso dl voce non compressa. 1ale valore derlva
dal faLLo che ognl camplone vocale vlene rappresenLaLo su 8 blL e che la frequenza dl camplonamenLo e dl
8 kc/sec (kllo-camplonl/sec). A Lal proposlLo e lnLulLlvo dedurre che magglore e ll numero dl blL dedlcaLl
alla rappresenLazlone del camplonl mlnore e l'lmpaLLo dell'errore dl quanLlzzazlone.
Le caraLLerlsLlche dl una Lrasmlsslone Lelefonlca possono essere qulndl rlassunLe come segue:
! nessuna compresslone del camplonl vocall, anche se dl faLLo ad un cerLo punLo e sLaLa lnLrodoLLa.
Sono dlsponlblll due Llpl dl algorlLml dl compresslone: a|gor|tm| con perd|ta e a|gor|tm| senza
perd|ta. CuesLl ulLlml permeLLono dl rlcosLrulre ll daLo all'arrlvo esaLLamenLe ldenLlco a quello che
era ln parLenza a fronLe per dl un rapporLo dl compresslone relaLlvamenLe basso (qulndl non
permeLLono dl rldurre sosLanzlalmenLe la banda mlnlma necessarla). Cll algorlLml con perdlLa dl
conLro punLano a perdere dell'lnformazlone rlguardo quelle caraLLlsLlche del suono a cul l'orecchlo
umano e poco senslblle. er esemplo nella compresslone M3 sl sfruLLa ll faLLo che se ln una zona
dello speLLro sl ha un plcco accenLuaLo, quesLo deLermlna ln un cerLo lnLervallo un' lnsenslblllLa al
resLo dello speLLro. ul conseguenza e posslblle codlflcare molLo bene ll plcco e meno bene (con
meno blL) un cerLo lnLervallo dello speLLro lnLorno ad esso.
! non sl pu fare comunlcazlone ad alLa quallLa se non andando ad allocare del mulLlpll dl 64kbps.
! non vlene effeLLuaLa la soppresslone del sllenzl, polche non avrebbe senso ln vlrLu del faLLo che le
rlsorse sono allocaLe sLaLlcamenLe alle speclflche sesslonl dl comunlcazlone.
! non vlene usaLa la MulLlplazlone SLaLlsLlca, bensl la banda vlene allocaLa sLaLlcamenLe. ll prlnclplo
dl mulLlplazlone sLaLlsLlca prevede che la mulLlplazlone del paccheLLl avvenga senza rlservare con
esaLLezza rlsorse a quesLo o quel LrlbuLarlo: ll
mulLlplaLore sl llmlLa ad lnserlre l paccheLLl
rlcevuLl ln apposlLe code, da cul ll preleva per
poLerll LrasmeLLere ln sequenza, aLLuando una
modallLa dl LrasferlmenLo orlenLaLa al rlLardo. ll
flusso dl lnformazlonl e segmenLaLo ln paccheLLl
dl lunghezza llmlLaLa o flssa, conLrassegnaLl da
un preambolo e un epllogo per permeLLere ll
loro rlconosclmenLo all'lnLerno del flusso dl daLl, e che conLengono le lnformazlonl necessarle per
deflnlre la desLlnazlone del paccheLLo. L'lnLera capaclLa Lrasmlsslva dlsponlblle vlene lmpegnaLa per
la Lrasmlsslone dl clascun paccheLLo. La presenza dl code comporLa ovvlamenLe ll deLermlnarsl dl un
rlLardo varlablle ed lmpredlclblle, nonche la posslblllLa che la coda sla plena ed ll paccheLLo ln
lngresso venga scarLaLo.
L'approcclo lnverso dl Llpo sLaLlco prevede lnvece che l flussl vengano mulLlplaLl ln modo slncrono
(con una cadenza Lemporale regolare). Cgnl flusso ha uno sloL dedlcaLo e se su un deLermlnaLo
canale ln lngresso al mulLlplexer non e aLLlva
alcuna comunlcazlone ll relaLlvo sloL rlmane
lnuLlllzzaLo.
! 8lchlede una fase dl Call SeLup, ovvero necesslLa dl una procedura dl segnalazlone.

Le reLl daLl basaLe su l e sulla commuLazlone dl paccheLLo lnvece sono caraLLerlzzaLe da:
! una mlgllore compresslone, polche ad esemplo l paccheLLl dl voce poLrebbero essere compressl e
quelll dl daLl (magarl desLlnaLl ad un fax) lnvece no.
! La posslblllLa dl avere una comunlcazlone ad alLa quallLa senza la necesslLa dl dover preallocare una
cerLa banda.
! Soppresslone del sllenzl. Lssendo adoLLaLa la commuLazlone dl paccheLLo le rlsorse non sono
allocaLe sLaLlcamenLe ad una speclflca sesslone dl comunlcazlone, qulndl la soppresslone del sllenzl
e molLo uLlle polche permeLLe dl rlsparmlare blL ln Lrasmlsslone che dl faLLo non sono necessarl. La
banda preservaLa pu essere messa a dlsposlzlone per l'lnvlo sul canall dl paccheLLl dl voce o daLl
slgnlflcaLlvl.
! uLlllzzo della MulLlplazlone sLaLlsLlca. un classlco apparaLo che fa uso dl Lale prlnclplo e lnfaLLl un
rouLer, che ha dlverse llnee dl Lrafflco a bassa veloclLa ln lngresso e deve
lmmeLLere su un unlco canale ln usclLa ad alLa veloclLa. ll rouLer gesLlsce
una coda dl paccheLLl ln arrlvo, dl modo che essl vengono spedlLl nello
sLesso ordlne ln cul sono pervenuLl. ul conseguenza se ad esemplo ll
canale A LrasmeLLe e l canall 8 e C non ne LrasmeLLono alcun paccheLLo, ll
rouLer uLlllzzera l'lnLera banda del canale ln usclLa per la Lrasmlsslone del
paccheLLl ln arrlvo da A. Culndl nella reLe l a commuLazlone dl paccheLLo la mulLlplazlone sLaLlsLlca
e auLomaLlca.
! necesslLa dl una procedura dl segnalazlone.
ua quanLo deLLo sl deduce che, se da un laLo le reLl basaLe su l rlsolvono l probleml legaLl alla gesLlone
delle rlsorse dl reLe, lnLroducono compresslone e mulLlplazlone sLaLlsLlca, dall'alLro per producono un
alLro problema. ll faLLo dl non avere plu delle rlsorse dedlcaLe ad una parLlcolare sesslone dl comunlcazlone
lnfaLLl comporLa che non pu essere garanLlLa la quallLa della chlamaLa. CuesLo perche ll Lempo dl
Lrasmlsslone del paccheLLl e aleaLorlo, dlpendenLe dallo sLaLo dl occupazlone della coda nel momenLo ln
cul l paccheLLl arrlvano al rouLer. La fluLLuazlone del Lempl dl aLLraversamenLo del paccheLLl genera una
fluLLuazlone del Lempl dl lnLerarrlvo a desLlnazlone, deLLa II11Lk, che da fasLldlo ln fase dl rlproduzlone.
lnfaLLl sl vorrebbe che l segnall fossero rlprodoLLl equlspazlaLl nel Lempo cosl come sono sLaLl camplonaLl,
cosa che per evldenLemenLe non e posslblle a causa del !lLLer e conslderando anche che su l e posslblle
che alcunl paccheLLl arrlvlno fuorl ordlne o che vadano addlrlLLura persl duranLe la Lrasmlsslone.
8lassumendo

kL1L 1LLLICNICA kL1L I
CCMMu1AZlCnL ul Cl8Cul1C CCMMu1AZlCnL ul ACCPL11C
MuL1lLAZlCnL S1A1lCA MuL1lLAZlCnL S1A1lS1lCA

La dlffuslone della Lelefonla su l e dovuLa al faLLo che ad un cerLo punLo dlversl gruppl dl uLenLl colnvolLl
nel suo uLlllzzo cl hanno vlsLo degll aspeLLl convenlenLl, uLlll a rlsolvere del loro probleml:
! Utente domest|co: pagando la llnea per la connesslone lnLerneL gll e posslblle farcl passare sopra
anche le chlamaLe vocall, ln modo da ammorLlzzare l cosLl dovuLl a
due dlfferenLl bolleLLe. LslsLono molLl sofLware graLulLl che
permeLLono dl effeLLuare chlamaLe su l, ad esemplo Skype. Se flno
ad un p dl Lempo fa Lall sofLware consenLlvano dl meLLere ln
comunlcazlone vocale Lra dl loro
due pc connessl ad lnLerneL, e
ormal anche posslblle meLLere ln
comunlcazlone un pc con un
apparecchlo della Lradlzlonale reLe
Lelefonlca. ln Lal caso la chlamaLa
parLlLa dal pc del mlLLenLe aLLraversa lnLerneL glungendo ad un
CaLeway (scelLo ln modo che sla ll plu vlclno posslblle al desLlnaLarlo) che permeLLe l'accesso alla
S1n - ubllc SwlLch 1elephone neLwork. l suddeLLl sofLware fonlscono lnolLre ulLerlorl servlzl quall
la posslblllLa dl effeLLuare una vldeochlamaLa oppure la condlvlslone dl lavagna e deskLop.

! Cperatore te|efon|co: quello che gll lnLeressa e LrasporLare una grossa quanLlLa dl Lrafflco su l. La
Lrasmlsslone dl segnall Lelefonlcl uLlllzzando commuLazlone dl clrculLo e mulLlplazlone sLaLlca
comporLa delle apparecchlaLure dl cosLo elevaLo, polche la Lecnologla che c'e dleLro necesslLa dl
essere molLo preclsa. ll LrasporLo medlanLe 1ol lnvece permeLLe dl uLlllzzare lnfrasLruLLura a cosLo
mlnore, non necesslLando ad esemplo dl una slncronlzzazlone cosl preclsa come quella rlchlesLa nel
caso 1uM (1lme ulvlslon MulLlplexlng). ll passagglo a Lale approcclo dl LrasporLo del segnall vocall
rlchlede l'agglornamenLo solo dl un numero llmlLaLo dl apparaLl locallzzaLl all'lnLerno della reLe
(qulndl soLLo ll conLrollo del gesLore Lelefonlco), l Lermlnall al bordo della reLe rlmarranno lnvarlaLl.
ua noLare e che la reLe l che vlene usaLa per la Lelefonla non e la sLessa che vlene uLlllzzaLa per
l'accesso ad lnLerneL, perche se l due Lrafflcl fossero mescolaLl la Lelefonla (che l'uLenLe perceplsce
come una Lelefonla dl Llpo "classlco") sublrebbe gll sLessl probleml dl [lLLer, dl fluLLuazlone del Lempl
dl aLLraversamenLo e dl banda che sl verlflcano sulla reLe daLl.
un esemplo dl reLe 1ol e ll seguenLe, dove e posslblle ldenLlflcare:

! Lermlnall Lelefonlcl collegaLl a degll swlLch a commuLazlone dl clrculLo (poLrebbero essere degll
swlLch 1uM). CuesLl porLano l varl segnall verso un CaLeway dove avvlene la converslone da
analoglco a dlglLale e la paccheLLlzzazlone per la Lrasmlsslone aLLraverso la reLe l.
! pc collegaLl dlreLLamenLe al rouLer dl bordo del 8ackbone, dal quall evldenLemenLe qulndl parLe
la rlchlesLa dl Lelefonla.




! Utente az|enda|e: ll vanLagglo che le lmprese hanno lnLravlsLo nell'uso del vol non e preLLanLe
economlco come nel caso dell'uLenLe domesLlco. lnfaLLl un'azlenda pu arrlvare ad oLLenere da un
gesLore Lelefonlco, a fronLe dl un accordo commerclale basaLo sul consumo dl un cerLo numero dl
ore/anno , un prezzo dl faLLurazlone parl anche ad un declmo rlspeLLo al prezzo dl mercaLo per un
uLenLe domesLlco. ne consegue che un'azlenda non ha nessun parLlcolare lnLeresse a conLenere Lall
cosLl. Cuello a cul sono lnLeressaLe le azlende e ll faLLo che con ll vol e posslblle oLLenere LuLLa una
serle dl servlzl agglunLlvl che con la Lelefonla normale non sl hanno (ad esemplo la Lelepresenza,
lnsLanL messaglng, vldeoconferenza, LrasferlmenLo flles, condlvlslone appllcazlonl, ..).



ll processo dl creazlone dl un flusso vol pu essere schemaLlzzaLo ln 9 fasl:
1. Camp|onamento:
dlglLallzzazlone della forma d'onda analoglca prodoLLa dal segnale vocale. er sens|b|||t sl lnLende ll
numero dl blL uLlllzzaLl per rappresenLare un camplone. Magglore e ll numero del blL uLlllzzaLl per la
rappresenLazlone del camplonl mlnore sara l'errore commesso nell'approsslmazlone del varl
camplonl del segnale analoglco al plu vlclno "llvello dlglLale" prevlsLo. 1ale errore prende ll nome dl
errore d| quant|zzaz|one. C'e lnolLre da conslderare che la frequenza mlnlma dl camplonamenLo da
uLlllzzare e vlncolaLa sulla base del 1eorema dl nyqulsL.


2. Cod|f|ca:
l daLl camplonaLl vengono elaboraLl dlglLalmenLe, evenLualmenLe con compresslone (che lnflulsce
sulla quallLa oLLenuLa ln rlproduzlone, LanLo mlgllore quanLo plu basso e ll faLLore dl compresslone).
1ale operazlone lnLroduce loglcamenLe un cerLo rlLardo. una delle prlnclpall Lecnlche dl codlca senza
perdlLa uLlllzzaLe e la coslddeLLa Cod|f|ca per d|fferente, basaLa su un prlnclplo ln base al quale non
vlene codlflcaLo ll valore dl ognl slngolo camplone, bensl la dlfferenza Lra l valorl dl due camplonl
successlvl. Codlflcando le dlfferenze ll range del valorl sl accorcla ed e qulndl posslblle uLlllzzare
meno blL. Le problemaLlche rlguardanLl la codlflca sono legaLe alla complesslLa degll algorLml usaLl
per reallzzarla che, lnseguendo l'obleLLlvo dl una buona quallLa del suono anche a fronLe dl un forLe
faLLore dl compresslone, rlchledono una poLenza elaboraLlva non lndlfferenLe. Le funzlonallLa dl
codlflca possono essere reallzzaLe sla a llvello del Lermlnale che a llvello dl CaLeway all'lnLerno della
reLe. Spesso sulla reLl vol e lnflne adoLLaLa la soppresslone del sllenzl, al flne dl rlsparmlare sulla
banda ln Lrasmlsslone nel momenLl ln cul uno degll lnLerlocuLorl smeLLe dl parlare.
un codec e un programma o un dlsposlLlvo che sl occupa dl codlflcare e/o decodlflcare dlglLalmenLe
un segnale (LlplcamenLe audlo o vldeo) perche possa essere rlchlamaLo per la sua leLLura. ClLre alla
dlglLallzzazlone del segnale, l codec effeLLuano anche una compresslone (e/o decompresslone ln
leLLura) del daLl ad esso relaLlvl, ln modo da poLer rldurre lo spazlo dl memorlzzazlone occupaLo a
vanLagglo della porLablllLa o della LrasmlsslvlLa del flusso codlflcaLo.
ll codec generalmenLe uLlllzzaLo dagll operaLorl Lelefonlcl e ll CM64, polche 64kbps slgnlflca non
effeLLuare alcuna compresslone. lnfaLLl all'operaLore Lelefonlco ln generale non e noLo se ll segnale
da LrasmeLLere e dl Llpo vocale o no, dl modo che non deve essere effeLLuaLa alcuna compresslone
che causerebbe probleml nel caso ln cul sl sLla Lrasferendo un flusso dl daLl verso un fax o un
modem pluLLosLo che un segnale vocale. er quanLo rlguarda l codec per la voce lnvece cl sono plu
alLernaLlve, con o senza compresslone. AlLra cosa che fanno l codec olLre alla compresslone del
camplonl e la rllevazlone del perlodl dl sllenzlo, operaLa monlLorando cosLanLemenLe l'energla del
segnale (al dl soLLo dl una cerLa soglla vlene conslderaLo sllenzlo). Se per da una parLe all'lnLerno dl
un perlodo dl sllenzlo non vlene codlflcaLo nulla, ll che consenLe dl rlsparmlare del byLe ln
Lrasmlsslone, dall'alLra spesso e necessarlo generare ad arLe un rumore dl soLLofondo, senza ll quale
l'lnLerlocuLore non sl renderebbe conLo che la chlamaLa e ancora aLLlva nel caso ln cul la conLroparLe
non parla. AlLra operazlone necessarla e la
cancellazlone dell'eco, perche c'e sempre un
segnale che esce dall'alLoparlanLe e rlenLra nel
mlcrofono. Se l'lnLervallo per complere Lale
cammlno e flno a 200ms l'orecchlo umano non
sl accorge dl nulla, polche ln Lal caso l'eco sl sovrappone abbasLanza bene a quello che dlclamo. Al dl
sopra del 200ms lnvece e necessarlo andare ad lndlvlduare l segnall che cosLlLulscono l'eco
(aLLraverso opporLune correlazlonl) ed ellmlnarll. 1ale operazlone non e per nulla banale ed
lnLroduce un ulLerlore aumenLo del carlco dl elaborazlone.


3. acchett|zzaz|one:
l camplonl dlglLallzzaLl vengono paccheLLlzzaLl. non posslamo lnfaLLl pensare dl poLer LrasmeLLere
ognl slngolo camplone ln un paccheLLo l separaLo, polche saremmo cosLreLLl a rlLrasmeLLere ognl
volLa le lnLesLazlonl e quesLo lnLrodurrebbe un grosso overhead. Sl pensl lnfaLLl come l'l lnLroduce
20byLe dl lnLesLazlone per ognl byLe dl carlco uLlle. er ovvlare a Lale problema sl organlzzano l
camplonl ln blocchl ed ognuno
dl essl vlene lnserlLo all'lnLerno
dl un paccheLLo l. Ad esemplo
nel CM ln un blocco vengono
raggruppaLl ben 160 camplonl,
corrlspondenLl a 20ms dl conversazlone (ln vlrLu del faLLo che sono prelevaLl 8000 camplonl/sec).
CuesLa sLraLegla lnLroduce evldenLemenLe un rlLardo dovuLo al faLLo che ll paccheLLo sara spedlLo
solo nel momenLo ln cul arrlva l'ulLlmo camplone da lncludere all'lnLerno del blocco (nel CM ad
esemplo l'ulLlmo camplone arrlva a dlsLanza dl 20ms dal prlmo).

4. Accodamento:
l paccheLLl vengono posLl ln coda per la Lrasmlsslone. Cul l probleml nascono nel momenLo ln cul l
rouLer non lmplemenLano alcuna pollLlca dl dlfferenzlazlone del Lrafflcl ln arrlvo. ln Lal caso paccheLLl
conLenenLl del camplonl vocall, e che qulndl avrebbero un'urgenza magglore, vengono accodaLl per
la spedlzlone come LuLLl gll alLrl paccheLLl daLl (che non sono senslblll rlspeLLo al Lempo) senza alcun
Llpo dl prlvlleglo. CuesLo non fa alLro che accumulare ulLerlore rlLardo. er evlLare quesLo problema
e necessarlo avere delle pollLlche dl
gesLlone delle code dl Lrasmlsslone
all'lnLerno del rouLer che prlvlleglno
del paccheLLl marcaLl ln modo da
lndlcare che quesLl necesslLano dl
una magglore prlorlLa nell'lnvlo. er
esemplo dl poLrebbero avere dlverse code nelle quall vengono posLl paccheLLl avenLl dlfferenLe
prlorlLa. ll rouLer procedera lnlzlalmenLe all'lnvlo del paccheLLl posLl nella coda a prlorlLa magglore
dopo dl che, quando quesLa sara vuoLa, sl passera all'lnvlo dl quelll presenLl nell'alLra coda.
L'operazlone dl separazlone del paccheLLl ln base alla loro prlorlLa prende ll nome dl mark|ng. 1ale
operazlonl poLrebbe essere compluLa dlreLLamenLe dall'appllcazlone, solo che ln Lal caso nulla
lmpedlrebbe che un'appllcazlone marchl lmproprlamenLe LuLLl l paccheLLl da lel generaLl come ad
alLa prlorlLa. ln alLernaLlva ll marklng pu essere esegulLo dal rouLers all'lngresso della reLe, se non
fosse che ll rouLer dl faLLo non sa cosa conLengono l paccheLLl che gll arrlvano, dl modo che non e ln
grado dl dlsLlngurll per eLlcheLLarll. Cuello che sl fa e qulndl lasclare ll marklng alle appllcazlonl,
prevedendo per dlfferenLl Larlffe a seconda della prlorlLa assegnaLa al paccheLLl generaLl.

3. 1rasm|ss|one:
l paccheLLl vengono Lrasmessl. Cuando un paccheLLo arrlva ln un rouLer ll Lempo necessarlo a
LrasmeLLerlo compleLamenLe e llmlLaLo superlormenLe dal Lempo dl Lrasmlsslone del paccheLLo
sLesso (che dlpende dalla sua lunghezza, L()) sommaLo al Lempo necessarlo a LrasmeLLere ll plu
grosso paccheLLo ammesso nella reLe (dl dlmenslone M1u). lnfaLLl un paccheLLo ad alLa prlorlLa,
arrlvando ln un rouLer, poLrebbe Lrovare che la coda ad alLa prlorlLa e vuoLa ma che dl faLLo ll rouLer
e gla lmpegnaLo nella Lrasmlsslone dl un paccheLLo della cosa a prlorlLa bassa. ln Lal caso blsognera
aLLendere che venga compleLaLo ll LrasferlmenLo ln corso per pol procedere a quello del paccheLLo
ad alLa prlorlLa.
ln Lermlnl maLemaLlcl ll Lempo per la Lrasmlsslone dl un
paccheLLo e ln generale esprlmlblle come segue,


dove 8 e la veloclLa dl Lrasmlsslone, L() e la lunghezza ln
byLe della coda corrlspondenLe alla prlorlLa del paccheLLo
ed M1u e la lunghezza del parLlcolare paccheLLo, che nel
caso pegglore e appunLo uguale alla Maxlmum 1ransferL unlL del segmenLo dl reLe sul quale vlene
Lrasmesso. LoglcamenLe ll Lempo lndlcaLo vale per un slngolo rouLer, dl modo che se sono
aLLraversaLl plu rouLer ll Lempo dl Lrasmlsslone e uguale alla sommaLorla del Lempl dl Lrasmlsslone
presso ognl rouLer.

6. ropagaz|one:
l paccheLLl sl propagano all'lnLerno la reLe verso la desLlnazlone. LoglcamenLe va LenuLo ln
conslderazlone ll conseguenLe rlLardo generaLo.

7. De-I|tter:
all'arrlvo vengono appllcaLl meccanlsml per l'aLLenuazlone del !lLLer (fluLLuazlone del Lempl dl
lnLerarrlvo del paccheLLl) che da fasLldlo ln fase dl rlproduzlone. L'appllcazlone sl aspeLLa lnfaLLl dl
rlcevere l paccheLLl ad lnLervalll regolarl cosl come sono sLaLl lmmessl nella reLe, quando dl faLLo l
rlLardl occorsl duranLe le fasl dl Lrasmlsslone e dl propagazlone fanno sl che la cadenza dl arrlvo non
sla quella aLLesa. er ovvlare a Lale problema, a desLlnazlone vlene uLlllzzaLo un blocco De-[|tter, che
dl sollLo corrlsponde ad un buffer. l paccheLLl ln arrlvo vengono accumulaLl nel buffer per un cerLo
Lempo prlma che abbla
lnlzlo la rlproduzlone,
per pol essere rllasclaLl
all'appllcazlone ad
lnLervalll regolarl cosl
come se ll aspeLLa. Cuello a cul blsogna sLare aLLenLl e che Lale buffer non sla mal vuoLo, polche ln
Lal caso l'appllcazlone sl Lroverebbe ln dlfflcolLa al prlmo rlLardo dl arrlvo del paccheLLl dalla reLe, ne
mal Lroppo pleno, polche ln Lal caso sl rlschlerebbe dl saLurarlo con conseguenLe perdlLa del
paccheLLl ln arrlvo.

8. k|ord|namento:
ll LrasporLo su l pu provocare l'arrlvo a desLlnazlone dl paccheLLl fuorl ordlne. 1all paccheLLl
dovrenno essere rlordlnaLl prlma dl poLer essere decodlflcaLl. nel caso ln cul un paccheLLo arrlvl
Lroppo ln rlLardo perche sla esegulLa l'operazlone dl rlordlno, allora vlene scarLaLo.





9. Decod|f|ca:
l paccheLLl vengono decodlflcaLl e vlene rlprodoLLo ll segnale vero e proprlo. ln parLlcolare ln fase dl
decodlflca e anche necessarlo rlprlsLlnare l sllenzl nel caso ln cul fossero sLaLl soppressl ln fase dl
codlflca

londamenLale lmporLanza rlvesLono, anche nell'amblLo del vol, le Lecnlche per la correzlone degll errorl.
nel proLocolll per la Lrasmlsslone daLl la correzlone degll errorl vlene faLLa usando la Lecnlca dl 8ackward
Lrror Correct|on, ovvero vlene rlchlesLa la rlLrasmlsslone del paccheLLl che sono sLaLl rllevaLl erraLl. 1ale
Lecnlca non pu essere uLlllzzaLa nel caso vol polche la rllevazlone dell'errore e la rlLrasmlsslone
rlchledono un cerLo Lempo che poLrebbe far sl che ll paccheLLo arrlvl a desLlnazlone Lroppo Lardl rlspeLLo
all'lsLanLe dl rlproduzlone schedulaLo.
Cuella che vlene usaLa e qulndl una
Lecnlca dl Iorward Lrror Correct|on.
1ale Lecnlca conslsLe nella spedlzlone
dl daLl rldondanLl che possono essere
uLlllzzaLl a desLlnazlone per correggere evenLuall errorl rlsconLraLl nel paccheLLl senza dover rlchledere una
rlLrasmlsslone. ln parLlcolare l'lnformazlone relaLlva al camplone n vlene lnserlLa:
! nel paccheLLo correnLe ad alLo blL raLe
! nel paccheLLo seguenLe a basso blL raLe
ll prezzo che sl paga uLlllzzando Lale Lecnlca sLa nella magglor quanLlLa dl daLl che e necessarlo LrasmeLLere.
Ce per da conslderare che nel caso ln cul salLlno due paccheLLl consecuLlvl, dl faLLo cl sl rlLrova a non avere
alcuna lnformazlone rlguardo ad un cerLo paccheLLo. ln Lal caso non c'e modo per correggere l'errore.


l parameLrl da Lenere ln conslderazlone nel conLesLo dl una sesslone vocale sono:

! k|tardo:
e ll parameLro plu lmporLanLe Lra l Lre perche nel caso ln cul ll rlLardo dl aLLraverso sl allunga Lroppo
sl manlfesLa la fasLldosa sensazlone che l'lnLerlocuLore sla lenLo dl rlflessl o che non abbla essendo
che non lo sl vede reaglre. L'l1u ha sLablllLo delle soglle oggeLLlve ln base alle quall valuLare se un
cerLo rlLardo e Lollerablle o meno. ln parLlcolare l'orecchlo umano non rlsconLra alcuna dlfferenza
rlspeLLo ad una conversazlone dal vlvo quando ll rlLardo e al masslmo 130ms, menLre un rlLardo che
supera l 400ms e conslderaLo LoLalmenLe lnacceLablle anche per collegamenLl lnLerconLlnenLall.
! 8anda:
ll Lrafflco vocale, a dlfferenza dl quello daLl, e dl Llpo anelasLlco. er la Lrasmlsslone dl voce su l
sono necessarl 64kbps: se dlsponessl dl una banda magglore quella ln eccesso sarebbelnuLlllzzaLa
menLre se non ne avessl abbasLanza per un perlodo dl Lempo Lroppo lungo la comunlcazlone non
sarebbe posslblle.
! erd|te:
purche le perdlLe non sl accumullno LuLLe ln un plnLervallo dl Lempo abbasLanza breve, una cerLa
percenLuale dl perdlLa e sopporLablle sla per quanLo rlguarda l'audlo che per ll vldeo. ln parLlcolare
e Lollerablle una perdlLa dl daLl flno al 3.

k1 - kea| 1|me rotoco|


ll proLocollo 81 sl pone a llvello Appllcazlone e dl sollLo uLlllzza l'uu quale proLocollo dl llvello 1rasporLo.
l'uu e ll proLocollo generalmenLe uLlllzzaLo per la Lrasmlsslone dl segnall audlo/vldeo, perche ll 1C
lmplemenLa molLe funzlonallLa che non solo non sono uLlll ln Lale conLesLo ma che addlrlLLura possono
essere conLroproducenLl se appllcaLe (ad esemplo ll conLrollo della congesLlone, che poLrebbe resLrlngere
la banda del canale rallenLando la Lrasmlsslone del paccheLLl audlo/vldeo). 81 e qulndl un proLocollo che
sl Lrova all'lnLerno delle macchlne uLenLe, non e lmplemenLaLo nel rouLer all'lnLerno della reLe, dl modo
che non pu essere uLlllzzaLo per garanLlre quallLa del servlzlo.
81 e ln grado dl gesLlre ll mulLlcasL naLlvo, non permeLLe dl frammenLare/rlassemblare paccheLLl
(funzlonallLa fornlLa dalla reLe soLLosLanLe), non gesLlsce gll errorl dl Lrasmlsslone e non lmpone del vlncoll
sul Llpo dl codlflca da uLlllzzare per la Lrasmlsslone del daLl audlo/vldeo. ll codec uLlllzzaLo vlene lndlcaLo
all'lnLerno del campo ayload1ype all'lnLerno dell'lnLesLazlone del paccheLLo.
ueLLo cosa l'81 non fa, vedlamo ora cosa lnvece fa:

! CesLlsce la sequenza del paccheLLl numerandoll e vl appone anche un LlmesLamp. CuesL'ulLlmo
lndlca ll numero dl camplone dl un segnale vocale.
! ermeLLe ln rlcezlone dl slncronlzzare ll flusso audlo con quello vldeo, polche essl sono due flussl
separaLl per quanLo rlguarda la reLe l. 1ale funzlonallLa ln realLa e reallzzaLa medlanLe ll supporLo
dl un secondo proLocollo, l' k1C - kea| 1|me 1ransfer rotoco|. CuesL'ulLlmo e un proLocollo dl
conLrollo assoclaLo alle reLl l e permeLLe ll monlLoragglo e conLrollo della connesslone.

81 non e faclle da lndlvlduare per l flrewall polche non uLlllzza porLe sLandard. CuesLo perche
poLenzlalmenLe una comunlcazlone rlchlede la gesLlone dl plu flussl conLemporaneamenLe, qulndl sara
necessarlo uLlllzzare plu dl una porLa. ualla dlfflcolLa dl lndlvlduare l paccheLLl 81 all'lnLerno della reLe
consegue una cerLa dlfflcolLa nella gesLlone dl una CoS assoclaLa.

ll generlco paccheLLo 81 presenLa ll seguenLe formaLo



dove:
! 1- ay|oad 1ype: campo da 7 blL che lndlca ll Llpo dl codlflca uLlllzzaLa all'lnLerno del paccheLLo,
nonche ll Llpo dl mezzo per ll quale sl sLanno LrasporLando daLl (audlo, vldeo, audlo/vldeo..). La
presenza dl Lale campo nell'lnLesLazlone permeLLe al mlLLenLe dl camblare codlflca al volo, menLre
la comunlcazlone e gla ln aLLo.
! Numero d| Sequenza: vlene lncremenLaLo dl uno ad ognl pacheLLo del medeslmo flusso.
! 1|mestamp: lndlca la sequenza del camplonl dl uno sLesso segnale.
! SSkC: ldenLlflcaLore del mlLLenLe del flusso daLl, polche da una sLessa macchlna o addlrlLLura da una
sLessa appllcazlone possono parLlre plu flussl dlreLLl verso uno sLesso desLlnaLarlo (mlc, webcam,
lavagna..).
! CSkC: ldenLlflca l flussl orlglnall che conLrlbulscono a reallzzare un flusso mlscelaLo ln lngresso al
desLlnaLarlo.

un k1 M|xer e un'enLlLa ln grado dl manlpolare flussl 81 eseguendone ad esemplo una mlscelazlone. Ad
esemplo daLl Lre dlsLlnLl flussl 81 ln lngresso A, 8 e C ll Mlxer ll mlscela ln un unlco flusso u ln usclLa. ln Lal
caso u e ll SS8C - SynchronlzaLlon Source ldenLlfler, menLre l flussl A,
8 e C saranno lndlcaLl quall flussl cosLlLuLlvl del flusso mlscelaLo u
all'lnLerno del campo CS8S - ConLrlbuLlng Source ldenLlfler.
Culndl ll Mlxer pu essere uLlle nel caso ln cul sl voglla reallzzare una
audloconferenza, caso ln cul ognuno del parLeclpanLl sl Lrova nella
slLuazlone dl dover gesLlre dlversl flussl ln arrlvo da LuLLl gll alLrl (senza conslderare pol operazlonl dl
rlmozlone o agglunLa dl nuovl flussl nel caso ln cul camblno l parLeclpanLl alla conferenza). ul segulLo sono
lllusLrare dlverse conflgurazlonl posslblll







ConLlnulamo ora a vedere alcunl aspeLLl dl caraLLere generale per quanLo rlguarda la voce su l. nella
flgura soLLosLanLe e rappresenLaLo l'uLlllzzo dell'l ln una reLe Lelefonlca aLLuale: ll prlmo LraLLo dl reLe
Lelefonlca Lradlzlonale non e camblaLo con l'lnLroduzlone dell'l. ual Lermlnale Lelefonlco parLe ll segnale
vocale ln formaLo analoglco, successlvamenLe converLlLo ln segnale dlglLale prlma dl glungere ad un
CaLeway dl lngresso al backbone dell'operaLore Lelefonlco (basaLo su l). ArrlvaLl al CaLeway l segnall
vocall vengono converLlLl ln paccheLLl l. ln parLlcolare un CaLeway Lra la llnea Lelefonlca e quella l pu
essere vlsLo come composLo da:

! Med|a Gateway:
sl occupa della converslone vera e proprla del canale Lelefonlco. AcceLLa ln
lnpuL l camplonl del segnale vocale analoglco da un slsLema 1uM e
resLlLulsce ln ouLpuL l paccheLLl l da spedlre verso ll CaLeway successlvo.
ll CaLeway desLlnaLarlo effeLLua l'operazlone lnversa, esLraendo l camplonl
dal paccheLLl l e lmmeLLendoll ln un slsLema 1uM.

! S|gna||ng Gateway:
8eallzza l'lnLerfacclamenLo dal punLo dl vlsLa della segnalazlone ln Lermlnl
dl composlzlone del numero Lelefonlco, Lono dl llbero/occupaLo, ganclo/
agganclo della corneLLa, segnalazlone lnLerna alla reLe, lnsLaurazlone della
chlamaLa al glusLo end-polnL, rlchlamaLa su occupaLo, ldenLlflcaLlvo
chlamanLe, conversazlone a Lre, ... MenLre ll medla gaLeway esegue poche
Llpologle dl operazlonl ad alLa veloclLa ll slgnallng gaLeway effeLLua un gran
numero dl dlverse operazlonl a bassa veloclLa, perche meno frequenLl rlspeLLo all'lnvlo dl paccheLLl.

! Gateway contro||er:
Svolge delle funzlonl dl caraLLere
generale. Ad esemplo sl occupa dl dlre al
Medla CaLeway "rendl ll canale x dl un
qualche 1uM e manda e lnolLralo verso
quesLo lndlrlzzo l ?" oppure "se
arrlvano paccheLLl con un cerLo
conLenuLo prendl l camplonl e lmmeLLlll
nello sloL x del 1uM ln usclLa".


AlLernaLlva allo schema dl uLlllzzo dell'l sulla reLe Lelefonlca appena dlscusso e
ll seguenLe. l poLenzlall uLenLl possono essere collegaLl sla alla normale
Lelefonlca che dlreLLamenLe al CeLaway per l'accesso alla reLe basaLa su l. ua
noLare e nel caso dl Lelefonl vol e C ll CaLeway pu benlsslmo essere
lmplemenLaLo all'lnLerno della posLazlone uLenLe per effeLLuare le converslonl
A/u e u/A e le operazlonl dl lmpaccheLLamenLo del
camplonl.
nel caso ln cul lnflne sl volesse candare ad
lnLeraglre con la coslddeLLa "8eLe lnLelllgenLe" per
usufrulre dl servlzl che vadano olLre ll sempllce
LrasporLo del segnale vocale, lo schema dlvenLa quello esposLo sulla dl segulLo.
l servlzl agglunLlvl sono fornlLl medlanLe del server apposlLl
rotoco||| d| segna|az|one

Andlamo ora ad esamlnare l proLocolll dl segnalazlone per la voce su l, ovvero proLocolll per la gesLlone
delle chlamaLe. Le operazlonl dl gesLlone della comunlcazlone dl lnLeresse sono le seguenLl:
! lndlrlzzamenLo: ovvero come sl fa a Lrovare ll desLlnaLarlo dl una cerLa chlamaLa.
! 1rasporLo del daLl
! Slcurezza della comunlcazlone
! SupporLo dl servlzl dl reLe lnLelllgenLe che vanno olLre la sempllce comunlcazlone vocale
Le alLernaLlve posslblll sono due:
! n.323 dell'l1u
! SI dell'lL1l
vedlamole plu ln deLLagllo.


n.323
lnlzlalmenLe sl era pensaLo all'P.323 come un proLocollo per la segnalazlone delle chlamaLe su reLe locale.
CuesLo perche all'epoca la banda necessarla per reallzzare una comunlcazlone audlo/vldeo era dlsponlblle
solo nel conLesLo delle reLl locall, quella dlsponlblle sulle reLl geograflche era davvero Lroppo rlsLreLLa. ln
segulLo, man mano che la slLuazlone delle reLl geograflche e andaLa mlgllorando, ln Lermlnl dl congesLlone
e dl banda, sl e lnlzlaLo a pensare ad un'esLenslone del proLocollo anche a quesLe ulLlme. ll proLocollo
P.323 offre supporLo alle
chlamaLe audlo, vldeo e alla
condlvlslone dl daLl (ad
esemplo la whlLeboard).
una posslblle conflgurazlone
dl reLe che uLlllzza P.323 e la
seguenLe, dove sl noLe come
(nella sua concezlone lnlzlale)
la reLe locale poLeva essere
"esLesa" aLLraverso del canall
che possono essere lSun o dl
Lelefonla (C1S - laln Cld
1elephone Servlce) usando un modem analoglco. Cuello lSun e lnfaLLl un canale a commuLazlone dl
clrculLo, dl modo che aperLo ll canale sono a dlsposlzlone 128kbps flssl ( dl modo che ll rlLardo dl
aLLraversamenLo e cosLanLe). ll CaLeway permeLLe agll uLenLl remoLl dl collegarsl alla reLe locale.
un Gatekeeper rappresenLa ll conLrollore dl un'area, dl modo che quando sl lnLende fare una qualche
operazlone dl segnalazlone (ad esemplo cl sl vuole conneLLere ad un uLenLe) e necessarlo andare a
conLaLLare ll gaLekeeper dl zona perche fornlsca le lndlcazlonl a rlguardo (la connesslone e posslblle o no,
poslzlone e lndlrlzzo dell'uLenLe che sl vuole conLaLLare,..). lu ln parLlcolare per zona sl lnLende un lnsleme
dl elemenLl P.323 gesLlLl al plu da un solo gaLekeeper, senza alcuna assunzlone rlguardo la Lopologla della
reLe soLLosLanLe.
una cosa che non e vlsuallzzaLa nello schema precedenLe e ll MCU - Mu|t|po|nt Contro| Un|t, all'lnLerno
della quale possono essere dlsLlnLl due componenLl:

! ll Mu|t|po|nt Contro||er: permeLLe dl negozlare le mlnlme capablllLles comunl Lra coloro che
lnLraprendono la comunlcazlone.
! ll Mu|t|po|nt rocessor: permeLLe dl fare mlxlng e swlLchlng del varl flussl, ovvero prende dlversl
flussl ln lngresso ed e ln grado dl dlsLrlbulrll su una cerLa serle dl desLlnaLarl.

Lale unlLa e uLlllzzaLa ln caso dl conferenza Lra Lre o plu Lermlnall ln modallLa unlcasL o dl conferenza Lra Lre
o plu Lermlnall ln modallLa mlsLa, unlcasL e mulLlcasL.


er quanLo rlguarda l'archlLeLLura proLocollare, quesLa e rappresenLablle dal seguenLe schema








La seguenLe flgura lllusLra quelle che sono le fasl per aprlre una comunlcazlone Lra due Lermlnall con
l'P.323. er la sola fase dl aperLura vengono uLlllzzaLl ben Lre proLocolll dlfferenLl, a parLe l'81 che
rlguarda la Lrasmlsslone sul canale vero e proprlo: l' P.223 8AS, ll C.931 e l' P.243. CuesLo modo dl aglre da
un p fasLldlo, polche la sLandardlzzazlone da parLe dl l1u dl Lroppl proLocolll per reallzzare funzlonallLa
speclflche lngarbuglla alquanLo la fase dl reallzzazlone.
1kASMISSICNL AUDIC]VIDLC
codec audlo/vldeo,81,uu,l
CCN1kCLLC DLL CANALL VCCALL]VIDLC
rlguarda la cldlflca del segnale e la
gesLlone del canale
SLGNALA2ICNL
1kASMISSICNL DA1I
Lrasmlsslone daLl
classlca, aslncrona


nonosLanLe oggl eslsLano ln commerclo dlverse appllcazlonl basaLe su Lale proLocollo, LendenzlalmenLe cl
sl va orlenLando verso l'uLlllzzo dl Sl.


SI - Sess|on In|t|at|on rotoco|

ll proLocollo Sl e una proposLa naLa ln amblLo lL1l (lnfaLLl la sLruLLura del paccheLLl Sl e molLo slmlle a
quella del paccheLLl P11), svlluppaLo ex-novo e locallzzaLo a llvello Appllcazlone.
Le caraLLerlsLlche prlnclpall dl Lale proLocollo sono le seguenLl:
! Gest|one de||a segna|az|one:
Sl sl occupa solo della gesLlone delle chlamaLe, non dl come sl codlflcano l segnall audlo/vldeo.
lnolLre non sl occupa dl prenoLare delle rlsorse sulla reLe per la comunlcazlone al flne dl garanLlre
una cerLa quallLa del servlzlo.
! Magg|ore semp||c|t e |eggerezza
! Segna|az|one d| t|po end-to-end:
l paccheLLl Sl vengono lnLerpreLaLl solo dalle macchlne uLenLe lmpllcaLe nella comunlcazlone, l
rouLer ll vedono solo come normall paccheLLl l. ua qul derlva l' lmposslbllelLa dl prenoLare delle
rlsorse sulla reLe, polche le rlchlesLe per Lall prenoLazlonl dovrebbero essere faLLe proprlo a quesLl
ulLlml.
! Iorn|tura name mapp|ng:
ll desLlnaLarlo dl una chlamaLa Sl e lnfaLLl espresso nella forma uLenLe[domlnlo, dove "domlnlo" e
un normale domlnlo reglsLraLo all'lnLerno dl un unS. ll nome uLenLe dovra essere converLlLo ln un
lndlrlzzo l per poLer ldenLlflcare ll desLlnaLarlo della comunlcazlone.
! ersona| mob|||ty:
l'uLenLe pu presenLarsl alla reLe l anche camblando ll suo lndlrlzzo l ognl volLa che sl rlcollega,
polche LanLo e ldenLlflcaLo uLlllzzando un nome e non ll suo lndlrlzzo l. ua noLare e per che
l'lndlrlzzo l non pu varlare menLre una sesslone Sl e ln corso.
! L' un protoco||o basato su de||e |nteraz|on| d| t|po c||ent-server
nella faLLlspecle nel corso dl una sesslone Sl vocale ll chlamanLe funge da cllenL, menLre ll
desLlnaLarlo fa le vecl del server anche se dl faLLo nella macchlna uLenLe sono lmplemenLaLe
enLrambe le modallLa dl funzlonamenLo. ne consegue che quesLa e una dl quelle appllcazlonl che
creano del probleml ln presenza dl nA1 polche le macchlne uLenLe, poLenzlall server, poLrebbero
essere poslzlonaLe dleLro ad uno dl essl.
! u appogg|ars| su un protoco||o d| ||ve||o trasporto qua|e 1C, 1LS o UD
dove 1LS e un'evoluzlone del proLocollo SSL capace dl fornlre auLenLlcazlone dl enLrambe le parLl e
la clfraLura del daLl che flulscono sulla connesslone 1C. nel caso ln cul sl pu fare a meno dl Lall
funzlonallLa dl slcurezza la scelLa plu comune e l'uLlllzzo dell'uu oppure del solo 1C (polche esso
consenLe dl bucare plu facllmenLe l flrewall, spesso conflguraLl ln modo da bloccare l flussl uu a
meno che quesLl non slano legaLl a delle rlchlesLe dl Llpo unS).
! Non v|ene effettuata frammentaz|one
1uLLo ll messagglo deve essere conLenuLo all'lnLerno dl un paccheLLo, la cul dlmenslone e funzlone
della M1u del LraLLo dl reLe ln conslderazlone.

l servlzl supporLaLl da Sl vanno dalla chlamaLa vocale all'L-presence, dall'lnsLanL Messanglng alla
condlvlslone dl flle e whlLeboard. ul faLLo non per LuLLl quesLl servlzl eslsLono delle lmplemenLazlonl
aLLualmenLe ln commerclo.
nel caso dl lmplemenLazlone del servlzlo dl chlamaLa vol l prlnclpall servlzl offerLl sono l seguenLl:
! Locallzzazlone dell'uLenLe, nel senso dl locallzzazlone dell'lndlrlzzo l del desLlnaLarlo
! ueLermlnazlone delle capaclLa dell'uLenLe per quanLo concerne ad esemplo l codec uLlllzzablll e l
relaLlvl parameLrl dl uLlllzzo
! noLlflca della dlsponlblllLa dell'uLenLe ad acceLLare l'lnsLaurazlone della comunlcazlone
! SeLup (lmposLazlone del parameLrl) e gesLlone della chlamaLa
Lo sLack proLocollare lnerenLe le funzlonallLa del Sl e schemaLlzzablle come segue






1kASMISSICNL AUDIC]VIDLC
codec audlo/vldeo,81,uu,l
CCN1kCLLC DLLLA CCDIIICA
sl basa su una serle dl feedback
CCN1kCLLC DLLLA 1kASMISSICNL DA UN SLkVLk DI
MA1LkIALL AUDIC]VIDLC GIA' MLMCkI22A1C
funzlonallLa sLlle leLLore uvu ma con maLerlale audlo/vldeo
memorlzzaLo su un server ln reLe
1kASMISSICNL DA1I
Lrasmlsslone daLl
classlca, aslncrona

IMLLMLN1A2ICNL
DLL SI VLkA L
kCkIA

nel conLesLo dell'lmplemenLazlone Sl vlene uLlllzzaLo ll proLocollo SD - Sess|on Descr|pt|on rotoco| per
la clfraLura dl alcunl Llpl dl messaggl (e qulndl lncluso nel corpo del messagglo Sl). lu che un proLocollo
l'Su pu essere conslderaLo un meccanlsmo dl clfraLura dl alcunl Llpl dl lnfomazlonl, uLlllzzaLo per
descrlvere le caraLLerlsLlche parLlcolarl dl una sesslone mulLlmedlale che sl lnLende lnsLaurare. Se ne
deduce che l'Su e uLlllzzaLo prlnclpalmenLe nelle fasl lnlzlall dl lnsLaurazlone della chlamaLa, duranLe le
quall ha luogo, Lra l due lnLerlocuLorl, una negozlazlone del parameLrl della comunlcazlone quall
! numero dl flussl mulLlmedlall
! 1lpo dl medla (audlo, vldeo, ), perche ad esemplo se chledo una chlamaLa vldeo e dall'alLra parLe
non ce una webcam allora la sesslone non pu essere lnsLauraLa.
! Codec (P.261 vldeo, MLC vldeo, )
! roLocollodl LrasporLo da usare (81/uu/l, P.320, )
! 8anda rlchlesLa (anche se pol comunque ll Sl non sl preoccupa dl garanLlre che Lale lndlcazlone
venga rlspeLLaLa)
! lndlrlzzl l e le porLe da uLlllzzare per l flussl mulLlmedlall
! 1empo dl lnlzlo / flne del flusso
! SorgenLe
l messaggl Su sl compongono dl due parLl
! sezlone SLSSICNL
conLlene lnformazlonl generall su LuLLa la sesslone,
ovvero vallde per LuLLl l flussl mulLlmedlall che la
compongono. 1ale parLe lnlzla con la dlclLura "v="

! sezlone MLDIA
ln un messagglo Su possono essere presenLl una o plu sezlonl dl quesLo Llpo (al plu un numero dl
volLe parl al numero del medla uLlllzzaLl). La dlclLura "m=" lndlca una rlga conLenenLe un bloccheLLo
dl comandl che descrlve le caraLLerlsLlche dl un parLlcolare flusso della sesslone.

vedlamo qulndl alcunl esempl a rlguardo







Sez|one SLSSICNL
speclflca la verslone, l'lndlrlzzo l e la porLa
del creaLore della sesslone mulLlmedlale,
lnformazlonl sulla connesslone (usando
l'lv4 sl vuole ragglungere la macchlna
medlaserver.pollLo.lL) e sulla banda rlchlesLa.
Sez|one MLDIA
speclflca la presenza dl un unlco canale audlo che
dovra essere Lrasmesso con 81 alla porLa 3004
uLlllzzando un codec Lra due alLernaLlve quall
CMu e CSM (lndlcaLl da 0 e 3). A seconda dl quale
del due vlene scelLo sl avra ll corrlspondenLe
valore nel campo "payload Lype" del paccheLLl
lnvlaLl.



l prlnclpall componenLl dl Sl sono l seguenLl:
! Med|a roxy, Med|a Server, MCU
dedlcaLl a svolgere delle operazlonl
che hanno a che fare con l flussl
audlo/vldeo. CuesLl non sono legaLl
sLreLLamenLe a Sl, ovvero non
sono legaLl alle operazlonl dl
segnalazlone. ll Med|a roxy
lspezlona l paccheLLl medla per
lndlvlduare se per caso conLengono
qualcosa dl dannoso. ulversamenLe
pu anche essere uLlllzzaLo per
operare delle rlcodlflche al flne dl
faclllLare la vlLa dl coloro che
rlsledono all'lnLerno dl un cerLo
domlnlo: gll uLenLl possono lnfaLLl uLlllzzare pochl (anche uno solo) codec, sl preoccupera ll proxy dl
rlcodlflcare ll conLenuLo del paccheLLl medlanLe ll correLLo codec concordaLo per la speclflca sesslone dl
comunlcazlone. ll Med|a Server fornlsce servlzl a valore agglunLo quall la segreLerla Lelefonlca o la
muslca dl lnLraLLenlmenLo nel caso dl chlamaLo gla lmpegnaLo ln una comunlcazlone.
! AAA Server
come nel caso delle vn, Lale server conLlene LuLLe le lnformazlonl necessarle per l'auLenLlcazlone degll
uLenLl e la llsLa del servlzl al quall quesLl possono accedere. 1ale server, se eslsLe, eslsLe gla dl per se per
alLrl moLlvl, non e un componenLe sLreLLamenLe legaLo a Sl.
! 1utt| g|| a|tr|
molLo spesso vengono reallzzaLl ln un unlco Server, sopraLLuLLo nel caso ln cul ll numero delle posslblll
rlchlesLe da gesLlre non e molLo elevaLo.
! Utente
dl qualunque Llpo esso sla, dlspone dl uno User Agent. CuesL'ulLlmo ha due faccle, una CllenL e l'alLra
Server, che enLrano ln azlone rlspeLLlvamenLe quando l' uLenLe avvla una chlamaLa e quando lnvece ne
e desLlnaLarlo. La prlma operazlone che deve complere lo user AgenL quando enLra ln funzlone e
conLaLLare ll keg|strar Server del proprlo domlnlo per rendergll noLo che un parLlcolare uLenLe x e ora
dlsponlblle sulla macchlna avenLe lndlrlzzo l ? (dlversamenLe nessuno sarebbe ln grado dl conLaLLare
l'uLenLe). ln parole povere Lale server Llene Lraccla del mapplng Lra uLenLe e ll suo lndlrlzzo l. ll
Locat|on Server e lnvece quello cul cl sl rlvolge per rlcercare un uLenLe che sl vuole conLaLLare.
L'Cutbound]Inbound roxy Server lnvece vlene conLaLLaLo dall'uLenLe nel momenLo ln cul, una volLa
reglsLraLo, voglla effeLLuare una qualche operazlone perche assolva alle operazlonl prellmlnarl quall ad
esemplo reperlre l'lndlrlzzo l del desLlnaLarlo e conLaLLare l'AAA Server per verlflcare l'ammlsslblllLa
della rlchlesLa arrlvaLagll. MolLo spesso quesLl ulLlml componenLl (8eglsLrar server, locaLlon server,
proxy server) collassano ln un unlco server deLLo generlcamenLe SI Server. ll ked|rect Server e un
redlrezlonaLore dl chlamaLe uLlle per lmplemenLare pollLlche lnLelllgenLl. CuesLo permeLLe operazlonl
quall ll "follow me", ovvero posso dlre al server "Cuarda, dopo una cerLa ora sar ragglunglblle a
quesL'alLro dlverso numero dl Lelefono o lndlrlzzo l", oppure la devlazlone verso la segreLerla
Lelefonlca (poLenzlalmenLe slLuaLa su un'alLro server) dl una chlamaLa per la quale non ce sLaLa alcuna
rlsposLa.

vedlamo qulndl ora un esemplo concreLo del funzlonamenLo dl Lale archlLeLLura: l'uLenLe fulvlo[pollLo.lL
ha blsogno dl conoscere l'lndlrlzzo l dell'uLenLe reLLore[unlLo.lL polche ha lnLenzlone dl aprlre con esso
una comunlcazlone mulLlmedlale.
ul conseguenza sl rlvolge al Server
Sl (che funge anche da roxy
Server) del proprlo domlnlo perche
gll fornlsca Lale lnformazlone.
CuesL'ulLlmo come prlma cosa va
ad ldenLlflcare ll Sl Server del
domlnlo del desLlnaLarlo (o uno del
server polche e posslblle che ce ne
slano plu dl uno). lndlvlduaLolo, gll
sara rlchlesLo l'lndlrlzzo l del
desLlnaLarlo cercaLo, oppure anche
dl occuparsl lul sLesso dl lnolLrare a
quesL'ulLlmo la rlchlesLa dl aperLura della comunlcazlone mulLlmedlale (l'lndlrlzzo l del desLlnaLarlo sara
lndlcaLo nel paccheLLl dl rlsposLa). CuesLo Llpo dl organlzzazlone basaLa sulla suddlvlslone ln domlnl
permeLLe che ognuno dl quesLl sla compleLamenLe auLonomo per quanLo rlguarda la scelLa del noml degll
uLenLl. lnolLre alLro rllevanLe vanLagglo e che un uLenLe e ln grado dl sposLarsl ln una qualunque parLe del
mondo ed essere comunque ragglunglblle prevla comunlcazlone della proprla poslzlone/lndlrlzzo l al
server del proprlo domlnlo. Se ne deduce qulndl che ll problema prlnclpale e deflnlre ll meccanlsmo dl
lnLerconnesslone Lra l varl domlnl Sl.


Ind|r|zzamento |n SI

Come e sLaLo gla accennaLo ln precedenza ln Sl sl lndlrlzza un uLenLe e non un Lermlnale ben preclso, dl
modo che quesLo pu anche collegarsl alla reLe ognl volLa con un lndlrlzzo l dlfferenLe (perche lo ha
camblaLo lul o perche magarl ha proprlo camblaLo posLazlone dl collegamenLo). ll generlco formaLo dl
lndlrlzzamenLo e ll seguenLe

nomeutente@dominio.com

dove ll domlnlo spesso colnclde con quello dl posLa eleLLronlca e pu essere sla ll nome dl una macchlna
che un lndlrlzzo l, oppure ancora un nome dl domlnlo pluLLosLo che un server dl domlnlo (proprlo come
accade nel caso della posLa eleLLronlca). un formaLo dl lndlrlzzamenLo alLernaLlvo e lnvece

num_telefono@gateway

che dl faLLo permeLLe dl lndlrlzzare una chlamaLa anche verso un uLenLe dl reLe Lelefonlca "normale", non
solo verso uLenLl Sl. ln Lal caso qulndl al posLo del domlnlo e necessarlo speclflcare ll CaLeway da uLlllzzare
(espresso come ll nome dl una macchlna o ll rlspeLLlvo lndlrlzzo l) per poLer enLrare ln conLaLLo con la reLe
Lelefonlca convenzlonale.
L' posslblle lnolLre personallzzare la chlamaLa (ln Lermlnl dl proLocollo dl LrasporLo uLlllzzaLo, lndrlzzo dl
mulLlcasL, 11L..) speclflcando del parameLrl

utente:passw@dominio:porta;parametri?...

er esemplo

" sip:nome.cognome@dominio.it;maddr=239.255.1.1;ttl=15




" sip:nome.cognome@dominio.it?subject=project




" sip:+1-212-555-1212:1234@gateway.com;user=phone




L' lnLulLlvo caplre come ln Lal modo sl possa speclflcamenLe lndlrlzzare ll domlnlo dl apparLenenza
dell'uLenLe, ma non lndlcare espllclLamenLe la macchlna sulla quale esso sl Lrova. olche per meLLersl ln
conLaLLo con quesL'ulLlmo e per necessarlo conoscere ll suo lndlrlzzo l aLLuale, per reperlrlo vlene usaLa
una serle dl 8esource 8ecord unS dedlcaLl (che rlcalcano l meccanlsml dl posLa eleLLronlca e l rlspeLLlvl 88
dl Llpo Mx):
nome uLenLe
arameLrl
Sl uLlllzza ll mulLlcasL address speclflcaLo per
lndlrlzzare ll desLlnaLarlo della chlamaLa. ll
11L e usaLo per llmlLare Lale mulLlcasL.
ulclLura uLlllzzaLa per passare ll valore del
parameLrl, allo sLesso modo ln cul accade sul web
Cuando sl vuole conLaLLare un uLenLe della reLe Lelefonlca
convenzlonale blsogna speclflcare ll gaLeway per avervl
accesso e ll parameLro user con valore "phone"
! SkV
Sono usaLl per deflnlre l Server legaLl a Sl. La slnLassl usaLa e la seguenLe
_Service._Proto.Name TTL Class SRV Priority Weight Port Target






e
! 11L:
lndlca ll Lempo dl valldlLa dell'lnformazlone conLenuLa nel 88.

! kICkI1 e WLIGn1:
hanno senso se cl sono plu record avenLl la parLe lnzlale uguale (_Servlce._roLo.name). ln Lal
caso Lall campl sono uLlllzzaLl per sLablllre un ordlne ln base al quale ll Server unS deve fornlre
quel 88 quando gll vlene lnolLraLa una rlchlesLa per lo speclflco domlnlo. lnolLre uLlllzzando Lall
campl e posslblle suddlvldere a placlmenLo ll carlco dl lavoro Lra plu Server all'lnLerno del
medeslmo domlnlo. er esemplo per ll domlnlo foo.com



dove l prlml quaLLro server fornlscono a due a due ll medeslmo servlzlo. er l prlml due offrono
un servlzlo su uu e per essl e sLaLo lmposLo un ordlne dl prlorlLa, nel senso che sl andra a
conLaLLare ll server2 solo nel momenLo ln cul ll server1 sla lmposslblllLaLo ad assolvere al
servlzlo. Cll alLrl due offrono un servlzlo su 1C e per essl e sLaLa lmposLaLa una rlparLlzlone del
carlco dl lavoro ln proporzlonl 1/3 e 2/3 (lnfaLLl ll server1 verra messo ln LesLa quaLLro volLe su
sel). ua noLare e lnolLre che SlS sLa ad lndlcare un'lmplemenLazlone dl Sl su 1LS (proLocollo che
all'aperLura della connesslone cerca dl auLenLlcare almeno ll server, opzlonalmenLe anche ll
cllenL), che dl conseguenza usa 1C come proLocollo dl llvello LrasporLo.

! Ck1:
numero dl porLa.

! 1AkGL1:
nome della macchlna desLlnaLarlo o lndlrlzzo l assoclaLo.

qulndl ad esemplo

_sip._udp.foo.com 43200 IN SRV 10 10 5060 sipserver.foo.com.


nome del servlzlo
roLocollo dl llvello
1rasporLo uLlllzzaLo
nome del domlnlo
! NA1k
Lale Llpo dl record deflnlsce quale proLocollo dl LrasporLo debba essere preferlLo per accedere ad
un cerLo servlzlo (1C, uu, SC1, 1LS/1C). ul conseguenza non e obbllgaLorlo polche sl poLrebbe
benlsslmo andare a cercare un record dl Llpo S8v, che gla conLlene le lnformazlonl sul servlzlo e sul
proLocollo dl LrasporLo. La slnLassl generale dl Lale record e la seguenLe

domain-name TTL Class NAPTR order preference flags service regexp target

dove l campl CkDLk e kLILkLNCL assolvono allo sLesso complLo del campl rlorlLy e WelghL del
record S8v. Culndl ad esemplo

foo.com. 43200 IN NAPTR 60 50 "s" "SIP+D2U" "" _sip._udp.foo.com.

ua quanLo deLLo sl ha che la conflgurazlone unS dl un domlnlo (ad esemplo foo.com) poLrebbe essere
lnLeramenLe descrlLLa come segue



l messaggl Sl rlcalcano la sLruLLura slnLaLLlca del messaggl P11, con una prlma rlga ln cul e presenLe ll
comando o ll codlce dl sLaLo (se sl LraLLa dl una rlsposLa) segulLa da una serle dl rlghe dl lnLesLazlone.
CuesLe comprendono lnformazlonl relaLlve agll uLenLl lnLeressaLl al messagglo, ll percorso che esso deve
complere prlma dl glungere alla desLlnazlone, ecc. uopo una llnea
vuoLa vlene posLo lnflne ll carlco uLlle del messagglo, sollLamenLe
codlflcaLo con Su.
l comandl posslblll sono l seguenLl:

! kLGIS1Lk:
uLlllzzaLo dallo user AgenL per reglsLrare un lndlrlzzo Sl presso
ll 8eglsLrar Server (lncluso nel plu generlco Sl Server). u
1
2
essere lnvlaLo all'lndlrlzzo mulLlcasL corrlspondenLe a LuLLl l Sl Server (224.0.1.73).
! INVI1L:
uLlllzzaLo per rlchledere l'lnlzlo dl una comunlcazlone, dl modo che pu essere lndlrlzzaLo
dlreLLamenLe verso ll desLlnaLarlo flnale nel caso ln cul se ne conosca l'lndlrlzzo l. ulversamenLe
sara spedlLo al Server Sl del proprlo domlnlo che sl occupera dl lnolLrarlo verso ll vero desLlnaLarlo
uLlllzzando le rlsorse unS. u essere lnvlaLo anche duranLe una conversazlone e pu conLenere una
descrlzlone Su del parameLrl rlchlesLl.
! ACk:
Lale messagglo vlene generaLo dal chlamanLe e lndlca una concluslone poslLlva della chlamaLa. 1ale
messagglo chlude ul Lhree-way-handshacklng composLo da lnvl1L-->S1A1uS Ck-->ACk.
! 8L:
provoca la chlusura della chlamaLa. Cualora venga lnvlaLo duranLe la fase dl connesslone equlvale ad
un rlfluLo della chlamaLa.
! CANCLL:
cancella una rlchlesLa dl connesslone ancora pendenLe, ovvero per la quale non sl e ancora avuLa
una rlsposLa.
! C1ICNS:
uLlllzzaLo per scoprlre le capaclLa dello uA, qulndl uLlle per conoscere le capaclLa dl un Lermlnale
aLLualmenLe lmpegnaLo ln una sesslone dl comunlcazlone.
! SU8SCkI8L:
uLlllzzaLo per soLLoscrlvere lo sLaLo dl un alLro uA (e-presence). u essere lnolLraLo sla allo uA
desLlnazlone, sla ad un e-presence server (a seconda del modello dl e-presence uLlllzzaLo nel
domlnlo) che provvedera a noLlflcarlo agll alLrl uLenLl perlodlcamenLe.
! NC1II:
noLlflca un camblamenLo dl sLaLo dl uno user AgenL.
! MLSSAGL:
usaLo per l'lnolLro dl un messagglo (LesLo, xML, ...) Lra due uAs (lnsLanL messaglng).

l campl dell'lnLesLazlone sono lnvece l seguenLl:

! IkCM, 1C:
lndlca l'lnlzlaLore e ll LermlnaLore della rlchlesLa Sl. ll valore dl Lall campl vlene manLenuLo lnLaLLo
nel messagglo dl rlLorno, cloe l campl lrom e 1o non vengono scamblaLl nel messaggl da qualunque
del due lnLerlocuLorl essl provengano.
! CCN1AC1:
lndlca l'lndlrlzzo l da conLaLLare per fare ln modo che gll user AgenL sl parllno dlreLLamenLe, senza
colnvolgere l server Sl.
! kLCCkD kCU1ING:
lndlca che l paccheLLl Sl spedlLl devono sempre LranslLare aLLraverso ll proxy. 1ermlnaLa la fase dl
scoperLa dell'lndlrlzzo l del desLlnaLarlo (qualora non lo sl conosca
gla) medlanLe l Sl Server e posslblle lnfaLLl avvlare una comunlcazlone
dlreLLa Lra gll uA, oppure conLlnuare ad usufrulre della medlazlone del
Sl Server. Come ben sapplamo l Server possono rlsledere anche
all'lnLerno delle macchlne uLenLe e danno del probleml nel caso ln cul
slano collocaLl dleLro un nA1, dl modo che sl e sollLl collocare l Sl
Server al dl fuorl del nA1. Lo uA sul Lermlnale A sl sara reglsLraLo sul server Sl, dl modo che ll nA1
ha creaLo nelle sue Labelle un'assoclazlone (lndlrlzzo l --> lndlrlzzo l + numero dl porLa) per poLerlo
lndlrlzzare.
! VIA:
Campo che permeLLe dl Lenere Lraccla del percorso del messagglo, necessarlo quando la rlchlesLa Sl
e gesLlLa da plu server (proxy) ln cascaLa.
! CALL-ID:
ll valore dl Lale campo ldenLlflca unlvocamenLe un lnvlLo (se la procedura equella dl lnvl1L) e LuLLe
le reglsLrazlonl dl un uLenLe (ln caso dl 8LClS1L8).
! CSL:
numero dl sequenza necessarlo polche ll proLocollo dl llvello dl LrasporLo uLlllzzaLo poLrebbe essere
uu, dl modo che c'e la posslblllLa che l messaggl arrlvlno fuorl ordlne. uLlllzzando ll valore dl Lale
campo e lnvece posslblle accopplare correLLamenLe le rlsposLe alle rlchlesLe.
! SU8ILC1:
consenLe dl speclflcare l'oggeLLo della chlamaLa.
! CCN1LN1 1L:
Speclflca la Llpologla del payload conLenuLo nel paccheLLo Sl.
! CCN1LN1 LLNGn1:
lndlca la lunghezza del payload.
! CCN1LN1 LNCCDING:
lndlca se la codlflca del conLenuLo ha sublLo manlpolazlonl, quall ad esemplo una compresslone.

l codlcl dl errore che possono essere
rlcevuLl sono rlassunLl nella seguenLe
Labella






deLLo quesLo, passlamo a vedere degll esempl dl messaggl Sl
Lsemplo dl messagglo Sl dl Llpo INVI1L . La prlma rlga
descrlve ll Llpo del messagglo ln manlera del LuLLo slmllare
a quanLo accade nel messaggl P11 lndlcando:
! ll nome del meLodo scrlLLo LuLLo maluscolo
! l'u8l (slp:called[dom.com)
! la verslone del proLocollo
pol nelle rlghe dl header sono lndlcaLl ordlnaLamenLe: ll
percorso segulLo, mlLLenLe,desLlnaLarlo, l'ld (scelLo a caso
dal mlLLenLe) della chlamaLa, ll command sequence (che
lndlca che quello correnLe e ll prlmo lnvl1L), ll sub[ecL, ll
Llpo del corpo del messagglo (essendo un lnvlLe c'e un
corpo ed e cosLlLulLo da una descrlzlone faLLa con sdp dl
quelll che sono l parameLrl della sesslone) e la sua lunghezza. Culndl pol una rlga blanca ed lnlzla ll corpo
del messagglo arLlcolaLo nelle sue sezlonl SLSSlCnL (v=0) e MLulA (m=0).

osslblle messagglo dl rlsposLa al precedenLe messagglo
dl lnvl1L. ll percorso e sLaLo agglornaLo appendendovl
una seconda rlga dl vlA menLre l campl from e Lo sono
ldenLlcl al messagglo precedenLe, come anche ll calllu.
Anche Lale messagglo ha un corpo cosLlLulLo da una
descrlzlone sdp del parameLrl della sesslone, la cul
lunghezza non e per speclflcaLa.





vedlamo lnflne un esemplo esausLlvo dl una sesslone Sl Lra due enLlLa, una chlamanLe e l'alLra rlcevenLe,
dove:
! per 1kANSA2ICNL sl lnLende la equenza dl un messagglo e relaLlva rlsposLa. ln una Lransazlone sono
manLenuLl lnvarlaLl l campl Sl lrom, 1o, Call-lu, Cseq. ln parLlcolare le rlsposLe 2xx chludono la
Lransazlone.
! per DIALCGC sl lnLende una relazlone Lra uA che lnlzla quando vlene rlcevuLa una rlsposLa
poslLlva".
ll chlamanLe lnlzla lnvlando un lnvl1L al roxy server
del proprlo domlnlo, ll quale dovra locallzzare ll proxy
server del domlnlo del desLlnaLarlo medlanLe le rlsorse
unS (vengono lnLerrogaLl ordlnaLamenLe l 88 nA18,
S8v, A/AAAA). 1rovaLolo gll glra l'lnvl1L rlcevuLo dal
chlamanLe e noLlflca la cosa a quesL'ulLlmo medlanLe un
100 18?lnC ("Ml sLo dando da fare ma ancora non
slamo pronLl"). ll proxy server 8 a sua volLa glra l'lnvl1L
al chlamaLo e noLlflca la cosa al server A ("Po glraLo
l'lnvlLe all'uLenLe flnale ma per ora ancora non ho una
rlsposLa deflnlLlva"). Lo user AgenL dell'uLenLe flnale a
quesLo punLo lnvla una noLlflca 180 8lnClnC ("Po
avverLlLo l'uLenLe umano, ora sLo aspeLLando lul") al
server 8. 1ale noLlflca vlene lnolLraLa ln cascaLa flno al
chlamanLe. nel momenLo ln cul ll chlamaLo alza la
corneLLa vlene lnvece propagaLo flno al chlamanLe un
messagglo dl 200 Ck. A quesLo punLo ha lnlzlo ll dlalogo
dlreLLo Lra l due uA. Le noLlflche lnvlaLe sono lndlspensablll per non far scadere del LlmeouL uLlll nel caso
avvengano perdlLe dl messaggl.
Sl noLa che l prlml messaggl sono sempre lnvlaLl aLLraverso l proxy, ll che offre una magglore garanzla sul
recaplLo del messaggl conslderando anche che ll recaplLo dlreLLo del messaggl poLrebbe non essere
posslblle nel caso ln cul almeno uno del due uA fosse dleLro un nA1. Cll ulLlml messaggl sono lnvece dlreLLl
a meno che non sla sLaLo lmposLaLo ll 8ecord 8ouLe dal proxy nel messaggl precedenLl. lnflne poLrebbe
essere ellmlnaLo ll prlmo messagglo qualora lo uA del chlamanLe effeLLul dlreLLamenLe le operazlonl dl
locallzzazlone del chlamaLo necessarle, cosa per normalmenLe evlLaLa per probleml dl auLenLlcazlone.
La procedura dl rlsoluzlone dl un lndlrlzzo Sl sublsce delle varlazlonl nel seguenLl casl:
! L'uLenLe lndlca la porLa, oppure l'lndlrlzzo e numerlco del chlamaLo. ln Lal caso vlene al plu rlsolLo
l'lndlrlzzo con una query A/AAAA senza lnLeressare resource record dl Llpo nA18 / S8v.
! 8esource 8ecord non eslsLenLl. ln parLlcolare se non eslsLe ll 88 nA18 (perche magarl eslsLe un
solo Llpo dl servlzlo) vlene rlchlesLo l'S8v menLre se non eslsLe l'S8v, sl prova con quelll A/AAAA.
un esemplo degll sLep dl rlsoluzlone dl un lndlrlzzo Sl e ll seguenLe. ln parLlcolare sl sLa cercando dl
rlsolvere ll nome slp:bob[foo.com


AlLra sequenza dl messaggl Llplca dl Sl e lnolLre la seguenLe

ua noLare e che ll Server Sl per
effeLLuare la reglsLrazlone rlchlede
che venga superaLa una fase dl
auLenLlcazlone che segue ll sollLo
proLocollo con sflda e rlsposLa
(l'uLenLe dlmosLra la sua ldenLlLa
clfrando con la sua chlave segreLa la
sLrlnga dl sflda che ll server gll ha
lnvlaLo).






Lo standard LNUM

Lo sLandard LNUM e naLo ln conglunzlone con Sl ln vlrLu della necesslLa dl deflnlre un'lnfrasLruLLura che
supporLasse l vecchl lndlrlzzl numerlcl L.164, sLandard l1u che governa l meccanlsml dl allocazlone e
cosLruzlone del numerl dl Lelefono nel slsLema Lelefonlco Lradlzlonale. l Lelefonl Lradlzlonall hanno solo
LasLl numerlcl e come essl anche molLl Lelefonl l (deLLl SofL-phone, Lelefonl dall'aspeLLo apparenLemenLe
Lradlzlonale ma collegaLl dlreLLamenLe alla reLe eLherneL e Lraducono un numero dl Lelefono ln un u8l Sl),
l cul uLenLl devono per comunque essere ln grado dl lndlrlzzare LuLLl gll uLenLl Sl. ln poche parole qulndl
lo sLandard LnuM provvede alla Lrasformazlone dl un numero Lelefonlco Lradlzlonale che segue lo
sLandard L.164 ln un nome uLenLe Sl (nome uLenLe + nome domlnlo). er la deLermlnazlone del domlnlo
dl apparLenenza dell'uLenLe Sl vengono usaLe le rlsorse unS.
Cll scenarl gll lnLerazlone posslblll sono l seguenLl:

! ChlamaLa Sl verso alLro uLenLe Sl: ln Lal caso lo sLandard LnuM non e lmpllcaLo.
! ChlamaLa da gaLeway vol (qulndl da reLe Lelefonlca Lradlzlonale) verso uLenLe Sl: ln Lal caso lo ln
conformlLa allo sLandard LnuM sl deve essere ln grado dl effeLLuare una converslone del Llpo
seguenLe +39-011-3647008 --> slp:+39-011-3647008[foo.com.
! ChlamaLa da uLenLe Sl verso uLenLe reLe Lelefonlca Lradlzlonale: Lale problema non vlene affronLaLo
e vlene gesLlLo dal gaLeway dl accesso alla reLe Lelefonlca.

ll funzlonamenLo dello sLandard LnuM pu essere descrlLLo cosl: ll numero Lelefonlco conforme allo
sLandard L.164 vlene preso, prlvaLo del caraLLerl non numerlcl e capovolLo. CuesLo perche ll unS procede
per sufflssl (la parLe plu slgnlflcaLlva, quella
che lndlca ll soLLolnsleme plu grosso, sl Lrova
al fondo) menLre l'L.164 per preflssl. A quesLo
punLo, posLo un "." dopo ognl clfra, per avere
ll nome del domlnlo compleLo sl concaLena la
sLrlnga ".e164.arpa" (per lndlcare che deve
essere rlsolLo medlanLe lo sLandard L.164).
medlanLe Lale sLrlnga sl cerca qulndl dl
accedere alle rlsorse unS.
ll Server unS pu rlspondere alla rlchlesLa dl rlsoluzlone con una llsLa dl record nA18. 1all record sono un
p dlversl da quelll vlsLl precedenLemenLe, quesLo perche Lall record non fornlscono ll nome dl un servlzlo
bensl hanno lo
scopo dl lndlcare
quale manlpolazlone
blsogna effeLLuare
per Lrasformare ll
nome desLlnaLarlo ln
un lndlrlzzo Sl. ln
parLlcolare vlene daLa lndlcazlone dl selezlonare LuLLll caraLLerl (".") che sono compresl Lra l'lnlzlo ("") e
la flne ("") della sLrlnga e concaLenarvl ll nome dl domlnlo fornlLo dal record.

uescrlvlamo ora nel deLLagllo gll scenarl dl lnLerazlone precedenLemenLe elencaLl:

# Comun|caz|one da S1N a I

ln quesLo caso l'uLenLe dl reLe Lelefonlca Lradlzlonale compone un numero. La reLe Lelefonlca caplsce che ll
numero dl Lelefono deve essere dlroLLaLo verso un CaLeway Sl, ln vlrLu del faLLo che quel numero rlcade
ln un cerLo lnLervallo preassegnaLo ad un deLermlnaLo CaLeway. ll CaLeway a sua volLa deve ora caplre a
quale domlnlo apparLlene ll
desLlnaLarlo cercaLo, cosa che
poLrebbe anche essere dedoLLa
da un qualche preflsso del
numero dlglLaLo. ll numero
vlene prlvaLo del caraLLerl non
numerlcl, vlene capovolLo, Lra
le clfre vengono posLl caraLLerl
"." e vlene concaLenaLa ln coda
la sLrlnga ".e164.arpa". arLe
qulndl la rlchlesLa verso ll Local
name Server, cul vlene passaLa
la sLrlnga. CuesLo sl occupa dl
conLaLLare l server della caLena
(evenLualmenLe parLendo da
un 8ooL name Server) al flne dl oLLenere la Lraduzlone rlchlesLagll. CLLenuLala vlene lnvlaLa una rlsposLa al
CaLeway conLenenLe la Lraduzlone nella forma user[domaln.com. 8lparLe qulndl una rlcerca sul unS per
la rlsoluzlone dl Lale nome ln un lndlrlzzo l dl modo che, medlanLe l 88 rlLornaLl, ll CaLeway sara ln grado
dl locallzzare ll Server del domlnlo del desLlnaLarlo e qulndl dl conLaLLarlo per lnolLrargll la rlchlesLa dl
chlamaLa. ll Server del domlnlo del desLlnaLarlo flnale procedera qulndl ad lnolLrarla a quesL'ulLlmo, dl cul
conosce bene la poslzlone. ll messagglo dl rlLorno ( Ck o slmlll) sara rlLornaLo flno al gaLeway dl parLenza,
che quando necessarlo provvedera a noLlflcare gll avvenlmenLl ln corso all'uLenLe chlamanLe.


# Comun|caz|one da I a I

ln quesLo caso ll CaLeway sl Lrova dlreLLamenLe denLro la macchlna uLenLe soLLo forma dello user AgenL.
CuesLo sl occupa dl manlpolare ll
numero e conLaLLare ll Local name
Server per averne una Lraduzlone.
CLLenuLa la rlsoluzlone ln Lermlnl
dl nomeuLenLe[domlnlo.com ne
occorrera una seconda al flne dl
sLablllre la collocazlone (lndlrlzzo
l) del Server del domlnlo cul
apparLlene ll desLlnaLarlo. lnfaLLl
gll uLenLl poLrebbero essere nel
medeslmo domlnlo l ma non
nello sLesso domlnlo Sl. nel caso
parLlcolare ln esame l due uLenLl sl Lrovano nel medeslmo domlnlo Sl.
La gesLlone dell'lnfrasLruLLura dl cul necesslLa lo sLandard LnuM emolLo complessa. ul conseguenza nel
caso dl reLl plccole, pu non essere necessarlo uLlllzzare lo sLandard nella sua lnLerezza. er esemplo un
sempllce schema dl funzlonamenLo che dlsLlngue Lra le chlamaLe lnLerne e quelle da dlroLLare all'esLerno
poLrebbe essere ll seguenLe











per ll quale la conflgurazlone unS poLrebbe essere la seguenLe


er quanLo rlguarda la slcurezza ln Sl le funzlonallLa fornlLe sono le seguenLl: auLenLlcazlone dell'uLenLe,
meccanlsml conLro uenlal of Servlce, meccanlsml conLro lo spam e crlpLaLura (opzlonale) del corpo del
messagglo e/o dell'elenco del nodl lnLermedl ln cul e LranslLaLo ll messagglo.










Catture ed eserc|z|
SI - Sess|on In|t|at|on rotoco|


Cattura: keg|straz|one SI con Cutbound roxySI
L'uLenLe deve effeLLuare una reglsLrazlone con la parLlcolarlLa che ll 8eglsLrar Sl Server non colnclde con ll
Sl CuLbound roxy Server.
La sequenza delle operazlonl e la seguenLe










L'uLenLe (130.192.226.140) conLaLLa ll unS Server (130.192.3.24) per rlchledergll la Lraduzlone del nome
smlLhers.lpv6.pollLo.lL perche sa che Lale macchlna e l'CuLbound roxy Server deslgnaLo (cul deve rlvolgersl
qualunque sla l'azlone che lnLenda lnLraprendere). La rlsposLa che gll vlene rlLornaLa conLlene la rlsoluzlone
unS del nome nell'lndlrlzzo l 130.192.223.14 medlanLe un 88 dl Llpo A. Culndl pol l'uLenLe rlvolge al roxy
Server la sua rlchlesLa dl 8eglsLrazlone, ln parLlcolare ln quesLo caso l'uLenLe rlchlede una reglsLrazlone
presso ll domlnlo lpLel.org (8LClS1L8: slp:lpLel.org) e non presso ll roxy server sLesso. CuesL'ulLlmo sl
occupera della rlsoluzlone unS del nome dl domlnlo fornlLo dall'uLenLe e conLaLLera ll server dl Lale
domlnlo per lnolLrargll la rlchlesLa dl reglsLrazlone. Come rlsposLa all'uLenLe vlene rlLornaLo un messagglo
"401 unauLhorlzed", ln quanLo ll roxy Server per procedere con le operazlonl rlchlede che l'uLenLe sl
soLLoponga ad una procedura dl auLenLlcazlone. ln flgura e lllusLraLa la llnea dl rlsposLa con la rlchlesLa dl
auLenLlcazlone per ll domlnlo lpLel.org (speclflcaLo nel campo "realm") e la sflda proposLa (campo "nonce")


ua parLe sua l'uLenLe rlsponde lnvlando nuovamenLe un messagglo dl reglsLrazlone che per sLavolLa
assolve anche alla necesslLa dl auLenLlcazlone: ll messagglo conLlene la sflda, della quale ha calcolaLo l'md3,
clfraLa con la proprla chlave segreLa. ll roxy provera a declfrala usando la chlave pubbllca dell'uLenLe, dl
modo che sara cosl accerLaLa l'ldenLlLa dl quesL'ulLlmo.


A quesLo punLo ll roxy rlLornera un messagglo (200 Ck) dl conferma avvenuLa auLenLlcazlone e lnlzlo
della procedura dl reglsLrazlone.

Cattura: keg|straz|one SI con NA1k
ln quesLo caso, a dlfferenza del precedenLe, sl sLa procedendo ad una reglsLrazlone normale, ovvero presso
ll server del proprlo domlnlo


Sl parLe con la rlchlesLa dl record nA18 al Local name Server per poLer rlsolvere ll nome lpv6.pollLo.lL

1ale rlchlesLa pu essere assolLa dlreLLamenLe dal Local name Server polche ll nome dl domlnlo cercaLo
rlcade all'lnLerno della sLessa reLe del mlLLenLe (dlversamenLe ll LnS dovrebbe rlcorrere a Server unS dl
llvello superlore). La rlsposLa e la seguenLe

dove la rlga dl "8eplacemenL"
lndlca ll servlzlo Sl su uu
dlsponlblle presso ll domlnlo,
nonche ll nome del record S8v da
rlcercare nel prosslmo passo (ma
ln quesLo caso non sara
necessarlo).
ll campo "AuLhorlLaLlve name
servers" lndlca lnvece ll nome
dell'auLhor nameserver per ll
domlnlo lpv6.pollLo.lL e ll campo
valore (name server) ll nome della
macchlna su cul e collocaLo. 1ale lnfo
vlene fornlLa, seppur non rlchlesLa,
perche sara uLlle al LnS nel caso ln cul
sl volessero fare alLre azlonl che
colnvolgono ll domlnlo ln esame.
vengono lnolLre fornlLl 3 AddlLlonal
records: nonosLanLe fosse sLaLo rlchlesLo solo un record nA18, ll server nella rlsposLa ha fornlLo anche l
record S8v (ln quesLo caso solo uno) corrlspondenLl al servlzlo lndlcaLo nel record nA18, LuLLl l record
A/AAA che corrlspondono al server clLaLl ln Lale servlzlo (lnvlcaLl nel campo 1argeL del record S8v) e l
record A/AAAA relaLlvl all'AuLhorlLaLlve nameserver per ll domlnlo.


A quesLo punLo l'uLenLe lnolLra ll messagglo conLenenLe la rlchlesLa dl reglsLrazlone

a cul ll server rlsponde, come gla accaduLo nel caso precedenLe, con un "401 unauLhorlzed" che lnnesca la
procedura dl auLenLlcazlone medlanLe ll meccanlsmo dl sflda: l'uLenLe lnvla al server un nuovo messagglo
conLenenLe una rlchlesLa dl 8eglsLer ll quale lnclude la rlsposLa alla sflda proposLagll, ovvero la sLrlnga
clfraLa uLlllzzando la proprla chlave prlvaLa. ll Server, uLlllzzando la chlave pubbllca dell'uLenLe, declfra la
sLrlnga rlcevuLa, se quesLa e uguale a quella dl sflda che aveva
lnvlaLo allora l'uLenLe pu rlLenersl auLenLlcaLo e gll vlene
lnolLraLo un messagglo "200 Ck" con ll quale sl aLLesLa che la
procedura dl reglsLrazlone pu ora essere porLaLa avanLl.

n.8.
l messaggl 3 e 6 mosLraLl nella caLLura sono superflul, ma evldenLemenLe ll sofLware uLlllzzaLo ll rlchledeva.

Lserc|z|o 1
uaLa la caLLura rlporLaLa ln flgurarelaLlva alla fase dl reglsLrazlone dl un uLenLe Sl, lndlcare:
1. L'lndlrlzzo l del cllenL Sl
2. L'lndlrlzzo l del proxy
3. erchell prlmo LenLaLlvo dl reglsLazlone falllsce?
4. Splegare brevemenLe come avvlene la procedura dl reglsLrazlone


rlma dl LuLLo andlamo a dare un'occhlaLa alla sequenza del messaggl per caplre la slLuazlone ln cul cl
Lrovlamo: l prlml due paccheLLl corrlspondono ad una rlchlesLa unS con successlva rlsposLa che ha lo scopo
dl caplre dove sl Lrovl al Server presso cul fare la reglsLrazlone oppure ll roxy aLLraverso ll quale farla. 1ale
sequenza dl messaggl poLrebbe evenLualmenLe mancare nel caso ln cul l'appllcazlone chledesse dl
speclflcare l'lndlrlzzo l del roxy server pluLLosLo che ll nome della macchlna sulla quale rlslede. Segue un
messagglo dl 8eglsLer lndlrlzzaLo al domlnlo slp:lpv6.pollLo.lL, da cul qulndl

1. L'lndlrlzzo l del cllenLe Sl e 130.192.223.36
2. L'lndlrlzzo l del roxy e 130.192.223.79
lnolLre
3. ll prlmo LenLaLlvo dl reglsLrazlone falllsce perche nel messagglo lo uA Sl non ha lncluso le credenzlall dl
auLenLlcazlonl. 1ale messagglo serve qulndl solo per rlcevere nella rlsposLa una qualche sflda da parLe del
server per poLer lnlzlare la procedura dl auLenLlcazlone.

4. La procedura dl auLenLlcazlone avvlene nel seguenLe modo: ll server lnvla all'uLenLe una sLrlnga "sflda".
L'uLenLe la elabora usando un algorlLmo noLo e la clfra uLlllzzando la sua chlave segreLa. ll Server declfrera
la sLrlnga uLlllzzando la chlae pubbllca dell'uLenLe: se la sLrlnga oLLenuLa colnclde con quella che era sLaLa
lnvlaLa allora l'uLenLe rlsulLa auLenLlcaLo e sl pu procedere con la procedura dl auLenLlcazlone.


Lserc|z|o 2
uaLo ll messagglo Sl 8LClS1L8 rlporLaLo nella caLLura, sl elenchlno e sl commenLlno brevemenLe l campl
plu lmporLanLl dell'header.

Anallzzlamo l campl conLenuLl all'lnLerno dell'header:
! VIA: lndlca LuLLl l slsLeml lnLermedl Sl che sono sLaLl aLLraversaLl (ln quesLo caso e rlporLaLo solo ll
mlLLenLe). 1ale elenco vlene rlpeLuLo nella rlsposLa serve per poLer rlpercorrere la sLrada al rovesclo
e permeLLe al varl server Sl dl non Lenere memorla delle varle rlchlesLe che hanno rlcevuLo e che
hanno rlLrasmesso.
! MAk-ICkWAkD: lndlca ll numero masslmo dl slsLeml lnLermedl Sl (non rouLers!!!) che possono
essere aLLraversaLl.
! CCN1AC1: lndlca ll nome dell'uLenLe che ha faLLo la rlchlesLa.
! 1C: lndlca ll desLlnaLarlo della rlchlesLa.
! IkCM: lndlca nuovamenLe ll rlchledenLe.
! CALL-ID: ldenLlflcaLlvo casuale della chlamaLa.
! CSL: lndlca che quesLa e la seconda 8eglsLer della sesslone correnLe.
! LkIkLS: lndlca la duraLa della reglsLrazlone.
! ALLCW: lndlca l comandl che sono lmplemenLaLl dallo uA che ha generaLo la rlchesLa.
! USLk-AGLN1: lndlca ll Llpo dl uA.
! AU1nCkI2A1ICN: conLlene la rlsposLa alla sflda dl auLenLlcazlone.
! CCN1LN1-LLNGn1: lndlca la lunghezza del corpo del messagglo (per un messagglo dl 8eglsLer e
sempre 0).


Lserc|z|o 3
uaLo ll messagglo Sl 8LClS1L8 rlporLaLo
nella caLLura, e supponendo che ll cllenL
Sl sla conflguraLo correLLamenLe, quale
poLra essere la rlsposLa fornlLa dal server
Sl?

ual momenLo che la quasl LoLallLa del
server rlchlede una fase dl auLenLlcazlone
a monLe della reglsLrazlone, la rlsposLa sara presumlbllmenLe del Llpo 401 unauLhorlzed", ln quanLo ll
messagglo non lnclude le credenzlall dl auLenLlcazlone. erLanLo, non verra creaLa alcuna assoclazlone
username-l e la rlsposLa del proxy lncludera una sflda dl auLenLlcazlone (nel campo "nonce").


Lserc|z|o 4
uaLa la caLLura della sesslone dl lnvl1L rlporLaLa ln flgura, supponendo che l'lnlzlaLore della sesslone sla un
uLenLe del domlnlo lpv6.pollLo.lL":
1. lndlcare l'username dl enLrambl gll uLenLl
2. lndlcare lndlrlzzo l e porLa dl enLrambl gll uA Sl
3. A cosa serve ll paccheLLo 100 1rylng"?
4. A cosa serve ll paccheLLo 180 8lnglng"?
3. ll record-rouLlng e ablllLaLo sul/sul proxy Sl?
6. Cuale e ll numero mlnlmo dl proxy che ll messagglo lnvl1L pu lnconLrare lungo ll suo percorso?
n.8. ll 8ecord rouLlng e quel meccanlsmo Lale per cul anche dopo che dopo che e sLaLa spedlLa la rlchlesLa
ed e LornaLa lndleLro la rlsposLa l messaggl Sl conLlnuano comunque a passare aLLraverso l server. Se Lale
meccanlsmo non e ablllLaLo lnvece dopo la prlma lnLerazlone messagglo-rlsposLa l messaggl Sl lnlzlano a
LranslLare dlreLLamenLe Lra l due uA.

l prlml messaggl rlguardano come al sollLo la rlcerca nelle rlsorse unS per caplre quale sla ll server dl usclLa,
polche probabllmenLe lo uA ha conflguraLo al suo lnLerno solo ll nome dl Lale server e non ll suo lndlrlzzo
l. nel Lerzo messagglo vlene fuorl lo username del chlamaLo, essendo quesLo un messagglo dl lnvl1L
1. L'username dell'uLenLe chlamaLo (con relaLlvo domlnlo dl apparLenenza) e LesL_user[lpv6.pollLo.lL.
CuesLo sl Lrova nel medeslmo domlnlo del chlamanLe per lpoLesl, dl modo
che ll roxy Server Sl non avra blsogno dl usufrulre dl alcuna rlsorsa unS
per ragglungerlo, bensl sara ln grado dl lnolLrargll dlreLLamenLe ll
messagglo dl lnvl1L dell'uLenLe chlamanLe slp_lnvlo.
ll roxy Server ln Lale conLesLo (enLrambl gll uLenLl apparLengono al
medeslmo domlnlo) opera qulndl sla come lnbound che come ouLbound
server. CuesL'ulLlmo lnvla al chlmanLe (130.192.223.133) messaggl dl
noLlflca dl "18?lnC", "8lnClnC" e "200 Ck". A quesLo punLo sl pu
conslderare conclusa la fase dl chlamaLa e rlsposLa, ll prosslmo messagglo,
un "ACk", poLrebbe LranslLare dlreLLamenLe da uno uA all'alLro nel caso ln
cul non sla aLLlvo ll 8ecord rouLlng. ln quesLo caso per sl noLa come Lale messagglo e lndlrlzzaLo
all'lndlrlzzo 130.192.223.79 del proxy, qulndl
3. ll record rouLlng e ablllLaLo sul server proxy Sl.
2. ll chlamanLe ha lndlrlzzo l 130.192.223.133 ed e ln comunlcazlone sulla porLa 7226. ll chlamaLo lnvece
ha l 130.192.223.36 ed uLlllzza la porLa 63772.
3. ll paccheLLo "100 18?lnC" serve ad lndlcare allo uA che ll server ha rlcevuLo ll suo messagglo dl lnvl1L e
sLa aLLlvandosl per lnolLrarlo al desLlnaLarlo.
4. ll paccheLLo "180 8lnClnC" serve lnvece ad lndlcare che ll messagglo dl lnvl1L e sLaLo correLLamenLe
lnolLraLo al desLlnaLarlo e sl e ora ln aLLesa che l'uLenLe umano acceLLl Lale rlchlesLa (che ll suo uA gll sLa
noLlflcando medlanLe un apposlLo Lono dl chlamaLa).
6. Lssendo che l due uLenLl sl Lrovano enLrambl nel medeslmo domlnlo, ll mlnlmo numero dl proxy server
che ll messagglo dl lnvl1L pu lnconLrare un solo proxy server. CuesL'ulLlmo funge sla da server d'lngresso
che da server dl usclLa per ll domlnlo.


Lserc|z|o S
uaLa la caLLura della sesslone dl lnvl1L rlporLaLa ln flgura, supponendo che l'lnlzlaLore della sesslone sla un
uLenLe del domlnlo lpv6.pollLo.lL":
1. lndlcare lndlrlzzo l e porLa dl enLrambl gll uA Sl
2. ll record-rouLlng e ablllLaLo sul/sul proxy Sl?

ln quesLo caso l'lnvlo del messagglo dl lnvl1L avvlene dlreLLamenLe allo uA chlamaLo, moLlvo per cul
posslamo dedurre che sl LraLLa dell'ulLlma Lrasmlsslone dell'lnvl1L (quando ll nome uLenLe e gla sLaLo
rlsolLo e slamo qulndl ln possesso dell'lndlrlzzo l del desLlnaLarlo flnale). La macchlna 130.192.223.79 pu
essere o lo uA chlamanLe o un lnbound roxy Server (perche Sl non vleLa che gll uA parllno
dlreLLamenLe). Chl cl chlarlsce le ldee a rlguardo e ll messagglo dl ACk, polche quesLo e ll prlmo messagglo
che pu essere spedlLo dlreLLamenLe da uno uA all'alLro nel caso ln cul non sla ablllLaLo ll meccanlsmo dl
record-rouLlng. ua quanLo deLLo scaLurlsce che
1. L'lndlrlzzo l dell'lnlzlaLore della sesslone e 130.192.223.36, ln comunlcazlone sulla porLa 7884.
L'lndlrlzzo l del chlamaLo e lnvece 130.192.223.36 e quesLo e ln comunlcazlone sulla porLa 7884. La
macchlna avenLe lndlrlzzo l 130.192.223.79 e dunque l'lnbound roxy Server.
2. ll record-rouLlng e dlsablllLaLo sul/sul roxy Sl.
Lserc|z|o 6
uaLe le seguenLl 2 u8l Sl dl due uLenLl correLLamenLe reglsLraLl sul loro domlnlo:
! allce[lpv6.pollLo.lL
! bob[lpv6.pollLo.lL
8lporLare schemaLlcamenLe l paccheLLl che Allce e 8ob devono scamblarsl per effeLLuare una chlamaLa
lncludendo:
1. LvenLuall paccheLLl auslllarl (paccheLLl unS e paccheLLl generaLl dal roxy)
2. l paccheLLl generaLl dal roxy

dal momenLo che la reglsLrazlone ha gla avuLo luogo, enLrambl gll uA possono accedere al roxy senza
ulLerlorl lnLerrogazlonl unS, grazle alle rlspeLLlve unS cache proxy Sl. Lo schema rlchlesLo e qulndl ll
seguenLe




Lserc|z|o 7
uaLe le seguenLl 2 u8l Sl:
! allce[lpv6.pollLo.lL
! bob[lpLel.org
rlporLare schemaLlcamenLe l paccheLLl che allce e bob devono scamblarsl lncludendo:

1. LvenLuall paccheLLl auslllarl
2. l paccheLLl generaLl dal proxy

ln quesLo caso l due uLenLl non sl Lrovano all'lnLerno dl due domlnl dlfferenLl. Lo schema rlchlesLo e ll
seguenLe


















LL2ICNI N. 21,22


Le ret| eer to eer
Introduz|one a||a rete Skype


uopo aver vlsLo l slsLeml dl volce-Cver-l basaLl su Sl passlamo ora a LraLLare quello che ne e ll magglor
"concorrenLe", Skype. CuesL'ulLlmo sl basa sulle reLl peer-Lo-peer per ll suo funzlonamenLo.
una rete d| over|ay e una reLe ln cul sl sovrappone una Lopologla loglca a quella che e una Lopologla flslca.
1uLLl l nodl dell'overlay sono anche nodl della reLe flslca. Cuello che vlene vlrLuallzzaLo sono l collegamenLl,
ovvero l rapporLl dl vlclnanza Lra l nodl. Cl slgnlflca che
l'adlacenza dl due nodl ln una reLe dl overlay non sl
Lraduce necessarlamenLe ln una adlacenza anche
quando sl passa a vlsuallzzare la mappa flslca della reLe.
ua noLare e che l'overlay pu essere repllcaLo su plu
llvelll e possono eslsLere plu cople dl una sLessa rlsorsa
al flne dl masslmlzzarne la regglunglblllLa (ad esemplo un
flle).
Le ket| eer-1o-eer sono appunLo delle reLl dl overlay:
le varle macchlne del peer cosLlLulscono l nodl della reLe
e fra dl loro sl lnsLaurano delle connesslonl (ad esemplo
1C) che danno del rapporLl dl vlclnanza.
Le caraLLerlsLlche prlnclpall delle reLl peer-Lo-peer sono le seguenLl:

! ognl nodo della reLe funge poLenzlalmenLe sla da cllenL che da server (anche ln conLemporanea)
! l nodl della reLe non sono LuLLl uguall ln Lermlnl sla dl rlsorse che dl conflgurazlone
! alcunl peer hanno conneLLlvlLa llmlLaLa a causa dl nA1 o flrewall. ll nA1 da probleml dl accesso ad
un peer (nel momenLo ln cul cloe ll peer che sl Lrova dleLro ll nA1 funge da server) menLre l flrewall
danno probleml ln enLrambe le dlrezlonl.
! sono reLl dl grandl dlmenslonl, poLenzlalmenLe mondlall

Le operazlonl fondamenLall da complere ln LuLLl l slsLeml peer-Lo-peer sono lnvece le seguenLl:
! 8CC1: rappresenLa la fase dl lngresso nell'lnfrasLruLLura 2. Se non e la prlma volLa che cl sl
collega, dall'ulLlmo collegamenLo sl e conservaLo un elenco dl lndlrlzzl dl macchlne che erano
al'lnLerno dell'overlay nel momenLo ln cul cl sl e scollegaLl. CuesLo perche per avere accesso alla
reLe 2 e necessarlo conoscere l'lndlrlzzo dl almeno una macchlna che ne faccla parLe. ul
conseguenza sollLamenLe nel codlce vlene cabloLo l'lndlrlzzo dl alcunl server che saranno sempre
ragglunglblll per poLer effeLLuare l'accesso.
! LCCkU kISCkSL: locallzzazlone delle rlsorse (flle,..) su una lnfrasLruLLura 2 all'lnLerno della
quale ne eslsLono plu cople.
! SCAM8IC DI DA1I (f||e, VoI, IM,..): scamblo dl daLl Lra due cllenL" della reLe 2.

LslsLono dlverse Lecnlche dl lookup delle rlsorse nelle reLl 2, lllusLraLe dal seguenLe dlagramma


napsLer, un sofLware per la condlvlslone dl flle, faceva uso del lookup dl Llpo cenLrallzzaLo: eslsLeva un
unlco server cenLrallzzaLo all'lnLerno del quale erano presenLl LuLLe le lnformazlonl per meLLere ln relazlone
ll nome dl un flle con LuLLl l peer onllne che possledevano una copla del flle. ul conseguenza quando un
peer sl avvlava dl faLLo andava presso Lale server a reglsLrare LuLLl l flles ln suo possesso e che erano messl
a dlsposlzlone. Cuando lnvece un peer doveva esegulre una rlcerca andava presso ll server a rlcercare ll
nome del flle all'lnLerno dell'lndlce, oLLenendo come rlsulLaLo gll lndlrlzzl l dl LuLLl l peer onllne che ne
meLLevano a dlsposlzlone una copla. ua quanLo deLLo sl deduce che ll server rappresenLava un collo dl
boLLlglla, nonche un slngle polnL-of-fallure.
er superare l llmlLl del slsLema dl Llpo cenLrallzzaLo cl sl e andaLl ln segulLo orlenLando verso slsLeml dl Llpo
decenLrallzzaLo che Lendono a dlsLrlbulre anche la fase dl rlcerca su plu macchlne. L'lndlce del flle e degll
uLenLl che ll meLLono a dlsposlzlone e dlsLrlbulLo su varl peer che ne meLLono a dlsposlzlone dlversl
spezzonl. A rlguardo possono essere lndlvlduaLe due soLLocaLegorle: overlay sLruLLuraLl e non sLruLLuraLl.
nel prlml un nuovo peer che enLra sceglle, Llrando a caso ln un grosso range dl valorl, un ldenLlflcaLore ed n
base ad esso rlceve una porzlone ben preclsa dell'lndlce. CuesLo compllca le operazlonl dl lngresso e usclLa,
polche nel momenLo ln un cul ll peer enLra cl deve essere qualcuno che sl occupl dl consegnargll ll pezzo dl
lndlce che gll compeLe e quando esce lnvece dovra passare ad un'alLro peer ben preclso ll pezzo dl lndlce
posseduLo. lnolLre e necessarlo avere delle cople dl ognl pezzo dl lndlce da poLer uLlllzzare nel momenLo ln
cul un peer venga meno lmprovvlsamenLe (magarl per colpa dl un guasLo). ua quanLo deLLo sl pu dedurre
che la gesLlone dl overlay sLruLLuraLl e abbasLanza complessa. negll overlay non sLruLLuraLl lnvece e LuLLo
un p plu sfumaLo, non e ben chlaro quale pezzo dl lndlce un peer posslede perche non c'e una relazlone
Lra l'lndlce e la sLruLLura dell'overlay. CuesLo pu porLare ad avere del falsl negaLlvl nel momenLo ln cul sl
effeLLua la rlcerca per una rlsorsa.

kazaa: over|ay gerarch|co

kazaa sl basa su una reLe peer-Lo-peer dl Llpo non sLruLLuraLo con due Llpl dl macchlne:
! Super nodes
! Crdlnary nodes
Lra l quall sl sLablllscono del rapporLl dl vlclnanza medlanLe delle connesslonl 1C. una volLa scoperLo dove
sl Lrova la copla dl un flle rlcercaLo se ne conLaLLa dlreLLamenLe ll possessore e ll LrasferlmenLo avvlene
medlanLe proLocollo P11. oco sl sa lnvece per
quanLo rlguarda le lnformazlonl scamblaLe ln fase
dl connesslone e lookup perche LuLLo ll Lrafflco dl
segnalazlone e clfraLo.


vedlamo qulndl come vengono reallzzaLe le operazlonl dl 8ooL, Lookup e scamblo dl daLl:

! INGkLSSC NLLLA kL1L:
un nodo ordlnarlo va sempre a collegarsl ad un super-nodo. nel caso ln cul la cache del nodo fosse
vuoLa (prlmo collegamenLo) e posslblle collegarsl a del defaulL server ll cul lndlrlzzo e cablaLo nel
codlce. nel caso ln cul lnvece non fosse la prlma volLa che ll nodo accede alla reLe esso conserva un
elenco dl super-nodl che erano aLLlvl nel momenLo ln cul e usclLo. ln Lale llsLa sl andranno a cercare
l super-nodl che sono onllne medlanLe lnvlo dl messaggl dl LesLo uu, facendo aLLenzlone al Lempl
dl rlsposLa. un Lempo dl rlsposLa lnferlore ldenLlflca lnfaLLl un supernodo plu scarlco o comunque
un collegamenLo con un mlnor Lempo dl laLenza, che qulndl e da preferlre. lndlvlduaLo ll super-
nodo al quale collegarsl, LuLLl gll alLrl che sono sLaLl rlsconLraLl essere onllne vengono conservaLl
come nodl alLernaLlvl nel caso ln cul quello aLLuale venlsse lmprovvlsamenLe meno.



ll nodo manda qulndl ln upload al super-nodo cul sl e collegaLo meLadaLl clrca l flle che meLLe a
dlsposlzlone. 1all meLadaLl conLengono ll nome del flle, la dlmenslone e ll suo conLenLhash.
MedlanLe quesL'ulLlmo sl e ln grado dl rlconoscere flle con conLenuLo uguale anche se essl hanno
noml dlfferenLl. Cgnl super-nodo qulndl ha un pezzo dl lndlce derlvanLe dall'unlone degll lndlcl del
suol ordlnary-nodes e manLlene lnformazlonl solo su quesLl ulLlml (quall flle posseggono e se sono
collegaLl o no ln un cerLo momenLo). 8lcevuLl l meLadaLl, ll super-nodo fornlsce al nodo-ordlnarlo
una llsLa dl alLrl 200 super-nodl con l quall popolare la proprla cache.

! LCCkU DLLLL kISCkSL:
la rlcerca delle rlsorse colnvolge solo l super-nodl.
Supponlamo che un nodo voglla rlcercare una rlsorsa
nel cul nome sla presenLe la sLrlnga "gaLLo". ll nodo
ordlnarlo passa la rlchlesLa al proprlo super-nodo.
CuesL'ulLlmo pu avere o meno una rlsposLa rlguardo la poslzlone della rlsorsa rlcercaLa. nel caso
ln cul non l'avesse, essendo l'overlay non sLruLLuraLo, non sl pu scegllere deLermlnlsLlcamenLe ln
quale del vlclnl convlene sposLarsl per prosegulre la rlcerca. ul conseguenza ln Leorla blsognerebbe
esplorare LuLLl l super-nodl della reLe 2 medlanLe floodlng (spedlsco un messaglo dl rlchlesLa a
LuLLl l mlel vlclnl, che lo lnolLreranno a LuLLl l loro vlclnl..). 1ale soluzlone sarebbe per Lroppo
dlspendlosa dal punLo dl vlsLa
compuLazlonale, dl modo che
probabllmenLe vlene uLlllzzaLo ll
kandom wa|k (ll super-nodo
sceglle a caso un vlclno e gll passa la rlchlesLa).
Le rlsposLe conLengono l meLadaLl relaLlvl al flle lncludendo le lnformazlonl sul peer su cul sl
Lrovano. A quesLo punLo ll nodo ordlnarlo sceglle un flle e fa una rlchesLa dl download con ll
conLenLhash del flle come parameLro (slmlle ad un
P11 CL1). nel caso ln cul ll download falllsse ll flle
vlene rlcercaLo dl nuovo dlreLLamenLe con ll
conLenLhash.


! DCWNLCAD:
ln LuLLl l slsLeml 2 lnsorgono probleml dl download nel caso dl parLlcolarl Lopologle dl reLe che
colnvolgono la presenza dl nA1. ln parLlcolare ll meccanlsmo dl download non rlsconLra probleml
nel caso ln cul e ll rlchledenLe del flle a Lrovarsl dleLro un nA1, all'lnLerno dl una reLe prlvaLa. ln Lal
caso ll peer che sl Lrova nella reLe pubbllca fa da server



a ruoll lnverLlLl lnvece e necessarlo rlvolgersl al proprlo super-nodo. CuesLo va a cercare ll super-
nodo cul e collegaLo ll peer dal quale sl vuole Lrasferlre ll flle, polche esso e un grado dl parlargll e
qulndl dl lnolLrargll una rlchlesLa dl download. A quesLo punLo e ll peer dleLro al nA1 che lnlzla ll
LrasferlmenLo lnvlando un messagglo dl ClvL. ln Lal modo non sl fa alLro che creare nella Labella del
nA1 l'assoclazlone Lra una porLa e ll processo che ha rlchlesLo ll ClvL. Cra che Lale assoclazlone
eslsLe, ll nodo lnlzlale e capace dl conLaLLare dlreLLamenLe ll peer per ll download anche se esso
sl Lrova dleLro al nA1.




Skype
l punLl dl forza della soluzlone skype sono l seguenLl:
! non e necessarlo avere lndlrlzzl pubbllcl per fare vol, ne avere un lndlrlzzo lv6. Skype ha lnfaLLl
dlmosLraLo che l nA1 non cosLlLulscono un problema per ll vol.
! La quallLa del servlzlo e un prerequlslLo che sl pu meLLere ln dlscusslone.
! non e necessarlo avere lnfrasLruLLure cosLose per fare vol. Skype lnfaLLl uLlllzza le reLl 2 a cul
nessuno aveva pensaLo per quesLo Llpo dl uLlllzzo.

menLre le prlnclpall lnnovazlonl Lecnlche apporLaLe:

! La voce pu essere Lrasmessa anche su 1C perche pu plu facllmenLe passare aLLraverso l flrewall,
che spesso bloccano l paccheLLl uu. uu rlmane comunque la scelLa prlnclpale per la Lrasmlsslone
dl segnall audlo/vldeo su l, daLo che ll 1C lncorpora una serle dl meccanlsml (ad esemplo ll
conLrollo dl congesLlone) che possonoo rlvelarsl conLroproducenLl per Lale scopo.
! Meccanlsml per l'aLLraversamenLo dl nA1 e flrewall parLlcolarmenLe efflcacl, quall ad esemplo la
Lrlangolazlone aLLraverso relay vlsLa ln precedenza. CuesLa non comporLa parLlcolarl rlcaduLe sul
rlLardo end-Lo-end.
! CesLlone dl una reLe 2 non sLruLLuraLa aLLraverso una lnfrasLruLLura gosslp-based
! CLLlma gesLlone della voce (quallLa del codec, soppresslone del rumore, gesLlone dell'eco, eLc)
! LsLremamenLe robusLo e pervaslvo.

Ma come funzlona Skype?
per quel poco che se ne pu caplre eslsLe un Logln server, che e un p l'equlvalenLe dl un Server AAA vlsLo
nel caso del Sl. ll cllenLe sl collega ad un super-nodo, ll quale pol sl preoccupa dl andarne a verlflcare la
password presso ll server dl logln. ua
noLare e che plu che dl un Server dl Logln
posslamo parlare dl un Servlzlo dl Logln,
polche Lale funzlonallLa pu Lrovarsl dl
faLLo dlsLlbulLa su plu macchlne.
AlLra enLlLa ln gloco e ll Server dl
8ooLsLrap, da uLlllzzare nel caso ln cul un
uLenLe non abbla alcuna lnformazlone
clrca l supernodl oppure LuLLl quelll che
conosce sono ln cerLo momenLo offllne. ll
server dl 8ooLsLrap ha ln Lal caso la
funzlone dl fornlre al cllenLe una llsLa dl
supernodl ln funzlone.
l super-nodl Skype sono del normall uLenLl Skype avenLl per alcune caraLLerlsLlche parLlcolarl quall un
lndlrlzzo l pubbllco, buona banda (10Mbps), Lempl dl rlsposLa abbasLanza bassl. non cl sono lndlcazlonl
sul faLLo che eslsLano o meno del super-nodl gesLlLl dlreLLamenLe da Skype sLesso, anche se cl e molLo
probablle. posslblle forzare" la scelLa dl un supernodo aLLraverso l'edlLlng del flle shared.xml".

er quanLo rlguarda le operazlonl fondamenLall:
! Iase d| 8oot:
un cllenL sl collega ad uno o plu supernodl, la cul llsLa vlene agglornaLa dlnamlcamenLe ed e salvaLa
localmenLe nel flle shared.xml. ln mancanza dl Lale llsLa o ln caso dl probleml cl sl collega ad uno del
Server dl 8ooLsLrap. ll proLocollo uLlllzzaLo per la Lrasmlsslone audlo/vldeo e l'uu, anche se pu
alLernaLlvamenLe essere uLlllzzaLo anche ll 1C nel caso sl rlsconLrassero probleml col prlmo.
! Iase d| Log|n:
e necessarlo conLaLLare ll Server dl Logln. Al prlmo LenLaLlvo ll Logln server vlene conLaLLaLo
dlreLLamenLe dopo dl che, ln casl dl fallure, la rlchlesLa dl logln vlene lnolLraLa aLLraverso l'overlay
(ovvero lo chledo al mlo supernodo che a sua volLa chlede ad un'alLro flnche non se ne Lrova uno
che rlesce a conLaLLare ll logln server).
! k|cerca d| un utente:
Lale rlcerca vlene faLLa aLLraverso l'overlay aLLraverso la Lecnologla Cloballndex pluLLosLo che
LramlLe ll Logln Server. Skype garanLlsce la repllcazlone del daLl ln modo che un uLenLe sla sempre
locallzzablle se sle collegaLo alla reLe nelle ulLlme 72 ore.
! Scamb|o dat|:
ln quesLo caso per scamblo dl daLl sl lnLende sla la comunlcazlone audlo/vldeo che lo scamblo dl
messaggl dl LesLo o flle, che avvlene ln manlera dlreLLa nal caso ln cul enLrambl gll uLenLl hanno un
l pubbllco. L' per posslblle anche una slLuazlone ln cul enLrambl gll uLenLl sono locallzzaLl
all'lnLerno dl una proprla reLe prlvaLa dleLro un nA1: ln Lal caso neppure la Lecnlca dl Lrlangolazlone
usaLa da kazaa funzlonerebbe, polche ll
messagglo ClvL lnvlaLo da una macchlna
non rlesce a ragglungere l'alLra ln modo
dlreLLo. er ovvlare a Lale problema
blsogna far passare LuLLo aLLraverso un
supernodo, dl modo che l due uLenLl
non rlusclranno a parlarsl dlreLLamenLe
se non dopo che sla sLaLa aperLa una qualche connesslone con l'aluLo del supernodo (cul qulndl
vlene passaLo ll messagglo dl ClvL).

er quanLo rlguarda la codlflca della voce e la sua compresslone Skype non ha porLaLo alcuna lnnovazlone.
La banda occupaLa dal parlaLo e Lra l 3-16 kbps e non vlene effeLLuaLa la soppresslone del sllenzl. vlene
lnvece effeLLuaLa un'oLLlma gesLlone del rlLardo dl aLLraversamenLo effeLLuaLa. ln parLlcolare e noLevole la
capaclLa dl esLendere" un camplone vocale e recuperare ln un successlvo Lempo (anche nel caso dl
sllenzlo) ln modo da rlprlsLlnare valorl dl rlLardo acceLLablle.
AlLre funzlonallLa offerLe da Skype sono la conferenza mulLlpla, l'lnsLanL messaglng, l'e-presence e ll flle
Lransfer.








LL2ICNI N. 22,23


ket| geograf|che e Internetwork|ng

asslamo ora a LraLLare alcune delle Lecnologle usaLe per sLablllre del collegamenLl geograflcl, per lo plu dl
Llpo punLo a punLo. nel dlagramma soLLosLanLe la zona LraLLegglaLa rlguarda del canall analoglcl e pu
essere LranqulllamenLe LrascuraLa. Come gla vlsLo ln precedenza la Lelefonla analoglca e ormal presenLe
solo al marglnl della reLe, ovvero Lra ll
Lelefono analoglco casallngo e qualche
punLo ln profondlLa nella reLe. ua ll ln
avanLl sl procede alla dlglLallzzazlone
della voce, ma sopraLLuLLo ll backbone
(la splna dorsale della reLe) e ormal
basaLo su l.
La zona punLegglaLa lnb blu, anch'essa
Lrascurablle, rlguarda lnvece alcune
Lecnologle che erano naLe per cosLrulre
delle reLl meLropollLane.
Cuello che e rlmasLo essenzlalmenLe
sono l collegamenLl dlreLLl numerlcl,
ovvero le llnee punLo a punLo dl Llpo dlglLale reallzzaLe uLlllzzando ll 1uM- 1lme ulvlslon MulLlplexlng.

ISDN
lSun e un Llpo dl collegamenLo che permeLLe Lrasmlsslone daLl+fonla+vldeoLelefonla. SosLanzlalmenLe e un
collegamenLo numerlco (qulndl dlglLale) caraLLerlzzaLo da un accesso base (ovvero quello che va verso ll
slngolo Lelefono) con due canall 8 plu uno u. l canall 8 sono da 64 kbps (banda necessarla per reallzzare
una chlamaLa Lelefonlca senza compresslone) menLre ll canale u e da 16 kbps, uLlllzzaLo per le operazlonl
dl segnalazlone. ulversamenLe l Lre canall poLevano essere usaLl LuLLl lnsleme a formare un canale un
canale da 144 kbps per collegamenLl dl Llpo daLl. ln alLernaLlva un accesso prlmarlo (rlservaLo alle azlende)
aveva lnvece 30 canall 8 e un canale u, per un LoLale dl 2 Mbps.

ket| pr|vate basate su 1DM
Come funzlona ll 1DM - 1|me D|v|s|on Mu|t|p|ex|ng? Come suggerlsce ll nome c'e blsogno dl un mulLlplexer
con n canall dl lngresso e un unlco canale dl usclLa la cul veloclLa e uguale a n volLe quella dl un canale dl
lngresso. l daLl provenlenLl dal canall ln lngresso vengono Lrasmessl su quello dl usclLa affeLLando ll Lempo
ln porzlonl uguall per ognuno dl essl ed effeLLuando una roLazlone. Cgnl solL Lemporale e rlservaLo al
rlspeLLlvo lngresso, nel senso che se nel momenLo ln cul Lale sloL e aLLlvo non vengono lmmessl daLl
sull'lngresso, nessun alLro degll lngressl poLra lmmeLLervl l proprl e lo sloL rlmarra lnuLlllzzaLo. CuesLo uso
molLo rlgldo della banda del canale dl usclLa garanLlsce dl non avere mal congesLlone, ll masslmo Lempo dl
aLLraversamenLo del mulLlplexer e flsso. MedlanLe Lale meccanlsmo e posslblle creare l'equlvalenLe del
canale punLo a punLo, con un mulLlplexer ln parLenza e un demulLlplexer all'arrlvo che comple l'operazlone
lnversa smlsLando l daLl a roLazlone Lra LuLLl l desLlnaLarl collegaLl.
ln generale per e anche posslblle suddlvldere la banda dlsponlblle ln manlera non eguallLarla, per
esemplo


SDn
ul segulLo la gerarchla SuP con le rlspeLLlve veloclLa e uno schema dell'archlLeLLura flslca su flbra oLLlca
Sect|on: collegamenLo ln flbra oLLlca Lra Lranscelver
L|ne: sequenza dl sezlonl Lra dlsposlLlvl che operano a llvello dl Lrama
ath: clrculLo dlreLLo numerlco end-Lo-end 1SCnL1

dove sl noLano l 8LLA1L8 che servono a relnnalzare ll valore dell'energla del segnale che Lende ad
aLLenuarsl sulle lunghe dlsLanze e l due apparaLl MulLlplexer e uemulLlplexer.
L'Add/urop MulLlplexer e un apparaLo conLenenLe dlsposlLlvl opLo-eleLLronlcl aLLraverso l quall passa la
flbra oLLlca. CuesLl sono capacl dl rlgenerare ll segnale alla sLregua del repeLlLorl,
ma ln generale Lale apparaLo e anche ln grado dl splllare una parLe del Lrafflco ln
arrlvo e spedlrlo verso uno speclflco desLlnaLarlo oppure lnserlrlo all'lnLerno dl
uno sloL vuoLo. Cuello che ln realLa succede (dlversamenLe da come mosLraLo
nella flgura precedenLe) e che l Mux/uLMux slano anch'essl degll Add/urop
Mux, polche le llnee a flbra oLLlca Lendono a chludersl su se sLesse assumendo una conformazlone ad
anello, anche perche le flbre oLLlche sono unldlrezlonall. u conseguenza per avere un clrculLo bldlrezlonale
e posslblle predlsporre due dlfferenLl anelll dl flbra oLLlca. u anche succedere dl avere anelll a dlversa
veloclLa collegaLl Lra loro dal faLLo dl condlvldere un Add/urop Mux: Lall anelll possono passarsl del Lrafflco
al flne dl recaplLarlo ad un cerLo desLlnaLarlo flnale.
La Lrasmlsslone e organlzzaLa ln frame, spedlLl a dlsLanza dl 123 mlcrosecondl uno dall'alLro



ognl frame per S1S-1 e lungo 810 byLe (90 colonne x 9 rlghe) e le caselle coloraLe sono rlservaLe per
lnformazlonl dl conLrollo.

SuP e uP reallzzano essenzlalmenLe ll llvello flslco, fornendo un canale dl Llpo punLo-a-punLo. Al dl sopra
sl pu far passare dl LuLLo: sollLamenLe c'e la commuLazlone dl paccheLLo o la commuLazlone dl cella.
CuesL'ulLlma dlfferlsce dalla prlma per ll faLLo che l'unlLa dl Lrasmlsslone e molLo plu plccola e dl lunghezza
flssa, dl modo che soffre dl un problema dl overhead (l'header occupa Lroppl byLe rlspeLLo alla dlmenslone
LoLale della cella). Le celle dl lunghezza flssa danno per del vanLaggl ln Lermlnl dl Lempl dl aLLesa e dl
gesLlone della memorla. LslsLono dunque una serle dl servlzl che possono usare l'uno o l'alLro (ln realLa ll
lrame 8ekay pu uLlllzzare enLrambl), rafflguraLl nella flgura soLLosLanLe




k.2S
L' x.23 era uno sLandard per avere delle reLl a commuLazlone
dl paccheLLo dl Llpo pubbllco Lra plu macchlne dlsLrlbulLe
geograflcamenLe. ln realLa l'x.23 come sLandard regola la
comunlcazlone Lra l'ulLlmo apparaLo dell'uLenLe, ll D1L -
Data 1erm|na| Lqu|pment, e ll prlmo apparaLo della reLe, ll
DCL - Data Commun|cat|on Lqu|pment. CuesL'ulLlmo poLeva
anche essere plazzaLo flslcamenLe all'lnLerno dell'edlflclo dello sLesso uLenLe flnale.
Andlamo a vedere ll perche Lale sLandard e sLaLo abbandonaLo. ll paccheLLo era cosLrulLo come mosLraLo
nella flgura soLLosLanLe:




lnLesLazlone e coda erano messe dal llvello 2 e Lra dl esse vl erano l campl dl llvello 3. ll llvello 3 era
organlzzaLo a clrculLl vlrLuall, cloe vl era un prlmo paccheLLo con ll quale sl aprlva ll clrculLo vlrLuale,
all'lnLerno del quale sl prendevano LuLLe le declslonl dl lnsLradamenLo: LuLLl gll alLrl paccheLLl lnvlaLl sul
medeslmo clrculLo vlrLuale segulvano lo sLesso percorso del prlmo. ln poche parole, conLrarlamenLe
all'lnsLradamenLo operaLo dall'l, ln quesLo caso l'lnsLradamenLo vlene faLLo solo sul prlmo paccheLLo dl
aperLura e LuLLl gll alLrl che seguono ne rlpercorrono le orme, compresl l
paccheLLl dl rlsposLa che seguono ll cammlno al rovesclo. ll desLlnaLarlo
era lndlcaLo nell'Peader del llvello 3 medlanLe un lndlrlzzo dl Llpo L.164
(composLo da 14 clfre declmall) ed era scrlLLo solo sul prlmo paccheLLo dl
aperLura. CuesLo cosLlLulva un problema polche l commuLaLorl (ll cul sLack
e vlslblle ln flgura) necesslLavano dl elaborare ll paccheLLo flno al llvello 3
per poLerne conoscere ll desLlnaLarlo e qulndl caplre come lnsLradarlo, ll che comporLava una cerLa perdlLa
dl Lempo.
AlLro problema rlsledeva nel faLLo che lo sLandard prevedeva l'lnvo dl acknowledgmenL per ognl LraLLa Lra
due commuLaLorl. ln Lal modo la formula dl uLlllzzo del canale rlsulLava essere la seguenLe

dove W e la flnesLra dl Lrasmlsslone, 1
p
ll Lempo dl propagazlone e 1
x
ll Lempo dl Lrasmlsslone. A 1
x
sl pu
sosLlLulre ll quozlenLe n/8, dove n e ll numero dl blL e 8 e la veloclLa dl Lrasmlsslone. Se sl va ad aumenLare
la veloclLa dl Lrasmlsslone Lale quanLlLa dlvenLa sempre plu plccola e qulndl la quanLlLa 1+(21
p
/(n/8))
dlvenLa sempre plu grande. ne consegue che cl sara blsogno dl usare flnesLre dl Lrasmlsslone sempre plu
lunghe per rlusclre ad oLLenere un Lasso dl uLlllzzo che sla prosslmo al 100 (e sl Lenga presenLe che la
veloclLa dl Lrasmlsslone pu arrlvare nell'ordlne del Cbps!!!). Senza conLare ll faLLo che se la flnesLra dl
Lrasmlsslone e lunga W devono essere LenuLl ln memorla un numero W dl paccheLLl che poLrebbero essere
necessarl per esegulre una rlLrasmlsslone nel caso ln cul venlsse meno l'acknowledgmenL su una qualslasl
delle LraLLe, e quesLo da fasLldlo.
ua quanLo deLLo sl pu concludere che lo sLandard x.23 andava benlsslmo per canall a bassa veloclLa e
alquanLo rumorosl, ln cul avere l'acknowledgmenL LraLLa per LraLLa era uLlle essendo la posslblllLa dl avere
un errore abbasLanza elevaLa. nel momenLo ln cul per l canall sono dlvenLaLl molLo velocl e molLo meno
rumorosl dl una volLa allora l'x.23 e andaLo dlvenendo sempre plu lnadaLLo ad una appllcazlone nel nuovl
conLesLl.


Lo standard Irame ke|ay
ll lrame 8elay e un alLro sLandard per la reallzzazlone dl collegamenLl a llvello geograflco dl Llpo punLo a
punLo. Lo sLandard sl basa sull'uLlllzzo dl clrculLl vlrLuall, qulndl sl sLablllsce lnlzlalmenLe un clrculLo vlrLuale
da un punLo ad un alLro e LuLLl l frame che sono lndlrlzzaLl verso uno sLesso desLlnaLarlo effeLLueranno ll
medeslmo percorso all'lnLerno della reLe. La commuLazlone e sul frame, dl modo che vengono guardaLl gll
header dl llvello 2. MenLre con x.23 vl era la posslblllLa dl corregge gll errorl su ognl LraLLa, per scelLa dl
progeLLazlone (per evlLare la perdlLa dl Lempo comporLaLa dagll acknowledgmenL, ln vlrLu anche della
bassa rumoroslLa del canall uLlllzzaLl) ll lrame 8elay non reallzza alcun meccanlsmo dl correzlone degll
errorl all'lnLerno dell'lnfrasLruLLura dl reLe. 1all meccanlsml, se necessarl, sono lmplemenLaLl all'esLerno dl
quesL'ulLlma.
uno schema della reLe lrame 8elay e lllusLraLo ln flgura. Anche ln quesLo caso ll uCL - uaLa CommunlcaLlon
LqulpmanL e ll prlmo apparaLo gesLlLo da chl meLLe a dlsposlzlone la reLe. 1ra l varl uCL sl sLablllscono del
clrculLl vlrLuall e sul quall vlagglano l frame dlreLLl da uno
all'alLro.
ll lrame 8elay fornlsce qulndl degll sLandard per
lnLerfacclare apparecchlaLure dl reLe locale (rouLer,
brldge, gaLeway) a reLl per Lrasmlsslone dl daLl,
permeLLendo lnolLre dl rlchledere una cerLa banda
garanLlLa.



La dlfferenza Lra un rouLer x.23 ed un commuLaLore lrame 8elay e lllusLraLa dl segulLo











dove vlene evldenzlaLo come ll lrame 8elay aglsca sosLanzlalmenLe a llvello 2 (anzl ad un soLLollvello del
llvello 2). ul conseguenza un commuLaLore lrame relay deve sempllcemenLe converLlre ll segnale ln arrlvo
ln una sLrlnga dl blL, lnLerpreLarlo e rlconverLlrlo ln un segnale opporLuno da lmmeLLere ln sul canale dl
usclLa. L'lnsLradamanLo ver e proprlo (cosl come vlene effeLLuaLo dall'l) vlene faLLo solo per ll prlmo
frame, dopo dl che LuLLl gll alLrl frame apparLenenLl al flusso vengono lnsLradaLl sul medeslmo clrculLo
vlrLuale. nel caso dell'x.23 lnvece blsognava elaborare ll paccheLLo flno al llvello 3 per caplre come
rlLrasmeLLerlo. AlLro meLro dl paragone e ll formaLo del paccheLLo, dove appunLo sl rlsconLra che nel
paccheLLo x.23 l'lndlrlzzo desLlnaLarlo e
speclflcaLo all'lnLerno dell'lnLesLazlone dl llvello
3 menLre nel caso del l8 l'lndlrlzzo su cul sl fa
l'lnsLradamenLo e plu esLerno, dlreLLamenLe
nell'lnLesLazlone della Lrama sLessa.
1lrando le somme dl quanLo deLLo ll lrame
8elay opera una commutazone d| trama,
ovvero e l'lndlrlzzo desLlnaLarlo conLenuLo
nell'lnLesLazlone dl llvello 2 ad essere usaLo per
caplre da che parLe lnsLradare le Lrame. CuesLe
possono essere dl lunghezza varlablle e per la
correzlone degll errorl e uLlllzzaLo un approcclo
dl Llpo core-edge, ovvero gll errorl sl correggono solo medlanLe rlLrasmlsslonl al bordl (edge) della reLe e
non nel nodl lnLermedl (core).
Cosa molLo lmporLanLe del l8 e ll coslddeLLo CIk - Comm|tted Informat|on kate. ueflnlLl l parameLrl
! 8c - comm|tted burst s|ze: lndlca la max quanLlLa dl blL che possono essere lnvlaLl all'lnLerno della
reLe consecuLlvamenLe.
! 1c: deflnlsce un lnLervallo enLro ll quale un gruppo dl blL poLrebbe essere lnserlLo.
ll Cl8 vlene deflnlLo come 8c/1c, ovvero come ll rapporLo Lra ll numero dl blL che lnserlsco nella reLe e ll
Lempo enLro ll quale Lale lnserlmenLo sl pu verlflcare. Ma ln vlrLu dl quale scenarlo e rllevanLe Lale
mlsura? Supponlamo dl aver concordaLo che su una cerLa llnea ll Cl8 non pu essere superlore a 10Mbps.
Conslderando una flnesLra Lemporale dl 10 secondl, l'uLenLe poLrebbe LrasmeLLere 100MblL nel prlmo
secondo e pol non LrasmeLLere nulla nel nove successlvl. ln Lal caso ll vlncolo sul Cl8 sarebbe rlspeLLaLo
polche la medla rlenLra nel concordaLl 10Mbps, solo che chl gesLlsce la reLe e sLaLo cosLreLLo ad assorblre
ln un secondo 100MblL da un unlco uLenLe. 1all blL, a causa del momenLaneo lnLasamenLo provocaLo dalla
masslccla lmmlsslone dl daLl nella reLe, andrebbero persl se ll gesLore dl reLe non avesse LaraLo gll apparaLl
dl reLe per poLer gesLlre una Lale lmprovvlsa mole dl Lrafflco ln prosslmlLa del u1L. Ma un gesLore dl reLe
non ha un solo cllenLe dl modo che, ln vlrLu della la possblllLa che con plu dl uno dl essl sl possa verlflcare la
slLuazlone precedenLemenLe descrlLLa, sl Lroverebbe cosLreLLo a sovradlmenslonare la reLe ln manlera
sproposlLaLa. AppunLo per evlLare Lall slLuazlonl gll accordl vengono sLlpulaLl ln funzlone del parameLrl 8c e
1c, ovvero ad esemplo vlene paLLulLo un 8c dl 10MblL e un 1c dl 1 secondo. ln Lal modo ll gesLore dl reLe
pu essere slcuro che l'ulLenLe, conslderaLa una flnesLra Lemporale dl 10 secondl, non sla ln grado dl
lmmeLLere sulla reLe plu dl 10MblL all'lnLerno dl ognuno del dlecl slngoll sloL Lemporall da un secondo.
Cvvero graflcamenLe l due casl sono rappresenLablll come segue




10
1s
10
1s
10
1s
10
1s
10
1s
10
1s
10
1s
10
1s
10
1s
10
1s
100

uove la llnea conLrassegnaLa come "Servlzlo garanLlLo" e un esemplo dl uLlllzzo del canale nel rlspeLLo del
vlncoll dl 8c e 1c concordaLl, menLre quella lndlcaLa come "Servlzlo non garanLlLo" presenza un'eccedenza
dl Lrafflco ln lnvlo (la reLLa esce dal reLLangolo LraLLegglaLo). 1ale eccedenza pu essere rllevaLa medlanLe
apposlLl meccanlsml dl pollclng ed l blL ln eccesso possono essere buLLaLl vla oppure lmmessl nella reLe ma
marcaLl come frame candldaLl ad essere persl ln caso dl congesLlone. ua noLare e che l meccanlsml dl
pollclng possono essere appllcaLl anche all'lnLerno del slsLema dell'uLenLe: ln Lal caso, medlanLe operazlonl
dl bufferlng, ll Lrafflco ln usclLa vlene sagomaLo ln manlera Lale da non eccedere l llmlLl lmposLl sul Lrafflco
daLl.
l vanLaggl del l8 rlspeLLo all'x.23 possono qulndl essere ldenLlflcaLl ln presLazlonl mlgllorl (dovuLe
all'uLlllzzo dl mezzl Lrasmlsslvl ad alLa affldablllLa e veloclLa e all'approcclo core-edge) e un mlnore rlLardo
lnLrodoLLo. L' lmporLanLe per soLLollneare come l rlLardl slano comunque varlablll a causa della lunghezza
varlablle del frame (che rende dlfflclle sLlmare ll Lempo dl aLLesa all'lnLerno della coda dl un commuLaLore),
ll che rende Lale sLandard non ldoneo alla Lrasmlsslone della voce.


A1M - Asynchronous 1ransfer Mode
ulscuLendo ll 1uM - 1lme ulvlslon MulLlplexlng sl e vlsLo come l'lmmlsslone dl daLl sul canale fosse gesLlLa
assegnando agll uLenLl degll sloL Lemporall del quall venlva effeLLuaLa una roLazlone, subordlnando l'lnvlo
dl daLl ad una rlglda sequenza. nel caso dell' A1M "Asynchronous" sLa lnvece ad lndlcare ll faLLo che vlene
uLlllzzaLo un MulLlplexlng dl Llpo
sLaLlsLlco, nel senso che ll canale dl usclLa
vlene accordaLo agll uLenLl per la
Lrasmlsslone ln funzlone della quanLlLa dl
Lrafflco che quesL'ulLlmo necesslLa dl
lmmeLLere sulla reLe. ln quesLo modo per sl pu facllmenLe lncorrere ln slLuazlonl dl congesLlone nel
momenLo ln cul ll numero dl blL ln arrlvo supera ll numero dl quelll che possono essere Lrasmessl.
L'A1M ln parLenza aveva degll obleLLlvl molLo amblzlosl, addlrlLLura voleva sopplanLare le eslsLenLl reLl
locall promeLLendo alLe veloclLa, parallellsmo e servlzl lnnovaLlvl. ul faLLo per oggl come oggl le reLl A1M
sl Lrovano sollLamenLe adoLLaLe solo nella reLe Lelefonlca, dove A1M e uLlllzzaLo come proLocollo dl
LrasporLo nella reLe dl accesso (AuSL, uM1S) e sopraLLuLLo nella reLl dl LrasporLo. Cl nonosLanLe sLa
andando lenLamenLe ln dlsuso ln favore dl Lecnologle dl reLe plu efflclenLl come MLS.
er splegare ll suo uLlllzzo nelle reLl Lelefonlche lmmaglnlamo un condomlnlo: ognl condomlno dlspone dl
una connesslone lnLerneL AuSL e qulndl, ln parLlcolare, dl un dopplno che lo collega plu o meno
dlreLLamenLe ad un uSLAM - ulglLal Subscrlber Llne Access MulLlplexer. er uSLAM sl lnLende ln sosLanza
un mulLlplaLore dl llnea dl accesso numerlca, una macchlna numerlca dl elaborazlone dl segnall dlglLall, che
da un laLo raccoglle dlversl canall dl
comunlcazlone provenlenLl dal slngoll
cllenLl, sollLamenLe velcolaLl appunLo da
dopplno Lelefonlco, raggruppandoll ln un
canale dl comunlcazlone dl gerarchla
superlore nella sLruLLura della reLe dl
Lelecomunlcazlone. nel caso che sLlamo
conslderando LuLLl l condomlnl sono presumlbllmenLe collegaLl allo sLesso uLSAM ma poLrebbero
benlsslmo avere un ognuno un dlverso gesLore dl reLe, dl modo che saranno collegaLl ognuno alla reLe l
del parLlcolare gesLore. er poLer ragglungere ll rouLer dl accesso alla reLe l deslderaLa, essendo
sollLamenLe l rouLer collocaLl a grande dlsLanza dalle ablLazlonl, Lra ll uSLAM e la locazlone flslca dl quesLl
ulLlml e sollLamenLe presenLe una reLe A1M. La reLe A1M funzlona a clrculLl vlrLuall dl modo che, sapendo
ognl condomlno dl chl e cllenLe, sl pu programmare ll uSLAM ln modo che lnolLrl LuLLl l daLl ln arrlvo su un
cerLo dopplno verso uno cerLo lndlrlzzo A1M (cul corrlspondera ll rouLer del gesLore dl reLe) uLlllzzando un
cerLo clrculLo vlrLuale numeraLo x. l daLl ln arrlvo loglcamenLe faranno ll percorso lnverso.
er quanLo rlguarda la Lecnlca dl LrasferlmenLo anche A1M uLlllzza un meccanlsmo dl Llpo core-edge, ln cul
ll conLrollo della Lrasmlsslone e faLLo all'esLerno. ulfferenza lmporLanLe rlspeLLo al lrame 8elay sLa lnvece
nel faLLo che A1M aglsce su unlLa dl Lrasmlsslone dl lunghezza flssa, deLLe ce||e, al flne dl faclllLare la
commuLazlone hardware, llmlLare ll rlLardo dl aLLraversamenLo e rldurre gll sprechl. Lssendo l'A1M basaLo
sull'uLlllzzo dl clrculLl vlrLuall, prlma che possa avere lnlzlo ll LrasferlmenLo daLl con un qualche desLlnaLarlo
e necessarlo lnsLaurare un canale vlrLuale con quesL'ulLlmo, dopo dl che LuLLo passera aLLraverso Lale
canale. All'lnLerno della reLe sono presenLl degll apparaLl dl commuLazlone deLLl SwlLch A1M ll cul complLo
conslsLe appunLo nell'lnsLradamenLo del paccheLLl che LranslLano aLLraverso la reLe A1M. una cella A1M e
lunga 33 byLe, del quall 3 son rlservaLl per
l'header e nel l successlvl 48 possono essere
conLenuLe lnLesLazlonl dl un qualche llvello
superlore. Sl pensl lnfaLLl al caso ln cul sl
voglla uLlllzzare A1M per collegare reLl locall
remoLe. Le reLl locall hanno del frame che
sono ben plu grossl dl 48 byLe (eLherneL
arrlva a 1300 gla solo come payload
affeLLlvo), dl modo che Lall frame devono
essere frammenLaLl per vlagglare aLLraverso
la reLe A1M flno a desLlnazlone. La
frammenLazlone per rlchlede l lnserlmenLo
dl alcunl campl dl conLrollo che saranno
lndlspensablll per ll rlassemblagglo a
desLlnazlone, qulndl ecco che una parLe del
49 byLe dl carlco uLlle dl una cella A1M sl
perde per alLra lnformazlone dl conLrollo.

La flgura soLLosLanLe descrlve nel deLLagllo l campl dl una cella A1M



dove vl e vCl sono acronlml rlspeLLlvamenLe dl V|rtua| ath Ident|f|er e V|rtua| C|rcu|t Ident|f|er.
Supponendo dl avere una serle dl clrculLl vlrLuall che percorrono ll medeslmo LraLLo dl dorsale (per coprlre
ad esemplo ll LraLLo Lra bologna e Lorlno), essl saranno commuLaLl LuLLl allo sLesso modo, moLlvo per cul e
posslblle raggrupparll all'lnLerno dl un aLh. ln prosslmlLa della desLlnazlone flnale pol lnvece sl lnlzla ad
lnsLradare l varl clrculLl ln manlera
dlfferenLe. ll vanLagglo dl quesLo
approcclo e dl dlmlnulre ll numero
delle enLry all'lnLerno delle Labelle dl
lnsLradamenLo, polche ln modo sulle
dorsall l'lnsLradamenLo avvlene solo
sulla base del vl. ll vl e a 16 blL, dl modo che ce ne poLranno essere al masslmo solo 64k dlversl.
ll campo CL - CongesLlon Loss rlorlLy e uLlllzzaLo lnvece per marcare alcune celle come candldaLe ad
essere scarLaLe nel caso ln cul sl verlflcasse una slLuazlone dl congesLlone.
La commuLazlone ln A1M e molLo plu sempllce dl quella operaLa ln l, basaLa sull'ldenLlflcazlone del
LongesL reflx MaLch. nel caso dell' A1M sl va lnvece sempllcemenLe a prendere ll numero del clrculLo
vlrLuale e lo sl uLlllzza per prelevare dalla Labella, medlanLe una sempllce operazlone dl lookup, la rlga
relaLlva a Lale clrculLo nella quale e conLenuLa l'lnformazlone rlguardo la porLa dalla quale blsogna usclre e
con quale numero dl clrculLo vlrLuale blsogna farlo (ll numero del clrculLo vlrLuale lnfaLLl cambla ognl volLa
che sl aLLraversa uno swlLch A1M). l probleml sorgono nel momenLo ln un uno SwlLch vlene meno, polche
ln Lal caso e necessaro rlcosLrulre LuLLl l clrculLl vlrLuall che lo aLLraversavano.
nel dlagramma del proLocolll A1M e presenLe una seconda dlmenslone, che permeLLe dl dlsLlnguere
dlfferenLl planl quall Contro| |ane, User |ane e Management |ane. ll lano dl conLrollo e quello che
conLrolla la commuLazlone (aprl ll cv, chludl ll
cv,..), menLre quello uLenLe sl occupa del
LrasferlmenLo del daLl aLLraverso l clrculLl
vlrLuall. ll plano managemenL dl occupa lnflne
delle operazlonl dl gesLlone (aprl quesLa
porLa dello swlLch, chludl quell'alLra...).
Cgnuna dl quesLe Lre classl pu avere un suo
sLack dl proLocolll dlfferenLe per reallzzare le
proprle funzlonallLa.
L' A1M Layer sl occupa della spedlzlone delle varle celle. uell' AAL - A1M Adaptat|on Layer ne eslsLono plu
generl, ll plu lnLeressanLe del quall e l'AAL S. La funzlonallLa fornlLa da quesL'ulLlmo e quella dl adaLLare
all'A1M una Lrasmlsslone daLl deflnlLa su un qualslasl Llpo dl canale, la cul unlLa dl Lrasmlsslone e superlore
alla dlmenslone della cella A1M, medlanLe operazlonl dl frammenLazlone e rlassemblagglo.



nelle lnLenzlonl dl coloro che hanno progeLLaLo l'A1M Lale Lecnologla avrebber anche dovuLo permeLLere
l'emulazlone dl reLl locall: prendere Lronconl dl reLl
locall dlfferenLl e fare ln modo che LuLLl sembrassero
apparLenere ad un'unlca reLe locale. CuesLo
rlchlede la presenza dl un cerLo numero dl server nel
momenLo ln cul blsogna lmplemenLarl funzlonallLa
quall ad esemplo l'A8.




I over A1M
Come funzlona l'l su A1M? nelle reLl l gll scenarl dl comunlcazlone camblano a seconda che ll
desLlnaLarlo della comunlcazlone sla locallzzaLo all'lnLerno o all'esLerno della soLLoreLe del mlLLenLe. nel
prlmo caso la comunlcazlone avvlene medlanLe Lrasmlsslone broadcasL del messaggl, menLre nel secondo
caso ll mlLLenLe deve necessarlamenLe avvalersl del servlgl dl un defaul gaLeway. Sulle reLl geograflche,
A1M compresa, non e per pensablle dl uLlllzzare ll broadcasL dl modo che sono sLaLl prevlsLl del Server
che sono ln grado dl fornlre l'lndlrlzzo A1M corrlspondenLe ad un cerLo lndlrlzzo l della sLessa soLLoreLe.
nella faLLlspecle se P1 vuole comunlcare
con P2 dovra caplre qual'e l'lndlrlzzo
A1M assoclaLo a quesL'ulLlmo. Culndl P1
va a rlchledere Lale lndlrlzzo all'A8
Server A, del quale conosce l'lndlrlzzo
A1M avendolo conflguraLo. una volLa che
ll Server avra fornlLo Lale lnformazlone P1 sara ln grado dl aprlre un clrculLo vlrLuale verso P2 per Lrasferlre
l daLl. 8lassumenLo l passl da esegulre sono l seguenLl
! ln fase lnlzlale P1 lmpara l'lndlrlzzo dl A
! P1 lnvla un A8-8equesL ad A con P2-l
! A lnvla un A8-8esponse con l'lndlrlzzo P2-A1M
! P1 rlchlede alla reLe A1M la connesslone con P2l

nel caso ln cul lnvece P1 volesse comunlcare con P3 (locallzzaLo ln una dlfferenLe soLLoreLe) lnvece cl sara
blsogno dell'lnLervenLo del defaul gaLeway 8
! P1 lnvla un A8-8equesL ad A con 8-l
! A lnvla un A8-8esponse con l'lndlrlzzo 8-A1M
! P1 rlchlede alla reLe A1M la connesslone con 8 e lnvla ll paccheLLo per P3
! 8 lnvla un A8-8equesL a 8 con P3-l
! 8 lnvla un A8-8esponse con l'lndlrlzzo P3-A1M
! 8 rlchlede alla reLe A1M la connesslone con P3l

una varlanLe del meLodo appena descrlLLo sl avvale della presenza dl Next nop kouters. ln quesLo caso P1
rlchlesLo al server A l'lndlrlzzo A1M assoclaLo all'lndlrlzzo l dl P3, ma purLroppo A non sa dargll rlsposLa
polche P3 non apparLlene alla sua soLLoreLe. ll server A provvede qulndl ad lnolLrare la rlchlesLa la server 8
che gesLlsce la soLLoreLe cul
apparLlene P3.
8 conosce la corrlspondenza rlchlesLa,
la glra ad A che la resLlLulsce ad P1. A
quesLo punLo P1 pu aprlre un canale
vlrLuale per comunlcare dlreLLamenLe
con P3 senza la presenza dl alcun
rouLer.

















LL2ICNI N. 24,2S,26,27


MLS
Mu|t| rotoco| Labe| Sw|tch|ng




Come gla accennaLo nelle lezlonl precedenLl, l'MLS e la prlnclpale Lecnologla candldaLa all'lmplego per la
cosLruzlone dl collegamenLl geograflcl per le reLl l.

Al cenLro del dlagramma a clpolla
proposLo ln flgura e locallzzaLo ll WDM
- Wave|ength D|v|s|on Mu|t|p|ex|ng.
nelle flbre oLLlche dl magglore capaclLa
e oggl posslblle avere plu canall loglcl
Lrasmessl aLLraverso degll lmpulsl con
radlazlone eleLLromagneLlcl con dlverse
lunghezze d'onda. LoglcamenLe e pol
necessarlo ln rlcezlone un qualche fllLro
capace dl esLrarre la lunghezza d'onda
deslderaLa decodlflcandone ll segnale,
come anche ln fase dl lnvlo un
mlscelaLore che permeLLe dl lnserlre l'lnformazlone nel flusso dl segnall. MedlanLe del dlsposlLlvl dl Llpo
opLo-eleLLronlco e pol posslblle reallzzare una cerLa commuLazlone anche sul WuM facendo ad esemplo
passare un segnale da un canale all'alLro, smlsLare un segnale ln usclLa su una Lra due o plu flbre eLc eLc..
uenLro Lall canall loglcl e pol posslblle far passare LanLl alLrl canall loglcl plu plccoll uLlllzzando ad esemplo ll
1uM. Cul la commuLazlone non pu essere faLLa a llvello dl paccheLLo, benzl e abbasLanza sLaLlca dl modo
che sollLamenLe vengono reallzzaLe delle llnee punLo a punLo. Su Lall llnee punLo a punLo possono essere
posLl del slsLeml A1M dove la commuLazlone e plu raplda. ll lrame 8elay pu sla essere cosLrulLo sopra
l'A1M che allo sLesso llvello, dlsponendo dl
commuLaLorl proprl. Sopra LuLLo cl pol vogllamo
usare l'l. Ma qual'e qulndl ll slgnlflcaLo dl Lale
dlagramma!? LslsLe LuLLa una serle dl Lecnologle dl
varlo genere che possono essere LuLLe uLlllzzaLe per
fornlre una conneLLlvlLa dl Llpo l.
La vlslone verso la quale sembra cl sl sLla orlenLando
e lllusLraLa nella flgura afflanco. All'lnLerno WuM,
dopo dl che su dl esso sl cosLrulsce con MLS ed l la
reLe l.
L'ldea dl base e parLlre dal paccheLLo l ed agglungervl davanLl una nuova lnLesLazlone, chlamaLa Labe|,
perche quello che fa ln effeLLl l'MLS e, se anche non lo dlce espllclLamenLe, cosLrulre una reLe gesLlsLa a
clrculLl vlrLuall per far passare gll lndlrlzzl l. A quesLo punLo l paccheLLl l sono lnsLradaLl all'lnLerno della
reLe MLS usando l'lnformazlone conLenuLa nel Label. 1ale modus operandl e sLaLo scelLo perche permeLLe
dl accelerare la commuLazlone del paccheLLl. SosLanzlalmenLe ln un commuLaLore MLS per ognl canale dl
lngresso eslsLe una Labella che assocla ad ognl canale dl lngresso una porLa ed un canale dl usclLa (perche
ll numero dl clrculLo vlrLuale pu camblare ad ognl commuLaLore). A Lale Labella sl accede aLLraverso una
sempllce operazlone dl lookup. CuesLo meLodo dl commuLazlone e molLo plu veloce rlspeLLo a quello
uLlllzzaLo dall'l che prevede la rlcerca del LongesL reflx MaLch, nonche plu sempllce da reallzzare ln
hardware. La vera e proprla rlcerca del percorso per ragglungere ll desLlnaLarlo flnale avvlene col paccheLLo
dl aperLura della connesslone, dl modo che ln Lal caso vengono uLlllzzaLe delle Lecnlche dl Llpo l. AlLro
moLlvo per ll quale e sLaLo adoLLaLo Lale approcclo a clrculLl vlrLuall (forse anche plu rllevanLe del
precedenLe) e che esso permeLLe una mlgllore gesLlone del Lrafflco. ln parLlcolare ll meccanlsmo dl
lnsLradamenLo dell'l non e ln grado dl uLlllzzare LuLLl l canall eslsLenLl come sl vorrebbe perche va
scegllendo sempre ll percorso mlnlmo. 1uLLl gll alLrl percorsl non mlnlml, qulndl lgnoraLl dall'l, poLrebbero
per ad esemplo rlsulLare uLlll ln casl dl congesLlone e sl vorrebbe dunque poLerll uLlllzzare. L' pur vero che
ll meccanlsmo dl lnsLradamenLo l e capace dl Lrovare delle roLLe alLernaLlve ln caso dl congesLlonl o dl
guasLl al nodl della reLe, ma cl vuole del Lempo. Cuello che sl vorrebbe e lnvece uLlllzzare ll percorso
mlnlmo quale prlma scelLa, con la posslblllLa dl swlLchare ln manlera quasl lsLanLanea su un percorso
alLernaLlvo nel caso ln cul ce ne fosse blsogno. CuesLo rlsulLerebbe molLo uLlle ln alcunl Llpl dl reLl l come
ad esemplo quelle che servono per gesLlre l backbone della Lelefonla, polche le apparecchlaLure uLlllzzaLe
sono ln grado dl "lgnorare" un perlodo dl lndlsponlblllLa del percorso la cul duraLa sla lnferlore a 30ms. ul
conseguenza se sl rlesce ad effeLLuare la commuLazlone da un percoso ad un'alLro alLernaLlvo enLro Lale
lasso dl Lempo le LelefonaLe ln corso non vengono chluse, qulndl non e perceplLo alcun Llpo dl dlsservlzlo
(perche l'orecchlo umano non perceplsce 30 ms dl vuoLo).
asslamo qulndl a vedere l'archlLeLLura dl reLe, dove sl dlsLlnguono le seguenLl apparecchlaLure:

! LSk - Labe| Sw|tch kouter: ha del clrculLl vlrLuall che lo aLLraversano e sl occupa delle operazlonl
lnLermedle dl commuLazlone. non ha conLaLLl con l'esLerno, bensl lnLeraglsce solo con alLrl elemenLl
MLS.
! Labe| Ldge kouter: sono poslzlonaLl al bordo della reLe fungendo da lngress o Lgress LS8. Cll lngress
8ouLer sl occupano dell'appllcazlone del label al paccheLLl l del flusso ln lngresso nella reLe, menLre
gll Lgress della rlmozlone degll sLessl al paccheLLl dl Lrafflco l ln usclLa. SosLanzlalmenLe qulndl vlene
reallzzaLa un'operazlone dl Lunnellng.


vedlamo plu ln deLLagllo come avvlene l'lnsLradamenLo all'lnLerno della reLe MLS: un daLagram ln arrlvo
dall'esLerno conLlene all'lnLerno dell'lnLesLazlone l l'lnformazlone sul desLlnaLarlo. nell'lngress rouLer sl va
a rlcercare ll modo ln cul dovra essere esegulLo l'lnsLradamenLo del daLagram uLlllzzando Lecnlche del LuLLo
slmlll a quelle dell'l, ovvero basaLe sulla rlcerca del LongesL reflx MaLch. nel nosLro caso l'lngress rouLer
Lrova nella sua Labella dl lnsLradamenLo
un'lnformazlone ln base alla quale ll
daLagram con preflsso dl reLe u deve
essere rlLrasmesso sulla porLa 0 dopo
avergll apposLo un label dl colore nero.
ln Lal modo ll daLagram glunge alla
porLa 4 del prlmo LS8 ll quale, ln vlrLu
delle lnformazlonl a sua dlsposlzlone,
procedera all'lnolLro aLLraverso la porLa
2 con un label dl colore blanco. ln
manlera slmllare ll daLagram percorre
LuLLl gll alLrl LS8 flno all'Lgress rouLer.
CuesL'ulLlmo procede a rlmuovere ll
label e ad lnolLrare ll daLagram verso
l'esLerno aLLraverso una delle sue porLe. 8lassumendo qulndl all'lngresso nella reLe MLS ll daLagram e
sLaLo lncapsulaLo e ll suo lnsLradamenLo e sLaLo effeLLuaLo basandosl unlcamenLe sull'lnformazlone fornlLa
dal label apposLo al daLagram dall'lngress rouLer. una volLa usclLo dalla reLe MLS, ll paccheLLo sara pol
nuovamenLe lnsLradaLo ln base all'lndlrlzzo del desLlnaLarlo speclflcaLo all'lnLerno dell'header l.
AlLra caraLLerlche caraLLerlsLlche lmporLanLl dell'MLS sono le seguenLl:
! e ln grado dl manlpolare flussl a granularlLa dlfferenLe, ovvero e posslblle meLLere ln collegamenLo
Lra dl loro aLLraverso un Lunnel MLS due soLLoreLl dlfferenLl o addlrlLLura due gruppl dl soLLoreLl l,
macchlne o anche appllcazlonl. Ma perche le appllcazlonl poLrebbero aver blsogno dl Lunnel
dlfferenLl? all'lnLerno dl una macchlna e comune che slano ln esecuzlone appllcazlonl ll cul Lrafflco
dl reLe prodoLLo e compleLamenLe dlfferenLe, ad esemplo un'appllcazlone web ed una vol. Se
quesLl due Llpl dl Lrafflco vengono lnvlaLl ad uno sLesso desLlnaLarlo aLLraverso ll medeslmo Lunnel
quello che succede e che sl e dl faLLo lmposslblllLaLl ad aLLrlbulre una qualslasl forma dl prlorlLa al
Lrafflco vol (che per deflnlzlone necesslLa dl garanzle dl banda e rlLardo dl aLLraversamenLo), l
rouLer non sono ln grado dl perceplre la dlfferenza Lra l due Llpl dl Lrafflco all'lnLerno del Lunnel.
Cuello che sl pu fare per ovvlare a Lale problema e aprlre due dlversl Lunnel che saranno LraLLaLl
dal rouLer con prlorlLa dlfferenLl.
! e lndlpendenLe dal llvelll 2 e 3 ln vlrLu del faLLo
! e lnLerfacclablle con l proLocolll kSV e CSI. ll prlmo permeLLe dl prenoLare sulla reLe delle rlsorse
per garanLlre su cerLl percorsl una cerLa quallLa del servlzlo (mlnlma banda garanLlLa, max valore dl
[lLLer, max rlLardo dl aLLraversamenLo..) e non e molLo uLlllzzaLo, menLre ll secondo e un proLocollo
dl lnsLradamenLo medlanLe ll quale l rouLer che sl Lrovano all'lnLerno dl uno sLesso aLonoumous
sysLem sl scamblano lnformazlonl che vanno ad lnfluenzare la creazlone delle Labelle dl rouLlng
(scomparsa o rlcomparsa dl un canale, dl un rouLer..).
! SupporLa A1M e lrame 8elay come llvello 2, dal quale per abblamo appena deLLo essere
lndlpendenLe.

L'lnLesLazlone MLS sl va a poslzlonare Lra l'header l e quello del proLocollo dl llvello 2 ed e composLa dl
varle parLl, ognuna delle quall sl compone a sua volLa dl un Label da 20 blL, 3 blL sperlmenLall per la Class of
Servlce, un flag S che lndlca se la parLe correnLe
e l'ulLlma prlma dell'header l e un campo da 8
blL che lndlca ll classlco 11L.
Ma perche quesLa necesslLa dl lnserlre plu label
MLS!? Supponlamo dl avere una reLe MLS ln
lLalla dl 1elecom lLalla e vogllamo cosLrulre un
Lunnel che da un punLo A collegaLo a Lale reLe ml
porLl ad un punLo 8 collegaLo ad una reLe MLS
ad esemplo ln lrancla, dl lrance1elecom. er
farlo cl rlvolglamo ad un operaLore che fornlsce
conneLLlvlLa lnLernazlonale, ovvero che meLLe a
dlsposlzlone una reLe MLS a llvello lnLernazonale. All'lnLerno dl Lale reLe e gla slcuramenLe presenLe un
Lunnel su cul vlene velcolaLo LuLLo ll Lrafflco che dalla reLe MLS lLallana vlaggla verso quella francese, dl
modo che verra usaLo Lale Lunnel senza crearne uno nuovo. ll paccheLLo lnvlaLo da A enLra nella reLe dl
1elecom lLalla medlanLe un lngress rouLer che
gll appllca un label dl glallo, dlsLlnLlvo dl quella
reLe MLS. ln base a Lale label ll paccheLLo
verra lnsLradaLo aLLraverso la reLe dl 1.l. flno
ad un lngress rouLer per ll Lunnel
lnLernazlonale. CuesL' ulLlmo vl appone un
secondo label azzurro, sulla base del quale
verra effeLLuaLa la commuLazlone all'lnLerno
della reLe lnLernazlonale. CuesLo permeLLe dl avere un unlco label per ll Lunnel azzurro nonosLanLe che al
suo lnLerno passano cenLlnala o mlgllala dl alLrl Lunel plu plccoll. Cosl facendo dlmlnulsce ll numero dl label
che gll SwlLch MLS devono LraLLare all'lnLerno della reLe lnLernazlonale. All'usclLa vlene LolLo ll label
azzurro e rlemerge quello glallo del Lunnel speclflco che va da A a 8. ua noLare e che 1.l. e lrance1elecom
sl parleranno duranLe le fasl lnlzlall allo scopo dl lnsLaurare ll Lunnel Lra l due punLl (lrance1elecom ha ll
complLo dl cosLrulre ll Lunnel dall'usclLa del Lunnel lnLernazlonale flno a 8) dopo dl che, una volLa LermlnaLa
l'lnsLaurazlone, l rouLer dl 1.l. rlsulLeranno conflguraLl ln modo da porLare ll label dl A flno all'lngress rouLer
della reLe lnLernazlonale. C'e da Lener presenLe che ll meccanlsmo per meLLere su quesLl Lunnel non e
necessarlamenLe auLomaLlzzaLo, bensl per moLlvl rlguardanLl ll 1rafflc Lngeneerlng rlchledono spesso
l'lnLervenLo umano. ul conseguenza quesLl Llpl dl Lunnel sono abbasLanza sLaLlcl, non verranno messl su e
pol dlsfaLLl nell'arco dl poco Lempo.
Le operazlonl che un rouLer MLS pu fare su l varl label sono le seguenLl:
! USn: operazlone Llplca degll lngress rouLer, agglunge un nuovo label dl fronLe a quelll
evenLualmenLe gla eslsLenLl.
! C: operazlone Llplca degll Lgress rouLer, prende ll label plu esLerno e lo Loglle.
! SWA: operazlone Llplca del rouLer lnLermedl, cambla ll conLenuLo dell'lnLesLazlone plu esLerna.
er esemplo nella flgura soLLosLanLe sulla Lrama eLherneL ln arrlvo dlreLLa al desLlnaLarlo "l1" (ll cul
preflsso dl reLe e 192.4/16) vlene effeLLuaLo un uSP per apporgll ll label 3, pol due SWA duranLe
l'lnsLradamenLo all'lnLerno della reLe MLS qulndl lnflne un C all'usclLa della reLe MLS. 1ale C fa
rlemergere l'lnLesLazlone orlglnale della Lrama, dl modo che da quesLo punLo ln pol l'lnsLradamenLo
conLlnua sulla base dell'lndlrlzzo desLlnaLarlo speclflcaLo all'lnLerno dl quesL'ulLlma.

nel caso dl MLS che uLlllzza A1M o lrame 8elay c'e una faclllLazlone legaLa al faLLo che, essendo LuLLe
Lecnologle basaLe sull'uLlllzzo dl clrculLl vlrLuall, ll numero da 20 blL da porre nel campo label pu essere
dlreLLamenLe rlcavaLo a parLlre rlspeLLlvamenLe dal vCl/vl e dal uLCl.
vedlamo ora lnvece le ILC-Iorward Lqu|va|ence C|ass, ovvero le regole ln base alle quall sl declde quall
sono l paccheLLl che possono avere lo sLesso label:
! devono avere lo sLesso percorso all'lnLerno della reLe MLS (al dl fuorl dl essa l percorsl possono
anche varlare)
! devono essere LraLLaLl allo sLesso modo da LuLLl gll LS8, cloe ad esemplo non poLranno mal avere lo
sLesso label l paccheLLl dl un flusso a prlorlLa alLa (es.Lrafflco vol) e quelll dl uno a prlorlLa mlnore
(es. normale Lrafflco web).
l paccheLLl che soddlsfano enLrambe le condlzlonl cosLlLulscono una lorward Lqulvalence Class e hanno
LuLLl la medeslma label, ovvero vlagglano LuLLl all'lnLerno dello sLesso Lunnel MLS. AlLrl crlLerl ln base al
quall deflnlre le classl dl equlvalenza sono ad esemplo
! l paccheLLl hanno lo sLesso desLlnaLarlo unlcasL
! l paccheLLl hanno lo sLesso desLlnaLarlo mulLlcasL
! forzo la classe dl equlvalenza per moLlvl dl 1rafflc Lngeneerlng
! l paccheLLl hanno la sLessa CoS o CoS
! l paccheLLl apparLengono ad uno sLesso Lunnel vn

lnolLre..come v|ene stab|||ta |a numeraz|one de| |abe| ut|||zzat|? sl e gla amplamenLe dlscusso sul faLLo che
quando vlene creaLo un nuovo Lunnel non c'e la necesslLa dl aLLrlbulrgll come label un numero che non sla
uLlllzzaLo all'lnLerno dell'lnLera reLe, bensl e posslblle sLablllre un label dlverso per ognl LraLLa. Le label cosl
deflnlLe saranno Lra loro assoclaLe uLlllzzando le lnformazlonl conLenuLe nelle Labelle dl commuLazlone
all'lnLerno degll swlLch MLS.
nell'esemplo seguenLe l'lngress rouLer A fa un label requesL verso 81 speclflcando che ll desLlnaLarlo flnale
del clrculLo vlrLuale e l'Lgress rouLer C. 81 caplsce che per arrlvare a C ll prosslmo hop e 82, dl modo che a
sua volLa lnvla a quesL'ulLlmo una label requesL. lnflne e 82 che lnvla una requesL al desLlnaLarlo flnale C. A
quesLo punLo C rlsponde lndlcando a 82 che ll Lunnel che e sLaLo appena aperLo Lra dl loro pu essere
numeraLo come 27, essendo Lale numero ancora lnuLlllzzaLo (non c'e nessun alLro Lunnel Lra 82 e C che sla
numeraLo con 27 ln quel
deLermlnaLo momenLo).
La caLena dl rlsposLe con
proposLe dl numerazlone
sl propaga cosl a rlLroso
flno all'lngress rouLer A
generando le assoclazlonl
Lra l varl label deflnlLl per le varle LraLLe del clrculLo all'lnLerno delle Labelle dl commuLazlone del varl LS8.
ln alLernaLlva all'approcclo appena descrlLLo

Come vengono costru|t| | tunne|? Le alLernLlve sono essenzlalmenLe due: sLaLlcamenLe o dlnamlcamenLe.
nell'approcclo sLaLlco e l'operaLore/gesLore dl reLe a planlflcare e reallzzare la cosLruzlone del Lunnel. 1ale
soluzlone non e per scalablle (ln caso dl reLe molLo grande ll carlco dl lavoro posLo sulle spalle
dell'operaLore e Lroppo gravoso) e non permeLLe un'lmmedlaLa lnLeroperablllLa Lra slsLeml dl dlversl
gesLorl (per esemplo se vogllono fare un Lunnel che colleghl le reLl dl due dlversl operaLorl). er ovvlare a
Lall probleml sono sLaLe elaboraLe una cerLa serle dl soluzlonl che aluLlno l'operaLore a Llrare su l Lunnel:
molLo spesso la declslone dl dove far passare esaLLamenLe l Lunnel e ancora presa da un essere umano, ma
faLLo quesLo pol l meccanlsml che servono a conflgurare e qulndl lmplemenLare l Lunnel nella reLe sono
sLaLl auLomaLlzzaLl. Ad esemplo ll proLocollo vlsLo nell'esemplo precedenLe prende ll nome dl LD ed e
sLaLo progeLLaLo apposlLamenLe per l'MLS per creare una assoclazlone Lra degll l unlcasL e l label. AlLre
soluzlonl sono l proLocolll kSV, Ck-LD, IM e 8G.
nell'approcclo dlnamlco lnvece l'aperLura del Lunnel e roLocol (l) drlven, ovvero vlene creaLo un LS-
Labe| Sw|tch ath Lra gll edge rouLer ognl volLa che cl sl accorge che e apparsa una nuova posslblle
desLlnazlone all'lnLerno della reLe. CraflcamenLe


Lale Lecnlca rlsolve ll problema dell'l, funzlonanLe a daLagram, che deve uLlllzzare una reLe a clrculLl
vlrLuall come MLS. ll dllemma per Lale accopplaLa e lnfaLLl ll seguenLe: "quando ho un paccheLLo per un
cerLo desLlnaLarlo se non ho gla un Lunnel aperLo verso dl esso lo devo aprlre, dopo dl che, una volLa
LrasferlLo ll paccheLLo, quand'e che posso chludere ll Lunnel!? L'l non fornlsce alcuna lnformazlone a
rlguardo!". La Lecnlca vlsLa ellmlna Lale dllemma perche ll Lunnel e sempre aperLo, vlene aperLo
lndlpendenLemenLe dal faLLo che lo abbla ln quel momenLo del Lrafflco da spedlre su dl esso o meno. ll
rlsvolLo negaLlvo e l'lnsLaurazlone dl un numero dl Lunnel davvero elevaLo, nell'ordlne dl n
2
(dove n e ll
numero dl edge rouLers presenLl). un nodo lnLermedlo sl rlLrova cosl ad essere aLLraversaLo da una gran
quanLlLa dl Lunnel e vedra lnevlLabllmenLe crescere la dlmenslone delle proprle Labelle dl lnsLradamenLo.
ln alLernaLlva la creazlone del Lunnel pu essere esegulLa a segulLo dl espllclLa segnalazlone da parLe dl uno
degll Ldge rouLers. ln Lal caso ll percorso compleLo che dovra segulre ll Lunnel pu essere declso da un
operaLore umano, che da pol mandaLo all'edge rouLer dl occuparsl della creazlone ln base alle speclflche
fornlLegll.

er quanLo rlguarda l protoco||| d| |nstradamento, quesLl possono essere effeLLlvamenLe usaLl quando sl
aprono l Lunnel. una volLa aperLl ll meccanlsmo dl lnsLradamenLo non vlene plu esegulLo perche LuLLe le
lnformazlonl per l'lnolLro dLLlel pacch sono conLenuLe all'lnLerno delle Labelle degll swlLch MLS ln manlera
abbasLanza sLaLlca. l proLocolll che sono sLaLl presl ln conslderazlone sono l seguenLl:
! CSI: plu che un meccanlsmo dl lnsLradamenLo e un proLocollo che serve al rouLer l apparLenenLl
ad uno sLesso auLonomous sysLem (un gruppo dl soLLoreLl ammlnlsLraLe LuLLe dalla medeslma
organlzzazlone) per parlarsl e comunlcarsl l camblamenLl dello sLaLo della reLe. 1ale proLocollo e
sLaLo preso ed esLeso per essere adaLLaLo al suo uLlllzzo nelle reLl MLS.
! IS-IS: Lale proLocollo ha provenlenza lSC/CSl e svolge bene o male le medeslme funzlonl coperLe
dall'CSl. La necesslLa dl averll enLrambl derlva dal faLLo che CSl ha avuLo un lungo perlodo dl
sLandardlzzazlone.
! 8G-4: meccanlsmo dl lnsLradamenLo Lra auLonomous sysLems nel quale cl sl annuncla
reclprocamenLe le varle soLLoreLl dove sono e se sl e ln grado dl ragglungerle o meno.
Lall proLocolll nella loro forma orlglnale LrasporLano solo lnformazlonl rlguardanLl la Lopologla della reLe.
AdaLLandoll al loro uLlllzzo con l'MLS sono sLaLl pol esLesl per ll LrasporLo dl lnformazlonl per ll constra|nt
rout|ng, ovvero lnformazlonl per fare l'lnsLradamenLo ma con del vlncoll del Llpo "vogllo evlLare LuLLl l
canall che sono gla uLlllzzaLl al dl sopra dl uan cerLa percenLuale", "vogllo avere due percorsl Lall che slano ll
plu posslblle flslcamenLe lndlpendenLl Lra dl loro",..eLc eLc. Le lnformazlonl LrasporLaLe a Lale scopo
rlguardano:
! CapaclLa del llnk
! uLlllzzazlone correnLe del llnk
! lnLerdlpendenze flslche Lra l llnk
le nuove verslonl cosl esLese del proLocolll precedenLemenLe vlsLl sono sLaLe denomlnaLe CSl-1L, lS-lS-1L
e 8C-41L, dove 1L sLa per 1rafflc Lngeneerlng.
lnLroduclamo ora l conceLLl dl Contro| |ane e Data |ane.
nel caso dell'l ll ConLrol lane e quella parLe dell'archlLeLLura dl un rouLer che sl occupa dl generare un
quadro della vlslone che ll rouLer ha dell'
lnLerconnesslone delle varle reLl all'lnLerno dello
sLesso auLonomous sysLem ln base alle lnformazlonl
rlcevuLe dagll alLrl rouLers. ln base a Lale vlslone verra
calcolaLa la Labella dl lnsLradamenLo, uLlllzzaLa dal uaLa
lane per assolvere alle sue manslonl. ll uaLa lane e
lnfaLLl quella seconda meLa del rouLer l cul meccanlsml
sl occupano del vero e proprlo smlsLamenLo del
paccheLLl (prendl ll paccheLLo, leggl la Labella dl rouLlng
per vedere dove deve andare, meLLllo ln coda,
Lrasferlscllo..eLc eLc).

nel caso dell'MLS lnvece ll conLrol plane sl occupa ancora dl calcolare la Labella dl lnsLradamenLo e dl
Lenerla agglornaLa, ma quesLa non e quella uLlllzzaLa dal conLrol plane. La forwardlng Lable uLlllzzaLa dal
conLrol plane dl un rouLer MLS conLlene
lnfaLLl lnformazlonl dlfferenLl da quelle del
caso l, ovvero LuLLe le assoclazlonl Lra
label ln lngresso e corrlspondenLl porLa dl
usclLa/label dl usclLa per LuLLl l Lunnel che
aLLraversano ll rouLer. Cualcosa cambla
solo nel momenLo ln cul uno del Lunnel che
aLLraversano ll rouLer vlene chluso oppure
quando uno nuovo deve essere aperLo (ll
che vlene segnalaLo uLlllzzando l proLocolll
Lu o 8Sv). ln Lal caso sl va a prendere la
Labella dl lnsLradamenLo calcolaLa dal
conLrol plane per vedere qual'e ll prosslmo rouLer verso ll quale far prosegulre la cosLruzlone del Lunnel.
laLLo quesLo Lale Labella pu essere nuovamenLe abbandonaLa. Sl pu qulndl facllmenLe caplre come,
nonosLanLe la rouLlng Lable venga cosLanLemenLe agglornaLa, dl faLLo le lnformazlonl conLenuLe saranno
rlversaLe nella forwardlng Lable ln possesso del daLa plane solo nel momenLo ln cul sl avra la necesslLa dl
aprlre un nuovo Lunnel.

Andlamo lnvece ora a splegare ll perche ll meccanlsmo dl lnsLradamenLo dell'l non permeLLe dl effeLLuare
ll 1rafflc Lngeneerlng.
ln flgura sono lllusLraLl l percorsl che vengono calcolaLl dall'algorlLmo dl lnsLradamenLo dell'l per meLLere
ln comunlcazlone quaLLro hosL con la posLazlone u. Cuello che succede e che l percorsl mlnlml calcolaLl
formano la coslddeLLa arborescenza, nella
quale man mano che cl sl avvlclna alla
radlce ll Lrafflco va sempre plu aggragandosl
flno a concenLrarsl LuLLo all'lnLerno dl un
unlco llnk. ul conseguenza avremo alcunl
llnk poLenzlalmenLe sempre congesLlonaLl
ed alLrl compleLamenLe lnuLlllzzaLl, reallzzaLl
solo per moLlvl dl rldondanza al flne dl
dlsporre dl percorsl alLernaLlvl ln caso dl
guasLl ad alcunl nodl della reLe. ln parLlcolare e dlmosLrablle che l'algorlLmo dl lnsLradamenLo uLlllzzaLo
dall'l calcola del caammlnl mlnlml con Lale conformazlone ad arborescenza qualunque sla la meLrlca
uLlllzzaLa per la valuLazlone del llnk. Cuello che lnvece sl vorrebbe e una dlsLrlbuzlone dl Lrafflco che evlLl
congesLlonl aLLuando un uLlllzzo quanLo plu
unlforme posslblle del llnk della reLe. CuesLo
Llpo dl gesLlone del llnk della reLe non e
reallzzablle con l'l, menLre e lnvece posslblle
uLlllzzado l'MLS con ll quale e posslblle
cosLrulre espllclLamenLe del canall e farll
passare dove vogllo. ll rlsvolLo della medaglla e
per che l Lunnel MLS non sono cosl dlnamlcl
come l'lnsLradamenLo l che pu camblare
anche per ognl paccheLLo, reagendo ln manlera molLo dlnamlca al camblamenLl della Lopologla della reLe.


Abblamo vlsLo precedenLemenLe quella che ln MLS vlene deflnlLa una ILC-Iorward|ng Lqu|va|ent C|ass,
ovvero sosLanzlalmenLe un flusso dl Lrafflco che deve essere LraLLaLo allo sLesso modo nel varl rouLer sla ln
Lermlnl dl desLlnazlone che ln Lermlnl dl prlorlLa. Cuando vlene effeLLuaLo ll seLup dl un Lunnel MLS
blsogna decldere ln che modo devono essere servlLe le caLegorle dl Lrafflco passanLl su quesLo Lunnel
rlspeLLo alle alLre passanLl sugll alLrl Lunnel che aLLraversano ll rouLer. CuesLo dl faLLo dl Lraduce ln una
assoclazlone dl rlsorse ln Lermlnl dl buffer dl memorla e banda sul canale dl usclLa, ll che lmpllca degll
apposlLl meccanlsml all'lnLerno del daLa plane per reallzzare Lall funzlonallLa e alLrl meccanlsml all'lnLerno
del conLrol plane per poLer comunlcare Lra l varl rouLer qual'e ll Llpo dl servlzlo rlchlesLo per un parLlcolare
Lunnel. ll conceLLo dl CoS- C|ass Cf serv|ce permeLLe lnvece dl deflnlre prlorlLa relaLlve Lra le dlfferenLl lLC.


VN ed MLS
vedlamo ora l'uso che pu essere faLLo dell'MLS per cosLrulre delle vn. LslsLono due posslblll lmpleghl
compleLamenLe dlfferenLl dell'MLS ln Lale conLesLo. ll prlmo e nel modello Cverlay (la vn vlene cosLrulLa
dall'uLenLe al dl fuorl della reLe, cul
sl vanno a chledere solo del servlzl
dl connesslone elemenLarl. ln Lal
caso l'uLenLe deve dlsporre anche
delle proprle lnfrasLruLLure al dl
fuorl della reLe per l'lnsLradamenLo
all'lnLerno del Lunnel). ln quesLo
caso l'MLS pu essere usaLo per
rallzzare del canall punLo-a-punLo
uLlllzzablll nel modo seguenLe:
supponlamo dl avere una reLe MLS ln cul ldenLlflchlamo due edge rouLer (o plu generlcamenLe rovlder
Ldge) e due CusLomer Ldge cul e collegaLo un Lroncone della reLe vn.l CL sono dlreLLamenLe collegaLl ad
al L, l quall aprono Lra dl loro un Lunnel che ll colleghl. ua noLare e che Lale Lunnel pu benlsslmo essere
sfruLLaLo anche per la reallzzazlone dl alLre vn che
sl aLLesLlno sul medeslml L. ln Lal caso per
dlsLlnguere l Lrafflcl apparLenenLl alle dlverse vn
saranno prevlsLl dlfferenLl label all'lnLerno del
paccheLLl, ovvero


dove ll label L
L
speclflca ll L dl desLlnazlone del paccheLLo, menLre ll label L
vn
lndlca a quale vn
apparLlene ll Lrafflco all'lnLerno del quale e locallzzaLo ll paccheLLo. CuesLo permeLLe al rouLer MLS
lnLermedl dl effeLLuare una commuLazlone basaLa unlcamenLe sulla label plu esLerna. nel momenLo ln cul
pol ll paccheLLo arrlva al L dl usclLa quesLo Loglle la label plu esLerna e, ln base all'lnformazlone conLenuLa
L
L
L
V
N

I
nel label plu lnLerno, decldera verso quale reLe vn effeLLuare l'lnolLro. L' opporLuno soLLollneare che l
Lrafflcl dl due reLl vn che condlvldono un Lroncone dl Lunnel all'lnLerno dl una reLe MLS sono Lall da
rlchledere ll medeslmo LraLLamenLo da parLe del rouLer lnLermedl. nel momenLo ln cul quesLo non fosse
plu vero sl avra la necesslLa dl andare ad uLlllzzare due dlfferenLl Lunnel MLS per le due reLl vn.
L'alLro lmplego che pu essere faLLo dell'MLS per la cosLruzlone dl vn e lnvece nelle reLl con modello
LL8 (l'uLenLe scarlca sul fornLore del servlzlo dl comunlcazlone LuLLl l probleml legaLl alla separazlone del
Lrafflco e all'lnsLradamenLo all'lnLerno del varl Lronconl della vn. L'uLenLe collega l CL come se sl dovesse
collegare ad una reLe realmenLe prlvaLa). ln Lal caso gll Ldge 8ouLer hanno una VkI - VN kout|ng and
Iorward|ng tab|e che conLlene le
assoclazlonl Lra lndlrlzzl l e porLa
dl usclLa/vn dl apparLenenza. L'
necessarlo memorlzzare anche
l'lnformazlone sulla reLe vn dl
apparLenenza perche e posslblle
che per le vn slano sLaLl operaLl
del planl dl lndlrlzzamenLo ln
parzlale o LoLale colllsslone Lra dl
loro. Cll Ldge 8ouLers MLS sl mandano reclprocamenLe degll annuncl 8C per scamblarsl le lnformazlonl
su quall sono le reLl collegaLe alle proprle lnLerfaccle e con quale cosLo esse sono ragglunglblll. l rouLer
lnLermedl all'lnLerno della reLe MLS sono lnvece LoLalmenLe allo scuro dl LuLLo e sl llmlLano ad un mero
lavoro dl commuLazlone del paccheLLl ln LranslLo.
er esemplo supponlamo che vl sla un paccheLLo ln parLenza desLlnaLo all'lndlrlzzo 10.0.0.37. ll
meccanlsmo lnLerno del Lroncone dl reLe vn azzurrlna caplsce che Lale desLlnaLarlo sl Lrova all'esLerno ed
lnsLrada ll paccheLLo verso
ll rouLer dl usclLa, e qulndl
a quello A dl lngresso alla
reLe MLS. ll rouLer A ha
un Lunnel che e aperLo ln
dlrezlone dell'edge rouLer
u cul e collegaLo l'alLro
Lroncone dl reLe vn all'
lnLerno del quale sl Lrova ll
desLlnaLarlo del paccheLLo.
ll rouLer A provvede qulndl
ad appllcare al paccheLL o un label L1 che conLraddlsLlnguera LuLLo ll Lrafflco azzurrlno ln parLenza dal
rouLer A con desLlnazlone ll rouLer u, ed un label L2 ln vlrLu medlanLe ll quale verra effeLLuaLo
l'lnsLradamenLo del paccheLLo all'lnLerno della reLe MLS flno a u. Cosa parLlcolare che l'MLS permeLLe dl
fare e la seguenLe: arrlvaLl al penulLlmo rouLer, nel nosLro caso ll rouLer lnLermedlo C, quesLo provvedera a
Logllere ll label esLerno. Cosl facendo ll paccheLLo arrlva al rouLer u avendo come label esLerno gla L1, ed ln
base a quesL'ulLlmo u decldera se lnolLrarlo verso ll 10.0.0.37 azzurrlno o verso quello grlglo. ll valore del
label L1 era sLaLo concordaLo Lra l rouLer A eu nel momenLo ln cul e apparso ll Lroncone dl reLe azzurrlna
lndlrlzzaLo 10.0.1.0/24 e la cosa era sLaLa noLlflcaLa medlanLe messaggl 8C.
ln vlrLu del faLLo che, come gla deLLo precedenLemenLe, e posslblle che per vn dlverse vengano deflnlLl
planl dl lndlrlzzamenLo ln parzlale o LoLale colllsslone Lra dl loro e sLaLo sLandardlzzaLo ll coslddeLLo koute
D|st|ngu|sher. CuesLo alLro non e che un ldenLlflcaLore da agglungere all'lndlrlzzo l che permeLLe dl
dlsLlnguere Lra dl loro le varle vn.

l beneflcl del meccanlsml lllusLraLl sono rlassumlblll come segue:
! non cl sono vlncoll sul plano dl lndlrlzzamenLo, gll lndlrlzzl devono essere unlcl solo all'lnLerno della
vn.
! l CL rouLers non scamblano lnformazlonl Lra dl loro
! l'uLenLe non deve occuparsl della gesLlone del backbone dl lnsLradamenLo
! l gesLorl possono usare un unlco Llpo dl reLe per fornlre lo sLesso Llpo dl servlzlo a LuLLl l loro cllenLl,
l'lnfrasLruLLura dl reLe e comune a LuLLl
! le vn possono essere esLese su plu provlders
! l Lunnel permeLLono dl lsolare l Lrafflcl delle varle vn ma non fornlscono alcun Llpo dl clfraLura. Se
quesL'ulLlma e rlchlesLa deve essere reallzzaLa dall'uLenLe al dl fuorl della reLe

AlLernaLlva alla slLuazlone descrlLLa precedenLemenLe e quella che prevede l'uLlllzzo dl V|rtua| kouters. ln
alLre parole l'lnLenslone e quella dl lnsLallare all'lnLerno degll edge rouLers dlverse delle macchlne vlrLuall
che eseguono del rouLers (vlrLuall), una per ognl reLe vn che uLlllzza quel parLlcolare edge rouLer. ln Lal
caso all'arrlvo dl un paccheLLo vlene selezlonaLa e messa ln funzlone la macchlna relaLlva alla parLlcolare
vn cul apparLlene ll Lrafflco ln
lngresso. ll prlnclpale problema
dl Lale approcclo rlslede nel faLLo
che nella commuLazlone da una
macchlna vlrLuale all'alLra sl
perde un p dl Lempo, dl modo
che sl perde una parLe della
capaclLa dl elaborazlone dl quesLl
rouLer.








LL2ICNI N. 27,28


Improv|ng oS |n I Networks

l proLocolll l, 1C e uu dl lL1l non hanno nessun meccanlsmo che abbla a che vedere con la LemplsLlca,
ovvero non vl e alcuna posslblllLa dl speclflcare che un paccheLLo debba essere consegnaLo al masslmo
enLro un cerLo lasso dl Lempo o comunque avanzare delle rlchlesLe ln Lermlnl dl banda mnlma rlservaLa o
mlnlmo rlLardo dl aLLraversamenLo. CuesLo e dovuLo al faLLo che quando sono sLaLl lnLrodoLLl all'lnlzlo
degll annl 80' nessuno sl era posLo Lale problemaLlca, polche nessuna soluzlone appllcaLlva ne rlchledeva
l'anallsl. nel momenLo ln cul lnvece cl sl e lnlzlaLl a porre ll problema le soluzlonl proposLe sono sLaLe
essenzlalmenLe Lre:
! lasclare LuLLo com'era, punLando sul faLLo che la veloclLa globale delle reLl sarebbe andaLa
aumenLando negll annl e sullo scarso uLlllzzo del canall.
! Integrated Serv|ces: proponeva dl meLLere ln campo del nuovl proLocolll che permeLLano dl
esprlmere speclflche rlguardanLl la CoS (per esemplo kSV) e nuovl algorlLml all'lnLerno del rouLer
perche quesLl slano ln grado dl LraLLare ll Lrafflco non necessarlamenLe secondo una fllosofla dl Llpo
lllC. 1ale soluzlone e presLo naufragaLa vlsLa l'lmposslblllLa dl fornlre esLenderla a llvello
planeLarlo.
! D|fferent|ated Serv|ces: proponeva dl dlfferenzlare ll Lrafflco ln poche classl, dopo dl che deflnlre
del meLodl dl LraLLamenLo per quesLe.
er caplre alcunl prlnclpl fondamenLall rlguardanLl la CoS e
posslblle uLlllzzare ll seguenLe modelllno nel quale,
supponendo che la banda sulla reLe locale non sla un
problema, sl noLa sublLo come ll problema rlsleda nel faLLo
che la coda dl Lrasmlsslone del rouLer 81 pu lncorrere ln
sLaLl dl congesLlone nel momenLo ln cul la veloclLa dl arrlvo
del paccheLLl sla superlore a quella dl usclra degll sLessl.
arLendo da Lale osservazlone e posslblle esprlmere del prlnclpl necessarl per poLer fornlre la CoS al flne dl
ovvlare a Lale crlLlclLa.
! r|nc|p|o n.1: L' necessarlo marcare l paccheLLl per permeLLere al rouLer dl dlsLlnguere dlfferenLl
classl dl flussl e lnLrodurre nuove pollLlche dl pollcy nel rouLer per LraLLare l paccheLLl dl conseguenza.
! r|nc|p|o n.2: lornlre lsolamenLo Lra le varle classl.
! r|nc|p|o n.3: uLlllzzare le rlsorse nella manlera plu efflclenLe posslblle. ln parLlcolare e da evlLare
l'allocazlone flssa delle rlsorse (qulndl no 1uM!).
! r|nc|p|o n.4: se vogllo avere uan qualche garanzla rlguardo l parameLrl della quallLa del servlzlo
devo prlma dlre alla reLe quall sono le caraLLerlsLlche del Lrafflco e aspeLLare che la reLe dla l'ok.
CuesLo perche le rlsorse sono flsse e ll faLLo che la reLe possa acordare o meno l parameLrl dl servlzlo
rlchlesLl dlpende dal carlco dl lavoro aLLuale della reLe.
ulamo qulndl ora un'occhlaLa a quelll che sono l meccanlsml uLlllzzaLl denLro al rouLer per reallzzare
quanLo deLLo. L' chlaro che ll problema e nella gesLlone delle code. CuesLe sono normalmenLe gesLlLe ln
base ad uno schedullng dl Llpo lllC, dl modo che
uno sLaLo dl congesLlone dlpendera dal faLLo che l
paccheLLl glungono nella coda del rouLer con una
veloclLa magglore rlspeLLo a quella con cul quesLo e
ln grado dl lnolLrarll sul canale dl usclLa. nel caso ln
cul arrlvando un paccheLLo Lrovasse la coda (buffer)
plena vl e la necesslLa dl rlcorrere a delle dlscard pollcy:
! vlene scarLaLo l'ulLlmo paccheLLo arrlvaLo ln ordlne dl Lempo
! vlene scarLaLo un paccheLLo ln base ad un meccanlsmo a prlorlLa
! vlene scarLaLo un paccheLLo ln manlera random
! kLD- kandom Lar|y de|et|on: sl lnlzla a prendere ln conslderazlone la posslblllLa dl lnlzlare a
scarLare del paccheLLl nel momenLo ln cul la percenLuale dl rlemplmenLo della coda ragglunge una
cerLa soglla. 8agglunLa Lale soglla per ognl paccheLLo ln arrlvo sl declde, con probablllLa varlablle
dlpendenLe dalla lunghezza della coda, se scarLarlo o meLLerlo ln coda. ln Lal modo non sl arrlva mal
al rlemplmenLo LoLale della coda.

Le pollLlche appena vlsLe non Lengono per ln conslderazlone la posslblllLa che l paccheLLl possano essere
suddlvlsl ln classl. ln Lal senso occorre una pollLlca dl servlzlo Lale per cul nel momenLo ln cul ll servlLore e
llbero, dlsponendo dl dlverse code ln lngresso che conLengono l paccheLLl ln base alla classe dl
apparLenenza, predlllga l'lnvlo del pacheLLl apparLenenLl alla classe con prlorlLa plu alLa (nel caso ln cul ce
ne slano).


ua
noLar
e e
per
che
l'arrlv
o ln
coda dl un paccheLLo a prlorlLa plu alLa non lnLerrompe l'lnvlo dl uno a prlorlLa plu bassa nel caso quesLo
sla gla ln corso.
AlLra posslblllLa e uno schedullng dl Llpo kound kob|n. Ancora una volLa abblamo plu classl dl prlorlLa,
dopo dl che ognl volLa che vlene presa una declslone dl ordlnano le classl ln modo dlverso. ln praLlca e
come se fosse passaLo un Loken dl prlorlLa alle varle classl con una conflgurazlone clrcolare.









ln Lal modo e pensablle dl rlusclre ad assegnare la banda ln manlera eguallLarla a LuLLe le classl deflnlLe.
Con la pollLlca vlsLa precedenLemenLe sl rlschla lnvece che l paccheLLl a prlorlLa plu bassa rlmangano
bloccaLl.
una varlanLe del 8ound 8obln e 8ound 8obln CenerallzzaLo, anche deLLo We|ghted Ia|r ueu|ng. ln poche
parole e un 88 nel quale per le feLLe dl Lempo w
l
assegnaLe non sono uguall per LuLLe le code






e ln parLlcolare ad esemplo la banda garanLlLa al Lrafflco rosso e quanLlflcablle come W
1
/(W
1
+W
3
+W
3
).

1raLLaLl l meccanlsml dl Schedullng andlamo ora a vedere quelll dl o||c|ng.
ll ollclng e un'aLLlvlLa che vlene svolLa da chl gesLlsce una reLe per verlflcare che ll Lrafflco lmmesso da
uno del suol clenLl e o meno conforme a degll accordl presl. l parameLrl che possono essere conLrollaLl
sono l seguenLl:
! veloclLa medla su lungo perlodo, ovvero quanLl paccheLLl sono sLaLl lnvlaLl per unlLa dl Lempo
conslderando un lasso dl Lempo abbasLanza amplo.
! veloclLa dl plcco
! Max 8ursL Slze, ovvero l'lmmlsslone dl paccheLLl uno dopo l'alLro (senza alcuna pausa lnLermedla)
alla masslma veloclLa del canale
ll meccanlsmo dl ollclng sollLamenLe uLlllzzaLo e ll 1ocken 8ucket. Abblamo un secchlello ln cul vlene
lanclaLo un Loken esaLLamenLe ognl 1/r secondl, ovvero r Loken al secondo. ll secchlello ha una capaclLa b,
dl modo che se arrlva un nuovo Loken e ll
secchlello e pleno Lale Loken cade fuorl. un
paccheLLo per poLer enLrare nella reLe deve
prendere un geLLone dal secchlello. Se non
Lrova geLLonl nel secchlello allora quel
paccheLLo e un paccheLLo non conforme,
ovvero Lale da vlolare gll accordl presl col
fornlLore dl reLe. ln Lal caso possono
succedere dlverse cose:

! ll paccheLLo vlene faLLo aspeLLare
! ll paccheLLo vlene faLLo enLrare ma vlene marcaLo come candldaLo per essere ellmlnaLo
prlorlLarlamenLe ln caso dl congesLlone
! ll paccheLLo vlene buLLaLo vla

1ale meccanlsmo pu anche essere uLlllzzaLo non solo dal laLo dl chl gesLlsce la reLe bensl anche da quello
da chl la uLlllzza e ha lnLeresse a non vlolare gll accordl presl. A Lal flne e posslblle sagomare ll Lrafflco
uLlllzzando del buffer che memorlzzano l flles ln usclLa e ll rllasclano ad lnLervalll regolarl nel rlspeLLo del
vlncoll dl reLe lmposLl. 1ale meLodo prende ll nome dl Shap|ng.
Ma vedlamo perche funzlona Lale meccanlsmo: ll numero masslmo dl paccheLLl che possono enLrare nella
reLe e parl al numero dl geLLonl che sono passaLl nel secchlello, dl modo che daLo un Lempo L rlsulLa che ll
numero masslmo dl Loken che sono passaLl dal secchlello e r*t + b (dove rL sono quelll che sono sLaLl
versaLl ln un Lempo L e b sono quelll che erano gla presenLl nel secchlello). er L-->oo avr che b e
Lrascurablle, qulndl sl pu dlre che ll numero dl paccheLLl che vengono lmmessl nella reLe e proporzlonale
al Lempo con un faLLore dl proporzlone r. ll parameLro r conLrolla dunque la veloclLa dl lmmlsslone del
paccheLLl sul lungo perlodo e b e la masslma lunghezza del bursL (lnfaLLl un lnsleme dl paccheLLl ln arrlvo
per passare LuLLl lnsleme devono Lrovare l Loken nel secchlello dove ne abblamo masslmo b).
ll 1oken 8uckeL pu essere uLlllzzaLo ln conglunzlone con ll WlC per conLrollare ll Lrafflco dl reLe nel
seguenLe modo: sul flussl ln arrlvo dl paccheLLl vlene usaLo un meccanlsmo con ll secchlello dl Loken con
veloclLa dl arrlvo del Loken r
l
e
un bursL slze masslmo parl a
b
l
. Cosl facendo sl conLrolla ll
Lrafflco garanLendo che la
veloclLa dl arrlvo del pacheLLl
non superl mal r
l
e sl llmlLa ll
bursL slze a b
l
. uopo dl che le
code vengono gesLlLe con una
Lecnlca dl WlC, dove l pesl sono sLablllLl ln manlera Lale che la banda assegnaLa ad una cerLa classe dl
Lrafflco sla r
l
. ln base a Lale conflgurazlone rlsulLa che ll masslmo rlLardo dl una classe e daLo dal bursL slze
della classe / la banda del canale rlservaLa a Lale classe

u
MAx
= b / 8

lnfaLLl ll caso pegglore dl aLLraversamenLo dl un rouLer e quello ll cul ll paccheLLo lnvlaLo e l'ulLlmo dl un
bursL. ll problema dl Lale approcclo e che necesslLa dl una classe per ognl flusso, dl modo che nel momenLo
ln cul ll numero dl flussl aumenLa dl molLo, come ad esemplo nel caso del backbone, cl sl rlLrova a gesLlre
mlgllala dl classl con mlgllala dl secchlelll.

Ma come possono essere usaLl l meccanlsml vlsLl per cosLrulre un'archlLeLLura che fornlsca servlzl
dlfferenzlaLl per ll LrasporLo dl segnall e daLl? ll problema e che l uLlllzza una Lecnlca dl lnsLradamenLo dl
Llpo connecLlonless, ovvero le declslonl dl lnsLradamenLo vengono prese per ognl paccheLLo ln manlera
lndlpendenLe dagll alLrl. Sopra l'l, l proLocolll 1C e uu seguono un modello dl Llpo 8esL LfforL, ovvero
fanno del loro megllo per la consegna del paccheLLl ma non e fornlLa alcuna garanzla. 8lsulLaLo e che non
vlene uLlllzzaLo alcun proLocollo dl segnalazlone, dl modo che non ce modo dl prenoLare una cerLa CoS su
LuLLo ll percorso per una Lrasmlsslone mulLlmedlale. 8lsposLa a Lale problema e sLaLa la deflnlzlone del
proLocollo kSV - kesource keservat|on rotoco|, la cul amblzlone era quella dl rlusclre a gesLlre la
prenoLazlone dl rlsorse flusso per flusso al flne dl oLLenere garanzle sulla quallLa del servlzlo (abblamo vlsLo
poco fa come con ll WlC sl rlesca a garanLlre una banda mlnlma e con WlC+1oken 8uckeL ll Lempo
masslmo dl aLLraversamenLo su un rouLer).

ln parLlcolare 8Sv pu garanLlre:
! le caraLLerlsLlche del servlzlo oLLenuLo ln Lermlnl dl perdlLe, rlLardo e banda
! conLrollo sull'accesso e accodamenLo del flusso, nel senso che prlma dl concedere delle rlsorse per
un cerLo flusso occorre lnLerrogare la reLe per sapere se Lall rlsorse sono effeLLlvamenLe dlsponlblll
ln vlrLu del carlco dl lavoro correnLe.
ll problema ln Lal caso rlslede nell'elevaLa complesslLa che LuLLo cl comporLa, da cul consegue anche una
bassa scalablllLa. laLLo sLa che 8Sv e sLaLo lmplemenLaLo all'lnLerno del rouLer ma dl faLLo non vlene
uLlllzzaLo.

IntServ

L'archlLeLLura IntServ prevede che ad ognl flusso venga assoclaLo un I|ow Descr|ptor formaLo da due
lnsleml dl parameLrl quall:
! I||terspec: deflnlsce la composlzlone del uaLa llow ossla
speclflca l parameLrl (l'lndlrlzzo sorgenLe, ll numero dl
porLa 1C/uu) aLLraverso l quall ldenLlflcare l paccheLLl
della sesslon.
vlene uLlllzzaLo per conflgurare opporLunamenLe l classlflcaLorl del 8ouLer.

! I|owspec: ldenLlflca ll llvello dl CdS rlchlesLo ed e uLlllzzaLo per conflgurare l parameLrl degll
scheduler nel nodl dl reLe. ll llowSpec, come rlporLaLo nella 8lC 2210, e composLo da Lre Llpologle dl
parameLrl e pu essere modlflcaLo lungo ll percorso:
8spec: ll llvello dl CoS deslderaLo,
1spec: le speclflche del Lrafflco

sulla base del llow uescrlpLor vengono pol effeLLuaLe le prenoLazlonl, qulndl c'e un classlflcaLore dl
paccheLLl, un meccanlsmo dl gesLlone delle code del paccheLLl e del buffer, c'e conLrollo dl ammlsslone e
qulndl evenLuale prenoLazlone e cl sono le normall funzlonl dl lnsLradamenLo.
kSV e ll cuore dl lnLServ essendo quesLo ll proLocollo con cul sl fanno le prenoLazlonl. 8Sv uLlllzza l'l e
LrasporLa le varle lnformazlonl, ovvero l flow descrlpLor. L' faLLo per avere del rlcevlLorl eLerogenel, lnfaLLl
le prenoLazlonl sono faLLe dal rlcevlLorl (e espllcaLlvo ll caso del mulLlcasL dove l varl uLenLl possono avere
bande dl accesso alla reLe dlfferenLl). er quanLo rlguarda l meccanlsml dl lnsLradamenLo lnvece 8Sv
presuppone che essl slano gla lmplemenLaLl all'lnLerno del rouLer, dl modo che non se ne preoccupa.
Cuello che essenzlalmenLe 8Sv non fa e
! la gesLlone del gruppl mulLlcasL (lngresso/usclLa membrl)
! speclflcare ll modo ln cul le rlsorse devono essere prenoLaLe dal rouLer
! lnsLradare l paccheLLl
! lnLeraglre col paccheLLl ln LranslLo

D|ffServ
A dlfferenza dell'lnLServ non c'e la presunzlone dl andare a garanLlre nulla dl preclso sulla quallLa della
Lrasmlsslone e non c'e prenoLazlone delle rlsorse. lnolLre non sl manLlene all'lnLerno del rouLer uno sLaLo
per clascun flusso (necessarlo per oLLenere per clascun flusso una parLlcolare quallLa del servzlo) ma c'e
una dlfferenzlazlone del Lrafflco sulla base dl un campo DS f|e|d dl 6blL (qulndl al masslmo 64 classl) e pol sl
effeLLua un LraLLamenLo sulla base della classe. ll conLrollo dl accesso e effeLLuaLo solo al conflnl del
ulfferenLlaLed Servlce uomaln e qulndl c'e pollclng, shaplng e Lrafflc condlLlonlng.
L' lmporLanLe noLare come premessa fondamenLale e quella che ll Lrafflco dlfferenzlaLo rappresenLa una
plccola percenLuale della capaclLa della reLe (sollLamenLe al dl soLLo del 30). ln Lal caso, non essendo ll
Lrafflco dlfferenzlaLo lnfluenzaLo dalle evenLuall congesLlonl generaLe da paccheLLl a plu bassa prlorlLa,
sosLanzlalmenLe vede un'lnfrasLruLLura che e sempre scarlca. ne consegue che, pur non garanLendo nulla,
ln Lall condlzlonl e posslblle oLLenere buone presLazlonl.
Le caraLLerlsLlche dl ulffServ sono le seguenLl:
! bassa efflclenza, perche ovvlamenLe se lo Lendo a Lenere l'lnfrasLruLLura carlcaLa poco per quanLo
rlguarda ll Lrafflco ad alLa prlorlLa allora non la sfruLLo al masslmo
! sempllclLa e scalablllLa, essendo pochl l parameLrl che c'e blsogno dl Lenere soLLo conLrollo
! e sLaLo scelLo dal mercaLo a scaplLo dl lnLServ
L'archlLeLLura dl D|ffServ e lllusLraLa dalla seguenLe flgura, ovvero eslsLe un uS uomaln nel quale sono
prevlsLl:
! un meccanlsmo all'lngresso per la
marcaLura (ed evenLuale rlmarcaLura)
del Lrafflco al flne dl lndlcarne la classe
dl apparLenenza.
! meccanlsml dl Lrafflc condlLlonlng per ll
LraLLamenLo del Lrafflcl ln manlera
dlfferenzlaLa
! meccanlsml dl lnsLradamenLo


L'archlLeLLura dl un rouLer ulffServ e lnvece la seguenLe

All'lnLerno del ulffServ e sLaLo deflnlLo anche ll comporLamenLo della classe all'lnLerno dl ognl hop (n8 -
er nop 8ehav|or), ln quanLo essa pu varlare ln ognl rouLer.L' deflnlLo un lnsleme dl P8 che
corrlspondono al dlversl llvelll dl CoS che un domlnlo uS pu offrlre e l parameLrl dl varlazlone sono
lmposLaLl dal gesLore del rouLer. un llvello dl CoS offerLo da un domlnlo uS e daLo qulndl dalla
composlzlone del P8 appllcaLl nel rouLer aLLraversaLl dal daLagramml.
Cll sLandard dl P8 uLlllzzaLl sono:
! Lxped|te Iorward|ng: garanLlsce un raLe dl servlzlo magglore o uguale al valore speclflcaLo.
! Assured Iorward|ng: assegna dlverse prlorlLa dl scarLo a seconda della classe.
L' posslblle lnolLre deflnlre ll D8 - er Doma|n 8ehav|or, che lnforma su quale comporLamenLo e quall
garanzle sl avranno all'lnLerno dl un lnLero domlnlo.
vengono deflnlLl:
! l classlflcaLorl: segnano (mark) l paccheLLl apparLenenLl al u8
! l condlzlonaLorl: reallzzano pollclng alla perlferla del uS domaln
! la concaLenazlone del P8 prevlsLl: ll servlzlo end-Lo-end rlcevuLo dal paccheLLl rlsulLa dalla
concaLenazlone del P8 prevlsLl