Академический Документы
Профессиональный Документы
Культура Документы
TCP/IP
Carlos Vicente
cvicente@ns.uoregon.edu 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? 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 -> Industriaa -> Universi dades -> Industri
Se incluye IP en BSD unix Se incluye IP en BSD unix Primeros ISPs Primeros ISPs
Qu pas?
Diseo
Muchos problemas que resolver:
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 Facilitar la programacin, prueba y mantenimiento mantenimiento
Conceptos previos
Necesitan interaccin entre los nodos Necesitan interaccin entre los nodos Implican un inicio yycierre de sesin Implican un inicio cierre de sesin
No orientados a conexin
Sin garantas pero pueden ser ms eficientes Sin garantas pero pueden ser ms eficientes
Tipos de envo
Unicast
Uno a uno
Anycast
red
Aplicacin Presentacin
Aplicacin
ARPANET empez una dcada antes que OSI No necesitaban presentacin ni sesin Estndar de facto
Telnet, POP
Sesin Transporte Red Enlace Fsica Transporte Red Enlace Fsica
TCP/UDP IP
Ej: Ethernet
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 n el mundo e Implica que hay que mapear las direcciones fsicas con las IP
Determina si el destino es local o si lo debe enviar a un enrutador enruta dor Provee funciones de control
ICMP
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
Segmento (TCP)
Red
Datagrama (IP)
Enlace
Tipos de enlaces
Un vistazo a Ethernet
Un vistazo a Ethernet
Prembulo (8 bytes) Destino (6) Fuente (6) Longitud (2) Tipo (2) Dato s (46-1500) FCS (4)
Direccines MAC:
nicas y grabadas en el hardware de la tarjeta nicas y grabadas en el hardware de la tarjeta
6 bytes x 8 bits/byte = 48 bits 6 bytes x 8 bits/byte = 48 bits Suelen escribirse en hexadecimal Suelen escribirse en hexadecimal
FE:D2:89:C4:4F:2E
10
El datagrama IP
Versin actual : 4 El protocolo se refiere al que est siendo encapsulado (tcp, udp) udp ) TTL se decrementa con cada salto Hay fragmentacin al pasar de un MTU mayor a uno menor
Decimal:
223 254 10
Binaria:
10 0 0 0 0 0 0 11 11111 0 11111110 00 0 0 0 0 1 1
Hexadecimal:
80 DF FE 0A
11
Estructura
La direccin IP
223 red 254 nodo 10
128
Rang o 1 0.0.0 - 126.0.0.0 . 128.1 0.0 - 191 254 0.0 . . . 192.0.1 0 - 223.255.254 0 . . 224 0.0.0 - 239.255.255.255 . 240.0.0.0 - 254 255.255.255 .
Los lmites red-nodo en la direccin son arbitrarios redQu problema podemos prever?
12
13
128.223.254.1 0
AND
11111111 1111111 1 1111111 1 1111111 1 00000000
255.255.255.0
=
10000000 11011111 11111110 00000000
128.223.254.0
14
Direcciones Loopback:
127.0.0.0/8 127.0.0.0/8
Ms direcciones Especiales
Cul es la necesidad?
15
No muy flexible Se perdan dos subredes en cada divisin En los 90s cambi el esquema (Classless):
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
Cada bit ms de mscara es el doble de subredes y la Cada bit ms de mscara es el doble de subredes y la mitad de nodos (o viceversa) Cada subred se puede sub -dividir a su Cada subred se puede subvez Ejercicio: Nos asignan 192.168.1.0/24 Nos asignan 192.168.1.0/24 Tenemos: Tenemos:
1 edificio con 121 nodos 1 edificio con 50 nodos 2 edificios con 25 nodos
16
Algunos Trucos
Datagrama IP
(TOS) (TOS) retardo, fiabilidad, velocidad (voz vs. datos) Identification, Flags, Fragment Identification, Flags, Fragment Offset Offset TTL TTL
17
Routers
Dispositivos con interfaces en redes varias fsicas Una direccin IP (y subred) por cada interfaz Deciden el trayecto de los basados paquetesen tablas encaminamiento de encaminamiento
Envo
La mquina enva a otra que est en su propia red fsica (Ej: mismo segmento Ethernet)
18
(D) D encaja en alguna de las redes (D) encaja en alguna de las redes Si D Si fsicamente (R (R Enviar directamente a D por la interfaz conectadas
conectada a esa red
i)
Sino, si la tabla contiene una Sino, si la tabla contiene una especfica a ruta ruta D Enviar el paquete al prximo salto
Algoritmo de Routing (Cont.)si la tabla contiene una ruta a Sino, si la tabla contiene una ruta a Sino,
red lala R que contiene a D Enviar el paquete al prximo salto
especificado en la tabla
Sino, si la tabla contiene una ruta por Sino, si la tabla contiene una ruta por defecto
19
Routers
Mecanismo de un router:
Recibe un paquete en una Recibe un paquete en una interfaz interfaz Determina si el paquete est dirigido Determina si el paquete est dirigido l a al Decrementa el TTL Decrementa el TTL Compara la direccin destino con Compara la direccin destino con tabla de lala encaminamiento al router del prximo Enva el paquete al router del prximo Enva el paquete salto (o a la mquina(o a la mquina salto destino) destino)
Encaminamiento
Cada router tiene sus propias tablas Protocolos de routing: estas tablas mantener al da
20
Tablas de Encaminamiento
Se compara la direccin IP destino del IP destino del paquete con las entradas en la tabla Determinar el prximo salto prximo salto
Se asume que est fsicamente conectado Se asume que est fsicamente conectado
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 Genmask 255.255.254.0 255.0.0.0 0.0.0.0 Flags U U UG MSS 0 0 0 Wind ow 0 0 0 irtt 0 0 0 Iface eth0 lo eth0
21
1. 2. 3. 4. 5.
2 Saca el paquete IP de ella Revisa el contenido del paquete IP Determina la interfaz siguiente el paquete dentro de Encapsula trama del tipo correspondiente una
Ejemplos:
Fragmentacin
22
matemtica Incluir una dentro de la otra Mantener una tabla dinmica tabla dinmica Mantener una
Interface: 128.223.219.14 --- 0x2 --Internet Physical Type 0x2 128.223.216.1 00-04-75-7164 Address Address 00 -04-75-71-e5-64 128.223.216.24 e500 -04-23-62-14-4f dynamic dynami 04-23-62-14c dynamic
192.168.0.1? Enva una trama a toda la red: Enva una trama a toda la red:
A: Quin tiene
Utiliza FF:FF:FF:FF:FF:FF (todos los bits a 1) Todos reciben la trama. Slo el B responde
23
AR P
Pregunta: El paquete ARP viaja dentro una de trama Ethernet o un paquete IP? IP?
Dominios de Trfico
24
Dominios de trfico
Router
Switch Hub
Dominio de
Escalabilidad, eficiencia
Reducir los dominios de broadcast Reducir los dominios de broadcastuso de CPU Menos
Seguridad
25
UD P User Datagram
User Datagram Multiplexin de Protocol Multiplexin de
Una direccin aplicaciones IP identifica una mquina aplicaciones
UD P Formato de UDP
Puerto Origen Longitu d Puerto Destino Checksum Datos
26
TCP
TCP: Conceptos
Espero una confirmacin antes de enviar el siguiente Envo el mismo segmento de nuevo si el tiempo expira sin recibir confirmacin
27
1 2 3 4 5 6 7 8 9 10 11
Formato de TCP
28
TCP o UDP?
29
ICMP
Internet Control Message Protocol Viaja sobre IP, pero no pertenece a Viaja sobre IP, pero no pertenece a
capa de lala transporte Funciones : Notificar Funciones: errores
ICMP
30
Ping
ICMP: Aplicaciones
56(84) bytes of data. ttl=254 time=0.229 ms ttl=254 time=0.254 ms ttl=254 time=0.226 ms ttl=254 time=0.232 ms ttl=254 time=0.222 ms
# ping www.uoregon.edu PING darkwing.uoregon.edu (128.223.142.13) from 128.223.60.27 : 64 bytes from darkwing.uoregon.edu (128.223.142.13): icmp_seq=1 64 bytes from darkwing.uoregon.edu (128.223.142.13): icmp_seq=2 64 bytes from darkwing.uoregon.edu (128.223.142.13): icmp_seq=3 64 bytes from darkwing.uoregon.edu (128.223.142.13): icmp_seq=4 64 bytes from darkwing.uoregon.edu ms ttl=254 time=0.222 (128.223.142.13): icmp_seq=5
# traceroute www.google.com traceroute: Warning: www.google.com has multiple addresses; usin g 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 ge-4-6.uonet2 -gw.uoregon.edu 2 0.ge-0-0- 0.uonet8- gw.uoregon.edu (128.223.2.8) 0.324 ms 0.331 ms 0.294 ms 0.ge -0-0-0.uonet8 3 eugn-car1- gw.nero.net (207.98.66.11) 0.363 ms 0.296 ms 0.416 ms eugn -car1-gw.nero.net 4 eugn- core2- gw.nero.net (207.98.64.169) 0.672 ms 1.029 ms 0.601 ms eugn -core2 -gw.nero.net 5 ptck- core2- gw.nero.net (207.98.64.2) 2.911 ms 2.994 ms 2.930 ms ptck -core2 -gw.nero.net 6 ptck- core1- gw.nero.net (207.98.64.137) 3.255 ms 2.874 ms 2.923 ms ptck -core1 -gw.nero.net 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 ge-6-1-1.mp2.Seattle1.Level3.net 6.335 9 so-0-0-0.bbr2.NewYork1.Level3.net (64.159.0.238) 86.194 ms 86.239 ms 86.580 ms so-0-0-0.bbr2.NewYork1.Level3.net 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 so-3-0-0.mp2.Amsterdam1.Level3.net 155.738 155.406 ms 12 ge-11-2.ipcolo2.Amsterdam1.Level3.net (213.244.165.116) 157.499 ms 1 55.627 ms 155.857 ms 13 212.72.44.66 (212.72.44.66) 156.319 ms 156.168 ms 156.142 ms ms
31
Traceroute: Funcionamiento
# traceroute 128.223.142.13128.223.142.13 (128.223.142.13), 30 hops max, 38 byte traceroute to yte 38 bge-4-6.uonet2-gw.uoregon.edu (128.223.60.3) 0.282 ms 0.206packets packets 1 ms 0.186 ms 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 icmp tcpdump: listening on eth0 128.223.60.27.33962 > 128.223.142.13.33435: udp 10 [ttl 1] (id 12001, len 2001, (id 1 38) 38) 128.223.60.3 > 128.223.60.27: icmp: time exceeded in-transit [tos 0xc0] (ttl 255, id 64235, len -transit in 56) 56) 128.223.60.27.33962 > 128.223.142.13.33436: udp 10 [ttl 1] (id 12002, len 2002, (id 1 38) 38) 128.223.60.3 > 128.223.60.27: icmp: time exceeded in-transit [tos 0xc0] (ttl 255, id 64236, len -transit in 56) 56) 128.223.60.27.33962 > 128.223.142.13.33437: udp 10 [ttl 1] (id 12003, len 2003, (id 1 38) 38) 128.223.60.3 > 128.223.60.27: icmp: time exceeded in-transit [tos 0xc0] (ttl 255, id 64237, len -transit in 56) 56) 128.223.60.27.33962 > 128.223.142.13.33438: udp 10 (ttl 2, id 12004, len 004, 12 38) 38) 128.223.142.13 > 128.223.60.27: icmp: 128.223.142.13 udp port 33438 unreachable (DF) (ttl 254, id 438 len 33 14809, 14809, 66) 128.223.60.27.33962 > 128.223.142.13.33439: udp 10 (ttl 2, id 12005, len 005, 12 38) 38) 128.223.142.13 > 128.223.60.27: icmp: 128.223.142.13 udp port 33439 unreachable (DF) (ttl 254, id 439 len 33 14810, 14810, 66) 128.223.60.27.33962 > 128.223.142.13.33440: udp 10 (ttl 2, id 12006, len 006, 12 38) 38) 128.223.142.13 > 128.223.60.27: icmp: 128.223.142.13 udp port 33440 unreachable (DF) (ttl 254, id 440 len 33 14811, 14811, 66)
32
Cul es la
/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.0 (172.17.0.1 172.17.3.255) 172.17.4.0 172.17.4.0 (172.17.4.1 172.17.7.255) 172.17.8.0 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 172.17.23.255
33
incorrecta? Por ejemplo, 255.255.254.0 cuando el router y los dems en la subred tienen 255.255.255.0?
Solucin:
Ejercicios en Clase
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 192.168.0.1 192.168.1.254
34