Rutarea este un termen folosit în reţele pentru a desemna procesul de alegere a căii prin care un pachet este transmis între două reţele diferite. Rutarea este bazată pe o tabelă care are în principal următoarele câmpuri: adresa reţelei (net-address), masca reţelei (netmask), adresa următorului ruter (next-hop) şi/sau adresa interfeţei de ieşire.
În funcţie de numărul de staţii care trebui să primească un mesaj, putem avea:
mesaje unicast: sunt destinate unei singure staţii;
mesaje multicast: sunt destinate tuturor staţiilor dintr-un grup de staţii identificate de o adresă de multicast;
mesaje broadcast: sunt destinate tuturor staţiilor din reţea;
mesaje anycast: sunt destinate oricarei staţii dintr-un grup de staţii (şi numai uneia).
Protocoale de rutare
Protocoalele de rutare stabilesc regulile prin care informaţiile despre reţele sunt schimbate între rutere în scopul obţinerii unei tabele de rutare adecvate topologiei. Protocoalele de rutare pot fi clasificare după mai multe criterii:
După tipul de algoritmi folosiţi
Protocoale bazate pe vectori distanţă (Distance Vector - DV)
Protocoale bazate pe starea legăturilor (Link State - LS)
protocoale folosite de ruterele aflate în acelaşi AS (Interior Gateway Protocols - IGP); Ex.: Routing Information Protocol (RIP, RIPv2), Open Shortest Path First (OSPF), Enhanced Interior Gateway Routing Protocol (EIGRP).
protocoale folosite de ruterele care interconectează AS-urile (Exterior gateway protocols - EGP). Ex.: Border Gateway Protocol (BGP).
Daca includ sau nu in update-ul de routare netmask-ul retelei:
Algoritmul de rutare extrage adresa IP destinaţie din pachetul IP, apoi verifică dacă acea adresă corespunde cu vreuna din adresele interfeţelor sale. Dacă nu, parcurge secvenţial tabela de rutare comparând rezultatul operaţiei ŞI logic (AND) efectuată între adresa IP destinaţie şi masca reţelei extrasă din înregistrarea tabelei de rutare. Dacă rezultatul operaţiei ŞI logic corespunde cu adresa reţelei din înregistarea tabelei de rutare, pachetul IP este transmis la IP-ul specificat (next-hop). Dacă niciuna din reţelele din tabela de rutare nu corespunde cu adresa destinaţie, pachetul este ignorat.
Înregistrările sunt introduse şi ordonate în tabela de rutare după următoarele criterii:
după masca de reţea, în ordine descrescătoare. Astfel, primele rute vor fi cele către staţii, iar ultima rută va fi ruta implicită (0.0.0.0/0) - dacă a fost configurata static;
după distanţa administrativă (DA) a protocolului de rutare care a descoperit acea rută. Rutele direct conectate au DA 0, iar cele statice 1. Dacă mai multe protocoale au descoperit aceeaşi rută, se păstrează doar intrarea cu DA cea mai mică;
după metrica protocolului. Metricele diferă mult între protocoale, de aceea nu trebuie comparate metrici de la protocoale de rutare diferite. Dacă există mai multe rute cu aceeaşi DA şi metrică identică sau apropiată, pot fi păstrate ambele pentru a putea echilibra încărcarea pe cele 2 rutE (load-balancing).