Objetivos de las Redes de Ordenadores

118  Descargar (0)

Texto completo

(1)

Redes

Departamento de Sistemas Telem´aticos y Computaci´on

redes-profes@gsyc.urjc.es

Octubre 2009

GSyC - 2009 Redes 1

c

(2)

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

(3)

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)

(4)

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

(5)

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

(6)

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)

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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.

(12)

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

(13)

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

(14)

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

(15)

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.

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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.

(21)

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

(22)

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)

(23)

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

(24)

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

(25)

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

(26)

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.

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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!)

(32)

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

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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.

(40)

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.

(41)

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.

(42)

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

(43)

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

(44)

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

(45)

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.

(46)

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.

(47)

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

(48)

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

(49)

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.

(50)

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

(51)

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

(52)

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:

(53)

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

(54)

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

(55)

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

(56)

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 (∞, −)

(57)

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)

(58)

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

(59)

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

(60)

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

(61)

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

(62)

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

(63)

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

(64)

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

(65)

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.

(66)

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.

(67)

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

(68)

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.

(69)

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

(70)

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.

(71)

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

(72)

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

(73)

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

(74)

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

(75)

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

(76)

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.

(77)

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

Figure

Actualización...

Referencias

Actualización...