[WikiItic] [TitleIndex] [WordIndex

Capa de xarxa

Introducció

La unitat de dades d'aquesta capa són els datagrames. La principal funcionalitat de la capa és rebre segments de dades de la capa de transport, empaquetar-los en datagrames i aconseguir que arribin al node de destí. Allà, el tros de capa de xarxa que hi haurà implementat extreurà el segment l'entregarà a la capa de transport.

Forwarding and Routing

Per moure paquets desdel node transmissor fins al node receptor, hi ha dues funcions essencials que cal identificar:

Forwarding

També en català anomenat encaminament, fa referència a l'acció local del router de transferir un paquet des d'un enllaç d'entrada al corresponent enllaç de sortida. (El procés d'arribar d'un encreuament d'una ciutat fins a l'encreuament que et portarà a la següent ciutat).

Cada router té una forwarding table, que utilitza per decidir la interfície de sortida que pendrà un paquet en base a un camp que hi ha en el header del paquet que rep. Depenent del protocol de capa de xarxa que s'utilitzi, el valor d'aquest camp podria ser l'adreça de destí del paquet (DN) o un indicador de la connexió a la qual pertany tal paquet (VC).

Els algoritmes d'enrutament determinen els valors de les taules d'encaminament.

Routing

També anomenat enrutament, fa referència al procés de determinar el camí final que els paquets faràn desde l'origen fins al destí. (El procés de planejar el viatge).

Aquest enrutament és duu a terme en base a algoritmes d'enrutament, que com ja hem explicat, són els encarregats de modificar les taules d'encaminament dels routers.

Aquest algoritme pot ser:

Circuits Virtuals i Datagrames

La capa de xarxa pot oferir un servei amb prèvia connexió o un servei sense connexió, de la mateixa manera que la capa de transport. En la capa de xarxa aquests serveis es fan entre màquines finals de la capa de xarxa oferint-los a la capa de transport. Per altra banda, a la capa de transport aquests serveis es duen a terme entre processos de diferents màquines i s'ofereix a la capa d'aplicació.

Els Virtual Circuits i les xarxes de Datagrames són dos tipus de xarxes fonamentals. Utilitzen informació molt diferent per dur a terme les decisions d'encaminament

Virtual Circuits

Un circuit virtual consisteix en:

Hi ha tres fases que intervenen en el funcionament dels cicuits virtuals:

Datagram networks

En els datagram networks, cada vegada que un sistema final vol enviar un paquet, encapsula el paquet amb l'adreça de destí i fica el paquet a la xarxa. No s'utilitza cap mètode de setup.

Cadascun dels routers del camí utilitzen l'adreça de destí del paquet per encaminar-lo. Així doncs, quan un paquet arriba a una interfície d'un router, mira l'adreça del destinatari i l'encamina cap al link de sortida apropiat.

Per exemple, si un router té 4 links, es pot definir un rang d'adreçes per a cadascun d'aquests links.

En datagram networks, l'unic tipus d'informació que es manté en el routers són les taules d'encaminament, que són actualitzades pels algoritmes d'enrutament.

The Internet Protocol (IP)

Avui en dia hi ha dues versions del Internet Protocol, la versió 4 (IPv4) i la versió 6 (IPv6).

Datagram Format

El paquet amb el que tracta la capa de xarxa és el datagrama. El datagrama té els següents camps:

IP Datagram Fragmentation

La MTU (Maximum Transfer Unit) de la capa d'enllaç és una limitació per a la llargada dels datagrames IP.

Què passa si tu, sent un router, reps un datagrama IP d'una interfície i te n'adones que l'has d'encaminar cap a una interfície que té una MTU menor que el teu datagrama. Què fas? La solució és fragmentar l'IP datagram en dos o més datagrames IP més petits. Cadascun d'aquests datagrames s'anomenarà fragment.

Els fragments caldrà tornar a juntar-los abans de ser enrtegats a la capa superior. Però com que això suposaria una complicació extra molt gran per als routers, es va decidir de relegar l'obligació de fer-ho als sistemes finals.

Per fer això, van posar una sèrie de camps en el header dels datagrames que faciliten la feina. Quan un datagrama és creat, el host transmissor estampa una identificació en el datagrama així com l'adreça de destí i origen de les dades.

Tipicament, per cada datagrama que s'envia, el transmissor incrementa aquest número, per identificar diferents fragments d'un mateix datagrama.

L'últim fragment del datagrama té un flag posat a zero indicant que és l'últim que arribarà, mentre que la resta de fragments el flag ha estat a 1.

El flag d'offset s'utilitza per saber a quina part del datagrama va cada fragment i per saber si falta alguna part.

Router NAT

Un router NAT té una interfície que connecta amb la xarxa d'internet global i una interfície que connecta amb una subxarxa. Un grup de màquines connectades a internet a través d'un router NAT, des de fora, es veuen com un únic dispositiu amb una única adreça IP.

Tot el tràfic de paquets marxant de la subxarxa cap a internet té la mateixa adreça IP d'origen i tot el trànsit que arriba al router NAT amb destinació algun host de la subxarxa té la mateixa adreça IP de destí.

Un router NAT està amagant els detalls de la subxarxa al mon exterior. Però com podem distingir llavors cap a quin host de la subxarxa van els paquets? amb les NAT translation tables del router NAT.

Quan un host de la subxarxa vol rebre informació d'una pàgina web, envia una trama de dades com la següent: Source = 10.0.0.1 (adreça privada), 3345. Destí = 128.119.40.186, 80. Aquesta trama arriba primer al router NAT, que canvia l'adreça de destí per la adreça IP de la interfície que està connectada a l'exterior (IPnat), amb un número de port arbitrari (PORTnat). A la vegada, apunta a la taula que quan rebi un paquet per la interfície exterior amb destí IPnat i port PORTnat, haurà de tornar a fer el canvi per 10.0.0.1, 3345.


2023-07-03 11:46