All posts in Networking

Meet-me unlocked

In ziua de astazi, majoritatea companiilor care doresc un sistem nou de telefonie interna vor alege o solutie VoIP. O astfel de solutie ofera flexibilitate crescuta si o usurinta in a implementa functii din ce in ce mai complexe.

Preluata de la centralele digitale clasice, conferinta audio este o functie foarte populara in afara tarii, insa si la noi incepe sa fie din ce in ce mai utilizata. In VoIP, functia este implementata relativ usor, deoarece apelurile deja au fost transformate in fluxuri de date pe care centralele VoIP le pot procesa nativ.

Cisco ofera posibilitatea de a crea audio conferinte atat pe Unified Call Manager, cat si pe varianta acestuia rulata pe un router – Call Manager Express. In ambele implementari este necesar ca unul dintre utilizatori sa initieze o conferinta audio la o anumita extensie, predefinita. Odata initiata, conferinta accepta orice alt utilizator care pur si simplu formeaza extensia conferintei.

Desi sistemul pare a fi perfect, problema este data de faptul ca initiatorul trebuie sa fie un utilizator inregistrat in Call Manager. Bine, pare a fi normal, nu? Insa in multe cazuri, lucrurile stau putin diferit. Pe langa utilizatorii care au telefoane Cisco, in sistem mai vin si apeluri externe. Acestea pot veni din telefonia clasica (PSTN) sau dintr-o centrala digitala clasica conectata printr-un trunchi SIP la Call Manager. Acesti utilizatori se bazeaza pe un initiator din Call Manager pentru a folosi  conferinta.

Odata cu IOS 15, Cisco a rezolvat aceasta problema in Call Manager Express prin functia Meet-Me Unlocked. Ceea ce se ofera este o extensie, sau un set de extensii de conferinta gata initializate. Orice utilizator trebuie doar sa apeleze acest numar si va fi introdus direct in conferinta.

Configuratia extensiilor de conferinta este una destul de simpla. Se porneste  de la o estensie clasica de conferinta, insa va fi folosit cuvantul cheie unlocked.

ephone-dn  101  octo-line
 name Conference
 number 201
 conference meetme unlocked

O astfel de extensie va suporta un maxim de 8 participanti. Pentru a mari numarul acestora, se pot folosi mai multe ephone-dn-uri cu acelasi numar, in care vom folosi comanda no huntstop care ii da dreptul routerului sa continue cautarea unui numar de telefon in dial-peer-uri, chiar daca a fost gasit un match.

Comanda preference ne va dicta ordinea in care vor fi alese dn-urile cu acelasi numar. Va fi preferat dn-ul cu preferinta mai mica in detrimentul celui cu preferinta mai mare.

ephone-dn  101  octo-line
  name Conference
  number 201
  conference meetme unlocked
  preference 1
  no huntstop

ephone-dn  102  octo-line
  name Conference
  number 201
  conference meetme unlocked
  preference 2
  no huntstop

ephone-dn  103  octo-line
  name Conference
  number 201
  conference meetme unlocked
  preference 3
  no huntstop

Acest articol isi propune sa evidentieze cele doua functii de baza ale unui switch Ethernet:

  • Frame forwarding
  • Filtering

Un switch este un echipament de Layer 2, care lucreaza la nivelul Data Link din cadrul stivei OSI. Asta inseamna ca switch-ul este capabil sa inteleaga semnificatia campurilor din header-ul de Ethernet.

Header-ul de Ethernet are urmatoarea structura:

Preamble

SoF

MAC Destination

MAC Source

802.1Q tag

EtherType

Payload

FCS

EoF

Campul Preamble este un camp pe 7 bytes care are rolul de a face sincronizarea in nodul sursa si nodul destinatie. Cu alte cuvinte, acest camp anunta nodul destinatie ca urmeaza sa primeasca un frame.

Campul SoF (Start of Frame) este un camp pe 1 byte (10101011) care anunta inceputul frame-ului. Dupa ultimul bit al acestui camp incepe efectiv frame-ul trimis de nodul sursa.

Campul MAC Destination contine adresa MAC de destinatie (6 bytes).

Campul MAC Source indica adresa MAC a sursei care a transmis frame-ul (6 bytes).

Campul 802.1Q tag, pe 4 octeti, indica VLAN-ul din care face parte nodul care a transmis frame-ul. VLAN-ul este o tehnologie de Layer 2, cu ajutorul careia mai multi utilizatori pot fi grupati in subnet-uri diferite, dupa anumite criterii.

Campul EtherType indica protocolul de Layer 3 care este incapsulat de frame (2 bytes).

Campul Payload reprezinta datele primite de la nivelul superior, de la Network Layer, care de obicei sunt pachete IPv4. Acest camp are o dimensiune variabila, maxim 1500 de bytes.

Campul FCS este un camp pe 32 de biti care are rolul de a verifica integritatatea frame-ul in drumul sau catre destinatie. FCS-ul este verificat de fiecare echipament care primeste frame-ul.

Campul EoF (End of Frame) are rolul de a indica sfarsitul frame-ului.

Acum ca am vazut componenta header-ului si a trailer-ului de Ethernet, vom discuta despre modul in care un switch proceseaza frame-urile.

Vom considera schema din figura de mai jos:

 

 

 

Consideram ca PC1 doreste sa comunice cu PC2. PC1 va construi un frame cu adresa sursa MAC 0000.1111.0001 si cu adresa destinatie MAC 0000.2222.0002 si va trimite acest frame catre switch.

Switch-ul primeste frame-ul si inainte de orice alta procesare, verifica integritatea frame-ului cu ajutorul campului FCS. Daca frame-ul trece de acest test, switch va trece la procesarea frame-ului. Pentru a-si indeplini functiile switch-ul foloseste o structura de date numita tabela de adrese MAC. Popularea acestei tabele se face mapand adresele MAC sursa de porturile pe care switch-ul primeste frame-urile. Deci cand switch-ul nostru primeste frame-ul de la PC1 va trece in tabela MAC urmatoarea intrare:

Port

MAC

Fa0/2

0000.1111.0001

Switch-ul trebuie apoi sa trimita frame-ul catre destinatie. Pentru acest lucru foloseste adresa MAC destinatie din frame, 0000.2222.0002, pe care o compara cu intrarile din tabela MAC pentru a vedea portul pe care trebuie sa trimita frame-ul catre destinatie. Se observa ca switch-ul nu stie pe ce port se afla MAC-ul destinatie. In acest caz switch-ul va trimite frame-ul pe toate porturile (flooding) cu exceptia portului pe care l-a primit (filtering). Frame-ul va ajunge la toate nodurile conectate la switch care nu vor procesa frame-ul decat la nivelul Data Link, unde vor observa ca nu li se adreseaza, cu exceptia PC-ului 2 care va procesa frame-ul intrucat i se adreseaza.

 

 

Consideram ca PC1 si PC2 au o comunicatie bidirectionala. Asta presupune ca PC2 va trebui sa i raspunda lui PC1, si o va face cu un frame care are ca adresa sursa 0000.2222.0002 si ca adresa destinatie 0000.1111.0001.

 

 

 

Frame-ul de la PC2 ajunge la switch, unde, ca si mai inainte, se verifica FCS-ul. Apoi switch-ul va invata ca pe portul fa0/3 se afla MAC-ul 0000.2222.0002.  Tabela MAC a switch-ului va arata ca mai jos:

Port

MAC

Fa0/2

0000.1111.0001

Fa0/3

0000.2222.0002

Switch-ul va folosi adresa destinatie a frame-ului, 0000.1111.0001, care stie ca se afla pe portul fa0/2, pentru a trimite frame-ul catre nodul destinatie.

In cele ce urmeaza vom folosi o topologie care va evidentia mai mult rolul de filtering pe care switch-ul il exercita asupra frame-urilor. Topologia este cea de mai jos:

 

 

Consideram ca si mai devreme comunicatia dintre PC1 SI PC2, cu urmatoarea deosebire: cele 2 noduri sunt conectate la un hub. Hub-ul este un dispozitiv care lucreaza la Physical Layer, care preia un semnal primit pe un port al sau, il curata, il amplifica si il trimite pe toate porturile cu exceptia celui pe care l-a primit. Datorita acestui comportament hub-ul se mai numeste si un repetor multiport (multiport repeater).

PC1 trimite un frame catre PC2 cu MAC-ul sursa 0000.1111.0001  avand MAC-ul destinatie 0000.2222.0002. Acest frame va ajunge la hub, care il va propaga pe toate porturile cu exceptia celui pe care l-a primit, deci il va scoate pe porturile 1, 2, 3.

 

 

Deci frame-ul va ajunge si la switch, care va crea o intrare in tabela MAC de forma:

Port

MAC

Fa0/24

0000.1111.0001

PC2 primeste frame-ul de la PC1, il proceseaza si ii va raspunde cu un alt frame care are adresele MAC inversate: adresa sursa 0000.2222.0002 si adresa destinatie 0000.1111.0001.

 

 

Hub-ul primeste frame-ul si il trimite pe porturile 1, 3, 4, deci si switch-ul va primi frame-ul destinat lui PC1. Va crea o noua intrare in tabela sa MAC unde va trece MAC-ul 0000.2222.0002 pe portul fa0/24:

Port

MAC

Fa0/24

0000.1111.0001

Fa0/24

0000.2222.0002

Switch-ul se uita la MAC-ul destinatie al frame-ului, 0000.1111.0001, si vede ca trebuie sa scoata frame-ul pe portul fa0/24, pe acelasi port pe care l-a primit. Aici intra in discutia functia de frame filtering: switch-ul nu va forward-a un frame catre o destinatie daca acea destinatie se afla pe acelasi port pe care switch-ul a primit initial frame-ul.

PC1 va primit doar frame-ul trimis de catre hub, deci nu va primi frame-uri duplicate (copii identice ale aceluiasi frame) si nu va fi nevoit sa proceseze aceleasi frame-uri de doua ori, ceea ce duce la economisire de putere de procesare si de latime de banda.

Traffic Flow in Ethernet Networks

Scopul acestui articol este de a improspata cunostiintele legate de modul in care sunt folosite diferitele tipuri de adresare intalnite in stiva de protocoale TCP/IP.

Vom incepe analiza flow-ului de trafic prin prezentarea succinta a adreselor utilizate in fiecare etapa din procesul de incapsulare.

Haideti sa ne aducem aminte cele doua modele folosite in retelistica: modelul OSI si modelul TCP/IP (model de stiva de protocoale).

Modelul OSI este un model de referinta, folosit la crearea si dezvoltarea de protocoale; este un framework care ne spune ce functii trebuie sa fie indeplinite la fiecare nivel, nu si cum trebuie facut acest lucru, deci modelul OSI nu se refera la un protocol anume, ci la functiile sale. Spre deosebire de modelul OSI, modelul TCP/IP se refera strict la protocoalele utilizate in stiva TCP/IP.

Structura celor 2 modele, precum si corespondenta dintre ele sunt prezentate mai jos.

Modelul OSI

Modelul TCP/IP

APPLICATION

APPLICATION

PRESENTATION

SESSION

TRANSPORT

TRANSPORT

NETWORK

INTERNET

DATA LINK

NETWORK ACCESS

PHYSICAL

Datorita faptului ca modelul OSI prezinta functionarea unei retele intr-un mod mai detaliat, il vom folosi pe el la explicarea modului in care circula datele intre utilizatori.

Vom considera ca exemplu comunicatia dintre un client web (web browser) si un server web. Clientul doreste sa obtina o pagina de pe server, si,  pentru a face acest lucru, trimite o cerere de tip GET. Aceasta cerere este generata la nivelul Application din stiva OSI. Nivelul Application este nivelul cel mai apropiat de noi, de oameni, si reprezinta interfata dintre oameni si retea si resursele sale. In cadrul acestui nivel datele sunt generate de catre sursa comunicatiei si tot aici trebuie sa ajunga  la destinatie, dupa ce a avut loc procesul invers incapsularii, decapsularea.

Datele circula prin stiva OSI de sus in jos, formand procesul de incapsulare. In cadrul acestui proces la fiecare nivel, incepand cu nivelul 4 (Transport)  la datele primite de la nivelul Application se adauga antete (header-e) ce contin informatii suplimentare care au rolul de a ajuta la o comunicatie de succes intre sursa si destinatie.

Prima incapsulare a datelor apare la nivelul Transport. Acest nivel are rolul de a livra datele, numite la acest nivel segmente, de la aplicatia sursa la aplicatia destinatie. Asemanator cu adresele de expeditor si destinatar pe care le scriem pentru o scrisoare, si in lumea retelisticii avem nevoie de o adresa sursa – punctul de origine al datelor si o adresa destinatie – punctul unde trebuie sa ajunga datele.

Adresarea la nivelul Transport se face cu ajutorul numerelor de port. Numarul de port este un camp pe 16 biti cu valori cuprinse intre 0 si 65535. Numarul de port destinatie este numarul de port care identifica aplicatia de pe server cu care clientul doreste sa comunice. Pentru serverul web acest numar de port este 80. Numarul de port sursa se alege din intervalul de numere de port 49152 si 65535.  Este ales un numar aleator, insa de obicei, se alege primul numar de port disponbil. Pentru exemplul nostru vom considera numarul de port 54321. Deci adresarea la nivelul 4  va fi:

Port Sursa

54321

Port Destinatie

80

In drumul lor spre destinatie segmentele ajung la nivelul Network. La acest nivel are loc adresarea logica a datelor,  date care aici poarta denumirea de packets. Cel mai des protocol folosit este protocolul IPv4. Adresa IPv4 este o adresare:

  • ierarhica (contine o portiune de network, care identifica reteaua din care face parte un calculator si o portiune de host, care identifica numarul calculatorului din  cadrul retelei)
  • logica (mutarea unui calculator dintr-o retea intr-o alta retea cere si o schimbare de adresa)
  • globala (IP-ul sursa si IP-ul destinatie nu se schimba in tranzitul datelor de la sursa la destinatie; exceptie face cazul in care se foloseste procesul de natare)

Sa presupunem ca reteaua din care face parte clientul este 192.168.1.0/24 si ca acesta are un IP egal cu 192.168.1.111.

Parametrii cu care se configureaza clientul sunt urmatorii:

  • Adresa IP: 192.168.1.111
  • Subnet mask: 255.255.255.0
  • Default gateway: 192.168.1.1

Adresa default gateway-ului este adresa router-ului R1 de pe interfata fa0/0 a acestuia. Facand parte din aceeasi retea, interfata fa0/0 trebuie sa aiba un IP alocat din acelasi spatiu de adresare, iar acesta va fi 192.168.1.1.

IP-ul sursa il stim, este cel al clientului. IP-ul destinatie va fi IP-ul serverului, care face parte din subnet-ul 192.168.2.0/24 si va fi 192.168.2.222. Serverul va avea ca parametrii de retea urmatoarele informatii:

  • Adresa IP: 192.168.2.222
  • Subnet mask: 255.255.255.0
  • Default gateway: 192.168.2.1

Deci adresarea la nivelul Network va fi:

IP Destinatie

192.168.2.222

IP Sursa

192.168.1.111

Pachetele sunt pasate la nivelul Data Link, unde are loc adresare fizica a datelor, care aici sunt denumite frame-uri. In cadrul retelelor de tip LAN, cea mai des intalnita adresa este adresa MAC, specifica protocolului Ethernet. Adresa de nivel Data Link este:

  • plata (nu are o structura ierarhica)
  • fizica (inscrisa in ROM-ul placii de retea, numita si adresa BIA – Burned in Address datorita acestui lucru)
  • locala (se schimba pe fiecare segment local de retea)

Adresa MAC este o adresa pe 48 de biti si se reprezinta sub forma a 12 cifre hexazecimale. Sa presupunem ca MAC-ul clientului este 000.1111.1111. Adresa MAC destinatie va fi determinata dupa urmatoarele criterii:

  • daca sursa si destinatia fac parte din acelasi subnet, atunci adresa MAC destinatie va fi chiar cea a dispozitivului destinatie
  • daca sursa si destinatia nu fac parte din acelasi subnet, atunci adresa MAC destinatie va fi adresa default gateway-ului, mai exact adresa MAC de pe interfata fa0/0 a router-ului R1.

Pentru a verifica daca se afla pe acelasi subnet cu destinatia, clientul va compara rezultatul operatiunii de ANDing intre IP-ul sau si subnet mask-ul asociat si rezultatul operatiunii de ANDing intre IP-ul destinatie si subnet mask-ul sau (al clientului). Daca cele doua rezultate sunt similare, cele doua dispozitive fac parte din acelasi subnet, si sursa va trimite direct frame-urile catre destinatie. Daca rezultatele nu sunt identice, atunci sursa va trimite frame-urile catre default gateway, care se va ocupa de livrarea lor catre destinatie.

In cazul nostru clientul web afla ca va trebui sa trimita datele catre default gateway-ul sau. Vom considera MAC-ul interfetei fa0/0 a router-ului 1 ca fiind 0000.1111.FFFF. Deci adresarea la Data Link va fi urmatoarea:

(Consideram ca echipamentele au deja tabela ARP completa)

MAC Destinatie

0000.1111.1111

MAC Sursa

0000.1111.FFFF

Acum ca procesul de incapsulare a luat sfarsit datele sunt plasate pe mediul de transmisie la nivelul Physical.

Datele trimise de client ajung la switch-ul SW1. Switch-ul este un echipament de Layer 2. Rolul sau este de a forward-a frame-uri pe baza adreselor MAC. Pentru a face acest lucru switch-ul va folosi adresa MAC destinatie si o structura numita tabela de adrese MAC. Aceasta tabela se populeaza prin maparea adreselor MAC sursa de porturile pe care switch-ul primeste frame-urile. In cazul nostru SW1, primeste un frame pe portul fa0/1 cu MAC-ul sursa 0000.1111.1111, deci va crea o intrare in tabela MAC de forma:

Port

MAC

fa0/1

0000.1111.1111

Pentru a vedea pe ce port trebuie sa scoata frame-ul ca aceasta sa ajunga la destinatie, switch-ul va folosi adresa MAC destinatie din frame, care este 0000.1111.FFFF, pe care o va compara cu intrarile din tabela MAC. Se observa ca SW1 nu stie pe portul pe care se afla MAC-ul de destinatie. In acest caz SW1 va scoate frame-ul pe toate porturile cu exceptia celui pe care la primit. Toate echipamentele din retea vor primi acest frame, insa nu il vor procesa pentru ca nu li se adreseaza (MAC-ul destinatie nu este acelasi cu MAC-ul lor), cu exceptia router-ului R1 care il va procesa pentru ca adresa MAC destinatie este aceeasi cu MAC-ul de pe interfata fa0/0 a sa. R1 face decapsularea la Layer 2 si paseaza pachetul la Layer 3. Router-ul este un echipament care lucreaza la Network Layer si foloseste adresa IP destinatie impreuna cu o structura numita tabela de rutare pentru a livra datele de la echipamentul sursa la cel de destinatie. Tabela de rutare contine informatii despre retelele locale router-ului (retele direct conectate prin intermediul interfetelor sale) si despre retelele remote (configurate static sau dinamic prin intermediul unui protocol de rutare) la care router-ul poate ajunge. Presupunem ca tabelele de rutare pentru R1 si R2 sunt complete, adica se poate ajunge de oriunde in orice alta parte a topologiei.

Intre R1 si R2 consideram spatiul de adrese 192.168.12.0/30, unde R1 are IP-ul 192.168.12.1 pe interfata fa0/1, iar R2 are IP-ul 192.168.12.2 pe interfata fa0/1.

Spuneam ca R1 are o tabela de rutare completa, care ar arata ca mai jos:

Retea Destinatie

Exit Interface

Next-hop IP

192.168.1.0/24

Fa0/0

N.A

192.168.12.0/30

Fa0/1

N.A

192.168.2.0/24

Fa0/1

192.168.12.2

R1 compara adresa IP de destinatie din cadrul pachetelui, 192.168.2.222, cu continutul tabelei de rutare. Daca va gasi o potrivire va folosi acea ruta pentru a trimite pachetul spre destinatie, daca nu pachetul va nu putea fi trimis destinatiei si comunicatia va esua. R1 observa ca poate folosi ruta 192.168.2.0/24, fa0/1, via 192.168.12.2 pentru a trimite pachetul la destinatie.

In acest caz R1 va reincapsula pachetul folosind aceasi adresare logica, insa va folosi alte adrese la nivelul fizic. Consideram ca legatura dintre cele doua router-e este una Ethernet, si ca interfetele fa0/1 ale lui R1 si R2 au MAC-urile 0000.1212.0001, respectiv 0000.1212.0002.

Deci pachetul va avea urmatoarele adrese pe segmentul dintre R1 si R2:

IP Destinatie

IP Sursa

MAC Destinatie

MAC Sursa

192.168.2.222

192.168.1.111

0000.1212.0002

0000.1212.0001

R1 trimite frame-ul nou format catre R2, care il accepta deoarece observa ca i se adreseaza. La fel ca R1, R2 decapsuleaza frame-ul si urca pachetul la nivelul Network. Aici router-ul identifica IP-ul destinatie, 192.168.2.222, si compara acest IP cu continutul tabelei de rutare, care pentru R2 arata ca mai jos:

Retea Destinatie

Exit Interface

Next-hop IP

192.168.2.0/24

Fa0/0

N.A

192.168.12.0/30

Fa0/1

N.A

192.168.1.0/24

Fa0/1

192.168.12.1

Observa ca IP-ul destinatie face parte dintr-un subnet direct conectat si foloseste acea ruta pentru livrare: 192.168.2.0/24, fa0/1. Insa inainte de a face acest lucru pachetul trebuie sa fie reincapsulat intr-un frame de Ethernet, cu adresa MAC sursa adresa interfetei fa0/0 a lui R2, sa zicem ca aceasta este 0000.2222.FFFF, si cu adresa MAC destinatie adresa MAC a serverului, sa presupunem ca aceasta este 0000.2222.2222. Deci pachetul pe segmentul dintre R2 si serverul web va avea adresele:

IP Destinatie

IP Sursa

MAC Destinatie

MAC Sursa

192.168.2.222

192.168.1.111

0000.2222.2222

0000.2222.FFFF

R2 trimite pachetul catre server, insa inainte ca acesta sa ajunga la server, trece mai intai prin switch-ul SW2. Presupunem ca tabela de adrese MAC a lui SW2 este completa, adica SW2 stie pe ce porturi se afla toate adresele MAC de pe segmentul local de retea.

Port

MAC

Fa0/2

0000.2222.2222

Fa0/23

0000.2222.FFFF

Deci pentru a trimite datele la server, SW2 trebuie sa scoate aceste date pe portul fa0/2. O data ajunse datele la server, acesta la proceseaza la Layer 2, unde vede ca i se adreseaza, decapsuleaza frame-ul in pachet si il urca la Network Layer, unde il proceseaza mai departe intrucat IP-ul destinatie corespunde cu IP-ul sau sursa, inlatura antetul si urca pachetul la Transport Layer unde observa ca aplicatia destinatie este aplicatia web, identificata prin portul 80. Tipul mesajului generat de client era un mesaj de tip GET, prin care solicita o pagina web. Daca serverul are acea pagina disponibila va raspunde cu acea pagina si cu un cod 200 OK care indica prezenta acelei pagini pe serverul WEB (acest cod nu este vazut de catre utilizator, acesta vede doar pagina ceruta).

Serverul va trimite pagina ceruta de client spre incapsulare prin stiva OSI catre destinatie. La nivelul Transport pagina va fi impartita in segmente, si fiecare segment va avea urmatoarele adresari:

Port Sursa

Port Destinatie

IP Destinatie

IP Sursa

MAC Destinatie

MAC Sursa

80

54321

192.168.1.111

192.168.2.222

0000.2222.2222

0000.2222.FFFF

Sunt necesare cateva precizari privind aceste adrese. In primul rand se observa ca adresele sunt folosite in oglinda la destinatie: de exemplu, portul sursa din datele primite devine portul destinatie si invers. La fel si in cazul adreselor IP. Insa in cazul adreselor MAC acest lucru nu este valabil, intrucat, dupa cum spuneam si mai devreme, adresa MAC este valabila pe segmentul local de retea.

Serverul va trimite pachetele catre default gateway, adica spre interfata fa0/0 a router-ului R2, care are un IP-ul 192.168.2.1, din acelasi subnet cu serverul, pentru ca acesta si clientul web fac parte din retele diferite. Adresa MAC destinatie folosita la incapsulare de catre server va fi adresa MAC a interfetei fa0/0 a lui R2. Frame-urile nou formate ajung la switch-ul SW2, care foloseste adresa MAC de destinatie 0000.2222.FFFF care este mapata cu portul fa0/24. La celalalt capat al portului fa0/24 se afla R2 care primeste frame-urile, le decapsuleaza si compara IP-ul destinatie cu tabela de rutare, unde observa ca are un match pe ruta 192.168.1.0/24, fa0/1 via 192.168.12.1. Va incapsula pachetele in frame-uri de forma:

IP Destinatie

IP Sursa

MAC Destinatie

MAC Sursa

192.168.1.111

192.168.2.2222

0000.1212.0001

0000.1212.0002

R1 primeste frame-urile, le decapsuleaza, si compara IP-ul destinatie 192.168.1.111 cu informatiile din tabela de rutare. Observa ca acest IP se afla pe una din retelele sale direct conectate si incapsuleaza pachetele corespunzator pentru a fi livrate destinatiei:

IP Destinatie

IP Sursa

MAC Destinatie

MAC Sursa

192.168.1.111

192.168.2.222

0000.1111.1111

0000.1111.FFFF

 Switch-ul SW1 primeste frame-urile pe portul fa0/24 cu MAC-ul sursa 0000.1111.FFFF, MAC pe care anterior nu il stia, deci va trece aceasta noua mapare in tabela sa MAC:

Port

MAC

Fa0/1

0000.1111.1111

Fa0/24

0000.1111.FFFF

Switch-ul SW2 compara MAC-ul destinatie al frame-urilor cu intrarile din tabela MAC si observa ca MAC-ul de destinatie 0000.1111.1111 se afla pe portul fa0/1, si foloseste aceasta mapare pentru a livra datele catre destinatie, catre clientul web

Clientul web primeste frame-urile, le decapsuleaza la nivelul Data Link, la nivelul Network si la nivelul Transport unde paseaza pagina primita de la serverul web catre browser pentru a fi afisata si prezentata utilizatorului.

Routing with RIP in IPv6

Pentru a putea suporta noul protocol IP toate protocoalele de rutare existente pentru IPv4 au necesitat o serie de modificari, cea mai evidenta fiind aceea ca au trebuit sa fie schimbate pentru a suporta adrese si prefixe mai mari. Mesajele folosite pentru a transmite informatia de rutare au fost si ele schimbate, folosindu-se acum headere de IPv6 in loc de headere de IPv4. De exemplu, RIPng (RIP Next Generation), foloseste ca adresa destinatie pentru mesajele de update adresa de multicast FF02::9, in loc de 224.0.0.9, folosita de RIPv2. De asemenea, protocolele de rutare pentru IPv6 folosesc ca next-hop address adresa de link-local de pe interfata corespunzatore a router-ului vecin pentru a trimite trafic catre destinatiile remote.

Chiar si asa, protocolele IGP (Interior Gateway Protocol) pentu IPv6 au mai multe asemanari decat deosebiri dupa cum vom vedea acest lucru imediat, exemplificand pe protocolul de rutare RIP. Pana atunci voi lista denumirile noilor protocoale de rutare pentru IPv6:

Protocol de rutare

Denumire

Documentat in RFC…

RIPng

RIP Next Generation

2080

OSPFv3

OSPF versiunea a 3-a

5340

MP-BGP4

Multiprotocol BGP4

4760

EIGRP for IPv6

EIGRP pentru IPv6

Proprietar Cisco

Vom discuta rutarea in IPv6 cu ajutorul protocolului RIPng. Inainte de a trece la configurarea acestui protocol, vom face o analogie a acestuia cu varianta pentru IPv4, RIPv2.

Caracteristica

RIPv2

RIPng

Sponsorizeaza rute pentru

IPv4

IPv6

Port UDP

520

521

Distance Vector?

Da

Da

Distanta administrativa(AD)

120

120

Suport pentru VLSM?

Da

Da

Update-uri periodice?

Da, la fiecare 30 de secunde

Da, la fiecare 30 de secunde

Metrica

Hop Count (max. 15)

Hop Count (max. 15)

Adresa destinatie folosita

224.0.0.9

FF02::9

Autentificare

Specifica RIP

IPv6 AH/ESP

Dupa cum se poate observa sunt mai multe similaritatile dintre cele doua protocoale ca diferentele dintre aceastea, cum ar fi router-ele configurate cu unul din cele doua protocoale trimit mesaje de update ce contin intrega tabela de rutare (exceptie fac rutele ce cad sub incidenta regulii ‘split horizon’), cu o frecventa usor variabila de 30 de secunde (pentru a se evita sincronizarea mesajelor de update si producerea de coliziuni RIP foloseste o variabila numita RIP_JITTER care aduna sau scade 10-15% din 30 secunde la valoarea timer-ului de update; coliziunile se produc intr-un mediu ce foloseste hub-uri, si nu in cele in care se utilizeaza switch-uri).

Facem un pas inainte si vorbim despre configurarea protocolului RIPng. Principala diferenta intre RIPv2 si RIPng este ca RIPng nu mai foloseste comanda network pentru a include subnet-uri in mesajele de update, ci utilizeaza comanda ipv6 <name> rip enable data din modul de configurare al interfetei. Deci in IPv6 protocolul de rutare se activeaza pe interfate.

O alta diferenta majora este ca router-ele nu ruteaza implicit IPv6, cum se intampla in IPv4, unde IOS-ul are by default configurata comanda ip routing.

            De asemenea, se poate observa ca putem avea mai multe instante de RIPng, fiecare identificandu-se printr-un tag unic. RIPv2 nu suporta decat o singura instanta de rutare.

Pasii pentru a configura RIPng sunt listati mai jos:

1.  Se activeaza rutarea pentru IPv6 cu comanda:

(config)#ipv6 unicast-routing

2.  Se porneste RIPng si se asociaza un nume instantei de RIPng:

(config)#ipv6 router rip <name>

3.  Se porneste IPv6 pe interfetele dorite:

(config-if)#ipv6 address <address/prefix-lenght> [eui-64]

sau

(config-if)#ipv6 enable, comanda care activeaza IPv6 si face ca router-ul sa isi configureze adresa de link-local

4.  Se activeaza RIPng pe interfetele dorite:

(config-if)#ipv6 rip <name> enable, unde  name trebuie sa fie identic cu cel de la pasul 2.

Pentru fiecare interfata pe care a fost activat procesul de RIPng face 3 lucruri: incepe sa trimita mesaje de update pe acele interfete; de asemenea, proceseaza mesajele de update primite pe acele interfete; si sponsorizeaza rutele conectate aferente acelei interfete. Intrucat IPv6 permite configurarea mai multor adrese IPv6 unicast pe o interfata, RIPng include in mesaje majoritatea prefixelor unicast asociate cu o interfata. Exceptie fac adresele de link-local si rutele de tip local-host (cele cu un prefix de /128), create pentru fiecare adresa IPv6, pe care RIPng nu le include in mesajele de update trimise catre vecini.

Comenzile de verificare si cele pentru troubleshooting sunt asemanatoare cu cele folosite de RIPv2 in IPv4:

#show ipv6 route – vizualizarea tabelei de rutare pentru IPv6

#show ipv6 route rip – vizualizarea rutelor invatate prin RIPng

#show ipv6 protocols – afisarea interfetelor pe care RIPng a fost activat

#show ipv6 rip next-hops – afiseaza sursele din care router-ul a invatat rute RIPng

#debug ipv6 ripafiseaza mesajele de update trimise si primite

 

Nonstandard Wireless Technologies

Multe dispozitive transmit in benzile de frecventa folosite de retelele noastre wireless, de aceea este foarte important sa intelegem cum aceste device-uri interactioneaza cu mediul nostru 802.11. Printre technologiile cu care WLAN-urile impart frecventele de lucru se numara si :

  •   Bluetooth
  •   Telefoanele cordless
  •   ZigBee

Read more…

Rute redundante în Cisco IOS

De multe ori se întâmplă să avem o a doua legătură la Internet însă de multe ori configurarea celor două în redundanță este o provocare. Acest lucru se datorează faptului că, în general, echipamentele trec pe legătura de rezervă, sau închid una dintre legături, abia în momentul când nu mai există conectivitate fizică.

În acest articol voi prezenta una dintre cele mai simple si economice modalități de a configura rute redundante pe routerele Cisco. Read more…

În acest articol voi prezenta o metodă de a avea un uptime şi o lăţime de bandă pentru legătura la Internet într-un mod cât mai economic posibil. Pentru aceasta se vor folosi ca şi echipamente doar un router Cisco (orice model bazat pe IOS) şi un switch cu VLAN-uri, dacă routerul are mai puţin de 3 interfeţe capabile de rutare. Toate soluţiile oferite se pot adapta pentru a fi folosite şi într-o reţea complexă.

Read more…

VTP Updater Identity

VLAN Trunk Protocol (VTP) este un protocol proprietar Cisco, disponibil pe întreaga familie de switch-uri Catalyst, ce simplifică administrarea configurației de VLAN-uri într-un domeniu de switching. El definește trei roluri pentru participanții în domeniul de VTP – server, client și transparent –, și propagă modificările legate de VLAN-uri în întreg domeniul.

Read more…

DHCP Insights

In retelistica exista multe protocoale ce sunt menite se automatizeze procese care ocupa mult timp si survin periodic.  Cele mai eficiente protocoale sunt cele care functioneaza fara sa isi faca simtita prezenta. Daca in marea majoritate a cazurilor utilizatorul nu este deranjat de protocoale pentru a le permite functionarea, in anumite situatii acestea dau  batai de cap celor ce administreaza retelele.

Read more…

Mecanica rutării în VoIP

În graba lor de a configura diverse funcții pe telefoanele IP, cei care încearcă sa învețe despre VoIP sar peste un pas foarte important în procesul de construire al unei unei rețele robuste de telefonie modernă: cel al înţelegerii unui concept adesea trecut cu vederea – rutarea.

Read more…