Implementarea Retelelor Virtuale Private Ipv6
Implementarea Rețelelor Virtuale Private IPv6
Proiect de diplomă
Declarație de onestitate academică
Prin prezenta declar că lucrarea cu titlul “Implementarea Rețelelor Private Virtuale IPv6”, prezentată în cadrul Facultății de Electronică, Telecomunicații și Tehnologia Informației a Universității “Politehnica” din București ca cerință parțială pentru obținerea titlului de Inginer în domeniul Electronică și Telecomunicații, programul de studii Rețele și Software de Telecomunicații este scrisă de mine și nu a mai fost prezentată niciodată la o facultate sau instituție de învățământ superior din țară sau străinătate.
Declar că toate sursele utilizate, inclusiv cele de pe Internet, sunt indicate în lucrare, ca referințe bibliografice. Fragmentele de text din alte surse, reproduse exact, chiar și în traducere proprie din altă limbă, sunt scrise între ghilimele și fac referință la sursă. Reformularea în cuvinte proprii a textelor scrise de către alți autori face referință la sursă. Înțeleg că plagiatul constituie infracțiune și se sancționează conform legilor în vigoare.
Declar că toate rezultatele simulărilor, experimentelor și măsurătorilor pe care le prezint ca fiind făcute de mine, precum și metodele prin care au fost obținute, sunt reale și provin din respectivele simulări, experimente și măsurători. Înțeleg că falsificarea datelor și rezultatelor constituie fraudă și se sancționează conform regulamentelor în vigoare.
București, 3.07.2014
Absolvent Prenume NUME
_________________________
(semnătura în original)
Cuprins
Introducere
Capitolul 1 Adresare în IPv6
1.1. Necesitatea adreselor IPv6
1.2. Prezentare de ansamblu a adreselor IPv6
1.3. Clasificarea adreselor IPv6
1.4. Tipuri de adrese după prefix
1.5. Antetul IPv6
1.6. Îmbunătățiri aduse de IPv6
1.7. Metode de alocare a adreselor IPv6
1.7.1. Alocare Manuală
1.7.2. Alocare Automată Stateless
1.7.3 Alocare prin DHCPv
1.7.4. Moduri de Adresare a Rețelelor IPv6
Capitolul 2 IPv6 – Tunelare, Translatarea Adresei și 6VPE
2.1. Prezentare de ansamblu
2.2. Generic Routing Protocol (GRE)
2.3. Tunel 6to4
2.4. Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)
2.5. Tunel Teredo
2.6. Translatarea adresei de rețea (NAT)
2.6.1. NAT 64
2.7. Servere Proxy
2.8. 6VPE (6 VPN Provider Edge)
Capitolul 3 Rețele Private Virtuale
3.1. Prezentare de Ansamblu a Rețelelor Private Virtuale
3.2. Clasificarea Rețelelor Private Virtuale
3.2.1. Rețele Overlay
3.2.2. Rețele Peer-to-Peer
3.3 MPLS VPN (IPv4)
3.3.1. Terminologii utilizare
3.3.2. Funcționare
3.3.3. Depanare
3.4. MPLS VPN cu Suport pentru IPv6 (6VPE)
3.4.1. Introducere
3.4.2. Funcționare
Capitolul 4 Implementări VPN – IPv6 – Simulări
4.1. Introducere
4.2. Implementare Tunel CE – CE – Simulare GNS3
4.2.1. Realizarea conectivității în interiorul rețelei furnizorului
4.2.2. Pornirea serviciului MPLS
4.2.3. Configurarea tabelelor VRF la nivelul ruterelor PE
4.2.4. Configurarea eBGP între CE și PE
4.2.5. Configurarea conexiunilor de tip MP-iBGP între ruterele PE
4.2.6. Declararea tunelurilor 6to4 între rețelele clienților
4.2.7. Realizare conexiune între rețelele clienților
4.2.8. Testare conexiune
4.2.9. Avantajele și Dezavantajele Implementării
4.3. Implementare 6VPE – Simulare GNS3
4.3.1. Realizarea conectivității IP în interiorul rețelei furnizorului (AS 65001)
4.3.2. Pornirea serviciului MPLS
4.3.3. Configurarea tabelelor VRF la nivelul ruterelor PE
4.3.4. Configurarea eBGP între echipamentele CE și PE
4.3.5. Configurarea MP-iBGP pentru transportul prefixelor VPNv6 între ruterele PE
4.3.6. Testare conexiune
4.3.7. Avantajele și Dezavantajele Implementării 6VPE
4.4. Implementarea în laboratorul Orange România6
4.4.1. Topologie
4.4.2. Realizarea conectivității filialelor clientului la rețeaua ORO
4.4.3. Realizarea conectivității între BR_V6_LAB și CUST_A – HQ
4.4.4. Realizarea conectivității între BR_V6_LAB și BR_BI0449
4.4.5. Accesul rețelei ORO către internet
4.4.6. Testarea conectivității
4.5. Implementare Full IPv6
4.6. Propuneri pentru implementarea soluțiilor într-un scenariu real
4.6.1. Asigurea redundanței în rețeaua furnizorului
4.6.2. Folosirea Route Reflector în implementarea tunelării CE – CE
Concluzie
Bibliografie
Anexe
Listă de Figuri
Figura 1.1 – Format adresă IPv6 16
Figura 1.2 – Antet IPv6 conform [4] 18
Figura 1.3 – Funcționare DHCPv6 21
Figura 2.1 – Funcționare Tunel GRE 24
Figura 2.2 – Funcționare Tunel 6to4 24
Figura 2.3 – Funcționare Tunel ISATAP 25
Figura 2.4 – Funcționare Tunel Teredo…………………………………………………………………………………..26
Figura 2.5 – Funcționare NAT 6to4……………………………………………………………………………………….27
Figura 3.1 – Overlay VPN 32
Figura 3.2 – Încapsulare Tunel GRE și IPSec 32
Figura 3.3 – Peer-to-Peer VPN 33
Figura 3.4 – MPLS VPN – Echipamente, Operații 33
Figura 3.5 – Arhitectura MPLS VPN 34
Figura 3.6 – Planuri Funcționare MPLS 35
Figura 3.7 – Planul de Control MPLS VPN 35
Figura 3.8 – Planul de Date MPLS VPN 36
Figura 3.9 – Arhitectura 6VPE 37
Figura 4.1 – Topologie Generală pentru MPLS VPN (IPv6) 39
Figura 4.2 – Topologie Tunel CE – CE 40
Figura 4.3 – Rute OSPF în Rețeaua ISP 41
Figura 4.4 – Ping R2 – RR 42
Figura 4.5 – Vecini LDP R2 42
Figura 4.6 – Tabela MPLS R2 43
Figura 4.7 – Tabela VRF CUST – A 44
Figura 4.8 – Tabela Completă VRF CUST – A 45
Figura 4.9 – Tabelă de Rutare CUST_A – R1 46
Figura 4.10 – Testare Conexiune IPv6 47
Figura 4.11 – Testare Conexiune IPv4 47
Figura 4.12 – Captură Wireshark Ping CUST_A – R2 – CUST_A – R1 48
Figura 4.13 – Captură Penultimate Hop Popping 48
Figura 4.14 – Traceroute Tunelare CE – CE 48
Figura 4.15 – Topologie 6VPE 50
Figura 4.16 – Ping R1 – R4 51
Figura 4.17 – Tabela MPLS R2 51
Figura 4.18 Vecini MPLS R2 52
Figura 4.19 – Etichete VRF pentru CUST_A – R1 53
Figura 4.20 – Testare Conexiune ISP cu Clientul 54
Figura 4.21 – Tabelă Rutare CUST_A – R2 55
Figura 4.22 – Testare Ping Între Filialele Clientului 55
Figura 4.23 – Traceroute Între Filialele Clientului 56
Figura 4.24 – Traceroute Între FIlialele Clientului (2) 56
Figura 4.25 – Captură Wireshark 6VPE 56
Figura 4.26 – Topologie ORO 58
Figura 4.27 – Autoconfig Adresă Interfață Fa0/1 pe CUST_A – HQ 59
Figura 4.28 – Ruta Default CUST_A – R1 59
Figura 4.29 – Ruta Default CUST_A – R2 60
Figura 4.30 – Traceroute din Hamburg 62
Figura 4.31 – Captură Pachet Hamburg 62
Figura 4.32 – Traceroute către Hamburg 62
Figura 4.33 – Ping Frankfurt 62
Figura 4.34 – Topologie Full IPv6 63
Figura 4.35 – Propunere Topologie MPLS VPN IPv6 64
Figura 4.36 – Simulare Cădere de Interfață 64
Figura 4.37 – Testare Conectivitate Redundantă 65
Figura 4.38 – Captură Pachet de Test 65
Figura 4.39 – Adese MAC Interfețe 65
Figura 4.40 Tabelă de Rutare CUST_A – R1 66
Figura 4.41 Tabelă de Rutare CUST_A – R2 66
Listă de Tabele
Tabel 1-1 Tipuri Adrese 18
Listă de Acronime
6VPE – 6 VPN Provider Edge
AS – Autonomous System
ATM – Asynchronous Transfer Mode
BGP – Border Gateway Protocol
BR – Border Router
CE – Customer Edge Router
DAD – Duplicate Address Detection
DHCP – Dynamic Host Configuration Protocol
DNS – Domain Name System
eBGP – Exterior Border Gateway Protocol
EIGRP – Enhanced Interior Gateway Routing Protocol
EUI – 64 – Extended Unique Identifier 64 bits
GNS3 – Graphical Network Simulator
GRE – Generic Route Encapsulation
HEX – Hexadecimal
HTTP – Hypertext Transfer Protocol
HQ – Headquarters
IP – Internet Protocol
IANA – Internet Assigned Numbers Authority
iBGP – Interior Border Gateway Protocol
ICMP – Internet Control Message Protocol
ICMPND – Internet Control Message Protocol Neighbor Discovery
ID – Identifier
IPSec – Internet Protocol Security
IPv4 – Internet Protocol Version 4
IPv6 – Internet Protocol Version 6
ISATAP – Intra-Site Automatic Tunnel Addressing Protocol
IS – IS – Intermediate System to Intermediate System
ISP – Internet Service Provider
LAN – Local Area Network
LDP – Label Distribution Protocol
LER – Label Edge Router
LSP – Label Switch Path
LSR – Laber Switch Router
MAC – Media Access Control
MPLS – Multiprotocol Label Switching
MTU – Maximum Transfer Unit
MP_BGP – Multiprotocol BGP
NAT – Network Address Translation
NTP – Network Time Protocol
ORO – Orange România
OSPF – Open Shortest Path First
P – Provider Router
PE – Provider Edge Router
PMTU – Path Maximum Transfer Unit
QoS – Quality of Service
RD – Route Distinguisher
RFC – Request for Comments
RR – Route Reflector
RT – Route Target
SLA – Site Level Aggregation
TLA – Top Level Aggregation
URL – Uniform resource locator
v6 – Version 6
VLAN – Virtual Local Area Network
VPN – Virtual Private Network
VRF – Virtual Routing and Forwarding
WAN – Wide Area Network
Introducere
Internetul este instrumentul de comunicații care a cunoscut cea mai mare creștere în popularitate. Radioul a ajuns la o audiență de 50 de milioane de oameni pe parcursul a 38 de ani, televiziunea a atins această audiență în 13 ani, iar internetul în doar 4 ani. Această creștere masivă a avut însă ca efect epuizarea adreselor IPv4.
În ziua de azi mobilitatea este un element foarte important pentru omenire. Astfel tot mai multe dispozitive se pot conecta la internet. Concepte precum "smart home" care presupun controlarea tuturor echipamentelor electrice din interiorul unei case de la distanță au făcut ca cererea de adrese IP să fie din ce în ce mai mare. S-a încercat astfel introducerea de metode prin care consumul de adrese să fie controlat, metode precum NAT (Network Address Translation), DHCP sau adresare classless. Acest lucru nu a făcut decât să întărzie consumarea adreselor IPv4.
În data de 31 Ianuarie 2013, IANA, organizație ce se ocupă cu alocarea adreselor la nivel global, a alocat ultimul domeniu de adrese, epuizându-și astfel toate adresele IP. S-a dat astfel un semnal de alarmă, arătându-se astfel necesitatea folosirii unor adrese de dimensiuni mai mari ce pot deservi mult mai mulți utilizatori.
Astfel au fost dezvoltate adresele IPv6. O astfel de adresă este formată din 128 de biți, spre deosebire de adresele IPv4 ce conțin 32 de biți. Conform matematicienilor, cu ajutorul IPv6 se pot forma 340,300,000,000,000,000,000,000,000,000,000,000,000,000 de adrese unice. Statistic, fiecare persoană de pe planetă poate deține peste 3000 de adrese dedicate.
Prezenta lucrare a fost realizată la solicitarea Orange România, în vederea studierii, testării și implementării unei soluții prin care operatorul poate oferi servicii de tip IPv6. Se va alege astfel cea mai performantă soluție pentru a fi folosită în rețeaua Orange.
În prima parte a lucrării s-a efectuat un studiu teoretic asupra protocolului IPv6, a structurii acestuia și a modului de configurare. S-a realizat apoi un studiu teoretic asupra metodelor de tranziție de la IPv4 la IPv6. S-a constat astfel că metodele potrivite pentru a fi folosite de un operator sunt tunelurile de tip 6to4 sau metoda 6VPE.
În ultima parte a lucrarii s-au testat trei metode prin construirea unei rețele ce simulează o rețea a unui furnizor de internet. Cele trei metode sunt:
Implementare tunel 6to4 CE – CE
Implementare 6VPE
Implementare Full IPv6
Pentru prezentarea acestor metode de implementare a rețelelor private IPv6 s-a folosit GNS3 (Graphical Network Simulator). Funcționarea celei mai eficiente metode a fost integrată și testată în laboratorul Orange România pentru a observa comportamentul rețelei în situații reale.
Adresare în IPv6
1.1. Necesitatea adreselor IPv6
Creșterea alarmantă de dispozitive conectate la internet a dus la epuizarea aproape tuturor adreselor IPv4 disponibile. Numarul acestor dispozitive este în continuă creștere, astfel fiind nevoie de o soluție urgentă pentru a rezolva această problemă. O astfel de soluție este folosirea de adresr IPv4.
În ziua de azi mobilitatea este un element foarte important pentru omenire. Astfel tot mai multe dispozitive se pot conecta la internet. Concepte precum "smart home" care presupun controlarea tuturor echipamentelor electrice din interiorul unei case de la distanță au făcut ca cererea de adrese IP să fie din ce în ce mai mare. S-a încercat astfel introducerea de metode prin care consumul de adrese să fie controlat, metode precum NAT (Network Address Translation), DHCP sau adresare classless. Acest lucru nu a făcut decât să întărzie consumarea adreselor IPv4.
În data de 31 Ianuarie 2013, IANA, organizație ce se ocupă cu alocarea adreselor la nivel global, a alocat ultimul domeniu de adrese, epuizându-și astfel toate adresele IP. S-a dat astfel un semnal de alarmă, arătându-se astfel necesitatea folosirii unor adrese de dimensiuni mai mari ce pot deservi mult mai mulți utilizatori.
Astfel au fost dezvoltate adresele IPv6. O astfel de adresă este formată din 128 de biți, spre deosebire de adresele IPv4 ce conțin 32 de biți. Conform matematicienilor, cu ajutorul IPv6 se pot forma 340,300,000,000,000,000,000,000,000,000,000,000,000,000 de adrese unice. Statistic, fiecare persoană de pe planetă poate deține peste 3000 de adrese dedicate.
Prezenta lucrare a fost realizată la solicitarea Orange România, în vederea studierii, testării și implementării unei soluții prin care operatorul poate oferi servicii de tip IPv6. Se va alege astfel cea mai performantă soluție pentru a fi folosită în rețeaua Orange.
În prima parte a lucrării s-a efectuat un studiu teoretic asupra protocolului IPv6, a structurii acestuia și a modului de configurare. S-a realizat apoi un studiu teoretic asupra metodelor de tranziție de la IPv4 la IPv6. S-a constat astfel că metodele potrivite pentru a fi folosite de un operator sunt tunelurile de tip 6to4 sau metoda 6VPE.
În ultima parte a lucrarii s-au testat trei metode prin construirea unei rețele ce simulează o rețea a unui furnizor de internet. Cele trei metode sunt:
Implementare tunel 6to4 CE – CE
Implementare 6VPE
Implementare Full IPv6
Pentru prezentarea acestor metode de implementare a rețelelor private IPv6 s-a folosit GNS3 (Graphical Network Simulator). Funcționarea celei mai eficiente metode a fost integrată și testată în laboratorul Orange România pentru a observa comportamentul rețelei în situații reale.
Adresare în IPv6
1.1. Necesitatea adreselor IPv6
Creșterea alarmantă de dispozitive conectate la internet a dus la epuizarea aproape tuturor adreselor IPv4 disponibile. Numarul acestor dispozitive este în continuă creștere, astfel fiind nevoie de o soluție urgentă pentru a rezolva această problemă. O astfel de soluție este folosirea de adrese private în interiorul companiilor. O adresă privată este o adresa nerutabilă în internet. Acest lucru se face cu ajutorul NAT (Network Address Translation) care mapează o adresă privată la o adresă publică. Este posibilă maparea mai multor adrese private la o singură adresă rutabilă în internet, salvându-se astfel un număr mare de adrese.
NAT oferă de asemenea o securitate sporită deoarece izolează rețeaua de restul internetului. Această izolare are însă și un mare dezavantaj, acela că îngreunează comunicațiile capăt la capăt, utilizatorii finali nefiind direct vizibili în internet. Astfel odată cu nevoia de mobilitate, devenită din ce în ce mai accentuată, dispozitivele vor avea nevoie de adrese individuale ușor accesibilie. Astfel, a aparut conceptul de IPv6. Cu ajutorul IPv6, teoretic se pot creea 3,4*10^38 adrese unice.
De aceea, deși majoritatea funizorilor de servicii oferă clienților servicii de internet și rețele private virtuale în IPv4, aceștia trebuie să găsească o metodă de a oferi aceste servicii și în IPv6. Pentru a nu face o trecere bruscă, deoarece nu toți clienții vor trece pe IPv6 imediat, aceste două protocoale trebuie să coexiste pentru o vreme.
1.2. Prezentare de ansamblu a adreselor IPv6
IPv6 folosește câmpuri de de 16 octeți în hexadecimal, separate prin două puncte (:) pentru a reprezenta o adresă de 128 de octeți. Conform [11], un exemplu de adresă este 2001:db8:130F:0000:0000:09C0:876A:130B. Acest format este unu mult mai greoi față de cel IPv4 și probabilitatea de apariție a erorilor este mai ridicată.
Pentru a simplifica scrierea adresei și a o face mai ușor de reprezentat, se folosesc următoarele convenții:
Zerourile de la începutul unui câmp pot fi omise. Astfel adresa prezentată anterior se poate scrie 2001:db8:130F:0:0:9C0:876A:130B
Câmpurile succesive ce conțin numai zerouri pot fi înlocuite cu două simboluri de separare (::). Această înlocuire se poate folosi doar o singură dată într-o adresă. Astfel, adresa va deveni 2001:db8:130F::9C0:876A:130B
Când un terminal va procesa adresa, acesta o va împărți în două când întâlnește (::) și o va completa cu 0 până se completează adresa de 128 de octeți. Dacă această prescurtare apare de două ori, echipamentul ce procesează adresa nu va putea știi ce mărime are fiecare bloc de zerouri.
Precum în IPv4, se folosesc prefixe pentru a diferenția adresa de rețea de cea de utilizator. Lungimea prefixului este o valoare zecimală care indică numărul de biți care formează adresa de rețea, de exemplu 2001:db8:8086:6502::/64. Cele două puncte de la sfârșitul adresei pot fi omise.
1.3. Clasificarea adreselor IPv6
Un utilizator poate avea mai multe adrese IPv6, spre deosebire de IPv4 unde poate avea una singură. Există trei tipuri majore de adrese:
Unicast: Identifică o singură interfață a unui host. Un pachet trimis către o adresă unicast este livrat către interfața identificată de respectivul IP.
Anycast: O adresă definită pentru un grup de interfețe care de obicei aparțin unor noduri diferite. Un pachet trimis către o asemenea adresă este livrat celei mai apropiate interfețe din acest grup. O posibilă aplicație a adreselor anycast este pentru site-uri multi-homed.
Multicast: Identifică un set de interfețe care de obicei aparțin unor noduri diferite. Un pachet trimis către o astfel de adresă este livrat tuturor interfețelor din set.
Conform [2], adresele unicast sunt împărțite la rândul lor în mai multe categorii:
Adrese globale: Sunt adrese unice la nivel mondial, publice, ce pot fi rutate în internet. Acestea sunt împărțite în mai multe secțiuni: (considerăm adresa sub forma A:B:C:D:E:F:G:H)
A:B:C (48 biți) se numește site prefix și este alocat de către ISP. Este împarțit în mai multe sub-câmpuri, pentru a permite o ierarhizare între diferitele niveluri de ISP.
Primii trei biți sunt 001 (2000:/3), astfel aceste adrese se află între 2000:: și 3FFF::.
Primii 13 biți din prefixul rămas formează TLA ID (Top-Level Aggregation Identifier), reprezentănd categoria cea mai înaltă de ISP. Pot exista astfel 2^13 ISP la acest nivel, ISP-uri care mențin tabela de rutare globală în internet. Toți acești ISP vor avea o tabelă de maxim 8192 de rute.
Restul de 32 de biți conțin un camp rezervat cu biți de 0 și câmpul NLA ID (Next-Level Aggregation ID), reprezentând categoria de ISP de ordinul 2.
D (16 biți) se numește subnet ID sau SLA ID (Site-Level Aggregation ID) și este similar cu subnetul din IPv4. Acest câmp stă la dispoziția organizației finale (client) care primește blocul de adrese de la ultimul ISP din lanț. Se pot creea local 2^16=65536 combinații sau subneturi individuale.
E:F:G:H (64 biți) se numește ID de interfață si este similar cu hostul din IPv4. Pot exista 2^64 = 1,8 * 10^19 utilizatori.
Figura 1.1 – Format adresă IPv6
În figura 1.1 sunt prezentate secțiunile în care este împărțită o adresă IPv6.
Adrese de tip node-local: Sunt definite ca ::1/128 și sunt atribuite unui terminal. Acestea sunt echivalentul adresei de loopback 127.0.0.1 din IPv4.
Adrese de tip link-local: Sunt adrese obligatorii pentru orice terminal IPv6, ce sunt semnificative doar pe o singură legătură. Astfel, pachetele cu adrese de tip link-local nu pot fi rutate între interfețe. Mai multe interfețe pot avea aceeași adresă de acest tip dacă se află pe legături diferite. Formatul pentru aceste adrese este FE80::/10.
Pachetele ce folosesc acest tip de adrese sunt în principal protocoalele planului de control al ruterelelor, precum protocoalele de rutare IPv6. Terminalele de pe aceeași legătură pot comunica prin intermediul acestor adrese datorită ICMP Neighbor Discovery (ICMPND).
Adrese de tip site-local: este o adresă ce poate fi folosită într-o companie însă nu poate fi rutată în internet.
1.4. Tipuri de adrese după prefix
Conform [3], în funcție de prefix adresele IPv6 pot avea mai multe funcționalități prezentate în tabelul 1.1.
Tabel 1.1 – Tipuri Adrese IPv6
1.5. Antetul IPv6
Conform [4], în figura 1.2 putem observa diferențele între antetul IPv4 și IPv6. Cea mai importantă diferență este mărimea mult mai mare a câmpului de adrese. Acesta face ca dimensiunea antetului IPv6 să crească, fapt ce ar putea fi o problemă pentru aplicațiile ce folosesc pachete mici de date.
După cum se observă în figura 1.2, numeroase câmpuri din antetul IPv4 nu mai sunt folosite în IPv6. Acest antet oferă astfel capabilități extinse precum IPSec. De asemenea câmpul de etichetare al fluxului (Flow Label) ajută la QoS, ajutând ruterele să ia o decizie mult mai rapidă asupra clasei de trafic a unui pachet, acestea având informația direct în antet, ne mai fiind astfel nevoite să caute la alte nivele.
Figura 1.2 – Antet IPv6 conform [4]
Deși multe câmpuri au fost eliminate, dimensiunea mare a adreselor face ca acest antet să aibă o mărime foarte mare, mai ales în cazul în care se introduc și extensii. De asemenea, se poate introduce o infinitate de extensii, acest lucru lăsând o poartă deschisă pentru hackeri.
1.6. Îmbunătățiri aduse de IPv6
Conform [1], pe langă faptul ca oferă un spațiu de adrese mult mai mare decât IPv4, IPv6 aduce și alte îmbunătățiri precum:
Alocarea Automată Stateless — Protocolul IPv6 oferă unui dispozitiv posibilitatea de a-și aloca dinamic o adresă IP, folosind anunțuri trimise de rutere în rețea. Astfel, utilizatorul nu mai este nevoit să seteze adresa manual sau sa folosească un server DHCP. Un mare neajuns al acestui protocol este faptul că nu poate prelua informații referitoare la serverele DNS. Astfel acestea trebuiesc configurate manual sau folosind DHCPv6.
Utilizarea eficientă a ruterelor — Față de antetul protocolului IPv4, IPv6 nu conține două câmpuri consacrate “Fragmentation Offset” și “Header Checksum”. În rețelele IPv4 ruterele sunt responsabile cu fragmentarea pachetelor dacă acestea sunt mai mari decât unitatea maximă de transmisie (MTU) pe un anumit segment. Offsetul de fragmentare identifică fiecare pachet fragmentat pentru ca acestea să fie refăcut în forma originală la destinație. Pentru acest proces ruterele trebuie să aloce resurse de procesor și memorie pentru a procesa și a înmagazina temporar fiecare fragment. În IPv6, fragmentarea apare la nivelul terminalelor IPv6. Pentru a se descoperi cel mai mic MTU al căii folosite (PMTU – Path MTU) se folosesc mesaje ICMPv6. Astfel pachetele trimise nu vor depăși mărimea celui mai mic MTU al căii și nu vor depăși capacitatea rețelei. Aceste mesaje sunt vizibile doar echipamentelor cu capabilități IPv6, astfel în cazul în care se folosesc tuneluri IPv4, ICMPv6 nu va putea verifica MTU al rețelei pe care se transmite.
În IPv4, fiecare router verifică fiecare pachet pentru a se asigura că antetul IP nu a fost alterat. Această funcție este folosită pentru a identifica rapid pachetele eronate, acestea fiind aruncate. Acest lucru se poate întâmpla datorită calității slabe ale legăturilor intermediare. Odată cu îmbunatățirea calității transmisilor și datorită faptului că verificarea de erori se face și la nivelul patru, câmpul “Header Checksum” a fost eliminat din antetul IPv6.
QoS – În antetul IPv6 se poate introduce eticheta de flux, care simplifică tratarea pachetelor din puctul de vedere al calității servicilor. În IPv4 routerele erau nevoite sa citească în antelele nivelelor trei și patru pentru a prelua informația de QoS. Prin introducerea acesteia în antetul IPv6 acest proces este mult mai rapid, ruterele ne mai fiind nevoite să citească antetul nivelului patru.
IPSec – În IPv6 IPSec este introdus ca o extensie de antet spre deosebire de IPv4 unde era văzut ca un protocol de nivel mai înalt.
Multicast – În IPv4 adresele multicast nu sunt rutabile în internet. În schimb, în cazul IPv6, există adrese multicast ce pot fi rutate în internet. Astfel companiile pot obține spații de adrese multicast publice.
1.7. Metode de alocare a adreselor IPv6
Conform [1], metodele de alocare ale adreselor IPv6 pentru un echipament sunt:
1.7.1. Alocare Manuală
Prin alocare manuală, un administrator are control total asupra adresării unei rețele. În acest caz, adresa IPv6, masca de rețea, adresa de gateway și serverul DNS trebuiesc configurate manual. Această abordare nu este potrivită în cazul rețelelor de dimensiuni mari deoarece pot apărea erori de configurare, mai ales datorită dimensiunii mari a adresei și a formatului hexadecimal. Configurarea manuală se folosește în special pe echipamente precum rutere, switchuri și servere.
1.7.2. Alocare Automată Stateless
Terminalele pot folosi alocarea automată pentru a-și genera adrese fără a avea nevoie de un server DHCP. Echipamentele vin cu această opțiune activă și nu au nevoie de alte configurări ale utilizatorului. Acestea învață adresa de rețea de la alte echipamente de nivel trei, adăugându-și apoi adresa de utilizator. Prin această metodă, terminalele învață și ruterul de ieșire din rețea.
Această metodă folosește mesaje de tipul ICMPv6, numite “Route Advertisments” (RA). O interfață IPv6, va transmite un mesaj de acest tip odată la 200 de secunde. Odată primit acest mesaj, terminalul își calculează adresa IPv6 folosind standardul EUI-64. Acesta folosește adresa MAC a echipamentului pentru a obține partea de host. Adresa MAC de 48 de biți este împărțită în două blocuri de 24 de biți între care se adaugă simbolurile FFFE pentru a completa numărul de biți necesari. De asemenea, cel de-al șaptelea cel mai semnificativ bit al adresei MAC este inversat. Alte terminale pot genera cei 64 de biți pentru adresa de utilizator aleator, fără a depinde de adresa MAC. Terminalul verifică apoi dacă există adrese duplicat folosind mesaje de tip DAD (Duplicate Address Detection). În cazul standardului EUI-64 nu pot apărea duplicate deoarece adresele MAC sunt unice, însă ridică o mare problemă de securitate deoarece identitatea terminalelor este făcută publică. De aceea mulți utilizatori preferă alocarea aleatoare a adreselor.
Un terminal ce primește un prefix de la un ruter, va seta acel ruter ca gateway. În cazul în care mai multe echipamente trimit mesaje de configurare în rețea, cel ce este gateway va avea setată o prioritate mai mare decât restul. În cazul în care nici un echipament nu trimite mesaje de configurare, terminalele își vor aloca o adresă de tip link local, care este o adresă nerutabilă.
Configurarea automată simplifică foarte mult adresarea unei rețele, readresarea acesteia făcându-se doar prin schimbarea prefixului de pe gateway. Astfel toate terminalele vor învăța noul prefix și își vor aloca noi adrese.
O problemă ce apare în cazul alocării automate este faptul că nu se transmit informații legate de serverul DNS. Astfel administratorul va trebui să îl seteze manual sau să activeze un serviciu DHCPv6.
De asemenea, se ridică anumite probleme de securitate. Un echipament cu prefixul setat greșit poate fi introdus în rețea, obligând toate echipamentele să își seteze o adresă greșită. Acesta poate deveni și gateway redirectând tot traficul spre un potențial atacator.
1.7.3 Alocare prin DHCPv6
DHCPv6 este un protocol ce permite alocarea automată de adrese IPv6 și alți parametrii de configurare pentru terminale. Există două tipuri de servicii: stateful și stateless.
DHCPv6 de tip stateful permite serverului să transmită o configurație completă, incluzând adresa IPv6, DNS, gateway, etc. Acesta folosește mesaje de tip multicast. Astfel, pentru a obține o configurație, clientul întâi trebuie să detecteze prezența unor rutere din rețea folosind mesaje de descoperire a vecinilor. Dacă un ruter este găsit, clientul analizează mesajele trimise de acesta pentru a determina dacă este necesară folosirea DHCP. Dacă este necesară, clientul va intra în faza de solicitare DHCP pentru a găsi serverul.
DHCPv6 de tip stateless oferă informații de tipul server DNS sau NTP, fără a oferi și a menține adrese IPv6 pentru terminale. Acest protocol nu necesită mesaje de actualizare constante între client și server, reducând astfel traficul din rețea. În general este folosit împreună cu configurarea automată stateless pentru ca terminalele să aibă o configurație completă.
DHCPv6 permite trei moduri de funcționare: server, client și releu. De asemenea, acesta suportă delegare de prefix, permițând unui server DHCPv6 să aloce un întreg bloc de prefixe unui terminal, acesta alocând mai departe adrese altor terminale. În acest mod, echipamentul este configurat în modul client pe interfața dinspre server și în modul server pe interfața spre rețeaua în care va aloca adrese precum în figura 1.3.
Figura 1.3 – Funcționare DHCPv6
1.7.4. Moduri de Adresare a Rețelelor IPv6
IPv6 oferă un spațiu foarte mare de adrese comparativ cu IPv4, oferind o foarte mare flexibilitate în modul de adresare a unei rețele. Pentru rețele IPv4 deja existente, pot fi luate în considerare prefixele subrețelelor sau identificatorii de VLANuri și translatate în prefixe IPv6.
În planul de adresare al rețelei trebuiesc luați în considerare anumiți factori:
Agregarea de prefixe: Dimensiunea adreselor IPv6 fiind mare, tabelele de rutare pot deveni foarte mari și de aceea agregarea prefixelor este foarte importantă.
Dezvoltarea rețelei: Este important de luat în considerare faptul că rețeaua se poate extinde.
Folosirea adreselor locale unice: Se pot folosi adrese locale, care nu pot fi rutate in internet, pe terminalele care nu necesită conexiune la acesta.
În mod tradițional, o adresă IPv6 folosește prefixul /64 pentru adrese unicast. În cazul folosirii unui altui prefix, se va întrerupe funcționalitatea unor servicii precum: configurarea automată, descoperirea vecinilor (Neighbor Descovery/Secure Neighbor Discovery), extensii de securitate, mobilitate în iPv6, multicastul independent de protocol.
Prefixul /64 este recomandat să fie utilizat pe interfețele echipamentelor din rețelele tradiționale de tip WAN/LAN potrivit standardelor [5] “IPv6 Addressing Architecture” și [6] “IPv6 Addressing Considerations”.
Prefixul /126 poate fi folosit pentru legături punct la punct, asemănător cu /30 în IPv4. Spațiul de adrese fiind foarte mare este recomandată folosirea /64. Prefixul /127 nu trebuie folosit, conform [7], deoarece poate produce mari probleme de funcționare.
Prefixul /128 este folosit în situații când o singură adresă este folosită. Un exemplu de astfel de adresă este adresa de loopback a unui echipament.
IPv6 – Tunelare, Translatarea Adresei și 6VPE
2.1. Prezentare de ansamblu
Protocolul IPv6 nu este compatibil cu IPv4. Astfel, pentru a facilita migrarea la IPv6 este nevoie de modalități prin care cele două protocole să poată coexista. Conform [1],[8], câteva dintre aceste metode vor fi prezentate în subcapitolele următoare.
Generic Route Encapsulation (GRE)
Un protocol punct la punct ce permite transportarea pachetelor IPv6 în interiorul unor pachete IPv4. De obicei acest protocol se instalează pe routerele de tip CE (Customer Edge).
Tunelare 6to4
Protocol similar cu GRE, oferind în plus tuneluri punct la multipunct.
Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)
Permite clienților să folosească adrese IPv6 și să creeze tuneluri către servere ISATAP pentru a transmite pachete peste o rețea IPv4.
Tunel Teredo
Permite clienților să folosească adrese IPv6 și să creeze tuneluri IPv4 ce trec prin NAT sau firewall-uri. Se folosește pentru a permite stațiilor să se conecteze la internet.
Protocolul de Translație a Adresei de Rețea (NAT)
Acest protocol poate fi modificat pentru a translata adrese IPv6 la adrese IPv6 sau adrese IPv6 la adrese IPv4.
Servere Proxy
Clientul poate trimite pachetele către un server proxy dual-stack ce face apoi translația între adresele IPv6 si IPv4.
2.2. Generic Routing Protocol (GRE)
GRE este un protocol ce încapsulueaza un pachet IP într-un alt pachet IP, pentru ca pachetul original să nu fie vizibil rețelei prin care este transportat. Acest lucru permite rețelelor ce comunică printr-un tunel GRE sa comunice direct, folosind protocoale proprii. Astfel, două rețele ce folosesc IPv6 pot comunica direct peste o rețea IPv4. Funcționarea acestui protocol este evidențiată în figura 2.1.
Figura 2.1 – Funcționare Tunel GRE
Dezavantajul acestui protocol este acela că adaugă 24 de octeți pe lângă cei 40 de octeți ai headerului IPv6. Astfel fiecare pachet transmis va avea un overhead de minim 64 de octeți. La aceștia se mai adaugă extensiile ce pot fi adăugate la antetul IPv6.
Problema apare prin faptul că IPv6 folosește mesaje ICMP pentru a descoperi cel mai mic MTU în calea dintre cele două capete ce comunică. Datorită utilizării de tuneluri GRE, rețeaua de la bază nu va vedea aceste mesaje deoarece acestea vor fi încapsulate în pachete IPv4. Astfel, nu se va lua în conisderare cel mai mic MTU din rețeaua IPv4. Dacă MTU nu este configurat corect pentru tunelurile GRE, există posibilitatea să fie transmise pachete de dimensiuni mai mari decât maximul suportat de rețea, fiind astfel aruncate. De exemplu o rețea suportă un MTU de 1500, iar tunelul GRE este setat la 1500. Routerul clientului va adauga 24 de octeți pentru headerul IP și GRE, rezultând astfel un pachet de 1524 de octeți care va fi aruncat. De asemenea, un alt dezavantaj este că acest protocol suportă doar configurarea de tuneluri punct la punct, fapt ce poate duce la necesitatea unui număr mari de configurări odată ce numărul rețelelor IPv6 crește.
2.3. Tunel 6to4
6to4 este o metodă de a încapsula adrese IPv4 în adrese IPv6 și de a creea o rețea de tuneluri cu o topologie de tip plasă.
Figura 2.2 – Funcționare Tunel 6to4
Această metodă este foarte bună în cazurile în care avem medii cu adrese IPv6 despărțite de zone ce conțin numai echipamente IPv4, precum cazul prezentat în figura 2.2. În această situație, implementarea tunelurilor de tip GRE pare o soluție viabilă. Dacă este nevoie de o topologie de tip plasă, având un număr mare de rețele ce se doresc a fi conectate, numărul tunelurilor necesare crește rapid, devenind imposibil de configurat.
Protocolul 6to4 permite, conceptual, rutarea traficului destinat unei rețele IPv6 folosind un next-hop IPv4. Cum acest lucru nu se poate face direct, se folosesc adrese speciale de tunel de forma 2002:<Adresa IPv4 în HEX>:<Numărul rețelei>::/64. Astfel ruterul va ști să extragă adresa IPv4 de next hop și să trimită un pachet de tip IPv4. Se creează astfel o interfață tunel multipunct prin care va fi trimis tot traficul IPv6.
Pentru figura 2.2, ruterul din rețeaua A dorește să trimită trafic rețelei B. Acesta se va uita în tabela de rutare și va observa că traficul IPv6 trebuie transmis prin interfața tunel. Ruterul A va converti adresa next-hop într-o adresă IPv4 și va încapsula pachetul IPv6 în unul IPv4. Va verifica din nou tabela de rutare și va trimite pachetul prin rețeaua WAN. La nivelul ruterului B se va întâmpla procesul invers.
2.4. Intra-Site Automatic Tunnel Addressing Protocol (ISATAP)
ISATAP este un protocol de tunelare IPv6, care oferă capabilități IPv6 diferitor utilizatori individuali, spre deosebire de GRE sau 6to4 care oferă acces IPv6 unui întreg site. Utilizatorul creează un tunel IPv4 cu serverul ISATAP. Odată stabilită conexiunea, acesta poate trimite pachete IPv6 peste o rețea IPv4.
Figura 2.3 – Funcționare Tunel ISATAP
In figura 2.3, ruterul din rețeaua Site 2 are și rol de server ISATAP. Clientul, fiind configurat să folosesască ISATAP, va stabili o conexiune cu acesta. Odată realizată conexiunea, serverul va trimite clientului un mesaj cu prefixul IPv6 ultilizat. Astfel clientul își va asigna o adresă IPv6 folosind standardul EUI-64. Cele două terminale pot continua să utilizeze aplicații IPv4, dar pot accesa și resurse IPv6 prin intermediul tunelului ISATAP. Toți clienții serviți de acest server vor utiliza același prefix IPv6.
Avantajul acestui protocol este că nici rețeaua WAN, nici cea LAN nu trebuie să aibă capabilități IPv6. În cazul GRE sau 6to4, LAN-ul trebuie să fie de tip dual-stack. De asemenea, un terminal poate fi setat să folosească drept server DNS serverul ISATAP pentru redundanță. În cazul în care serverul DNS primar ar clientului nu este disponibil, acesta poate avea acces la rețeaua IPv6 prin intermediul serverului ISATAP.
Odată cu trecerea la dual-stack, ISATAP poate creea probleme de rutare la nivelul terminalelor, prin faptul că pachetele vor fi trimise către server și nu prin interfața dual-stack.
2.5. Tunel Teredo
Teredo este un tot un protocol ce permite terminalelor ce folosesc IPv4 să acceseze resurse IPv6. În timp ce ISATAP este folosit pentru a face legătura cu o rețea IPv6 legată printr-un WAN IPv4, Teredo oferă pentru utilizatorii ce au capabilități IPv4 o soluție de a se conecta la adresele IPv6 din internet. Acest protocol funcționează și dacă userul se află în spatele unui router ce folosește NAT. ISATAP este o soluție pentru a conecta rețele ale unei companii prin WAN, în timp ce Teredo este o soluție prin care un terminal se poate conecta la internet. Funcționarea acestui tunel este exemplificată în figura 2.4.
Teredo este implementat în majoritatea sistemelor de operare ce suportă IPv6, acesta fiind activat nativ în sistemele mai noi. Pentru Windows serverul teredo folosit este teredo.IPv6.microsoft.com. Odată conectat la acesta, utilizatorul primește o adresă IPv6 publică, rutabilă în internet. Un dezavantaj este acela că, fiind o tehnologie de tip tunel, pachetele vor trece prin diferite firewalluri făra să fie inspectate, utilizatorul fiind astfel deschis la diferite amenințări. De aceea, nu este recomandată folosirea acestui protocol în cazul companiilor.
Figura 2.4 – Funcționare Tunel Teredo
Câteva servere Teredo publice sunt:
teredo.remlab.net / teredo-debian.remlab.net (France)
teredo.autotrans.consulintel.com (Spain)
teredo.IPv6.microsoft.com (USA, Redmond) (default for WindowsXP/2003/Vista/2008 OS)
teredo.ngix.ne.kr (South Korea)
2.6. Translatarea adresei de rețea (NAT)
2.6.1. NAT 64
Figura 2.5 – Funcționare NAT 6to4
NAT 64 permite rețelelor ce folosesc IPv6 să acceseze resurse IPv4. Pentru a implementa acest protocol este nevoie de un server proxy DNS64 și de un gateway NAT64. Rolul serverului DNS64 este de a translata o adresă IPv4 într-o adresă “pseudo”-IPv6. În exemplul din figura 2.5, clienții din rețeaua IPv6 doresc să acceseze resurse IPv4 din internet. Terminalul cu adresă IPv6, dorește să acceseze www.google.com, acest site fiind accesibil doar prin IPv4. Inițial, clientul trimite o cerere de tip AAAA către proxy-ul DNS64. Acesta trimite mai departe o interogare normală de tip A serverului DNS asociat pentru a afla adresa IPv4 a www.google.com. Serverul DNS64 transformă apoi adresa intr-una IPv6 adaugându-i adresei originale transformată în hexadecimal un prefix preconfigurat de 96 de biți. Clientul trimite mai departe pachetul către gateway, acesta translatând adresa înapoi în cea IPv4 originală. Acest lucru se face prin înlăturarea prefixului de 96 de biți și transformarea adresei în format binar. În gateway este păstrată de asemenea maparea de adrese IPv6-IPv4 conform protocolului NAT.
Dezavantajul acestei metode este acela că NAT folosește foarte mult din puterea procesorului și foarte multă memorie pentru a păstra mapările adreselor. De asemenea dacă este folosită tehnica “NAT Overload” pentru a mapa mai multe adrese interne la o singură adresă publică, ruterul poate suporta maxim 65,536 de sesiuni, care pot fi consumate foarte rapid dacă numărul userilor este mare. La acestea se adaugă și dezavantajele native ale protocolului perezentate în capitolul doi.
O altă metodă de a folosi NAT64 este aceea de a translata traficul ce intră în rețea și nu cel care iese. Prin această metodă diferiți clienți IPv6 pot accesa un server IPv4 aflat în interiorul rețelei. Mulți utilizatori preferă această metodă pentru a oferi acces la serverele lor, deoarece hardware-ul/software-ul disponibil nu suportă IPv6 sau datorită faptului că introducerea de servere dual-stack poate introduce diferite probleme sistemului. Astfel aceștia preferă folosirea protocolului IPv4, un protocol stabil și mai cunoscut.
2.6.2. NAT 66
Introducerea IPv6 elimină necesitatea folosirii NAT datorită numărului mare de adrese disponibile. Acesta există însă și în IPv6 și poate translata adrese IPv6 locale în adrese IPv6 globale. Acest protocol ajută în cazul în care se dorește implementarea unei rețele de tip multi-homing. Adresele oferite de un anumit ISP vor fi proprii acestuia și nu vor putea fi învățate de echipamentele unui alt furnizor de servicii. Acest lucru este impus deoarece fără o asemenea limitare numărul rutelor învățate în internet ar crește fără control, îngreunând funcționarea echipamentelor. Companiile pot obține adrese independente de provider, direct de la organizația zonală însă acest lucru ar conduce la creșterea numărului de rute BGP (Border Gateway Protocol) din internet.
Pentru a se evita astfel de scenarii, o soluție pentru a implementa o astfel de rețea este prin folosirea NAT66. Acest protocol permite translatarea traficului ce părăsește rețeaua către o adresă IPv6 a unei rețele disponibile. Astfel dacă una din rețele devine indisponibilă, traficul va fi redirectat către o alta. Apare însă o problemă cu traficul ce intră în rețea deoarece traficul ce este trimis pe circuitul devenit indisponibil trebuie să afle noua rută. NAT66 nu face acest lucru, astfel fiind necesară folosirea unui server DNS dinamic ce poate anunța adrese în funcție de stare.
2.7. Servere Proxy
Serverele proxy sunt folosite de companii pentru a controla accesul la internet al utilizatorilor. Acestea pot fi configurate să translateze adrese IPv4 la adrese IPv6 oferind astfel acces la ambele tipuri de resurse. Astfel interfața către utilizator este configurată cu IPv4, în timp ce interfața către internet suportă IPv4 și IPv6.
Serverul proxy este transparent utilizatorului. Dacă acesta dorește să acceseze un site IPv6, doar introduce URL-ul acestuia în browser. Cererea HTTP este trimisă la serverul proxy, care trimite o solicitare serverului DNS pentru a afla adresa IP a siteului dorit. Conținutul este primit și trimis către utilizator prin intermediul unei adrese IPv4.
Această soluție este utilă pentru aplicații suportate de un server proxy precum HTTP, în cazul altor aplicații fiind necesară aplicarea altei metode de tranziție.
Serverul proxy trebuie să beneficieze de resurse suficiente pentru ca acesta să fie de tip dual-stack pe interfața către internet și pentru a efectua translația IPv4-IPv6. Un avantaj este acela că nu trebuie efectuate modificări asupra echipamentelor rețelei.
2.8. 6VPE (6 VPN Provider Edge)
Această metodă este asemănătoare cu implementarea de VPN cu MPLS în IPv4, dar ruterele furnizorului ce fac legătura cu cele ale clientului vor fi de tip dual-stack. Această metodă nu presupune modificarea domeniului MPLS, acesta rămânând IPv4, dar MP-BGP (Multiprotocol BGP va fi configurat să suporte IPv6).
Această metodă va fi tratată în detaliu în capitolul următor.
Rețele Private Virtuale
3.1. Prezentare de Ansamblu a Rețelelor Private Virtuale
Odată cu creșterea în popularitate a internetului, acesta a devenit rapid o rețea globală, ușor accesibilă. Astfel, comunicațiile între sediile diferitelor companii au devenit mult mai accesibilie. În ziua de azi companiile folosesc internetul pentru a transmite diferite tipuri de date, pentru video conferințe sau alte servicii. Pentru a avea asigurată confidențialitatea acestor transferuri, este necesară utilizarea unor servicii sigure de transfer.
Astfel o companie are la dispoziție două variante. Fie poate folosi conexiuni punct la punct prin intermediul liniilor închiriate, fie poate folosi infrastructura oferită de internet, peste care se implementează Rețele Private Virtuale (VPN – Virtual Private Networks). Acestea folosesc tehnici precum criptare si tunelare pentru a asigura siguranța datelor.
Rețelele private virtuale reprezintă un grup de rețele conectate printr-o rețea backbone comună ce comunică între ele respectând anumite politici. Aceste politici pot fi implementate atât de furnizorul de servicii cât și de client, depinzând de tipul de VPN folosit.
3.2. Clasificarea Rețelelor Private Virtuale
Conform [8], VPN-urile pot funcționa la nivelul 2 al stivei OSI, astfel clienții vor fi conectați prin tehnologi de tipul Frame Relay, ATM sau conexiune punct la punct. Furnizorul de internet nu trebuie să se ocupe de rutare, terminalele clientului conectându-se printr-un circuit virtual capăt la capăt. De asemenea, aceste rețele private pot funcționa la nivelul 3 OSI, echipamente-le furnizorului de servicii fiind incluse în procesul de rutare, transmițând informațiile de rutare între diferitele rețele ale clientului.
Un avantaj al VPN-urilor de nivel 2 este acela că acestea folosesc mult mai puține resurse ale ruterelor, nefiind implicate în rutare. Cu VPN-urile de nivel 3, însă, QoS (Quality of Service) este mult mai ușor de implementat, la nivel 2 acest lucru fiind practic imposibil de realizat. De asemenea, nu este nevoie de creearea unui circuit prestabilit între rețelele clientului, rutarea facându-se automat, modificările aduse rețelelor având un impact mult mai mic asupra VPN-ului.
La nivelul 3 putem avea două tipuri de rețele private Overlay sau Peer-to-Peer.
3.2.1. Rețele Overlay
Acest tip de rețele private se implementează cu ajutorul tunelurilor. După cum se observă în imaginea de mai jos, acest lucru conduce la o scalabilitate foarte redusă. Pentru configurații de tip plasă precum cea de mai jos, trebuie creeată o schema de tip plasă de tuneluri. Astfel, fiecare legătură are nevoie de un tunel propriu, numărul acestora putând deveni foarte mare. Furnizorul de servicii oferă căi logice pentru client, restul rutării făcându-se la nivelul clientului. Arhitectura unei astfel de rețele este exemplificată în figura 3.1.
Figura 3.1 – Overlay VPN
Protocoalele de tunelare folosite sunt GRE sau IPsec. Acestea încapsulează pachetul original ce poate fi orice protocol de nivel 3, într-un pachet IP conform figurii 3.2. Spre deosibire de GRE, IPsec oferă și suport pentru criptarea datelor.
Figura 3.2 – Încapsulare Tunel GRE și IPSec
Modelul „Overlay” prezintă numeroase probleme precum complexitatea și încărcarea rețelei, furnizorul de servicii trebuind să asigure o rețea de tip plasă. Clientul este cel ce se ocupă cu adresarea, acest lucru sporind securitatea, însă făcând folosirea de adrese private imposibilă. Este astfel nevoie de un model mai flexibil. Acest model este modelul de Rețele Private Virtuale cu MPLS, fiind de tip peer-to-peer.
3.2.2. Rețele Peer-to-Peer
Conform [9] modelul VPN Peer-to-Peer implică, pe lângă asigurarea căii fizice de transport a datelor utilizatorilor prin rețeaua ISP-ului, și participarea activă a infrastructurii acestuia ȋn procesul de rutare din rețelele private. Astfel se vor forma adiacențe între ruterele clienților și ruterele de margine ale furnizorului, informațiile de rutare propagându-se prin rețeaua ISP-ului. Astfel vor fi alese cele mai bune căi, fără a fi nevoie de o topologie de tip plasă a rețelei furnizorului de servicii. Adăugarea unuei noi locații a unui client nu va afecta structura rețelei, fiind necesară doar stabilirea unei adiacențe între ruterul clientului (CE – Customer Egde) și ruterul de margine al furnizorului (PE – Provider Edge). Arhitectura unei astfel de rețele este prezentată în figura 3.3.
Figura 3.3 – Peer-to-Peer VPN
Rețelele Peer-to-Peer pot fi implementate în trei feluri: ruter comun (shared router), ruter dedicat (shared router), MPLS (Multiprotocol Label Switching). În această lucrare vor fi tratate rețelele private virtuale cu MPLS.
3.3 MPLS VPN (IPv4)
Bazându-ne pe figura 3.4., se vor introduce terminologiile pe care le vom folosi în continuare.
3.3.1. Terminologii utilizare
Figura 3.4 – MPLS VPN – Echipamente, Operații
CE (Customer Edge Router) – ruter de margine al rețelei private a clientului;
PE (Provider Edge Router) – ruter de margine al rețelei furnizorului de servicii;
P (Provider Router) – ruter de legătură din interiorul rețelei furnizorului. Acesta face legătura între PE-uri și cunoaște configurațiile tuturor clienților;
LER (Label Edge Router) – ruter situat la marginea domeniului MPLS;
LSR (Laber Switch Router) – ruter situat în interiorul unei rețele MPLS;
PUSH – operație efectuată de LER. Reprezintă adăugarea unei etichete pachetului IP, la intrarea în domeniul MPLS.
SWAP – operație efectuată de LSR. Reprezintă comutarea între eticheta primită și cea cu care pachetul este trimis mai departe.
POP – operație efectuată de LER. Reprezintă îndepărtarea unei etichete la ieșirea din domeniul MPLS.
VRF (Virtual Routing and Forwarding) – folosit pentru a diferenția diferiții clienți.
3.3.2. Funcționare
Pentru a creea un MPLS VPN este nevoie de următoarele elemente.
Pentru a avea conexiune între terminalele PE, este nevoie de un protocol de rutare intern precum OSPF, EIGRP, IS-IS, etc. Pentru creearea de LSP este de asemenea nevoie de un protocol de distribuție a etichetelor precum LDP. Acesta va creea etichetele necesare funcționării protocolului MPLS.
Pentru a diferenția clienții între ei, fiecare ruter PE trebuie să aibă câte un VRF configurat pentru fiecare client care este conectat la acesta. Astfel fiecare client poate defini politici diferite pentru VPNul de care aparține. Ruterul PE va creea mai multe tabele de rutare virtuale pentru fiecare client.
Clienții pot folosi adrese private, astfel existând posibilitatea ca mai multi clienți să folosească aceleași subenturi. Ruterele PE folosesc BGP pentru a transmite între ele informații despre rețelele acestora. Astfel, pentru a diferenția subneturile similare ale unor clienți diferiți, adresei IP de 32 de biți în cazul IPv4 sau 128 de biți în cazul IPv6 i se va adăuga un prefix de 64 de biți numit RD (Route Distinguisher), acesta făcând fiecare adresă să fie unică. De asemenea, cu ajutorul RT (Route Target) transmis în update-urile de rutare VPNurile pot importa rute între ele.
BGP-ul joacă un rol cheie în implementarea de Rețele Private Virtuale cu MPLS. Toate terminalele PE trebuie să realizeze adiacențe între ele. Pentru a face mai ușoară configurarea se pot folosi Route Reflectors. Ideea de bază este aceea că orice update trimis de un ruter PE trebuie să ajungă la toate celelalate rutere PE. Un update BGP nu va conține doar adresa IPv4 sau IPv6 ci întregul prefix format din adresa IP și eticheta corespunzătoare VPNului, acestea fiind updateuri de tip VPNv4 sau VPNv6. Echipamentele PE trebuie să semnalizeze acest lucru înainte de a trimite un update și să negocieze acasta capabilitate cu celelalte rutere. Acest lucru se face prin activarea familiei de adrese VPNv4 sau VPNv6 în protocolul BGP pe fiecare ruter.
Funcționalitatea unei rețele MPLS VPN este descrisă în figura 3.5.
Figura 3.5 – Arhitectura MPLS VPN
Mesajele BGP sunt propagate doar între echipamentele PE. Echipamentele intermediare nu cunosc informații despre VPN-urile și prefixele clienților. Astfel la intrarea în domeniul MPLS, pe lângă eticheta MPLS VPN, ruterul PE va mai adăuga o etichetă de transport folosită pentru rutare intra domeniu. Ruterele LSR vor verifica numai această etichetă și nu și cea de VPN.
Serviciul MPLS este un serviciu gândit pe două plane, unul de control și unul de date. Acest lucru este evidențiat în figura 3.6.
Figura 3.6 – Planuri Funcționare MPLS
3.3.2.1. Planul de Control
Înainte ca transferul de date să fie posibil, este nevoie să se îndeplinească mai mulți pași la nivelul planului de control conform figurii 3.7.
Figura 3.7 – Planul de Control MPLS VPN
Ruterul CE va anunța prefixul de VPN prin intermediul unui protocol IGP ce rulează între cele două rutere sau prin intermediul eBGP.
Ruterul PE va introduce ruta în tabela de rutare ce corespunde clientului de la care a primit anuntul.
Ruterul PE va redistribui această tabelă de rutare în BGP, adăugându-i prefixul RT cu care se exportă pachetul pentru a creea adrese VPNv4 sau VPNv6.
Acest anunț BGP este trimis către toate ruterele PE ce sunt vecini BGP.
Când primește acest anunț, ruterul PE destinație va compara valoarea route-target cu valorile VPN-urilor ce le administrează.
Rutele primite sunt salvate în VRF-urile corespunzătoare.
Rutele sunt trimiste de către PE către CE prin intermediul eBGP sau unui IGP.
3.3.2.2. Planul de date
După ce toate adiacențele au fost creeate și tabele de rutare conțin toate rutele necesare, tranfertul de date se va face în modul prezentat în figura 3.8.
Figura 3.8 – Planul de Date MPLS VPN
Ruterul CE trimite către PE un pachet IPv4 sau IPv6.
În funcție de VRF-ul căruia îi este asociată interfața pe care a sosit pachetul, ruterul PE va verifica tabela de rutare necesară. De asemenea, acesta va adăuga două etichete pachetului: eticheta VPN (RD) învățată de la PE-ul către care se trimite pachetul și eticheta învățată prin LDP cu ajutorul IGP.
Pachetul este trimis către ruterul de core, care este următorul hop în LSP.
Pachetul traversează rețeaua furnizorului unde ruterele fac acțiunea de SWAP asupra etichetelor IGP. Eticheta VPN nu va fi modificată de ruterele P.
Când pachetul ajunge la ruterul furnizorului care este direct conectat cu PE-ul destinație, eticheta IGP va fi eliminată. Acest proces este denumit Penultimate hop popping (PHP).
Cu ajutorul etichetei VPN, ruterul PE decide cărui VPN îi aparține pachetului.
Eticheta VPN este eliminată iar pachetul IP este trimis către client.
3.3.3. Depanare
Condiția esențială pentru ca o rețea MPLS să funcționeze între două terminale este ca LSP-ul între ruterele PE să fie intact. Dacă acest LSP este întrerupt, ruterul P la care se produce întreruperea va ajunge să verifice tabela de rutare. Cum ruterele funizorului nu dețin informații despre clienți, pachetul va fi aruncat.
Pentru a vizualiza adresele de tip vpnv4 sau vpnv6 din tabela de rutare se va folosi comanda show ip bgp vpnv4 all sau show ip bgp vpnv6 all.
Pentru a testa faptul că LSP-ul funcționează corect, se poate folosi comanda traceroute sub forma traceroute vrf NUME IP. Acest lucru nu poate fi executat de pe ruterele clienților deoarece de obicei furnizorii folosesc no ip mpls propagate-ttl pe ruterele proprii, astfel acestea nu mai decrementează TTL și nu trimit mesaj ICMP înapoi clientului.
3.4. MPLS VPN cu Suport pentru IPv6 (6VPE)
3.4.1. Introducere
Această implementare pentru protocolul IPv6 aduce modificări foarte mici asupra rețelei MPLS. Aceasta poate funcționa pe backbone-ul IPv4 deja existent, singurele rutere ce necesită schimbări fiind ruterele PE. Ruterele din core nu vor fi modificate. Este o metodă de tranziție foarte eficientă, preferată de foarte mulți operatori, deoarece nu presupune tunelare, pachetului IPv6 adăugându-i-se direct etichetele necesare transmiterii prin domeniul MPLS. Funcționarea acestei implementări este exemplificată în figura 3.9.
Figura 3.9 – Arhitectura 6VPE
3.4.2. Funcționare
Conform [10], Ruterul 6VPE învață de la client rețelele acestuia prin intermediul unui IGP sau prin intermediul eBGP. Odată învățate aceste rute, acestea sunt transmise prin iBGP tuturor ruterelor 6VPE. Adresa next-hop folosită de ruterele 6VPE este adresa IPv4 prin care acestea se leagă la domeniul MPLS mapată într-o adresă IPv6. Această mapare se face prin adăugarea unui câmp de zerouri, urmat de un câmp FFFF pentru a forma 96 de biți la care se adaugă adresa IPv4.
Un pachet IPv6 ajunge de la client la un ruter 6VPE. Acesta verifică tabela de rutare a VRF-ului din care face parte acel client și gasește ruterul 6VPE către care trebuie trimis pachetul. Pachetului îi sunt adăugate apoi două etichete, eticheta de VPN, care este o etichetă de tipul VPNv6, aceasta fiind necesară pentru ca ruterul destinație să știe cărui VPN îi aparține pachetul. Cea de-a doua etichetă este o etichetă MPLS IPv4 care ajută la rutarea în interiorul domeniului MPLS. Ultimul ruter P înaintea celui 6VPE va elimina această a doua etichetă și va trimite ruterului 6VPE doar eticheta de VPN. Acesta la rândul său va elimina și această etichetă trimițând pachetul către client.
Pentru a configura domeniul MPLS să funcționeze în acest fel, este nevoie de configurații adiționale. În primul rând pe rutere trebuie activată rutarea IPv6. Tabelele de rutare, VRF-urile clienților vor fi configurate de tipul IPv6. Între CE și PE va trebui configurat un protocol de rutare de tip IPv6 sau rute statice. În MP-BGP se vor activa familile de adrese IPv6 și VPNv6.
Implementări VPN – IPv6 – Simulări
4.1. Introducere
Odată cu epuizarea adreselor IPv4 și a cererii ridicate pentru servicii, furnizorii au nevoie să își adapteze rețeaua pentru a oferii servicii de tip IPv6. Prezenta lucrare are ca scop găsirea celei mai eficiente metode de implementare a acestui protocol, urmărindu-se eficiența din punct de vedere al vitezei pachetelor și al costurilor. În acest context, se propun trei tipuri de implementare, cu scopul oferirii serviciului de MPLS VPN cu IPv6:
Implementarea tunel CE-CE
Implementarea 6VPE
Implementarea Full IPv6
Topologia ce stă la baza implementării, dezvoltării și testării acestor metode de implementare a serviciului de date prin IPv6 este cea din figura 4.1.
Figura 4.1 – Topologie Generală pentru MPLS VPN (IPv6)
În cadrul figurii 4-1 sunt prezentate mai multe filiale ale unui client, interconectate prin intermediul unui serviciu MPLS VPN. Astfel se dorește realizarea unei rețele de tip VPN între filialele clientului și conectarea acestora la internet prin intermediul sediului central al companiei reprezentat prin ruterul CUST_A – HQ. În același timp se dorește ca rețeaua clientului să foloseasca protocolul IPv6.
Pentru realizarea conectivității între rețelele clientului și rețeaua furnizorului se va folosi protocolul eBGP. Se pot folosi, de asemenea, și rute statice. Acestea nu reprezintă însă o soluție scalabilă pentru rețele mari.
În interiorul rețelei operatorului este nevoie de activarea unui protocol de tip IGP. În cadrul acestei lucrări s-a folosit protocolul OSPF. Peste acesta, se activează un protocol de distribuție a etichetelor (LDP) pentru a creea etichetele necesare serviciului MPLS. Pentru a se transmite rutele clientului către toate ruterele de graniță (PE) conectate la siteurile acestuia se va folosi protocolul MP-iBGP cu VRF pentru client pentru a asigura acestuia rute unice. Pentru scalabilitate și pentru a permite dezvoltarea rețelei într-un mod eficient se folosesc Route Reflectors (RR).
Pentru a accesa internetul, ruterele CUST_A – R1 sau CUST_A – R2 vor trimite un pachet către ruta default. La intrarea în rețeaua operatorului, pachetului îi sunt atașate două etichete, una de transport și una de identificare VPN.
Notă: Conexiunea fizică la internet a fost realizată numai în cazul metodei 6VPE deoarece, conform măsurătorilor din capitolele următoare s-a dovedit a fi cea mai eficientă.
4.2. Implementare Tunel CE – CE – Simulare GNS3
Această metodă de implementare a Rețelelor Private Virtuale IPv6 presupune configurarea unor tuneluri de tip 6to4 între toate sediile clientului. Astfel, rețeaua IPv4 deja existentă a operatorului nu va suferi modificări.
Figura 4.2 – Topologie Tunel CE – CE
În figura 4.2 sunt illustrate trei tuneluri de tip 6to4 ce permit o conexiune de tip plasă între echipamentele clientului. Pentru a fi transmise peste rețeaua IPv4, pachetele IPv6 vor fi încapsulate în pachete IPv4, fapt ce va duce la introducerea unui overhead. De asemenea, MTU trebuie configurat corect deoarece pachetele IPv6 nu suportă fragmentare.
Se vor descrie pașii de configurare pentru realizarea conexiunii conform figurii 4.2. De asemenea, se vor prezenta rezultatele simulării.
4.2.1. Realizarea conectivității în interiorul rețelei furnizorului
La nivelul fiecărui echipament din cadrul sistemului autonom 65001 se va activa un proces de rutare de tip OSPF. Se vor anunța toate rețelele conectate și interfețele de Loopback pentru fiecare ruter. Se ilustrează acest pas la nivelul ruterului R2, resul ruterelor având configurație similară:
router ospf 1 //pornirea procesului de rutare cu instanța 1
router-id 2.2.2.2
network 2.2.2.2 0.0.0.0 area 0 //anunțarea interfeței loopback
network 12.12.12.0 0.0.0.255 area 0
network 23.23.23.0 0.0.0.255 area 0 //anunțarea rețelelor direct conectate
network 45.45.45.0 0.0.0.255 area 0
Se pot observa rutele introduse de protocolul de rutare în tabela de rutare în figura 4.3. Aceste rute vor fi folosite de protocolul LDP pentru a creea etichetele necesare serviciului MPLS.
Figura 4.3 – Rute OSPF în Rețeaua ISP
Se verifică conectivitatea IP între echipamente cu ajutorul ping conform figurii 4.4.
Figura 4.4 – Ping R2 – RR
4.2.2. Pornirea serviciului MPLS
Se activează serviciul MPLS pe toate ruterele din sistemul autonom 65001. Pentru ruterul R2 configurația se realizează în felul următor:
ip cef //activarea metodei de comutare CEF, metodă proprietară Cisco
mpls label range 2000 2999 //se setează intervalul de etichete pe care ruterul R2 le poate aloca
mpls ldp router-id Loopback0 force //se setează identificatorul ruterului pentru sesiunile LDP; se vor alege interfețele de Loopback deoarece acestea sunt stabile
interface FastEthernet0/0
description Connection to R1
ip address 12.12.12.2 255.255.255.0
speed auto
duplex auto
mpls ip //se activează MPLS pe fiecare interfață
Se va proceda similar pentru toate interfețele din domeniul MPLS.
Conform figurii 4.5. se observă realizarea de adiacențe LDP cu ruterele vecine, sesiunea realizându-se între adresele de Loopback.
Figura 4.5 – Vecini LDP R2
De asemenea, se observă că pentru fiecare intrare din tabela de rutare se alocă o etichetă (figura 4.6.).
Figura 4.6 – Tabela MPLS R2
4.2.3. Configurarea tabelelor VRF la nivelul ruterelor PE
Se va exemplifica acest proces pentru R1, restul ruterelor PE configurându-se similar.
ip vrf CUST-A //crearea tabelei vrf denumita CUST-A
rd 65002:1 //configurarea atribultului de identificare a VRFului (se folosește pentru crearea adreselor VPNv4)
route-target export 65002:1 //configurarea etichetei fiecărei rute pentru ca aceasta să poată fi învățată și în alt vrf
route-target import 65002:1 //configurarea etichetei rutelor ce vor fi adăugate în tabela de rutare
Se va aplica apoi această tabelă pe interfețele dinspre client.
interface FastEthernet0/1
description Connection to CUST_A-R1
ip vrf forwarding CUST-A //se selectează tabela ce va fi folosită pentru această interfață
ip address 15.15.15.1 255.255.255.0
speed auto
duplex auto
4.2.4. Configurarea eBGP intre CE și PE
Pentru ca prefixele clientului să ajungă în rețeaua furnizorului este necesară folosirea unui protocol de rutare între ruterul de margine al clientului și ruterul de margine al furnizorului. Se va folosi astfel eBGP.
router bgp 65001 //activarea procesului BGP pentru AS 65001
address-family ipv4 vrf CUST-A //activarea familiei de adrese vrf pentru tabela CUST-A
neighbor 15.15.15.5 remote-as 65002 //stabilirea relației de vecinătate cu ruterul clientului
neighbor 15.15.15.5 activate //activarea vecinului
neighbor 15.15.15.5 as-override
exit-address-family
În partea clientului configurația va fi următoarea:
router bgp 65002 //activarea procesului BGP pentru AS 65002
bgp log-neighbor-changes
neighbor 15.15.15.1 remote-as 65001 //stabilirea relației de vecinătate cu ruterul clientului
!
address-family ipv4 //activarea familiei de adrese vrf pentru tabela CUST-A
no synchronization
network 5.5.5.5 mask 255.255.255.255
network 15.15.15.0 mask 255.255.255.0 //anunțarea rețelelor clientului în BGP
network 55.55.55.55 mask 255.255.255.255
neighbor 15.15.15.1 activate //activarea vecinului
no auto-summary
exit-address-family
În urma acestei comenzi, rețelele clientului sunt adăugate în tabela de rutare alocată VRFului CUST-A a ruterului R1 (figura 4.7.).
Figura 4.7 – Tabela VRF CUST – A
4.2.5. Configurarea conexiunilor de tip MP-iBGP între ruterele PE
Aceste conexiuni sunt folosite pentru a transmite prefixele clientului către toate ruterele PE conectate la locațiile acestuia. Vom exemplifica această configurație pentru ruterul P1.
router bgp 65001 //activarea procesului BGP pentru sistemul autonom AS 65001
bgp router-id 1.1.1.1 //declararea router-id
neighbor 5.5.5.5 remote-as 65001 //declararea vecinului RR
neighbor 5.5.5.5 update-source Loopback0 //interfața ce va fi folosită pentru realizarea vecinătăților
address-family ipv4 //activarea familiei de adrese IPv6
no synchronization
neighbor 5.5.5.5 activate //activarea vecinului
no auto-summary
exit-address-family
address-family vpnv4 //activarea familiei VPNv4 pentru trimiterea de prefixe
neighbor 5.5.5.5 activate //activarea vecinului pentru trimiterea prefixelor
neighbor 5.5.5.5 send-community extended //permite trimiterea de route-target către vecin
exit-address-family
În acest moment, toate rețelele clientului sunt cunoscute pe toate ruterele PE după cum se observa în figura 4.8. Astfel, toate locațiile clientului beneficiază de conectivitate IPv4. Pentru a beneficia și de conectivitate IPv6 este nevoie de creearea de tuneluri 6to4 între fiecare din locațiile acestuia.
Figura 4.8 – Tabela Completă VRF CUST – A
4.2.6. Declararea tunelurilor 6to4 între rețelele clienților
Aceste tuneluri vor permite transmiterea pachetelor IPv6, încapsulate în interiorul unor pachete IPv4.
Tunelul 6to4 va avea o adresă de tip 2002:<Adresa IPv4 în HEX>:<Numărul rețelei>::/64. Adresa IPv4 în hex va fi cea a interfeței sursă a tunelului. În configurația din figura 4-2, interfața de pe CUST_A-R1 spre PE are IPul 15.15.15.5. Astfel, interfața tunel va avea adresa 2002:F0F:F05::/128. Pentru CUST_A-R2 cu IPul 46.46.46.6, tunelul va avea adresa 2002:2E2E:2E06::. Echipamentele CISCO au opțiunea de a calcula adresa de tunel automat, utilizând, în modul de configurare, comanda ipv6 general-prefix <Nume> 6to4 <Nume Interfață>. Astfel, când un pachet intră în tunel spre rețeaua IPv4, ruterul va calcula automat adresa next hop IPv4, extrăgând-o din adresa tunelului.
Pentru ruterul R1 tunelul se configurează astfel:
Interface Tunnel0
no ip address
no ip redirects
ipv6 address 2002:F0F:F05::/128 //se introduce adresa IPv6 a interfeței
tunnel source 15.15.15.5 //se alege sursa tunelului
tunnel mode ipv6ip 6to4 //se alege tipul tunelului 6to4
4.2.7. Realizare conexiune între rețelele clienților
Există două metode pentru a realiza această conexiune. Prima dintre ele este declararea unor rute statice din fiecare filială a clientului către celelalte filiale. Această configurație pentru CUST_A – R1 se face în modul următor.
ipv6 route 2001:DB8:0:2::/64 2002:2E2E:2E06:: //rută către CUST_A – R2
ipv6 route 2001:DB8:0:3::/64 2002:1414:1402:: //rută către CUST_A – HQ
Această modalitate de interconectare nu este una recomandată deoarece nu prezintă scalabiliate. Odată cu introducerea mai multor filiale, sau mai multor rețele în acestea, crescând și numărul de rute statice necesare. Se pierde de asemenea și avantajul tunelurilor 6to4 față de tunelurile GRE.
A doua modalitate este activarea protocolului iBGP în interiorul tunelului și anunțarea rețelelor IPv6 ale clientului prin acesta. Astfel configurația pentru CUST_A – R1 este următoarea:
router bgp 65002
no bgp default ipv4-unicast
neighbor 2002:1414:1402:: remote-as 65002 //declararea CUST_A – HQ ca vecin
neighbor 2002:1414:1402:: update-source Tunnel0 //selectarea interfeței Tunnel0 ca sursă pentru update-uri
neighbor 2002:2E2E:2E06:: remote-as 65002 //declararea CUST_A – R2 ca vecin
neighbor 2002:2E2E:2E06:: update-source Tunnel0 // selectarea interfeței Tunnel0 ca sursă pentru update-uri
address-family ipv6 //activarea instanței de rutare pentru adrese IPv6
network 2001:DB8:0:1::1/64 //anunțarea rețelei clientului în BGP
neighbor 2002:1414:1402:: activate //activarea vecinului CUST_A – HQ
neighbor 2002:2E2E:2E06:: activate//activarea vecinului CUST_A – R2
exit-address-family
!
După realizarea adiacențele se observă, conform figurii 4.9., că ruterul CUST_A – R1 învață prin intermediul BGP rute către celelalte filiale.
Figura 4.9 – Tabelă de Rutare CUST_A – R1
4.2.8. Testare conexiune
În acest moment toate filialele clientului pot comunica între ele prin protocolul IPv6. Acest lucru este ilustrat prin transmiterea de pachete de la sediul general al clientului către cele două filiale ale acestuia (figura 4.10.)
Figura 4.10 – Testare Conexiune IPv6
De asemenea, este posibilă și comunicația între rețelele IPv4 ale clientului conform figurii 4.11.
Figura 4.11 – Testare Conexiune IPv4
Pentru a se observa încapsularea pachetului IPv6 într-un pachet IPv4, precum și adăugarea celor două etichete specifice serviciului MPLS s-a folosit programul de capturare a pachetelor Wireshark pe legătura între R2 și R3 pentru un pachet de tip ICMPv6 trimis de către CUST_A – R2 către CUST_A – R1 așa cum este ilustrat în figura 4.12.
Figura 4.12 – Captură Wireshark Ping CUST_A – R2 – CUST_A – R1
Se remarcă existența a două protocoale de nivel trei (IPv4 și IPv6) precum și cele două etichete MPLS între nivelul doi și nivelul trei al stivei OSI.
De asemenea, capturând acest pachet pe legătura dintre R2 și R1, conform figurii 4.13., se constată existența unei singure etichete, aceea de VPN. Acest lucru se datorează proprietății de Penultimate hop popping care face ca eticheta de transport să fie eliminată înainte ca pachetul să ajungă la ruterul PE.
Figura 4.13 – Captură Penultimate Hop Popping
Rulând comanda traceroute se constată că rețeaua IPv4 este transparentă clientului conform figurii 4.14.
Figura 4.14 – Traceroute Tunelare CE – CE
4.2.9. Avantajele și Dezavantajele Implementării
Avantaje:
rețeaua operatorului nu necesită modificări
clientul poate folosi atât protocolul IPv4 cât și protocolul IPv6 pentru comunicație
Dezavantaje:
se pierde timp la încapsularea și decapsularea pachetelor la intrarea și ieșirea tunelului
echipamentele clientului necesită modificări
pentru încapsulare și decapsulare, ruterul va folosi multe resurse
protocolul BGP consumă multe resurse; rulând foarte multe adiacențe pe un ruter de client poate duce la blocarea acestuia
în cazul folosirii rutelor statice, rețeaua va avea o scalabilitate redusă
Timpul mediu de transmitere și întoarcere al unui pachet ICMPv6 între CUST_A – R1 și CUST_A – R2 este de 115 milisecunde,între CUST_A – HQ și CUST_A – R2 este de 85 de milisecunde, iar între CUST_A – R1 și CUST_A – HQ este de 67 milisecunde datorită drumului mai scurt pe care îl străbate pachetul. Acești timpi sunt mari, această metodă nefiind una eficientă.
Timpul de convergență al rețelei este de 2 minute.
4.3. Implementare 6VPE – Simulare GNS3
Pentru a oferi servicii MPLS VPN pentru clienți IPv6 folosind o rețea core IPv4, Cisco a realizat protocolul 6VPE. Acest protocol permite atașarea unei etichete MPLS provenită dintr-un protocol de rutare IPv4 la un pachet IPv6. Acest lucru este posibil deoarece MPLS rulează sub nivelul IP în stiva OSI. Se evită astfel tunelarea.
Între echipamentele clientului și ruterele PE se va rula un proces MP-eBGP pentru IPv6. În interiorul rețelei furnizorului (AS 65001) se va folosi protocolul de rutare dinamică OPSF. Pentru crearea etichetelor MPLS se va folosi protocolul LDP. Pentru a se transmite prefixele VPNv6 la nivelul sistemului autonom 65001 se va rula un proces de rutare MP-iBGP între ruterele PE conectate la filialele clientului.
Deoarece această metodă s-a dovedit mai eficientă decât cea prezentată în capitolul 4.2, aceasta s-a implementat în laboratorul Orange. Sediul central al clientului (CUST_A – HQ) a fost conectat fizic la internet. Interfața către internet primește adresă IPv6 prin intermediul autoconfigurării stateless (EUI-64) și de asemenea și ruta default către internet. Ruterul redistribuie apoi ruta default prin BGP către toate filialele clientului, acestea având astfel acces la internet. Pentru a accesa internetul s-au alocat ruterelor clientului subrețele din prefixul 2A02:A58::/32, prefix deținut de Orange România.
Arhitectura rețelei este prezentată în figura 4.15.
Figura 4.15 – Topologie 6VPE
4.3.1. Realizarea conectivității IP în interiorul rețelei furnizorului (AS 65001)
Pentru a se realiza conectivitatea în interiorul sistemului autonom 65001, se va activa procesul de rutare OSPF pe toate echipamentele furnizorului. Fiecare ruter va anunța toate rețelele direct conectate și adresele interfețelor de Loopback, cu excepția ruterelor legate direct cu clientul care nu vor promova ruta către acesta. Configurația este similară cu cea de la scenariul anterior. Vom ilustra configurația pentru ruterul RR:
router ospf 1
router-id 1.1.1.1
log-adjacency-changes
network 1.1.1.1 0.0.0.0 area 0
network 12.12.12.0 0.0.0.255 area 0
Se va testa conectivitatea între rutere cu ajutorul unui ping din interfața Loopback a lui R1 și interfața Loopback a lui R4. Se observă, în figura 4.16., că pingul funcționează.
Figura 4.16 – Ping R1 – R4
4.3.2. Pornirea serviciului MPLS
Acest lucru se realizează similar scenariului anterior, pe fiecare echipament. Conectivitatea între adresele de Loopback este asigurată de protocolul OSPF, asigurându-se astfel relația de vecinătate între ruterele din interiorul domeniului MPLS.
Fiecărei rută din tabela de rutare îi va fi alocată o etichetă. Această alocare se poate verifica cu ajutorul comenzii show mpls forwarding-table, așa cum este ilustrat în figura 4.17.:
Figura 4.17 – Tabela MPLS R2
De asemenea, conform figurii 4.18, se pot observa vecinii ruterului cu comanda show mpls ldp neighbor:
Figura 4.18 Vecini MPLS R2
4.3.3. Configurarea tabelelor VRF la nivelul ruterelor PE
Folosindu-se 6VPE, tabelele de rutare corespunzătoare VRF-ului CUST_A vor conține adrese IPv6. Astfel definirea tabelei nu se va mai face cu ajutorul comenzii ip vrf CUST_A, ci cu comanda vrf definition CUST_A. Această comandă permite activarea mai multor familii de adrese pentru VRF. Astfel se va activa familia IPv6 pentru această tabelă. Exemplificăm acest proces pentru ruterul R4.
vrf definition CUST_A
rd 65002:1 //configurarea atribultului de identificare a VRFului (se folosește pentru crearea adreselor VPNv6)
route-target export 65002:1 //etichetă ce va fi adăugată fiecărei rute pentru a permite importarea acesteia și în alte VRF-uri
route-target import 65002:1 //selectarea etichetei pentru care sunt importate rute
address-family ipv4 //activarea familiei de adrese IPv4
exit-address-family
address-family ipv6 //activarea familiei de adrese IPv6
exit-address-family
După definirea acestuia, VRF-ul va fi alocat unor interfețe:
interface FastEthernet0/1
description Connection to CUST_A-R1
vrf forwarding CUST_A //se alege tabela VRF corespunzătoare interfeței
După definirea tabelei VRF, se poate observa formarea adresei VPNv6 prin adăugarea etichetei VPN la adresa IPv6 precum în figura 4.19.
Figura 4.19 – Etichete VRF pentru CUST_A – R1
4.3.4. Configurarea eBGP între echipamentele CE și PE
Spre deosebire de cazul anterior, legătura între rețeaua clientului și cea a furnizorului se face prin intermediul unei rețele IPv6. Astfel, realizarea relației de vecinătate între ruterele CE și PE se va face prin intermediul familiei de adrese IPv6. Se va exemplifica configurația pentru ruterul R4 și CUST_A – R2, aceasta fiind similară pentru toate celelalte rutere PE respectiv CE.
router bgp 65001 //se pornește procesul de rutare BGP în AS-ul 65001
bgp router-id 4.4.4.4 //se alege ID-ul folosit de ruter
no bgp default ipv4-unicast //se dezactivează creearea automată de adiacențe de tip IPv4
address-family ipv6 vrf CUST_A //declararea instanței de rutare de tip VRF folosind adrese IPv6
neighbor 2010:AB0:0:2::2 remote-as 65002 //declararea vecinului din AS-ul adiacent
neighbor 2010:AB0:0:2::2 activate //activarea vecinului
neighbor 2010:AB0:0:2::2 as-override //pentru a se putea învăța ruta pe rutere cu același AS ce nu sunt conectate direct
exit-address-family
Pentru ruterul CUST_A – R2 configurația este următoarea:
router bgp 65002 //se pornește procesul de rutare BGP în AS-ul 65002
bgp router-id 6.6.6.6 //se alege ID-ul folosit de ruter
no bgp default ipv4-unicast //se dezactivează creearea automată de adiacențe de tip IPv4
neighbor 2010:AB0:0:2::1 remote-as 65001 //declararea vecinului din AS-ul adiacent
address-family ipv6 //activarea instanței de rutare pentru adrese IPv6
network 2A02:A58:8888:8888::/64 //anunțarea rețelei în BGP
neighbor 2010:AB0:0:2::1 activate //activarea vecinului
exit-address-family
În acest moment există conectivitate între ruterul PE și rețeaua clientului, fapt ilustrat în figura 4.20.
Figura 4.20 – Testare Conexiune ISP cu Clientul
4.3.5. Configurarea MP-iBGP pentru transportul prefixelor VPNv6 între ruterele PE
Datorită sistemului 6VPE, pachetele de tip IPv6 pot fi transmise peste o rețea IPv4 fără a fi nevoie de tunelare. Acest lucru se datorează faptului că MPLS funcționează sub nivelul IP în stiva OSI.
Pentru a se transmite prefixele IPv6 ale clientului între ruterele PE este nevoie de o conexiune de tip iBGP între acestea. Astfel, vecinii vor fi activați sub familia de adrese IPv6 și VPNv6. În acest fel se vor putea anunța prefixe IPv6 și acestora li se vor adăuga etichete de VPN și de MPLS. Eticheta de MPLS va proveni de la protocolul de rutare IPv4 ce funcționează în interiorul rețelei furnizorului.
Vom exemplifica configurația pentru ruterul R4.
router bgp 65001
bgp router-id 4.4.4.4
no bgp default ipv4-unicast
neighbor 5.5.5.5 remote-as 65001 //se declară ruterul RR drept vecin
neighbor 5.5.5.5 update-source Loopback0 //se alege interfața Loopback0 drept sursă pentru updateuri
address-family ipv6 //activarea instanței de rutare pentru adrese IPv6
neighbor 5.5.5.5 activate //activarea vecinului pentru familia de adrese IPv6
exit-address-family
address-family vpnv6 //activarea familiei VPNv6 pentru adăugarea de prefixe
neighbor 5.5.5.5 activate //activarea vecinului
neighbor 5.5.5.5 send-community extended
exit-address-family
4.3.6. Testare conexiune
În acest moment filialele clientului au conectiviate între ele așa cum se poate vedea în tabela de rutare a ruterului CUST_A – R2 (figura 4.21).
Figura 4.21 – Tabelă Rutare CUST_A – R2
După cum se poate observa, ruterul CUST_A – R2 are conectivitate cu ambele filiale ale clientului, rutele fiind învățate prin BGP. Se testează acest lucru cu ajutorul ping ca în figura 4.22.
Figura 4.22 – Testare Ping Între Filialele Clientului
Drumul pe care pachetul îl traversează până la destinație poate fi observat cu ajutorul comenzii traceroute (figura 4.23 și 4.24).
Figura 4.23 – Traceroute Între Filialele Clientului
Figura 4.24 – Traceroute Între FIlialele Clientului (2)
Se constată faptul că ruterele IPv4 sunt transparente clientului. Se remarcă de asemenea eticheta MPLS cu care pachetul ajunge la R1.
Pentru a observa structura pachetului la trecerea prin rețeaua MPLS se va folosi Wireshark pentru a realiza o captură de pachete pe legătura dintre R2 și R3 conform figurii 4.25.
Figura 4.25 – Captură Wireshark 6VPE
Se observă existența celor două etichete adăugate de MPLS cea de VPN și cea de transport MPLS. De asemenea, se observă faptul că pachetul IPv6 nu mai este încapsulat într-un pachet IPv6, acestuia adăugându-i-se direct cele două etichete.
4.3.7. Avantajele și Dezavantajele Implementării 6VPE
Avantaje:
nu mai este nevoie de tunelare, astfel nu se pierde timp cu încapsularea pachetelor
scalabilitate mare, nefiind nevoie de rute pentru tuneluri
rețeaua clientului nu suferă modificări
ruterele din rețeaua core a furnizorului nu necesită modificări
Dezavantaje:
ruterele PE ale operatorului trebuiesc modificate pentru a fi dual-stack
este nevoie de folosirea de adrese IPv4
clientul nu are acces la servicii de tip IPv4
Timpul mediul de transmitere și întoarcere al unui pachet de la CUST_A – R1 la CUST_A – R2 este de 58 de milisecunde, iar între CUST_A – R1 și CUST_A – HQ este de 54 de milisecunde.
Timpul de convergență este de 2 minute.
Se observă timpi mai mici de transfer pentru această metodă decât metoda anterioară. Acest lucru se datorează faptului că nu se pierde timp pentru încapsulare și decapsulare. De asemenea, pachetele transmise sunt mai mici deoarece lipsește antetul IPv4.
Datorită faptului că acest scenariu s-a dovedit cel mai potrivit pentru implementarea serviciului IPv6 pentru clienți, cu un impact cât mai mic asupra rețelei operatorului și cu o complexitate cât mai mică s-a decis integrarea acestuia în rețeaua Orange România.
4.4. Implementarea în laboratorul Orange România
4.4.1. Topologie
Conexiunea rețelei la laboratorul Orange este realizată conform figurii 4.26.
Figura 4.26 – Topologie ORO
4.4.2. Realizarea conectivității filialelor clientului la rețeaua ORO
Orange România deține prefixul de adrese 2A02:A58::/16. Pentru ca rețeaua să se poată conecta la internet este nevoie ca ruterele clientului să aibă alocate IP-uri din acest domeniu de adrese. Pentru a simula o situație cât mai realistă, toate filialele clientului vor avea acces la internet prin intermediul sediului principal (CUST_A – HQ). Astfel, acest ruter va obține automat o adresă pentru interfața către rețeaua ORO cu ajutorul standardului EUI – 64. Tot prin acest mod va obține și o rută default către internet. Rusterul CUST_A – HQ va anunța apoi această ruta prin BGP tuturor filialelor clientului, astfel acestea conectându-se prin CUST_A – HQ la internet.
Sunt prezentate aceste configurații pentru ruterul CUST_A – HQ.
interface FastEthernet0/1
no ip address //interfața nu va avea adresă IPv4
speed auto //viteza și modul de transmisiune vor fi negociate automat
duplex auto
ipv6 address autoconfig default //se va obține automat adresa IPv6 și ruta default
Astfel interfeței Fa0/1 de pe ruterul CUST_A – HQ îi va fi asignată o adresă de tipul EUI – 64. Acest lucru poate fi obervat în figura 4.27.
Figura 4.27 – Autoconfig Adresă Interfață Fa0/1 pe CUST_A – HQ
router bgp 65002
bgp router-id 9.9.9.9
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 2010:AB0:0:3::1 remote-as 65001
address-family ipv6
redistribute static
default-information originate //vor fi anunțate rutele statice și ruta default în BGP
network 2A02:A58:9999:9999::/64
neighbor 2010:AB0:0:3::1 activate
exit-address-family
Se observă în figurile 4.28 și 4.29 că ruterele CUST_A – R1 și CUST_A – R2 învață ruta statică prin CUST_A – HQ, având astfel rută către internet.
Figura 4.28 – Ruta Default CUST_A – R1
Figura 4.29 – Ruta Default CUST_A – R2
4.4.3. Realizarea conectivității între BR_V6_LAB și CUST_A – HQ
Pentru a se putea realiza conexiunea la internet, pe ruterul BR_V6_LAB se va introduce o rută statică către fiecare dintre ruterele clientului. Învățarea rutelor s-ar fi putut face și prin BGP, însă acest lucru ar fi putut creea instabilitate în rețeaua ORO. Astfel s-au preferat rute statice. Acestea sunt apoi redistribuite în BGP.
ipv6 route 2A02:A58:8888:8888::/64 2A02:A58:260:FFFF:C802:DFF:FEC0:6
ipv6 route 2A02:A58:8888:8888::/64 2A02:A58:260:FFFF:C802:DFF:FEC0:6
ipv6 route 2A02:A58:9999:9999::/64 2A02:A58:260:FFFF:C802:DFF:FEC0:6
IP-ul 2A02:A58:260:FFFF:C802:DFF:FEC0:6 este IP-ul interfeței ruterului CUST_A – HQ.
4.4.4. Realizarea conectivității între BR_V6_LAB și BR_BI0449
Între aceste două rutere s-a realizat o conexiune asemănătoare cu cea prezentată în scenariul doi. Astfel între cele două rutere s-a configurat o sesiune de MP_BGP VPNv6 peste o rețea MPLS IPv4. Pentru ruterul BR_V6_LAB configurația este realizată în felul următor:
router bgp 65000
bgp router-id 172.28.106.26
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 2A02:A58::8953:12 remote-as 8953 //legătura cu BR1_BI0449
address-family ipv6
neighbor 2A02:A58::8953:12 activate //activarea vecinului
redistribute connected //redistribuirea rețelelor direct conectate
redistribute static //redistribuirea rutelor statice, precum cele către rețeaua din această lucrare
exit-address-family
Pentru ruterul BR1_BI0449 configurația este realizată astfel:
neighbor 2A02:A58::8953:13 remote-as 65000 //declararea vecinului BR_V6_LAB
neighbor 2A02:A58::8953:13 activate
neighbor 2A02:A58::8953:13 next-hop-self
neighbor 2A02:A58::8953:13 default-originate //transmiterea rutei default către vecin
Se observă astfel că ruterul BR_V6_LAB învață ruta default către internet.
IPv6 Routing Table – Default – 17429 entries
Codes: C – Connected, L – Local, S – Static, U – Per-user Static route
B – BGP, M – MIPv6, R – RIP, I1 – ISIS L1
I2 – ISIS L2, IA – ISIS interarea, IS – ISIS summary, D – EIGRP
EX – EIGRP external
O – OSPF Intra, OI – OSPF Inter, OE1 – OSPF ext 1, OE2 – OSPF ext 2
ON1 – OSPF NSSA ext 1, ON2 – OSPF NSSA ext 2
B ::/0 [20/0]
via FE80::221:D8FF:FECB:6940, GigabitEthernet0/0.601
4.4.5. Accesul rețelei ORO către internet
Telia Sonera este furnizorul de servicii de nivel doi care oferă servicii de internet operatorului Orange România. Legătura între cei doi furnizori se face prin intermediul eBGP în felul următor:
neighbor 2001:2000:3080:4AE::1 remote-as 1299 //se declară vecinul din AS-ul Telia Sonera
neighbor 2001:2000:3080:4AE::1 description TeliaSonera_AS1299_IPv6_NxData
neighbor 2001:2000:3080:4AE::1 activate //se activează vecinul
neighbor 2001:2000:3080:4AE::1 send-community //se transmit comunitățile extinse BGP
neighbor 2001:2000:3080:4AE::1 remove-private-as //AS-urile clienților sunt șterse din AS_PATH
neighbor 2001:2000:3080:4AE::1 route-map rm6-teliasonera-in in
neighbor 2001:2000:3080:4AE::1 route-map rm6-internet-out out
address-family ipv6 vrf DIA //se activează familia de adrese IPv6 în interiorul tabelei vrf DIA
redistribute connected //se anunță prefixele direct conectate
no synchronization
network 2A02:A58::/32 route-map our-networks //se anunță prefixul deținut de ORO
VRF DIA este VRF-ul ce conține rutele ORO către internet IPv6.
În acest moment rețelele clientului au conectivitate la internet.
4.4.6. Testarea conectivității
Folosing serviciul de tip Looking Glass al Telia Sonera, putem testa conexiunea rețelei cu diferite servere.
Trimitem astfel traceroute de pe un server din orașul Hamburg către CUST_A – R2 (conform figurii 4.30).
Figura 4.30 – Traceroute din Hamburg
Se observă că pachetele ajung la intrarea în rețea.
Activând Wireshark pe linkul dintre R2 și R3 putem observa pachetele recepționate în interiorul rețelei (figura 4.31).
Figura 4.31 – Captură Pachet Hamburg
Conform figurii 4.32 adresa sursă a serverului: 2001:2000:3018:22::1. Încercăm astfel traceroute în sens invers.
Figura 4.32 – Traceroute către Hamburg
S-a afișat astfel traseul străbătut de pachet și ajungerea acestuia cu succes la destinație. În figură nu apar toate ruterele spre destinație deoarece unele rutere din rețeaua ORO sunt configurate să nu răspundă la pachete de tip traceroute.
Se încearcă ping și de pe un server al Telia Sonera din Frankfurt, ca în figura 4.33.
Figura 4.33 – Ping Frankfurt
Se observă accesarea cu succes a rețelei din exterior.
Tot cu ajutorul serviciului Looking Glass se poate observa modul în care sunt învățate rutele prin BGP. Acest lucru este prezentat în anexă.
4.5. Implementare Full IPv6
În acest scenariu, toate ruterele inclusiv cele din rețeaua core a operatorului vor folosi adresare de tip IPv6. Topologia rețelei este prezentată în figura 4.34.
Figura 4.34 – Topologie Full IPv6
O mare problemă legată de această implementare este faptul că nu se poate activa serviciul MPLS pe o rețea full IPv6. Acest lucru se datorează faptului că protocolul LDP folosește adrese de Loopback IPv4 pentru adinacențe, iar acestea au nevoie de conectivitate între ele pentru a stabilii relații de vecinătate. Din această cauză este nevoie ca toate ruterele din rețeaua core a operatorului să cunoască prefixele clientului.
Acest lucru nu prezintă o soluție viabilă pentru rețeaua unui furnizor, deoarece odata cu creșterea numărului de clienți va crește și numărul de prefixe din tabelele ruterelor. De asemenea, se pierde avantajul rutării cu etichete MPLS. Acest lucru este necesar în cazul adresării IPv6 datorită mărimii acestor adrese, o căutare recursivă în tabela de rutare durând foarte mult timp.
Astfel, această metodă va putea fi aplicată atunci când protocolul LDP va fi compatibil cu protocolul IPv6. De asemenea, pentru acest lucru toate ruterele din topologie vor avea nevoie de modificări. Un avantaj al acestei implementări ar fi acela că se renunță complet la adresarea IPv4.
4.6. Propuneri pentru implementarea soluțiilor într-un scenariu real
4.6.1. Asigurea redundanței în rețeaua furnizorului
Deși în cazul ambelor scenarii conexiunea s-a realizat cu succes, iar în cazul 6VPE s-a putut realiza și conexiunea către internet, pentru testarea acestora s-a luat în considerare o soluție ideală. Pentru un caz realist, în interiorul rețelei operatorului trebuie realizată măcar o redundanță minimă între rutere. Astfel în cazul în care una din legături eșuează, traseul să se poată modifica astfel încât să existe în continuare conectivitate între filialele clientului.
Pentru a implementa acest lucru se vor realiza legături între ruterele R1 și R4 și între RR și R4, topologia fiind prezentată în figura 4.35.
Figura 4.35 – Propunere Topologie MPLS VPN IPv6
Pe noile interfețe se va configura OSPF conform pasului 1 din cadrul scenariilor. De asemenea, pe acestea se va introduce comanda MPLS IP. Executând comanda shutdown pe interfața dintre R1 și R2 (figura 4.36) se observă că ping-ul este funcțional (figura 4.37).
Figura 4.36 – Simulare Cădere de Interfață
Figura 4.37 – Testare Conectivitate Redundantă
Cu ajutorul Wireshark se poate oberva faptul că pachetul va trece pe legătura dintre R1 și R4. Se obervă faptul că pachetul este trimis de la adresa mac a interfeței fa0/1 a R1 spre interfața fa0/1 a R4, așa cum este evidențiat în figurile 4.38 și 4.39.
Figura 4.38 – Captură Pachet de Test
Figura 4.39 – Adese MAC Interfețe
4.6.2. Folosirea Route Reflector în implementarea tunelării CE – CE
În cazul implementării tunelurilor CE – CE, pentru a își anunța rețelele între ele, ruterele clientului trebuie să stabilească relații de vecinătate între ele. Odată cu creșterea numărului de filiale, acest proces poate deveni unul laborios.
Pentru a evita acest lucru, unul dintre rutere poate fi setat ca route reflector. Astfel toate ruterele vor stabilii relații de vecinătate numai cu acesta. Implementăm acest scenariu pentru topologia folosită în prezenta lucrare. Se va folosi ruterul CUST_A – HQ drept Route Reflector.
Configurațiile pentru cele trei rutere ale clientului vor fi următoarele:
Pentru CUST_A – R1
router bgp 65002
neighbor 2002:1414:1402:: remote-as 65002 //declararea Ruterului CUST_A – HQ (RR) ca vecin
neighbor 2002:1414:1402:: update-source Tunnel0 //setarea interfeței Tunnel0 ca sursă de update-uri
address-family ipv6
network 2001:DB8:0:1::1/64 //anunțarea rețelei în BGP
neighbor 2002:1414:1402:: activate //activarea vecinului
exit-address-family
Pentru CUST_A – R2
router bgp 65002
neighbor 2002:1414:1402:: remote-as 65002
neighbor 2002:1414:1402:: update-source Tunnel0
address-family ipv6
no synchronization
network 2001:DB8:0:2::/64
network 2001:DB8:0:2::1/64
neighbor 2002:1414:1402:: activate
exit-address-family
Pentru CUST_A – HQ
router bgp 65002
neighbor 20.20.20.1 remote-as 65001
neighbor 2002:F0F:F05:: remote-as 65002
neighbor 2002:F0F:F05:: update-source Tunnel0 //se stabilesc vecinii și interfețele sursă pentru
neighbor 2002:2E2E:2E06:: remote-as 65002 update-uri
neighbor 2002:2E2E:2E06:: update-source Tunnel0
address-family ipv6
no synchronization
network 2001:DB8:0:3::/64 //se anunță rețeaua în BGP
neighbor 2002:F0F:F05:: activate //se activează vecinul CUST_A – R1
neighbor 2002:F0F:F05:: route-reflector-client //se declară vecinul drept client de route reflector
neighbor 2002:2E2E:2E06:: activate //se activează vecinul CUST_A – R2
neighbor 2002:2E2E:2E06:: route-reflector-client//se declară vecinul drept client de route reflector
exit-address-family
Conform figurilor 4.40 și 4.41 se observă faptul că ruterele CUST_A – R1 și CUST_A – R2 învață rutele spre toate filialele clientului prin intermediul BGP și al Route Reflector.
Figura 4.40 Tabelă de Rutare CUST_A – R1
Figura 4.41 Tabelă de Rutare CUST_A – R2
Concluzii
Scopul acestei lucrări a fost acela de a studia și a implementa mai multe modalități prin care un operator poate oferi servicii de tip VPN IPv6 clienților săi. S-a urmărit descoperirea celei mai performante modalități în vederea implementării acesteia în infrastructura Orange România. Acest tip de servicii va deveni unul obligatoriu pentru operatori odată cu epuizarea adreselor IPv4.
Cea mai bună metodă de implementare s-a dovedit 6VPE, metoda cu tunelare fiind una potrivită doar în cazul în care operatorul nu poate efectua modifcări la nivelul rețelei sale, sau atunci când clientul dorește să poată păstra și protocolul IPv4 în rețeaua sa.
S-a demonstrat de asemenea, că protocolul IPv6 încă este într-un stadiu incipient, multe protocoale nefiind compatibile cu acesta. Unul din aceste protocoale este LDP. Datorită acestui fapt, momentan rețelele private virtuale MPLS cu IPv6 nu se pot implementa. De aceea este nevoie de o trecere graduală între aceste protocoale.
Contribuții ale studentului
Pentru atingerea scopului acestei lucrări am simulat, în programul GNS3, o rețea a unui furnizor ce oferă servicii de VPN IPv6 unui client. Am testat trei implementări prin care acest lucru poate fi realizat. Acestea au fost: implementarea cu tunel CE – CE, implementarea cu 6VPE și implementarea FULL IPV6.
S-a realizat o comparație a acestor implementări din punctul de vedere al vitezei de transfer și al costurilor. S-a demonstrat de asemenea, că metoda full IPv6 nu poate fi încă implementată datorită incompatibilității protocolului LDP cu IPv6.
Implementarea 6VPE s-a demonstrat a fi cea mai eficientă. Am implementat această metodă în infrastructura Orange România pentru a testa posibilitatea clientului de a accesa internetul IPv6. Am trimis mesaje ICMPv6 din servere aflate în Hamburg și Frankfurt către rețeaua implementată cu ajutorul unui site de tip Looking Glass, demonstrând astfel conectivitatea rețelei clientului la internet.
Bibliografie
1. AT&T. IPv6 Networking Fundamentals. 2012.
2. BORCOCI, Eugen. Platformă Laborator Rețele și Servicii. 2014.
3. Tutorial: IPv6 Basics. Hogewoning, Marco. 2012.
4. Cisco. IPv6 Extension Headers Review and Considerations. s.l. : Cisco, 2006.
5. 4291, RFC. IPv6 Addressing Architecture.
6. 5375, RFC. IPv6 Addressing Considerations.
7. 3627, RFC. Use of /127 Prefix Length Between Routers Considered Harmful.
8. Cisco. Layer 2 VPNs. [Online]
9. NICOLAE, Emilia – Andreea; CROITORU Victor; IORDACHE Marius. Rețele private virtuale pentru interconectarea sistemelor autonome. Editura Agir. 2013.
10. Sunset Learning Institute. Configuring 6VPE, Cisco VPN Provider Edge in MPLS. 2011.
11. Cisco. IPv6 Addressing Guide. 2010
Anexe
Configurații
Implementare Tunel CE – CE
CUST_A – R1
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-R1
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback6
no ip address
ipv6 address 2001:DB8:0:1::1/64
!
interface Loopback10
ip address 5.5.5.5 255.255.255.255
!
interface Loopback100
ip address 55.55.55.55 255.255.255.255
!
interface Tunnel0
no ip address
no ip redirects
ipv6 address 2002:F0F:F05::/128
tunnel source 15.15.15.5
tunnel mode ipv6ip 6to4
!
interface FastEthernet0/0
no ip address
shutdown
speed auto
duplex auto
!
interface FastEthernet0/1
ip address 15.15.15.5 255.255.255.0
speed auto
duplex auto
!
router bgp 65002
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 15.15.15.1 remote-as 65001
neighbor 2002:1414:1402:: remote-as 65002
neighbor 2002:1414:1402:: update-source Tunnel0
!
address-family ipv4
no synchronization
network 5.5.5.5 mask 255.255.255.255
network 15.15.15.0 mask 255.255.255.0
network 55.55.55.55 mask 255.255.255.255
neighbor 15.15.15.1 activate
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
network 2001:DB8:0:1::1/64
neighbor 2002:1414:1402:: activate
exit-address-family
!
no ip http server
no ip http secure-server
!
ipv6 route 2002::/16 Tunnel0
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
CUST_A – R2
! Last configuration change at 00:31:57 UTC Thu Jul 3 2014
!
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-R2
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback6
no ip address
ipv6 address 2001:DB8:0:2::1/64
!
interface Loopback10
ip address 6.6.6.6 255.255.255.255
!
interface Loopback100
ip address 66.66.66.66 255.255.255.255
!
interface Tunnel0
no ip address
no ip redirects
ipv6 address 2002:2E2E:2E06::/128
tunnel source 46.46.46.6
tunnel mode ipv6ip 6to4
!
interface FastEthernet0/0
no ip address
shutdown
speed auto
duplex auto
!
interface FastEthernet0/1
ip address 46.46.46.6 255.255.255.0
speed auto
duplex auto
!
router bgp 65002
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 2002:1414:1402:: remote-as 65002
neighbor 2002:1414:1402:: update-source Tunnel0
neighbor 46.46.46.4 remote-as 65001
!
address-family ipv4
no synchronization
network 6.6.6.6 mask 255.255.255.255
network 46.46.46.0 mask 255.255.255.0
network 66.66.66.66 mask 255.255.255.255
neighbor 46.46.46.4 activate
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
network 2001:DB8:0:2::/64
network 2001:DB8:0:2::1/64
neighbor 2002:1414:1402:: activate
exit-address-family
!
no ip http server
no ip http secure-server
!
ipv6 route 2002::/16 Tunnel0
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R1
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R1
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
ip vrf CUST-A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
ip domain lookup
ip cef
no ipv6 cef
!
no mpls ip propagate-ttl
mpls label range 1000 1999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0/0
description Connection to R2
ip address 12.12.12.1 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
description Connection to CUST_A-R1
ip vrf forwarding CUST-A
ip address 15.15.15.1 255.255.255.0
speed auto
duplex auto
!
router ospf 1
router-id 1.1.1.1
log-adjacency-changes
network 1.1.1.1 0.0.0.0 area 0
network 12.12.12.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 1.1.1.1
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
neighbor 5.5.5.5 activate
no auto-summary
exit-address-family
!
address-family vpnv4
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv4 vrf CUST-A
no synchronization
neighbor 15.15.15.5 remote-as 65002
neighbor 15.15.15.5 activate
neighbor 15.15.15.5 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R2
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R2
!
boot-start-marker
boot-end-marker
!
vrf definition CUST_A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
address-family ipv4
exit-address-family
!
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
no ipv6 cef
!
mpls label range 2000 2999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet0/0
description Connection to R1
ip address 12.12.12.2 255.255.255.0
speed auto
duplex auto
mpls ip
interface FastEthernet0/1
description Connection to R3
ip address 23.23.23.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/0
ip address 45.45.45.2 255.255.255.0
speed auto
duplex auto
!
interface FastEthernet1/1
vrf forwarding CUST_A
ip address 20.20.20.1 255.255.255.0
speed auto
duplex auto
!
router ospf 1
router-id 2.2.2.2
log-adjacency-changes
network 2.2.2.2 0.0.0.0 area 0
network 12.12.12.0 0.0.0.255 area 0
network 23.23.23.0 0.0.0.255 area 0
network 45.45.45.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 2.2.2.2
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
neighbor 5.5.5.5 activate
no auto-summary
exit-address-family
!
address-family vpnv4
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv4 vrf CUST_A
no synchronization
neighbor 20.20.20.2 remote-as 65002
neighbor 20.20.20.2 activate
neighbor 20.20.20.2 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
mpls ldp router-id Loopback0 force
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
end
R3
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R3
!
boot-start-marker
boot-end-marker
!
no aaa new-model
!
resource policy
!
memory-size iomem 5
no ip icmp rate-limit unreachable
ip cef
ip tcp synwait-time 5
!
no ip domain lookup
!
mpls label range 3000 3999
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface FastEthernet0/0
description Connection to R4
ip address 34.34.34.3 255.255.255.0
duplex auto
speed auto
mpls ip
!
interface FastEthernet0/1
description Connection to R2
ip address 23.23.23.3 255.255.255.0
duplex auto
speed auto
mpls ip
!
interface FastEthernet1/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet2/0
no ip address
shutdown
duplex auto
speed auto
!
router ospf 1
router-id 3.3.3.3
log-adjacency-changes
network 3.3.3.3 0.0.0.0 area 0
network 23.23.23.0 0.0.0.255 area 0
network 34.34.34.0 0.0.0.255 area 0
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
line vty 0 4
login
!
webvpn context Default_context
ssl authenticate verify all
!
no inservice
!
end
R4
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R4
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
ip vrf CUST-A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
no ip domain lookup
ip cef
no ipv6 cef
!
no mpls ip propagate-ttl
mpls label range 4000 4999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 4.4.4.4 255.255.255.255
!
interface FastEthernet0/0
description Connection to R3
ip address 34.34.34.4 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
ip vrf forwarding CUST-A
ip address 46.46.46.4 255.255.255.0
speed auto
duplex auto
!
router ospf 1
router-id 4.4.4.4
log-adjacency-changes
network 4.4.4.4 0.0.0.0 area 0
network 34.34.34.0 0.0.0.255 area 0
!
router bgp 65001
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
neighbor 5.5.5.5 activate
no auto-summary
exit-address-family
!
address-family vpnv4
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv4 vrf CUST-A
no synchronization
neighbor 46.46.46.6 remote-as 65002
neighbor 46.46.46.6 activate
neighbor 46.46.46.6 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
CUST_A – HQ
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-HQ
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 general-prefix TEST 6to4 FastEthernet0/0
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback6
no ip address
ipv6 address 2001:DB8:0:3::1/64
!
interface Loopback10
ip address 7.7.7.7 255.255.255.255
!
interface Loopback100
ip address 77.77.77.77 255.255.255.255
!
interface Tunnel0
no ip address
no ip redirects
ipv6 address 2002:1414:1402::/128
tunnel source FastEthernet0/0
tunnel mode ipv6ip 6to4
!
interface FastEthernet0/0
ip address 20.20.20.2 255.255.255.0
speed auto
duplex auto
!
router bgp 65002
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 20.20.20.1 remote-as 65001
neighbor 2002:F0F:F05:: remote-as 65002
neighbor 2002:F0F:F05:: update-source Tunnel0
neighbor 2002:2E2E:2E06:: remote-as 65002
neighbor 2002:2E2E:2E06:: update-source Tunnel0
!
address-family ipv4
no synchronization
network 7.7.7.7 mask 255.255.255.255
network 77.77.77.77 mask 255.255.255.255
neighbor 20.20.20.1 activate
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
network 2001:DB8:0:3::/64
neighbor 2002:F0F:F05:: activate
neighbor 2002:F0F:F05:: route-reflector-client
neighbor 2002:2E2E:2E06:: activate
neighbor 2002:2E2E:2E06:: route-reflector-client
exit-address-family
!
no ip http server
no ip http secure-server
!
ipv6 route 2002::/16 Tunnel0
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
RR
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname RR
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
no ipv6 cef
!
mpls label range 5000 5999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 5.5.5.5 255.255.255.255
!
interface FastEthernet0/0
ip address 45.45.45.1 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
no ip address
shutdown
speed auto
duplex auto
!
router ospf 1
log-adjacency-changes
network 5.5.5.5 0.0.0.0 area 0
network 45.45.45.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 5.5.5.5
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 65001
neighbor 1.1.1.1 update-source Loopback0
neighbor 2.2.2.2 remote-as 65001
neighbor 2.2.2.2 update-source Loopback0
neighbor 4.4.4.4 remote-as 65001
neighbor 4.4.4.4 update-source Loopback0
!
address-family ipv4
no synchronization
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 route-reflector-client
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 route-reflector-client
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 route-reflector-client
no auto-summary
exit-address-family
!
address-family vpnv4
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 send-community extended
neighbor 1.1.1.1 route-reflector-client
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community extended
neighbor 2.2.2.2 route-reflector-client
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 send-community extended
neighbor 4.4.4.4 route-reflector-client
exit-address-family
!
no ip http server
no ip http secure-server
!
mpls ldp router-id Loopback0 force
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
Implementare 6VPE și Implementare în Laboratorul ORO
CUST_A – R1
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-R1
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback6
no ip address
ipv6 address 2A02:A58:7777:7777::1/64
!
interface FastEthernet0/1
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:1::2/64
!
!
router bgp 65002
bgp router-id 5.5.5.5
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 2010:AB0:0:1::1 remote-as 65001
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
network 2A02:A58:7777:7777::/64
neighbor 2010:AB0:0:1::1 activate
exit-address-family
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
CUST_A – R2
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-R2
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback6
no ip address
ipv6 address 2A02:A58:8888:8888::1/64
!
interface FastEthernet0/1
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:2::2/64
!
router bgp 65002
bgp router-id 6.6.6.6
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 2010:AB0:0:2::1 remote-as 65001
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
network 2A02:A58:8888:8888::/64
neighbor 2010:AB0:0:2::1 activate
exit-address-family
!
no ip http server
no ip http secure-server
!
control-plane
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R1
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R1
!
boot-start-marker
boot-end-marker
!
vrf definition CUST_A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
address-family ipv4
exit-address-family
!
address-family ipv6
exit-address-family
!
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
no mpls ip propagate-ttl
mpls label range 1000 1999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0/0
description Connection to R2
ip address 12.12.12.1 255.255.255.0
shutdown
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
description Connection to CUST_A-R1
vrf forwarding CUST_A
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:1::1/64
!
interface FastEthernet1/0
ip address 67.67.67.1 255.255.255.0
speed auto
duplex auto
mpls ip
!
router ospf 1
router-id 1.1.1.1
log-adjacency-changes
network 1.1.1.1 0.0.0.0 area 0
network 12.12.12.0 0.0.0.255 area 0
network 67.67.67.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 1.1.1.1
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
neighbor 5.5.5.5 activate
exit-address-family
!
address-family vpnv6
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv4 vrf CUST_A
no synchronization
exit-address-family
!
address-family ipv6 vrf CUST_A
no synchronization
neighbor 2010:AB0:0:1::2 remote-as 65002
neighbor 2010:AB0:0:1::2 activate
neighbor 2010:AB0:0:1::2 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
no cdp advertise-v2
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R2
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R2
!
boot-start-marker
boot-end-marker
!
vrf definition CUST_A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
address-family ipv6
exit-address-family
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
mpls label range 2000 2999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet0/0
description Connection to R1
ip address 12.12.12.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
description Connection to R3
ip address 23.23.23.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/0
ip address 45.45.45.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/1
vrf forwarding CUST_A
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:3::1/64
!
router ospf 1
router-id 2.2.2.2
log-adjacency-changes
network 2.2.2.2 0.0.0.0 area 0
network 12.12.12.0 0.0.0.255 area 0
network 23.23.23.0 0.0.0.255 area 0
network 45.45.45.0 0.0.0.255 area 0
!
router bgp 65001
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
redistribute static
default-information originate
no synchronization
neighbor 5.5.5.5 activate
exit-address-family
!
address-family vpnv6
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv6 vrf CUST_A
no synchronization
neighbor 2010:AB0:0:3::2 remote-as 65002
neighbor 2010:AB0:0:3::2 activate
neighbor 2010:AB0:0:3::2 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
mpls ldp router-id Loopback0 force
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R3
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R3
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
mpls label range 3000 3999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface FastEthernet0/0
description Connection to R4
ip address 34.34.34.3 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
description Connection to R2
ip address 23.23.23.3 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/0
no ip address
speed auto
duplex auto
!
interface FastEthernet1/1
no ip address
shutdown
speed auto
duplex auto
!
router ospf 1
router-id 3.3.3.3
log-adjacency-changes
network 3.3.3.3 0.0.0.0 area 0
network 23.23.23.0 0.0.0.255 area 0
network 34.34.34.0 0.0.0.255 area 0
!
no ip http server
no ip http secure-server
!
control-plane
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R4
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R4
!
boot-start-marker
boot-end-marker
!
vrf definition CUST_A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
address-family ipv4
exit-address-family
!
address-family ipv6
exit-address-family
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
no mpls ip propagate-ttl
mpls label range 4000 4999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 4.4.4.4 255.255.255.255
!
interface FastEthernet0/0
description Connection to R3
ip address 34.34.34.4 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
vrf forwarding CUST_A
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:2::1/64
!
interface FastEthernet1/0
ip address 67.67.67.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/1
ip address 56.56.56.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
router ospf 1
router-id 4.4.4.4
log-adjacency-changes
network 4.4.4.4 0.0.0.0 area 0
network 34.34.34.0 0.0.0.255 area 0
network 56.56.56.0 0.0.0.255 area 0
network 67.67.67.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 4.4.4.4
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
neighbor 5.5.5.5 activate
exit-address-family
!
address-family vpnv6
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv4 vrf CUST_A
no synchronization
exit-address-family
!
address-family ipv6 vrf CUST_A
no synchronization
neighbor 2010:AB0:0:2::2 remote-as 65002
neighbor 2010:AB0:0:2::2 activate
neighbor 2010:AB0:0:2::2 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
no cdp advertise-v2
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
RR
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname RR
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
mpls label range 5000 5999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 5.5.5.5 255.255.255.255
!
interface FastEthernet0/0
description Connection to RR
ip address 45.45.45.1 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/1
ip address 56.56.56.1 255.255.255.0
speed auto
duplex auto
mpls ip
!
router ospf 1
router-id 5.5.5.5
log-adjacency-changes
network 5.5.5.5 0.0.0.0 area 0
network 45.45.45.0 0.0.0.255 area 0
network 56.56.56.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 5.5.5.5
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 65001
neighbor 1.1.1.1 update-source Loopback0
neighbor 2.2.2.2 remote-as 65001
neighbor 2.2.2.2 update-source Loopback0
neighbor 4.4.4.4 remote-as 65001
neighbor 4.4.4.4 update-source Loopback0
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 route-reflector-client
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 route-reflector-client
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 route-reflector-client
exit-address-family
!
address-family vpnv6
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 send-community extended
neighbor 1.1.1.1 route-reflector-client
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community extended
neighbor 2.2.2.2 route-reflector-client
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 send-community extended
neighbor 4.4.4.4 route-reflector-client
exit-address-family
!
no ip http server
no ip http secure-server
!
mpls ldp router-id Loopback0 force
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
CUST_A – HQ
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-HQ
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
!
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
interface Loopback0
no ip address
ipv6 address 2A02:A58:9999:9999::1/64
!
interface FastEthernet0/0
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:3::2/64
!
interface FastEthernet0/1
no ip address
speed auto
duplex auto
ipv6 address autoconfig default
!
router bgp 65002
bgp router-id 9.9.9.9
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 2010:AB0:0:3::1 remote-as 65001
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
redistribute static
default-information originate
no synchronization
network 2A02:A58:9999:9999::/64
neighbor 2010:AB0:0:3::1 activate
exit-address-family
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
stopbits 1
line aux 0
stopbits 1
line vty 0 4
login
!
end
Bibliografie
1. AT&T. IPv6 Networking Fundamentals. 2012.
2. BORCOCI, Eugen. Platformă Laborator Rețele și Servicii. 2014.
3. Tutorial: IPv6 Basics. Hogewoning, Marco. 2012.
4. Cisco. IPv6 Extension Headers Review and Considerations. s.l. : Cisco, 2006.
5. 4291, RFC. IPv6 Addressing Architecture.
6. 5375, RFC. IPv6 Addressing Considerations.
7. 3627, RFC. Use of /127 Prefix Length Between Routers Considered Harmful.
8. Cisco. Layer 2 VPNs. [Online]
9. NICOLAE, Emilia – Andreea; CROITORU Victor; IORDACHE Marius. Rețele private virtuale pentru interconectarea sistemelor autonome. Editura Agir. 2013.
10. Sunset Learning Institute. Configuring 6VPE, Cisco VPN Provider Edge in MPLS. 2011.
11. Cisco. IPv6 Addressing Guide. 2010
Anexe
Configurații
Implementare Tunel CE – CE
CUST_A – R1
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-R1
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback6
no ip address
ipv6 address 2001:DB8:0:1::1/64
!
interface Loopback10
ip address 5.5.5.5 255.255.255.255
!
interface Loopback100
ip address 55.55.55.55 255.255.255.255
!
interface Tunnel0
no ip address
no ip redirects
ipv6 address 2002:F0F:F05::/128
tunnel source 15.15.15.5
tunnel mode ipv6ip 6to4
!
interface FastEthernet0/0
no ip address
shutdown
speed auto
duplex auto
!
interface FastEthernet0/1
ip address 15.15.15.5 255.255.255.0
speed auto
duplex auto
!
router bgp 65002
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 15.15.15.1 remote-as 65001
neighbor 2002:1414:1402:: remote-as 65002
neighbor 2002:1414:1402:: update-source Tunnel0
!
address-family ipv4
no synchronization
network 5.5.5.5 mask 255.255.255.255
network 15.15.15.0 mask 255.255.255.0
network 55.55.55.55 mask 255.255.255.255
neighbor 15.15.15.1 activate
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
network 2001:DB8:0:1::1/64
neighbor 2002:1414:1402:: activate
exit-address-family
!
no ip http server
no ip http secure-server
!
ipv6 route 2002::/16 Tunnel0
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
CUST_A – R2
! Last configuration change at 00:31:57 UTC Thu Jul 3 2014
!
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-R2
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback6
no ip address
ipv6 address 2001:DB8:0:2::1/64
!
interface Loopback10
ip address 6.6.6.6 255.255.255.255
!
interface Loopback100
ip address 66.66.66.66 255.255.255.255
!
interface Tunnel0
no ip address
no ip redirects
ipv6 address 2002:2E2E:2E06::/128
tunnel source 46.46.46.6
tunnel mode ipv6ip 6to4
!
interface FastEthernet0/0
no ip address
shutdown
speed auto
duplex auto
!
interface FastEthernet0/1
ip address 46.46.46.6 255.255.255.0
speed auto
duplex auto
!
router bgp 65002
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 2002:1414:1402:: remote-as 65002
neighbor 2002:1414:1402:: update-source Tunnel0
neighbor 46.46.46.4 remote-as 65001
!
address-family ipv4
no synchronization
network 6.6.6.6 mask 255.255.255.255
network 46.46.46.0 mask 255.255.255.0
network 66.66.66.66 mask 255.255.255.255
neighbor 46.46.46.4 activate
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
network 2001:DB8:0:2::/64
network 2001:DB8:0:2::1/64
neighbor 2002:1414:1402:: activate
exit-address-family
!
no ip http server
no ip http secure-server
!
ipv6 route 2002::/16 Tunnel0
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R1
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R1
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
ip vrf CUST-A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
ip domain lookup
ip cef
no ipv6 cef
!
no mpls ip propagate-ttl
mpls label range 1000 1999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0/0
description Connection to R2
ip address 12.12.12.1 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
description Connection to CUST_A-R1
ip vrf forwarding CUST-A
ip address 15.15.15.1 255.255.255.0
speed auto
duplex auto
!
router ospf 1
router-id 1.1.1.1
log-adjacency-changes
network 1.1.1.1 0.0.0.0 area 0
network 12.12.12.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 1.1.1.1
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
neighbor 5.5.5.5 activate
no auto-summary
exit-address-family
!
address-family vpnv4
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv4 vrf CUST-A
no synchronization
neighbor 15.15.15.5 remote-as 65002
neighbor 15.15.15.5 activate
neighbor 15.15.15.5 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R2
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R2
!
boot-start-marker
boot-end-marker
!
vrf definition CUST_A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
address-family ipv4
exit-address-family
!
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
no ipv6 cef
!
mpls label range 2000 2999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet0/0
description Connection to R1
ip address 12.12.12.2 255.255.255.0
speed auto
duplex auto
mpls ip
interface FastEthernet0/1
description Connection to R3
ip address 23.23.23.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/0
ip address 45.45.45.2 255.255.255.0
speed auto
duplex auto
!
interface FastEthernet1/1
vrf forwarding CUST_A
ip address 20.20.20.1 255.255.255.0
speed auto
duplex auto
!
router ospf 1
router-id 2.2.2.2
log-adjacency-changes
network 2.2.2.2 0.0.0.0 area 0
network 12.12.12.0 0.0.0.255 area 0
network 23.23.23.0 0.0.0.255 area 0
network 45.45.45.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 2.2.2.2
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
neighbor 5.5.5.5 activate
no auto-summary
exit-address-family
!
address-family vpnv4
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv4 vrf CUST_A
no synchronization
neighbor 20.20.20.2 remote-as 65002
neighbor 20.20.20.2 activate
neighbor 20.20.20.2 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
mpls ldp router-id Loopback0 force
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
end
R3
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R3
!
boot-start-marker
boot-end-marker
!
no aaa new-model
!
resource policy
!
memory-size iomem 5
no ip icmp rate-limit unreachable
ip cef
ip tcp synwait-time 5
!
no ip domain lookup
!
mpls label range 3000 3999
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface FastEthernet0/0
description Connection to R4
ip address 34.34.34.3 255.255.255.0
duplex auto
speed auto
mpls ip
!
interface FastEthernet0/1
description Connection to R2
ip address 23.23.23.3 255.255.255.0
duplex auto
speed auto
mpls ip
!
interface FastEthernet1/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet2/0
no ip address
shutdown
duplex auto
speed auto
!
router ospf 1
router-id 3.3.3.3
log-adjacency-changes
network 3.3.3.3 0.0.0.0 area 0
network 23.23.23.0 0.0.0.255 area 0
network 34.34.34.0 0.0.0.255 area 0
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
line vty 0 4
login
!
webvpn context Default_context
ssl authenticate verify all
!
no inservice
!
end
R4
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R4
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
ip vrf CUST-A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
no ip domain lookup
ip cef
no ipv6 cef
!
no mpls ip propagate-ttl
mpls label range 4000 4999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 4.4.4.4 255.255.255.255
!
interface FastEthernet0/0
description Connection to R3
ip address 34.34.34.4 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
ip vrf forwarding CUST-A
ip address 46.46.46.4 255.255.255.0
speed auto
duplex auto
!
router ospf 1
router-id 4.4.4.4
log-adjacency-changes
network 4.4.4.4 0.0.0.0 area 0
network 34.34.34.0 0.0.0.255 area 0
!
router bgp 65001
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
neighbor 5.5.5.5 activate
no auto-summary
exit-address-family
!
address-family vpnv4
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv4 vrf CUST-A
no synchronization
neighbor 46.46.46.6 remote-as 65002
neighbor 46.46.46.6 activate
neighbor 46.46.46.6 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
CUST_A – HQ
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-HQ
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 general-prefix TEST 6to4 FastEthernet0/0
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback6
no ip address
ipv6 address 2001:DB8:0:3::1/64
!
interface Loopback10
ip address 7.7.7.7 255.255.255.255
!
interface Loopback100
ip address 77.77.77.77 255.255.255.255
!
interface Tunnel0
no ip address
no ip redirects
ipv6 address 2002:1414:1402::/128
tunnel source FastEthernet0/0
tunnel mode ipv6ip 6to4
!
interface FastEthernet0/0
ip address 20.20.20.2 255.255.255.0
speed auto
duplex auto
!
router bgp 65002
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 20.20.20.1 remote-as 65001
neighbor 2002:F0F:F05:: remote-as 65002
neighbor 2002:F0F:F05:: update-source Tunnel0
neighbor 2002:2E2E:2E06:: remote-as 65002
neighbor 2002:2E2E:2E06:: update-source Tunnel0
!
address-family ipv4
no synchronization
network 7.7.7.7 mask 255.255.255.255
network 77.77.77.77 mask 255.255.255.255
neighbor 20.20.20.1 activate
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
network 2001:DB8:0:3::/64
neighbor 2002:F0F:F05:: activate
neighbor 2002:F0F:F05:: route-reflector-client
neighbor 2002:2E2E:2E06:: activate
neighbor 2002:2E2E:2E06:: route-reflector-client
exit-address-family
!
no ip http server
no ip http secure-server
!
ipv6 route 2002::/16 Tunnel0
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
RR
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname RR
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
no ipv6 cef
!
mpls label range 5000 5999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 5.5.5.5 255.255.255.255
!
interface FastEthernet0/0
ip address 45.45.45.1 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
no ip address
shutdown
speed auto
duplex auto
!
router ospf 1
log-adjacency-changes
network 5.5.5.5 0.0.0.0 area 0
network 45.45.45.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 5.5.5.5
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 65001
neighbor 1.1.1.1 update-source Loopback0
neighbor 2.2.2.2 remote-as 65001
neighbor 2.2.2.2 update-source Loopback0
neighbor 4.4.4.4 remote-as 65001
neighbor 4.4.4.4 update-source Loopback0
!
address-family ipv4
no synchronization
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 route-reflector-client
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 route-reflector-client
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 route-reflector-client
no auto-summary
exit-address-family
!
address-family vpnv4
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 send-community extended
neighbor 1.1.1.1 route-reflector-client
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community extended
neighbor 2.2.2.2 route-reflector-client
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 send-community extended
neighbor 4.4.4.4 route-reflector-client
exit-address-family
!
no ip http server
no ip http secure-server
!
mpls ldp router-id Loopback0 force
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
Implementare 6VPE și Implementare în Laboratorul ORO
CUST_A – R1
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-R1
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback6
no ip address
ipv6 address 2A02:A58:7777:7777::1/64
!
interface FastEthernet0/1
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:1::2/64
!
!
router bgp 65002
bgp router-id 5.5.5.5
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 2010:AB0:0:1::1 remote-as 65001
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
network 2A02:A58:7777:7777::/64
neighbor 2010:AB0:0:1::1 activate
exit-address-family
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
CUST_A – R2
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-R2
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback6
no ip address
ipv6 address 2A02:A58:8888:8888::1/64
!
interface FastEthernet0/1
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:2::2/64
!
router bgp 65002
bgp router-id 6.6.6.6
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 2010:AB0:0:2::1 remote-as 65001
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
network 2A02:A58:8888:8888::/64
neighbor 2010:AB0:0:2::1 activate
exit-address-family
!
no ip http server
no ip http secure-server
!
control-plane
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R1
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R1
!
boot-start-marker
boot-end-marker
!
vrf definition CUST_A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
address-family ipv4
exit-address-family
!
address-family ipv6
exit-address-family
!
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
no mpls ip propagate-ttl
mpls label range 1000 1999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0/0
description Connection to R2
ip address 12.12.12.1 255.255.255.0
shutdown
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
description Connection to CUST_A-R1
vrf forwarding CUST_A
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:1::1/64
!
interface FastEthernet1/0
ip address 67.67.67.1 255.255.255.0
speed auto
duplex auto
mpls ip
!
router ospf 1
router-id 1.1.1.1
log-adjacency-changes
network 1.1.1.1 0.0.0.0 area 0
network 12.12.12.0 0.0.0.255 area 0
network 67.67.67.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 1.1.1.1
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
neighbor 5.5.5.5 activate
exit-address-family
!
address-family vpnv6
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv4 vrf CUST_A
no synchronization
exit-address-family
!
address-family ipv6 vrf CUST_A
no synchronization
neighbor 2010:AB0:0:1::2 remote-as 65002
neighbor 2010:AB0:0:1::2 activate
neighbor 2010:AB0:0:1::2 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
no cdp advertise-v2
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R2
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R2
!
boot-start-marker
boot-end-marker
!
vrf definition CUST_A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
address-family ipv6
exit-address-family
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
mpls label range 2000 2999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet0/0
description Connection to R1
ip address 12.12.12.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
description Connection to R3
ip address 23.23.23.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/0
ip address 45.45.45.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/1
vrf forwarding CUST_A
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:3::1/64
!
router ospf 1
router-id 2.2.2.2
log-adjacency-changes
network 2.2.2.2 0.0.0.0 area 0
network 12.12.12.0 0.0.0.255 area 0
network 23.23.23.0 0.0.0.255 area 0
network 45.45.45.0 0.0.0.255 area 0
!
router bgp 65001
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
redistribute static
default-information originate
no synchronization
neighbor 5.5.5.5 activate
exit-address-family
!
address-family vpnv6
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv6 vrf CUST_A
no synchronization
neighbor 2010:AB0:0:3::2 remote-as 65002
neighbor 2010:AB0:0:3::2 activate
neighbor 2010:AB0:0:3::2 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
mpls ldp router-id Loopback0 force
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R3
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R3
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
mpls label range 3000 3999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface FastEthernet0/0
description Connection to R4
ip address 34.34.34.3 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
description Connection to R2
ip address 23.23.23.3 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/0
no ip address
speed auto
duplex auto
!
interface FastEthernet1/1
no ip address
shutdown
speed auto
duplex auto
!
router ospf 1
router-id 3.3.3.3
log-adjacency-changes
network 3.3.3.3 0.0.0.0 area 0
network 23.23.23.0 0.0.0.255 area 0
network 34.34.34.0 0.0.0.255 area 0
!
no ip http server
no ip http secure-server
!
control-plane
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
R4
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname R4
!
boot-start-marker
boot-end-marker
!
vrf definition CUST_A
rd 65002:1
route-target export 65002:1
route-target import 65002:1
!
address-family ipv4
exit-address-family
!
address-family ipv6
exit-address-family
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
no mpls ip propagate-ttl
mpls label range 4000 4999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 4.4.4.4 255.255.255.255
!
interface FastEthernet0/0
description Connection to R3
ip address 34.34.34.4 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet0/1
vrf forwarding CUST_A
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:2::1/64
!
interface FastEthernet1/0
ip address 67.67.67.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/1
ip address 56.56.56.2 255.255.255.0
speed auto
duplex auto
mpls ip
!
router ospf 1
router-id 4.4.4.4
log-adjacency-changes
network 4.4.4.4 0.0.0.0 area 0
network 34.34.34.0 0.0.0.255 area 0
network 56.56.56.0 0.0.0.255 area 0
network 67.67.67.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 4.4.4.4
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 5.5.5.5 remote-as 65001
neighbor 5.5.5.5 update-source Loopback0
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
neighbor 5.5.5.5 activate
exit-address-family
!
address-family vpnv6
neighbor 5.5.5.5 activate
neighbor 5.5.5.5 send-community extended
exit-address-family
!
address-family ipv4 vrf CUST_A
no synchronization
exit-address-family
!
address-family ipv6 vrf CUST_A
no synchronization
neighbor 2010:AB0:0:2::2 remote-as 65002
neighbor 2010:AB0:0:2::2 activate
neighbor 2010:AB0:0:2::2 as-override
exit-address-family
!
no ip http server
no ip http secure-server
!
no cdp advertise-v2
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
RR
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname RR
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
mpls label range 5000 5999
multilink bundle-name authenticated
!
ip tcp synwait-time 5
!
interface Loopback0
ip address 5.5.5.5 255.255.255.255
!
interface FastEthernet0/0
description Connection to RR
ip address 45.45.45.1 255.255.255.0
speed auto
duplex auto
mpls ip
!
interface FastEthernet1/1
ip address 56.56.56.1 255.255.255.0
speed auto
duplex auto
mpls ip
!
router ospf 1
router-id 5.5.5.5
log-adjacency-changes
network 5.5.5.5 0.0.0.0 area 0
network 45.45.45.0 0.0.0.255 area 0
network 56.56.56.0 0.0.0.255 area 0
!
router bgp 65001
bgp router-id 5.5.5.5
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 65001
neighbor 1.1.1.1 update-source Loopback0
neighbor 2.2.2.2 remote-as 65001
neighbor 2.2.2.2 update-source Loopback0
neighbor 4.4.4.4 remote-as 65001
neighbor 4.4.4.4 update-source Loopback0
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
no synchronization
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 route-reflector-client
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 route-reflector-client
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 route-reflector-client
exit-address-family
!
address-family vpnv6
neighbor 1.1.1.1 activate
neighbor 1.1.1.1 send-community extended
neighbor 1.1.1.1 route-reflector-client
neighbor 2.2.2.2 activate
neighbor 2.2.2.2 send-community extended
neighbor 2.2.2.2 route-reflector-client
neighbor 4.4.4.4 activate
neighbor 4.4.4.4 send-community extended
neighbor 4.4.4.4 route-reflector-client
exit-address-family
!
no ip http server
no ip http secure-server
!
mpls ldp router-id Loopback0 force
!
control-plane
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
stopbits 1
line vty 0 4
login
!
end
CUST_A – HQ
version 12.2
service timestamps debug datetime msec
service timestamps log datetime msec
!
hostname CUST_A-HQ
!
boot-start-marker
boot-end-marker
!
no aaa new-model
ip source-route
!
ip cef
ipv6 unicast-routing
ipv6 cef
!
multilink bundle-name authenticated
!
interface Loopback0
no ip address
ipv6 address 2A02:A58:9999:9999::1/64
!
interface FastEthernet0/0
no ip address
speed auto
duplex auto
ipv6 address 2010:AB0:0:3::2/64
!
interface FastEthernet0/1
no ip address
speed auto
duplex auto
ipv6 address autoconfig default
!
router bgp 65002
bgp router-id 9.9.9.9
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 2010:AB0:0:3::1 remote-as 65001
!
address-family ipv4
no synchronization
no auto-summary
exit-address-family
!
address-family ipv6
redistribute static
default-information originate
no synchronization
network 2A02:A58:9999:9999::/64
neighbor 2010:AB0:0:3::1 activate
exit-address-family
!
no ip http server
no ip http secure-server
!
control-plane
!
line con 0
exec-timeout 0 0
stopbits 1
line aux 0
stopbits 1
line vty 0 4
login
!
end
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Implementarea Retelelor Virtuale Private Ipv6 (ID: 149865)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
