Fema 8 Redes FCP/IP. Intenet ObTetivos

Anuncio
Tema 8
Redes TCP/IP. Intenet
Febrero, 2011
Jorge Juan Chico <[email protected]>, Julián Viejo Cortés <[email protected]>
Departamento de Tecnología Electrónica
Universidad de Sevilla
Usted es libre de copiar, distribuir y comunicar públicamente la obra y de hacer obras derivadas siempre que
se cite la fuente y se respeten las condiciones de la licencia Attribution-Share alike de Creative Commons.
Puede consultar el texto completo de la licencia en http://creativecommons.org/licenses/by-sa/3.0/
Objetivos
Comprender el funcionamiento de las redes de comunicaciones
Conocer los mecanismos básico de operación de las redes locales
Comprender el funcionamiento de Internet y los protocolos que la
hacen funcionar
Valorar la estrategia de dividir un problema general en problemas más
simples
Conocer los parámetros de configuración de un ordenador conectado a
Internet
Tomar conciencia de la dimensión técnica y social de Internet
Introducción
3
Contenidos
Introducción
Redes conmutadas
–
Conmutación de circuitos. Conmutación de paquetes. Enrutado
Redes de área local: Ethernet
–
Topologías. Trama MAC. Acceso al medio
Internet
–
–
–
–
–
–
Estructura y objetivo
Protocolo IP
Protocolo TCP
Otros protocolos de Internet
Servicio de nombres de dominio (DNS)
Elementos de configuración
4
Introducción
Protocolos de aplicaciones específicas:
páginas web, correo electrónico,
transferencia de ficheros
Protocolos de nivel superior:
HTTP, FTP, SMTP, etc.
TCP (Protocolo de Control de la
Transferencia): gestión de conexiones
en Internet
Transfer Control
Protocol (TCP)
Internet Protocol (IP)
IP (Protocolo de Internet):
transferencia de paquetes en
Internet
Enlace de datos
Enlace de datos: transferencia de
paquetes de datos en una red local o
de área amplia
medio físico
5
Redes conmutadas
C
C
red
estaciones
22
B
11
nodo
33
55
A
44
–
–
–
–
–
EE
66
77
–
D
D
FF
Conjunto de nodos conectados por enlaces de datos.
Estaciones: puntos terminales. Ej: ordenadores, teléfonos, etc.
Nodos internos: conectados sólo a otros nodos.
Nodos periféricos: conectados a estaciones.
Enlaces con varios "canales" entre nodos (multiplexación).
Varios caminos alternativos entre nodos.
Conmutación de circuitos
Funcionamiento:
–
–
Se establece una conexión física permanente entre entre las estaciones
durante la comunicación.
Fases:
Establecimiento del circuito: realización de llamada, realización de conexiones en
los nodos.
Transferencia de datos: normalmente en ambos sentidos (full-duplex)
Desconexión: liberación de recursos
Ejemplo: red telefónica conmutada "tradicional".
Conmutación de circuitos
Ejemplo: nodo B llama a E
C
B
Establecimiento del circuito
Transferencia
Desconexión
D
E
A
F
Conmutación de paquetes
–
–
Desarrollada a principios de los 70 para comunicación de datos digitales
Conmutación de circuitos:
poco eficiente
mal aprovechamiento de recursos
–
Los nodos intercambian información digital
–
Información dividida en paquetes, cada paquete contiene:
información de control: origen, destino, tamaño, prioridad, ...
datos a transferir
–
Cada nodo "encola" los paquetes recibidos y los envía por la línea más
adecuada según su destino.
Conmutación de paquetes
Funcionamiento
DATOS
opciones
origen: B
destino: E
C
B
D
E
A
F
Conmutación de paquetes
Ventajas
Mayor eficiencia: sólo se usan los enlaces cuando hay datos que
enviar.
Cualquier tipo de datos: codificación digital.
Posibilidad de establecer prioridades distintas para distintos tipos de
comunicación: calidad de servicio.
Posibilidad de comunicación incluso con red saturada.
Conmutación de paquetes
Técnicas de conmutación
Datagramas:
–
–
–
–
–
cada paquete se trata independientemente, aunque pertenezcan a un
mismo bloque de datos.
los paquetes pueden llegar desordenados
no hay que establecer conexión
más fácil de implementar
usado en redes heterogéneas (Internet)
Circuitos virtuales:
–
primero se establece un camino fijo para el intercambio de los paquetes
de una sesión y luego todos se envía por el
emulan la redes de conmutación de circuitos
los paquetes llegan de forma ordenada
más fiable: calidad de servicio, reserva de recursos
implementación más compleja
–
usado en redes homogéneas de área amplia (WAN)
–
–
–
–
Conmutación de paquetes
Enrutamiento (routing)
Inundación (difusión)
Estático
Dinámico
Conmutación de paquetes
Enrutamiento (routing)
Enrutamiento por inundación (difusión):
–
–
–
–
–
–
Cada nodo repite el paquete hacia todos sus enlaces de modo que cada
paquete alcanza todos los puntos de la red.
Debe existir algún mecanismo limitativo: un paquete se repite un número
máximo de veces
Simple: fácil de implementar
Eficaz: se aprovechan varios caminos posibles
Bajo aprovechamiento: se emplean enlaces que no son necesarios
Peligro de saturación de la red: congestión
Conmutación de paquetes
Enrutamiento (routing)
Enrutamiento estático:
–
Cada nodo almacena una tabla de rutas fija (estática) que indica:
destino -> enlace a usar
–
Soluciona problemas de saturación
Eficaz: configurable para mejor operación
–
–
–
–
Fácil de implementar
Difícil de mantener: configuración manual
Bajo aprovechamiento: no se adapta a las condiciones cambiantes de la
red
Conmutación de paquetes
Enrutamiento (routing)
Enrutamiento dinámico:
–
–
–
–
–
–
–
Tablas de rutas generadas dinámicamente y automáticamente
Mejor aprovechamiento de la red
Adaptable automáticamente a fallos de la red
Fácil de mantener: configuración automática
Permite calidad de servicio: prioridad en función de contenidos, urgencia,
etc.
Difícil de implementar: algoritmos de routing
Añade tráfico para operaciones de control: puede afectar a la saturación
de la red
Contenidos
Introducción
Redes conmutadas
–
Conmutación de circuitos. Conmutación de paquetes. Enrutado
Redes de área local: Ethernet
–
Topologías. Trama MAC. Acceso al medio
Internet
–
Estructura y objetivo
Protocolo IP
Protocolo TCP
Otros protocolos de Internet
Servicio de nombres de dominio (DNS)
–
Elementos de configuración
–
–
–
–
17
Redes de área local
Redes para áreas pequeñas: oficina, edificio, campus, etc.
Destinadas a conexión de equipos informáticos: ordenadores,
servidores, teminales, impresoras, etc.
Transmisión de datos digitales en forma de paquetes.
Arquitecturas normalizadas por las normas IEEE 802:
Diferentes topologías:
–
–
bus, anillo, estrella, inalámbricas.
todas las topologías se comportan igual: conseguir que un paquete
emitido por una estación llegue a todas las demás (difusión de paquetes).
18
Ethernet. IEEE 802.3 CSMA/CD
Carrier Sense, Multiple Access with Collission Detection
Tecnología de red local más utilizada.
Topologías:
–
–
tipo bus usando coaxial grueso o coaxial fino (obsoleto)
tipo estrella usando par trenzado o fibra óptica
Acceso al medio por competición
Direccionamiento físico mediante direcciones de 6 bytes (48bits). Ej:
00:D0:59:7B:97:8D
Velocidades:
–
–
–
–
Ethernet clásico: 10Mbps
Fast Ethernet: 100Mbps
Gigabit Ethernet: 1000Mbps
...
19
Ethernet. Operación
1
2
3
4
La estación 2 ve el medio libre y envía un paquete con destino a 4
El paquete se propaga por el medio y va llegando a todas las
estaciones
La estación 4 lee el paquete, el resto lo descartan
20
Ethernet. Operación
repetidor
1
2
3
4
21
Ethernet. Operación
conmutador
(switch)
1
2
3
4
22
Ethernet. Operación
AP
1
2
3
AP
4
5
23
Ethernet. Formato de trama
7
1
preámbulo SFD
6
6
2
>=0
>=0
4
destino
origen
longitud
datos
relleno
FCS
Campos de la trama:
–
–
–
–
–
–
–
–
Preámbulo: avisa de que va a llegar una trama
SFD (delimitador de comienzo de trama): marca el comienzo de una trama
DA (dirección de destino): dirección física de destino de la trama
SA (dirección de origen): dirección física de origen de la trama
Longitud: longitud del campo de datos
Datos: datos a transmitir. Habitualmente entre 0 y 1500 bytes
Relleno: bytes a "0" para hacer que la trama tenga un tamaño mínimo
de 64 bytes, necesario para la detección de colisiones.
FCS (secuencia de comprobación de trama): código de detección de
errores.
24
Acceso al medio
Caso simple
1
2
3
4
(1) emite una trama con destino a (3)
La trama llega a (2) y a (3), que reconoce su dirección
La trama llega al resto de la red. (3) sigue leyendo
(1) finaliza la transmisión. (3) ha leido toda la trama
Acceso al medio
Medio ocupado
1
2
3
(1) está emitiendo una trama. (2) quiere emitir pero el medio está ocupado
(1) termina de emitir.
(2) comienza cuando ve el medio libre
La trama llega a su destino (4)
(2) termina de emitir
4
Acceso al medio
Colisión
1
2
3
4
(1) ve el medio libre y comienza a emitir
(3) ve el medio libre y comienza a emitir poco después
Las señales de (1) y (3) colisionan y se vuelven "ininteligibles"
La colisión se propaga a todo el segmento y es detectada.
(1) y (3) cancelan la emisión y esperan un tiempo para retransmitir
Acceso al medio
Colisión: caso más desfavorable
1
2
3
4
(1) ve el medio libre y comienza a emitir
(4) comienza a emitir instantes antes de la llegada de la trama de (1). Inmediatamente se produce una colisión
(tiempo T)
(1) y (4) continúan emitiendo hasta que la colisión llega a (1) (tiempo 2T). La colisión es detectada por (1).
Las estaciones dejan de emitir. Reintentarán la emisión más tarde.
(Para detectar todas las colisiones, debe emitirse al menos un tiempo 2T)
Acceso al medio
Round-trip time
Para que funcione el mecanismo de colisiones, una estación debe
emitir durante un tiempo mínimo igual al tiempo máximo de ida y
vuelta de la señal a lo largo de todo el segmento de red (round trip
time)
Se fija un round trip time máximo de 50 microsegundos.
–
a 10Mbps -> envío mínimo de 64bytes
El tamaño máximo de la red local viene condicionado por el round trip
time.
Contenidos
Introducción
Redes conmutadas
–
Conmutación de circuitos. Conmutación de paquetes. Enrutado
Redes de área local: Ethernet
–
Topologías. Trama MAC. Acceso al medio
Internet
–
–
–
–
–
–
Estructura y objetivo
Protocolo IP
Protocolo TCP
Otros protocolos de Internet
Servicio de nombres de dominio (DNS)
Elementos de configuración
30
Internet. Estructura
31
Internet. Objetivo
Red universal para la interconexión de ordenadores y equipos:
–
trabajo remoto, acceso a datos, comunicación (e-mail), etc.
Limitaciones de las redes locales:
–
–
extensión limitada
multitud de tipos: heterogeneidad
Aprovechamiento de redes existentes
Objetivo técnico: proporcionar un mecanismo para establecer
conexiones "virtuales" entre ordenadores conectados a la red.
Host 1
Host 2
proceso 1
proceso 1
proceso 2
proceso 2
proceso 3
32
Internet. Conceptos
internet: red formada por la interconexión de distintos tipos de redes
físicas y que emplea en su conjunto una tecnología común para la
transferencia de información conocida como "protocolos de internet".
La Internet: internet de ámbito global que interconecta los
ordenadores de multitud de organismos, empresas y particulares a lo
largo de todo el mundo.
Host: ordenador o dispositivo conectado a la internet
Interfaz de red: elemento de conexión a una red o enlace físicos
(ethernet, modem, etc.)
33
Internet: protocolos TCP/IP
Protocolos de nivel superior:
HTTP, FTP, SMTP, etc.
Transfer Control
Protocol (TCP)
Internet Protocol (IP)
Enlace de datos
Protocolos de aplicaciones específicas:
páginas web, correo electrónico,
transferencia de ficheros
TCP (Protocolo de Control de la
Transferencia): gestión de conexiones
en Internet
IP (Protocolo de Internet):
transferencia de paquetes en
Internet
Enlace de datos: transferencia de
paquetes dentro de la red local
medio físico
34
Protocolo IP. Generalidades
Cada paquete lleva una cabecera con la dirección de destino y de
origen
Cada paquete se trata de forma independiente
Puede haber fragmentación y reensamblado para adaptar el tamaño
del paquete a la red física
Técnica del mejor esfuerzo:
No se confirma la llegada de los paquetes
No se asegura la llegada de los paquetes a su destino
–
–
35
Protocolo IP. Paquete IP
vers: versión de IP (4, 6, etc.)
4
4
8
16
vers
HLEN
TOS
longitud
ident
TTL
flags
protocolo
HLEN: tamaño de la cabecera en bloques de 32b.
Típicamente 5 = 20B
TOS (Type Of Service): tipo de paquete, prioridad, etc.
offset (13)
checksum
origen
ident, flags y offset: usados para fragmentación.
Opcionales.
TTL (Time To Live): número máximo de "saltos".
Tipicamente 64
destino
opciones
longitud: del paquete completo en bytes
relleno
protocolo: protocolo de destino: 6=TCP, 17=UDP
checksum: código de detección de errores
...
datos
...
origen: dirección de origen del paquete
destino: dirección de destino del paquete
opciones+relleno: no suelen usarse
datos: normalmente, un paquete de protocolo de nivel
superior (TCP, UDP)
36
Protocolo IP. Direcciones IP
Direcciones de 32 bits (4 bytes).
Ej: 150.214.144.12
–
Parte de la dirección de un host es común a todos los hosts de la
misma subred.
Máscara de subred: 32 bits, los n primeros a "1" y el resto a "0". Los
bits a "1" indican la parte de la dirección común a la subred.
Una dirección con la parte del host todo a "0" indica la dirección de la
subred.
Una dirección con la parte del host todo a "1" indica como destino
todos los hosts de la subred.
38
Direcciones IP. Ejemplo
IP:
10010110 11010110 10010000 00001100
150.214.144.12
MASK:
11111111 11111111 11111111 00000000
255.255.255.0
RED:
10010110 11010110 10010000 00000000
150.214.144.0
Broadcast:
10010110 11010110 10010000 11111111
150.214.144.255
Notación abreviada:
dirección IP / nº bists a 1 máscara
Ej: 150.214.144.12/24
39
Direcciones IP privadas
Existen rangos de direcciones IP "reservadas" que no deben ser
usadas por ordenadores conectados a Internet
Estas direcciones pueden usarse para redes IP no conectadas
"directamente" a Internet: Intranets
–
–
–
10/8: 10.0.0.0 - 10.255.255.255
172.16/12: 172.16.0.0 - 172.31.255.255
192.168/16: 192.168.0.0 - 192.168.255.255
Otro rango de direcciones especial es:
127/8: 127.0.0.0 - 127.255.255.255
–
–
está reservado para direcciones locales dentro de la misma máquina.
no deben circular paquetes por la red con estas direcciones.
40
Protocolo IP. Routing
Mecanismo para dirigir un paquete a través de los "routers" adecuados
hasta alcanzar el host de destino final
–
–
–
–
todo datagrama (paquete) contiene una dirección IP de destino
la parte de red de una dirección IP identifica unívocamente una subred
física que es parte de la internet
todas las máquinas con la misma parte de red en su dirección IP están
conectadas a la misma red física y pueden intercambiar "frames"
directamente
toda red física tiene al menos un router conectado a otra red física que
puede intercambiar paquetes en ambas redes físicas
R
internet
41
Protocolo IP. Routing en un host
Si la dirección IP de destino está en la misma subred (se averigua
usando la máscara de subred), envía el paquete directamente al
destino, mediante un "frame" con la dirección física del destino.
Si la dirección IP de destino no está en la misma subred, envía el paquete
al router por defecto conectado al exterior (gateway), mediante un
"frame" con la dirección física de la gateway.
Se necesita algún mecanismo para tradudir direcciones IP locales en las
correspondientes direcciones físicas: ARP
–
–
R
internet
42
Protocolo IP. Routing en un router
Un router dispone de varios interfaces conectados a diferentes
subredes. Posee una dirección IP para cada interfaz.
–
–
–
–
subred
El router recibe un datagrama IP
si la dirección de destino esta en la misma subred que alguno de los
interfaces del router, envía el paquete por ese interfaz
si la dirección de destino está en la tabla de rutas del router, evía el
paquete por el interfaz o dirección indicado en la tabla de rutas
en caso contrario, envía el paquete al router por defecto (si lo hay)
R
R
R
internet
43
Protocolo IP
ARP (Address Resolution Protocol)
cab. ether.
datos ethernet: datagrama IP
cab. IP
CRC
datos IP
En la red física, los paquetes IP (datagramas) se envían encapsulados
en paquetes de la red física (frames)
–
–
–
–
–
–
La dirección física del frame debe corresponder con la del ordenador al
que va destinado el datagrama IP (host, router, gateway, etc.).
Cada host guarda una tabla de traducción IP -> dir. física
Las entradas se borran cada 15min. para adaptarse a cambios en la red.
Si un host no conoce la dirección física correspondiente a una dirección IP,
se envía un paquete especial ARP a todos los hosts de la red local
(broadcast).
El host que posee la dirección IP requerida, responde con un paquete ARP
de respuesta informando de su dirección física.
El host que preguntó actualiza su tabla de traducción.
44
TCP. Generalidades
Orientado a conexión: proporciona conexiones virtuales entre procesos
en hosts conectados a una internet.
–
–
Usa paquetes TCP que se llaman "segmentos".
Emplea las funciones que proporciona IP para la transferencia de
paquetes.
Proporciona fiabilidad:
–
detección de errores
–
retransmisión
control de flujo
–
Usado directamente por las aplicaciones
45
TCP. Puertos
–
–
–
TCP permite múltiples conexiones a un mismo host.
Procesos servidores "escuchan" a la espera de conexiones de clientes.
A cada proceso servidor se asigna un número de puerto.
Dirección IP + puerto = localizador universal (socket) de un servicio en la red
Servicios con puertos "conocidos":
FTP(21) telnet(23) SMTP-correo e.(25) HTTP-web(80)
HTTPS(443) POP3(110) NetBIOS(137,138,139)
Host 1
TCP
Host 2
IP
IP
TCP
3125
proc. 1
80
proc. 1
25
proc. 2
internet
4120
proc. 2
46
TCP. Paquete TCP
16
16
SrcPort
DstPort
Acknowledgment
Flags
DstPort: puerto de destino.
SeqNum: número de secuencia del primer byte de
datos en este segmento.
SeqNum
HdrLen Res.
SrcPort: puerto de origen.
AdvWindow
Checksum
UrgPtr
Opciones
Relleno
...
datos
...
Flags:
URG: UrgPtr significativo
ACK: Acknowledgment significativo
PSH: función PUSH
RST: reset de conexión
SYN: sincronizar números de secuencia
FIN: fin de datos del emisor
Acknowledgment: numero de secuencia del siguiente
byte esperado.
HdrLen: longitud de la cabecera en nº de palabras de
32 bits.
Res(ervado): 6 bits a cero, reservados para usos
futuros.
Flags: bits de control.
AdvWindow: nº de bytes que el emisor está dispuesto
a aceptar
Checksum: detección de errores
UrgPtr: nº de byte donde hay datos urgentes
Opciones+Relleno: parámetros opcionales.
47
TCP. Inicio de conexión
(visión del servidor)
Host 1: 130.125.12.14
TCP
Host 2: 150.214.141.89
IP
IP
TCP
7
proc. 1
proc. 11
80
internet
8
proc. 2
El proceso 11 en el host 2 abre un conector (socket) con el software TCP. Recibe un número de conector (ej. 7)
El proceso 11 en el host 2 solicita al software TCP que conecte el conector 7 al puerto 80 en estado de escucha
(LISTEN)
Llega una petición de conexión al puerto 80.
El proceso 11 la acepta y recibe un nuevo socket (8) con el que puede intercambiar datos con el cliente como si de
un fichero se tratase.
El proceso 11 sigue escuchando en el socket 7 (puerto 80)
48
TCP. Inicio de conexión
(visión del cliente)
Host 1: 130.125.12.14
TCP
proc. 1
Host 2: 150.214.141.89
IP
IP
TCP
5
3125
80
proc. 11
internet
proc. 2
El proceso 1 en el host 1 abre un conector (socket) con el software TCP. Recibe un número de conector (ej. 5)
El proceso 1 en el host 1 solicita al software TCP que conecte el conector 5 al puerto 80 del host 2 (URL:
150.214.141.89:80).
El software TCP activa un número de puerto no utilizado (ej. 3125) y establece una conexión con el puerto
80 del equipo remoto.
El proceso 1 del host 1 recibe una confirmación de la conexión. Puede leer y escribir datos del conector 5 como si
de un fichero de tratase.
49
TCP. Inicio de conexión
(visión del protocolo)
SYN
SYN+ACK
ACK
Host 2: 150.214.141.89
Host 1: 130.125.12.14
El software TCP en H1 recibe una orden "connect"
del proceso 1. Envía a H2 un paquete indicando el
número de puerto y con la señal SYN.
H2 recibe el paquete, comprueba que que el
puerto 80 está abierto. El proceso 11 acepta la
conexión. Se envía a H1 un paquete con SYN+ACK
para confirmar la conexión.
H1 recibe el paquete con SYN+ACK y envía un
paquete con ACK para confirmar. Da la conexión
por establecida e informa a P1.
H2 recibe el ACK, da la conexión por
establecida.
50
TCP. Intercambio de datos
Host 1
SeqNum + Datos
emisor
Host 2
receptor
ACK + Acknowl. + AdvWindow
Los procesos leen y escriben datos en la conexión de forma "continua", en secuencias de bytes
de longitud arbitraria. El software TCP divide los datos en segmentos que intercambia con el
otro host.
El emisor incluye en cada segmento enviado el número de orden del primer byte de datos y un
conjunto de datos.
El receptor devuelve un paquete de confirmación (ACK) indicando el último byte recibido
correctamente (Acknowledgement) y el número máximo de bytes que está dispuesto a recibir en el
próximo paquete de datos (AdvWindow).
Ambas tareas suelen hacerse simultáneamente: se confirma un paquete recibido y se envía nuevos
datos.
Si pasado un tiempo no se recibe un ACK de un paquete, éste se reenvía.
51
Servicio de nombres de dominio (DNS)
raiz (root)
.com
...
.ibm.com
www.ibm.com
.org
...
.debian.org
.edu
...
listas.debian.org
teclix.dte.us.es
–
–
–
...
.dte.us.es
.es
.us.es
.eii.us.es
.cica.es
correo.us.es
paco.dte.us.es
Proporciona un mecanismo para identificar ordenadores conectados a
Internet mediante un nombre, en vez de mediante una dirección IP.
Los nombres se organizan gerárquicamente en dominios y subdominios.
La organización o entidad que posee un subdominio, es libre de asignar
nuevos nombre y subdominios dentro de su subdominio
52
Servicio de nombres de dominio (DNS)
Servidor de Nombres de Dominio (DNS): máquina conectada a Internet
que traduce nombres de dominio a sus direcciones IP
correspondientes, y viceversa.
–
–
Podemos acceder a servicios en Internet usando nombres de dominio si
conocemos la dirección IP de un servidor de nombres que haga la
traducción de nombres a direcciones IP.
Cuando el software TCP/IP está configurado con un servidor de nombres,
es equivalente emplear el nombre de una máquina o su dirección IP. El
software TCP/IP traducirá automáticamente el nombre a la dirección IP
correspondiente preguntando al/los servidores de nombres conocidos.
Ej:
–
http://www.dte.us.es/ <=> http://150.214.141.89/
A menudo, un servidor de nombres sólo tiene información "autorizada"
sobre su propio dominio, pero es capaz de "resolver" cualquier otro
nombre preguntando a otros servidores de nombres de la jerarquía.
53
Elementos de configuración TCP/IP
Conexión física
–
red cableada, red inalámbrica (wifi), modem, etc.
Configuración protocolos TCP/IP
–
–
–
–
–
dirección IP
máscara de subred
dirección de router por defecto (gateway, puerta de enlace, ...)
dirección IP de uno o más servidores de nombre (opcional)
nombre y dominio del ordenador (opcional)
Servicio DHCP
–
–
normalmente instalado en un router o servidor dedicado
proporciona configuración automática de TCP/IP a los ordenadores de la
red local
estática
dinámica
54
Descargar