Astăzi vom începe studiul routerelor. Dacă ați urmat cursul meu video de la lecția 1 până la 17, atunci ați studiat deja bazele switch-urilor. Acum trecem la următoarea device – routerul. Așa cum știți din lecția video anterioară, unul dintre subiectele cursului CCNA se numește astfel – Cisco Switching & Routing.
În această serie nu vom studia routerele Cisco, ci vom explora conceptul de rutare în general. Vor fi trei subiecte. Primul – este o prezentare generală a ceea ce știți deja despre routere și o discuție despre modul în care acest lucru poate fi aplicat împreună cu cunoștințele dobândite în cadrul studiului switch-urilor. Trebuie să înțelegem în ce constă colaborarea dintre switch-uri și routere.

Apoi vom explora ce reprezintă rutarea, ce înseamnă și cum funcționează, după care vom trece la tipurile de protocoale de rutare. Astăzi folosesc topologia pe care deja ați văzut-o în lecțiile anterioare.
Am discutat despre cum datele se deplasează în rețea și cum se desfășoară strângerea de mâini în trei etape TCP. Primul mesaj trimis în rețea reprezintă un pachet SYN. Să examinăm cum se desfășoară strângerea de mâini în trei etape atunci când un computer cu adresa IP 10.1.1.10 dorește să se conecteze la un server 30.1.1.10, adică încearcă să stabilească o conexiune FTP.
Pentru a începe conexiunea, computerul creează un port sursă cu un număr aleator 25113. Dacă ați uitat cum se desfășoară acest proces, vă sfătuiesc să revizionați lecțiile video anterioare în care am discutat acest subiect.

Apoi, el plasează în cadrul numărul portului destinației, deoarece știe că trebuie să se conecteze la portul 21, apoi adaugă informațiile de nivelul 3 OSI, adică adresa sa IP și adresa IP a destinației. Datele, evidențiate cu puncte, nu se schimbă până când nu ajung la destinație. Odată ajunse la server, ele de asemenea nu se schimbă, dar serverul adaugă informații de nivelul 2 în cadrul, adică adresa MAC. Acest lucru se datorează faptului că switch-urile percep doar informațiile de nivelul 2 OSI. În acest scenariu, routerul este singurul dispozitiv de rețea care consideră informațiile de nivelul 3, în mod natural, și computerul lucrează cu aceste informații. Așadar, switch-ul lucrează doar cu informațiile de nivelul 2, iar routerul – cu cele de nivelul 3.
Switchul cunoaște adresa MAC inițială XXXX:XXXX:1111 și dorește să afle adresa MAC a serverului la care se conectează computerul. Compară adresa IP inițială cu adresa de destinație, înțelegând că aceste dispozitive se află în subnete diferite, și decide să utilizeze gateway-ul pentru a ieși în altă subrețea.
Adesea, mi se pune întrebarea cine decide care ar trebui să fie adresa IP a gateway-ului. În primul rând, acest lucru este decis de administratorul rețelei care creează rețeaua și furnizează adrese IP fiecărui dispozitiv. Ca administrator, puteți atribui routerului orice adresă din intervalul de adrese permise ale subrețelei dumneavoastră. De obicei, aceasta este prima sau ultima adresă validă, dar nu există reguli stricte cu privire la atribuire. În cazul nostru, administratorul a atribuit adresa gateway-ului, sau routerului, 10.1.1.1 și i-a asociat-o portului F0/0.
Când configurați o rețea pe un computer cu o adresă IP statică de 10.1.1.10, atribuiți o mască de subrețea 255.255.255.0 și un gateway implicit de 10.1.1.1. Dacă nu utilizați o adresă statică, atunci computerul utilizează DHCP, care atribuie o adresă dinamică. Indiferent de adresa IP pe care o folosește computerul, statică sau dinamică, pentru a ieși într-o altă rețea trebuie să existe adresa unui gateway.
Astfel, computerul 10.1.1.10 știe că trebuie să trimită un cadru routerului 10.1.1.1. Această transmitere are loc în interiorul rețelei locale, unde adresa IP nu contează, ci doar adresa MAC. Să presupunem că computerul nu a interacționat niciodată cu routerul și nu cunoaște adresa lui MAC, astfel că trebuie mai întâi să trimită o solicitare ARP, întrebând toate dispozitivele din subrețea: „hei, cine dintre voi are adresa 10.1.1.1? Vă rog să-mi comunicați adresa voastră MAC!”. Deoarece ARP este un mesaj de difuzare, el ajunge la toate porturile tuturor dispozitivelor, inclusiv routerul.
Computer 10.1.1.12 receives an ARP and thinks: "No, my address is not 10.1.1.1," and discards the request; similarly, computer 10.1.1.13 does the same. The router, upon receiving the request, understands that it is being asked and sends the MAC address of port F0/0 – all ports have different MAC addresses – to computer 10.1.1.10. Now, knowing the gateway address XXXX:AAAA, which in this case is the destination address, the computer adds it to the end of the frame addressed to the server. At the same time, it sets the frame's FCS/CRC header, which is an error-checking mechanism for transmission.

After this, the frame from computer 10.1.1.10 is sent over the wires to router 10.1.1.1. Upon receiving the frame, the router removes the FCS/CRC, using the same algorithm for verification as the computer. The data consists of nothing more than a series of zeros and ones. If the data is corrupted, meaning a 1 becomes a 0 or a 0 becomes a 1, or there is data leakage, which often occurs when using a hub, then the device must resend the frame.
If the FCS/CRC check is successful, the router looks at the source and destination MAC addresses and removes them since this information is at Layer 2, and moves on to the frame body, which contains Layer 3 information. From it, it learns that the information contained in the frame is intended for the device with IP address 30.1.1.10.
The router somehow knows where this device is located. We did not discuss this question when we examined how switches work, so let's consider it now. The router has 4 ports, so I have added a few more connections to it. So, how does the router know that the data for the device with IP address 30.1.1.10 needs to be sent through port F0/1? Why doesn't it send it through port F0/3 or F0/2?
The thing is that the router works with a routing table. Every router has such a table that helps it decide which port to send a specific frame through.

În acest caz, portul F0/0 este configurat cu adresa IP 10.1.1.1, ceea ce înseamnă că este conectat la rețeaua 10.1.1.10/24. În mod similar, portul F0/1 este configurat cu adresa 20.1.1.1, adică este conectat la rețeaua 20.1.1.0/24. Routerul cunoaște aceste rețele deoarece sunt conectate direct la porturile sale. Astfel, informația că traficul pentru rețeaua 10.1.1.0/24 trebuie să treacă prin portul F0/0, iar pentru rețeaua 20.1.1.0/24 - prin portul F0/1, este cunoscută în mod implicit. Dar de unde știe routerul prin ce porturi să funcționeze cu celelalte rețele?
Observăm că rețeaua 40.1.1.0/24 este conectată la portul F0/2, rețeaua 50.1.1.0/24 - la portul F0/3, iar rețeaua 30.1.1.0/24 leagă al doilea router de server. Al doilea router are, de asemenea, o tabelă de rutare, care indică faptul că rețeaua 30. este conectată la portul său, pe care îl denumim 0/1, iar cu primul router este conectat prin portul 0/0. Acest router știe că portul său 0/0 este conectat la rețeaua 20., iar portul 0/1 este conectat la rețeaua 30., și nu știe nimic mai mult.
Similar, primul router cunoaște rețelele 40. și 50., care sunt conectate la porturile 0/2 și 0/3, dar nu știe nimic despre rețeaua 30. Protocolul de rutare oferă routerelor informația pe care nu o dețin în mod implicit. Mecanismul prin care aceste routere interacționează între ele constituie baza rutării, existând rutare dinamică și statică.
Rutarea statică constă în faptul că primul router primește informația: dacă trebuie să se conecteze la rețeaua 30.1.1.0/24, atunci trebuie să folosească portul F0/1. Totuși, când al doilea router primește trafic de la server destinat computerului 10.1.1.10, nu știe ce să facă, deoarece în tabela sa de rutare are doar informații despre rețelele 30. și 20. Deci, acestui router trebuie să îi fie configurată și rutarea statică: dacă primește trafic pentru rețeaua 10., trebuie să-l trimită prin portul 0/0.
Problema rutării statice este că trebuie să configurez manual primul router să funcționeze cu rețeaua 30., iar al doilea router să funcționeze cu rețeaua 10. Este simplu dacă am doar 2 routere, dar când am 10 routere, configurarea rutării statice consumă o mulțime de timp. În acest caz, are sens să folosim rutarea dinamică.
Astfel, după ce a primit un cadru de la computer, primul router verifică tabela sa de rutare și decide să-l trimită prin portul F0/1. În acest proces, adaugă la cadru adresa MAC a sursei XXXX.BBBB și adresa MAC a destinației XXXX.CCCC.

După ce a primit acest cadru, al doilea router «taie» adresele MAC care țin de nivelul doi OSI și trece la informațiile de nivel trei. Observă că adresa IP a destinației 30.1.1.10 aparține aceleași rețele ca portul 0/1 al routerului, adaugă adresa MAC a sursei și adresa MAC a dispozitivului de destinație și trimite cadrul serverului.

Așa cum am menționat, procesul similar se repetă în direcția inversă, adică are loc a doua etapă de handshake, în care serverul trimite înapoi un mesaj SYN ACK. Înainte de aceasta, elimină toată informația inutilă și păstrează doar pachetul SYN.

După ce a primit acest pachet, al doilea router analizează informațiile primite, le completează și le trimite mai departe.
Deci, în lecțiile anterioare am studiat cum funcționează un switch, iar acum am învățat cum funcționează routerele. Să răspundem la întrebarea ce reprezintă rutarea în sens global. Să presupunem că ai întâlnit un indicator de drum așezat la o intersecție cu circulație rotundă. Vezi că prima ramificație duce la baza Forțelor Aeriene Regale Fairfax, a doua la aeroport, a treia la sud. Dacă alegi ieșirea a patra, ajungi la un impas, iar prin a cincea poți trece prin centrul orașului spre castelul Braxby.

În general, rutarea este ceea ce determină routerul să ia decizii cu privire la direcția în care să direcționeze traficul. În acest caz, tu, ca șofer, trebuie să iei o decizie cu privire la ieșirea de la intersecție pe care să o folosești. În rețele, routerele trebuie să ia decizii despre unde să trimită pachete sau cadre. Trebuie să înțelegi că rutarea permite crearea de tabele pe baza cărora routerele iau aceste decizii.
Așa cum am spus, există rutare statică și dinamică. Să examinăm rutarea statică, pentru care voi desena 3 dispozitive conectate între ele, primul și al treilea dispozitiv fiind conectate la rețele. Să presupunem că o rețea 10.1.1.0 dorește să se conecteze la rețeaua 40.1.1.0, iar între routere se află rețelele 20.1.1.0 și 30.1.1.0.

În acest caz, porturile routerelor trebuie să aparțină unor subrețele diferite. Routerul 1 știe implicit doar despre rețelele 10. și 20. și nu știe nimic despre celelalte rețele. Routerul 2 știe doar despre rețelele 20. și 30., deoarece acestea sunt conectate la el, iar routerul 3 știe doar despre rețelele 30. și 40. Dacă rețeaua 10. vrea să comunice cu rețeaua 40., trebuie să îi spun routerului 1 despre rețeaua 30. și că, dacă vrea să transmită un pachet din rețeaua 40., trebuie să folosească interfața pentru rețeaua 20. și să trimită pachetul prin rețeaua 20.
Pentru al doilea router, trebuie să îi aloc 2 rute: dacă vrea să transmită un pachet din rețeaua 40. în rețeaua 10., trebuie să folosească portul rețelei 20., iar pentru a transmite un pachet din rețeaua 10. în rețeaua 40. – portul rețelei 30. În mod similar, trebuie să-i ofer routerului 3 informații despre rețelele 10. și 20.
Dacă aveți rețele mici, configurarea rutării statice este foarte simplă. Totuși, pe măsură ce rețeaua cresc, apar tot mai multe probleme cu rutarea statică. Să presupunem că ați creat o nouă conexiune care leagă direct routerele întâi și trei. În acest caz, protocolul de rutare dinamic va actualiza automat tabela de rutare a routerului 1, indicând următoarele: „dacă trebuie să comunicați cu routerul 3, folosiți ruta directă”!

Există două tipuri de protocoale de rutare: protocolul de gateway intern IGP și protocolul de gateway extern EGP. Primul protocol operează cu un sistem autonom, cunoscut sub numele de domeniu de rutare. Să presupunem că aveți o organizație mică, cu doar 5 routere. Dacă discutăm doar despre comunicarea între aceste routere, ne referim la IGP; dacă utilizați rețeaua dumneavoastră pentru a comunica cu internetul, așa cum fac furnizorii de servicii ISPs, atunci utilizați EGP.

IGP utilizează 3 protocoale populare: RIP, OSPF și EIGRP. Curriculumul CCNA menționează doar ultimele două protocoale, deoarece RIP este învechit. Acesta este cel mai simplu dintre protocoalele de rutare, care este încă utilizat în anumite cazuri, totuși nu oferă securitatea necesară în rețea. Aceasta este una dintre motivele pentru care Cisco a exclus RIP din curriculum. Totuși, voi vorbi în continuare despre el, deoarece studiul său contribuie la înțelegerea conceptelor de bază ale rutării.

Clasificarea protocoalelor EGP utilizează două protocoale: BGP și protocolul EGP propriu-zis. În cursul CCNA, ne vom concentra doar pe BGP, OSPF și EIGRP. Discuția despre RIP poate fi considerată informație suplimentară, care va fi reflectată într-unul dintre videoclipurile noastre.
Există încă două tipuri de protocoale de rutare: protocoalele de rutare prin vector de distanță Distance Vector și protocoalele de rutare cu starea legăturii Link State.

Primul protocol examinează vectorii de distanță și direcție. De exemplu, pot stabili o conexiune directă între routerul R1 și R4, sau pot realiza conexiunea pe calea R1-R2-R3-R4. Când vorbim despre protocoalele de rutare care folosesc metoda vectorului de distanță, în acest caz, conexiunea se va realiza întotdeauna pe cel mai scurt drum. De asemenea, nu contează că această conexiune va avea o viteză minimă. În cazul nostru, este de 128 kbit/s, ceea ce este mult mai lent decât conexiunea pe traseul R1-R2-R3-R4, unde viteza este de 100 mbit/s.
Să analizăm protocolul de rutare prin vector de distanță RIP. Voi adăuga în fața routerului R1 rețeaua 10., iar în spatele routerului R4 – rețeaua 40. Să presupunem că în aceste rețele se află multe computere. Dacă vreau să stabilesc o conexiune între rețeaua 10. R1 și rețeaua 40. R4, voi desemna R1 o rutare statică de tip: „dacă trebuie să te conectezi la rețeaua 40., folosește conexiunea directă cu routerul R4”. Astfel, pe toate cele 4 routere va trebui să configurez manual RIP. Apoi, tabela de rutare R1 va informa automat că, dacă rețeaua 10. dorește să se conecteze la rețeaua 40., trebuie să folosească conexiunea directă R1-R4. Chiar dacă ocolirea ar putea fi mai rapidă, protocolul Distance Vector va alege întotdeauna cel mai scurt drum cu cea mai mică distanță de transfer.
OSPF este un protocol de rutare cu starea legăturii, care întotdeauna verifică starea secțiunilor de rețea. În acest caz, el evaluează viteza canalelor și, dacă observă că viteza de transfer a traficului pe canalul R1-R4 este foarte scăzută, va alege calea cu o viteză mai mare R1-R2-R3-R4, chiar dacă lungimea acesteia depășește cea mai scurtă cale. Astfel, dacă voi configura protocolul OSPF pe toate routerele, atunci când rețeaua 40. încearcă să se conecteze la rețeaua 10., traficul va fi trimis pe traseul R1-R2-R3-R4. Așadar, RIP este un protocol de rutare prin vector de distanță, iar OSPF este un protocol de rutare cu starea legăturii.
Există un alt protocol – EIGRP, un protocol de rutare proprietar Cisco. Dacă vorbim despre echipamentele de rețea ale altor producători, cum ar fi Juniper, acestea nu suportă EIGRP. Este un protocol de rutare excelent, care este mult mai eficient decât RIP și OSPF, dar poate fi folosit doar în rețele bazate pe echipamente Cisco. Mai târziu voi explica în detaliu de ce este atât de bun acest protocol. Până atunci, observ că EIGRP combină trăsături ale protocoalelor de rutare de tip vector și ale celor de tip stare de legătură, reprezentând un protocol hibrid.
În următorul videoclip de lecție, ne vom apropia de routerele Cisco, iar eu vă voi spune câteva lucruri despre sistemul de operare Cisco IOS, care este destinat atât switch-urilor, cât și routerelor. Sper că în lecțiile din zilele 19 sau 20 vom începe studiul detaliat al protocoalelor de rutare, iar eu, folosind exemple de rețele mici, vă voi arăta cum să configurați routerele Cisco.

Vă mulțumim că rămâneți cu noi. Vă plac articolele noastre? Doriți să vedeți mai multe materiale interesante? Susțineți-ne făcând o comandă sau recomandându-ne prietenilor. 30% reducere pentru utilizatorii Habr pentru un server entry-level unic, creat special pentru tine: (sunt disponibile opțiuni cu RAID1 și RAID10, până la 24 nuclee și până la 40GB DDR4).
Dell R730xd la jumătate de preț? Numai la noi în Olanda! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — de la 99 $! Citiți despre
Sursa: habr.com
