Redes
Departamento de Sistemas Telem´aticos y Computaci´on
redes-profes@gsyc.urjc.es
Octubre 2009
GSyC - 2009 Redes 1
c
Temario
1 Introducci´on a las Redes de Ordenadores
2 Nivel F´ısico
3 Nivel de Enlace
4 Nivel de Red
5 IP: Internet Protocol
6 Nivel de Transporte
7 UDP: User Datagram Protocol
8 TCP: Transmission Control Protocol
9 DNS: Domain Name System
10 HTTP
GSyC - 2009 Redes 3
Introducci´on a las Redes de Ordenadores
Temario
1 Introducci´on a las Redes de Ordenadores
2 Nivel F´ısico
3 Nivel de Enlace
4 Nivel de Red
5 IP: Internet Protocol
6 Nivel de Transporte
7 UDP: User Datagram Protocol
Objetivos de las Redes de Ordenadores
Compartir recursos: Discos duros, impresoras, programas. . . Compartir informaci´on: Acceso a documentos remotos. . . Mejorar la fiabilidad: Alternativas, replicaci´on. . .
Incrementar el rendimiento: M´aquinas trabajando juntas. . . Servir de medio de comunicaci´on de personas/comunidades
GSyC - 2009 Redes 5
Introducci´on a las Redes de Ordenadores
Estructura de las Redes
Diversas m´aquinas (hosts) se conectan a una subred de
comunicaciones que permite el di´alogo entre ellas.
Dos formas fundamentales de dise˜nar subredes de comunicaciones: mediante canales punto-a-punto
mediante canales de radiado (broadcast)
Topolog´ıas comunes en Redes
ESTRELLA ANILLO ARBOL
TOTALMENTE
CONECTADA CONECTADA PARCIALMENTE
SATELITE ANILLO BUS
GSyC - 2009 Redes 7
Introducci´on a las Redes de Ordenadores
Protocolo de Comunicaciones
“Conjunto de reglas (interfaces, algoritmos, formatos de
Jerarqu´ıas de Protocolos
En la mayor´ıa de las redes se utilizan varios protocolos con distintos prop´ositos.
Todos esos protocolos se organizan normalmente en niveles o
capas.
cada nivel ofrece servicios al nivel superior
cada nivel se apoya en los servicios ofrecidos por el nivel inferior
GSyC - 2009 Redes 9
Introducci´on a las Redes de Ordenadores
Jerarqu´ıas de Protocolos
Principios Fundamentales
Cada nivel ofrece servicios al nivel superior, ocult´andole la forma en que realmente se implementan dichos servicios.
Cada nivel dentro de una m´aquina “conversa” con su gemelo
en otra. Las reglas que rigen esta “conversaci´on” forman el
protocolo de dicho nivel.
No hay transferencia f´ısica de datos entre niveles gemelos. La transferencia se hace en cada m´aquina entre niveles
Jerarqu´ıas de Protocolos
Principios Fundamentales
Nivel 3
Nivel 1 Nivel 2 Nivel 3 Nivel 4
Medio de transmision Nivel 4
Nivel 2
Nivel 1
Maquina A Maquina B
Protocolo del Nivel 4
interfaz 2/3
interfaz 1/2 interfaz 3/4
Protocolo del Nivel 3
Protocolo del Nivel 2
Protocolo del Nivel 1
GSyC - 2009 Redes 11
Introducci´on a las Redes de Ordenadores
Jerarqu´ıas de Protocolos
M´aquina origen de una comunicaci´on
El mecanismo b´asico en cada nivel es:
tomar las unidades de datos que le ofrece el nivel superior procesarlos (agrupando, separando, . . . ) y formar sus propias unidades de datos (a˜nadiendo informaci´on de control en cabeceras)
Jerarqu´ıas de Protocolos
M´aquina destino de una comunicaci´on
El mecanismo b´asico en cada nivel es:
tomar las unidades de datos que le ofrece el nivel inferior identificar las cabeceras introducidas en el nivel gemelo de la m´aquina origen para procesar los datos adecuadamente
(agrupando, separando, . . . ) pasar los datos al nivel superior ¿Es esto software o hardware?
GSyC - 2009 Redes 13
Introducci´on a las Redes de Ordenadores
Jerarqu´ıas de Protocolos
Jerarqu´ıas de Protocolos
Protocolo Nivel N-1 Protocolo Nivel N Protocolo Nivel N+1
GSyC - 2009 Redes 15
Introducci´on a las Redes de Ordenadores
Jerarqu´ıas de Protocolos
Jerarqu´ıas de Protocolos
Protocolo Nivel N-1 Protocolo Nivel N Protocolo Nivel N+1
GSyC - 2009 Redes 17
Introducci´on a las Redes de Ordenadores
Jerarqu´ıas de Protocolos
Jerarqu´ıas de Protocolos
Protocolo Nivel N-1 Protocolo Nivel N Protocolo Nivel N+1
GSyC - 2009 Redes 19
Introducci´on a las Redes de Ordenadores
Jerarqu´ıas de Protocolos
Jerarqu´ıas de Protocolos
Protocolo Nivel N-1 Protocolo Nivel N Protocolo Nivel N+1
GSyC - 2009 Redes 21
Introducci´on a las Redes de Ordenadores
Arquitectura de Red
Conjunto de niveles y protocolos de una determinada red de ordenadores.
Arquitectura OSI
En 1983 ISO (Organizaci´on de Est´andares Internacionales) propone
un modelo de referencia para arquitecturas de redes: Modelo de
Referencia para la Interconexi´on de Sistemas Abiertos (ISO OSI
Reference Model).
El Modelo OSI no es estrictamente una arquitectura, sino un
marco al que deben someterse protocolos concretos para establecer una arquitectura “conforme a OSI”
OSI no define los servicios y protocolos exactos para cada nivel, s´olo aquello de lo que cada nivel debe ocuparse.
GSyC - 2009 Redes 23
Introducci´on a las Redes de Ordenadores
Arquitectura OSI
La “torre” OSI
Presentacion
Maquina A Maquina B
Red
Enlace
Fisico Transporte
Sesion
Aplicacion Aplicacion
Presentacion
Sesion
Transporte
Red
Enlace
Fisico Protocolo de Aplicacion
Protocolo de Presentacion
Protocolo de Sesion
Protocolo de Red
Arquitectura OSI
El Nivel F´ısico
Se ocupa de enviar y recibir bits sobre un medio f´ısico de transmisi´on:
Debe tener en cuenta el tipo de medio de transmisi´on: el´ectrico, ´optico, inal´ambrico. . .
Debe establecer una forma de convertir un bit en una se˜nal transportable por el medio de transmisi´on.
Debe asegurarse que la forma de transmitir un bit a 1 es reconocida en recepci´on como un bit a 1.
GSyC - 2009 Redes 25
Introducci´on a las Redes de Ordenadores
Arquitectura OSI
El Nivel de Enlace
Transforma un sistema de transmisi´on crudo (lo que le ofrece el nivel f´ısico) en una l´ınea libre de errores de transmisi´on (lo que
ofrece para el nivel de red) entre m´aquinas conectadas al mismo
medio de transmisi´on.
Forma tramas.
Se encarga de detectar las tramas recibidas con errores de transmisi´on. Adem´as, puede
descartar las tramas con errores, y/o
corregir los errores de las tramas con errores, y/o pedir la retransmisi´on de las tramas con errores
Arquitectura OSI
Nivel de Red
Se encarga de la interconexi´on de m´aquinas que no est´an conectadas al mismo medio de transmisi´on. Por ello su misi´on
fundamental es el encaminamiento de paquetes desde la m´aquina
origen a la m´aquina de destino.
El encaminamiento puede ser est´atico o din´amico. Gestiona las congestiones y cuellos de botella.
GSyC - 2009 Redes 27
Introducci´on a las Redes de Ordenadores
Arquitectura OSI
Nivel de Transporte
Se encarga de gobernar el acceso m´ultiple a la red de los diversos procesos de la misma m´aquina que quieran usarla, creando una abstracci´on para ello: los puertos.
Realiza su trabajo extremo a extremo, es decir, no tiene en cuenta si emisor y receptor est´an en el mismo medio o tienen que comunicarse a trav´es de m´aquina intermedias. Los niveles inferiores (red, enlace, f´ısico) se dice que trabajan
Arquitectura OSI
Nivel de Sesi´on
Permite a usuarios en distintas m´aquinas establecer sesiones entre ellos:
Proporciona mecanismos para controlar el di´alogo: Ej: Turno, gesti´on de tokens.
Gestiona la sincronizaci´on entre m´aquinas. Ejemplo: pizarra compartida.
GSyC - 2009 Redes 29
Introducci´on a las Redes de Ordenadores
Arquitectura OSI
Nivel de Presentaci´on
Se ocupa de la sintaxis y sem´antica de la informaci´on transferida entre m´aquinas:
Orden de bytes de enteros (little endian/big endian). Representaci´on de caracteres alfab´eticos.
Tama˜no de los tipos de datos.
T´ıpicamente traduce los datos a un formato normalizado que todas las m´aquinas entienden.
Arquitectura OSI
Nivel de Aplicaci´on
Contiene un conjunto de protocolos que son de utilidad directa para aplicaciones que usan la red:
Protocolos que permiten transmitir un fichero entre m´aquinas Protocolos que permiten enviar un mensaje de correo
electr´onico . . .
GSyC - 2009 Redes 31
Introducci´on a las Redes de Ordenadores
Arquitectura OSI
Cr´ıticas al Modelo OSI
Surgi´o demasiado pronto. Niveles de distinto “grosor”. Modelo muy complejo.
Funcionalidades mal situadas: cifrado, . . .
Modelo dominado por una visi´on “telef´onica” de las redes de datos
Arquitectura TCP/IP
Su desarrollo comenz´o a finales de los 60, como proyecto financiado por el Gobierno de los Estados Unidos.
Aut´entico sistema abierto: Los protocolos y sus implementaciones est´an disponibles p´ublicamente.
Constituyen el armaz´on sobre el que se sit´ua Internet.
No se ajusta exactamente al modelo de referencia OSI, surgio antes y OSI no intent´o incluirlo.
Su ´exito (a partir del de Internet) ha hecho que sea la arquitectura m´as importante y conocida actualmente.
GSyC - 2009 Redes 33
Introducci´on a las Redes de Ordenadores
Arquitectura TCP/IP
La pila TCP/IP
Nivel de Aplicaci´on DNS, SMTP, HTTP. . .
Nivel de Transporte TCP, UDP
Nivel de Red IP, ICMP
Arquitectura TCP/IP
Cliente HTTP
TCP
IP
Protocolo
Protocolo HTTP
Protocolo TCP
encaminador
IP
Servidor HTTP
TCP
IP
Protocolo Ethernet
Driver + Tarjeta Ethernet
Driver + Tarjeta Ethernet
Driver + Tarjeta Ethernet
Driver + Tarjeta Ethernet Ethernet
ETHERNET ETHERNET
Protocolo IP Protocolo IP
ordenador A ordenador B
GSyC - 2009 Redes 35
Nivel F´ısico
Temario
1 Introducci´on a las Redes de Ordenadores
2 Nivel F´ısico
3 Nivel de Enlace
4 Nivel de Red
5 IP: Internet Protocol
6 Nivel de Transporte
7 UDP: User Datagram Protocol
Introducci´on
El nivel f´ısico es el m´as bajo de toda la torre OSI.
Se ocupa de c´omo se transmiten los datos a trav´es de los medios f´ısicos de transmisi´on.
Debe ocuparse de que las entidades directamente interconectadas concuerden en la forma de usar el medio f´ısico, es decir, que un bit a 1 enviado no sea interpretado por el receptor como un bit a 0.
GSyC - 2009 Redes 37
Nivel F´ısico
Conceptos Generales
Velocidad de Transmisi´on: Bits por segundo que se transmiten
(Unidades: Kbps, Mbps, Gbps). Tambi´en se le llama,
informalmente, “ancho de banda”)
Latencia o Retardo de propagaci´on: Tiempo que tarda un bit
desde que sale hasta que llega a su destino.
Transmisi´on Simplex: El canal de comunicaciones es de un
solo sentido.
Transmisi´on Semi-Duplex: Canal bidireccional, pero en el que
no puede transmitirse en ambos sentidos a la vez.
Transmisi´on Duplex: Canal bidireccional en el que puede
Medios de Transmisi´on
Medios Magn´eticos
Se almacenan datos en cintas magn´eticas que se transportan en tren o cami´on a su destino, donde se leen.
¡No es broma!
Se pueden alcanzar velocidades de transferencia media de varios Gbps.
El problema es la latencia o retardo de propagaci´on: lo que tarda en llegar el primer bit a su destino.
Los bancos siguen utilizando estos m´etodos.
GSyC - 2009 Redes 39
Nivel F´ısico
Medios de Transmisi´on
Cable de Pares
Cable de pares: Dos cables de cobre de 1 mm de espesor, trenzados en h´elice.
Pueden emplearse sin amplificaci´on en varios kil´ometros. Utilizados tanto en telefon´ıa como redes Ethernet.
Medios de Transmisi´on
Cable Coaxial
Alambre de cobre, recubierto por malla de aluminio o cobre La malla proporciona mayor inmunidad al ruido que el cable de pares
Coaxial fino. Para datos en general (y radioaficionados). Con cables de 1 km se alcanzan 10 Mbps.
Coaxial grueso. M´as protecci´on. Cable de tv cl´asico. Alcanza hasta 150 Mbps con amplificadores intermedios.
GSyC - 2009 Redes 41
Nivel F´ısico
Medios de Transmisi´on
Fibra ´Optica
En vez de corriente el´ectrica se transmite luz.
Para transmisi´on digital: La presencia de luz es un 1, la ausencia un 0.
Sistema de Transmisi´on: Emisor: Diodo l´aser
Medio: Fibra ´optica (silicio) Receptor: Foto-diodo
Puede transmitirse hasta a 20 Gbps en varios km. Se han
Medios de Transmisi´on
Transmisi´on Inal´ambrica
Se transmiten se˜nales de radiofrecuencia por radiado (broadcast). Tres escenarios en los que se utiliza:
Redes Inal´ambricas (WiFi/802.11):
Alcances en el entorno de los cientos de metros, con antenas direccionales especiales unos cuantos kil´ometros.
11 Mbps - 54 Mbps Redes por Sat´elite:
Cuando no hay vis´on directa emisor–receptor: Sat´elites.
Cada sat´elite tiene varios transpondedores (canales), ofreciendo cada uno cientos de Mbps para transmisi´on de datos.
Principal problema: retardo, t´ıpicamente 300 ms extremo a extremo para sat´elites geosincr´onicos. Pero si no hay
retransmisiones, puede ser mejor que cables. GSM/GPRS/UMTS
GSyC - 2009 Redes 43
Nivel F´ısico
Transmisi´on Digital
Para medios capaces de transportar una se˜nal digital directamente.
Ventaja: Menor tasa de errores (puede recrearse la se˜nal original en puntos intermedios)
Transmisi´on Digital
Ejemplo: C´odigo Manchester
0 1 0 0 1 1 1 0
V
t 1
0
Nota: No se puede transmitir una se˜nal cuadrada perfecta (ancho de banda infinito). Se transmite una suma de sinusoides que se le parece:
GSyC - 2009 Redes 45
Nivel F´ısico
Transmisi´on Anal´ogica
Para medios dise˜nados para transportar se˜nales anal´ogicas (ej: l´ınea telef´onica).
Se necesitan MOduladores–DEModuladores en los puntos de acceso al medio.
Los modems convierten una se˜nal digital en su equivalente
anal´ogica (modulan) y viceversa (demodulan).
MODEM
´
´
Transmision Analogica´ MODEM
Transmisi´on Anal´ogica
Tipos de Modulaci´on
0 1 0 1 1 0 0 1 0 0 1 0 0
(a)
(b)
(c)
(d)
Phase changes Se˜nal digital:
Modulaci´on ASK:
Modulaci´on FSK:
Modulaci´on PSK:
Modulaci´on QAM: Combinaci´on de ASK y PSK.
GSyC - 2009 Redes 47
Nivel de Enlace
Temario
1 Introducci´on a las Redes de Ordenadores
2 Nivel F´ısico
3 Nivel de Enlace
4 Nivel de Red
5 IP: Internet Protocol
6 Nivel de Transporte
7 UDP: User Datagram Protocol
Introducci´on
El Nivel de Enlace suele subdividirse en dos subniveles: Nivel de Red
LLC (Subnivel de Control del Enlace L´ogico) MAC (Subnivel de Control de Acceso al Medio)
Nivel F´ısico
MAC: gobierna el acceso a un medio de transmisi´on compartido por varias m´aquinas
LLC: ofrece al nivel de red un servicio de transmisi´on de datos entre m´aquinas adyacentes, encarg´andose de:
composici´on/descomposici´on de tramas. control de flujo (opcional).
gesti´on de los errores en la transmisi´on (opcional).
GSyC - 2009 Redes 49
Nivel de Enlace
El problema del acceso al medio
¿C´omo y cuando asignar el canal f´ısico a las distintas m´aquinas que lo comparten y quieren acceder a ´el?
Soluciones:
Asignaci´on est´atica: Se reparte el canal en el tiempo (TDM) o
en frecuencia (FDM). Bueno para tr´aficos pesados y
constantes, pero malo para r´afagas (lo habitual).
Asignaci´on din´amica: No est´a prefijado el reparto. Trata de aprovechar mejor el canal en LAN’s.
Acceso por contienda: Las m´aquinas compiten por usar el medio. Si coinciden dos o m´as a la vez: colisi´on
Protocolo CSMA/CD
CSMA/CD (Carrier Sense Multiple Access with Collision
Detection): Acceso m´ultiple con detecci´on de portadora.
Es un protocolo de acceso al medio por contienda, utilizado en las tarjetas Ethernet.
Funcionamiento:
Cuando una estaci´on quiere transmitir escucha en el canal. Si est´a ocupado, espera a que quede libre
Si est´a libre, transmite.
Mientras transmite, sigue escuchando para ver si alguien transmite a la vez, en cuyo caso aborta la transmisi´on
GSyC - 2009 Redes 51
Nivel de Enlace
Protocolo CSMA/CD
¿Cu´ando se producen las colisiones?
Cuando dos estaciones deciden transmitir simult´aneamente al ver el canal libre.
Cuando el canal parece libre pero no lo est´a debido al retardo de propagaci´on de los paquetes por la red.
Caso patol´ogico: Dos estaciones quieren transmitir y ven que el canal est´a ocupado. Esperan a que quede libre, y cuando lo est´a ambas transmiten a la vez, colisionando. Y
as´ı indefinidamente.
Protocolo CSMA/CD
Tiempo que tarda en detectarse una colisi´on en el caso peor
(tiempo de reacci´on): Doble del retardo m´aximo de propagaci´on
(τ):
Desde que A empieza a transmitir hasta que pasa τ, B puede
empezar a trasmitir tambi´en.
B se da cuenta de la colisi´on inmediatamente, pero hasta que no pasa otro τ, A no se entera.
Ejemplo: Con cable coaxial de 1 km
τ = 5 µs
tiempo de reacci´on = 10 µs
GSyC - 2009 Redes 53
Nivel de Enlace
Protocolos de Paso de Testigo
Acceso al medio por reserva: Existe un testigo o token que circula por la red. En todo momento, s´olo el poseedor del testigo puede transmitir, por lo que desaparecen las colisiones.
Supone que las estaciones de la red se configuran como un anillo f´ısico o l´ogico.
Mecanismo:
Cuando el canal est´a libre, por ´el circula el testigo. Cuando una estaci´on quiere transmitir:
captura el testigo env´ıa su trama
Recuerda las 2 partes del nivel de enlace:
MAC: Control de acceso al medio (ya visto) LLC: Control del enlace l´ogico:
Gesti´on de tramas
Gesti´on de errores de transmisi´on (opcional) Control de flujo (opcional)
GSyC - 2009 Redes 55
Nivel de Enlace
Gesti´on de tramas
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
Gesti´on de errores de transmisi´on
Tipos de errores de transmisi´on:
1 alg´un bit de una trama ha cambiado (por interferencias)
2 una trama entera se ha perdido (por interferencias o excesivo
n´umero de colisiones). Los errores de tipo 1:
Obligatoriamente tienen que detectarse en este nivel
Opcionalmente pueden corregirse en este nivel:
autom´aticamente
mediante retransmisi´on
Los errores de tipo 2 opcionalmente puede corregirse en este nivel mediante retransmisi´on.
GSyC - 2009 Redes 57
Nivel de Enlace
Detecci´on de errores
Se introduce redundancia en los bits a transmitir con el objeto de
poder detectar en recepci´on cu´ando una trama ha llegado con errores.
Primera aproximaci´on: a˜nadir a los datos un Bit de Paridad: Se a˜nade 1 bit a los datos de forma que el total de “unos” enviados en una trama sea siempre par (paridad par).
Detecci´on de errores
C´odigos de Redundancia C´ıclica (CRC)
Se consideran los patrones de bits como polinomios, y se realizan operaciones aritm´eticas m´odulo 2 con ellos.
El c´alculo del CRC se implementa con circuitos hardware
sencillos.
En emisi´on, a cada trama transmitida se le a˜naden 4 bytes con el CRC que le corresponde
En recepci´on, se calcula el CRC que deber´ıa tener la trama
recibida y se compara con el que viene en la trama. Si no
concuerdan, se descarta la trama (y habr´a que retransmitirla).
GSyC - 2009 Redes 59
Nivel de Enlace
Detecci´on de errores
C´odigos de Redundancia C´ıclica (CRC)
Se demuestra que con los CRC de 32 bits se detectan: Todos los errores simples y dobles
Todos los errores en un n´umero impar de bits Todas las r´afagas de longitud≤16 bits
El 99.997 % de las r´afagas de 17 bits
Detecci´on y correcci´on autom´atica de errores
Puede introducirse a´un m´as redundancia en los datos que se env´ıan para, en caso de error, poder “suponer” cu´ales eran los datos
originales, y corregir autom´aticamente los errores. Idea B´asica:
s´olo ciertos patrones de bits son “posibles”
si se recibe un patr´on “imposible”, se supone que el que se quer´ıa enviar es aquel “posible” que m´as se le parezca.
GSyC - 2009 Redes 61
Nivel de Enlace
Detecci´on y correcci´on autom´atica de errores
Ejemplo:
1 Patrones posibles: 0000000000, 0000011111, 1111111111,
1111100000
2 Se env´ıa: 0000011111
3 Se recibe: 0000000111
4 Se corrige a 0000011111
Si al transmitir 0000011111 hubiera habido 3 errores, y llegado 0000000011, se hubiera corregido incorrectamente a 0000000000.
Se desaprovecha mucho la capacidad del medio, pero esta t´ecnica se utiliza cuando se da una de estas dos situaciones:
el medio de tranmisi´on es simplex (¡no se puede pedir retransmisi´on!)
Retransmisi´on de tramas perdidas y/o descartadas
Se utiliza:
cuando se pierden tramas
cuando se descartan tramas por llegar con errores
MUY IMPORTANTE: No es obligatorio que el nivel de enlace
retransmita tramas perdidas/descartadas. En TCP/IP, las
retransmisiones las hace el TCP (nivel de transporte) y no el nivel de enlace.
Los protocolos de retransmisi´on utilizan asentimientos (ACKs) y
plazos para su funcionamiento.
GSyC - 2009 Redes 63
Nivel de Enlace
Retransmisi´on de tramas perdidas y/o descartadas
Tres tipos de protocolos para retransmitir tramas perdidas/descartadas:
Parada y Espera: El emisor, despu´es de enviar una trama,
espera su asentimiento por parte del receptor antes de enviar
la trama siguiente.
Env´ıo Continuo: El emisor va enviando tramas sin parar, y el
receptor le va asintiendo por su cuenta.
Ventana: Intermedio entre los dos anteriores: el emisor enviar
Retransmisi´on de tramas perdidas y/o descartadas
Parada y Espera
Mecanismo b´asico:
Plazo
Emisor Receptor
ACK tiempo
dato-1
GSyC - 2009 Redes 65
Nivel de Enlace
Retransmisi´on de tramas perdidas y/o descartadas
Parada y Espera
Emisor Receptor
tiempo
Plazo Plazo
dato-1
dato-1
Retransmisi´on de tramas perdidas y/o descartadas
Parada y Espera
El protocolo genera duplicados, que podr´ıan descartarse en el receptor si los paquetes van identificados de alguna forma.
GSyC - 2009 Redes 67
Nivel de Enlace
Retransmisi´on de tramas perdidas y/o descartadas
Parada y Espera
Emisor Receptor
tiempo
Plazo
Plazo ACK
dato-1
Retransmisi´on de tramas perdidas y/o descartadas
Parada y Espera
Emisor Receptor
tiempo
ACK Plazo
Plazo
ACK dato-1
dato-1
GSyC - 2009 Redes 69
Nivel de Enlace
Retransmisi´on de tramas perdidas y/o descartadas
Parada y Espera
Soluci´on: Con asentimiento alternado: cada paquete de datos lleva un bit que va alternando. Los acks tambi´en incluyen el bit para identificar uno u otro paquete.
Emisor Receptor Emisor Receptor
dato-1 (0)
ack (0)
dato-2 (1)
ack (1)
dato-3 (0)
ack (0)
ack (0) dato-1 (0)
dato-1 (0)
ack (0)
dato-2 (1)
ack (1) Ya no hay duplicados ni pérdidas
Retransmisi´on de tramas perdidas y/o descartadas
Env´ıo Continuo
El canal est´a infrautilizado. Mejor que el emisor env´ıe siempre que pueda.
Env´ıo cont´ınuo con Rechazo Simple:
tiempo
Emisor Receptor
por lo que ¡¡cada trama debe tener un identificador!!
dato-2 dato-1
dato-3
dato-4
dato-5
nack-3 dato-6
dato-3
dato-4
dato-5
El Emisor debe reenviar todas las tramas desde la perdida Se asiente negativamente la trama perdida,
GSyC - 2009 Redes 71
Nivel de Enlace
Retransmisi´on de tramas perdidas y/o descartadas
Env´ıo Continuo
Env´ıo cont´ınuo con Rechazo Selectivo:
tiempo
Emisor Receptor
dato-2 dato-1
dato-3
dato-4
dato-5
nack-3 dato-6
dato-3
Se asiente negativamente la trama perdida
dato-7
dato-8
Retransmisi´on de tramas perdidas y/o descartadas
Ventanas
Parada y Espera es muy lento.
Env´ıo Cont´ınuo requerir´ıa memoria infinita.
Soluci´on intermedia: El Emisor, en vez de parar despu´es de
transmitir cada trama, para despu´es de transmitir n (tama˜no de la ventana) tramas.
Cuando va recibiendo los ACKs de las tramas enviadas puede proseguir enviando nuevas tramas.
GSyC - 2009 Redes 73
Nivel de Enlace
Retransmisi´on de tramas perdidas y/o descartadas
Ventanas
Emisor Receptor
dato-1
dato-2
dato-3
ack-1
ack-2
dato-4
dato-5 dato-3
Tamaño de ventana del Emisor: 3
1
1 2
1 2 3
2 3 4 2 3 4 3 4 5 3
Control de Flujo
Problema: Emisor enviando m´as deprisa de lo que el receptor es capaz de recoger.
Soluci´on: Los protocolos incluyen reglas que permiten al transmisor saber de forma impl´ıcita o expl´ıcita si puede enviar otra trama al receptor.
Ejemplo: Al establecer la conexi´on, el receptor indica que se le pueden enviar hasta N tramas consecutivas, pero no m´as hasta que ´el lo indique expresamente.
Estos protocolos, adem´as de permitir la recuperaci´on frente a tramas perdidas y/o duplicadas pueden utilizarse tambi´en para realizar el control de flujo.
GSyC - 2009 Redes 75
Nivel de Enlace
Protocolos de Nivel de Enlace en redes TCP/IP
Los m´as habituales:
Ethernet / Fast Ethernet /Gigabit Ethernet WiFi
Protocolos de Nivel de Enlace en redes TCP/IP
Ethernet
Dise˜nado originalmente por Xerox, DEC e Intel, 1973 Normalizado en 1983. IEEE 802.3
Originalmente pensada para medios compartidos con acceso mediante CSMA/CD
Hasta 10 Mbps Medios f´ısicos:
Cable coaxial grueso (Thicknet): 10Base5, topolog´ıa en bus. Cable coaxial fino (Thinnet): 10Base2, topolog´ıa en bus. Par trenzado: 10Base-T, topolog´ıa en estrella.
Fibra ´optica: 10Base-F, topolog´ıa en estrella
Nivel F´ısico: C´odigo Machester, niveles de +0.85V y –0.85V. Acceso al Medio: CSMA/CD
GSyC - 2009 Redes 77
Nivel de Enlace
Protocolos de Nivel de Enlace en redes TCP/IP
Ethernet
10BaseT:
Cable UTP-3 ´o UTP-5 (Unshielded Twisted Pair): 4 Pares
trenzados, no blindados, categor´ıa 3 ´o 5. Conectores RJ-45.
Se usa un par para transmitir y otro para recibir (full duplex).
Un concentrador (hub) hace de bus. Lo que recibe por una
boca, lo retransmite por todas las dem´as. 10 Mbps entre todas las bocas.
A veces se usa un conmutador (switch): Reenv´ıa s´olo a la boca a la que se conecta el destinatario. 10 Mbps por boca y sentido, varias transmisiones a la vez.
Protocolos de Nivel de Enlace en redes TCP/IP
Formato de trama
6
nº bytes 7 1 2 0 - 1500 0 - 46 4
Preámbulo Dirección destino Dirección origen
Comienzo de trama
CRC Datos Relleno
Tipo 6
Pre´ambulo 10101010 (x 7 bytes). Permite al receptor sincronizar su reloj con el del transmisor.
Comienzo de trama 10101011, indicando que a continuaci´on empieza la trama.
GSyC - 2009 Redes 79
Nivel de Enlace
Protocolos de Nivel de Enlace en redes TCP/IP
Ethernet
Direcciones destino y origen 6 bytes.
Si todos los bits de destino son 1, la trama
ser´a entregada a todas las estaciones de la subred (omnienv´ıo o broadcast).
Si el bit 40 (el de menor peso del primer byte) de la direcci´on destino es 1, la trama va destinada a un grupo de m´aquinas (multienv´ıo o multicast).
Si el bit 46 (el segudo bit del primer byte) de una direcci´on est´a a 0, la direcci´on es de ´ambito mundial, asignada de forma ´unica. Si est´a a 1, es de ´ambito local, relativo a esa subred. En ambos casos son direcciones unienv´ıo o unicast.
Protocolos de Nivel de Enlace en redes TCP/IP
Ethernet
Tipo Indica el Protocolo encapsulado dentro del campo de Datos: 0x0800 datagrama IP
0x0806 paquete ARP (28 bytes de datos y 18 de relleno)
0x8035 paquete RARP (28 bytes de datos y 18 de relleno)
Datos Entre 46 y 1500 bytes.
Relleno La norma obliga a que toda trama sea ≥ 64 bytes, para poder considerar que todas las tramas menores son resultado de transmisiones abortadas al detectar colisi´on. Por ello, si hay menos de 46 bytes de datos, se utilizan estos bytes de relleno.
Retardo m´ax. de propagaci´on en 2,5 km, 4 repetidores: 25.6 µs
Tiempo de Reacci´on: 25.6 x 2 = 51.2 µs Bits transmitidos en 51.2 µs a 10 Mbps: 51,2·10−6×10·106 = 512 bits = 64 bytes.
GSyC - 2009 Redes 81
Nivel de Enlace
Protocolos de Nivel de Enlace en redes TCP/IP
Ethernet
CRC 32 bits de Control de Redundancia C´ıclica, para la detecci´on de errores:
El transmisor calcula el CRC de los bits de datos, y lo coloca en la trama.
Protocolos de Nivel de Enlace en redes TCP/IP
Ethernet
En 1995 se aprueba IEEE 802.3u 100 Mbps
Esencialmente igual a Ethernet, mantiene la compatibilidad. Mismo formato de trama, aumenta la velocidad de
transmisi´on reduciendo el tiempo de cada bit 100Base-TX: 2 pares UTP-5
100Base-T4: 4 pares UTP-3 100Base-FX: 2 fibras ´opticas
GSyC - 2009 Redes 83
Nivel de Enlace
Protocolos de Nivel de Enlace en redes TCP/IP
Gigabit Ethernet
IEEE 802.3z
A˜no 1998. 1Gbps (1000 Mbps). Para alcanzar esta velocidad fueron necesarios muchos cambios, pero mantiene
compatibilidad hacia atr´as
Se empez´o a usar en redes troncales, en la actualidad es normal encontrarlo en PCs
Protocolos de Nivel de Enlace en redes TCP/IP
PPP: Point to Point Protocol
Es un protocolo pensado para encapsular IP (nivel de red) sobre l´ınea serie.
Est´a dise˜nado de forma que no s´olo puede encapsular IP, sino tambi´en otros protocolos.
Se utiliza fundamentalmente para conectarse a Internet a trav´es de la red telef´onica b´asica mediante m´odem.
Hist´oricamente se us´o primero SLIP (Serial Line IP), pero PPP es m´as completo. La principal diferencia de PPP con SLIP es que PPP incluye detecci´on de errores de transmisi´on mediante CRC.
control
flag addr flag
7E FF 03 protocolo datos CRC 7E
nº bytes
1 1 1 2 hasta 1500 2 1
GSyC - 2009 Redes 85
Nivel de Enlace
Protocolos de Nivel de Enlace en redes TCP/IP
ADSL: Asymetric Digital Susbcriber Line
Telefon´ıa normal:
Voz entre 0 y 4 kHz.
Centralitas agrupan varias conversaciones (desplazadas en frecuencia) en el mismo cable
ADSL:
Siguen us´andose 0-4 kHz para voz
En el resto de ancho de banda del cable van los datos
La centralita separa voz de datos y transmite cada cosa por separado
Ancho de banda separado para recibir y transmitir Asim´etrico: Mucho m´as ancho de banda para recibir
Velocidades: 128Kbps-2Mbps para transmitir, 1-20Mbps para recibir
Dispositivos de interconexi´on de subredes
Para interconectar subredes pueden colocarse dispositivos muy diferentes en prop´osito y funcionamiento:
repetidores (repeaters) puentes (bridges)
encaminadores (routers) concentradores (hubs)
conmutadores (switches)
GSyC - 2009 Redes 87
Nivel de Enlace
Dispositivos de interconexi´on de subredes
Repetidores (repeaters)
Copian se˜nales el´ectricas de un medio f´ısico de transmisi´on a otro (trabajan en el nivel 1).
Dispositivos de interconexi´on de subredes
Puentes (bridges)
Interconectan dos LAN, pasando tramas de una a otra (trabajan en el nivel 2).
Las m´aquinas de las dos subredes NO son conscientes de la
presencia del bridge.
GSyC - 2009 Redes 89
Nivel de Enlace
Dispositivos de interconexi´on de subredes
Encaminadores (routers)
Interconectan subredes distintas trabajando en el nivel de red. La mayor diferencia con los bridges es que los niveles de
enlace de m´aquinas de las subredes que interconectan S´Ison conscientes de su presencia.
Dispositivos de interconexi´on de subredes
Concentradores (hubs)
Ofrecen el servicio de un bus a topolog´ıas en estrella.
Su servicio es fundamentalmente de nivel 1: repiten la se˜nal de una boca a las otras
Puede incorporar cierta funcionalidad de nivel 2: en Ethernet, cuando detectan se˜nal por una boca, env´ıan ruido por todas las dem´as para que la vean las tarjetas, colisionen y reintente. Reparten el ancho de banda disponible entre todas las bocas
GSyC - 2009 Redes 91
Nivel de Enlace
Dispositivos de interconexi´on de subredes
Conmutadores (switches)
Exteriormente muy parecidos a los concentradores, pero de comportamiento muy diferente
Almacenan internamente las tramas entrantes en buffers, del que en paralelo van sacando tramas y reenvi´andolas por las bocas adecuadas (trabajan en el nivel 2).
Pueden dar todo el ancho de banda a cada una de varias transmisiones simult´aneas entre bocas.
Para tecnolog´ıas compatibles (Ethernet/FastEthernet) pueden tener bocas trabajando a distintas velocidades.
Temario
1 Introducci´on a las Redes de Ordenadores
2 Nivel F´ısico
3 Nivel de Enlace
4 Nivel de Red
5 IP: Internet Protocol
6 Nivel de Transporte
7 UDP: User Datagram Protocol
8 TCP: Transmission Control Protocol
9 DNS: Domain Name System
10 HTTP
GSyC - 2009 Redes 93
Nivel de Red
Introducci´on
El nivel de red se ocupa de que los paquetes que salen del
transmisor lleguen a su destino final, aunque el emisor y el receptor no est´en “adyacentes” (conectados directamente al mismo medio de transmisi´on).
Misiones del Nivel de Red
Encaminamiento de paquetes.
Asignaci´on de direcciones ´unicas a todas las m´aquinas de la red, independientes de la tecnolog´ıa de los niveles de enlace. Interconexi´on en una misma red de subredes con distinto nivel de enlace.
Control de congesti´on.
GSyC - 2009 Redes 95
Nivel de Red
Tipos de Nivel de Red
Seg´un haya o no conexiones de red: No orientado a conexi´on
Orientado a conexi´on
Seg´un se encamine cada paquete por separado o no: Basado en datagramas
Basado en ciruitos virtuales
Seg´un se ofrezca o no un servicio fiable: Fiable
Tipos de Nivel de Red
Servicio No Orientado a Conexi´on
Cada vez que el nivel superior quiere enviar datos, se compone una unidad de datos (paquete) con ellos y se env´ıa. No hay relaci´on con transmisiones previas o futuras al mismo destino Servicio Orientado a Conexi´on
Antes de enviar el primer byte de datos, origen y destino mantienen un di´alogo inicial para establecer ciertas
condiciones de la transferencia de informaci´on, que se mantienen mientras dure esta transferencia
GSyC - 2009 Redes 97
Nivel de Red
Tipos de Nivel de Red
Servicio basado en Datagramas
La direcci´on de destino viaja en todos los paquetes de datos. El encaminamiento de cada paquete es independiente, por lo que varios paquetes enviados del mismo origen al mismo
destino pueden viajar por diferentes rutas (y, tal vez, llegar en desorden).
Servicio basado en Circuitos Virtuales
Al principio se establece un “circuito virtual” por el que viajar´an todos los paquetes de datos.
Tipos de Nivel de Red
Servicio basado en datagramas:
1 2 3
3
3
3 2
2 1
1
1
2 1
D
A B
E
C
GSyC - 2009 Redes 99
Nivel de Red
Tipos de Nivel de Red
Servicio basado en circuitos virtuales:
1 2 3
1
1
1 2
2
2 3
3
3
D
A B
E
Tipos de Nivel de Red
Servicio Fiable:
Se garantiza al nivel superior que todos los paquetes llegan a su destino, y que el destino es capaz de reordenarlos si se desordenan en el camino.
Para ello se numeran los paquetes, y se retransmiten los perdidos
Servicio No Fiable:
No se garantiza al nivel superior que todos los paquetes lleguen a su destino: pueden perderse paquetes (t´ıpicamente por congesti´on).
Alg´un nivel superior deber´a ser capaz de detectar y
recuperarse de estas p´erdidas, si la aplicaci´on lo requiere.
GSyC - 2009 Redes 101
Nivel de Red
Tipos de Nivel de Red
Todas las combinaciones de tipos de servicio de nivel de red son te´oricamente posibles, pero no todas se dan en la pr´actica.
Las combinaciones m´as frecuentes son:
Servicio Orientado a Conexi´on, basado en Circuitos Virtuales y Fiable (ejemplo: X.25).
Direcciones de Red
Se necesita un mecanismo de identificaci´on un´ıvoca de todas las m´aquinas de la red, independientemente de la tecnolog´ıa del nivel de enlace de cada una.
Existen distintos m´etodos de direccionamiento seg´un el tipo de redes. Veremos m´as adelante el formato de las direcciones del nivel de red IP.
GSyC - 2009 Redes 103
Nivel de Red
Interconexi´on de subredes con distinto nivel de enlace
Dependiendo de la arquitectura de red que se trate, puede que se desee integrar en una misma red a subredes con distinto nivel de enlace.
Cuando as´ı ocurre, es misi´on de nivel de red hacer esta integraci´on
Es necesario que el nivel de red del encaminador que une las subredes “entienda” los dos niveles de enlace. Puede tener que resolver problemas de:
Cliente FTP
TCP
IP Protocolo IP
Protocolo
Protocolo FTP
Protocolo TCP
router
IP
Driver token ring
Servidor FTP
TCP
IP Protocolo IP
Protocolo
ETHERNET
TOKEN RING
Ethernet token ring Driver token ring Driver Ethernet Driver Ethernet
GSyC - 2009 Redes 105
Nivel de Red
Encaminamiento
El proceso mediante el cu´al se encuentra un camino entre dos puntos cualesquiera de la red
Encaminamiento
Algoritmo de encaminamiento: Procedimiento por el cu´al los
encaminadores (routers) alcanzan las decisiones de las mejores rutas para cada destino.
Como parte del algoritmo de encaminamiento, normalmente los encaminadores tienen que enviarse entre s´ı mensajes de control para conseguir toda la informaci´on necesaria.
El resultado de los algoritmos de encaminamiento es generar en cada encaminador su tabla de encaminamiento.
Tabla de encaminamiento: Tabla que consulta el encaminador cada
vez que recibe un paquete y tiene que encaminarlo. Esta tabla tiene esta forma:
Destino final Encaminador vecino al que enviar el paquete
D1 V1
D2 V2
. . . .
Muchas veces se utiliza el t´ermino Protocolo de Encaminamiento
en vez de Algoritmo de Encaminamiento.
GSyC - 2009 Redes 107
Nivel de Red
Encaminamiento
Objetivos de un algoritmo de encaminamiento
Minimizar el espacio de la tabla de encaminamiento para poder buscar r´apidamente y para tener menos informaci´on a intercambiar con otros encaminadores
Minimizar el n´umero y frecuencia de mensajes de control Robustez: evitar agujeros negros, evitar bucles, evitar oscilaciones en las rutas
Generar caminos ´optimos:
menor retardo de tr´ansito, o
camino m´as corto (en funci´on de una cierta m´etrica en funci´on de retardo, coste de los enlaces, . . . ), o
Encaminamiento
Algoritmo de inundaci´on
Es un algoritmo simple que a veces se utiliza cuando no hay ninguna informaci´on de encaminamiento disponible (al arrancar alg´un otro algoritmo):
1 Cada paquete recibido por un nodo es encaminado a todos los
vecinos (excepto al que lo envi´o).
2 Los paquetes van etiquetados y numerados.
3 Si un nodo recibe un paquete que ya ha encaminado, lo
descarta.
GSyC - 2009 Redes 109
Nivel de Red
Encaminamiento
Algoritmo de aprendizaje
Es un algoritmo simple, que mejora el de inundaci´on. Se utiliza tambi´en en los bridges de nivel de enlace.
1 Cada nodo mantiene una tabla con entradas
(Destino, enlace por el que encamino)
que va actualizando seg´un los paquetes que va recibiendo.
2 Al recibir un paquete, se fija en el nodo origen y enlace por el
que le ha llegado, apuntando en la tabla que cuando ese nodo sea destino de un paquete lo encaminar´a por ese enlace
3 Cuando para un destino no hay entrada en la tabla, se env´ıa
Encaminamiento
Algoritmo de Dijkstra
Es un algoritmo que encuentra caminos de distancia m´ınima de un nodo al resto (por lo que cada nodo ejecuta el algoritmo). Requiere conocer todas las distancias entre nodos adyacentes.
1 Se trabaja con dos conjuntos de nodos:
P: Nodos con su encaminamiento ya resuelto (permanentes)
T: Nodos a´un no resueltos (tentativos)
2 Inicialmente P s´olo contiene el nodo inicial 3 Para cada nodo de T:
si no est´a directamente conectado a ning´un nodo de P, su distancia al nodo inicial es infinta
en caso contrario, se elige la menor distancia entre la calculada en un paso anterior y la distancia directa entre ´el y el ´ultimo nodo a˜nadido a P
4 El nodo de T de menor distancia se pasa a P. Si a´un quedan nodos
en T, se vuelve al paso anterior.
GSyC - 2009 Redes 111
Nivel de Red
Encaminamiento
Algoritmo de Dijkstra
A D 1 2 6 G 4 (a)
F (∞, −) D (∞,−) A
B 7 C
2 H 3 3 2 2 F E 1 2 2 6 G 4 A (c) A
B (2, A) C (9, B)
H (∞, −) E (4, B)
G (6, A)
F (6, E) D (∞,−) A
A
B (2, A) C (9, B)
E (4, B)
F (6,E) D (∞,−) A
A
B (2, A) C (9, B)
E (4, B)
F (6, E) D (∞,1) A
(d) A
B (2, A) C (9, B)
H (∞, −) E (4, B)
G (5, E)
F (∞, −) D (∞, −) A
H E
G
(b)
B (2, A) C (∞, −)
H (∞, −) E (∞, −)
Encaminamiento
Algoritmos basados en Vectores de Distancias
El protocolo RIP (Routing Information Protocol), utilizado en Internet, emplea esta t´ecnica.
1 Cada nodo mantiene una tabla de encaminamiento con pares
(Destino, Nodo vecino por el que encamino), para todos los destinos de la red.
2 Cada nodo estima el retardo de sus paquetes a los nodos vecinos
(enviando peri´odicamente paquetes de sondeo).
3 Cada nodo env´ıa peri´odicamente a sus vecinos todos sus pares
(Destino, retardo estimado)
4 Cada nodo estudia la informaci´on recibida de los vecinos para ver si
puede conseguir una ruta de menor retardo enviando a trav´es de otro de sus vecinos, y actualiza sus tablas de encaminamiento consecuentemente
GSyC - 2009 Redes 113
Nivel de Red
Encaminamiento
Algoritmos basados en Vectores de Distancias
(a)
A B C D
E I J K L F G H Router 0 12 25 40 14 23 18 17 21 9 24 29 24 36 18 27 7 20 31 20 0 11 22 33 20 31 19 8 30 19 6 0 14 7 22 9 21 28 36 24 22 40 31 19 22 10 0 9 8 20 28 20 17 30 18 12 10 0 6 15 A A I H I I H H I − K K
To A I H K Line
New estimated delay from J
A B C D E F G H I J K L JA JI JH JK delay delay delay delay
is is is is 8
10 12 6
New routing
table
for J Vectors received from
J's four neighbors
(b)
Encaminamiento
Algoritmos basados en Vectores de Distancias
Problema: cuenta al infinito.
La informaci´on acerca de mejores rutas se propaga poco a poco, consigui´endose al cabo de un rato que todos los encaminadores tengan tablas ´optimas
Pero las malas noticias (se cae un enlace o un encaminador) tardan en llegar:
A B C D E
∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ 4 1 1 1 1 2 2 2 3 3 Initially After 1 exchange After 2 exchanges
After 3 exchanges
After 4 exchanges
A B C D E
1 2 3
4 ∞ ∞ ∞ ∞ 2 3 4 3 4 4 6 3 3 5 5 4 4 6 5 5 6 7 6 7 8 7 8 7 Initially After 1 exchange After 2 exchanges After 3 exchanges After 4 exchanges After 5 exchanges After 6 exchanges ..
. (a)
(b)
Fig. 5-11. The count-to-infinity problem.
GSyC - 2009 Redes 115
Nivel de Red
Encaminamiento
Algoritmos basados en el Estado de Enlace
El protocolo OSPF (Open Shortest Path First), utilizado en Internet, emplea esta t´ecnica.
1 Cada encaminador mide su distancia con cada uno de sus vecinos
(enviando paquetes de sondeo) y construye un paquete de estado de enlaces con esta informaci´on.
2 Cada encaminador env´ıa perdi´odicamente el paquete de estado de
enlaces a todos los encaminadores de la red. Estos mensajes se difunden por inundaci´on.
3 Cada encaminador, con la informaci´on recibida, conoce la topolog´ıa
Encaminamiento
Algoritmos basados en el Estado de Enlace
B C E F A D 6 1 2 8 5 7 4 3 (a) A Seq. Age
B C D E F
B 4 E 5 Seq. Age A 4 C 2 Seq. Age B 2
D 3
Seq. Age C 3 F 7 Seq. Age A 5 C 1 Seq. Age B 6 D 7 F 6
E 1 F 8
E 8
Link State
Packets
(b)
Fig. 5-15. (a) A subnet. (b) The link state packets for this subnet.
GSyC - 2009 Redes 117
Nivel de Red
Encaminamiento
Encaminamiento jer´arquico
Si la red es muy grande, las tablas de encaminamiento se hacen inmanejables:
se tarda mucho en calcular los caminos ´optimos
se genera mucho tr´afico de control para conseguir difundir la informaci´on necesaria para los algoritmos de encaminamiento Soluci´on: Encaminamiento Jer´arquico:
Se divide la red en dominios
Dentro de cada dominio se encamina seg´un un algoritmo de los vistos anteriormente
Los dominios est´an interconectados mediante pasarelas (gateways) Las m´aquinas dentro de un dominio no conocen a las de otro
Encaminamiento
Encaminamiento jer´arquico
Region 1 Region 2
Region 3 Region 4 Region 5 1B 1A 1C 2A 2B 2C 5B 5C 5A 5E 5D 2D 4A 4B 4C 3A 3B 1B 1 1C 1 1B 2 1B 3 1B 3 1B 4 1C 3 1C 2 1C 3 1C 4 1C 4 1C 4 1C 5 1B 5 1C 6 1C 5 – – 1A 1C 2A 2B 2C 2D 3A 3B 4A 4B 4C 5A 5B 5C 5D 5E 1B Line Hops Dest.
Full table for 1A
1A 1C 2 3 4 5 1B Line Hops Dest.
Hierarchical table for 1A
1B 1 1C 1 1B 2 1C 2 1C 3 1C 4 – –
(a) (b) (c)
Fig. 5-17. Hierarchical routing.
GSyC - 2009 Redes 119
Nivel de Red
Control de Congesti´on
Un encaminador tiene varios enlaces de entrada y salida. Puede ser que lleguen paquetes m´as deprisa de lo que el encaminador sea capaz de darles salida.
Si esta situaci´on es espor´adica, se resuelva con buffers.
Los buffers son limitados: cuando se llenan se ha alcanzado la congesti´on
Control de Congesti´on
Medidas:
En redes basadas en circuitos virtuales, se puede hacer un control de admisi´on: Al intentar establecer un nuevo circuito virtual, los encaminadores intermedios indican si tienen
recursos (buffers) para que pase por ellos.
En redes basadas en datagramas, los encaminadores suelen
descartar los paquetes que se reciben y no caben en sus
buffers de salida.
GSyC - 2009 Redes 121
IP: Internet Protocol
Temario
1 Introducci´on a las Redes de Ordenadores
2 Nivel F´ısico
3 Nivel de Enlace
4 Nivel de Red
5 IP: Internet Protocol
6 Nivel de Transporte
7 UDP: User Datagram Protocol
8 TCP: Transmission Control Protocol
Introducci´on
IP es un protocolo de Nivel de Red que ofrece un servicio de entrega de mensajes (datagramas):
no orientado a conexi´on no fiable
Dentro de un datagrama IP se encapsula una unidad de datos de uno de los siguientes protocolos:
ICMP Internet Control Message Protocol
IGMP Internet Group Management Protocol
TCP Transmission Control Protocol
UDP User Datagram Protocol
GSyC - 2009 Redes 123
IP: Internet Protocol
Datagramas IP
offset de fragmentación
protocolo
cabecera
versión
identificación
tiempo de vida (TTL)
dirección IP origen
dirección IP destino
datos opciones (en su caso) cabecera
longitud
checksum de la cabecera longitud total
0 4 8 16 31
Datagramas IP
versi´on Actualmente versi´on 4. La siguiente versi´on es IPv6. longitud cabecera N´umero de palabras de 32 bits que ocupa la
cabera. Normalmente es 5 (20 bytes), cuando no hay opciones
TOS Se usan s´olo 4 bits para indicar tipo de servicio a ofrecer:
minimizar retardo maximizar rendimiento maximizar fiabilidad
minimizar coste econ´omico
GSyC - 2009 Redes 125
IP: Internet Protocol
Datagramas IP
longitud total En bytes. Tama˜no m´aximo: 65535 bytes. Normalmente es menor de 576 bytes. Dependiendo del nivel de enlace,
cualquier m´aquina puede necesitar fragmentar un datagrama IP al encaminarlo.
identificaci´on Diferente para cada datagrama que genera una m´aquina (se va incrementando de 1 en 1). Distintos fragmentos del mismo datagrama mantienen el mismo n´umero de identificaci´on. flags Uno para indicar si este datagrama no puede fragmentarse, y
otro para indicar si hay m´as fragmentos de este datagrama offset de fragmentaci´on Generado al fragmentar un datagrama, le sirve al
destino final para reensamblarlo.
TTL Indica el n´umero m´aximo de encaminadores que el
Datagramas IP
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´on opcional. No todas las m´aquinas y
encaminadores las soportan. El campo de opciones se rellena con ceros por la derecha para asegurar un m´ultiplo de 32 bits. Ejemplos de opciones:
restricciones de seguridad ruta recorrida
marca de tiempo
encaminamiento en origen
GSyC - 2009 Redes 127
IP: Internet Protocol
Direcciones IP
Cada interfaz f´ısico conectado a la Internet tiene asignada una direcci´on IP que resulta ´unica en toda la red.
Los 32 bits se suelen expresar en ((notaci´on decimal puntuada)): 212.128.4.4
El rango de direcciones se divide en 5 clases:
Clase Rango
A 0.0.0.0 a 127.255.255.255
B 128.0.0.0 a 191.255.255.255
C 192.0.0.0 a 223.255.255.255
D 224.0.0.0 a 239.255.255.255
Direcciones IP
Los primeros bits de una direcci´on indican cu´al es su clase.
En cada clase, es distinto el n´umero de bits de red y el de bits de m´aquina.
Clase C
7 bits 24 bits
14 bits 21 bits 28 bits 27 bits 16 bits 8 bits id maquina id maquina
id red id maquina
id grupo multicast
reservado para usos futuros id red id red 0 0 0 1 1 1 1 1
1 1 1 1 0 1 0 Clase A Clase B Clase D Clase E
GSyC - 2009 Redes 129
IP: Internet Protocol
Direcciones IP
Direcciones IP para redes privadas
Existen unos rangos de direcciones IP, reservadas para ´ambito local, y que no son utilizables globalmente en Internet:
10.0.0.0–10.255.255.255 169.254.0.0–169.254.255.255 172.16.0.0–172.31.255.255 192.168.0.0–192.168.255.255
Los encaminadores de Internet descartan los datagramas con destino una de estas direcciones IP.
Direcciones IP
Tipos de direcciones IP
unicast Representan a una sola m´aquina multicast Representan a un grupo de m´aquinas
broadcast Representan a todas las m´aquinas de una subred
GSyC - 2009 Redes 131
IP: Internet Protocol
Direcciones IP
¿Qui´en asigna direcciones IP?
Tres organismos regionales: ARIN (Am´erica), RIPE (Europa y ´Africa) y APIC (Asia).
RIPE delega en organismos regionales (normalmente por pa´ıses). En Espa˜na, el organismo es Red.es, Entidad P´ublica Empresarial adscrita al Ministerio de Ciencia y Tecnolog´ıa.
Una organizaci´on adquiere una (o m´as) direcciones de clase, y el administrador local de la organizaci´on reparte la direcci´on de clase entre todas sus m´aquinas.
Direcciones IP
Subredes
En ocasiones, por razones organizativas o topol´ogicas, se utilizan algunos bits de m´aquina como bits de subred.
Sobre todo con direcciones de clases A y B.
Dada una direcci´on de red otorgada a una organizaci´on, el
administrador decidir´a si utilizar´a subredes, y el n´umero de bits de m´aquina que utilizar´a para indicar la subred.
GSyC - 2009 Redes 133
IP: Internet Protocol
Direcciones IP
Subredes
En la m´ascara de subred, los unos se corresponden con bits de red y subred, los ceros con los bits de la m´aquina.
Ejemplos:
Direcci´on de clase M´ascara Subredes
163.117.0.0 255.255.255.0 163.117.0.0 – 163.117.0.255
163.117.1.0 – 163.117.1.255 ...
163.117.254.0 – 163.117.254.255 163.117.255.0 – 163.117.255.255
193.147.71.0 255.255.255.128 193.147.71.0 – 193.147.71.127
193.147.71.128 – 193.147.71.255 Normalmente en cada subred se reservan:
la primera direcci´on (bits de m´aquina a cero) como “direcci´on de la red” la ´ultima direcci´on (bits de m´aquina a uno) como “direcci´on de
Encaminamiento
Cualquier m´aquina IP puede estar o no configurada como encaminador:
Si NO lo est´a los datagramas IP que recibe que no son para ella, se tiran.
Si lo est´a, se tratan de encaminar.
GSyC - 2009 Redes 135
IP: Internet Protocol
Encaminamiento
Para encaminar, una m´aquina consultar´a su tabla de
encaminamiento. En ella, para enviar un datagrama a una cierta
direcci´on IP destino, buscar´a por este orden:
1 Una entrada con una direcci´on IP de m´aquina igual a la
buscada.
2 Una entrada con una direcci´on IP de red igual a la parte de
red de la buscada.
Encaminamiento
Las tablas de encaminamiento tienen el aspecto:
% netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Iface
193.147.71.0 0.0.0.0 255.255.255.0 U 1500 eth0
0.0.0.0 193.147.71.1 0.0.0.0 UG 1500 eth0
U ruta utilizable
G ruta indirecta, a trav´es de un encaminado o pasarela (Gateway)
GSyC - 2009 Redes 137
IP: Internet Protocol
Encaminamiento
CIDR
El mecanismo de las clases A, B y C se ha mostrado muy inflexible y ha provocado:
Agotamiento de las direcciones de las clases A y B
Crecimiento enorme de las tablas de encaminamiento por “el centro” de Internet
Soluci´on al segundo problema: CIDR (Classless Inter Domain
Encaminamiento
CIDR
Con CIDR:
No se tiene en cuenta la “clase” de las direcciones
Nueva forma de indicar direcciones y m´ascaras mediante prefijos: 212.128.0.0/20
indicando que los 20 primeros bits son los significativos en la direcci´on anterior (entra el primer bit del ´ultimo byte).
Las direcciones pasan a adjudicarse de esta manera.
Las tablas de encaminamiento se construyen y consultan de esta manera: Con una entrada como la anterior se sustituye a 16 entradas que habr´ıa que poner sin CIDR:
212.128.0.0 212.128.1.0 ...
212.128.15.0
siempre, claro, que las 16 entradas fueran a trav´es del mismo router
GSyC - 2009 Redes 139
IP: Internet Protocol
ARP (
Address Resolution Protocol
)
El protocolo de resoluci´on de direcciones ARP proporciona una forma de pasar de una direcci´on IP a una direcci´on Ethernet. Cuando el nivel IP va a enviar un datagrama con una cierta direcci´on IP de destino:
Si la direcci´on de destino es de la misma subred, esa m´aquina es directamente a quien hay que enviar la trama Ethernet que contenga el datagrama.
Si no, la tabla de encaminamiento da la direcci´on IP del siguiente salto, que es el encaminador a quien hay que enviar la trama Ethernet que contenga el datagrama.
ARP (
Address Resolution Protocol
)
Para conocer la direcci´on Ethernet de una m´aquina de la misma subred, dada su direcci´on IP, una m´aquina hace lo siguiente:
1 Env´ıa una trama Ethernet de broadcast consistente en una
solicitud ARP, conteniendo la direcci´on IP en cuesti´on.
2 Aquella m´aquina que reciba una solicitud ARP preguntando
por su propia direcci´on IP, contesta con una trama Ethernet dirigida a quien hizo la pregunta, conteniendo una respuesta
ARP indicando la direcci´on Ethernet pedida.
Cada m´aquina mantiene una cache de correspondencias direcciones
IP a direcciones Ethernet con los resultados de las solicitudes que va haciendo.
GSyC - 2009 Redes 141
IP: Internet Protocol
ARP (
Address Resolution Protocol
)
Formato del paquete de solicitud/respuesta de ARP:
ARP puede usarse en combinaci´on con otros protocolos de nivel de red (no s´olo IP), por lo que el formato var´ıa.
Formato para usar ARP con IP:
Solicitud/Respuesta Eth. Or. IP Or. Eth. Dest. IP Dest. No hay que olvidar que el paquete de ARP viaja dentro de
una trama Ethernet (si es ´ese el nivel de enlace).
En una solicitud, los campos ((origen)) llevan los datos de la m´aquina que pregunta, y de los campos ((destino)) s´olo va relleno “IP Dest.”, ya que “Eth. Dest.” es justo lo que se pregunta
ARP (
Address Resolution Protocol
)
Aprovechando que las solicitudes de ARP se env´ıan con un
broadcast, para cada solicitud que vea una m´aquina, si la “IP Or.” est´a en su cach´e de ARP, la m´aquina actualiza la
entrada con la correspondiente “Eth. Or.”.
ARP gratuito: Una m´aquina puede enviar una solicitud ARP
preguntando sobre su propia direcci´on IP. Prop´ositos:
detectar direcciones IP duplicadas
forzar a que los que tengan una entrada en su cache la actualicen
GSyC - 2009 Redes 143
IP: Internet Protocol
RARP, BOOTP, DHCP
Es muy frecuente hacer la pregunta inversa a la del ARP: Una m´aquina conoce su propia direcci´on Ethernet, pero no su propia IP. Ejemplos:
M´aquina sin disco
M´aquina que acaba de llegar a una red No se desea configurar direcciones a mano
Existen varios protocolos, todos funcionan de forma similar:
1 La m´aquina env´ıa un broadcast de una solicitud, indicando su
direcci´on Ethernet.
2 Alg´un servidor en subred le enviar´a una respuesta indic´andole
RARP, BOOTP, DHCP
Originalmente se usaba RARP (Reverse Address Resolution
Protocol). Posteriormente, BOOTP (Bootstrap Protocol). En la
actualidad, se emplea DHCP (Dynamic Host Configuration
Protocol), que ofrece m´as funcionalidad:
Adem´as de la IP, permite configurar nombres de m´aquina, m´ascaras, puertas de enlace y otros servicios.
La asignaci´on de direcciones puede ser
Manual. Cierta ethernet siempre tendr´a la misma IP, indicada por el administrador.
Din´amica. El administrador reserva un conjunto de IPs, que se ceder´an en demanda a las m´aquinas, en intervalos de tiempo controlables.
Permite servidores jerarquizados en diferentes subredes.
GSyC - 2009 Redes 145
IP: Internet Protocol
ICMP (
Internet Control Message Protocol
)
Este protocolo se utiliza para interrogar y/o comunicar condiciones de error entre m´aquinas.
Los mensajes ICMP se transmiten encapsulados en datagramas IP. Su formato es:
código
0 8 16 31
tipo código checksum de todo el mensaje ICMP
ICMP (
Internet Control Message Protocol
)
Ejemplos de mensajes ICMP:
tipo c´odigo descripci´on 0 0 respuesta de eco
3 0 destino inalcanzable: red inalcanzable 3 1 destino inalcanzable: m´aquina inalcanzable 3 3 destino inalcanzable: puerto inalcanzable 8 0 solicitud de eco
11 0 tiempo excedido: TTL = 0 12 1 cabecera IP mal: falta una opci´on 13 0 solicitud de marca de tiempo 14 0 respuesta de marca de tiempo
GSyC - 2009 Redes 147
IP: Internet Protocol
ICMP (
Internet Control Message Protocol
)
traceroute
Muestra la ruta que siguen los datagramas.
El nodo origen env´ıa paquetes de prueba con TTL 1, 2, 3...
El router que descarta el paquete env´ıa mensaje ICMP al origen, lo que permite identificarlo.
koji@mazinger:~$ traceroute gsyc.escet.urjc.es
traceroute to gsyc.escet.urjc.es (193.147.71.64), 30 hops max, 40 byte packets 1 * * *
2 * * * 3 * * * 4 * * *
5 rediris-2.espanix.net (193.149.1.154) 10.971 ms 22.736 ms 7.346 ms
6 ESP.SO1-0-0.EB-IRIS2.red.rediris.es (130.206.240.125) 8.363 ms 8.862 ms 24.718 ms 7 SO0-0-0.EB-IRIS4.red.rediris.es (130.206.240.2) 13.994 ms 28.781 ms 8.976 ms
8 NAC4.SO3-0-0.EB-Madrid0.red.rediris.es (130.206.240.130) 10.270 ms 9.866 ms 9.774 ms 9 cam-router.red.rediris.es (130.206.206.62) 17.183 ms 9.764 ms 16.176 ms
Congesti´on en Internet
El nivel de red (IP) ofrece un servicio basado en datagramas. La principal fuente de p´erdidas de paquetes en Internet se debe a la congesti´on de encaminadores, que act´uan descartando paquetes. IP no toma ninguna medida para prevenir o disminuir la congesti´on: ser´a labor de protocolos de niveles superiores, en su caso.
GSyC - 2009 Redes 149
Nivel de Transporte
Temario
1 Introducci´on a las Redes de Ordenadores
2 Nivel F´ısico
3 Nivel de Enlace
4 Nivel de Red
5 IP: Internet Protocol
6 Nivel de Transporte
7 UDP: User Datagram Protocol
8 TCP: Transmission Control Protocol
Introducci´on
El Nivel de Transporte se encarga de gobernar el acceso
m´ultiple a la red de los diversos procesos de la misma m´aquina
que quieran usarla: En TCP/IP se hace a trav´es de puertos. Hay dos protocolos que ofrecen un servicio de nivel de
transporte:
UDP: no orientado a conexi´on y no fiable
TCP: orientado a conexi´on y fiable
GSyC - 2009 Redes 151
Nivel de Transporte
Puertos
En una m´aquina multiproceso, el nivel de transporte debe
preocuparse de saber a qu´e proceso va destinado una unidad de datos de UDP o TCP que acaba de llegar por la red.
Por ello, los procesos que usan la red lo hacen a trav´es de las
abstracciones denominadas puertos.
Puertos
El Nivel de Transporte TCP/IP:
multiplexa las unidades de datos que env´ıan las aplicaciones a trav´es de los puertos, encapsul´andolas en unidades de datos de UDP o TCP
demultiplexa las unidades de datos de UDP y TCP, pasando los datos a las aplicaciones.
Los puertos se identifican por un n´umero de 16 bits. Los puertos UDP y TCP se manejan por separado: el puerto 7 UDP y el puerto 7 TCP son puertos distintos.
Cuando se env´ıa una unidad de datos se especifica el puerto de destino y el puerto desde el que se env´ıa.
GSyC - 2009 Redes 153
Nivel de Transporte
Puertos
Los puertos menores que 1024 (puertos privilegiados) est´an reservados y asignados universalmente a aplicaciones de red conocidas.
En una m´aquina Unix esta asignaci´on est´a en fichero
/etc/services:
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
ftp-data 20/tcp # default ftp data port
ftp 21/tcp
ssh 22/tcp # SSH Remote Login Protocol
ssh 22/udp
telnet 23/tcp
smtp 25/tcp mail
www 80/tcp http # WorldWideWeb HTTP