Capa Enlace de Datos - Escuela de Ingeniería Civil en Informática

Anuncio
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
Descargar