[WikiItic] [TitleIndex] [WordIndex

Capa d'enllaç i xarxes d'àrea local

Com s'encapsulen els datagrames de la capa de xarxa en les trames de la capa 2 per transmetre-les a través d'un enllaç? Els protocols de la capa d'enllaç ofereixen transferència de dades fiable entre routers/nodes? Es poden utilizar diferents protocols de capa 2 en els diferents enllaços al llarg d'un camí de comunicació? Aquestes són algunes de les preguntes que s'intentarà respondre en aquest apartat.

S'utilitzarà una sèrie de generalitzacions de vocabulari que cal comentar:

És important diferenciar els dos tipus de canals existents en la capa d'enllaç, com són:

Serveis de la capa d'enllaç

Una de les principals funcionalitats que ha d'implementar la capa d'enllaç és encapsular un datagrama de la capa superior en una trama quan un node vol transmetre. Enviar la trama per un camí de comunicació sempre assegurant la correcta comunicació entre els nodes d'aquest camí. És a dir, té la feina de moure aquests datagrames entre tots els nodes que conformen el camí de comunicació entre el node origen i el destí.

Alguns dels serveis que també pot proporcionar són:

Detecció i correcció d'errors

Com ja s'ha dit, la detecció i correcció d'errors són dos serveis que la capa d'enllaç sovint proporciona. Aquests serveis també s'ofereixen a la capa de transport, com es veurà en apartats posteriors.

Així doncs, estudiarem els tres mètodes més utilitzats per a la comprovació d'errors, que són:

Parity Check

Si es vol transmetre unes dades D que consten de d bits, s'afegeix un bit adicional anomerat bit de paritat. Si s'utilitza un esquema de paritat parell, es tria el valor del bit de paritat tal que el nombre de 1's de D+d sigui parell.

El mateix per a l'esquema de paritat imparell, s'estria el valor de d tal que el nombre de 1's sigui imparell.

En recepció, només cal saber quin esquema s'utilitza i comprovar que el nombre de 1's sigui el que correspon.

Checksum

Si les dades a transmetre D estan formades per una sèrie de k-bits, s'afegeix un altre k-bit al final, amb valor el complement a 1 de la suma de la resta de bits (sumant també el carry final).

En recepció, cal fer la suma de tots els k-bits rebuts, incloent el de checksum, i comprovant que tot són 1's. Si algun d'ells és 0, indica que hi ha error.

CRC - Cyclic Redundancy Check

Trama a transmetre D amb d bits, amb polinomi generador G amb r+1 bits. Es requereix que el bit més significatiu de G sigui un 1.

Donades unes dades D, el transmissor escollirà r bits adicionals, R, i els afegira al final de D per tal que els d+r bits siguin exactament divisibles per G en mòdul 2.

En recepció és senzill, el receptor divideix els d+r bits per G. Si el residuu és diferent de zero, hi ha hagut un error. Si el residuu és zero, les dades són acceptades.

En aritmètica mòdul dos, la suma i la resta són idèntiques i equivalents a efectuar la funció lògica XOR bit a bit.

Així doncs, el que s'enviarà serà T = (D*2^{r})XOR(R). Com que volem trobar una R tal que compleixi (D*2^{r})XOR(R) = nG, observem que R = remainder(\frac{D*2^{r}}{G}).

Detecció d'errors

Les dades que es transmeten són : T = (D*2^{r})XOR(R) on T=nG. El receptor, però, rebrà U = T XOR E, on E és el vector d'errors i indica les posicions on hi ha hagut canvi de bit.

Poden passar els següents casos:

Per últim, només comentar que un polinomi G és primitiu si no és múltiple de cap x{k}+1 per 1 < k \leq 2{n}-1 on n és l'ordre de G, i sí ho és per k = 2^{n}-1.

Protocols d'Accés Múltiple

Aquests tipus de protocols van dirigits per als tipus de comunicació de broadcast, ja que cal arbitrar com interactuen els diferents nodes receptors i transmissors en un mateix canal de comunicació.

Com que tots els nodes poden transmetre trames, dos d'ells poden transmetre al mateix temps. Quan això passa, les trames transmeses co\l.lisionen, derivant en una pèrdua de la informació que transportaven.

D'alguna manera, és necessari coordinar les transmissions dels múltiples nodes per evitar aquest efecte.

Podem distingir tres tipus de protocols d'accés múltiple:

No obstant, és desitjable que un protocol d'accés múltiple aplicat a un canal amb amplada de banda màxima R bps, per ser designat com a tal, compleixi amb els següents requisits:

Compartició de canal

Hi ha dos tipus de compartició de canal, per temps i per freqüència.

Time Division Multiplexing

Cada node té una porció del temps en un període de transmissió. En general, si hi ha N nodes, hi haurà N porcions del temps mig que es tarda en enviar una trama. Aquesta porció s'anomena slot.

En mitjana, cada node segueix tenint R/N bps d'amplada de banda encara que siguin els únics transmetent, la qual cosa és una feblesa del sistema. No obstant, amb aquest sistema s'aconsegueixen eliminar les co\l.lisions.

Un altre inconvenient d'aquest sistema és que un node sempre ha d'esperar al seu torn per transmetre, encara que sigui l'únic que vulgui fer-ho, la qual cosa és bastant ineficient.

Frequency Division Multiplexing

És la mateixa idea de dividir el canal però ara es divideix l'espectre de freqüències a les quals els nodes envien les dades. Per tant, podràn enviar tots simultàniament però amb una amplada de banda R/N fixa.

D'aquesta manera es soluciona un dels aspectes negatius del TDM, com és que els nodes s'hagin d'esperar al seu torn per transmetre. No obstant, no permet utilitzar la totalitat de l'amplada de banda quan hauria de ser possible.

Accés aleatori

Un node transmissor sempre utilitza la màxima velocitat de transmissió del canal R. Quan hi ha co\l.lisió, s'espera un temps aleatori i es torna a retransmetre, així successivament fins que no n'hi hagi.

Hi ha tres tipus de protocols d'accés aleatori:

Slotted Aloha

Totes les trames tenen una llargada de L bits. El temps es divideix en slots de L/R segons. Els nodes començen a transmetre al inici de cada slot. Com que estàn sincronitzats, tots saben quan comença un slot.

Quan un node té dades a transmetre, s'espera al inici del slot més proper i transmet la trama en el temps que dura l'slot. Si no hi ha collisió tot correcte.

Si dos trames co\l.lisionen en un slot, tots els nodes detecten la co\l.lisió abans que l'slot s'acabi. El node retransmet la trama en els següents slots amb una probabilitat p fins que la trama es transmet sense collisió.

Pure Aloha

Quan un node té dades per enviar les transmet en la seva totalitat en el canal compartit. Si la trama collisiona, quan acabi de transmetre's tota s'intentarà retransmetre-la amb una probabilitat p.

En cas que no hi hagi collisió, el node s'esperarà un temps de de transmissió de trama determinat. Després d'aquesta espera ... PREGUNTAR PACO.

CSMA, CSMA/CD

Tenen detecció de portadora. Cada node, quan vol transmetre, escolta el canal abans de fer-ho i és capaç de dir si hi ha altres nodes transmetent.

Si una trama d'un altre node s'està transmetent en l'instant que un node vol fer-ho, aquest s'espera un temps aleatori i acte següit torna a consultar l'estat del canal. Aleshores, si el canal és lliure, el node transmet. En altre cas, torna a repetir el cicle.

A més a més, si el protocol implementa detecció de co\l.lisió se'n diu CSMA/CD. La detecció de co\l.lisió consisteix en escoltar el canal mentre s'està transmetent. Si detecte una trama d'un altre node, aquest para de transmetre i utilitza algun protocol que li dirà quan pot tornar a provar de transmetre (per exemple, exponential backoff).

Un dels inconvenients d'aquest sistema és el temps de propagació entre nodes, que si és molt gran augmenta la probabilitat de co\l.lisió.

Per torns

Hi ha dos tipus de protocols de múltiple accés basants en la transmissió per torns.

Polling

Un node es el node mestre, i va dient cíclicament a tots els nodes que té permís per transmetre fins a un nombre màxim de trames.

Elimina collisions i espais de temps inútils, la qual cosa és bona. No obstant, quan un node té dades per transmetre ha d'esperar a rebre el torn.

A més a més, aquest sistema és centralitzat, si cau el node mestre cau tot. Incompleix un dels principis essencials que havia de complir qualsevol protocol d'accés múltiple.

Token-passing

No hi ha node mestre. Els nodes es van passant una trama especial que indica que tenen el torn per transmetre. Aquesta trama s'anomena token. Quan un node rep el token, el manté només si té dades a transmetre. En altre cas, el passa immediatament.

Un dels inconvenients és que la caiguda de qualsevol node pot fer caure tot el canal.

Adreçament a la capa d'enllaç

Els nodes, tant els hosts com els routers, tenen adreçes de la capa d'enllaç, i s'anomenen adreçes MAC.

Adreçes MAC

Adreçes de la capa d'enllaç, adreçes LAN, adreça física i adreça MAC són sinònims.

Tenen una llargada de 6 bytes, la qual cosa implica que poden haver-hi 2^{48} adreçes diferents. De fet, les adreçes MAC són úniques i van associades als adaptadors de capa d'enllaç. Quan es fabrica l'adaptador, es graba l'adreça MAC a la seva ROM.

Protocol de resolució d'adreçes (ARP)

És un servei que proveeix d'un mecanisme als nodes per traduïr adreçes IP a adreçes MAC.

Resol les adreçes IP només per nodes de la mateixa subxarxa! Cada node té la seva ARP table, on guarda una relació de IP, MAC i TTL, que significa el temps de vida d'aquella adreça IP.

Si volem enviar un paquet a algu de la xarxa local i no sabem la seva MAC, només sabem la IP, què passa?

En canvi, què passa si volem enviar un paquet a algun node fora de la nostra xarxa local?(Exemple de dos sun-LAN's interconnectades amb un router)

Ethernet

Wired LAN. Si un adaptador amb adreça MAC BB-BB-BB-BB-BB-BB rep una trama de dades amb adreça destí BB-BB-BB-BB-BB-BB o FF-FF-FF-FF-FF-FF, entrega el datagrama a la capa superior. En cas contrari, el descarta.

Ofereix un servei no fiable a la capa de xarxa. En tot cas, depen de l'aplicació si creu convenient implementar un mecanisme de retransmissió de paquets.

Quan els nodes d'una xarxa local estàn connectats a través de concentradors, Ethernet es converteix en una Broadcast LAN i és implescindible implementar un protocol d'accés multiple.

En aquest cas, s'utilitza CSMA/CD amb exponential backoff. Quan s'aborta per co\l.lisió la n-éssima vegada, s'escull un valor d'espera V = k*512 bits, on k pertany a {0,1,...,2^{m}-1}, on m = min(n,10).

Dispositius de la capa d'enllaç

Hubs

En català anomenats concentradors, són un tipus de dispositiu que s'utilitza normalment per crear una LAN més gran a partir de diferents sub-LAN's. És la forma més simple d'interconnectar una xarxa d'àrea local.

Malgrat s'utilitzi en xarxes d'àrea local es diu que són dispositius de la capa física, ja que actuen a nivell de bit. En cap cas treballa a nivell de trama d'enllaç.

El seu funcionament és senzill, quan reben un bit en algun de les seves interfícies li augmenten el nivell d'energia i el retransmeten a totes les altres interfícies.

Permeten extendre la màxima distància a la qual poden estar dos màquines finals d'una LAN. No obstant, amplien el domini de co\l.lisió.

No implementa detector de portadora, és a dir, no consulta que el canal estigui lliure abans de transmetre. Això no obstant, és capaç de detectar si en una interfície per la qual està transmetent hi ha col·lisió.

A més a més, si un dels adaptadors o interfícies falla és capaç de detectar-ho i desconnectar-la internament. També són capaços d'acumular informació sobre l'estat del canal i informar a les màquines finals.

Switches

També anomenats commutadors, són dispositius que operen amb trames Ethernet, és per això que són clarament dispositius de capa d'enllaç.

La seva missió és encaminar trames de dades basades en adreçes de destí de les LAN, és a dir, adreçes MAC. Quan una trama arriba a alguna de les seves interfícies, examina el destinatari de la trama (adreça MAC de destí) i intenta encaminar la trama cap a la interfície que porta cap al seu destí.

Permet que cadascuna de les seves interfícies sigui un domini de co\l.lisió aïllat alhora que permeten la intercomunicació entre màquines de diferents sub-LAN's.

És important saber que els switchs no tenen adreçes MAC associades a les seves interfícies, ja que en cap cas canvia l'adreça de destí de les trames (com sí ho fan els routers). Simplement es limiten a encaminar les trames rebudes.

Executen un algoritme de CSMA/CD alhora de transmetre, és a dir, tenen detector de portadora i de co\l.lisió. En cas d'entrar en co\l.lisió mentre alguna de les seves interfícies transmet aquesta entrarà en exponential backoff.

És important saber que els switches són dispositius self-learning: inicialment la seva taula d'encaminament és buida. Quan reben una trama per alguna de les seves interfícies s'apunten l'adreça d'origen i el número d'interfície. Així, quan algú per una altra interfície es vulgui comunicar amb aquest primer host ja sabrà per on encaminar-lo.

També implementen el cut-through-switching, que fa referència a que quan el buffer d'enviament és buit i s'inicia el buffering d'un paquet, immediatament es comença a transmetre en comptes d'esperar-se a que es rebi tot el paquet per després ser enviat.

Point-to-Point Protocol

Aquest protocol, com el nom indica, funciona en enllaços punt a punt. L'únic que cal saber en aquest tipus de protocols és que afegeixen un byte de flag a l'inici i al final de cada trama, normalment és 0b01111110. Però què passa si en les dades també apareix aquest valor? Doncs que abans d'enviar cal revisar les dades i, si es troba un valor igual que el byte de flag, aleshores es repeteix. Amb això s'indicarà al receptor que són dades i no fa referència al flag d'stop.


2023-07-03 11:46