0% encontró este documento útil (0 votos)
22 vistas68 páginas

TCP Ip

Cargado por

cvidal
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas68 páginas

TCP Ip

Cargado por

cvidal
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Conceptos de

Interconexión de Redes
Inter-redes
 Un poco de historia

 Mainframes y terminales
 PCs y redes locales
 Redes de área extendida (X.25, ISDN, FR…)
 Problema: Cada vez más, todas diferentes e
incompatibles
Inter-redes
 ¿Cómo interconectarlas?
Inter-redes
 Se necesita una red más abstracta, a nivel superior, que
esconda los detalles y diferencias de las diferentes redes
físicas

 DARPA ya estaba trabajando en esto desde mediados de los


70!
 ARPANET: Una de las primeras redes de conmutación de
paquetes
 ARPANET -> Universidades -> Industria
 Se incluye IP en BSD unix
 Primeros ISPs
 +230 Millones de máquinas conectadas (Enero 2004)
Diseño
 Muchos problemas que resolver:

 Tecnologías cerradas y dispares


 Pérdida de información
 Control de flujo y congestión
 Múltiples aplicaciones, un solo canal
 Diferentes requerimientos de servicio

 Ley básica de ingeniería: Divide y vencerás

 Dividir los problemas en grupos lógicos y jerárquicos


 Esconder la complejidad, desacoplar
 Facilitar la programación, prueba y mantenimiento
Conceptos previos
 Servicios y redes orientados a conexión
 Proveen garantías

Se pueden reservar recursos
 Necesitan interacción entre los nodos
 Implican un inicio y cierre de sesión

 No orientados a conexión
 Sin garantías pero pueden ser más eficientes

 Cuando éstos se aplican a redes físicas, se suele hablar de:


 Conmutación de circuitos (red telefónica)
 Conmutación de paquetes (Internet)
Tipos de envío
 Unicast

Uno a uno
 Broadcast

Uno a todos
 Multicast

Uno a varios
 Anycast

Uno a alguno
Modelo de capas
Aplicación
 Modelo de referencia
OSI Presentación
 Sólo un modelo, no una
arquitectura de red Sesión
 Cada capa provee un
servicio a la capa superior
Transporte
 Cada capa dialoga con su
homóloga en el dispositivo
remoto Red
 Un protocolo es la
implementación de la lógica
de una capa
Enlace
 Uno o más protocolos por
capa Física
Modelo de Capas

Aplicación Aplicación

Presentación Presentación

Sesión Sesión

Transporte Transporte

Red Red

Enlace Enlace

Física Física
Modelo de Capas
 Encapsulación y cabeceras

Aplicación Aplicación

Presentación Presentación

Sesión Sesión

Transporte Cabecera Datos Transporte

Red Cabecera Datos Red

Enlace Cabecera Datos Enlace

Física Datos Física

red
OSI vs. TCP/IP
Aplicación  ARPANET empezó
una década antes
Aplicación que OSI
HTTP, SMTP
Presentació Telnet, POP  No necesitaban
n presentación ni
sesión
Sesión

Transporte TCP/UDP  Estándar ‘de


Transporte
facto’
Red
Red IP

Enlace
Enlace

Ej: Ethernet
Física Física
Capa 1: Física
 Implementada en hardware

 Codificación de canal
 Representación de bits, voltajes, frecuencias,
sincronización

Códigos Manchester, AMI, B8ZS…

 Define conectores físicos, distancias, cableado


Capa 2: Enlace
 Encapsula los los paquetes en tramas para pasarlos al
medio físico
 Reconstruye las tramas originales a partir de secuencias
de bits y pasa los datos a la capa de red
 Provee
 Direccionamiento (en el segmento de red local)
 Detección de errores
 Control de flujo
Capa 3: Red
 Provee una red virtual global
 Esconde los detalles de las redes físicas
 Direccionamiento global:

Una dirección IP es suficiente para enviar hacia cualquier red en el mundo

Implica que hay que mapear las direcciones físicas con las IP

 Ofrece un servicio sin garantías (mejor esfuerzo)


 Si se pierden o duplican paquetes, no le importa
 Deja esa función a las capas superiores

 Determina si el destino es local o si lo debe enviar a un enrutador

 Provee funciones de control


 ICMP

 Reenvía paquetes de salto en salto, de una red a la otra


 El trayecto completo puede constar de muchos saltos
Capa 4: Transporte
 Servicio con garantías (TCP)
 Resuelve los problemas de:

Pérdida de paquetes

Duplicación

Desbordamiento (control de flujo)
 Sin garantías (UDP)
 Mucho más simple
 A veces no hace falta fiabilidad
 Provee multiplexión de aplicaciones
 Concepto de ‘puertos’
Capa 5: Aplicación
 La más cercana al usuario
 Define las funciones de clientes y servidores

 Utiliza los servicios de transporte

 Ej: HTTP (web), SMTP (mail), Telnet, FTP,


DNS…
Terminología
Aplicación  Nombres diferentes en
cada capa

Transporte Segmento (TCP)  No se sigue muy


estrictamente. Suele
Red Datagrama (IP) hablarse
indistintamente de
‘paquete’ en todas las
Enlace
capas.
Trama, Frame
(Ethernet)
Física
Tipos de enlaces
 Difusión (broadcast)
 Ej: Ethernet
 Punto a punto
 Ej. PPP, SLIP, HDLC
 NBMA (Non-broadcast Multi-
Access)
 Ej: Frame Relay, ATM
Un vistazo a Ethernet
 Una red de difusión (broadcast)
 Topologías

Bus (cable coaxial)

Estrella con repetidor

Estrella con conmutador
 ¿CSMA/CD?
 Razones para su éxito
 Simplicidad
 Costo
 De 10 Mbps a 10 Gbps
Un vistazo a Ethernet
Preámbul Destin Fuent Longitu Tip Datos FCS
o o e d o (46-1500) (4)
(8 bytes) (6) (6) (2) (2)

 Direcciónes MAC:
 Únicas y grabadas en el hardware de la tarjeta

Por eso también se llaman “direcciones físicas”
 6 bytes x 8 bits/byte = 48 bits
 Suelen escribirse en hexadecimal

[Link]
 Tipo: 0x800 especifica que la parte de datos contiene un
datagrama IP
El datagrama IP

 Versión actual : 4
 El protocolo se refiere al que está siendo encapsulado (tcp, udp…)
 TTL se decrementa con cada salto
 Hay fragmentación al pasar de un MTU mayor a uno menor
La dirección IP
 Un número de 32 bits (4 bytes)

 Decimal:

128 223 254 10


 Binaria:
10000000 11011111 11111110 00001010

 Hexadecimal:
80 DF FE 0A
La dirección IP
 Estructura
 Un sólo número, dos informaciones:

Dirección de la red (prefijo)

Dirección del nodo dentro de esa red

128 223 254 10


red nodo

 ¿Dónde está la división?


 Al principio era implícito (clases)
 Luego más flexible (máscaras)
Esquema de clases
(Classful)
Clas Format Primeros Rango Bits por
e o bits nodo
A R.N.N.N 0 [Link] - [Link] 24
B R.R.N.N 10 [Link] - [Link] 16
C R.R.R.N 110 [Link] - [Link] 8
D n/a 1110 [Link] - n/a
[Link]
E n/a 1111 [Link] - n/a
[Link]
 Los límites red-nodo en la dirección son arbitrarios

 ¿Qué problema podemos prever?


Revisión de base binaria

En base 10 decimos:

 1234 = 1x10^3 + 2x10^2 + 3x10^1 + 4x10^0 =


1000+200+30+4


De la misma forma, en base 2:

 1010 = 1x2^3 + 0x2^2 + 1x2^1 + 0x10^0 = 8+0+2+0 = 10


decimal


Suma lógica (AND):
 1 + 1 = 1
 1 + 0 = 0
 0 + 1 = 0
 0 + 0 = 0
Potencias de 2 en un byte
 Conviene memorizar:

 2^7 = 128 1000 0000


 2^6 = 64 0100 0000
 2^5 = 32 0010 0000
 2^4 = 16 0001 0000
 2^3 = 8 0000 1000
 2^2 = 4 0000 0100
 2^1 = 2 0000 0010
 2^0 = 1 0000 0001
Máscaras
 Solución: Otro número que especifique los
límites

1000000 1101111 1111111 0000101 [Link]


0 1 0 0
AND

1111111 1111111 1111111 0000000 [Link]


1 1 1 0
=

10000000 11011111 11111110 00000000 [Link]

Con esto se podían subdividir las redes A, B y C en subredes más


pequeñas
Notación de prefijo
 La máscara también se puede especificar
como la cantidad de bits a 1:
 [Link] tiene 24 bits a 1

 Se agrega a la dirección IP con “/”


 [Link]/24

 Hoy día se utilizan indistintamente las dos


notaciones
Direcciones especiales
 Todos los bits de nodo a 0: Representa la red
 [Link]/24

 Todos los bits a 1: Broadcast local o limitado


 [Link]
 Todos los bits de nodo a 1: Broadcast dirigido
 [Link]

 Direcciones Loopback:
 [Link]/8

Casi siempre se usa [Link]
Problemas con el esquema
de clases
 No muy flexible
 Se perdían dos subredes en cada división
 En los 90’s cambió el esquema (Classless):
 ¡Las viejas clases A, B, C no tienen significado
ninguno en el Internet de hoy!

CIDR (Classless Interdomain Routing):
 Los routers ya no consideran A,B,C como /8, /16, /24

VLSM (Variable Length Subnet Masks)
 Los routers no asumen que todas las subredes son del
mismo tamaño
Subdividiendo una red
 Nos debemos preguntar:
 Cuántas subredes queremos
 Cuántos nodos tendrá cada subred
 Calculando en la cabeza
 Cada bit en uno de máscara es el doble de subredes y
la mitad de nodos (o viceversa)
 Cada subred se puede sub-dividir a su vez
 Ejercicio:
 Nos asignan [Link]/24
 Tenemos:

1 edificio con 121 nodos

1 edificio con 50 nodos

2 edificios con 25 nodos
Algunos Trucos
Datagrama IP
 Algunos campos interesantes
 Type of Service (TOS)

retardo, fiabilidad, velocidad (voz vs.
datos)
 Identification, Flags, Fragment Offset
 TTL
Routers
 Dispositivos con interfaces en
varias redes físicas
 Una dirección IP (y subred) por
cada interfaz
 Deciden el trayecto de los
paquetes basados en tablas de
encaminamiento
Envío
 En IP, distinguimos entre:
 Envío directo:

La máquina envía a otra que está en su
propia red física (Ej: mismo segmento
Ethernet)
 Envío indirecto:

El destino del paquete IP está fuera de la
red física
 Requiere la presencia de un router
Envío y Re-envío
 Algoritmo de routing
 Extraer la dirección IP de destino (D)

Si D encaja en alguna de las redes (Ri)
físicamente conectadas

Enviar directamente a D por la interfaz
conectada a esa red
 (Implica traducir la dirección IP a la física)
 Sino, si la tabla contiene una ruta
específica a D

Enviar el paquete al próximo salto
especificado en la tabla
Envío y Re-envío
 Algoritmo de Routing (Cont.)
 Sino, si la tabla contiene una ruta a la
red R que contiene a D

Enviar el paquete al próximo salto
especificado en la tabla
 Sino, si la tabla contiene una ruta por
defecto

Enviar el paquete al router por defecto
 Sino, notificar un error de routing
Routers
 Mecanismo de un router:
 Recibe un paquete en una interfaz
 Determina si el paquete está dirigido a
él
 Decrementa el TTL
 Compara la dirección destino con la
tabla de encaminamiento
 Envía el paquete al router del próximo
salto (o a la máquina destino)
Encaminamiento
 Cada decisión es un salto en la
dirección de destino
 El router no puede enviar a otro router
que no esté en una de sus propias
redes físicas
 Cada router tiene sus propias tablas
 Protocolos de routing: mantener
estas tablas al día
Tablas de Encaminamiento
 Se compara la dirección IP destino del paquete
con las entradas en la tabla
 Determinar el próximo salto
 Se asume que está físicamente conectado
 ¿Qué es la regla del longest match?

IP Máscara Gateway
[Link] [Link] [Link]
[Link] [Link] [Link]
[Link] [Link] [Link]
Tablas de Encaminamiento
# netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
[Link] [Link] [Link] U 0 0 0 eth0
[Link] [Link] [Link] U 0 0 0 lo
[Link] [Link] [Link] UG 0 0 0 eth0
Routers y Encapsulación
1. Recibe una trama de capa 2
2. Saca el paquete IP de ella
3. Revisa el contenido del paquete IP
4. Determina la interfaz siguiente
5. Encapsula el paquete dentro de una
trama del tipo correspondiente
 Las redes de entrada y salida pueden ser
completamente diferentes:

Ejemplos:
 De Ethernet a PPP
 De Frame Relay a Ethernet
Fragmentación
 Diferentes MTU en cada salto
Traducción de direcciones
 Problema: Diferentes direcciones en
capas de enlace y de red
 Caso Ethernet:

Tengo este paquete IP para reenviar. ¿Qué
dirección Ethernet tengo que poner en mi
nueva trama?
 Tres tipos de soluciones:

Derivar una de otra con cierta operación
matemática

Incluir una dentro de la otra

Mantener una tabla dinámica
ARP
 Mantiene tablas dinámicas
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\>arp -a

Interface: [Link] --- 0x2


Internet Address Physical Address Type
[Link] 00-04-75-71-e5-64 dynamic
[Link] 00-04-23-62-14-4f dynamic

 Las entradas tienen un tiempo de vida limitado (¿Por


qué?)
 Mecanismo:

A quiere enviar a B

Primero busca la IP de B en su tabla

Si no la tiene, pregunta

A: ¿Quién tiene [Link]?

Envía una trama a toda la red:

Utiliza [Link] (todos los bits a 1)

Todos reciben la trama. Sólo el B responde
ARP
 Algunas mejoras de eficiencia:
 A quiere saber la MAC de B
 B recibe la trama. Toma las direcciones MAC
e IP de A y las incluye en su tabla
 Luego B responde a A
 Como la petición es broadcast, en principio
todos los demás pueden incluir a A en su
tabla.
 Pregunta: El paquete ARP viaja dentro de
una trama Ethernet o un paquete IP?
Dominios de Tráfico
 Dominio de colisión
 Dominio de broadcast
 Diferencias
 Switches vs. Hubs
 Routers vs. switches
Dominios de tráfico
Router

Switch Switch

Hub Hub Hub Hub

Dominio de Dominio de
broadcast colisión
Ventajas de las subredes
 Escalabilidad, eficiencia

Reducir los dominios de broadcast

Menos uso de CPU

Más espacio para tráfico legítimo -> más
velocidad
 Facilitar la gestión

Ingeniería de tráfico

Implementación de políticas

Seguridad

Filtros de paquetes
UDP
 User Datagram Protocol
 Multiplexión de aplicaciones

Una dirección IP identifica una máquina

Los sistemas operativos son multitarea

Un puerto para cada servicio
 Servicio no orientado a conexión
 No ofrece ninguna garantía

Sin acuses de recibo

Sin re-transmisión

Sin control de flujo
UDP
 Formato de UDP

Puerto Origen Puerto Destino

Longitud Checksum

Datos


TCP
 Transmission Control Protocol
 Orientado a conexión

Hay un acuerdo previo entre origen y destino

Hay un diálogo que va ajustando parámetros
constantemente
 Servicios:

Fiabilidad
 Paquetes perdidos, duplicados, desordenados

Control de flujo

Multiplexión de aplicaciones
TCP: Conceptos
 PAR: Positive Acknowledgment with
Retransmission
 Envío un segmento e inicio un timer
 Espero una confirmación antes de enviar el
siguiente
 Envío el mismo segmento de nuevo si el
tiempo expira sin recibir confirmación
 ¿Segmentos duplicados? ¿Cómo?
 Un retraso en la red produce una
retransmisión y el mismo segmento llega
dos veces
TCP: Ventana deslizante
 Esperar confirmación por cada paquete no es
muy eficiente
 Tamaño de ventana = 1

 Provee control de la congestión y control de


flujo (¿cuál es la diferencia?)
 El tamaño de la ventana se ajusta dinámicamente

1 2 3 4 5 6 7 8 9 10 11 …
Formato de TCP
TCP: Inicio de Sesión
 Three-way handshake (saludo en
tres pasos)
¿TCP o UDP?
 Cuándo tiene sentido uno u otro
 FTP
 DNS
 SNMP
 Voz sobre IP (H.323, SIP)
 Multicast
ICMP
 Internet Control Message Protocol
 Viaja sobre IP, pero no pertenece a la
capa de transporte
 Funciones:

Notificar errores

Control de Flujo

Redirección
ICMP
 Algunos tipos y códigos más usados

Tipo Código Descripción

0 0 Echo Reply
3 0 Destination Network unreachable
3 1 Destination Host Unreachable
3 2 Destination Protocol Unreachable
3 3 Destination Port Unreachable
8 0 Echo Request
11 0 TTL expired
ICMP: Aplicaciones
 Ping

# ping [Link]
PING [Link] ([Link]) from [Link] : 56(84) bytes of
data.
64 bytes from [Link] ([Link]): icmp_seq=1 ttl=254 time=0.229
ms
64 bytes from [Link] ([Link]): icmp_seq=2 ttl=254 time=0.254
ms
64 bytes from [Link] ([Link]): icmp_seq=3 ttl=254 time=0.226
ms
64 bytes from [Link] ([Link]): icmp_seq=4 ttl=254 time=0.232
ms
64 bytes from [Link] ([Link]): icmp_seq=5 ttl=254 time=0.222
ms
ICMP: Aplicaciones
 Traceroute
# traceroute [Link]
traceroute: Warning: [Link] has multiple addresses; using [Link]
traceroute to [Link] ([Link]), 30 hops max, 38 byte packets
1 [Link] ([Link]) 0.310 ms 0.236 ms 0.193 ms
2 [Link] ([Link]) 0.324 ms 0.331 ms 0.294 ms
3 [Link] ([Link]) 0.363 ms 0.296 ms 0.416 ms
4 [Link] ([Link]) 0.672 ms 1.029 ms 0.601 ms
5 [Link] ([Link]) 2.911 ms 2.994 ms 2.930 ms
6 [Link] ([Link]) 3.255 ms 2.874 ms 2.923 ms
7 [Link] ([Link]) 6.521 ms 6.153 ms 6.322 ms
8 [Link] ([Link]) 6.619 ms 6.565 ms 6.335 ms
9 [Link] ([Link]) 86.194 ms 86.239 ms 86.580 ms
10 [Link] ([Link]) 147.899 ms 147.968 ms
149.461 ms
11 [Link] ([Link]) 155.019 ms 155.738 ms
155.406 ms
12 [Link] ([Link]) 157.499 ms 155.627 ms
155.857 ms
13 [Link] ([Link]) 156.319 ms 156.168 ms 156.142 ms
Traceroute:
Funcionamiento
# traceroute [Link]
traceroute to [Link] ([Link]), 30 hops max, 38 byte packets
1 [Link] ([Link]) 0.282 ms 0.206 ms 0.186 ms
2 darkwing ([Link]) 0.266 ms 0.197 ms 0.209 ms

(simultáneamente)

# tcpdump -lnv host [Link] or icmp


tcpdump: listening on eth0
[Link].33962 > [Link].33435: udp 10 [ttl 1] (id 12001, len 38)
[Link] > [Link]: icmp: time exceeded in-transit [tos 0xc0] (ttl 255, id 64235, len
56)
[Link].33962 > [Link].33436: udp 10 [ttl 1] (id 12002, len 38)
[Link] > [Link]: icmp: time exceeded in-transit [tos 0xc0] (ttl 255, id 64236, len
56)
[Link].33962 > [Link].33437: udp 10 [ttl 1] (id 12003, len 38)
[Link] > [Link]: icmp: time exceeded in-transit [tos 0xc0] (ttl 255, id 64237, len
56)
[Link].33962 > [Link].33438: udp 10 (ttl 2, id 12004, len 38)
[Link] > [Link]: icmp: [Link] udp port 33438 unreachable (DF) (ttl 254, id
14809, len 66)
[Link].33962 > [Link].33439: udp 10 (ttl 2, id 12005, len 38)
[Link] > [Link]: icmp: [Link] udp port 33439 unreachable (DF) (ttl 254, id
14810, len 66)
[Link].33962 > [Link].33440: udp 10 (ttl 2, id 12006, len 38)
[Link] > [Link]: icmp: [Link] udp port 33440 unreachable (DF) (ttl 254, id
14811, len 66)
Telnet a puertos conocidos
# telnet [Link] 80
Trying [Link]...
Connected to [Link].
Escape character is '^]'.
GET /
<html>
<head>
<title>University of Oregon Home Page</title><link rel="SHORTCUT ICON"
href="/[Link]">

# telnet [Link] 25
Trying [Link]...
Connected to [Link].
Escape character is '^]'.
220 [Link] ESMTP Sendmail 8.12.11/8.12.11; Mon, 23 Feb 2004 [Link]
-0800 (PST)
vrfy cvicente
250 2.1.5 Carlos Vicente <cvicente@[Link]>
quit
221 2.0.0 [Link] closing connection
Connection closed by foreign host.
Ejercicios en clase
 ¿A qué subred pertenece [Link]/22? Cuál es la
dirección de broadcast correspondiente?
Ejercicios en Clase
 Solución:

/22 significa que en el tercer octeto tenemos 6 bits de
subred

26 = 64

Si tenemos 256 posibles números para subredes, y
sólo 64 válidas
 256/64 = 4
 Las subredes irán de 4 en 4, no?
 [Link] ([Link] – [Link])
 [Link] ([Link] – [Link])
 [Link] ([Link] – [Link])

Nuestra dirección cae dentro de [Link]

La dirección broadcast es la última en ese rango
 [Link]
Ejercicios en Clase
 ¿Qué pasaría si configuramos un nodo con una máscara
incorrecta? Por ejemplo, [Link] cuando el
router y los demás en la subred tienen [Link]?
Ejercicios en Clase
 Solución:
 No podrá enviar al rango IP contiguo
 Por ejemplo:

La red es [Link]/24

El nodo está configurado con [Link]/23

El nodo piensa que su rango local es:
 [Link] – [Link]

Cuando envíe a nodos entre
 [Link] – [Link]
 Enviará peticiones ARP que nunca serán
respondidas
Más información
 TCP/IP Illustrated. Richard Stevens. Addison-
Wesley
 Internetworking with TCP/IP. Douglas Comer.
Prentice-Hall
 Cisco Internetworking Basics
[Link]
 TCP/IP Network Administration. Craig Hunt
O’reilly & Associates.
 Requests for Comments (RFCs)
[Link]

También podría gustarte