Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduccin a TCP/IP
Carlos Vicente
cvicente@ns.uoregon.edu
Inter-redes
Un poco de historia
Mainframes y terminales PCs y redes locales Redes de rea extendida (X.25, ISDN, FR) Problema: Cada vez ms, todas diferentes e incompatibles
Inter-redes
Cmo interconectarlas?
Inter-redes
Se necesita una red ms abstracta, a nivel superior, que esconda los detalles y diferencias de las diferentes redes fsicas DARPA ya estaba trabajando en esto desde mediados de los 70! ARPANET: Una de las primeras redes de conmutacin de paquetes ARPANET -> Universidades -> Industria
Qu pas?
Diseo
Tecnologas cerradas y dispares Prdida de informacin Control de flujo y congestin Mltiples aplicaciones, un solo canal Diferentes requerimientos de servicio
Dividir los problemas en grupos lgicos y jerrquicos Esconder la complejidad, desacoplar Facilitar la programacin, prueba y mantenimiento
Conceptos previos
Proveen garantas
No orientados a conexin
Tipos de envo
Unicast
Broadcast
Multicast
Anycast
Modelo de capas
Slo un modelo, no una arquitectura de red Cada capa provee un servicio a la capa superior Cada capa dialoga con su homloga en el dispositivo remoto Un protocolo es la implementacin de la lgica de una capa Uno o ms protocolos por capa
Enlace
Fsica
Modelo de Capas
Aplicacin Presentacin Sesin Transporte Red Enlace Fsica Aplicacin Presentacin Sesin Transporte Red Enlace Fsica
Modelo de Capas
Encapsulacin y cabeceras
Aplicacin Presentacin Sesin Transporte Red Cabecera Cabecera Datos Datos Cabecera Datos Datos Aplicacin Presentacin Sesin Transporte Red
Enlace
Fsica
Enlace
Fsica
red
ARPANET empez una dcada antes que OSI No necesitaban presentacin ni sesin Estndar de facto
TCP/UDP IP
Ej: Ethernet
Capa 1: Fsica
Capa 2: Enlace
Encapsula los los paquetes en tramas para pasarlos al medio fsico Reconstruye las tramas originales a partir de secuencias de bits y pasa los datos a la capa de red Provee
Capa 3: Red
Una direccin IP es suficiente para enviar hacia cualquier red en el mundo Implica que hay que mapear las direcciones fsicas con las IP
Si se pierden o duplican paquetes, no le importa Deja esa funcin a las capas superiores
ICMP
Capa 4: Transporte
Capa 5: Aplicacin
La ms cercana al usuario
Utiliza los servicios de transporte Ej: HTTP (web), SMTP (mail), Telnet, FTP, DNS
Terminologa
Aplicacin
Nombres diferentes en cada capa No se sigue muy estrictamente. Suele hablarse indistintamente de paquete en todas las capas.
Transporte
Red
Enlace
Fsica
Tipos de enlaces
Difusin (broadcast)
Ej: Ethernet
Punto a punto
Un vistazo a Ethernet
Topologas
Simplicidad Costo
De 10 Mbps a 10 Gbps
Un vistazo a Ethernet
Prembulo (8 bytes) Destino (6) Fuente (6) Longitud (2) Tipo (2) Datos (46-1500) FCS (4)
Direccines MAC:
FE:D2:89:C4:4F:2E
El datagrama IP
Versin actual : 4 El protocolo se refiere al que est siendo encapsulado (tcp, udp) TTL se decrementa con cada salto Hay fragmentacin al pasar de un MTU mayor a uno menor
La direccin IP
Decimal:
128 223 254 10
Binaria:
10000000 11011111 11111110 00001010
Hexadecimal:
80 DF FE 0A
La direccin IP
Estructura
128 red
223
254
10 nodo
n/a
1111
240.0.0.0 - 254.255.255.255
n/a
1 1 0 0
+ + + +
1 0 1 0
= = = =
1 0 0 0
Potencias de 2 en un byte
Conviene memorizar:
= = = = = = = =
128 64 32 16 8 4 2 1
Mscaras
AND
11011111
11111110
00001010
11111111
11111111
11111111
00000000
255.255.255.0
=
10000000 11011111 11111110 00000000
128.223.254.0
Notacin de prefijo
128.223.254.10/24
Direcciones especiales
128.223.254.0/24
255.255.255.255 128.223.254.255
Direcciones Loopback:
127.0.0.0/8
Ms direcciones Especiales
Cul es la necesidad?
No muy flexible Se perdan dos subredes en cada divisin En los 90s cambi el esquema (Classless):
Las viejas clases A, B, C no tienen significado ninguno en el Internet de hoy!
Los routers ya no consideran A,B,C como /8, /16, /24 Los routers no asumen que todas las subredes son del mismo tamao
Calculando en la cabeza
Ejercicio:
1 edificio con 121 nodos 1 edificio con 50 nodos 2 edificios con 25 nodos
Algunos Trucos
255.255.255.192
A qu prefijo corresponde?
Datagrama IP
Routers
Dispositivos con interfaces en varias redes fsicas Una direccin IP (y subred) por cada interfaz Deciden el trayecto de los paquetes basados en tablas de encaminamiento
Envo
Envo directo:
La mquina enva a otra que est en su propia red fsica (Ej: mismo segmento Ethernet) El destino del paquete IP est fuera de la red fsica
Envo indirecto:
Envo y Re-envo
Algoritmo de routing
Extraer la direccin IP de destino (D) Si D encaja en alguna de las redes (Ri) fsicamente conectadas
Envo y Re-envo
Routers
Mecanismo de un router:
Recibe un paquete en una interfaz Determina si el paquete est dirigido a l Decrementa el TTL Compara la direccin destino con la tabla de encaminamiento Enva el paquete al router del prximo salto (o a la mquina destino)
Encaminamiento
El router no puede enviar a otro router que no est en una de sus propias redes fsicas
Cada router tiene sus propias tablas Protocolos de routing: mantener estas tablas al da
Tablas de Encaminamiento
Se compara la direccin IP destino del paquete con las entradas en la tabla Determinar el prximo salto
0.0.0.0
0.0.0.0
192.168.0.1
Tablas de Encaminamiento
# netstat -nr Kernel IP routing table Destination Gateway 128.223.60.0 0.0.0.0 127.0.0.0 0.0.0.0 0.0.0.0 128.223.60.1
Flags U U UG
MSS 0 0 0
Window 0 0 0
irtt 0 0 0
Routers y Encapsulacin
1. 2. 3. 4.
5.
Recibe una trama de capa 2 Saca el paquete IP de ella Revisa el contenido del paquete IP Determina la interfaz siguiente Encapsula el paquete dentro de una trama del tipo correspondiente
Ejemplos:
Fragmentacin
Traduccin de direcciones
Caso Ethernet:
Tengo este paquete IP para reenviar. Qu direccin Ethernet tengo que poner en mi nueva trama? Derivar una de otra con cierta operacin matemtica Incluir una dentro de la otra Mantener una tabla dinmica
ARP
Utiliza FF:FF:FF:FF:FF:FF (todos los bits a 1) Todos reciben la trama. Slo el B responde
ARP
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 peticin es broadcast, en principio todos los dems pueden incluir a A en su tabla.
Pregunta: El paquete ARP viaja dentro de una trama Ethernet o un paquete IP?
Dominios de Trfico
Dominios de trfico
Router
Switch Hub
Dominio de broadcast
Dominio de colisin
Escalabilidad, eficiencia
Menos uso de CPU Ms espacio para trfico legtimo -> ms velocidad Ingeniera de trfico
Facilitar la gestin
Implementacin de polticas
Filtros de paquetes
Seguridad
UDP
Multiplexin de aplicaciones
Una direccin IP identifica una mquina Los sistemas operativos son multitarea Un puerto para cada servicio
UDP
Formato de UDP
Puerto Origen Longitud Datos Puerto Destino Checksum
TCP
Orientado a conexin
Hay un acuerdo previo entre origen y destino Hay un dilogo que va ajustando parmetros constantemente Fiabilidad
Servicios:
TCP: Conceptos
Envo un segmento e inicio un timer Espero una confirmacin antes de enviar el siguiente Envo el mismo segmento de nuevo si el tiempo expira sin recibir confirmacin
Un retraso en la red produce una retransmisin y el mismo segmento llega dos veces
Tamao de ventana = 1
1 2 3 4 5 6 7 8 9 10 11
Formato de TCP
TCP o UDP?
ICMP
ICMP
11
TTL expired
ICMP: Aplicaciones
Ping
56(84) bytes of ttl=254 time=0.229 ttl=254 time=0.254 ttl=254 time=0.226 ttl=254 time=0.232 ttl=254 time=0.222
# ping www.uoregon.edu PING darkwing.uoregon.edu (128.223.142.13) from 128.223.60.27 : data. 64 bytes from darkwing.uoregon.edu (128.223.142.13): icmp_seq=1 ms 64 bytes from darkwing.uoregon.edu (128.223.142.13): icmp_seq=2 ms 64 bytes from darkwing.uoregon.edu (128.223.142.13): icmp_seq=3 ms 64 bytes from darkwing.uoregon.edu (128.223.142.13): icmp_seq=4 ms 64 bytes from darkwing.uoregon.edu (128.223.142.13): icmp_seq=5 ms
ICMP: Aplicaciones
Traceroute
# traceroute www.google.com traceroute: Warning: www.google.com has multiple addresses; using 66.102.9.99 traceroute to www.google.akadns.net (66.102.9.99), 30 hops max, 38 byte packets 1 ge-4-6.uonet2-gw.uoregon.edu (128.223.60.3) 0.310 ms 0.236 ms 0.193 ms 2 0.ge-0-0-0.uonet8-gw.uoregon.edu (128.223.2.8) 0.324 ms 0.331 ms 0.294 ms 3 eugn-car1-gw.nero.net (207.98.66.11) 0.363 ms 0.296 ms 0.416 ms 4 eugn-core2-gw.nero.net (207.98.64.169) 0.672 ms 1.029 ms 0.601 ms 5 ptck-core2-gw.nero.net (207.98.64.2) 2.911 ms 2.994 ms 2.930 ms 6 ptck-core1-gw.nero.net (207.98.64.137) 3.255 ms 2.874 ms 2.923 ms 7 so-6-1.hsa2.Seattle1.Level3.net (63.211.200.245) 6.521 ms 6.153 ms 6.322 ms 8 ge-6-1-1.mp2.Seattle1.Level3.net (209.247.9.85) 6.619 ms 6.565 ms 6.335 ms 9 so-0-0-0.bbr2.NewYork1.Level3.net (64.159.0.238) 86.194 ms 86.239 ms 86.580 ms 10 so-2-0-0.mp2.London1.Level3.net (212.187.128.154) 147.899 ms 147.968 ms 149.461 ms 11 so-3-0-0.mp2.Amsterdam1.Level3.net (212.187.128.13) 155.019 ms 155.738 ms 155.406 ms 12 ge-11-2.ipcolo2.Amsterdam1.Level3.net (213.244.165.116) 157.499 ms 155.627 ms 155.857 ms 13 212.72.44.66 (212.72.44.66) 156.319 ms 156.168 ms 156.142 ms
Traceroute: Funcionamiento
# traceroute 128.223.142.13 traceroute to 128.223.142.13 (128.223.142.13), 30 hops max, 38 byte packets 1 ge-4-6.uonet2-gw.uoregon.edu (128.223.60.3) 0.282 ms 0.206 ms 0.186 ms 2 darkwing (128.223.142.13) 0.266 ms 0.197 ms 0.209 ms (simultneamente) # tcpdump -lnv host 128.223.142.13 or icmp tcpdump: listening on eth0 128.223.60.27.33962 > 128.223.142.13.33435: udp 10 [ttl 1] (id 12001, len 38) 128.223.60.3 > 128.223.60.27: icmp: time exceeded in-transit [tos 0xc0] (ttl 255, id 64235, len 56) 128.223.60.27.33962 > 128.223.142.13.33436: udp 10 [ttl 1] (id 12002, len 38) 128.223.60.3 > 128.223.60.27: icmp: time exceeded in-transit [tos 0xc0] (ttl 255, id 64236, len 56) 128.223.60.27.33962 > 128.223.142.13.33437: udp 10 [ttl 1] (id 12003, len 38) 128.223.60.3 > 128.223.60.27: icmp: time exceeded in-transit [tos 0xc0] (ttl 255, id 64237, len 56) 128.223.60.27.33962 > 128.223.142.13.33438: udp 10 (ttl 2, id 12004, len 38) 128.223.142.13 > 128.223.60.27: icmp: 128.223.142.13 udp port 33438 unreachable (DF) (ttl 254, id 14809, len 66) 128.223.60.27.33962 > 128.223.142.13.33439: udp 10 (ttl 2, id 12005, len 38) 128.223.142.13 > 128.223.60.27: icmp: 128.223.142.13 udp port 33439 unreachable (DF) (ttl 254, id 14810, len 66) 128.223.60.27.33962 > 128.223.142.13.33440: udp 10 (ttl 2, id 12006, len 38) 128.223.142.13 > 128.223.60.27: icmp: 128.223.142.13 udp port 33440 unreachable (DF) (ttl 254, id 14811, len 66)
Ejercicios en clase
Ejercicios en Clase
Solucin:
/22 significa que en el tercer octeto tenemos 6 bits de subred 26 = 64 Si tenemos 256 posibles nmeros para subredes, y slo 64 vlidas
256/64 = 4 Las subredes irn de 4 en 4, no? 172.17.0.0 (172.17.0.1 172.17.3.255) 172.17.4.0 (172.17.4.1 172.17.7.255) 172.17.8.0 (172.17.8.1 172.17.11.255)
Nuestra direccin cae dentro de 172.17.0.20 La direccin broadcast es la ltima en ese rango
172.17.23.255
Ejercicios en Clase
Qu pasara si configuramos un nodo con una mscara incorrecta? Por ejemplo, 255.255.254.0 cuando el router y los dems en la subred tienen 255.255.255.0?
Ejercicios en Clase
Solucin:
La red es 192.168.0.0/24 El nodo est configurado con 192.168.0.10/23 El nodo piensa que su rango local es:
192.168.0.1 192.168.1.254
Ms informacin
TCP/IP Illustrated. Richard Stevens. Addison-Wesley Internetworking with TCP/IP. Douglas Comer.
Prentice-Hall