Introduccion a Las Redes

Redes Grupo de Sistemas y Comunicaciones [email protected] Octubre 2003 1 Introducci´ on a las Redes de

Views 265 Downloads 3 File size 603KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Redes Grupo de Sistemas y Comunicaciones [email protected]

Octubre 2003

1

Introducci´ on a las Redes de Ordenadores

c

2003 GSyC

Redes

Objetivos de las Redes de Ordenadores

2

Objetivos de las Redes de Ordenadores Compartir recursos: Discos duros, impresoras, programas. . . Compartir informaci´ on: Acceso documentos remotos. . . Mejorar la fiabilidad: Alternativas, replicaci´ on. . . Incrementar el rendimiento: M´aquinas trabajando juntas. . . Servir de medio de comunicaci´ on de personas/comunidades

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Estructura de las Redes

3

Estructura de las Redes Diversas m´aquinas (hosts) se conectan a una subred de comunicaciones que permite el di´alogo entre ellas. Dos formas fundamentales de dise˜ nar la subred de comunicaciones: mediante canales punto-a-punto mediante canales de radiado broadcast Normalemente hay una mezcla de muchos canales de los dos tipos.

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Topolog´ıas comunes en Redes

4

Topolog´ıas comunes en Redes

ESTRELLA

ANILLO

TOTALMENTE CONECTADA

BUS

c

2003 GSyC

ARBOL

PARCIALMENTE CONECTADA

SATELITE

ANILLO

Redes: Introducci´ on a las Redes de Ordenadores

Protocolo de Comunicaciones

5

Protocolo de Comunicaciones “Conjunto de reglas (interfaces, algoritmos, formatos de mensajes . . . ) que conocen las entidades que intercambian datos a trav´es de una red de comunicaciones.”

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos

6

Jerarqu´ıas de Protocolos En la mayor´ıa de las redes se utilizan varios protocolos con distintos prop´ ositos. Todos esos protocolos se organizan normalmente en niveles o capas. cada nivel ofrece servicios al nivel superior cada nivel se apoya en los servicios ofrecidos por el nivel inferior

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

7

Principios Fundamentales Cada nivel ofrece servicios al nivel superior, ocult´andole la forma en que realmente se implementan dichos servicios. Cada nivel dentro de una m´aquina “conversa” con su gemelo en otra. Las reglas que rigen esta “conversaci´ on” forman el protocolo de dicho nivel. No hay transferencia f´ısica de datos entre niveles gemelos. La transferencia se hace en cada m´aquina entre niveles adyacentes, a trav´es de las interfaces entre niveles: llamadas a procedimientos/funciones.

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

Maquina A

Nivel 4

8

Maquina B Protocolo del Nivel 4

Nivel 4

interfaz 3/4

Nivel 3

Protocolo del Nivel 3

Nivel 3

interfaz 2/3

Nivel 2

Protocolo del Nivel 2

Nivel 2

interfaz 1/2

Nivel 1

Protocolo del Nivel 1

Nivel 1

Medio de transmision

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

9

M´ aquina origen de una comunicaci´ on El mecanismo b´asico en cada nivel es: tomar las unidades de datos que le ofrece el nivel superior procesarlos (agrupando, separando, . . . ) y formar sus propias unidades de datos (a˜ nadiendo informaci´ on de control en cabeceras) pasar sus unidades de datos al nivel inferior, usando sus servicios ¿Es esto software o hardware?

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

10

M´ aquina destino de una comunicaci´ on El mecanismo b´asico en cada nivel es: tomar las unidades de datos que le ofrece el nivel inferior identificar las cabeceras introducidas en el nivel gemelo para procesar los datos adecuadamente (agrupando, separando, . . . ) pasar los datos al nivel superior ¿Es esto software o hardware?

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

11

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

12

Protocolo Nivel N+1 

 























































 



 



Protocolo Nivel N

 





Protocolo Nivel N-1

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

13

Protocolo Nivel N+1

Protocolo Nivel N

c

2003 GSyC

































 





































































 





















Protocolo Nivel N-1

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

14

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1



































































 





 































c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

15

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1

c

2003 GSyC

























































































































































Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

16

Protocolo Nivel N+1

Protocolo Nivel N

























































































Protocolo Nivel N-1

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

17

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Jerarqu´ıas de Protocolos (cont.)

18

Protocolo Nivel N+1

















































































































































Protocolo Nivel N





















































































































































 

























































































Protocolo Nivel N-1

c

2003 GSyC



























































































































 





 





 



















 





 



















Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura de Red

19

Arquitectura de Red Conjunto de niveles y protocolos de una determinada red de ordenadores. Las distintas arquitecturas de redes se diferencian en: N´ umero de niveles, y servicios de cada nivel Protocolos de cada nivel

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura OSI

20

Arquitectura OSI En 1983 ISO (Organizaci´ on de Est´andares Internacionales) propone un modelo de referencia para arquitecturas de redes: Modelo de Referencia para la Interconexi´ on de Sistemas Abiertos (ISO OSI Reference Model). El Modelo OSI no es estrictamente una arquitectura, sino un marco al que deben someterse protocolos concretos para establecer una arquitectura “conforme a OSI” OSI no define los servicios y protocolos exactos para cada nivel, s´ olo aquello de lo que cada nivel debe ocuparse.

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura OSI (cont.)

21

La “torre” OSI Maquina A Aplicacion

Presentacion

Sesion

Transporte

Red

Enlace

Fisico

Maquina B Protocolo de Aplicacion

Protocolo de Presentacion

Protocolo de Sesion

Protocolo de Transporte

Protocolo de Red

Protocolo de Enlace

Protocolo de nivel Fisico

Aplicacion

Presentacion

Sesion

Transporte

Red

Enlace

Fisico

Medio de transmision

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura OSI (cont.)

22

El Nivel F´ısico Se ocupa de enviar y recibir bits sobre un medio f´ısico de transmisi´ on: Debe asegurarse que la forma de transmitir un bit a 1 es reconocida en recepci´ on como un bit a 1. La transmisi´ on puede ser el´ectrica, ´ optica, . . . Aborda los problemas el´ectricos, electr´ onicos, de establecimiento de conexiones f´ısicas, . . .

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura OSI (cont.)

23

El Nivel de Enlace Transforma un sistema de transmisi´ on crudo (lo que le ofrece el nivel f´ısico) en una l´ınea libre de errores de transmisi´ on (lo que ofrece para el nivel de red) entre m´aquinas conectadas al mismo medio f´ısico. Forma tramas. Se encarga de detectar las tramas recibidas con errores de transmisi´ on. Adem´as, puede • descartar las tramas con errores, y/o • corregir los errores de las tramas con errores, y/o • pedir la retransmisi´ on de las tramas con errores Se ocupa de resolver los problemas de acceso a un medio de transmisi´ on compartido.

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura OSI (cont.)

24

Nivel de Red Se encarga de la interconexi´ on de m´aquinas que no est´an conectadas al mismo medio de transmisi´ on. Por ello su misi´ on fundamental es el encaminamiento de paquetes desde la m´aquina origen a la m´aquina de destino. El encaminamiento puede ser est´atico o din´amico. Gestiona las congestiones y cuellos de botella. Puede incluir funciones de tarificaci´ on. Puede proporcionar distintos tipos de servicio: Fiable, no fiable.

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura OSI (cont.)

25

Nivel de Transporte Se encarga de gobernar el acceso m´ ultiple a la red de los diversos procesos de la misma m´aquina que quieran usarla (gestiona puertos en m´aquinas multiproceso). Puede proporcionar distintos tipos de servicio: Fiable, no fiable. Realiza comunicaci´ on extremo a extremo, no tiene en cuenta las m´aquina intermedias. Realiza control de flujo extremo a extremo (el receptor no es capaz de recibir a la velocidad a la que transmite el emisor).

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura OSI (cont.)

26

Nivel de Sesi´ on Permite a usuarios en distintas m´aquinas establecer sesiones entre ellos: Proporciona mecanismos para controlar el di´alogo: Ej: Turno, gesti´ on de tokens. Gestiona la sincronizaci´ on entre m´aquinas. Ejemplo: pizarra compartida.

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura OSI (cont.)

27

Nivel de Presentaci´ on Se ocupa de la sintaxis y sem´antica de la informaci´ on transferida entre m´aquinas: Orden de bytes de enteros (little endian/big endian). Representaci´ on de caracteres alfab´eticos. Tama˜ no de los tipos de datos. T´ıpicamente traduce los datos a un formato normalizado que todas las m´aquinas entienden. Tambi´en se suele ocupar de la compresi´ on y cifrado de datos.

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura OSI (cont.)

28

Nivel de Aplicaci´ on Contiene un conjunto de protocolos que son de utilidad directa para aplicaciones que usan la red: Para transmisi´ on de ficheros Para correo electr´ onico Para control de trabajos remotos ...

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura OSI (cont.)

29

Cr´ıticas al Modelo OSI Surgi´ o demasiado pronto. Niveles de distinto “grosor”. Modelo muy complejo. Funcionalidades mal situadas: cifrado, . . . Modelo dominado por una visi´ on “telef´ onica” de las redes de datos Hoy la arquitectura OSI ha ca´ıdo en desuso, pero se utiliza su terminolog´ıa (fundamentalmente la denominaci´ on de los niveles)

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura TCP/IP

30

Arquitectura TCP/IP Su desarrollo comenz´ o a finales de los 60, como proyecto financiado por el Gobierno de los Estados Unidos. Aut´entico sistema abierto: Los protocolos y sus implementaciones est´an disponibles p´ ublicamente. Constituyen el armaz´ on sobre el que se sit´ ua Internet. No se ajusta exactamente al modelo de referencia OSI, surgio antes y OSI no intent´ o incluirlo. Su ´exito (a partir del de Internet) ha hecho que sea la arquitectura m´as importante y conocida actualmente.

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura TCP/IP (cont.)

31

La pila TCP/IP Nivel de Aplicaci´ on

DNS, SMTP, HTTP. . .

Nivel de Transporte

TCP, UDP

Nivel de Red Nivel de Enlace

c

2003 GSyC

IP, ICMP Ethernet, PPP, ADSL

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura TCP/IP (cont.)

32

ordenador A

ordenador B Protocolo HTTP Servidor HTTP

Cliente HTTP

Protocolo TCP

TCP

TCP

encaminador IP

Driver + Tarjeta Ethernet

Protocolo IP

Protocolo Ethernet

Protocolo IP

IP

Driver + Tarjeta Ethernet

Protocolo Ethernet

Driver + Tarjeta Ethernet

IP

Driver + Tarjeta Ethernet

ETHERNET ETHERNET

c

2003 GSyC

Redes: Introducci´ on a las Redes de Ordenadores

Arquitectura TCP/IP (cont.)

33

Nivel F´ısico

c

2003 GSyC

Redes: Nivel F´ ısico

Introducci´ on

34

Introducci´ on El nivel f´ısico es el m´as bajo de toda la torre OSI. Se ocupa de c´ omo se transmiten los datos a trav´es de los medios f´ısicos de transmisi´ on. Debe ocuparse de que las entidades directamente interconectadas concuerden en la forma de usar el medio f´ısico, es decir, que un bit a 1 enviado no sea interpretado por el receptor como un bit a 0.

c

2003 GSyC

Redes: Nivel F´ ısico

Conceptos Generales

35

Conceptos Generales Velocidad de Transmisi´on: Bits por segundo que se transmiten (Unidades: Kbps, Mbps, Gbps). Tambi´en se le llama, informalmente, “ancho de banda”) Latencia o Retardo de propagaci´ on: Tiempo que tarda un bit desde que sale hasta que llega a su destino. Transmisi´ on Simplex: El canal de comunicaciones es de un solo sentido. Transmisi´ on Semi-Duplex: Canal bidireccional, pero en el que no puede transmitirse en ambos sentidos a la vez. Transmisi´ on Duplex: Canal bidireccional en el que puede transmitirse en ambos sentidos a la vez. c

2003 GSyC

Redes: Nivel F´ ısico

Medios de Transmisi´ on

36

Medios de Transmisi´ on Medios Magn´ eticos Se almacenan datos en cintas magn´eticas que se transportan en tren o cami´ on a su destino, donde se leen. ¡No es broma! Se pueden alcanzar velocidades de transferencia media de varios Gbps. El problema es la latencia o retardo de propagaci´ on: lo que tarda en llegar el primer bit a su destino. Los bancos siguen utilizando estos m´etodos.

c

2003 GSyC

Redes: Nivel F´ ısico

Medios de Transmisi´ on (cont.)

37

Cable de Pares Cable de pares: Dos cables de cobre de 1 mm de espesor, trenzados en h´elice. Pueden emplearse sin amplificaci´ on en varios kil´ ometros. Utilizados tanto en telefon´ıa como redes Ethernet. Pueden alcanzarse cientos de Mbps de ancho de banda.

c

2003 GSyC

Redes: Nivel F´ ısico

Medios de Transmisi´ on (cont.)

38

Cable Coaxial de Banda Base N´ ucleo de cobre, aislante y malla conductora. 50 ohmios. Mayor inmunidad al ruido que el cable de pares. Con cables de 1 km se alcanzan 10 Mbps.

c

2003 GSyC

Redes: Nivel F´ ısico

Medios de Transmisi´ on (cont.)

39

Cable Coaxial de Banda Ancha Igual que el de Banda Base, pero de 75 ohmios. Utilizado tradicionalmente para televisi´ on. Alcanza hasta 150 Mbps, pero necesita amplificadores intermedios que convierten el canal en unidireccional.

c

2003 GSyC

Redes: Nivel F´ ısico

Medios de Transmisi´ on (cont.)

40

´ Fibra Optica En vez de corriente el´ectrica se transmite luz. Para transmisi´ on digital: La presencia de luz es un 1, la ausencia un 0. Sistema de Transmisi´ on: Emisor: Diodo l´aser Medio: Fibra ´ optica (silicio) Receptor: Foto-diodo Puede transmitirse hasta a 20 Gbps en varios km. Se han alcanzado velocidades de 1 Tbps en laboratorio y el l´ımite te´ orico est´a por los 50 Tbps.

c

2003 GSyC

Redes: Nivel F´ ısico

Medios de Transmisi´ on (cont.)

41

Transmisi´ on por Aire Se transmiten se˜ nales de radiofrecuencia por radiado (broadcast). Tres escenarios en los que se utiliza: Redes Inal´ ambricas (WiFi/802.11): • Alcances en el entorno de los cientos de metros, con antenas direccionales especiales unos cuantos kil´ ometros. • 11 Mbps - 54 Mbps Redes por Sat´elite: • Cuando no hay vis´ on directa emisor–receptor: Sat´elites. • Cada sat´elite tiene varios transpondedores (canales), ofreciendo cada uno cientos de Mbps para transmisi´ on de datos. • Principal problema: retardo, t´ıpicamente 300 ms extremo a extremo para sat´elites geosincr´ onicos. Pero si no hay retransmisiones, puede ser mejor que cables. GSM/GPRS c

2003 GSyC

Redes: Nivel F´ ısico

Transmisi´ on Digital

42

Transmisi´ on Digital Para medios capaces de transportar una se˜ nal digital directamente. Ventaja: Menor tasa de errores (puede recrearse la se˜ nal original en puntos intermedios) Se transmite una se˜ nal cuadrada, en la que los distintos niveles de tensi´ on indican la transmisi´ on de ceros o unos. Hay varias formas de codificar los 0 y 1: C´ odigo unipolar, NRZ, Manchester, Manchester diferencial. . .

c

2003 GSyC

Redes: Nivel F´ ısico

Transmisi´ on Digital (cont.)

43

Ejemplo: C´ odigo Manchester V 0

0

1

0

0

1

1

1

0

1

t

Nota: No se puede transmitir una se˜ nal cuadrada perfecta (ancho de banda infinito). Se transmite una suma de sinusoides que se le parece:

c

2003 GSyC

Redes: Nivel F´ ısico

Transmisi´ on Anal´ ogica

44

Transmisi´ on Anal´ ogica Para medios dise˜ nados para transportar se˜ nales anal´ ogicas (ej: l´ınea telef´ onica). Se necesitan MOduladores–DEModuladores en los puntos de acceso al medio. Los modems convierten una se˜ nal digital en su equivalente anal´ ogica (modulan) y viceversa (demodulan).

MODEM

MODEM

Transmision ´ Digital Transmision ´ ´ Analogica

c

2003 GSyC

Redes: Nivel F´ ısico

Transmisi´ on Anal´ ogica (cont.)

45

Tipos de Modulaci´ on 0

Se˜ nal digital:

Modulaci´on ASK:

1

0

1

1

0

0

1

0

0

1

0

0

(a)

(b)

Modulaci´on FSK:

(c)

Modulaci´on PSK:

(d)

Phase changes

Modulaci´on QAM: c

2003 GSyC

Combinaci´ on de ASK y PSK. Redes: Nivel F´ ısico

Transmisi´ on Anal´ ogica (cont.)

46

Nivel de Enlace

c

2003 GSyC

Redes: Nivel de Enlace

Introducci´ on

47

Introducci´ on El Nivel de Enlace suele subdividirse en dos subniveles: Nivel de Red LLC (Subnivel de Control del Enlace L´ ogico) MAC (Subnivel de Control de Acceso al Medio) Nivel F´ısico

MAC: gobierna el acceso a un medio de transmisi´ on compartido por varias m´ aquinas LLC: ofrece al nivel de red un servicio de transmisi´ on de datos entre m´ aquinas adyacentes, encarg´ andose de: composici´ on/descomposici´ on de tramas. control de flujo (opcional). gesti´ on de los errores en la transmisi´ on (opcional).

c

2003 GSyC

Redes: Nivel de Enlace

El problema del acceso al medio

48

El problema del acceso al medio ¿C´ omo y cuando asignar el canal f´ısico a las distintas m´aquinas que lo comparten y quieren acceder a ´el? Soluciones: Asignaci´ on est´atica: Se reparte el canal en el tiempo (TDM) o en frecuencia (FDM). Bueno para tr´aficos pesados y constantes, pero malo para r´afagas (lo habitual). Asignaci´ on din´amica: No est´a prefijado el reparto. Trata de aprovechar mejor el canal en LAN’s. • Acceso por contienda: Las m´aquinas compiten por usar el medio. Si coinciden dos o m´as a la vez: colisi´ on • Acceso por reserva: Las m´aquinas pueden hacer reservas para poder usar el canal en exclusiva durante un tiempo c

2003 GSyC

Redes: Nivel de Enlace

Protocolo CSMA/CD

49

Protocolo CSMA/CD CSMA/CD (Carrier Sense Multiple Access with Collision Detection): Acceso m´ ultiple con detecci´on de portadora. Funcionamiento: Cuando una estaci´ on quiere transmitir escucha en el canal. Si est´a ocupado, espera a que quede libre Si est´a libre, transmite. Mientras transmite, sigue escuchando para ver si alguien transmite a la vez, en cuyo caso aborta la transmisi´ on

c

2003 GSyC

Redes: Nivel de Enlace

Protocolo CSMA/CD (cont.)

50

¿C´ omo se pueden producir las colisiones? Cuando dos estaciones deciden transmitir simult´aneamente al ver el canal libre. Cuando el canal parece libre pero no lo est´a debido al retardo de propagaci´on de los paquetes por la red. Caso patol´ ogico: Dos estaciones quieren transmitir y ven que el canal est´a ocupado. Esperan a que quede libre, y cuando lo est´a ambas transmiten a la vez, colisionando. Y as´ı indefinidamente. Para evitarlo, en caso de colisi´ on las estaciones esperan un tiempo aleatorio antes de reintentar.

c

2003 GSyC

Redes: Nivel de Enlace

Protocolo CSMA/CD (cont.)

51

Tiempo que tarda en detectarse una colisi´ on en el caso peor (tiempo de reacci´ on): Doble del retardo m´aximo de propagaci´ on (τ ): Desde que A empieza a transmitir hasta que pasa τ , B puede empezar a trasmitir tambi´en. B se da cuenta de la colisi´ on inmediatamente, pero hasta que no pasa otro τ , A no se entera. Ejemplo: Con cable coaxial de 1 km τ = 5 µs tiempo de reacci´ on = 10 µs

c

2003 GSyC

Redes: Nivel de Enlace

Protocolos de Paso de Testigo

52

Protocolos de Paso de Testigo Acceso al medio por reserva: Existe un testigo o token que circula por la red. En todo momento, s´ olo el poseedor del testigo puede transmitir, por lo que desaparecen las colisiones. Supone que las estaciones de la red se configuran como un anillo f´ısico o l´ ogico. Mecanismo: Cuando el canal est´a libre, por ´el circula el testigo. Cuando una estaci´ on quiere transmitir: • captura el testigo • env´ıa su trama • devuelve el testigo al anillo.

c

2003 GSyC

Redes: Nivel de Enlace

Nivel de Enlace

53

Nivel de Enlace Recuerda: 2 partes. MAC: Control de acceso al medio (ya visto) LLC: Control del enlace l´ ogico: • Gesti´ on de tramas • Control de flujo (opcional) • Control de errores (opcional)

c

2003 GSyC

Redes: Nivel de Enlace

Gesti´ on de tramas

54

Gesti´ on de tramas El nivel f´ısico maneja una “tira” de bits que recibe-del/pasa-al nivel de enlace. El nivel de enlace maneja unidades de datos denominadas tramas. Debe encargarse de: con los datos que recibe del nivel de red, formar tramas que pasa al nivel f´ısico de los bits que recibe del nivel f´ısico, reconocer tramas y extraer los datos de ellas para pas´arselos al nivel de red.

c

2003 GSyC

Redes: Nivel de Enlace

Gesti´ on de tramas (cont.)

55

Separaci´ on de tramas Cuando el nivel de enlace toma la tira de bits del nivel f´ısico debe ser capaz de identificar tramas en ella. El m´etodo m´as habitual es colocar patrones especiales de bits al principio y/o al final de cada trama. Por ejemplo: 01111110. Problema: ¿Y si en medio bits de datos aparece justo ese patr´ on especial? Soluci´ on: Bits de relleno (bit stuffing ) — Si vienen 5 unos seguidos, el emisor a˜ nade un 0 de “relleno”. El receptor, cada vez que recibe 5 unos, descarta el 0 subsiguiente.

c

2003 GSyC

Redes: Nivel de Enlace

Control de Flujo

56

Control de Flujo Problema: Emisor enviando m´as deprisa de lo que el receptor es capaz de recoger. Soluci´ on: Los protocolos incluyen reglas que permiten al transmisor saber de forma impl´ıcita o expl´ıcita si puede enviar otra trama al receptor. Ejemplo: Al establecer la conexi´ on, el receptor indica que se le pueden enviar hasta N tramas consecutivas, pero no m´as hasta que ´el lo indique expresamente.

c

2003 GSyC

Redes: Nivel de Enlace

Gesti´ on de errores

57

Gesti´ on de errores El problema de la gesti´ on de errores puede abordarse en el nivel de enlace o en niveles superiores (normalmente nivel de transporte). Si se hace en el nivel de enlace, se corrigen los errores en la comunicaci´ on entre cada par de m´aquinas adyacentes que participen en la comunicaci´on Si se hace en el nivel de transporte, se corrigen los errores en las m´aquinas origen y destino de la comunicaci´ on.

c

2003 GSyC

Redes: Nivel de Enlace

Gesti´ on de errores (cont.)

58

Problemas: 1. alg´ un bit de una trama ha cambiado 2. una trama entera se ha perdido 3. una trama llega por duplicado al receptor Normalmente, el primer problema se resuelve siempre en el nivel de enlace, pues esos errores se dan con cierta frecuencia entre m´aquinas adyacentes. Los otros dos problemas no son tan habituales entre m´aquinas adyacentes, por lo que podr´ıa “diferirse” su soluci´ on a niveles superiores.

c

2003 GSyC

Redes: Nivel de Enlace

Bits cambiados en una trama

59

Bits cambiados en una trama Soluciones al problema: el receptor detecta el error y lo corrige autom´aticamente. el receptor detecta el error y descarta la trama incorrecta, esperando que en alg´ un momento el emisor la retransmita (ya veremos como).

c

2003 GSyC

Redes: Nivel de Enlace

Correcci´ on de errores

60

Correcci´ on de errores Consiste en introducir redundancia en la informaci´ on que se env´ıa para, en caso de error, poder “suponer” cu´al era la informaci´ on original. Idea B´asica: s´ olo ciertos patrones de bits son “posibles” si se recibe un patr´ on “imposible”, se supone que el que se quer´ıa enviar es aquel “posible” que m´as se le parezca. Distancia Hamming (d): N.o de diferencias entre dos patrones consecutivos. En un patr´ on pueden detectarse hasta d − 1 errores, y corregirse hasta (d − 1)/2 errores.

c

2003 GSyC

Redes: Nivel de Enlace

Correcci´ on de errores (cont.)

61

Ejemplo: 1. Patrones posibles: 0000000000, 0000011111, 1111100000, 1111111111 2. Se recibe: 0000000111 3. Se corrige a 0000011111 En este caso, d = 5, por lo que se pueden corregir hasta 2 errores en un patr´ on. Si al transmitir 0000011111 hubiera habido 3 errores, y llegado 0000000011, se hubiera corregido incorrectamente a 0000000000. Sin embargo s´ı se puede detectar que ha habido errores (se pueden detectar hasta 4).

c

2003 GSyC

Redes: Nivel de Enlace

Detecci´ on de errores y retransmisi´ on

62

Detecci´ on de errores y retransmisi´ on Ahora la redundancia que se introduce es s´ olo con el objeto de poder detectar cu´ando una trama ha llegado con errores, sin intentar corregirlos pues la trama ser´a reenviada. Es m´as eficiente detectar que corregir errores: se necesitan menos bits de redundancia, aunque aparece la necesidad de retransmitir. La correcci´ on de errores se utiliza fundamentalmente en casos en que es imposible retransmitir. Ejemplo: Medios de transmisi´on simplex.

c

2003 GSyC

Redes: Nivel de Enlace

Detecci´ on de errores y retransmisi´ on (cont.)

63

Bit de Paridad Consiste en a˜ nadir un bit al patr´ on de datos que se env´ıa. Paridad Par: El bit a˜ nadido hace que el total de unos enviado sea siempre par. Paridad Impar: El bit a˜ nadido hace que el total de unos enviado sea siempre impar. Se puede detectar un error de 1 bit del patr´ on, y hay un 50 % de probabilidades de detectar un error en m´as de 1 bit a la vez.

c

2003 GSyC

Redes: Nivel de Enlace

Detecci´ on de errores y retransmisi´ on (cont.)

64

C´ odigos de Redundancia C´ıclica (CRC) Se consideran los patrones de bits como polinomios, y se realizan operaciones aritm´eticas m´ odulo 2 con ellos. El c´alculo del CRC se implementa con circuitos hardware sencillos.

c

2003 GSyC

Redes: Nivel de Enlace

Detecci´ on de errores y retransmisi´ on (cont.)

65

Se demuestra que con los CRC de 16 bits se detectan: Todos los errores simples y dobles Todos los errores en un n´ umero impar de bits Todas las r´afagas de longitud≤16 bits El 99.997 % de las r´afagas de 17 bits El 99.998 % de las r´afagas de longitud≥18 bits

c

2003 GSyC

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados

66

Recuperaci´ on de p´ erdidas y/o duplicados Estos protocolos, adem´as de permitir la recuperaci´ on frente a tramas perdidas y/o duplicadas pueden utilizarse tambi´en para realizar el control de flujo. Se utilizan Timeouts y Asentimientos para implementarlos MUY IMPORTANTE: Pueden situarse en el nivel de enlace o en niveles superiores. En las redes TCP/IP no aparecen hasta (por lo menos) el nivel de transporte.

c

2003 GSyC

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados (cont.)

67

Tres tipos principales de protocolos: De parada y espera: El transmisor, despu´es de enviar una trama, espera su asentimiento por parte del receptor antes de enviar la siguiente. De env´ıo continuo: El transmisor va enviando tramas sucesivamente, y el receptor le va asintiendo por su cuenta. Requiere memoria infinita. De ventanas: El transmisor puede enviar un n´ umero m´aximo de tramas antes de recibir el primer asentimiento

c

2003 GSyC

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados (cont.)

68

Parada y Espera Mecanismo b´asico: Emisor

Receptor

tiempo dato-1

Plazo ACK

c

2003 GSyC

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados (cont.)

Emisor tiempo

69

Receptor dato-1

Plazo

dato-1

Plazo ACK

c

2003 GSyC

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados (cont.)

70

El protocolo genera duplicados, que podr´ıan descartarse en el receptor si los paquetes van identificados de alguna forma.

c

2003 GSyC

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados (cont.)

Emisor

71

Receptor

tiempo

dato-1

Plazo

ACK

dato-1

Plazo ACK

c

2003 GSyC

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados (cont.)

Emisor

72

Receptor

tiempo

dato-1

Plazo

ACK dato-1

Plazo

ACK

c

2003 GSyC

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados (cont.)

73

Soluci´ on: Con asentimiento alternado: cada paquete de datos lleva un bit que va alternando. Los acks tambi´en incluyen el bit para identificar uno u otro paquete. Emisor

Receptor

Emisor

Receptor dato-1 (0)

dato-1 (0)

plazo

ack (0)

ack (0) dato-2 (1)

dato-1 (0)

ack (1) ack (0) dato-3 (0) dato-2 (1) ack (0) ack (1)

c

2003 GSyC

Ya no hay duplicados ni pérdidas

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados (cont.)

74

Env´ıo Continuo El canal est´a infrautilizado. Mejor que el emisor env´ıe siempre que pueda. Env´ıo cont´ınuo con Rechazo Simple: Emisor tiempo

Receptor

dato-1 dato-2 dato-3 dato-4 dato-5 dato-6

nack-3

Se asiente negativamente la trama perdida, por lo que ¡¡cada trama debe tener un identificador!!

dato-3 dato-4

El Emisor debe reenviar todas las tramas desde la perdida

dato-5

c

2003 GSyC

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados (cont.)

75

Env´ıo cont´ınuo con Rechazo Selectivo: Emisor

Receptor

dato-1 tiempo

dato-2 dato-3 dato-4 dato-5 dato-6

nack-3

Se asiente negativamente la trama perdida

dato-3 dato-7 dato-8

c

2003 GSyC

Emisor sólo retransmite las tramas indicadas, lo que es más eficiente

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados (cont.)

76

Ventanas Parada y Espera es muy lento. Env´ıo Cont´ınuo requerir´ıa memoria infinita. Soluci´ on intermedia: El Emisor, en vez de parar despu´es de transmitir cada trama, para despu´es de transmitir n (tama˜ no de la ventana) tramas. Cuando va recibiendo los ACKs de las tramas enviadas puede proseguir enviando nuevas tramas.

c

2003 GSyC

Redes: Nivel de Enlace

Recuperaci´ on de p´ erdidas y/o duplicados (cont.)

Emisor 1

dato-1

1 2

dato-2

1 2

3

77

Receptor

dato-3 Tamaño de ventana del Emisor: 3 ack-1

2 3 4 2 3 4 3 4 5 3

ack-2 dato-4 dato-5

4 5 3

c

2003 GSyC

dato-3

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP

78

Protocolos de Nivel de Enlace en redes TCP/IP Los m´as habituales: Ethernet Fast Ethernet PPP

c

2003 GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

79

Ethernet Norma originalmente establecida por Xerox, DEC e Intel. Pensada para medios compartidos con acceso mediante CSMA/CD Hasta 10 Mbps Medios f´ısicos: • Cable coaxial grueso (Thicknet): 10Base5, topolog´ıa en bus. • Cable coaxial fino (Thinnet): 10Base2, topolog´ıa en bus. • Par trenzado: 10Base-T, topolog´ıa en estrella. • Fibra ´ optica: 10Base-F, topolog´ıa en estrella Nivel F´ısico: C´ odigo Machester, niveles de +0.85V y –0.85V. Acceso al Medio: CSMA/CD

c

2003 GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

80

10BaseT: Cable UTP-3 ´o UTP-5 (Unshielded Twisted Pair ): 4 Pares trenzados, no blindados, categor´ıa 3 ´ o 5. Conectores RJ-45. Se usa un par para transmitir y otro para recibir (full duplex). Un concentrador (hub) hace de bus. Lo que recibe por una boca, lo retransmite por todas las dem´as. 10 Mbps entre todas las bocas. A veces se usa un conmutador (switch): Reenv´ıa s´ olo a la boca a la que se conecta el destinatario. 10 Mbps por boca y sentido, varias transmisiones a la vez. Longitud m´axima hasta el concentrador: 100 metros

c

2003 GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

81

Formato de trama nº bytes

7

1

Preámbulo

6

6

2

0 - 1500

0 - 46

4

Dirección destino

Dirección origen

Tipo

Datos

Relleno

CRC

Comienzo de trama

Pre´ ambulo 10101010 (x 7 bytes). Permite al receptor sincronizar su reloj con el del transmisor. Comienzo de trama 10101011, indicando que a continuaci´ on empieza la trama.

c

2003 GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

82

Direcciones destino y origen 6 bytes. Si todos los bits de destino son 1, la trama ser´a entregada a todas las estaciones de la subred (omnienv´ıo o broadcast). Si el bit 47 (el de mayor peso) de la direcci´ on destino es 1, la trama va destinada a un grupo de m´aquinas (multienv´ıo o multicast). Si el bit 46 de una direcci´ on est´a a 1, la direcci´ on es de ´ambito mundial, asignada de forma u ´nica. Si est´a a 0, es de ´ambito local, relativo a esa subred. En ambos casos son direcciones unienv´ıo o unicast. La direcci´ on de destino va delante para que una estaci´ on sepa r´apidamente si una trama es para ella o no.

c

2003 GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

83

Tipo Indica el Protocolo encapsulado dentro del campo de Datos: 0x0800 datagrama IP 0x0806 paquete ARP (28 bytes de datos y 18 de relleno) 0x8035 paquete RARP (28 bytes de datos y 18 de relleno) Datos Entre 46 y 1500 bytes. Relleno La norma obliga a que toda trama sea ≥ 64 bytes, para poder considerar que todas las tramas menores son resultado de transmisiones abortadas al detectar colisi´ on. Por ello, si hay menos de 46 bytes de datos, se utilizan estos bytes de relleno. Retardo m´ ax. de propagaci´ on en 2,5 km, 4 repetidores: 25.6 µs Tiempo de Reacci´ on: 25.6 x 2 = 51.2 µs Bits transmitidos en 51.2 µs a 10 Mbps: 51,2 · 10−6 × 10 · 106 = 512 bits = 64 bytes.

c

2003 GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

84

CRC 32 bits de Control de Redundancia C´ıclica, para la detecci´ on de errores: El transmisor calcula el CRC de los bits de datos, y lo coloca en la trama. El receptor calcula el CRC de los bits de datos de la trama, y comprueba que coincida con el CRC que viene en ella. Si no coincide, los datos han sido modificados por ruido en el cable, y se descarta la trama.

c

2003 GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

85

Fast Ethernet Compatible con Ethernet (mismo formato de trama). 100 Mbps 100Base-TX: 2 pares UTP-5 100Base-T4: 4 pares UTP-3 100Base-FX: 2 fibras ´ opticas

c

2003 GSyC

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

86

PPP: Point to Point Protocol Es un protocolo pensado para encapsular IP (nivel de red) sobre l´ınea serie. Est´a dise˜ nado de forma que no s´ olo puede encapsular IP, sino tambi´en otros protocolos. Se utiliza fundamentalmente para conectarse a Internet a trav´es de la red telef´ onica b´asica mediante m´ odem. Hist´ oricamente se us´ o primero SLIP (Serial Line IP), pero PPP es m´as completo. La principal diferencia de PPP con SLIP es que PPP incluye detecci´ on de errores de transmisi´ on mediante CRC. flag 7E

addr FF

control 03

protocolo

1

1

1

2

datos

CRC

hasta 1500

2

c

2003 GSyC

flag 7E 1

nº bytes

Redes: Nivel de Enlace

Protocolos de Nivel de Enlace en redes TCP/IP (cont.)

87

ADSL: Asymetric Digital Susbcriber Line Una l´ınea telef´ onica normal transmite voz: Una banda de 0-4kHz. En un par de cobre “cabe m´ as”, por lo que en la centralita se agrupan (multiplexan) varias conversaciones (desplazadas en frecuencia) por un mismo cable. Las transmisiones mediante m´ odem con PPP reciben el mismo trato. Con ADSL el abonado contin´ ua utilizando los primeros 4kHz para las llamadas de voz, pero ahora ocupa m´ as ancho de banda para la transmisi´ on (simult´ anea) de datos. En la centralita se trata al abonado de forma diferente, separando los 4kHz por un lado y transmitiendo los datos de forma independiente. Es asim´etrico: se reserva m´ as para recibir (256Kbps–2Mbps) que para enviar (128Kbps–300Kbps). Ambas bandas est´ an separadas. Se transmite por modulaci´ on multitono discreta (MDT). ADSL es m´ as bien un nivel f´ısico: como nivel de enlace puede utilizarse cualquier de los usados en l´ıneas punto a punto.

c

2003 GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi´ on de subredes

88

Dispositivos de interconexi´ on de subredes Para interconectar subredes pueden colocarse dispositivos muy diferentes en prop´ osito y funcionamiento: repetidores (repeaters) puentes (bridges) encaminadores (routers) concentradores (hubs) conmutadores (switches)

c

2003 GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi´ on de subredes (cont.)

89

Repetidores Copian se˜ nales el´ectricas de un medio f´ısico de transmisi´ on a otro (trabajan en el nivel 1). Permiten extender la longitud f´ısica de la subred Aislan los fallos de diferentes segmentos de la subred

c

2003 GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi´ on de subredes (cont.)

90

Puentes Interconectan dos LAN, pasando tramas de una a otra (trabajan en el nivel 2). Las m´aquinas de las dos subredes NO son conscientes de la presencia del bridge.

c

2003 GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi´ on de subredes (cont.)

91

Encaminadores Interconectan subredes distintas trabajando en el nivel de red. La mayor diferencia con los bridges es que los niveles de enlace de m´aquinas de las subredes que interconectan S´I son conscientes de su presencia. Los estudiaremos con m´as detalle en el tema siguiente.

c

2003 GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi´ on de subredes (cont.)

92

Concentradores Ofrecen el servicio de un bus a topolog´ıas en estrella. Su servicio es fundamentalmente de nivel 1: repiten la se˜ nal de una boca a las otras Puede incorporar cierta funcionalidad de nivel 2: en Ethernet, cuando detectan se˜ nal por una boca, env´ıan ruido por todas las dem´as para que la vean las tarjetas, colisionen y reintente. Reparten el ancho de banda disponible entre todas las bocas

c

2003 GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi´ on de subredes (cont.)

93

Conmutadores Exteriormente muy parecidos a los concentradores, pero de comportamiento muy diferente Almacenan internamente las tramas entrantes en buffers, del que en paralelo van sacando tramas y reenvi´andolas por las bocas adecuadas (trabajan en el nivel 2). Pueden dar todo el ancho de banda a cada una de varias transmisiones simult´aneas entre bocas. Para tecnolog´ıas compatibles (Ethernet/FastEthernet) pueden tener bocas trabajando a distintas velocidades. Reciben su nombre porque, para una transmisi´ on entre dos bocas, ofrecen un funcionamiento equivalente a “conmutar” para interconectarlas ofreciendo un u ´nico canal directo e independiente de otras transmisiones. c

2003 GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi´ on de subredes (cont.)

94

Nivel de Red

c

2003 GSyC

Redes: Nivel de Red

Introducci´ on

95

Introducci´ on El nivel de red se ocupa de que los paquetes que salen del transmisor lleguen a su destino final, aunque el emisor y el receptor no est´en “adyacentes” (conectados directamente al mismo medio de transmisi´ on). Esto normalmente requiere pasar a trav´es de nodos intermedios: encaminadores (routers). Es necesario elegir la mejor ruta a seguir. RECORDATORIO: El nivel de enlace s´ olo se ocupa de que las tramas viajen entre m´aquinas “adyacentes”.

c

2003 GSyC

Redes: Nivel de Red

Misiones del Nivel de Red

96

Misiones del Nivel de Red Encaminamiento de paquetes. Asignaci´ on de direcciones u ´nicas a todas las m´aquinas de la red, independientes de la tecnolog´ıa de los niveles de enlace. Interconexi´ on en una misma red de subredes con distinto nivel de enlace. Control de congesti´ on.

c

2003 GSyC

Redes: Nivel de Red

Tipos de Nivel de Red

97

Tipos de Nivel de Red Seg´ un haya o no conexiones de red: No orientado a conexi´ on Orientado a conexi´ on Seg´ un se encamine cada paquete por separado o no: Basado en datagramas Basado en ciruitos virtuales Seg´ un se ofrezca o no un servicio fiable: Fiable No fiable

c

2003 GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

98

Servicio No Orientado a Conexi´ on Cada vez que el nivel superior quiere enviar datos, se compone una unidad de datos (paquete) con ellos y se env´ıa. No hay relaci´ on con transmisiones previas o futuras al mismo destino Servicio Orientado a Conexi´ on Antes de enviar el primer byte de datos, origen y destino mantienen un di´alogo inicial para establecer ciertas condiciones de la transferencia de informaci´ on, que se mantienen mientras dure esta transferencia

c

2003 GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

99

Servicio basado en Datagramas La direcci´ on de destino viaja en todos los paquetes de datos. El encaminamiento de cada paquete es independiente, por lo que varios paquetes enviados del mismo origen al mismo destino pueden viajar por diferentes rutas (y, tal vez, llegar en desorden). Servicio basado en Circuitos Virtuales Al principio se establece un “circuito virtual” por el que viajar´an todos los paquetes de datos. La direcci´ on de destino viaja s´ olo en los paquetes que establecen el cirtuito virtual. Los paquetes con datos s´ olo llevan un identificador del circuito virtual al que pertenecen Todos los paquetes pertenecientes a un mismo circuito virtual siguen el mismo camino y llegan en orden.

c

2003 GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

100

Servicio basado en datagramas: 3

2

1 3

A

B 3

2 1

E

2

1

C

2

3

1 1

D

c

2003 GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

101

Servicio basado en circuitos virtuales: 3

2

1

A

3

2

1

B 3 2 1

E 3

2

1

C

D

c

2003 GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

102

Servicio Fiable: Se garantiza al nivel superior que todos los paquetes llegan a su destino, y que el destino es capaz de reordenarlos si se desordenan en el camino. Para ello se numeran los paquetes, y se retransmiten los perdidos Servicio No Fiable: No se garantiza al nivel superior que todos los paquetes lleguen a su destino: pueden perderse paquetes (t´ıpicamente por congesti´ on). Alg´ un nivel superior deber´a ser capaz de detectar y recuperarse de estas p´erdidas, si la aplicaci´ on lo requiere.

c

2003 GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

103

Todas las combinaciones de tipos de servicio de nivel de red son te´ oricamente posibles, pero no todas se dan en la pr´actica. Las combinaciones m´as frecuentes son: Servicio Orientado a Conexi´ on, basado en Circuitos Virtuales y Fiable (ejemplo: X.25). Servicio No Orientado a Conexi´ on, basado en Datagramas y No Fiable (ejemplo: IP).

c

2003 GSyC

Redes: Nivel de Red

Direcciones de Red

104

Direcciones de Red Se necesita un mecanismo de identificaci´ on un´ıvoca de todas las m´aquinas de la red, independientemente de la tecnolog´ıa del nivel de enlace de cada una. Existen distintos m´etodos de direccionamiento seg´ un el tipo de redes. Veremos m´as adelante el formato de las direcciones del nivel de red IP.

c

2003 GSyC

Redes: Nivel de Red

Interconexi´ on de subredes con distinto nivel de enlace

105

Interconexi´ on de subredes con distinto nivel de enlace Dependiendo de la arquitectura de red que se trate, puede que se desee integrar en una misma red a subredes con distinto nivel de enlace. Cuando as´ı ocurre, es misi´ on de nivel de red hacer esta integraci´ on Es necesario que el nivel de red del encaminador que une las subredes “entienda” los dos niveles de enlace. Puede tener que resolver problemas de: • distintos tama˜ nos de las unidades de datos • distintas velocidades de las subredes

c

2003 GSyC

Redes: Nivel de Red

Interconexi´ on de subredes con distinto nivel de enlace (cont.)

106

Ejemplo Protocolo FTP Cliente FTP

Servidor FTP

Protocolo TCP

TCP

TCP

router IP

Driver Ethernet

Protocolo IP

Protocolo Ethernet

Protocolo IP

IP

Driver Ethernet

Driver token ring

Protocolo token ring

IP

Driver token ring

TOKEN RING ETHERNET

c

2003 GSyC

Redes: Nivel de Red

Encaminamiento

107

Encaminamiento El proceso mediante el cu´al se encuentra un camino entre dos puntos cualesquiera de la red Problemas a resolver: ¿Qu´e camino escoger? ¿Existe alguno m´as corto? ¿Qu´e ocurre si un encaminador o un enlace intermedio se rompen? ...

c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

108

Algoritmo de encaminamiento: Procedimiento por el cu´al los encaminadores (routers) alcanzan las decisiones de las mejores rutas para cada destino. Como parte del algoritmo de encaminamiento, normalmente los encaminadores tienen que enviarse entre s´ı mensajes de control para conseguir toda la informaci´ on necesaria. El resultado de los algoritmos de encaminamiento es generar en cada encaminador su tabla de encaminamiento. Tabla de encaminamiento: Tabla que consulta el encaminador cada vez que recibe un paquete y tiene que encaminarlo. Esta tabla tiene esta forma: Destino final

Encaminador vecino al que enviar el paquete

D1

V1

D2

V2

...

...

Muchas veces se utiliza el t´ermino Protocolo de Encaminamiento en vez de Algoritmo de Encaminamiento. c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

109

Objetivos de un algoritmo de encaminamiento Minimizar el espacio de la tabla de encaminamiento para poder buscar r´apidamente y para tener menos informaci´ on a intercambiar con otros encaminadores Minimizar el n´ umero y frecuencia de mensajes de control Robustez: evitar agujeros negros, evitar bucles, evitar oscilaciones en las rutas Generar caminos ´ optimos: • menor retardo de tr´ansito, o • camino m´as corto (en funci´ on de una cierta m´etrica en funci´ on de retardo, coste de los enlaces, . . . ), o • m´axima utilizaci´ on de la capacidad de la red

c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

110

Algoritmo de inundaci´ on Es un algoritmo simple que a veces se utiliza cuando no hay ninguna informaci´ on de encaminamiento disponible (al arrancar alg´ un otro algoritmo): 1. Cada paquete recibido por un nodo es encaminado a todos los vecinos (excepto al que lo envi´ o). 2. Los paquetes van etiquetados y numerados. 3. Si un nodo recibe un paquete que ya ha encaminado, lo descarta.

c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

111

Algoritmo de aprendizaje Es un algoritmo simple, que mejora el de inundaci´ on. Se utiliza tambi´en en los bridges de nivel de enlace. 1. Cada nodo mantiene una tabla con entradas (Destino, enlace por el que encamino) que va actualizando seg´ un los paquetes que va recibiendo. 2. Al recibir un paquete, se fija en el nodo origen y enlace por el que le ha llegado, apuntando en la tabla que cuando ese nodo sea destino de un paquete lo encaminar´a por ese enlace 3. Cuando para un destino no hay entrada en la tabla, se env´ıa por inundaci´ on.

c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

112

Algoritmo de Dijkstra Es un algoritmo que encuentra caminos de distancia m´ınima de un nodo al resto (por lo que cada nodo ejecuta el algoritmo). Requiere conocer todas las distancias entre nodos adyacentes. 1.

Se trabaja con dos conjuntos de nodos: P : Nodos con su encaminamiento ya resuelto (permanentes) T : Nodos a´ un no resueltos (tentativos)

2.

Inicialmente P s´ olo contiene el nodo inicial

3.

Para cada nodo de T : si no est´ a directamente conectado a ning´ un nodo de P , su distancia al nodo inicial es infinta en caso contrario, se calcula la menor entre la distancia calculada en un paso anterior y las distancias directas entre ´el y los nodos de P

4.

El nodo de T de menor distancia se pasa a P . Si a´ un quedan nodos en T , se vuelve al paso anterior.

c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

B 2

7 2

A

E

2

F

D

A

E (∞, −)

H

G (6, A)

(a) B (2, A)

A

(b) C (9, B)

E (4, B)

F (∞, −)

B (2, A)

D (∞,−)

A

H (∞, −)

G (6, A)

A

F (6, E)

D (∞,1)

H (∞, −) (d)

E (4, B) F (6, E)

H (9, G) (e)

C (9, B)

G (5, E)

C (9, B)

G (5, E)

D (∞, −)

H (∞, −)

E (4, B)

(c) B (2, A)

F (∞, −)

2

4 G

C (∞, −)

B (2, A) 3

2

1

6

C 3

113

B (2, A) D (∞,−)

A

C (9, B)

E (4, B) F (6,E)

G (5, E)

D (∞,−)

H (8, F) (f)

Fig. 5-6. The first five steps used in computing the shortest path from A to D. The arrows indicate the working node. c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

114

Algoritmos basados en Vectores de Distancias El protocolo RIP (Routing Information Protocol), utilizado en Internet, emplea esta t´ecnica. 1.

Cada nodo mantiene una tabla de encaminamiento con pares (Destino, Nodo vecino por el que encamino), para todos los destinos de la red.

2.

Cada nodo estima el retardo de sus paquetes a los nodos vecinos (enviando peri´ odicamente paquetes de sondeo).

3.

Cada nodo env´ıa peri´ odicamente a sus vecinos todos sus pares (Destino, retardo estimado)

4.

Cada nodo estudia la informaci´ on recibida de los vecinos para ver si puede conseguir una ruta de menor retardo enviando a trav´es de otro de sus vecinos, y actualiza sus tablas de encaminamiento consecuentemente

c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

115

New estimated delay from J K Line

Router A

B



C

D



F

E

G

H

To A B C D E F G H I J K L 



I

K

J (a)

L



A

I

0 12 25 40 14 23 18 17 21 9 24 29 JA delay is 8

24 36 18 27 7 20 31 20 0 11 22 33 JI delay is 10





























































8 20 28 20 17 30 18 12 10 0 6 15 









H

20 21 31 28 19 36 8 24 30 22 19 40 6 31 0 19 14 22 7 10 22 0 9 9 JH JK delay delay is is 12 6







A A I H I I H H I − K K







New routing table for J

Vectors received from J's four neighbors 

(b)

Fig. 5-10. (a) A subnet. (b) Input from A, I, H, K, and the new routing table for J. c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

116

Problema: cuenta al infinito. La informaci´ on acerca de mejores rutas se propaga poco a poco, consigui´endose al cabo de un rato que todos los encaminadores tengan tablas optimas ´ Pero las malas noticias (se cae un enlace o un encaminador) tardan en llegar: A

B

∞ 1 1 1 1

C

∞ ∞ 2 2 2

D

E

∞ ∞ ∞

∞ Initially ∞ After 1 exchange ∞ After 2 exchanges ∞ After 3 exchanges 4 After 4 exchanges 



A

3 3 

(a)

B 1 3 3 5 5 7 7



C







2 2 4 4 6 6 8

.. . ∞

D 

E

3 3 3 5 5 7 7

4 4 4 4 6 6 8















Initially After 1 exchange After 2 exchanges After 3 exchanges After 4 exchanges After 5 exchanges After 6 exchanges

(b)

Fig. 5-11. The count-to-infinity problem.

c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

117

Algoritmos basados en el Estado de Enlace El protocolo OSPF (Open Shortest Path First), utilizado en Internet, emplea esta t´ecnica. 1.

Cada encaminador mide su distancia con cada uno de sus vecinos (enviando paquetes de sondeo) y construye un paquete de estado de enlaces con esta informaci´ on.

2.

Cada encaminador env´ıa perdi´ odicamente el paquete de estado de enlaces a todos los encaminadores de la red. Estos mensajes se difunden por inundaci´ on.

3.

Cada encaminador, con la informaci´ on recibida, conoce la topolog´ıa completa de la red y calcula el mejor camino a todos sus destinos (aplicando, por ejemplo, el algoritmo de Dijkstra)

c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

B

Link B

C

2 

A 

4 

3

A



D 1 



6

5

7



8



State C

Packets E

D







F 

Seq. Age

Seq. Age

Seq. Age

Seq. Age

Seq. Age

Seq. Age

B 4 E 5

A 4 C 2 F 6

B 2 D 3 E 1

C 3 F 7

A 5 C 1 F 8

B 6 D 7 E 8





E 

118

F





(a)









(b)

Fig. 5-15. (a) A subnet. (b) The link state packets for this subnet.

c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

119

Encaminamiento jer´ arquico Si la red es muy grande, las tablas de encaminamiento se hacen inmanejables: se tarda mucho en calcular los caminos ´ optimos se genera mucho tr´ afico de control para conseguir difundir la informaci´ on necesaria para los algoritmos de encaminamiento Soluci´ on: Encaminamiento Jer´ arquico: Se divide la red en dominios Dentro de cada dominio se encamina seg´ un un algoritmo de los vistos anteriormente Los dominios est´ an interconectados mediante pasarelas (gateways) Las m´ aquinas dentro de un dominio no conocen a las de otro Los gateways s´ olo conocen a otros gateways

c

2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

Full table for 1A Dest. Region 1

Region 2

1A

Line –

1B

2A 2B

1B 1C 2A 2B

1B 1C 1B 1B

1A 1C

2C





4A

3A 



3B

4B



4C

5B

2D

Region 4

1B 1B 1C 1C

4A 4B 4C 5A 5B 5C 5D

1C 1C 1C 1C





5C

5A













(a)

1 1 2 3 



Hierarchical table for 1A Dest.



3 4 3 2

Line –

Hops –

3

1B 1C 1B 1C

1 1 2 2

4 5

1C 1C

1A 1B 1C 2









3 4



5D 5E Region 5 

Region 3

2C 2D 3A 3B

Hops –

120

5E





3 4 4 4

1C 1B 1C

5 5 6 





1C

5

(b)

(c)

Fig. 5-17. Hierarchical routing. c

2003 GSyC

Redes: Nivel de Red

Control de Congesti´ on

121

Control de Congesti´ on Un encaminador tiene varios enlaces de entrada y salida. Puede ser que lleguen paquetes m´as deprisa de lo que el encaminador sea capaz de darles salida. Si esta situaci´on es espor´adica, se resuelva con buffers. Los buffers son limitados: cuando se llenan se ha alcanzado la congesti´ on Congesti´ on: cuando el tr´afico deseado/originado en los extremos es mayor del que puede encaminar el nivel de red

c

2003 GSyC

Redes: Nivel de Red

Control de Congesti´ on (cont.)

122

Medidas: En redes basadas en circuitos virtuales, se puede hacer un control de admisi´ on: Al intentar establecer un nuevo circuito virtual, los encaminadores intermedios indican si tienen recursos (buffers) para que pase por ellos. En redes basadas en datagramas, los encaminadores suelen descartar los paquetes que reciben y no les caben en sus buffers de salida.

c

2003 GSyC

Redes: Nivel de Red

Control de Congesti´ on (cont.)

123

IP: Internet Protocol

c

2003 GSyC

Redes: IP: Internet Protocol

Introducci´ on

124

Introducci´ on IP es un protocolo de Nivel de Red que ofrece un servicio de entrega de mensajes (datagramas): no orientado a conexi´ on no fiable Dentro de un datagrama IP se encapsula una unidad de datos de uno de los siguientes protocolos: ICMP Internet Control Message Protocol IGMP Internet Group Management Protocol TCP Transmission Control Protocol UDP User Datagram Protocol

c

2003 GSyC

Redes: IP: Internet Protocol

Datagramas IP

125

Datagramas IP 4 versión

8 longitud cabecera

16

tipo de servicio(TOS)

tiempo de vida (TTL)

longitud total flags (3 bits)

identificación

31

protocolo

offset de fragmentación checksum de la cabecera

dirección IP origen

cabecera

0

dirección IP destino opciones (en su caso)

datos

c

2003 GSyC

Redes: IP: Internet Protocol

Datagramas IP (cont.)

126

versi´ on Actualmente versi´ on 4. La siguiente versi´ on es IPv6. longitud cabecera N´ umero de palabras de 32 bits que ocupa la cabera. Normalemente es 5 (20 bytes), cuando no hay opciones TOS Se usan s´ olo 4 bits para indicar tipo de servicio a ofrecer: minimizar retardo maximizar rendimiento maximizar fiabilidad minimizar coste econ´ omico

c

2003 GSyC

Redes: IP: Internet Protocol

Datagramas IP (cont.)

127

longitud total En bytes. Tama˜ no m´aximo: 65535 bytes. Normalmente es menor de 576 bytes. Dependiendo del nivel de enlace, cualquier m´aquina puede necesitar fragmentar un datagrama IP al encaminarlo. identificaci´ on Diferente para cada datagrama que genera una m´aquina (se va incrementando de 1 en 1). Distintos fragmentos del mismo datagrama mantienen el mismo n´ umero de identificaci´ on. flags Uno para indicar si este datagrama no puede fragmentarse, y otro para indicar si hay m´as fragmentos de este datagrama offset de fragmentaci´ on Generado al fragmentar un datagrama, le sirve al destino final para reensamblarlo. TTL Indica el n´ umero m´aximo de encaminadores que el datagrama puede atravesar. Normalmente se coloca a 32 ´ o 64. Cada encaminador lo decrementa, y si alcanza 0 se descarta el datagrama, envi´andose al originador del datagrama un mensaje ICMP.

c

2003 GSyC

Redes: IP: Internet Protocol

Datagramas IP (cont.)

128

protocolo Indica si en el campo de datos va un paquete de ICMP, IGMP, TCP o UDP. checksum Calculado u ´nicamente sobre la cabera del datagrama. direcciones origen y destino Valores de 32 bits. opciones Informaci´ on opcional. No todas las m´aquinas y encaminadores las soportan. El campo de opciones se rellena con ceros por la derecha para asegurar un m´ ultiplo de 32 bits. Ejemplos de opciones: restricciones de seguridad ruta recorrida marca de tiempo encaminamiento en origen

c

2003 GSyC

Redes: IP: Internet Protocol

Direcciones IP

129

Direcciones IP Cada interfaz f´ısico conectado a la Internet tiene asignada una direcci´ on IP que resulta u ´nica en toda la red. Los 32 bits se suelen expresar en ((notaci´ on decimal puntuada)): 212.128.4.4 El rango de direcciones se divide en 5 clases: Clase

c

2003 GSyC

Rango

A

0.0.0.0 a 127.255.255.255

B

128.0.0.0 a 191.255.255.255

C

192.0.0.0 a 223.255.255.255

D

224.0.0.0 a 239.255.255.255

E

240.0.0.0 a 247.255.255.255

Redes: IP: Internet Protocol

Direcciones IP (cont.)

130

Los primeros bits de una direcci´ on indican cu´al es su clase. En cada clase, es distinto el n´ umero de bits de red y el de bits de m´aquina. 7 bits id red

Clase A

0

Clase B

1

0

Clase C

1

1

0

Clase D

1

1

1

0

Clase E

1

1

1

1

24 bits id maquina 14 bits id red

16 bits id maquina 21 bits id red

8 bits id maquina 28 bits id grupo multicast

0

27 bits reservado para usos futuros

c

2003 GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

131

Tipos de direcciones IP unicast Representan a una sola m´aquina multicast Representan a un grupo de m´aquinas broadcast Representan a todas las m´aquinas de una subred

c

2003 GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

132

¿Qui´ en asigna direcciones IP? ´ Tres organismos regionales: ARIN (Am´erica), RIPE (Europa y Africa) y APIC (Asia). RIPE delega en organismos regionales (normalmente por pa´ıses). En Espa˜ na, el organismo es Red.es, Entidad P´ ublica Empresarial adscrita al Ministerio de Ciencia y Tecnolog´ıa. Una organizaci´ on adquiere una (o m´as) direcciones de clase, y el administrador local de la organizaci´ on reparte la direcci´ on de clase entre todas sus m´aquinas. ICANN (Internet Corporation for Assigned Names and Numbers) es una organizaci´ on internacional creada en 1998 para coordinar todas las tareas de asignaci´ on de nombres y direcciones.

c

2003 GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

133

Subredes En ocasiones, por razones organizativas o topol´ ogicas, se utilizan algunos bits de m´aquina como bits de subred. Sobre todo con direcciones de clases A y B. Dada una direcci´ on de red otorgada a una organizaci´ on, el administrador decidir´a si utilizar´a subredes, y el n´ umero de bits de m´aquina que utilizar´a para indicar la subred.

c

2003 GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

134

El n´ umero de bits con el que se indica la subred se denota con una m´ascara de subred: 32 bits, 1 para bits de red y subred, 0 para bits de m´aquina. Ejemplos: Direcci´ on de clase

M´ ascara

Subredes

163.117.0.0

255.255.255.0

163.117.0.0 – 163.117.0.255 163.117.1.0 – 163.117.1.255 ... 163.117.254.0 – 163.117.254.255 163.117.255.0 – 163.117.255.255

193.147.71.0

255.255.255.128

193.147.71.0 – 193.147.71.127 193.147.71.128 – 193.147.71.255

Normalmente en cada subred se reservan: la primera direcci´ on (bits de m´ aquina a cero) como “direcci´ on de la red” la u ´ltima direcci´ on (bits de m´ aquina a uno) como “direcci´ on de broadcast”.

c

2003 GSyC

Redes: IP: Internet Protocol

Encaminamiento

135

Encaminamiento Cualquier m´aquina IP puede est´a o no configurada como encaminador: Si NO lo est´a los datagramas IP que recibe que no son para ella, se tiran. Si lo est´a, se tratan de encaminar.

c

2003 GSyC

Redes: IP: Internet Protocol

Encaminamiento (cont.)

136

Para encaminar, una m´aquina consultar´a su tabla de encaminamiento. En ella, para enviar un datagrama a una cierta direcci´ on IP destino, buscar´a por este orden: 1. Una entrada con una direcci´ on IP de m´aquina igual a la buscada. 2. Una entrada con una direcci´ on IP de red igual a la parte de red de la buscada. 3. Una entrada por defecto (0.0.0.0).

c

2003 GSyC

Redes: IP: Internet Protocol

Encaminamiento (cont.)

137

Las tablas de encaminamiento tienen el aspecto: % netstat -nr Kernel IP routing table Destination Gateway 163.117.137.0 0.0.0.0 127.0.0.0 0.0.0.0 0.0.0.0 163.117.137.2

Genmask 255.255.255.0 255.0.0.0 0.0.0.0

Flags U U UG

MSS 1500 3584 1500

Window 0 0 0

irtt 0 0 0

Iface eth0 lo eth0

U ruta utilizable G ruta indirecta (pasarela)

c

2003 GSyC

Redes: IP: Internet Protocol

Encaminamiento (cont.)

138

CIDR El mecanismo de las clases A, B y C se ha mostrado muy inflexible y ha provocado: Agotamiento de las direcciones de las clases A y B Crecimiento enorme de las tablas de encaminamiento por “el centro” de Internet Soluci´ on (mientras que se pasa a IPv6): CIDR (Classless Inter Domain Routing ): Encaminamiento sin clases.

c

2003 GSyC

Redes: IP: Internet Protocol

Encaminamiento (cont.)

139

Con CIDR: No se tiene en cuenta la “clase” de las direcciones Nueva forma de indicar direcciones y m´ascaras mediante prefijos: 193.147.71.0/25 indicando que los 25 primeros bits son los significativos en la direcci´ on anterior (entra el primer bit del u ´ltimo byte). Las direcciones pasan a comprarse de esta manera. Las tablas de encaminamiento se construyen y consultan de esta manera.

c

2003 GSyC

Redes: IP: Internet Protocol

ARP (Address Resolution Protocol)

140

ARP (Address Resolution Protocol) El protocolo de resoluci´ on de direcciones ARP proporciona una forma de pasar de una direcci´ on IP a una direcci´ on Ethernet. Cuando el nivel IP va a enviar un datagrama con una cierta direcci´ on IP de destino: Si la direcci´ on de destino es de la misma subred, esa m´aquina es directamente a quien hay que enviar la trama Ethernet que contenga el datagrama. Si no, la tabla de encaminamiento da la direcci´ on IP del siguiente salto, que es el encaminador a quien hay que enviar la trama Ethernet que contenga el datagrama. En cualquiera de los dos casos, s´ olo se conoce la direcci´ on IP de una m´aquina adyacente a la que pasar el datagrama, pero para formar la trama Ethernet se necesita conocer la direcci´ on Ethernet de destino. c

2003 GSyC

Redes: IP: Internet Protocol

ARP (Address Resolution Protocol) (cont.)

141

Para conocer la direcci´ on Ethernet de una m´aquina de la misma subred, dada su direcci´ on IP, una m´aquina hace lo siguiente: 1. Env´ıa una trama Ethernet de broadcast consistente en una solicitud ARP, conteniendo la direcci´ on IP en cuesti´ on. 2. Aquella m´aquina que reciba una solicitud ARP preguntando por su propia direcci´on IP, contesta con una trama Ethernet dirigida a quien hizo la pregunta, conteniendo una respuesta ARP indicando la direcci´ on Ethernet pedida. Cada m´aquina mantiene una cache de correspondencias direcciones IP a direcciones Ethernet: se guarda los resultados de las solicitudes que hace aprende de todas las solicitudes de otras (aprovechando que las solicitudes son broadcast. c

2003 GSyC

Redes: IP: Internet Protocol

ARP (Address Resolution Protocol) (cont.)

142

Formato del paquete de solicitud/respuesta de ARP: ARP puede usarse en combinaci´ on con otros protocolos de nivel de red (no s´ olo IP), por lo que el formato var´ıa. Formato para usar ARP con IP: Solicitud/Respuesta

Eth. Or.

IP Or.

Eth. Dest.

IP Dest.

No hay que olvidar que el paquete de ARP viaja dentro de una trama Ethernet (si es ´ese el nivel de enlace). En una solicitud, los campos ((origen)) llevan los datos de la m´aquina que pregunta, y de los campos ((destino)) s´ olo va relleno “IP Dest.”, ya que “Eth. Dest.” es justo lo que se pregunta Al formar la respuesta, la m´aquina interrogada cambia los dos campos ((origen)) por los ((destino)), rellenando el que falta (que es su direcci´ on Ethernet pedida).

c

2003 GSyC

Redes: IP: Internet Protocol

ARP (Address Resolution Protocol) (cont.)

143

ARP gratuito: Una m´aquina puede enviar una solicitud ARP preguntando sobre su propia direcci´ on IP. Prop´ ositos: • detectar direcciones IP duplicadas • forzar a que todos actualicen la entrada de la cache correspondiente ARP delegado (proxy ARP): Un encaminador puede contestar a una solicitud ARP como si fuera la m´aquina destino, cuando esa m´aquina destino es alcanzable a trav´es de dicho encaminador.

c

2003 GSyC

Redes: IP: Internet Protocol

RARP (Reverse Address Resolution Protocol)

144

RARP (Reverse Address Resolution Protocol) En ocasiones es necesario un m´etodo para obtener la direcci´ on IP de una m´aquina a partir de su direcci´ on Ethernet. Ejemplo: Al arrancar una estaci´ on sin disco, no puede tener en ning´ un fichero de configuraci´ on su direcci´ on IP. S´ olo sabe que tiene una tarjeta Ethernet en la que est´a grabada su direcci´ on Ethernet. Mecanismo de RARP: 1. La m´aquina env´ıa un broadcast de una solicitud RARP, indicando su direcci´ on Ethernet. 2. Alguna m´aquina de la subred le enviar´a una respuesta RARP indic´andole cu´al es su direcci´ on IP.

c

2003 GSyC

Redes: IP: Internet Protocol

RARP (Reverse Address Resolution Protocol) (cont.)

145

Lo habitual es tener una m´aquina en la subred que act´ ue como servidor de RARP, manteniendo una tabla de correspondencias de direcciones Ethernet a direcciones IP para todos los nodos de la subred. Si, por razones de protecci´ on frente a fallos, se colocan varios servidores de RARP en la misma subred, el protocolo establece que se tomar´a s´ olo la primera respuesta RARP recibida por la m´aquina que lanzo la solicitud RARP. Alternativas a RARP: BOOTP (similar) y DHCP (m´as complejo).

c

2003 GSyC

Redes: IP: Internet Protocol

ICMP (Internet Control Message Protocol)

146

ICMP (Internet Control Message Protocol) Este protocolo se utiliza para interrogar y/o comunicar condiciones de error entre m´aquinas. Los mensajes ICMP se transmiten encapsulados en datagramas IP. Su formato es: 0

8

16

31

código

tipo

checksum de todo el mensaje ICMP

datos dependiendo de tipo ycódigo

c

2003 GSyC

Redes: IP: Internet Protocol

ICMP (Internet Control Message Protocol) (cont.)

147

Ejemplos de mensajes ICMP:

c

2003 GSyC

tipo

c´ odigo

0

0

respuesta de eco

descripci´ on

3

0

destino inalcanzable: red inalcanzable

3

1

destino inalcanzable: m´ aquina inalcanzable

3

3

destino inalcanzable: puerto inalcanzable

8

0

solicitud de eco

11

0

tiempo excedido: TTL = 0

12

1

cabecera IP mal: falta una opci´ on

13

0

solicitud de marca de tiempo

14

0

respuesta de marca de tiempo

Redes: IP: Internet Protocol

NAT (Network Address Translation)

148

NAT (Network Address Translation) Existen unos rangos de direcciones IP privadas, reservadas para ´ambito local, y que no son utilizables globalmente en Internet: • 10.0.0.0–10.255.255.255 • 172.16.0.0–172.31.255.255 • 192.168.0.0–192.168.255.255

Para paliar la escasez de direcciones, una organizaci´ on puede usar direcciones privadas internamente, y tener una sola direcci´ on IP global (p´ ublica) en la m´aquina que da salida a Internet. Esta m´aquina utiliza NAT para que los datagramas puedan entrar/salir de/a las m´aquinas internas. Muy resumidamente lo que hace es cambiar las direcciones IP privadas de los datagramas por la suya p´ ublica.

c

2003 GSyC

Redes: IP: Internet Protocol

Congesti´ on en Internet

149

Congesti´ on en Internet El nivel de red (IP) ofrece un servicio basado en datagramas. La principal fuente de p´erdidas de paquetes en Internet se debe a la congesti´ on de encaminadores, que act´ uan descartando paquetes. IP no toma ninguna medida para prevenir o disminuir la congesti´ on: ser´a labor de protocolos de niveles superiores, en su caso.

c

2003 GSyC

Redes: IP: Internet Protocol

Congesti´ on en Internet (cont.)

150

UDP: User Datagram Protocol

c

2003 GSyC

Redes: UDP: User Datagram Protocol

Introducci´ on

151

Introducci´ on UDP es un protocolo sencillo que implementa un nivel de transporte orientado a datagramas: NO orientado a conexi´ on. NO fiable. Los datagramas UDP se encapsulan dentro de la parte de datos de un datagrama IP. Una aplicaci´ on que utilice UDP para transmitir datos, producir´a exactamente un datagrama UDP cada vez que la aplicaci´ on quiera enviar datos. Dicho datagrama UDP se encapsular´a en un datagrama IP. Si ese datagrama IP va a exceder el tama˜ no m´aximo de la unidad de datos del nivel de enlace (ej: Trama Ethernet), se fragmentar´a. c

2003 GSyC

Redes: UDP: User Datagram Protocol

Datagramas UDP

152

Datagramas UDP 0

16

31

número de puerto origen

número de puerto destino

longitud total

checksum de todo el datagrama UDP (opcional)

datos (en su caso)

La longitud del datagrama puede ser un n´ umero impar de bytes.

c

2003 GSyC

Redes: UDP: User Datagram Protocol

Datagramas UDP (cont.)

153

Checksum El checksum es sobre cabecera y datos. Es un campo opcional, aunque se recomienda que siempre se utilice. Se calcula sobre el datagrama UDP m´as una pseudo-cabecera que se coloca delante: 16

31

dirección IP de origen dirección IP de destino ceros

protocolo

longitud total (repetido)

número de puerto origen

número de puerto destino

longitud total

checksum de todo el datagrama UDP (opcional)

pseudo-cabecera

0

datos (en su caso)

byte de relleno (ceros)

c

2003 GSyC

Redes: UDP: User Datagram Protocol

Puertos

154

Puertos En una m´aquina multiproceso, el nivel de transporte debe preocuparse de saber a qu´e proceso va destinado un datagrama UDP o segmento TCP que acaba de llegar por la red. Por ello, los procesos que usan la red lo hacen a trav´es de puertos. Cada puerto del Nivel de Transporte proporciona a una aplicaci´ on un punto de acceso a la red de comunicaciones, con lo que ´esta puede dialogar con otra aplicaci´ on situada en un puerto de una m´aquina remota.

c

2003 GSyC

Redes: UDP: User Datagram Protocol

Puertos (cont.)

155

As´ı, el Nivel de Transporte TCP/IP: multiplexa las unidades de datos que env´ıan las aplicaciones a trav´es de los puertos, encapsul´andolas en datagramas UDP o segmentos TCP demultiplexa los datagramas UDP y los segmentos TCP, pasando los datos a las aplicaciones. Los puertos se identifican por un n´ umero de 16 bits. Los puertos UDP y TCP se manejan por separado: el puerto 7 UDP y el puerto 7 TCP son puertos distintos.

c

2003 GSyC

Redes: UDP: User Datagram Protocol

Puertos (cont.)

156

Los puertos menores que 1024 (puertos privilegiados) est´an reservados y asignados universalmente a aplicaciones de red conocidas. En una m´aquina Unix est´a asignaci´ on est´a en fichero /etc/services: echo echo discard discard daytime daytime netstat ftp-data ftp telnet smtp time time www www

7/tcp 7/udp 9/tcp 9/udp 13/tcp 13/udp 15/tcp 20/tcp 21/tcp 23/tcp 25/tcp 37/tcp 37/udp 80/tcp 80/udp

sink null sink null

# default ftp data port

mail timserver timserver http # WorldWideWeb HTTP # HyperText Transfer Protocol

c

2003 GSyC

Redes: UDP: User Datagram Protocol

Puertos (cont.)

157

As´ı, por ejemplo, un servidor de WWW es un proceso esperando peticiones en el puerto 80 de una m´aquina. Un navegador desde otra m´aquina har´a peticiones al puerto 80 del servidor, y escuchar´a las respuestas en un puerto suyo no privilegiado. En vez de tener un servidor escuchando en cada puerto, un s´ olo proceso (inetd) escucha en varios, y se encarga de arrancar el proceso adecuado seg´ un el puerto concreto por el que lleg´ o la petici´ on. Ambos mecanismos conviven: inetd escucha en varios puertos, y en otros (los m´as frecuentemente utilizados) lo hace directamente el proceso involucrado.

c

2003 GSyC

Redes: UDP: User Datagram Protocol

Servicio dado por UDP

158

Servicio dado por UDP El servicio ofrecido por UDP s´ olo aumenta el ofrecido por IP en: n´ umeros de puerto un checksum optativo Por ello el servicio ofrecido es NO fiable, presentando problemas que las aplicaciones pueden querer resolver. pueden perderse datagramas pueden duplicarse datagramas pueden desordenarse datagramas Pero es un protocolo much´ısimo m´as ligero que TCP, y en una red local (hay CRC y no hay encaminadores) puede compensar. c

2003 GSyC

Redes: UDP: User Datagram Protocol

Servicio dado por UDP (cont.)

159

TCP: Transmission Control Protocol

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

Introducci´ on

160

Introducci´ on TCP (Transmission Control Protocol): Protocolo de Transporte. Ofrece un servicio orientado a conexi´ on y fiable. Unidad de datos: Segmento. Se encapsula dentro de IP. Ofrece servicio de puertos (como UDP).

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

Servicio Orientado a Conexi´ on

161

Servicio Orientado a Conexi´ on La transmisi´ on de datos de nivel de transporte presenta las fases: • establecimiento de la conexi´ on • intercambio de datos • liberaci´ on de la conexi´ on. Peculiaridad: Ambos extremos pueden transmitir y recibir datos simult´aneamente. Los datos de la aplicaci´ on son troceados en segmentos del tama˜ no que TCP considera adecuado (¡diferente a UDP!).

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

Servicio Fiable

162

Servicio Fiable ´ Este es el primer nivel en el que se proporciona fiabilidad. Objeto: Recuperarse de p´erdidas y desorden producido por IP. Idea b´asica: • Los segmentos con datos llevan un n´ umero de secuencia. • El receptor de los datos debe mandar asentimientos (ACKs). • Para cada segmento con datos transmitido se espera un plazo de tiempo a que llegue su asentimiento. Si vence el plazo, se retransmite el segmento. • Para asentimientos y retransmisiones se utiliza un protocolo de ventana. • El receptor reordena segmentos y descarta los duplicados.

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

Segmentos TCP

163

Segmentos TCP 0

16 número de puerto origen

31 número de puerto destino

número de secuencia

longitud cabecera

reseervado (6 bits)

URG ACK PSH RST SYN FIN

número de asentimiento

checksum de todo el segmento TCP

tamaño de la ventana puntero de datos urgentes

opciones (en su caso)

datos (en su caso)

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

Segmentos TCP (cont.)

164

Puertos: TCP los asocia con la aplicaci´ on origen y destino del segmento (como UDP). Longitud cabecera: Tama˜ no de la cabecera en palabras de 32 bits. Lo normal es 5 (20 bytes). Checksum: Sobre pseudo-cabecera, cabecera y datos, calculado como en UDP. Si no se pasa la comprobaci´ on, se descarta el datagrama.

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

N´ umeros de secuencia

165

N´ umeros de secuencia Cada segmento con datos lleva un n´ umero de secuencia El n´ umero de secuencia numera bytes, y NO segmentos: identifica el n´ umero de orden del primer byte de datos que lleva el segmento. Al establecerse una conexi´ on se elige un n´ umero de secuencia inicial para que no se confundan segmentos a´ un en tr´ansito procedentes de conexiones diferentes.

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

N´ umeros de asentimiento

166

N´ umeros de asentimiento El receptor de segmentos de datos tiene que asentir los que le llegan correctamente. NO es necesario enviar un asentimiento para cada segmento con datos que se recibe. Se puede esperar a asentir varios segmentos de una sola vez. El n´ umero de asentimiento indica el n´ umero de secuencia del pr´ oximo byte que se espera recibir, asinti´endose de esta manera hasta el byte anterior incluido. No hay rechazo selectivo: No hay forma en que el receptor le diga al emisor que tiene los bytes del 300 al 700 excepto el trozo 400-500.

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

N´ umeros de asentimiento (cont.)

167

Cada segmento tiene un campo para el n´ umero de asentimiento: siempre que se manda un segmento se aprovecha para asentir los datos que est´e enviando el otro extremo: • Si el lado que env´ıa un asentimiento tiene datos que enviar al otro lado, puede aprovechar un segmento para las dos cosas: env´ıa el asentimiento ((arrecucas)) de los datos (piggybacking ). • Si el lado que env´ıa un asentimiento no tienen datos que enviar al otro lado, env´ıa un segmento s´ olo con la cabecera, sin datos. Importante: Cada lado de la conexi´ on utiliza sus n´ umeros de secuencia (partiendo de su n´ umero de secuencia inicial) y asiente los que est´a usando el otro extremo.

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

N´ umeros de asentimiento (cont.)

168

Ventana Deslizante Se usa un protocolo de ventana para coordinar el env´ıo de segmentos y asentimientos. El receptor indica en el campo de tama˜ no de ventana el n´ umero de bytes (a partir del indicado en el n´ umero de asentimiento) que est´a dispuesto a recibir del emisor. El emisor puede transmitir esos bytes aunque no reciba asentimientos, pero una vez transmitidos tendr´a que parar hasta que sepa m´as del receptor. Seg´ un el receptor va recibiendo datos, puede ir asintiendo y deslizando la ventana para aceptar m´as. Como ambos extremos pueden enviar datos, hay dos ventanas diferentes, una para cada sentido.

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

N´ umeros de asentimiento (cont.)

169

Ejemplo: • El emisor recibe un segmento con: ◦ N´ umero de asentimiento: 5 ◦ Tama˜ no de ventana: 8.

• El emisor ha transmitido los bytes hasta el 9 (incluido), sin recibir nada del receptor. • En ese momento la situaci´ on es la siguiente: ventana

1

2

3

enviados y asentidos

4

5

6

7

8

enviados y no asentidos

9

10

11

12 13 14 15 16

pendientes para enviar

sin aceptar de la aplicación

El tama˜ no de la ventana es variable din´amicamente (pero deber´ıan mantenerse las ((antiguas promesas))). El tama˜ no de la ventana permite tambi´en hacer control de flujo extremo a extremo. c

2003 GSyC

Redes: TCP: Transmission Control Protocol

Establecimiento de conexi´ on

170

Establecimiento de conexi´ on A

B

segmento con bit SYN núm.secuencia = x segmento con bit SYN núm.secuencia = y núm.asentimiento = x+1 segmento núm.asentimiento = y+1

Es necesario ponerse de acuerdo en el n´ umero de secuencia inicial de los dos sentidos de transmisi´ on (((triple apret´ on de manos)), three-way handshake).

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

Liberaci´ on de conexi´ on

171

Liberaci´ on de conexi´ on A

B

segmento con bit FIN

segmento con asentimiento del FIN segmento con bit FIN

segmento con asentimiento del FIN

Como la conexi´ on permite la transmisi´ on bidireccional de datos (full duplex), es necesario “cerrar” cada sentido de la transmisi´ on (por separado). c

2003 GSyC

Redes: TCP: Transmission Control Protocol

Liberaci´ on de conexi´ on (cont.)

172

Plazos para asentimiento Cuando se env´ıa un segmento, se arranca un temporizador para esperar su asentimiento. Problema: ¿Qu´e plazo le ponemos? Se utiliza un algoritmo adaptativo para optimizar lo m´as posible la transmisi´ on de datos. Para cada segmento se calcula el tiempo de ronda (round-trip time, RTT): tiempo entre que se env´ıa el segmento y se recibe el asentimiento. Se va tomando su media en el tiempo. Normalmente se elige un plazo de dos veces el tiempo de ronda medio, teniendo cuidado con la varianza.

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

Liberaci´ on de conexi´ on (cont.)

173

Entrega de datos a la aplicaci´ on Cuando llega un segmento con la bandera PSH activada se est´a indicando al receptor que pase esos datos a la aplicaci´ on. No s´ olo se pasa ese segmento, sino tambi´en todos los datos asentidos que el receptor tuviera pendientes de entregar a la aplicaci´ on.

c

2003 GSyC

Redes: TCP: Transmission Control Protocol

175 Ejemplo de conexi´ on

$#:$9 JF8 & #;T #;!$#;8=$$#;8F  %$!;A 8@  M@8 P&;:O$#8 %B

@3#!"; "?>%$# = < 8   $:$#8;$#:$9 87 654

"R8 P&;O \ #3 ;&9 P&3#8 ;W3