Rutarea (denumită uneori marșrutizare) este un termen folosit în rețele de calculatoare pentru a desemna procesul de alegere a căii pe care un pachet este transmis de la sursă la destinație sau destinații, chiar și î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 de rețea (netmask), adresa următorului ruter (next hop) și/sau adresa interfeței de ieșire.
thumb|350px|right|Procesul de rutare a unui pachet de date Semantica transportării Schemele de rutare diferă în funcție de semantica transportării: unicast transportă un mesaj unui singur nod broadcast transportă un mesaj tuturor nodurilor din rețea multicast transportă un mesaj unui grup de noduri care au arătat interes în recepționarea mesajului anycast transportă un mesaj oricărui nod dintr-un grup, în mod uzual celor mai apropiate de sursă geocast transportă un mesaj unei arii geografice Unicast este forma dominantă de transportare a mesajului în Internet.
Protocoale de rutare
Protocoalele de rutare stabilesc regulile prin care informațiile despre rețele sunt schimbate între routere în mod dinamic î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). După apartenența routerelor la același sistem autonom - Autonomous System: protocoale folosite de routerele aflate în același sistem autonom (Interior Gateway Protocols - IGP); Ex.: Routing Information Protocol (RIP, RIPv2), Open Shortest Path First (OSPF), Enhanced Interior Gateway Routing Protocol (EIGRP); protocoale folosite de routerele care interconectează sistemele autonome (Exterior gateway protocols - EGP). Ex.: Border Gateway Protocol (BGP). Dacă includ sau nu în mesajele de actualizare masca rețelei: protocoale classfull (RIPv1,IGRP) - acestea nu includ masca de rețea; protocoale classless (RIPv2, EIGRP, OSPF, IS-IS).
Alegerea rutei
Algoritmul de rutare extrage adresa IP destinație din pachetul IP, apoi verifică dacă acea adresă corespunde cu vreuna dintre adresele interfețelor sale. Dacă nu, parcurge secvențial tabela de rutare comparând rezultatul operației ȘI logic (AND) efectuate î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 înregistrarea tabelei de rutare, pachetul IP este transmis la IP-ul specificat (next-hop). Dacă niciuna dintre 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 configurată 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. Metrica diferă mult între protocoale, de aceea nu trebuie comparate metricile de la diferite protocoale de rutare. Dacă există mai multe rute cu aceeași distanță administrativă și metrică identică sau apropiată, pot fi păstrate ambele pentru a putea echilibra încărcarea pe cele 2 rute (load-balancing).
Note
Vezi și Algoritmi și tehnici de rutare Algoritmul lui Dijkstra Calitatea serviciilor Rutare statică Rutare dinamică
Protocoale de rutare Mod de transfer asincron Protocol de rutare
Metode alternative pentru fluxul de date în rețea Peer-to-peer
Legături externe Problema numărării la infinit Studii de caz despre rutare de la Cisco IT
Categorie:Arhitectura Internetului Categorie:Rutare