Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ayudantía 10 Redes de Computadores (Stgo, 2011-1)

Ayudantía 10 Redes de Computadores (Stgo, 2011-1)

Ayudantía 10 del ramo Redes de Computadores dictado el primer semestre del 2011 en el campus Santiago San Joaquín de la USM.

Gonzalo Correa

November 13, 2011
Tweet

More Decks by Gonzalo Correa

Other Decks in Education

Transcript

  1. Capa de Enlace • Hasta ahora, sabemos como mover datos

    de un destino a otro, partiendo desde una aplicación, pasando los datos al socket, para posteriormente ser encapsulados y enviados a través de una ruta, ojalá óptima. • Pero, ¿Qué pasa en un enlace? ¿Hay transferencia segura de datos entre dos routers? ILI-256, Redes de Computadores 3
  2. Terminología • Nodos – Llamaremos nodos a los hosts y

    a los routers, de manera indistinta • Enlaces (o links) – Los canales de comunicación que conectan a dos nodos adyacentes, serán llamados enlaces o links. • Frames – Los paquetes en esta capa son frames, que llevan datagramas de la capa de red. ILI-256, Redes de Computadores 4
  3. Capa de Enlace • La capa de red se encarga

    de transferir datagramas desde un nodo a otro nodo adyacente a través de un link. • Ejemplo: Viaje. ILI-256, Redes de Computadores 5
  4. Capa de Enlace • Es importante tener en cuenta, que

    cada enlace puede tener su propio protocolo! – Primer link: Ethernet – Segundo link: PPP – Tercer link: WiFi • Esto lleva a más trabajo para la capa de red! – Asegurar enlace lógico end-to-end, en una serie de enlaces heterogéneos ILI-256, Redes de Computadores 6
  5. Servicios • Framing – Encapsular un datagrama en un frame.

    • Acceso al enlace – Un protocolo de control de acceso al medio (MAC, medium access control) establece reglas para transmitir un frame por un link. • Entrega asegurada – Asegurar que un datagrama llegará de un nodo a otro sin errores. – En caso de error, se usa ACK y retransmisión. – Su uso, depende del tipo de enlace usado. ILI-256, Redes de Computadores 7
  6. Servicios • Control de flujo – Para evitar que emisor

    inunde con frames al receptor. Similar a TCP. • Detección de errores – Errores pueden presentarse por ruido electromagnético o atenuación de señal – La detección de errores se realiza a nivel de hardware, y de una manera más sofisticada que lo que hacen la capa de transporte y la de red. ILI-256, Redes de Computadores 8
  7. Servicios • Corrección de errores – Además de detectar errores,

    estos pueden ser corregidos. – Generalmente la corrección se aplica solo al header del frame. • Half-duplex y Full-duplex – Full-duplex: Enviar y recibir frames a través del link, al mismo tiempo. – Half-duplex: Solo enviar o recibir frames en un instante dado, a través del link. ILI-256, Redes de Computadores 9
  8. Implementación de la capa de enlace ILI-256, Redes de Computadores

    10 La capa de enlace es la capa del stack de protocolos de internet en donde el software y el hardware “conviven”
  9. • Recordar que la detección de errores no es a

    prueba de fallas • Existen tres técnicas – Chequeo de paridad (Parity Check) – Checksum – Cyclic Redundancy Check (CRC) • Veremos solo las nuevas técnicas ILI-256, Redes de Computadores 12
  10. Parity Check • Se agrega un bit a los datos

    (bit de paridad), para poder realizar algún tipo de paridad • Esquema de paridad par – El bit de paridad es 1 solo si la cantidad de 1s en los datos es impar. • Esquema de paridad impar – El bit de paridad es 1 solo si la cantidad de 1s en los datos es par. ILI-256, Redes de Computadores 13
  11. Parity Check Datos Bit de Paridad Datos Bit de Paridad

    0111 0001 1010 1011 0 0101 0001 1010 1011 0 ILI-256, Redes de Computadores 14 Paridad Impar Paridad Par 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 1 0 1 Paridad Par en 2 Dimensiones
  12. Parity Check • La detección en dos dimensiones nos permite

    identificar el bit exacto que está corrupto • Las técnicas que además de detectar errores, los pueden corregir, se llaman forward error correction (FEC) ILI-256, Redes de Computadores 15
  13. CRC • Para calcular el CRC, se tiene lo siguiente

    • La idea es encontrar un valor R tal que sea divisible por un patrón inicial, G (r+1 bits) ILI-256, Redes de Computadores 16
  14. CRC • O sea, • Ejemplo – D: 101110 –

    r: 3 – G: 1001 ILI-256, Redes de Computadores 17
  15. MAPs • Existen dos tipos de enlaces de red –

    Punto-a-punto • Un emisor en un extremo, un receptor en el otro extremo del enlace. • Ej: PPP – Broadcast • Muchos emisores y receptores a tráves de un solo canal • Ej: Ethernet, WiFi ILI-256, Redes de Computadores 19
  16. Multiple Access Problem • Problema al tener enlace broadcast –

    Coordinar a los emisores/receptores para usar el canal compartido • Ejemplo: Clase – “Todos tienen la oportunidad de hablar” – “No hablar hasta que se les ha hablado” – “No monopolizar la conversación” – “Levantar la mano si se tiene una pregunta” – “No interrumpir a alguien que está hablando” – “No dormirse mientras alguien te está hablando” ILI-256, Redes de Computadores 20
  17. MAPs • Si varios nodos mandan frames al mismo tiempo,

    los demás nodos reciben multiples frames al mismo tiempo – Colisión de frames • En este caso, ninguno de los frames es recibido, y son descartados. El tiempo de utilización del canal fue desperdiciado! • La idea de los MAPs es coordinar las transmisiones de los emisores, para evitar o eliminar la posibilidad de colisión ILI-256, Redes de Computadores 21
  18. MAPs • Cuatro características que debería tener un MAP en

    un enlace de velocidad R bps – Cuando un solo nodo quiere enviar datos, tendrá un throughput de R bps. – Cuando M nodos quieren enviar datos, todos tienen un throughput de R/M bps. Ojo, que no es throughput instantáneo! – El protocolo es descentralizado – El protocolo es simple ILI-256, Redes de Computadores 22
  19. Tipos de MAPs • Channel Partitioning – TDM • N

    nodos = N slots por frame • R/N bps asegurados por frame – FDM • N nodos = N canales • R/N bps asegurados por canal – CDMA • Lo veremos más adelante  ILI-256, Redes de Computadores 23
  20. Tipos de MAPs • Random Access – ALOHA ranurado (slotted)

    – ALOHA – CSMA ILI-256, Redes de Computadores 24
  21. ALOHA ranurado • Se asume que – Todos los frames

    son de L bits – Tiempo dividido en slots de L/R segundos – Los nodos empiezan a transmitir frames solo al inicio de un slot – Los nodos están sincronizados, y saben cuando empieza un slot – Cuando hay colisión en un slot, todos los nodos detectan la colisión antes de que termine el slot ILI-256, Redes de Computadores 25
  22. ALOHA ranurado • Cuando hay colisión, el nodo intentará retransmitir

    el frame en todos los slots subsecuentes, con una probabilidad p – Es decir, el frame será retransmitido con una probabilidad p, o se esperará al siguiente slot con una probabilidad 1-p ILI-256, Redes de Computadores 26
  23. ALOHA ranurado • Probabilidad de que un nodo haga una

    transmisión exitosa N*p(1-p)^(N-1) • En la realidad, la eficiencia de este protocolo es de solo el 37% ILI-256, Redes de Computadores 28
  24. ALOHA • A diferencia de ALOHA ranurado, en caso de

    colisión, el nodo retransmite inmediatamente el frame con probabilidad p, o espera un tiempo determinado antes de retransmitir con probabilidad 1-p. ILI-256, Redes de Computadores 29
  25. ALOHA • Probabilidad de que un solo nodo empiece a

    transmitir en un tiempo t – (1-p)^(N-1) • Probabilidad de que mientras un nodo transmite, los demás no transmitan – (1-p)^(N-1) • Finalmente, la eficiencia de ALOHA es la mitad que ALOHA ranurado! ILI-256, Redes de Computadores 31
  26. CSMA • CSMA: Carrier Sense Multiple Access • La idea

    – Escuchar antes de hablar (Carrier Sensing). Si un frame de otro nodo está siendo transmitido, el nodo espera un tiempo random, y vuelve a escuchar (Back off). – Si alguien empieza a hablar al mismo tiempo, dejar de hablar (Collision detection) • Estás reglas se aplican a CSMA y CSMA/CD (CSMA con detección de colisiones) ILI-256, Redes de Computadores 32
  27. Taking-Turns Protocols • Tanto CSMA como ALOHA solo proveen una

    de las características que habíamos visto – Cuando un solo nodo está activo, entonces tiene un throughput de R bps. • Pero, no cumplen con otro muy importante – Cuando M nodos están activos, cada uno tendrá un throughput cercano a R/M bps. • Existen procotolos que cumplen con ambas características, llamados Taking-Turns Protocols (Protocolos de Toma de Turnos) ILI-256, Redes de Computadores 36
  28. Polling Protocol • Se necesita un nodo maestro • El

    maestro controla que nodos pueden transmitir • Cuando un nodo termina de transmitir, el maestro lo detecta por la ausencia de señal, y le avisa al siguiente nodo que puede empezar a transmitir • Este procedimiento es round-robin. • Problemas – Delay para avisarle a un nodo que puede transmitir – Si el maestro falla, la red falla • Ejemplo – Bluetooth ILI-256, Redes de Computadores 37
  29. Token-Passing Protocol • No hay maestro • Los nodos se

    van pasando un frame especial, llamado token. – Nodo 1 se lo pasa a nodo 2, nodo 2 al nodo 3, …, nodo N al nodo 1 • Cuando un nodo tiene el token, pueden transmitir. • Si no tiene nada que transmitir, pasa el token inmediatamente. • Problemas – Si un nodo se cae, se rompe la cadena. – Si un nodo no pasa el token, hay que buscar una manera de hacer circular de nuevo. ILI-256, Redes de Computadores 38
  30. Addressing • Los nodos tienen direcciones en la capa de

    enlace, al igual que en la capa de red. • En realidad, cada interfaz tiene una dirección en la capa de enlace. • Veremos las direcciones MAC, que identifican a cada interfaz en la capa de enlace. ILI-256, Redes de Computadores 40
  31. Direcciones MAC • Direcciones de 6 bytes, expresadas en notación

    hexadecimal. • Cada byte es expresado como un par de números hexadecimales. • Comparación con la dirección IP – Ejemplo dirección de casa y RUN ILI-256, Redes de Computadores 42
  32. Direcciones MAC • Al enviar un frame en una red

    tipo broadcast (Ethernet, ya lo veremos), todos los nodos reciben el frame y analizan la dirección MAC de destino. Si no es para ellos, descartan el frame. • Dirección MAC de broadcast – FF-FF-FF-FF-FF-FF ILI-256, Redes de Computadores 43
  33. ARP • Como tenemos direcciones en la capa de red

    y en la capa de enlace, es necesario poder traducir de una a otra. Esto lo realiza el protocolo ARP. • Cuando un nodo quiere enviar un datagrama a otro nodo, conoce la dirección IP, pero necesita conocer la dirección MAC. – ARP funciona solo dentro de subredes! ILI-256, Redes de Computadores 45
  34. ARP • ARP va encapsulado en frames, además de llevar

    direcciones de la capa de red, por lo que debería ser un protocolo de la capa de red. • Pero, un paquete ARP tiene campos con datos de la capa de enlace, por lo que debería ser un protocolo de la capa de enlace. • Finalmente, ARP es un protocolo entre ambas capas! ILI-256, Redes de Computadores 48
  35. Ethernet • La tecnología LAN mas conocida y usada. •

    Barato en comparación a token ring, FDDI y ATM • Veremos todos los detalles de este tipo de enlaces ILI-256, Redes de Computadores 51
  36. Ethernet • Hub – Recrea bits • Al llegar un

    bit por una interfaz, lo copia, aumenta su energía, y lo envía a las demás interfaces. • Red broadcast – Problemas con colisiones • Si llegan dos frames al mismo tiempo, por dos interfaces distintas, hay colisión y los nodos deben retransmitir. ILI-256, Redes de Computadores 53
  37. Ethernet • Switch – Sin colisiones – Realiza store-and-forward packet

    switching – Opera solo hasta la capa 2 – Veremos más detalles, pronto  ILI-256, Redes de Computadores 54
  38. Frame Ethernet ILI-256, Redes de Computadores 55 • Preámbulo tiene

    7 bytes con (10101010) y el último byte con (10101011) • Tipo une capa de enlace con capa de red Preámbulo Dirección de destino Dirección de fuente Tipo Datos CRC 8 bytes 6 bytes 6 bytes 2 bytes 46 a 1500 bytes 4 bytes
  39. Ethernet • Ethernet tiene las siguientes características – Ocupa transmisión

    de banda base • El adaptador manda una señal digital directamente al canal de broadcast, a diferencia de ADSL, que cambian la frecuencia de la señal a otra banda de frecuencias. – Utiliza codificación Manchester • Cada bit contiene una transición ILI-256, Redes de Computadores 56
  40. Codificación Manchester Stream 1 0 0 0 1 0 0

    1 1 1 1 Binario Manchester ILI-256, Redes de Computadores 57
  41. Ethernet • Ethernet entrega un servicio sin conexión (connectionless), no

    confiable – No hay handshake – Si un frame falla o no el chequeo CRC, no se envían ni ACKs ni NAKs • Si frame falla, se descarta. • Recordar que RDT lo entrega TCP! ILI-256, Redes de Computadores 58
  42. CSMA/CD: El MAP de Ethernet • Cuando se tiene un

    hub interconectando los nodos, se tiene una LAN de broadcast. • Ethernet ocupa CSMA/CD como MAP para manejar el broadcast. • El carrier sensing se realiza midiendo el voltaje del enlace • El protocolo CSMA/CD en un adaptador, funciona de la siguiente manera: ILI-256, Redes de Computadores 59
  43. CSMA/CD en Ethernet 1. El adaptador obtiene un datagrama de

    la capa de red, prepara un frame Ethernet y lo pone en un buffer del adaptador 2. Si el adaptador detecta el canal desocupado, es decir, no hay señal en 96 bits de tiempo, transmite el frame. Si no, espera hasta que no haya señal (otros 96 bits de tiempo) y empieza a transmitir. ILI-256, Redes de Computadores 60
  44. CSMA/CD en Ethernet 3. Mientras transmite, el adaptador monitorea si

    es que llega señal de energía de otros adaptadores. Si el adaptador transmite todo el frame sin detectar señal de otros adaptadores, el adaptador terminó su trabajo con el frame. 4. En caso de que haya detectado señal de otros adaptadores, termina de transmitir y manda una señal de interferencia (jam signal) de 48 bits ILI-256, Redes de Computadores 61
  45. CSMA/CD en Ethernet 5. Después de abortar (al terminar de

    enviar la jam signal), el adaptador empieza un backoff exponencial, es decir – Después de tener la n-ésima colisión consecutiva con el mismo frame, el adaptador elige un número K al azar desde {0,1,2,…,(2^m)-1}, donde m = min(n, 10) – El adaptador espera K * 512 bits de tiempo, y después regresa al paso 2. ILI-256, Redes de Computadores 62
  46. Switches • Función principal – Recibir frames de la capa

    de enlace y realizar forwarding hacia un enlace de salida • Transparente para los nodos • Cada interfaz tiene un buffer • Veremos más en detalle estás características ILI-256, Redes de Computadores 64
  47. Forwarding y Filtrado • Filtrado – Determinar si un frame

    debe ser “forwardeado” o descartado • Forwarding – Misma definición que en capa de red para los routers • Estas dos funcionalidades son realizadas en base a una tabla de switching que contiene – Direcciones MAC – Interfaces – Timestamp de la entrada ILI-256, Redes de Computadores 65
  48. Forwarding y Filtrado • Si llega un frame con dirección

    de destino DD- DD-DD-DD-DD-DD, pueden pasar 3 cosas – Si no hay una entrada para esa dirección, se realiza broadcast del frame – Hay una entrada asociada, pero para la misma interfaz por donde llega el frame, por lo que el frame se descarta (Filtrado) – Hay una entrada asociada para una interfaz distinta a la de llegada. El frame se envía al buffer de la interfaz de salida. (Forwarding) ILI-256, Redes de Computadores 66
  49. Auto aprendizaje • La tabla de switching se construye de

    manera automática, dinámica y autónoma. • Es decir – La tabla empieza vacía – Cuando llega un frame, almacena la dirección MAC de fuente, la interfaz por donde llegó, y el timestamp. – Si no llegan frames hacía una dirección MAC dada después de un tiempo (aging time), la entrada es eliminada. • Se puede concluir que los switch son Plug-and- Play ILI-256, Redes de Computadores 67
  50. Propiedades de un switch • Elimina colisiones • Puede usar

    enlaces heterogéneos • Administración simple ILI-256, Redes de Computadores 68
  51. Switches vs Routers Hubs Routers Switches Aislamiento del tráfico NO

    SI SI Plug-and-Play SI NO SI Routing óptimo NO SI NO ILI-256, Redes de Computadores 69