6.3 Multiple Access Links and Protocols Flashcards
Qué son los enlaces point-to-point y broadcast?
Existen dos tipos de enlaces de red: point-to-point y broadcast.
- Un enlace point-to-point consiste en un único sender en un extremo del enlace y un único receiver en el otro extremo del enlace.
- Un enlace broadcast puede tener multiples senders y receivers conectados al mismo canal compartido. La idea de broadcast es que cuando un nodo transmite un frame, el canal difunde el frame y cada uno de los otros nodos recibe una copia. Ejemplos son Ethernet y LANs inalámbricas.
Qué es el mutiple access problem?
Un tema importante es cómo coordinar el acceso de esos multiples nodos al canal compartido, eso se conoce como el mutiple access problem. El problema es el de determinar quién “habla” y cuándo (análogo a una clase). Para regular las transmisiones existen protocolos.
Características de un protocolo de múltiples accesos
Idealmente un protocolo de multiples accesos de R bits por segundo tiene que tener las
siguientes características:
- Cuando un solo nodo tiene data para enviar, ese nodo tiene un throughput de R
bps. - Cuando M nodos tienen data para enviar, cada uno va a tener un throughput de
R/M bps. - El protocolo es descentralizado (no hay un nodo que represente un único punto de
falla). - El protocolo es simple (fácil de implementar).
Cómo se pueden clasificar los protocolos para solucionar el problema ed los múltiples accesos?
Channel partitioning protocols, Random access protocols y Taking-turns protocols
Random access protocols:
- Slotted aloha protocol
- Carrier sense multiple access (CSMA)
En estos protocolos, el nodo transmite al rate máximo de R bps. Cuando hay una colisión, cada nodo implicado en esa colisión retransmite su frame hasta que ese frame pase sin colisionar. Pero no es que retransmite inmediatamente después de la colisión, sino que espera un tiempo random antes de hacerlo.
Slotted aloha protocol
Se divide el tiempo es slots de L/R segundos, donde L es la cantidad de bits por frame (todos los frames tienen la misma cantidad de bits). Cuando un nodo tiene un frame nuevo para mandar, espera el comienzo del siguiente slot y ahi lo envía. Si hay una colisión, se detecta antes de que termine el slot. El nodo retransmite el frame en cada slot subsecuente con probabilidad p de que se transmita sin colisión; con probabilidad p quiere decir que decide con cierta probabilidad si retransmitir o esperar al slot siguiente. Es un protocolo descentralizado, simple y que permite que un nodo transmita al máximo rate. El problema que tiene es que no es muy eficiente cuando hay muchos nodos con muchos frames por transmitir.
Carrier sense multiple access (CSMA)
En los anteriores, la decisión de transmitir o no era independiente de los demás
nodos. Acá aparecen dos reglas:
Listen before speaking: carrier sensing. Un nodo escucha el canal antes de transmitir. Si tiene que transmitir algo, espera hasta detectar que no haya otras transmisiones.
If someone else begins talking at the same time, stop talking: colission detection. Un nodo que está transmitiendo, escucha el canal mientras transmite.
Channel partitioning protocols
Time-division multiplexing (TDM) y frequency-division multiplexing (FDM) son dos técnicas que pueden usarse para particionar el bandwidth de un canal broadcast entre todos los nodos.
TDM dividide el tiempo en time frames y despues divide cada frame en N time slots. Cada time slot es asignado a uno de los N nodos, cuando un nodo tiene un frame para enviar (no confundir este frame con el del time frame), transmite los bits durante su time slot asignado.
Con esta técnica, cada nodo obtiene una transmisión exclusiva de R/N bps en cada frame time. Pero tiene dos desventajas: un nodo es limitado a un rate promedio de R/N aunque sea el único nodo con data y un nodo siempre tiene que esperar por su turno en la secuencia aunque sea el único nodo con data.
FDM es parecido. Divide los R bps en diferentes frecuencias (cada una con un bandwidth de R/N) y asigna cada frecuencia a uno de los nodos. Después crea N canales más chicos de R/N bps.
Taking-turns protocols:
- Polling protocol
- Token-passing protocol
transmitiendo, escucha el canal mientras transmite.
- Taking-turns protocols
Lo que le falta a los protocolos de ALOHA y CSMA es la propiedad de que cuando hay M nodos activos, todos tengan un throughput de R/M bps.
Polling protocol
Requiere que uno de los nodos sea designado como el nodo “maestro”. El nodo maestro va eligiendo cada uno de los nodos al estilo round-robin. Tiene dos desventajas: el delay que introduce esto de estar eligiendo nodos y que si el nodo maestro falla, todo el canal se vuelve inoperativo.
Token-passing protocol
El token es un pequeño frame que se intercambia entre los nodos en un determinado orden. Cuando un nodo recibe el token, se lo queda sólo si tiene datos para transmitir, sino se lo pasa al siguiente nodo. Si el nodo sí tiene datos para transmitir, envía hasta un número máximo de frames y después le pasa el token al nodo siguiente. Esta técnica es descentralizada y eficiente, pero tiene un problema: la falla de un nodo puede afectar a todo el canal, o si algun nodo se apodera del token, tiene que existir algun mecanismo de recuperacion.