Redes

Grupo de Sistemas y Comunicaciones
gsyc-profes@gsyc.escet.urjc.es

Octubre 2003

1

Introducci´n a las o 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´n: Acceso documentos remotos. . . o Mejorar la fiabilidad: Alternativas, replicaci´n. . . o Incrementar el rendimiento: M´quinas trabajando juntas. . . a Servir de medio de comunicaci´n de personas/comunidades o

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Estructura de las Redes

3

Estructura de las Redes
Diversas m´quinas (hosts) se conectan a una subred de comunicaciones a que permite el di´logo entre ellas. a Dos formas fundamentales de dise˜ar la subred de comunicaciones: n 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´n a las Redes de Ordenadores o

Topolog´ comunes en Redes ıas

4

Topolog´ comunes en Redes ıas

ESTRELLA

ANILLO

ARBOL

TOTALMENTE CONECTADA

PARCIALMENTE CONECTADA

BUS

SATELITE

ANILLO

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Protocolo de Comunicaciones

5

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

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos ıas

6

Jerarqu´ de Protocolos ıas
En la mayor´ de las redes se utilizan varios protocolos con distintos ıa prop´sitos. o 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´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos (cont.) ıas

7

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

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos (cont.) ıas

8

Maquina A

Maquina B Protocolo del Nivel 4

Nivel 4
interfaz 3/4

Nivel 4 Nivel 3 Nivel 2 Nivel 1

Nivel 3
interfaz 2/3

Protocolo del Nivel 3

Nivel 2
interfaz 1/2

Protocolo del Nivel 2

Nivel 1

Protocolo del Nivel 1

Medio de transmision

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos (cont.) ıas

9

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

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos (cont.) ıas

10

M´quina destino de una comunicaci´n a o El mecanismo b´sico en cada nivel es: a 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´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos (cont.) ıas

11

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos (cont.) ıas

12

Protocolo Nivel N+1
    ¡   ¡   ¡   ¡ ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡ ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡ ¢ £ ¢ £ ¢ £ ¢ £ ¢ £ ¢ £ ¢ £   £   ¡   ¡   ¡   ¡   ¡   ¡   ¡ ¢ ¡ ¢ £ ¢ £ ¢ £ ¢ £ ¢ £ ¢ £ ¢ £   £ ¢

Protocolo Nivel N

Protocolo Nivel N-1

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos (cont.) ıas

13

Protocolo Nivel N+1

Protocolo Nivel N
¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥ ¥ ¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥ ¤

Protocolo Nivel N-1

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos (cont.) ıas

14

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos (cont.) ıas

Protocolo Nivel N+1

Protocolo Nivel N
  ¡   ¡   ¡   ¡ ¡ ¡       ¡   ¡   ¡   ¡ ¢ £ ¢ £     ¢ £ ¢ £ ¤ ¥ ¤ ¥ ¢ £ ¢ £ ¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

 

¡

 

¡

¡

 

 

¡

 

¡

¢

£

 

¢

£

¤

¥

¢

£

¤

¥

¤

¥

¤

¥

Protocolo Nivel N-1

 

¡

 

¡

¡

 

 

¡

 

¡

¢

£

 

¢

£

¤

¥

¢

£

¤

¥

¤

¥

¤

¥

  ¡   ¡   ¡   ¡   ¡ ¡

  ¡   ¡   ¡

  ¡ ¡ ¡    

  ¡   ¡   ¡

  £ ¢ £ ¢ £

¢    

  £ ¢ £ ¢ £

¢ ¥ ¤ ¥ ¤ ¥

¤ £ ¢ £ ¢ £

¢ ¥ ¥ ¥ ¤ ¤

¤ ¥ ¤ ¥ ¤ ¥

¤ ¤ ¤

¤

15

Jerarqu´ de Protocolos (cont.) ıas

16

Protocolo Nivel N+1
  ¡   ¡   ¡   ¡   ¡   ¡   ¡ ¡ ¡ ¡ ¡   ¡         ¡   ¡   ¡   ¡   ¡   ¡   ¡   ¡ ¢ £ ¢ £ ¢ £   £       ¢ £ ¢ £ ¢ £ ¢   £ ¢ £ ¢ £ ¢ £ ¢ £ ¢

Protocolo Nivel N

Protocolo Nivel N-1

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos (cont.) ıas

17

Protocolo Nivel N+1

Protocolo Nivel N

Protocolo Nivel N-1

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Jerarqu´ de Protocolos (cont.) ıas

18

Protocolo Nivel N+1
  ¡   ¡   ¡   ¡ ¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥   ¡   ¡   ¡ ¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥ ¡ ¡ ¡ ¡ ¥ ¥ ¥ ¥   ¡       ¤ ¤ ¤ ¤   ¡   ¡   ¡ ¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥   ¡   ¡   ¡   ¡ ¤ ¥ ¤ ¥ ¤ ¥ ¤ ¥   ¡ ¢ £ ¢ £ ¢ £ ¦ § ¦ § ¦ § ¦ §   £       ¤ ¤ ¤ ¤ ¢ £ ¢ £ ¢ £ ¦ § ¦ § ¦ § ¦ § ¢   £ ¨ © ¨ © ¨ © ¨ © ¢ £ ¢ £ ¢ £ ¦ § ¦ § ¦ § ¦ § ¢ £ ¢                                                                                                                                

Protocolo Nivel N
¨ © ¨ © ¨ © ¨ © ¨ © ¨ © ¨ © © ¨ © ¨ © ¨ © ¨ © ¨

c 2003 GSyC

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

c 2003 GSyC 

              

       

Protocolo Nivel N-1

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura de Red

19

Arquitectura de Red

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura OSI

20

Arquitectura OSI
En 1983 ISO (Organizaci´n de Est´ndares Internacionales) propone un o a modelo de referencia para arquitecturas de redes: Modelo de Referencia para la Interconexi´n de Sistemas Abiertos (ISO o 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´lo aqueo llo de lo que cada nivel debe ocuparse.

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura OSI (cont.)

21

La “torre” OSI
Maquina A Aplicacion Protocolo de Aplicacion Maquina B Aplicacion

Presentacion

Protocolo de Presentacion

Presentacion

Sesion

Protocolo de Sesion

Sesion

Transporte

Protocolo de Transporte

Transporte

Red

Protocolo de Red

Red

Enlace

Protocolo de Enlace

Enlace

Fisico

Protocolo de nivel Fisico

Fisico

Medio de transmision

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura OSI (cont.)

22

El Nivel F´ ısico Se ocupa de enviar y recibir bits sobre un medio f´ ısico de transmisi´n: o Debe asegurarse que la forma de transmitir un bit a 1 es reconocida en recepci´n como un bit a 1. o La transmisi´n puede ser el´ctrica, ´ptica, . . . o e o Aborda los problemas el´ctricos, electr´nicos, de establecimiento de e o conexiones f´ ısicas, . . .

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura OSI (cont.)

23

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

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura OSI (cont.)

24

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

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura OSI (cont.)

25

Nivel de Transporte Se encarga de gobernar el acceso m´ltiple a la red de los diversos u procesos de la misma m´quina que quieran usarla (gestiona puertos a en m´quinas multiproceso). a Puede proporcionar distintos tipos de servicio: Fiable, no fiable. Realiza comunicaci´n extremo a extremo, no tiene en cuenta las o m´quina intermedias. a 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´n a las Redes de Ordenadores o

Arquitectura OSI (cont.)

26

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

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura OSI (cont.)

27

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

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura OSI (cont.)

28

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

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura OSI (cont.)

29

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

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura TCP/IP

30

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

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura TCP/IP (cont.)

31

La pila TCP/IP Nivel de Aplicaci´n o Nivel de Transporte Nivel de Red Nivel de Enlace DNS, SMTP, HTTP. . . TCP, UDP IP, ICMP Ethernet, PPP, ADSL

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura TCP/IP (cont.)

32

ordenador A Protocolo HTTP Cliente HTTP

ordenador B Servidor HTTP

TCP

Protocolo TCP

TCP

encaminador IP Protocolo IP IP Protocolo IP IP

Driver + Tarjeta Ethernet

Protocolo Ethernet

Driver + Tarjeta Ethernet

Driver + Tarjeta Ethernet

Protocolo Ethernet

Driver + Tarjeta Ethernet

ETHERNET ETHERNET

c 2003 GSyC

Redes: Introducci´n a las Redes de Ordenadores o

Arquitectura TCP/IP (cont.)

33

Nivel F´ ısico

c 2003 GSyC

Redes: Nivel F´ ısico

Introducci´n o

34

Introducci´n o
El nivel f´ ısico es el m´s bajo de toda la torre OSI. a Se ocupa de c´mo se transmiten los datos a trav´s de los medios f´ o e ısicos de transmisi´n. o 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´n: Bits por segundo que se transmiten (Unidao des: Kbps, Mbps, Gbps). Tambi´n se le llama, informalmente, “ancho e de banda”) Latencia o Retardo de propagaci´n: Tiempo que tarda un bit desde o que sale hasta que llega a su destino. Transmisi´n Simplex: El canal de comunicaciones es de un solo seno tido. Transmisi´n Semi-Duplex: Canal bidireccional, pero en el que no pueo de transmitirse en ambos sentidos a la vez. Transmisi´n Duplex: Canal bidireccional en el que puede transmitirse o en ambos sentidos a la vez.
c 2003 GSyC Redes: Nivel F´ ısico

Medios de Transmisi´n o

36

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

c 2003 GSyC

Redes: Nivel F´ ısico

Medios de Transmisi´n (cont.) o

37

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

c 2003 GSyC

Redes: Nivel F´ ısico

Medios de Transmisi´n (cont.) o

38

Cable Coaxial de Banda Base N´cleo de cobre, aislante y malla conductora. 50 ohmios. u 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´n (cont.) o

39

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

c 2003 GSyC

Redes: Nivel F´ ısico

Medios de Transmisi´n (cont.) o

40

´ Fibra Optica En vez de corriente el´ctrica se transmite luz. e Para transmisi´n digital: La presencia de luz es un 1, la ausencia un 0. o Sistema de Transmisi´n: o Emisor: Diodo l´ser a Medio: Fibra ´ptica (silicio) o 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´rico est´ por los 50 Tbps. o a

c 2003 GSyC

Redes: Nivel F´ ısico

Medios de Transmisi´n (cont.) o

41

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

Transmisi´n Digital o

42

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

c 2003 GSyC

Redes: Nivel F´ ısico

Transmisi´n Digital (cont.) o

43

Ejemplo: C´digo Manchester o
V 0

0
1

1

0

0

1

1

1

0

t

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

c 2003 GSyC

Redes: Nivel F´ ısico

Transmisi´n Anal´gica o o

44

Transmisi´n Anal´gica o o
Para medios dise˜ados para transportar se˜ales anal´gicas (ej: l´ n n o ınea telef´nica). o Se necesitan MOduladores–DEModuladores en los puntos de acceso al medio. Los modems convierten una se˜al digital en su equivalente anal´gica n o (modulan) y viceversa (demodulan).

MODEM

MODEM

Transmision Digital ´ Transmision Analogica ´ ´

c 2003 GSyC

Redes: Nivel F´ ısico

Transmisi´n Anal´gica (cont.) o o

45

Tipos de Modulaci´n o
0 (a) 1 0 1 1 0 0 1 0 0 1 0 0

Se˜al digital: n

Modulaci´n ASK: o

(b)

Modulaci´n FSK: o

(c)

Modulaci´n PSK: o

(d)

Phase changes

Modulaci´n QAM: o
c 2003 GSyC

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

Transmisi´n Anal´gica (cont.) o o

46

Nivel de Enlace

c 2003 GSyC

Redes: Nivel de Enlace

Introducci´n o

47

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

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

c 2003 GSyC

Redes: Nivel de Enlace

El problema del acceso al medio

48

El problema del acceso al medio
¿C´mo y cuando asignar el canal f´ o ısico a las distintas m´quinas que lo a comparten y quieren acceder a ´l? e Soluciones: Asignaci´n est´tica: Se reparte el canal en el tiempo (TDM) o en o a frecuencia (FDM). Bueno para tr´ficos pesados y constantes, pero a malo para r´fagas (lo habitual). a Asignaci´n din´mica: No est´ prefijado el reparto. Trata de aprovechar o a a mejor el canal en LAN’s. • Acceso por contienda: Las m´quinas compiten por usar el medio. a Si coinciden dos o m´s a la vez: colisi´n a o • Acceso por reserva: Las m´quinas pueden hacer reservas para poa der 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´ltiple con detecci´n de portadora. u o Funcionamiento: Cuando una estaci´n quiere transmitir escucha en el canal. o Si est´ ocupado, espera a que quede libre a Si est´ libre, transmite. a Mientras transmite, sigue escuchando para ver si alguien transmite a la vez, en cuyo caso aborta la transmisi´n o

c 2003 GSyC

Redes: Nivel de Enlace

Protocolo CSMA/CD (cont.)

50

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

c 2003 GSyC

Redes: Nivel de Enlace

Protocolo CSMA/CD (cont.)

51

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

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´lo el poseedor del testigo puede transmitir, por o lo que desaparecen las colisiones. Supone que las estaciones de la red se configuran como un anillo f´ ısico o l´gico. o Mecanismo: Cuando el canal est´ libre, por ´l circula el testigo. a e Cuando una estaci´n quiere transmitir: o • captura el testigo • env´ su trama ıa • 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´gico: o • Gesti´n de tramas o • Control de flujo (opcional) • Control de errores (opcional)

c 2003 GSyC

Redes: Nivel de Enlace

Gesti´n de tramas o

54

Gesti´n de tramas o
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´rselos al nivel de red. a

c 2003 GSyC

Redes: Nivel de Enlace

Gesti´n de tramas (cont.) o

55

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

c 2003 GSyC

Redes: Nivel de Enlace

Control de Flujo

56

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

c 2003 GSyC

Redes: Nivel de Enlace

Gesti´n de errores o

57

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

c 2003 GSyC

Redes: Nivel de Enlace

Gesti´n de errores (cont.) o

58

Problemas: 1. alg´n bit de una trama ha cambiado u 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´quinas adyacentes. a Los otros dos problemas no son tan habituales entre m´quinas adyacentes, a por lo que podr´ “diferirse” su soluci´n a niveles superiores. ıa o

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´ticamente. a el receptor detecta el error y descarta la trama incorrecta, esperando que en alg´n momento el emisor la retransmita (ya veremos como). u

c 2003 GSyC

Redes: Nivel de Enlace

Correcci´n de errores o

60

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

c 2003 GSyC

Redes: Nivel de Enlace

Correcci´n de errores (cont.) o

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´n. o 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´n de errores y retransmisi´n o o

62

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

c 2003 GSyC

Redes: Nivel de Enlace

Detecci´n de errores y retransmisi´n (cont.) o o

63

Bit de Paridad Consiste en a˜adir un bit al patr´n de datos que se env´ n o ıa. Paridad Par: El bit a˜adido hace que el total de unos enviado sea n siempre par. Paridad Impar: El bit a˜adido hace que el total de unos enviado sea n siempre impar. Se puede detectar un error de 1 bit del patr´n, y hay un 50 % de probao bilidades de detectar un error en m´s de 1 bit a la vez. a

c 2003 GSyC

Redes: Nivel de Enlace

Detecci´n de errores y retransmisi´n (cont.) o o

64

C´digos de Redundancia C´ o ıclica (CRC) Se consideran los patrones de bits como polinomios, y se realizan operaciones aritm´ticas m´dulo 2 con ellos. e o El c´lculo del CRC se implementa con circuitos hardware sencillos. a

c 2003 GSyC

Redes: Nivel de Enlace

Detecci´n de errores y retransmisi´n (cont.) o o

65

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

c 2003 GSyC

Redes: Nivel de Enlace

Recuperaci´n de p´rdidas y/o duplicados o e

66

Recuperaci´n de p´rdidas y/o duplicados o e
Estos protocolos, adem´s de permitir la recuperaci´n frente a tramas pera o didas y/o duplicadas pueden utilizarse tambi´n para realizar el control de e 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´n de p´rdidas y/o duplicados (cont.) o e

67

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

c 2003 GSyC

Redes: Nivel de Enlace

Recuperaci´n de p´rdidas y/o duplicados (cont.) o e

68

Parada y Espera Mecanismo b´sico: a
Emisor tiempo dato-1 Receptor

Plazo ACK

c 2003 GSyC

Redes: Nivel de Enlace

Recuperaci´n de p´rdidas y/o duplicados (cont.) o e

69

Emisor tiempo dato-1

Receptor

Plazo

dato-1

Plazo ACK

c 2003 GSyC

Redes: Nivel de Enlace

Recuperaci´n de p´rdidas y/o duplicados (cont.) o e

70

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

c 2003 GSyC

Redes: Nivel de Enlace

Recuperaci´n de p´rdidas y/o duplicados (cont.) o e

71

Emisor tiempo dato-1

Receptor

Plazo

ACK

dato-1

Plazo ACK

c 2003 GSyC

Redes: Nivel de Enlace

Recuperaci´n de p´rdidas y/o duplicados (cont.) o e

72

Emisor tiempo dato-1

Receptor

Plazo

ACK dato-1

Plazo

ACK

c 2003 GSyC

Redes: Nivel de Enlace

Recuperaci´n de p´rdidas y/o duplicados (cont.) o e

73

Soluci´n: Con asentimiento alternado: cada paquete de datos lleva un bit o que va alternando. Los acks tambi´n incluyen el bit para identificar uno u e otro paquete.
Emisor Receptor Emisor dato-1 (0) dato-1 (0) Receptor

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

ack (0)

dato-1 (0)

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

Ya no hay duplicados ni pérdidas

c 2003 GSyC

Redes: Nivel de Enlace

Recuperaci´n de p´rdidas y/o duplicados (cont.) o e

74

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

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

Se asiente negativamente la trama perdida, por lo que ¡¡cada trama debe tener un identificador!! El Emisor debe reenviar todas las tramas desde la perdida

c 2003 GSyC

Redes: Nivel de Enlace

Recuperaci´n de p´rdidas y/o duplicados (cont.) o e

75

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

dato-1
tiempo

dato-2 dato-3 dato-4 dato-5 dato-6 dato-3 dato-7 dato-8 nack-3

Se asiente negativamente la trama perdida

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

c 2003 GSyC

Redes: Nivel de Enlace

Recuperaci´n de p´rdidas y/o duplicados (cont.) o e

76

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

c 2003 GSyC

Redes: Nivel de Enlace

Recuperaci´n de p´rdidas y/o duplicados (cont.) o e

77

Emisor
1 1 2 1 2 3

Receptor

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

2 3 4 2 3 4 3 4 5 3 4 5 3

ack-2 dato-4 dato-5 dato-3

c 2003 GSyC

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´s habituales: a 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´ en bus. ıa • Cable coaxial fino (Thinnet): 10Base2, topolog´ en bus. ıa • Par trenzado: 10Base-T, topolog´ en estrella. ıa • Fibra ´ptica: 10Base-F, topolog´ en estrella o ıa Nivel F´ ısico: C´digo Machester, niveles de +0.85V y –0.85V. o 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 ´ UTP-5 (Unshielded Twisted Pair ): 4 Pares trenzados, o no blindados, categor´ 3 ´ 5. ıa o 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´s. 10 Mbps entre todas las bocas. a A veces se usa un conmutador (switch): Reenv´ s´lo a la boca a la ıa o que se conecta el destinatario. 10 Mbps por boca y sentido, varias transmisiones a la vez. Longitud m´xima hasta el concentrador: 100 metros a

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 6 6 2 0 - 1500 0 - 46 4

Preámbulo

Dirección destino

Dirección origen

Tipo

Datos

Relleno

CRC

Comienzo de trama

Pre´mbulo 10101010 (x 7 bytes). Permite al receptor sincronizar su a reloj con el del transmisor. Comienzo de trama 10101011, indicando que a continuaci´n empieza o 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´ entregada a todas a las estaciones de la subred (omnienv´ o broadcast). ıo Si el bit 47 (el de mayor peso) de la direcci´n destino es 1, la trama o va destinada a un grupo de m´quinas (multienv´ o multicast). a ıo Si el bit 46 de una direcci´n est´ a 1, la direcci´n es de ´mbito o a o a mundial, asignada de forma unica. Si est´ a 0, es de ´mbito local, ´ a a relativo a esa subred. En ambos casos son direcciones unienv´ o ıo unicast. La direcci´n de destino va delante para que una estaci´n sepa o o r´pidamente si una trama es para ella o no. a

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´n. Por ello, si hay menos de 46 bytes o de datos, se utilizan estos bytes de relleno.
Retardo m´x. de propagaci´n en 2,5 km, 4 repetidores: 25.6 µs a o Tiempo de Reacci´n: 25.6 x 2 = 51.2 µs o 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´n de o 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 ´pticas o

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´ dise˜ado de forma que no s´lo puede encapsular IP, sino tambi´n a n o e otros protocolos. Se utiliza fundamentalmente para conectarse a Internet a trav´s de la e red telef´nica b´sica mediante m´dem. o a o Hist´ricamente se us´ primero SLIP (Serial Line IP), pero PPP es o o m´s completo. La principal diferencia de PPP con SLIP es que PPP a incluye detecci´n de errores de transmisi´n mediante CRC. o o
flag 7E
1

addr FF
1

control 03
1

protocolo
2

datos
hasta 1500

CRC
2

flag 7E
1 nº bytes

c 2003 GSyC

Redes: Nivel de Enlace

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

87

ADSL: Asymetric Digital Susbcriber Line
Una l´ ınea telef´nica normal transmite voz: Una banda de 0-4kHz. En un par de o cobre “cabe m´s”, por lo que en la centralita se agrupan (multiplexan) varias a conversaciones (desplazadas en frecuencia) por un mismo cable. Las transmisiones mediante m´dem con PPP reciben el mismo trato. o Con ADSL el abonado contin´a utilizando los primeros 4kHz para las llamadas u de voz, pero ahora ocupa m´s ancho de banda para la transmisi´n (simult´nea) a o a 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´trico: se reserva m´s para recibir (256Kbps–2Mbps) que para enviar e a (128Kbps–300Kbps). Ambas bandas est´n separadas. a Se transmite por modulaci´n multitono discreta (MDT). o ADSL es m´s bien un nivel f´ a ı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´n de subredes o

88

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

c 2003 GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi´n de subredes (cont.) o

89

Repetidores Copian se˜ales el´ctricas de un medio f´ n e ısico de transmisi´n a otro o (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´n de subredes (cont.) o

90

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

c 2003 GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi´n de subredes (cont.) o

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´quinas a ´ son conscientes de su presencia. de las subredes que interconectan SI Los estudiaremos con m´s detalle en el tema siguiente. a

c 2003 GSyC

Redes: Nivel de Enlace

Dispositivos de interconexi´n de subredes (cont.) o

92

Concentradores Ofrecen el servicio de un bus a topolog´ en estrella. ıas Su servicio es fundamentalmente de nivel 1: repiten la se˜al de una n boca a las otras Puede incorporar cierta funcionalidad de nivel 2: en Ethernet, cuando detectan se˜al por una boca, env´ ruido por todas las dem´s para n ıan a 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´n de subredes (cont.) o

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´ndolas por las bocas adecuadas a (trabajan en el nivel 2). Pueden dar todo el ancho de banda a cada una de varias transmisiones simult´neas entre bocas. a Para tecnolog´ compatibles (Ethernet/FastEthernet) pueden tener ıas bocas trabajando a distintas velocidades. Reciben su nombre porque, para una transmisi´n entre dos bocas, o ofrecen un funcionamiento equivalente a “conmutar” para interconectarlas ofreciendo un unico canal directo e independiente de otras ´ transmisiones.
c 2003 GSyC Redes: Nivel de Enlace

Dispositivos de interconexi´n de subredes (cont.) o

94

Nivel de Red

c 2003 GSyC

Redes: Nivel de Red

Introducci´n o

95

Introducci´n o
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´n “adyae centes” (conectados directamente al mismo medio de transmisi´n). o Esto normalmente requiere pasar a trav´s de nodos intermedios: encamie nadores (routers). Es necesario elegir la mejor ruta a seguir. RECORDATORIO: El nivel de enlace s´lo se ocupa de que las tramas o viajen entre m´quinas “adyacentes”. a

c 2003 GSyC

Redes: Nivel de Red

Misiones del Nivel de Red

96

Misiones del Nivel de Red
Encaminamiento de paquetes. Asignaci´n de direcciones unicas a todas las m´quinas de la red, ino ´ a dependientes de la tecnolog´ de los niveles de enlace. ıa Interconexi´n en una misma red de subredes con distinto nivel de o enlace. Control de congesti´n. o

c 2003 GSyC

Redes: Nivel de Red

Tipos de Nivel de Red

97

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

c 2003 GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

98

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

c 2003 GSyC

Redes: Nivel de Red

Tipos de Nivel de Red (cont.)

99

Servicio basado en Datagramas La direcci´n de destino viaja en todos los paquetes de datos. o 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´n todos a los paquetes de datos. La direcci´n de destino viaja s´lo en los paquetes que establecen el o o cirtuito virtual. Los paquetes con datos s´lo llevan un identificador o 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
2 1

B
3

2

E
1 2 3

C
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´n). o Alg´n nivel superior deber´ ser capaz de detectar y recuperarse de u a estas p´rdidas, si la aplicaci´n lo requiere. e o

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´ricao mente posibles, pero no todas se dan en la pr´ctica. a Las combinaciones m´s frecuentes son: a Servicio Orientado a Conexi´n, basado en Circuitos Virtuales y Fiable o (ejemplo: X.25). Servicio No Orientado a Conexi´n, basado en Datagramas y No Fiable o (ejemplo: IP).

c 2003 GSyC

Redes: Nivel de Red

Direcciones de Red

104

Direcciones de Red
Se necesita un mecanismo de identificaci´n un´ o ıvoca de todas las m´quinas a de la red, independientemente de la tecnolog´ del nivel de enlace de cada ıa una. Existen distintos m´todos de direccionamiento seg´n el tipo de redes. e u Veremos m´s adelante el formato de las direcciones del nivel de red IP. a

c 2003 GSyC

Redes: Nivel de Red

Interconexi´n de subredes con distinto nivel de enlace o

105

Interconexi´n de subredes con distinto nivel o 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´n de nivel de red hacer esta integraci´n ı o o 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˜os de las unidades de datos n • distintas velocidades de las subredes

c 2003 GSyC

Redes: Nivel de Red

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

106

Ejemplo
Protocolo FTP Cliente FTP Servidor FTP

TCP

Protocolo TCP

TCP

router IP Protocolo IP IP Protocolo IP IP

Driver Ethernet

Protocolo Ethernet

Driver Ethernet

Driver token ring

Protocolo token ring

Driver token ring

TOKEN RING ETHERNET

c 2003 GSyC

Redes: Nivel de Red

Encaminamiento

107

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

c 2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

108

Algoritmo de encaminamiento: Procedimiento por el cu´l los encaminaa dores (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´n necesaria. o 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 D1 D2 ... Encaminador vecino al que enviar el paquete V1 V2 ...

Muchas veces se utiliza el t´rmino Protocolo de Encaminamiento en vez e 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´pidamente y para tener menos informaci´n a intercambiar con otros a o encaminadores Minimizar el n´mero y frecuencia de mensajes de control u Robustez: evitar agujeros negros, evitar bucles, evitar oscilaciones en las rutas Generar caminos ´ptimos: o • menor retardo de tr´nsito, o a • camino m´s corto (en funci´n de una cierta m´trica en funci´n de a o e o retardo, coste de los enlaces, . . . ), o • m´xima utilizaci´n de la capacidad de la red a o

c 2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

110

Algoritmo de inundaci´n o Es un algoritmo simple que a veces se utiliza cuando no hay ninguna informaci´n de encaminamiento disponible (al arrancar alg´n otro algoritmo): o u 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´n. Se utiliza tambi´n o e 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´n los paquetes que va recibiendo. u 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´ por ese enlace a 3. Cuando para un destino no hay entrada en la tabla, se env´ por ıa inundaci´n. o

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´n no resueltos (tentativos) u 2. 3. Inicialmente P s´lo contiene el nodo inicial o Para cada nodo de T : si no est´ directamente conectado a ning´n nodo de P , su distancia al a u nodo inicial es infinta en caso contrario, se calcula la menor entre la distancia calculada en un paso anterior y las distancias directas entre ´l y los nodos de P e 4. El nodo de T de menor distancia se pasa a P . Si a´n quedan nodos en T , u se vuelve al paso anterior.
Redes: Nivel de Red

c 2003 GSyC

Encaminamiento (cont.)

113

B 2 A 6 G 2 1 E

7 2 4 F 2 3

C 3 D 2 H A

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

C (∞, −) F (∞, −) H (∞, −) D (∞, −)

G (6, A) (b)

(a) B (2, A) E (4, B) C (9, B) B (2, A)

C (9, B)

A

F (∞, −) H (∞, −)

D (∞,−)

A

E (4, B) F (6, E) H (∞, −) (d)

D (∞,1)

G (6, A) (c) B (2, A) E (4, B)

G (5, E)

C (9, B) D (∞,−)

B (2, A) E (4, B)

C (9, B) D (∞,−)

A

F (6, E)

A

F (6,E)

G (5, E) (e)

H (9, G)

G (5, E) (f)

H (8, 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´cnica. e
1. Cada nodo mantiene una tabla de encaminamiento con pares (Destino, Nodo vecino por el que encamino), para todos los destinos de la red. Cada nodo estima el retardo de sus paquetes a los nodos vecinos (enviando peri´dicamente paquetes de sondeo). o Cada nodo env´ peri´dicamente a sus vecinos todos sus pares ıa o (Destino, retardo estimado) Cada nodo estudia la informaci´n recibida de los vecinos para ver si puede o conseguir una ruta de menor retardo enviando a trav´s de otro de sus e vecinos, y actualiza sus tablas de encaminamiento consecuentemente

2.

3.

4.

c 2003 GSyC

Redes: Nivel de Red

Encaminamiento (cont.)

115

A

B

C

D

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

£

©

£

¦

©

¡ 

¦

¡ 

¡

§ 

¦

¨

¡ 

¡

(a)

£

I

J

K

L

§

¤

¥

§

©

£

§

E

H

¤

¤

¨

¤

¤

§

¤

¥

F

G

¨

¤

§

§

§

£

¤

¤

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

A

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

H

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

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 

Router
 

New estimated delay from J K Line 8 20 28 20 17 30 18 12 10 0 6 15 A A I H I I H H I − K K

¢ ¡

Encaminamiento (cont.)

116

Problema: cuenta al infinito. La informaci´n acerca de mejores rutas se propaga poco a poco, consio gui´ndose al cabo de un rato que todos los encaminadores tengan tablas e o ´ptimas Pero las malas noticias (se cae un enlace o un encaminador) tardan en llegar:
A B C D E A B 1 3 3 5 5 7 7 C 2 2 4 4 6 6 8 D
¢

E 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


1 1 1 1

. . . ∞
(b)

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

c 2003 GSyC

Encaminamiento (cont.)

Algoritmos basados en el Estado de Enlace El protocolo OSPF (Open Shortest Path First), utilizado en Internet, emplea esta t´cnica. e
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´n. o Cada encaminador env´ perdi´dicamente el paquete de estado de enlaıa o ces a todos los encaminadores de la red. Estos mensajes se difunden por inundaci´n. o Cada encaminador, con la informaci´n recibida, conoce la topolog´ como ıa pleta de la red y calcula el mejor camino a todos sus destinos (aplicando, por ejemplo, el algoritmo de Dijkstra)

2.

3.

c 2003 GSyC

¦

¥

(a)

¤

¤

 

£

£

 

3 3
§

¢

¡

2 2 2

¢

∞ ∞

¡

∞ ∞ ∞

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

3 3 3 5 5 7 7

Redes: Nivel de Red

117

Redes: Nivel de Red

Encaminamiento (cont.)

118

A A 5
£ ¤ ¡

D 1 E 8 6 7 F

Seq. Age
 

Seq. Age A 4 C 2 F 6
¡

Seq. Age B 2 D 3 E 1
¦  

Seq. Age
 

Seq. Age A 5 C 1 F 8
¤ £

(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.)

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

c 2003 GSyC

Redes: Nivel de Red

¡

£

¦

B 4 E 5
¤

C 3 F 7

B 6 D 7 E 8

§

§

§

§

§

§

¦

4
¥

3

 

¢

B

2

C

§

Link B

State C

D

Packets E

 

F Seq. Age

119

Encaminamiento (cont.)

120

Full table for 1A Dest. Region 1 1B 1A 1C 2C 2D
 

Hierarchical table for 1A Dest. 1A 1B 1C 2
 

Region 2 2A 2B
 

1A 1B 1C 2A 2B 2C 2D 3A 3B 4A 4B 4C 5A 5B 5C 5D
¡ ¡ ¡ ¡ ¡ £ £    

Line – 1B 1C 1B 1B 1B 1B 1C 1C 1C 1C 1C 1C

Hops – 1 1 2 3
  £ £

Line – 1B 1C 1B 1C

Hops – 1 1 2 2
   

3
£ ¡

Region 3

Region 4

5E

1C (b)

(a)

Fig. 5-17. Hierarchical routing.
c 2003 GSyC Redes: Nivel de Red

Control de Congesti´n o

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

c 2003 GSyC

¡

¤

1C 1B 1C
¡

£

5D 5E Region 5
¡

¡

¡

3B
£

4B
¢

4C

¡

3A
£

4A

5A

¡

5B

5C

3 4 4 4 5 5 6 5 (c)

¢

3 4 3 2
£

4 5

£

1C 1C

3 4

¡

121

Redes: Nivel de Red

Control de Congesti´n (cont.) o

122

Medidas: En redes basadas en circuitos virtuales, se puede hacer un control de admisi´n: Al intentar establecer un nuevo circuito virtual, los encamio nadores 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´n (cont.) o

123

IP: Internet Protocol

c 2003 GSyC

Redes: IP: Internet Protocol

Introducci´n o

124

Introducci´n o
IP es un protocolo de Nivel de Red que ofrece un servicio de entrega de mensajes (datagramas): no orientado a conexi´n o 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
0 versión 4 longitud cabecera 8 tipo de servicio(TOS) flags (3 bits) protocolo dirección IP origen dirección IP destino opciones (en su caso) 16 longitud total offset de fragmentación cabecera
Redes: IP: Internet Protocol

31

identificación tiempo de vida (TTL)

checksum de la cabecera

datos

c 2003 GSyC

Datagramas IP (cont.)

126

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

c 2003 GSyC

Redes: IP: Internet Protocol

Datagramas IP (cont.)

127

longitud total En bytes. Tama˜o m´ximo: 65535 bytes. Normalmente n a es menor de 576 bytes. Dependiendo del nivel de enlace, cualquier m´quina puede necesitar fragmentar un datagrama IP al encaminarlo. a identificaci´n Diferente para cada datagrama que genera una m´quina o a (se va incrementando de 1 en 1). Distintos fragmentos del mismo datagrama mantienen el mismo n´mero de identificaci´n. u o flags Uno para indicar si este datagrama no puede fragmentarse, y otro para indicar si hay m´s fragmentos de este datagrama a offset de fragmentaci´n Generado al fragmentar un datagrama, le siro ve al destino final para reensamblarlo. TTL Indica el n´mero m´ximo de encaminadores que el datagrama puede u a atravesar. Normalmente se coloca a 32 ´ 64. Cada encaminador lo o decrementa, y si alcanza 0 se descarta el datagrama, envi´ndose al a 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 unicamente sobre la cabera del datagrama. ´ direcciones origen y destino Valores de 32 bits. opciones Informaci´n opcional. No todas las m´quinas y encaminadores o a las soportan. El campo de opciones se rellena con ceros por la derecha para asegurar un m´ltiplo de 32 bits. Ejemplos de opciones: u 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´n o IP que resulta unica en toda la red. ´ Los 32 bits se suelen expresar en ((notaci´n decimal puntuada)): 212.128.4.4 o El rango de direcciones se divide en 5 clases: Clase A B C D E Rango 0.0.0.0 a 127.255.255.255 128.0.0.0 a 191.255.255.255 192.0.0.0 a 223.255.255.255 224.0.0.0 a 239.255.255.255 240.0.0.0 a 247.255.255.255

c 2003 GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

130

Los primeros bits de una direcci´n indican cu´l es su clase. o a En cada clase, es distinto el n´mero de bits de red y el de bits de m´quina. u a
Clase A 0
7 bits id red 14 bits id red 21 bits id red 28 bits 24 bits id maquina 16 bits id maquina 8 bits id maquina

Clase B

1

0

Clase C

1

1

0

Clase D

1

1

1

0

id grupo multicast 27 bits reservado para usos futuros

Clase E

1

1

1

1

0

c 2003 GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

131

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

c 2003 GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

132

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

c 2003 GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

133

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

c 2003 GSyC

Redes: IP: Internet Protocol

Direcciones IP (cont.)

134

El n´mero de bits con el que se indica la subred se denota con una m´scara u a de subred: 32 bits, 1 para bits de red y subred, 0 para bits de m´quina. a Ejemplos:
Direcci´n de clase o 163.117.0.0 M´scara a 255.255.255.0 Subredes 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´n (bits de m´quina a cero) como “direcci´n de la red” o a o la ultima direcci´n (bits de m´quina a uno) como “direcci´n de broadcast”. ´ o a o

c 2003 GSyC

Redes: IP: Internet Protocol

Encaminamiento

135

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

c 2003 GSyC

Redes: IP: Internet Protocol

Encaminamiento (cont.)

136

Para encaminar, una m´quina consultar´ su tabla de encaminamiento. En a a ella, para enviar un datagrama a una cierta direcci´n IP destino, buso car´ por este orden: a 1. Una entrada con una direcci´n IP de m´quina igual a la buscada. o a 2. Una entrada con una direcci´n IP de red igual a la parte de red de la o 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 U ruta utilizable G ruta indirecta (pasarela)

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

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´n (mientras que se pasa a IPv6): CIDR (Classless Inter Domain o 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´scaras mediante prefijos: a 193.147.71.0/25 indicando que los 25 primeros bits son los significativos en la direcci´n o anterior (entra el primer bit del ultimo 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´n de direcciones ARP proporciona una forma de o pasar de una direcci´n IP a una direcci´n Ethernet. o o Cuando el nivel IP va a enviar un datagrama con una cierta direcci´n IP o de destino: Si la direcci´n de destino es de la misma subred, esa m´quina es o a directamente a quien hay que enviar la trama Ethernet que contenga el datagrama. Si no, la tabla de encaminamiento da la direcci´n IP del siguiente o salto, que es el encaminador a quien hay que enviar la trama Ethernet que contenga el datagrama. En cualquiera de los dos casos, s´lo se conoce la direcci´n IP de una o o m´quina adyacente a la que pasar el datagrama, pero para formar la a trama Ethernet se necesita conocer la direcci´n Ethernet de destino. o
c 2003 GSyC Redes: IP: Internet Protocol

ARP (Address Resolution Protocol) (cont.)

141

Para conocer la direcci´n Ethernet de una m´quina de la misma subred, o a dada su direcci´n IP, una m´quina hace lo siguiente: o a 1. Env´ una trama Ethernet de broadcast consistente en una solicitud ıa ARP, conteniendo la direcci´n IP en cuesti´n. o o 2. Aquella m´quina que reciba una solicitud ARP preguntando por su a propia direcci´n IP, contesta con una trama Ethernet dirigida a quien o hizo la pregunta, conteniendo una respuesta ARP indicando la direcci´n Ethernet pedida. o Cada m´quina mantiene una cache de correspondencias direcciones IP a 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´n con otros protocolos de nivel de o red (no s´lo IP), por lo que el formato var´ o ı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 ´se el nivel de enlace). e En una solicitud, los campos ((origen)) llevan los datos de la m´quina a que pregunta, y de los campos ((destino)) s´lo va relleno “IP Dest.”, o ya que “Eth. Dest.” es justo lo que se pregunta Al formar la respuesta, la m´quina interrogada cambia los dos campos a ((origen)) por los ((destino)), rellenando el que falta (que es su direcci´n o Ethernet pedida).

c 2003 GSyC

Redes: IP: Internet Protocol

ARP (Address Resolution Protocol) (cont.)

143

ARP gratuito: Una m´quina puede enviar una solicitud ARP preguna tando sobre su propia direcci´n IP. Prop´sitos: o o • 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´quina destino, cuando esa m´quina a a destino es alcanzable a trav´s de dicho encaminador. e

c 2003 GSyC

Redes: IP: Internet Protocol

RARP (Reverse Address Resolution Protocol)

144

RARP (Reverse Address Resolution Protocol)
En ocasiones es necesario un m´todo para obtener la direcci´n IP de una e o m´quina a partir de su direcci´n Ethernet. a o Ejemplo: Al arrancar una estaci´n sin disco, no puede tener en ning´n o u fichero de configuraci´n su direcci´n IP. S´lo sabe que tiene una tarjeta o o o Ethernet en la que est´ grabada su direcci´n Ethernet. a o Mecanismo de RARP: 1. La m´quina env´ un broadcast de una solicitud RARP, indicando su a ıa direcci´n Ethernet. o 2. Alguna m´quina de la subred le enviar´ una respuesta RARP ina a dic´ndole cu´l es su direcci´n IP. a a o

c 2003 GSyC

Redes: IP: Internet Protocol

RARP (Reverse Address Resolution Protocol) (cont.)

145

Lo habitual es tener una m´quina en la subred que act´e como servia u dor 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´n frente a fallos, se colocan varios servidores o de RARP en la misma subred, el protocolo establece que se tomar´ s´lo a o la primera respuesta RARP recibida por la m´quina que lanzo la solicitud a RARP. Alternativas a RARP: BOOTP (similar) y DHCP (m´s complejo). a

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´quinas. a Los mensajes ICMP se transmiten encapsulados en datagramas IP. Su formato es:
0 tipo 8 código 16 checksum de todo el mensaje ICMP 31

datos dependiendo de tipo ycódigo

c 2003 GSyC

Redes: IP: Internet Protocol

ICMP (Internet Control Message Protocol) (cont.)

147

Ejemplos de mensajes ICMP:
tipo 0 3 3 3 8 11 12 13 14 c´digo o 0 0 1 3 0 0 1 0 0 descripci´n o respuesta de eco destino inalcanzable: red inalcanzable destino inalcanzable: m´quina inalcanzable a destino inalcanzable: puerto inalcanzable solicitud de eco tiempo excedido: TTL = 0 cabecera IP mal: falta una opci´n o solicitud de marca de tiempo respuesta de marca de tiempo

c 2003 GSyC

Redes: IP: Internet Protocol

NAT (Network Address Translation)

148

NAT (Network Address Translation)
Existen unos rangos de direcciones IP privadas, reservadas para ´mbia to 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´n puede usar o direcciones privadas internamente, y tener una sola direcci´n IP global o (p´blica) en la m´quina que da salida a Internet. u a Esta m´quina utiliza NAT para que los datagramas puedan entrar/salir a de/a las m´quinas internas. Muy resumidamente lo que hace es cama biar las direcciones IP privadas de los datagramas por la suya p´blica. u

c 2003 GSyC

Redes: IP: Internet Protocol

Congesti´n en Internet o

149

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

c 2003 GSyC

Redes: IP: Internet Protocol

Congesti´n en Internet (cont.) o

150

UDP: User Datagram Protocol

c 2003 GSyC

Redes: UDP: User Datagram Protocol

Introducci´n o

151

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

Redes: UDP: User Datagram Protocol

Datagramas UDP

152

Datagramas UDP
0 número de puerto origen longitud total 16 número de puerto destino checksum de todo el datagrama UDP (opcional) 31

datos (en su caso)

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

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´s una pseudo-cabecera que se a coloca delante:
0 16 dirección IP de origen dirección IP de destino ceros protocolo longitud total (repetido) número de puerto destino checksum de todo el datagrama UDP (opcional) 31 pseudo-cabecera

número de puerto origen longitud total

datos (en su caso)

byte de relleno (ceros)

c 2003 GSyC

Redes: UDP: User Datagram Protocol

Puertos

154

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

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´ las aplicaciones a trav´s ıan e de los puertos, encapsul´ndolas en datagramas UDP o segmentos a TCP demultiplexa los datagramas UDP y los segmentos TCP, pasando los datos a las aplicaciones. Los puertos se identifican por un n´mero de 16 bits. Los puertos UDP y u 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´n reservados y a asignados universalmente a aplicaciones de red conocidas. En una m´quina Unix est´ asignaci´n est´ en fichero /etc/services: a a o a
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 peticioı, nes en el puerto 80 de una m´quina. Un navegador desde otra m´quina a a har´ peticiones al puerto 80 del servidor, y escuchar´ las respuestas en un a a puerto suyo no privilegiado. En vez de tener un servidor escuchando en cada puerto, un s´lo proceso o (inetd) escucha en varios, y se encarga de arrancar el proceso adecuado seg´n el puerto concreto por el que lleg´ la petici´n. u o o Ambos mecanismos conviven: inetd escucha en varios puertos, y en otros (los m´s frecuentemente utilizados) lo hace directamente el proceso invoa lucrado.

c 2003 GSyC

Redes: UDP: User Datagram Protocol

Servicio dado por UDP

158

Servicio dado por UDP
El servicio ofrecido por UDP s´lo aumenta el ofrecido por IP en: o n´meros de puerto u 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´s ligero que TCP, y en una red local a (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´n o

160

Introducci´n o
TCP (Transmission Control Protocol): Protocolo de Transporte. Ofrece un servicio orientado a conexi´n y fiable. o 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´n o

161

Servicio Orientado a Conexi´n o
La transmisi´n de datos de nivel de transporte presenta las fases: o • establecimiento de la conexi´n o • intercambio de datos • liberaci´n de la conexi´n. o o Peculiaridad: Ambos extremos pueden transmitir y recibir datos simult´neamente. a Los datos de la aplicaci´n son troceados en segmentos del tama˜o o n 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´rdidas y desorden producido por IP. e Idea b´sica: a • Los segmentos con datos llevan un n´mero de secuencia. u • 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 número de puerto origen número de secuencia número de asentimiento longitud cabecera reseervado (6 bits) URG ACK PSH RST SYN FIN tamaño de la ventana puntero de datos urgentes 16 número de puerto destino 31

checksum de todo el segmento TCP 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´n origen y destino del sego mento (como UDP). Longitud cabecera: Tama˜o de la cabecera en palabras de 32 bits. Lo n normal es 5 (20 bytes). Checksum: Sobre pseudo-cabecera, cabecera y datos, calculado como en UDP. Si no se pasa la comprobaci´n, se descarta el datagrama. o

c 2003 GSyC

Redes: TCP: Transmission Control Protocol

N´meros de secuencia u

165

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

c 2003 GSyC

Redes: TCP: Transmission Control Protocol

N´meros de asentimiento u

166

N´meros de asentimiento u
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´mero de asentimiento indica el n´mero de secuencia del pr´ximo u u o byte que se espera recibir, asinti´ndose de esta manera hasta el byte e 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´meros de asentimiento (cont.) u

167

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

c 2003 GSyC

Redes: TCP: Transmission Control Protocol

N´meros de asentimiento (cont.) u

168

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

c 2003 GSyC

Redes: TCP: Transmission Control Protocol

N´meros de asentimiento (cont.) u

169

Ejemplo: • El emisor recibe un segmento con:
◦ N´mero de asentimiento: 5 u ◦ Tama˜o de ventana: 8. n

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

1

2

3

4

5

6

7

8

9

10

11

12 13 14 15 16
sin aceptar de la aplicación

enviados y asentidos

enviados y no asentidos

pendientes para enviar

El tama˜o de la ventana es variable din´micamente (pero deber´ n a ıan mantenerse las ((antiguas promesas))). El tama˜o de la ventana permite tambi´n hacer control de flujo exn e tremo a extremo.
c 2003 GSyC Redes: TCP: Transmission Control Protocol

Establecimiento de conexi´n o

170

Establecimiento de conexi´n o
A 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 B

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

c 2003 GSyC

Redes: TCP: Transmission Control Protocol

Liberaci´n de conexi´n o o

171

Liberaci´n de conexi´n o o
A segmento con bit FIN B

segmento con asentimiento del FIN segmento con bit FIN

segmento con asentimiento del FIN

Como la conexi´n permite la transmisi´n bidireccional de datos (full duplex), es o o necesario “cerrar” cada sentido de la transmisi´n (por separado). o
c 2003 GSyC Redes: TCP: Transmission Control Protocol

Liberaci´n de conexi´n (cont.) o o

172

Plazos para asentimiento Cuando se env´ un segmento, se arranca un temporizador para esperar ıa su asentimiento. Problema: ¿Qu´ plazo le ponemos? e Se utiliza un algoritmo adaptativo para optimizar lo m´s posible la transa misi´n de datos. o Para cada segmento se calcula el tiempo de ronda (round-trip time, RTT): tiempo entre que se env´ el segmento y se recibe el asentimiento. Se va ıa 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´n de conexi´n (cont.) o o

173

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

c 2003 GSyC

Redes: TCP: Transmission Control Protocol

Redes: TCP: Transmission Control Protocol

Pueden enviarse datos denominados urgentes (o ((fuera de banda))), que el receptor debe pasar inmediatamente a la aplicaci´n, lo antes posible. o

Se indican mediante el empleo de la bandera URG: Cuando est´ levantada, a el campo puntero a datos urgentes apunta al ultimo byte de datos urgentes ´ del segmento.

No est´ especificado d´nde empiezan los datos urgentes. Se deja a la a o aplicaci´n. o

‚ 8 b 5 )  ) 3 e d  ) d  8"  ) d # x  f Q 4(Q)ptp76Y)VwV2 €Yyw# &YV VQ) ) f 3 e )  5   5 )  )3 ¡ 5   t(&)(6Ydw$)"(6Y % # 6(6Y# v76e £   3&) u&)   3  9 '  5 # 5 W ) ) c 5 # )(f © $)" (% 6)X6t2p$#"(6)X6Vs6Y rb(6)a)`&(5   R

g&(6) qp ' (Qi0#d ) 5 8" ) 3 e " # h$#Y % # 6(6¦g&d(Q#(4a)&)(6eX6V2 £    TR   #d "  5 ) ) 5 f ` 3 5 # ¡ S

‚ x ) b ` f ` f 8 b 5 ) )  ) 3 e ) d  ) d  8" y 5    rVY‡Q)XuW†8`GQ#(& 476YVp76YVwV2 €YX6V7f # 5 2 c 5 ) ` ) © '  ) 5 #2 "5 ) W ) S d(Q(34Y 4b76a)&V  0)" (% 6X6VY$#(6X6VU TR

‚4V2 €"Yy ’ #0"(5Q) YW €"(QVY‡Q(f&V  TR 8 8 8 5) ` #x “ ¡ ‘ ˆ C1 S B Pˆ ¢  ¢S P! 1B ‰¡ ’

P   B G ¥  G  ©§ 825 )32 ©¨¥  4(674) 1

£ ¡¢¦¥  G     §©©§ ¥ ¡ ¨¦£  

Ejemplo de conexi´n o

Liberaci´n de conexi´n (cont.) o o

Ejemplo de conexi´n o

£ ¡    ¤¢¨¥   ©¨¥¦¤¢  § F £ ¡

Datos urgentes

P   B  ¥   ¨¥  4(Q)(4) 1 ©F 825 32

£ ¡    ¤¢¨¥   ©¨¥¦¤¢   F £ ¡ 

)0" '(&©¦¥ $# ! % ©   " £ ¨¥   ¡     ©§ £ ¡ ©¨¥¦¤¢  ©  825 ) 2 ¨¥  476(34) 1

Ejemplo: Env´ de un CTRL-C. ıo

£¤¢¨¥   ¡    ©¨¥¦¤¢    £ ¡ 

)0" '(&©¦¥ $# ! % ©   " £ ¨¥   ¡     ©§ £ ¡ ©¨¥¦¤¢  ©  825 ) 2 9¨¥  476(34) 1 

)0" '(&©¦¥ $# ! % ©   " £ ¨¥   ¡     ©§ £ ¡ ©¨¥¦¤¢  ©  825 ) 2 ¨¥  476(34) 1 

)0" '(&©¦¥ $# ! % ©   " £ ¨¥   ¡     ©§ £ ¡ ©¨¥¦¤¢  ©  825 ) 2 ©¨¥  476(34) 1

c 2003 GSyC 

 £¤¡¢  EC¢1 ¥   D B A ©  ¥ ¡ ©¦¦£ ¢  6©¨¥  84(6734) 1 @ ©§ 25 ) 2

B A   C¢1 ¥   6¨¥  476(34) 1 @ ©© 825 ) 2

I

H

c 2003 GSyC

£ ¨¥  G ¡    ©©§ ¥ ¡ ¨¦£  

Redes: TCP: Transmission Control Protocol

174

175

$#"(6)X6tpV2 YY6YVa6(f…QX6(3f 5 W  ) # 8 5 „ 5 3 5 ) ) `  3`   5 ) d ) g` 8 5 )3 e 5 8 )3 G6 4b(6)Y(6Y)(Q) q"Y(6e £ ¡  XuWq" ¨w# TR # 8„ #d ƒ

Ejemplo de conexi´n (cont.) o

176

DNS: Domain Name System

c 2003 GSyC

Redes: DNS: Domain Name System

¿Por qu´ necesitamos el DNS? e

177

¿Por qu´ necesitamos el DNS? e
Los humanos preferimos nombres a direcciones IP (ej: cacharro.escet.urjc.es frente a 212.128.1.44) Los n´meros IP est´n ligados a la estructura de la red, pero eso no tieu a ne por qu´ reflejarse en el nombrado de m´quinas (ej: www.debian.org, e a www.de.debian.org. Los n´meros IP est´n ligados a m´quinas concretas, puede ser conveu a a niente un nivel de abstracci´n no ligado a m´quinas (ej: www.urjc.es o a puede cambiar de m´quina, y de IP, pero no de nombre). a Es necesario establecer una correspondencia entre nombres y direcciones IP.

c 2003 GSyC

Redes: DNS: Domain Name System

Un poco de historia

178

Un poco de historia
Al principio (a˜os 70), un unico fichero (HOSTS.TXT) con informan ´ ci´n de todas las m´quinas de ARPANET. o a Se obten´ peri´dicamente por FTP. Gesti´n completamente manual. ıa o o Con el crecimiento de ARPANET se hizo inmanejable. 1984, Paul Mockapetris: primeras RFC que describen el Domain Name System. Especificaciones actuales: RFC 1034 y 1035.

c 2003 GSyC

Redes: DNS: Domain Name System

Estructura de nombrado

179

Estructura de nombrado
Se descentraliza el control consigui´ndose una estructura jer´rquica y f´cile a a mente ampliable. Jerarqu´ de dominios: ıa Dominio ra´ (root o “.”). Gestionado por ICANN (Internet Corporaız tion for Assigned Names and Numbers). Dominios de nivel m´ximo: a • Tradicionales: com, edu, gov, mil, net, org, int, c´digos ISO de o paises (uk, mx, ar, de, es. . . ) • En negociaci´n por ICANN en noviembre de 2000: biz, info, name, o pro, aero, coop, museum Dominios secundarios, terciarios, . . .
c 2003 GSyC

Redes: DNS: Domain Name System

Estructura de nombrado (cont.)

180

´ Arbol de dominios

com edu gov mil org net es uk ... sun mit eng lcs theory
c 2003 GSyC

acm ieee

urjc

escet rct gsyc
Redes: DNS: Domain Name System

Estructura de nombrado (cont.)

181

Dominios directo e inverso Dominio directo: proporciona para cada nombre una direcci´n IP. o Dominio inverso: proporciona para cada direcci´n IP un nombre. o • El dominio inverso tambi´n se conoce como dominio in-addr.arpa. e • Los elementos del dominio inverso son las direcciones de red construidas invirtiendo los n´meros que la componen, y terminando en u in-addr.arpa • Ejemplo: La red 138.117.0.0 es el dominio inverso 117.138.inaddr.arpa

c 2003 GSyC

Redes: DNS: Domain Name System

Estructura de gesti´n o

182

Estructura de gesti´n o
Cada vez que se delega un subdominio se delega tambi´n su gesti´n (ine o cluyendo su posible subdivisi´n sucesiva). o Si el gestor del dominio es delega un subdominio urjc, el responsable de urjc manejar´ la correspondencia de nombres y direcciones de todas a las m´quinas de su dominio. a Si el responsable de urjc lo cree conveniente, puede delegar un subdominio escet, sin que por ello tenga que informar al gestor de es. Hay dominios (ejemplo: com, org) gestionados por varios “registrars” en r´gimen de competencia. e

c 2003 GSyC

Redes: DNS: Domain Name System

Consulta de una direcci´n para un nombre o

183

Consulta de una direcci´n para un nombre o
Cada aplicaci´n va enlazada con una biblioteca de consulta al DNS (reo solver), con llamadas como gethostbyname(). La consulta normalmente sigue los pasos siguientes (en una m´quina a Unix): Consulta en un fichero (/etc/hosts). Consulta en un servidor de DNS (su direcci´n IP est´ en /etc/resolv.conf). o a

c 2003 GSyC

Redes: DNS: Domain Name System

Esquema de funcionamiento del DNS

184

Esquema de funcionamiento del DNS
Se trata de mantener la informaci´n como una base de datos distribuida. o Las consultas al DNS se realizan en modo cliente-servidor: Cuando una aplicaci´n (cliente) quiere “resolver” un nombre (que no o aparece en el fichero local), pregunta a un servidor de DNS El servidor investiga por su cuenta y devuelve la direcci´n IP pedida. o

c 2003 GSyC

Redes: DNS: Domain Name System

Esquema de funcionamiento del DNS (cont.)

185

Consulta a un servidor

telnet gsyc.escet.urjc.es Servidor DNS
  ¡   ¡ ¢ £ ¢   ¡   ¡ ¢ £   ¡   ¡ ¢ ¢ £ ¢

gsyc.escet.urjc.es?

UDP(gsyc.escet.urjc.es?)

telnet

resolver

UDP(212.128.1.45)

212.128.1.45

c 2003 GSyC

Redes: DNS: Domain Name System

Esquema de funcionamiento del DNS (cont.)

186

Funcionamiento b´sico (sin caches) a Cuando un servidor recibe una consulta para resolver un nombre (ejemplo: nic.funet.fi): 1. Comprueba si el nombre pertenece a alguno de los dominios que sirve (si es que sirve alguno). Si lo encuentra busca en su “mapa” y devuelve la direcci´n IP correspondiente. o 2. En caso contrario pregunta a un servidor del dominio ra´ que le ız, contestar´ con la direcci´n IP de un servidor del dominio “fi”. a o 3. Luego regunta a ese, obteniendo la direcci´n IP de un servidor de o “funet.fi”. 4. Ahora se pregunta a este ultimo, que ya tiene en sus mapas la direcci´n ´ o IP pedida. (Cada servidor puede servir uno o varios dominios, o ninguno)

c 2003 GSyC

Redes: DNS: Domain Name System

Esquema de funcionamiento del DNS (cont.)

187

gsyc.escet.urjc.es.? pregunta a es gsyc.escet.urjc.es.?

es urjc escet rct gsyc

pregunta a urjc gsyc.escet.urjc.es.? pregunta a escet gsyc.escet.urjc.es.? 212.128.1.45
gsyc.escet.urjc.es? telnet resolver

212.128.1.45

c 2003 GSyC

Redes: DNS: Domain Name System

Esquema de funcionamiento del DNS (cont.)

188

Consultas a un servidor Por lo tanto, los servidores de DNS responden dos tipos de consultas: Recursivas: Las que le hace un cliente, que obligan al servidor a hacer las consultas necesarias para encontrar la direcci´n pedida. o Iterativas: Las que le hace otro servidor, a las que responden con la direcci´n IP del servidor del siguiente dominio en la jerarqu´ o ıa. Siempre que pueden, los servidores usan datos de su cache.

c 2003 GSyC

Redes: DNS: Domain Name System

Tipos de servidores

189

Tipos de servidores
Seg´n c´mo son utilizados: u o Reenviador (“forwarder”). Los servidores lo usan antes de consultar al resto del DNS. Utilizados por servidores para centralizar las consultas. Evitan, por ejemplo, el acceso directo a servidores ra´ ız. Esclavo. Utilizados por servidores en lugar del resto del DNS (por ejemplo, si hay cortafuegos).

c 2003 GSyC

Redes: DNS: Domain Name System

Tipos de servidores (cont.)

190

Seg´n c´mo reciben los datos: u o Primario. Tiene la informaci´n actualizada. o Secundario. Copia del primario. Cache. Guardan datos sobre los que han consultado. Seg´n el lugar de procedencia del dato: u Con autoridad (“authoritative”). Tiene el mapa “original” para el dominio consultado (primario o secundario). Sin autoridad. Tiene el dato en su cache.

c 2003 GSyC

Redes: DNS: Domain Name System

Mapas de dominio

191

Mapas de dominio
Cada mapa de dominio incluye un conjunto de registros de recurso (RR): Son la unidad de consulta. Cada registro de recurso tiene 5 campos: • Nombre de dominio. • Tiempo de vida. Tiempo de validez del registro en las cach´s. e • Clase. En Internet siempre IN. • Tipo. Define el tipo del registro. • Valor. Contenido que depende del campo tipo.

c 2003 GSyC

Redes: DNS: Domain Name System

Mapas de dominio (cont.)

192

Tipos de registro SOA: Da informaci´n de gesti´n una zona del dominio (servidor de o o nombres primario, administrador, etc.). NS: Identifica al servidor de nombres. A: Define una direcci´n IP de la estaci´n (puede tener varias). o o MX: Define el servidor de correo del dominio. CNAME: Permite asociar un alias a un nombre de dominio. HINFO: Da informaci´n del tipo de m´quina y sistema operativo. o a TXT: Da informaci´n del dominio. o

c 2003 GSyC

Redes: DNS: Domain Name System

Mapas de dominio (cont.)

193

urjc.es.

172800

IN

172800 172800 www 172800 venus 172800 escet 172800 gsyc.escet 172800

IN IN IN IN IN IN

Ejemplo SOA venus.urjc.es. root.venus.urjc.es. ( 2000030702 ; N´mero de serie u 86400 ; Refresco 7200 ; Reintento 2592000 ; Expiraci´n o 172800 ) ; Ttl NS venus.urjc.es. MX venus.urjc.es. CNAME venus.urjc.es. A 193.147.184.8 NS gsyc.escet.urjc.es A 212.128.1.45

c 2003 GSyC

Redes: DNS: Domain Name System

Formato de menaje DNS

194

Formato de menaje DNS
Paquetes iguales para consultas y respuestas. Cabecera fija de 12 bytes: Identificaci´n (2 bytes). Correspondencia consultas-respuestas. o Banderas (2 bytes). Consulta/respuesta, truncamiento, tipo de petici´n (directa, inversa, estado), respuesta con autoridad, petici´n reo o cursiva, error. N´mero de consultas (2 bytes). u N´mero de RRs de respuesta (2 bytes). u N´mero de RRs de autoridad (2 bytes). u N´mero de otros RRs (2 bytes). u

c 2003 GSyC

Redes: DNS: Domain Name System

Formato de menaje DNS (cont.)

195

Datos, tama˜o variable: n Consultas. Respuestas. Autoridad. M´s informaci´n. a o

c 2003 GSyC

Redes: DNS: Domain Name System

Formato de menaje DNS (cont.)

196

Consulta Cada consulta de un mensaje DNS (normalmente s´lo una) tiene: o Nombre de la petici´n: secuencia de etiquetas (tama˜o, 1 byte, cadeo n na, hasta 63 bytes), terminada por la etiqueta “root” (byte de tama˜o n a 0). Tipo de consulta (2 bytes). A, NS, PTR, etc. Clase de consulta (2 bytes). Normalmente IN.

c 2003 GSyC

Redes: DNS: Domain Name System

Formato de menaje DNS (cont.)

197

Registro de recurso Cada RR de un mensaje DNS tiene: Nombre de dominio. Mismo formato que nombre de petici´n. o Tipo (2 bytes). Clase (2 bytes). Tiempo de vida (4 bytes). Tama˜o de los datos del recurso (2 bytes). n Datos del recurso (valor).

c 2003 GSyC

Redes: DNS: Domain Name System

¿UDP o TCP?

198

¿UDP o TCP?
Se usa el puerto 53 de TCP y UDP para el servidor de DNS. Normalmente el resolver hace consultas usando UDP. Normalmente el servidor responde usando el protocolo de la consulta. Si la respuesta UDP es de m´s de 512 bytes (truncada), el resolver al a repite usando TCP. Las transferencias de zona de primario a secundario usan TCP.

c 2003 GSyC

Redes: DNS: Domain Name System

Referencias

199

Referencias
“DNS: The Domain Name System”, cap´ ıtulo 14 de “TCP/IP’ Illustrated, Volume 1”, por W. Richard Stevens, Addison Wesley, 1994. FAQ de comp.protocols.tcp-ip.domains: http://www.intac.com/~cdp/cptd-faq/ ICANN: http://www.icann.net/

c 2003 GSyC

Redes: DNS: Domain Name System

Referencias (cont.)

200

HTTP

c 2003 GSyC

Redes: HTTP

¿Qu´ es HTTP? e

201

¿Qu´ es HTTP? e
Hypertext Transfer Protocol. Es el protocolo m´s habitual para servir p´ginas web. a a Protocolo cliente-servidor. Normalmente funciona sobre TCP, con el servidor (normalmente) en el puerto 80. No olvidar que HTTP puede servir tanto contenido est´tico (ficheros) a como din´mico (el resultado de ejecutar programas en el servidor). a

c 2003 GSyC

Redes: HTTP

Interacci´n cliente-servidor en HTTP o

202

Interacci´n cliente-servidor en HTTP o
El cliente abre una conexi´n TCP con el servidor. o El cliente env´ un mensaje de petici´n. ıa o El servidor responde con un mensaje de respuesta. El servidor cierra la conexi´n TCP. o HTTP no mantiene estado (no hay informaci´n sobre las conexiones entre o una petici´n y otra). o

c 2003 GSyC

Redes: HTTP

Interacci´n cliente-servidor en HTTP (cont.) o

203

Formato de los mensajes Mensajes “legibles” (compuestos por l´ ıneas de texto “casi en ingl´s”): e L´ ınea inicial (diferente para petici´n y respuesta), terminada en CRLF. o Cero o m´s l´ a ıneas de cabecera, cada una terminada en CRLF: Cabecera-X: Valor-X CRLF L´ ınea en blanco (CRLF). Cuerpo del mensaje (opcional). Adem´s de CRLF, deber´ tratarse adecuadamente l´ a ıan ıneas terminadas en LF.

c 2003 GSyC

Redes: HTTP

Interacci´n cliente-servidor en HTTP (cont.) o

204

L´ ınea inicial (peticiones) Especifica el recurso que se solicita, y qu´ se quiere de ´l: e e Nombre de m´todo (GET, POST, HEAD). e Camino de acceso (path) Versi´n de HTTP (siempre HTTP/x.x). o Ejemplo: GET /directorio/otro/fichero.html HTTP/1.0

c 2003 GSyC

Redes: HTTP

Interacci´n cliente-servidor en HTTP (cont.) o

205

L´ ınea inicial (respuestas) Proporciona informaci´n de estado: o Versi´n de HTTP (siempre HTTP/x.x). o C´digo num´rico de estado. o e C´digo de estado “en ingl´s”. o e C´digos de estado: o 1xx: Mensaje informativo. 2xx: Resultado exitoso (200 OK). 3xx: Redirecci´n del cliente a otra URL (301 Moved permanently, 303 o See Other). 4xx: Error en el lado del cliente (404 Not Found). 5xx: Error en el lado del servidor (500 Server Error).
c 2003 GSyC Redes: HTTP

Interacci´n cliente-servidor en HTTP (cont.) o

206

L´ ıneas de cabecera Mismo formato que las cabeceras de correo y News (RFC 822, secci´n 3). o HTTP/1.0: 16 cabeceras, ninguna obligatoria. HTTP/1.1: 46 cabeceras, “Host:” obligatoria en las peticiones (usada por los “virtual hosts”). Se recomienda incluir en las peticiones al menos: • “From:” (direcci´n de correo). o • “User-Agent:” (ej: Mozilla/4.7). Se recomienda incluir en las respuestas al menos: • “Server:” (ej: Apache/1.3). • “Last-Modified:” (fecha GMT, usado por las caches).

c 2003 GSyC

Redes: HTTP

Interacci´n cliente-servidor en HTTP (cont.) o

207

Cuerpo del mensaje En las respuestas contiene el recurso pedido o texto explicando un error. En las peticiones contiene datos de usuario o ficheros para subir. Si hay cuerpo, normalmente hay algunas cabeceras relativas a ´l: e • “Content-Type”: tipo MIME de los datos (ej: text/html, image/png). • “Content-Length”: n´mero de bytes en el cuerpo. u

c 2003 GSyC

Redes: HTTP

Interacci´n cliente-servidor en HTTP (cont.) o

208

Ejemplo (GET, petici´n) o GET /~jgb/test.html HTTP/1.0\r\n Connection: Keep-Alive\r\n User-Agent: Mozilla/4.07 [en] (X11; I; Linux 2.2.15 i586; Nav) ... Host: gsyc.escet.urjc.es\r\n Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, i ... Accept-Encoding: gzip\r\n Accept-Language: en\r\n Accept-Charset: iso-8859-1,*,utf-8\r\n \r\n

c 2003 GSyC

Redes: HTTP

Interacci´n cliente-servidor en HTTP (cont.) o

209

Ejemplo (GET, respuesta) HTTP/1.1 200 OK\r\n Date: Tue, 23 Jan 2001 12:44:27 GMT\r\n Server: Apache/1.3.9 (Unix) Debian/GNU\r\n Last-Modified: Tue, 23 Jan 2001 12:39:45 GMT\r\n ETag: "19e89f-22-3a6d7b91"\r\n Accept-Ranges: bytes\r\n Content-Length: 34\r\n Keep-Alive: timeout=15, max=100\r\n Connection: Keep-Alive\r\n Content-Type: text/html\r\n \r\n <html>\nEsto es una prueba\n</html>

>.

c 2003 GSyC

Redes: HTTP

Interacci´n cliente-servidor en HTTP (cont.) o

210

M´todos HEAD y POST e HEAD: Igual que un GET, pero s´lo pide las cabeceras. o Se pueden consultar las caracter´ ısticas sin bajarse el fichero. POST: Hay datos en el cuerpo (que se “suben” al servidor). El URI “pedido” es normalmente el programa que trata los datos enviados. Tambi´n se pueden enviar datos con un GET (codific´ndolos en el e a URL pedido).

c 2003 GSyC

Redes: HTTP

Interacci´n cliente-servidor en HTTP (cont.) o

211

Ejemplo (POST, petici´n) o POST /comments.pl HTTP/1.0\r\n From: jgb@gsyc.escet.urjc.es\r\n User-Agent: MegaNavigator/0.0\r\n Content-Type: application/x-www-form-urlencoded\r\n Content-Length: 18\r\n \r\n section=all&rank=10

c 2003 GSyC

Redes: HTTP

Representante (proxy) HTTP

212

Representante (proxy) HTTP
Intermediario entre un cliente y un servidor. Es por lo tanto a la vez cliente y servidor. Usos: cortafuegos, caches, etc. Las peticiones a una proxy incluyen la URL completa en la primera l´ ınea del mensaje de petici´n. o Pueden encadenarse varias proxies. Ejemplo de petici´n a una proxy: o GET http://gsyc.escet.urjc.es/index.html HTTP/1.0

c 2003 GSyC

Redes: HTTP

HTTP 1.1

213

HTTP 1.1
Es una evoluci´n de HTTP 1.0. o Facilidades espec´ ıficas para m´quinas virtuales (virtual hosts). a Codificaci´n por racimos, para respuestas din´micas (env´ antes de o a ıo saber el tama˜o total). n Uso de conexiones persistentes que permiten varias transacciones sucesivas (se evitan establecimientos de conexi´n). o Facilidades espec´ ıficas para caches (“If-Modified-Since”, “If-UnmodifiedSince”).

c 2003 GSyC

Redes: HTTP

HTTP 1.1 (cont.)

214

Virtual hosts Para tener virtual hosts es preciso indicar en cada petici´n a cu´l de o a ellos se dirige. Por eso es obligatorio el uso de la cabecera “Host”. Si un servidor recibe una petici´n sin “Host”, debe devolver un meno saje de error (400 Bad Request). Los servidores tambi´n han de aceptar primeras l´ e ıneas de petici´n con o URLs completas, en lugar de caminos (ser´ lo habitual en versiones a futuras). Ejemplo de petici´n “m´ o ınima”: GET /dir/index.html HTTP/1.1\r\n Host: gsyc.escet.urjc.es\r\n \r\n
c 2003 GSyC Redes: HTTP

HTTP 1.1 (cont.)

215

Codificaci´n por racimos o Cabecera “Transfer-Encoding: chunked”. Usada por un servidor que quiere enviar trozos que ya tiene listos antes de tener todo. El cuerpo de cada mensaje “por racimos” contiene una serie de racimos, cada uno: • Comienza por el tama˜o de los datos del racimo, en hexadecimal, n seguidos por “;”, quiz´s algo m´s, y CRLF. a a • Los datos, terminados por CRLF. • Terminado por una l´ ınea con “0CRLF”. • Seguido de “footers” (como cabeceras). • Terminado en una l´ ınea en blanco (CRLF).

c 2003 GSyC

Redes: HTTP

HTTP 1.1 (cont.)

216

Codificaci´n por racimos o HTTP/1.1 200 OK\r\n Date: Fri, 27 Jan 2001 23:00:00 GMT\r\n Content-Type: text/plain\r\n Transfer-Encoding: chunked\r\n \r\n 1b; datos que se pueden ignorar\r\n abcdefghijklmnopqrstuvwxyz\r\n 10\r\n 1234567890abcdefg\r\n 0\r\n a-footer: su-valor\r\n another-footer: otro-valor\r\n \r\n

c 2003 GSyC

Redes: HTTP

HTTP 1.1 (cont.)

217

Conexiones persistentes Permiten que varias peticiones y respuestas sean transferidas usando la misma conexi´n TCP. o Se usan por omisi´n en HTTP 1.1. o Si se env´ la cabecera “Connection: close”, el servidor cerrar´ la ıa a conexi´n despu´s de cada respuesta. o e Un servidor puede cerrar la conexi´n antes de enviar todas las reso puestas. El servidor cerrar´ las conexiones inactivas pasado un plazo (ej: 10 a segundos).

c 2003 GSyC

Redes: HTTP

HTTP 1.1 (cont.)

218

Caches Los servidores deben responder siempre con la cabecera “Date” (con la fecha actual, en GMT). Los servidores han de entender “If-Modified-Since” y “If-UnmodifiedSince” (los clientes pueden usarlos). Respuesta a “If-Modified-Since”: “304 Not Modified”. Respuesta a “If-Unmodified-Since”: “412 Precondition Failed”.

c 2003 GSyC

Redes: HTTP

HTTPS

219

HTTPS
HTTP sobre SSL (secure socket layer). La conexi´n TCP est´ cifrada, de forma que una tercera parte no o a puede conocer su contenido. Permite enviar datos “sensibles” a un servidor web, y recibirlos de ´l. e Necesita de otros mecanismos (certificados, etc.) para ofrecer un nivel de seguridad razonable. Las URLs son “https://”.

c 2003 GSyC

Redes: HTTP

Galletitas (cookies)

220

Galletitas (cookies)
Sirven para asociar estado a un conjunto de transacciones (peticiones/respuesta). Normalmente son datos asociados a un usuario (carro de la compra, cuenta de usuario, etc.) Las galletitas son generadas por los servidores, y presentadas por los clientes en ciertas ocasiones. Especificaci´n original de Netscape, luego propuesta como RFC 2109. o

c 2003 GSyC

Redes: HTTP

Galletitas (cookies) (cont.)

221

Cabecera “Set-Cookie” Cabecera puesta por un servidor cuando quiere enviar una galletita. Formato: • “Set-Cookie:” • Nombre de la galletita y valor (“nombre=valor”). • Fecha de caducidad (“expires=fecha”). • Dominio, camino (“domain=dominio path=camino”). Para decidir m´s tarde si se env´ una galletita o no. a ıa • “secure”: si est´ marcada as´ s´lo se transmitir´ sobre canales a ı, o a seguros (HTTPS). Ejemplo: Set-Cookie: unnombre=unvalor; expires=Mon, 30-Jan-2001 12:35:23 GMT; path=/dir; domain=mi.dominio.com; secure
c 2003 GSyC Redes: HTTP

Galletitas (cookies) (cont.)

222

Cabecera “Cookie” Cuando un cliente pide una URL, buscar´ en su lista de galletitas si a hay alguna que tenga que enviar (mirando su “domain” por la cola, y su “path” por su cabeza). Enviar´ todas las galletitas en una unica cabecera (“Cookie”). a ´ Dentro de esta cabecera, las galletitas se ordenar´n de m´s a menos a a espec´ ıficas (seg´n su “path”). u No se consideran las galletitas con caducidad en el pasado (de hecho, se eliminan). Ejemplo: Cookie: unnombre=unvalor; otronombre=otrovalor

c 2003 GSyC

Redes: HTTP

Referencias

223

Referencias
“Definition of URL/URI syntax, RFC 2396”. http://www.cis.ohio-state.edu/htbin/rfc/rfc2396.html “HTTP Made Really Easy. A Practical Guide to Writing Clients and Servers”, por James Marshall. http://www.jmarshall.com/easy/http/ “HTTP 1.0, RFC 1945”. http://www.cis.ohio-state.edu/htbin/rfc/rfc1945.html “HTTP 1.1, RFC 2068”. http://www.cis.ohio-state.edu/htbin/rfc/rfc2068.html

c 2003 GSyC

Redes: HTTP

Referencias

224

Referencias
“An Overview of SHTTP”, por Adam Shostack. hturlhttp://www.homeport.org/ adam/shttp.html “Persistent Client State. HTTP Cookies”, Netscape. http://www.netscape.com/newsref/std/cookie_spec.html “HTTP State Management Mechanism, RFC 2109”. http://www.cis.ohio-state.edu/htbin/rfc/rfc2109.html

c 2003 GSyC

Redes: HTTP

Referencias (cont.)

225

Correo electr´nico o

c 2003 GSyC

Redes: Correo electr´nico o

Algo de terminolog´ ıa

226

Algo de terminolog´ ıa
Agente de usuario (UA, user agent): programa que se usa como interfaz de usuario para el correo electr´nico (leer, componer, enviar, o gestionar, etc.) Agente de transferencia de mensajes (MTA, message transfer agent): se encarga del encamiento y almacenamiento de los mensajes de correo hasta su destino final. Protocolo de acceso al correo electr´nico: lo usa un UA para acceder o a un MTA, y recoger el correo para un usuario. Ejemplo: POP, IMAP. Protocolo de env´ de correo electr´nico: lo usa un MTA para enviar ıo o correo a otro MTA (tambi´n puede usarlo un UA para enviarlo a un e MTA). Ejemplo: SMTP.

c 2003 GSyC

Redes: Correo electr´nico o

Generalidades

227

Generalidades
Composici´n de un mensaje o Todo mensaje consta de 2 partes: Sobre: Cabeceras estandarizadas para identificar el/los destinatarios/remitentes del mensaje... Permiten que el mensaje llegue Contenido: El mensaje propiamente dicho. • La RFC822 s´lo admite texto NVT–ASCII (Network Virtual Tero minal – ASCII ). • Para otros tipos: codificadores de binarios (uuencode) y sobre todo extensiones al mensaje (MIME, RFC1341 )

c 2003 GSyC

Redes: Correo electr´nico o

Generalidades (cont.)

228

Cabeceras Le dicen al MTA qu´ debe hacer con el correo. e From: Direcci´n de origen o To: Direcci´n/direcciones de destino o CC: Con copia a. . . BCC: Con copia ciega a. . . Subject: Tema sobre el que versa la carta Date: Fecha en que fue enviada Received: Por d´nde ha pasado la carta o Message-id: Identificador del mensaje

c 2003 GSyC

Redes: Correo electr´nico o

Generalidades (cont.)

229

Direcciones de correo Dan la informaci´n necesaria para enviar/recibir un mensaje. o Indican a–d´nde–va/de–d´nde–viene, pero no por d´nde ha de pasar. o o o Formato Internet: id_usuario@m´quina.dominio a O bien, gracias a las cl´usulas MX de DNS: a id_usuario@dominio

c 2003 GSyC

Redes: Correo electr´nico o

MIME

230

MIME
Las RFC 2045 – 2049 extienden el contenido de los mensajes de correo para que puedan adjuntarse datos gen´ricos (attachments). e Multimedia Internet Mail Extensions define 5 cabeceras • MIME-version: • Content-Description: • Content-Id: • Content-Transfer-Encoding • Content-Type: Hay 8 tipos: Text, Image, Audio, Video, Application, Message, Model y Multipart. varios subtipos: Text: html, plain o richtext; Image: gif, jpeg; . . .

c 2003 GSyC

Redes: Correo electr´nico o

MIME (cont.)

231

El Content-Type se utiliza para saber c´mo tratar en el destino los datos o (con qu´ aplicaci´n). e o El Content-Transfer-Encoding se utiliza para saber c´mo codificar para o transmitir los datos por la red y descodificar los datos transmitidos. base 64 (ASCII armor) para binarios: grupos de 24 bits se rompen en 4x6 bits. Cada car´cter de 6 bits se cuantifica en binario y se manda en ASCII a ( el 0 va como una A, el 1 como B. . . ). Se rellena con = al final. quoted-printable-encoding para textos con acentos: codifica los caracteres por encima del 127 con un caracter “=” y dos d´ ıgitos hexadecimales. 7bit, 8bit, binary. . .

c 2003 GSyC

Redes: Correo electr´nico o

El protocolo SMTP

232

El protocolo SMTP
agente de usuario (UA) cola de correo saliente agente de transferencia de mensajes (MTA)

usuario
remitente

conexión TCP

Puerto 25/TCP

usuario
destinatario

agente de usuario (UA)

buzones de los usuarios

agente de transferencia de mensajes (MTA)

c 2003 GSyC

Redes: Correo electr´nico o

El protocolo SMTP (cont.)

233

“Simple Mail Transfer Protocol” Define los comandos que se emplean para comunicarse con/desde un MTA. ¿C´mo? Conexi´n al puerto tcp/25 y env´ de ´rdenes. o o ıo o Los mensajes estaban limitados a 64K y hab´ problemas de timeouts, ıa por lo que la RFC 1425 define ESMTP (EHLO...)

c 2003 GSyC

Redes: Correo electr´nico o

El protocolo SMTP (cont.)

234

(Telnet pantuflo.escet.urjc.es 25) Connecting to pantuflo.escet.urjc.es (ether)... 220 pantuflo.escet.urjc.es Sendmail SMI-8.6/SMI-SVR4 ready at Mon, 7 Sept 1998 >>> HELO a202e12.escet.urjc.es 250 pantuflo.escet.urjc.es Hello a01-unix [192.2.3.14], pleased to meet you >>> MAIL From:<alumno@a202e12.escet.urjc.es> 250 <alumno@a202e12.escet.urjc.es>... Sender ok >>> RCPT To:<jcenteno@pantuflo.escet.urjc.es> 250 <jcenteno@pantuflo.escet.urjc.es>... Recipient ok (Pueden ir varias RCPT seguidas) >>> DATA 354 Enter mail, end with "." on a line by itself Subject: Ejemplo Texto del mail . 250 MAA29247 Message accepted for delivery >>> QUIT 221 pantuflo.escet.urjc.es closing connection
c 2003 GSyC Redes: Correo electr´nico o

Recepci´n de correo de un MTA o

235

Recepci´n de correo de un MTA o
Los usuarios no tienen que estar permanentemente conectados a la red ni compartir el directorio donde el MTA almacena los mensajes. Puede usarse un modelo cliente/servidor, siguiendo un protocolo que permita recuperar los mensajes del buz´n (y borrarlos o dejarlos) para o que el UA pueda presentarlos en pantalla. Hay varios protocolos para esto: • POP2, POP3: Post Office Protocol. (RFC-1725,1734,1082) • IMAP: Internet Message Access Protocol (RFC-1203; 1730 al 1733)

c 2003 GSyC

Redes: Correo electr´nico o

Referencias

236

Referencias
“SMTP: Simple Mail Transfer Protocol”, cap´ ıtulo 28 de “TCP/IP’ Illustrated, Volume 1”, por W. Richard Stevens, Addison Wesley, 1994. “SMTP. Simple Mail Transfer Protocol. A tutorial”, por Ben-Dayan Maor, Ben-Shimon Sonny, Efron Niv, Kuperman Idan y Meller Tal. http://raddist.rad.com/networks/1998/smtp/smtp.htm “POP vs. IMAP”, por Barnard College Online Tutorials. http://www.barnard.edu/at/training/eudora/imap.html

c 2003 GSyC

Redes: Correo electr´nico o

Referencias (cont.)

237

Resumen de RFCs principales RFC821: protocolo SMTP RFC822: formato de mensajes e interpretaci´n de cabeceras o RFC974: gesti´n de cl´usulas MX del DNS o a RFC1425: protocolo ESMTP (Extended SMTP) RFC1341: MIME: “Multipurpose Internet Mail Extensions”

c 2003 GSyC

Redes: Correo electr´nico o

Sign up to vote on this title
UsefulNot useful