Capa Enlace de Datos Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http://informatica.uv.cl Última modificación: 30/09/2014, 18:00 horas Modelo ISO/OSI v/s IEEE Control de Enlace Lógico Estándares de redes LAN Ethernet 10 Mbit/s: 802.3 Fast Ethernet 100 Mbit/s: 802.3u Gigabit Ethernet 1000 Mbit/s: 802.3z Control de Acceso al Medio Wifi 802.11 (2[Mbps]] 802.11b (11[Mbps]) 802.11g (54[Mbps]) 802.11n (~100[Mbps)] Otros Redes de Computadores – Ingeniería Civil Informática 2 informatica.uv.cl Direcciones físicas Las direcciones MAC Ienen 48 bits de largo y se expresan como doce dígitos hexadecimales. ! Los seis primeros dígitos hexadecimales, que son administrados por el IEEE, idenIfican al fabricante o proveedor y, de ese modo, abarcan el IdenIficador Exclusivo de Organización (OUI). ! Los seis dígitos hexadecimales restantes abarcan el número de serie de interfaz, u otro valor administrado por el proveedor específico. Redes de Computadores – Ingeniería Civil Informática 3 informatica.uv.cl Frame Ethernet 10101011 Dirección de Capa Enlace de Datos Protocolo de alto nivel Frame Check Secuence Datos de capa superior MTU802.3: 1500[Bytes] Redes de Computadores – Ingeniería Civil Informática 4 informatica.uv.cl Protocolos de capa de enlace de datos Redes de Computadores – Ingeniería Civil Informática 5 informatica.uv.cl Control de flujo: Stop & Wait Emisor El emisor no transmite el próximo frame hasta que llegue un ACK (acknowledgement). Frame 0 ACK 1 Frame 1 El ID del ACK es el ID del próximo frame a transmiIr. S&W puro, los frames Ienen sólo dos ID (0 y 1). Receptor ACK 2 Frame 2 Timeout Frame 2 ACK 3 t t Redes de Computadores – Ingeniería Civil Informática 6 informatica.uv.cl Stop & Wait Implementación void sender(void){ frame send, recv; ! ! } Emisor Frame 0 next_frame_to_send=0; from_net_layer(&buffer); while(1) { send.payload=buffer; send.seq=next_frame_to_send; to_phy_layer(&send); start_time(send.seq); wait_for_event(&event); } if(event==frame_arrival){ from_phy_layer(&recv); if(recv.ack==(next_frame_to_send+1) ){ stop_timers(send.seq); from_net_layer(&buffer); next_frame_to_send++; } } Receptor ACK 1 Frame 1 ACK 2 Frame 2 Timeout Frame 2 ACK 3 t t Redes de Computadores – Ingeniería Civil Informática 7 informatica.uv.cl Stop & Wait Implementación Emisor void receiver(void){ frame recv, send ! } Frame 0 frame_expected=0; while(1){ wait_for_event(&event); if(event==frame_arrival){ from_phy_layer(&recv); ACK 1 Frame 1 ACK 2 if(recv.seq=frame_expected){ to_net_layer(&recv.payload); frame_expected++ } ! } } send.ack=frame_expected; to_phy_layer(&send); Receptor Frame 2 Timeout Frame 2 ACK 3 t t Redes de Computadores – Ingeniería Civil Informática 8 informatica.uv.cl S&W: Rendimiento ObjeIvo Comparar Iempo de envío versus Iempo total empleado Modelo Cf: Tiempo de creación Frame D: Distancia Emisor-Receptor R: Distancia Emisor-Receptor Fd: Tamaño frame de datos Fack: Tamaño frame de ACK Vp: Velocidad de propagación Vtx: Velocidad de transmisión Redes de Computadores – Ingeniería Civil Informática 9 informatica.uv.cl S&W: Rendimiento Fd Vtx η= D Fd Fack 2Cf + 2 + + Vp Vtx Vtx Cf → 0, Fack ≪ Fd Si Fd t datos 1 Vtx η≈ = = D Fd 2t prop + t datos 2α + 1 2 + Vp Vtx t prop t prop : Tiempo de propagación α= , t datos t datos : Tiempo de Tx de datos Redes de Computadores – Ingeniería Civil Informática 10 informatica.uv.cl S&W: Rendimiento Usuario Velocidad efecIva de Tx: vef,tx Vef ,tx = Fd D Fd Fack 2Cf + 2 + + Vp Vtx Vtx Ejercicio: ! Comparar S&W con envío sin control de flujo. Redes de Computadores – Ingeniería Civil Informática 11 informatica.uv.cl S&W: inconvenientes: Considere un enlace de 1.5[Mbps], con un RTT=45[ms]. El emisor envía frames de 1[KB]. BW•retardo≈8[KB] El enlace se sub-­‐uIliza ¿Cómo solucionar este problema? Redes de Computadores – Ingeniería Civil Informática 12 informatica.uv.cl Control de Flujo: Ventana deslizante Idea Básica Receptor Aumentar el rendimiento del canal desde el punto de vista del usuario. PermiIr el aumento de la velocidad efecIva de transmisión. Emisor ACK 9 ACK 5 t t Redes de Computadores – Ingeniería Civil Informática 13 informatica.uv.cl Control de Flujo: Ventana deslizante Emisor Asigna a cada frame un ID: SeqNum Tamaño ventana de envío (Send Windows Size): SWS ÚlImo ACK recibido (Last Ack Received) : LAR ÚlImo Frame enviado (Last Frame Sent) : LFS Se cumple que: LFS-­‐LAR≤SWS Redes de Computadores – Ingeniería Civil Informática 14 informatica.uv.cl Control de Flujo: Ventana deslizante Receptor Tamaño ventana de recepción (Receive Windows Size): RWS ID mayor de los frames aceptado (Largest Acceptable Frame) : LAF ID del úlImo Frame recibido (Last Frame Received) : LFR Se cumple que: LAF-­‐LFR≤RWS Redes de Computadores – Ingeniería Civil Informática 15 informatica.uv.cl Control de Flujo: Ventana deslizante Redes de Computadores – Ingeniería Civil Informática 16 informatica.uv.cl Detección de errores Principio de funcionamiento Emisor FCS = F(Payload) Payload Payload Payload Mensaje a enviar FCS Receptor FCS FCS’ = F(Payload) FCS == FCS’ Sí Mensaje Correcto No Mensaje Erróneo Redes de Computadores – Ingeniería Civil Informática 17 informatica.uv.cl Códigos de Redundancia Cíclica (CRC) Antecedentes: Tanto el Payload como el código de error son bits Números k+n [bits] Mensaje enviado Payload (M) FCS (F) k[bits] n[bits] Idea El mensaje enviado debe ser un número que sea divisible exactamente por un número “estándar” Si en el receptor, al dividir por dicho número, la división no es exacta, se asume que hubo error en la transmisión. Redes de Computadores – Ingeniería Civil Informática 18 informatica.uv.cl Códigos de Redundancia Cíclica (CRC) Los mensajes binarios se puedes representar por polinomios M=10011010 Gen=1101 M(x)=x7+x4+x4+x1 Gen(x)=x3+x2+1 T = M(x)•2n+Residuo Para la división, se ocupa aritméIca “polinomial” o “módulo 2” : = En este caso, la trama que se envía es: T=10011010101 Residuo Redes de Computadores – Ingeniería Civil Informática 19 informatica.uv.cl Acceso al medio Redes de Computadores – Ingeniería Civil Informática 20 informatica.uv.cl Introducción Escenario Usan un canal simple de difusión comparIda. Problemas: En la Tx: pueden haber dos o más simultáneas por nodos (Interferencia) En la Rx: Un nodo recibe dos o más señales al mismo Iempo (colisión) Protocolos de acceso múlJple Algoritmo distribuido que determinan cómo los nodos comparten el canal, i.e., determina cuándo un nodo puede transmiIr Son los mensajes para ponerse de acuerdo sobre cómo comparIr el mismo canal. Redes de Computadores – Ingeniería Civil Informática 21 informatica.uv.cl Introducción Escenario Usan un canal simple de difusión comparIda. Problemas: En la Tx: pueden haber dos o más simultáneas por nodos (Interferencia) En la Rx: Un nodo recibe dos o más señales al mismo Iempo (colisión) Protocolos de acceso múlJple Algoritmo distribuido que determinan cómo los nodos comparten el canal, i.e., determina cuándo un nodo puede transmiIr Son los mensajes para ponerse de acuerdo sobre cómo comparIr el mismo canal. Redes de Computadores – Ingeniería Civil Informática 22 informatica.uv.cl Introducción Escenario N0 N1 Protocolos de acceso al medio BWnodo/BWcanal Medio Compartido (Dominio de Colisiones, Dominio de Broadcast) 1 Nj N2 1 #nodos Posibles temas para invesIgar Acceso a redes 802.11 802.15.1 3G #nodos Redes de Computadores – Ingeniería Civil Informática 23 informatica.uv.cl Interconexión de redes de Data Link (capa 2) Redes de Computadores – Ingeniería Civil Informática 24 informatica.uv.cl Alcance En clases, sólo se estudiará el caso de packet switching. El caso de Virtual Circuit Switching, queda como posible tema de invesIgación Redes de Computadores – Ingeniería Civil Informática 25 informatica.uv.cl Redes de capa 2 (802.3) Switch Redes de Computadores – Ingeniería Civil Informática 26 informatica.uv.cl Redes de capa 2 (802.3) Host B Host A Protocolo HTTP Cliente Web (Navegador) Protocolo TCP TCP IP Servidor Web TCP Protocolo IP Protocolo IP IP Switch 802.3 802.3 802.3 802.3 802.3 Host A Host B Redes de Computadores – Ingeniería Civil Informática 27 informatica.uv.cl Implementación de cada boca del nodo Redes de Computadores – Ingeniería Civil Informática 28 informatica.uv.cl Estrategia de funcionamiento SW El SW recibe todos los frames de capa 2. MAC Port Age DO ← Leer Dirección Origen NO ¿DO Se dice que el SW es un disposiIvo TRANSPARENTE para los nodos finales. Tabla de Direcciones Origen (TDO) Recibir Frame en Port X ∈ TDO? Agregar DO SI DD ← Leer Dirección Destino NO DD == FF..FF SI Existe un retardo de procesamiento del frame ethernet NO ¿DD ∈ TDO? SI ➔ PPS (Paquets per Second) PORT(DD) == PORT X NO SI Redes de Computadores – Ingeniería Civil Reenviar frame Reenviar frame a a todos los puertos, Descartar frame PORT(DD) Informática 29 excepto X informatica.uv.cl Ejemplo cálculo PPS mínimo Redes de Computadores – Ingeniería Civil Informática 30 informatica.uv.cl Mientras tanto, en la realidad… ¡¡¡¡Análisis críIco, por favor!!!! Redes de Computadores – Ingeniería Civil Informática 31 informatica.uv.cl Ejemplo de interconexión Host Nube Red Cableada A Nube Wireless Wireless AP Nube Red Cableada A Router Host Comunicación Fin a Fin Host Protocolo HTTP Cliente Web (Navegador) En algún momento se vio este ejemplo… Protocolo TCP TCP Protocolo IP IP wirelesss AP 802.11 802.11 802.3 80 Redes de Computadores – Ingeniería Civil Informática 32 informatica.uv.cl Ejemplo de interconexión Internet MN R AP address 1 address 2 address 3 AP MAC MN MAC R MAC 802.11 R MAC MN MAC destination address source address 802.3 Redes de Computadores – Ingeniería Civil Informática 33 informatica.uv.cl Relación entre IP (L3) y MAC(L2) Redes de Computadores – Ingeniería Civil Informática 34 informatica.uv.cl Traducción de IP a MAC Suponga que la aplicación en A1 desea enviar un paquete a A2. A1 A3 IP1 MAC1 Switch IP2 MAC2 A2 Encapsulamiento A1 Origen L2 Destino L2 Origen L3 Destino L3 Payload Se determina a través de ARP (RFC826) Estructura de Computadores – Ingeniería Civil Informática 35 informatica.uv.cl Traducción de IP a MAC A1 A3 IP1 MAC1 Switch IP2 MAC2 A2 0xFFFFFFFF 0x0806 mensaje ARP ARP Message (broadcast): ¿cuál es la dirección MAC de IP2? ARP Message (unicast) : La dirección IP2 mencionada pertenece a la dirección MAC2 Estructura de Computadores – Ingeniería Civil Informática 36 informatica.uv.cl Consecuencias del broadcast L2 Estructura de Computadores – Ingeniería Civil Informática 37 informatica.uv.cl Dos switchs con enlaces redundantes A1 A4 IP1 MAC1 Tabla de Direcciones Origen (TDO) Recibir Frame en Port X MAC Port Age DO ← Leer Dirección Origen Switch 1 NO ¿DO ∈ TDO? Agregar DO SI DD ← Leer Dirección Destino NO DD == FF..FF Switch 2 SI NO ¿DD ∈ TDO? SI A2 IP2 MAC2 A3 PORT(DD) == PORT X NO SI Reenviar frame a todos los puertos, excepto X Descartar frame Reenviar frame a PORT(DD) Estructura de Computadores – Ingeniería Civil Informática 38 informatica.uv.cl Spanning tree protocol Estructura de Computadores – Ingeniería Civil Informática 39 informatica.uv.cl Objetivo Conver)r el grafo de interconexión de switchs en un árbol, para evitar los ciclos S1 S1 S4 S4 S2 S2 S3 S3 S6 S5 S6 S5 S7 S7 S1 U DP BD B Desarrollado por Radia Perlman. Protocolo IEEE 802.1D PU U BDP S4 S2 S3 S6 S5 Los disposi)vos intercambian mensajes de configuración: BDPU: Bridge Protocol Data Unit S7 Estructura de Computadores – Ingeniería Civil Informática 40 informatica.uv.cl Objetivo Para permi)r lo anterior, los puertos de los switchs )enen el siguiente diagrama de estados: S1 Forwarding 802.1d S4 S2 S3 S6 S5 Blocked Al converger STP, los switchs )enen puertos en modo forwarding y blocked o discarded S7 Estructura de Computadores – Ingeniería Civil Informática 41 informatica.uv.cl Nodo Raíz S1 BD PU BD PU U BDP A través de los BDPU: Selecciona un nodo como la raíz del árbol ! Se determinan los caminos más “cortos” desde cada nodo al raíz. S4 S2 S3 S6 S5 Aquél nodo que tengo el menor ID, es el nodo raíz (Root Bridge) S7 8[Bytes] Más cortos ➛ Menos costoso Prioridad del Switch MAC del Switch 2[Bytes] 6[Bytes] Por Omisión: 32768 Estructura de Computadores – Ingeniería Civil Informática 42 informatica.uv.cl Tiempo de convergencia S1 S1 S4 S4 S2 S2 S3 S3 S6 S5 S6 S5 t≈40[s] S7 S7 En RSTP, t≈15[s] Estructura de Computadores – Ingeniería Civil Informática 43 informatica.uv.cl Multicast en L2 Redes de Computadores – Ingeniería Civil Informática 44 informatica.uv.cl ¿Por qué? Redes de Computadores – Ingeniería Civil Informática 45 informatica.uv.cl ¿Por qué? Ventajas Mejor uso del BW Los nodos de origen no )enen que conocer las IP de los des)natarios Desventajas Sólo UDP Calidad de servicio es diccil de implementar No hay confiabilidad No hay control de flujo Redes de Computadores – Ingeniería Civil Informática 46 informatica.uv.cl Definiciones Fuente: wikipedia En 802.3, están definidas las siguientes direcciones mcast Prefijo L2: 24 bits 24 bits 00000001:00000000:01011110:01111111:00000000:00000001 Mul?cast bit 01 : 00 : 5E : 7F : 00 : Dirección L2 Destino 01 Dirección Multicast IPv4 Redes de Computadores – Ingeniería Civil Informática 47 informatica.uv.cl Distribución de un frame Mcast La distribución se debe realizar a través de disposi)vos de L2 (switchs) Caso 1: Switch básico Paquetes mulJcast son tratados como broadcast. Algunos los bloquean. Caso 2: Switch con capacidad MulJcast Tienen el sogware necesario para aprender qué puertos están asociados a un grupo mul)cast en par)cular IGMP: Internet Group Management Protocol (v1 RFC1112, Permite el envío de mensaje cuando: v2 RFC2346 un host se une a un grupo v3 RFC3376, cuando lo abandona RFC4604) permite realizar consultas Redes de Computadores – Ingeniería Civil Informática 48 informatica.uv.cl Distribución de un frame Mcast L2 Switch con IGMP Snooping habilitado CPU Módulo de swithing Tabla MAC P0 P1 N0 N0 se une al grupo 239.155.0.1 N1 P2 P3 N2 N3 Redes de Computadores – Ingeniería Civil Informática 49 informatica.uv.cl Distribución de un frame Mcast L2 Switch con IGMP Snooping habilitado CPU Módulo de swithing Tabla MAC P0 01:00:5E:7F:00:01 P1 P2 P3 P0 N0 N1 N0 se une al grupo 01:00:5E:7F:00:01 N2 N3 Redes de Computadores – Ingeniería Civil Informática 50 informatica.uv.cl Distribución de un frame Mcast L2 Switch con IGMP Snooping habilitado CPU Módulo de swithing Tabla MAC P0 01:00:5E:7F:00:01 P1 P2 P3 P0 N0 N1 N2 N1,N2 se une al grupo 01:00:5E:7F:00:01 N3 Redes de Computadores – Ingeniería Civil Informática 51 informatica.uv.cl Distribución de un frame Mcast L2 Switch con IGMP Snooping habilitado CPU Módulo de swithing Tabla MAC P0 01:00:5E:7F:00:01 P1 P2 P3 P0,P1,P2 N0 N1 N2 N1,N2 se une al grupo 239.155.0.1 N3 Redes de Computadores – Ingeniería Civil Informática 52 informatica.uv.cl Distribución de un frame Mcast L2 Switch con IGMP Snooping habilitado CPU Módulo de swithing Tabla MAC P0 01:00:5E:7F:00:01 P1 P2 P3 P0,P1,P2 Envía un dato al grupo N0 N1 N2 N3 Redes de Computadores – Ingeniería Civil Informática 53 informatica.uv.cl Virtual LAN Redes de Computadores – Ingeniería Civil Informática 54 informatica.uv.cl VLAN Una VLAN es una agrupación lógica de disposi)vos de red o de usuarios que no se limita a un segmento de switch csico. Los disposi)vos o usuarios de una VLAN se pueden agrupar por funciones, departamentos, aplicaciones, etc., independientemente de la ubicación csica de su segmento. Una VLAN crea un dominio de broadcast único que no se restringe a un segmento csico y se considera como una subred. Redes de Computadores – Ingeniería Civil Informática 55 informatica.uv.cl VLAN N1 N0 N2 N4 N1 Es lo “mismo” que M switchs independientes Un sólo switch, configurado con M VLANs N5 N3 N0 N4 N5 N3 N2 Redes de Computadores – Ingeniería Civil Informática 56 informatica.uv.cl VLAN Redes de Computadores – Ingeniería Civil Informática 57 informatica.uv.cl VLAN Redes de Computadores – Ingeniería Civil Informática 58 informatica.uv.cl VLAN Un sólo switch, configurado con múl)ples VLANs Redes de Computadores – Ingeniería Civil Informática 59 informatica.uv.cl VLAN (conectividad inter SW) N1 N0 N3 N2 ¿Como unir los nodos de la misma VLAN en dis)ntos SWs? N4 N9 N7 N5 N6 N8 Redes de Computadores – Ingeniería Civil Informática 60 informatica.uv.cl VLAN Protocolo 802.1q N1 N0 N3 N2 Puertos configurados con protocolo 802.1q N4 N9 N7 N5 N6 N8 Redes de Computadores – Ingeniería Civil Informática 61 informatica.uv.cl VLAN Protocolo 802.1q N1 N0 N3 N2 Puertos configurados con protocolo 802.1q (troncales) N4 N9 N7 Si N0 envía un broadcast L2, ¿a qué nodos les llega dicho mensaje? N5 N6 N8 Redes de Computadores – Ingeniería Civil Informática 62 informatica.uv.cl VLAN Protocolo 802.1q 802.1q Edificio 1 El troncal, a nivel de frame ethernet, lleva la información de la VLAN a la cual pertenece dicho frame Edificio 2 45 Redes de Computadores – Ingeniería Civil Informática 63 informatica.uv.cl