camscape - for excellent IT solutions itkb.ro - IT knowledge base

pentru tonti :: rutare. concepte si definitii de baza

Cristian
Cristian M.
TitleRutare. Concepte si definitii de baza
Tagsrute, descriere, definitii
Desc.Rutare. Concepte si definitii de baza
CodeKBCR0002 v1.0
Date27 martie 2013
Rutare. Concepte si definitii de baza
 
 
Rutarea nativa pe sistemele de operare moderne
 
Sa presupunem ca avem un calculator, Windows sau Linux nu conteaza (desi exemplificarea va fi Linux), care are doua placi de retea:
 
10.254.1.250, masca 255.255.255.0
 
si
 
10.1.2.5, masca 255.255.255.240
 
 
Adica:
 
root@test01:~# ifconfig
eth0      Link encap:Ethernet  HWaddr de:ad:b7:d3:7d:e4
          inet addr:10.254.1.250  Bcast:10.254.1.255  Mask:255.255.255.0
          inet6 addr: fe80::dcad:b7ff:fed3:7de4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:172 errors:0 dropped:0 overruns:0 frame:0
          TX packets:99 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:16762 (16.3 KiB)  TX bytes:13586 (13.2 KiB)
 
eth1      Link encap:Ethernet  HWaddr de:ad:87:b5:78:87
          inet addr:10.1.2.5  Bcast:10.1.2.15  Mask:255.255.255.240
          inet6 addr: fe80::dcad:87ff:feb5:7887/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:332 (332.0 B)  TX bytes:238 (238.0 B)
 
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 
 
Atunci, rutele existente vor fi:
 
root@test01:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.1.2.0        0.0.0.0         255.255.255.240 U     0      0        0 eth1
10.254.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
 
 
Sa explicam putin rutele, linie cu linie de sus in jos:
 
1. Catre orice host din reteaua 10.1.2.0/28 pachetele vor pleca prin interfata eth1
 
2. Catre orice host din reteaua 10.254.1.0/24 pachetele vor pleca prin interfata eth0
 
3. Catre orice host din reteaua 127.0.0.0/8 pachetele vor pleca prin interfata lo (localhost)
 
 
Rutele de mai sus nu au fost adaugate de nimeni, ele apar automat pe orice sistem de operare modern ca urmare a activarii interfetei de retea. Sistemul poate fi definit ca "se adauga automat ruta catre clasa din care face parte IP-ul setat pe o interfata pe interfata respectiva". Acesta este motivul pentru care calculatoarele, odata ce au setat IP-ul si masca vor putea comunica intre ele (PING) cata vreme fac parte din aceeasi clasa de retea. 
 
 
Exercitiu 001: Doua calculatoare sunt legate printr-un cablu. Calculatorul 1 are IP 10.254.1.250/24, Calculatorul 2 are IP 10.254.1.242/28.
Intrebare: functioneaza PING intre ele? De ce?
 
Exercitiu 002: Doua calculatoare sunt legate printr-un cablu. Calculatorul 1 are IP 10.254.1.210/28, Calculatorul 2 are IP 10.254.1.242/28.
Intrebare: functioneaza PING intre ele? De ce?
 
 
 
Ruta suplimentare
 
Sa presupunem deci ca avem Calculatorul 1 cu IP-ul 10.254.1.250/24 si Calculatorul 2 cu IP-ul 192.168.1.10/24. Exercitiul 002 ne arata ca doua calculatoare, in clase diferite de retea, doar cu rutele implicite nu pot comunica. Ce e de facut?
 
Simplu, se declara pe Calculatorul 1 ruta catre Calculatorul 2. Adica:
 
Linux: route add -host 192.168.1.10 gw 10.254.1.250
Windows: route add 192.168.1.10 mask 255.255.255.255 10.254.1.250
 
Asta inseamna pentru IP-ul 192.168.1.10 pachetele sa plece prin IP-ul 10.254.1.250. Sau, daca vrem toata reteaua din care face parte IP-ul Calculatorului 2:
 
Linux: route add -net 192.168.1.10 netmask 255.255.255.0 gw 10.254.1.250
Windows: route add 192.168.1.10 mask 255.255.255.0 10.254.1.250
 
 
Exercitiu 003: Va functiona comunicatia intre Calculatorul 1 si Calculatorul 2 in setarea de mai sus? De ce?
 
Raspuns: comunicatia este o operatiune in dublu sens. Astfel pachetul pleaca de pe Calculatorul 1 catre Calculatorul 2 conform ruta proaspat adaugata. Dar Calculatorul 2 NU are o ruta adaugata in replica si pur si simplu nu va putea trimite raspunsul fiindca nu va stii pe UNDE sa il trimita. Asa ca, pentru a functiona, si Calculatorul 2 trebuie sa aiba ruta catre Calculatorul 1.
 
Exercitiu 004: Ce rute trebuie adaugate pe Calculatorul 2?
 
 
 
Ruta implicita
 
Super. Acum mai trebuie sa aflam dinainte IP-urile paginilor web pe care dorim sa le vizitam si sa punem cate o ruta pentru fiecare, nu? Nu.
 
Mai exista un tip de ruta care se numeste ruta implicita (default gateway). Astfel, calculatorul care are tabela de rutare de mai jos
 
root@test01:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.1.2.0        0.0.0.0         255.255.255.240 U     0      0        0 eth1
10.254.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
 
nu va putea sa ajunga de exemplu la 176.9.62.66 (www.camscape.ro). Putem evident sa ii adaugam o ruta sau putem sa punem o ruta implicita prin routerul local conectat la Internet:
 
Linux: route add default gw 10.254.1.1
Windows: route add 0.0.0.0 mask 0.0.0.0 10.254.1.1
 
Rezultatul este:
 
root@test01:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.1.2.0        0.0.0.0         255.255.255.240 U     0      0        0 eth1
10.254.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         10.254.1.1      0.0.0.0         UG    0      0        0 eth0
 
Adica, la regulile 1, 2, 3 de mai sus, se adauga regula 4:
 
4. Catre orice host pachetele vor pleca prin interfata eth0
 
Atentie: comenzile:
 
route add default gw 10.254.1.1
route add default gw 10.254.1.2
 
sunt permise dar rezultatul este LIPSA unui gateway default. Nu puteti ruta aceeasi clasa in acest fel prin doua IP-uri diferite.
 
 
 
Rute multiple
 
Sa presupunem ca la lista de mai sus adaugam o noua ruta:
 
Linux: route add -host 10.254.1.15 gw 10.1.2.5
Windows: route add 10.254.1.15 mask 255.255.255.255 10.1.2.5
 
Rezultatul:
 
root@test01:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.254.1.15     10.1.2.5        255.255.255.255 UGH   0      0        0 eth1
10.1.2.0        0.0.0.0         255.255.255.240 U     0      0        0 eth1
10.254.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         10.254.1.1      0.0.0.0         UG    0      0        0 eth0
 
Exercitiu 005: Care ruta de mai sus spune pachetului (comunicatiei) interfata prin care sa iasa catre 10.254.1.15?
 
Dupa cum vedeti sunt doua rute. Care se aplica?
 
Raspunsul este: Se aplica ruta care contine clasa cea mai mica, exact in ordinea de mai sus, de sus in jos. Aceasta este o regula a sistemului de rutare.