INTERNET - UD2 - Modelo Internet
INTERNET - UD2 - Modelo Internet
Eduard Lara
1
INDICE
4
2. MODELO INTERNET vs
MODELO OSI
6
3. ENCAPSULACIÓN TCP/IP
aplicación
Usuario read() write()
TCP Buffer Buffer
Rx Tx
Aplicación (FTP, Telnet, etc.)
APIs (e.g. Socket)
TCP/UPD Cabez. Datos
Sistema
IP TCP aplicación Puertos
Operativo
Driver
IP
Cabez. Cabez. Datos
IP TCP aplicación @ IP
Tarjeta ethernet driver
Cabez.
Ether.
Cabez.
IP
Cabez.
TCP
Datos
aplicación
@ MAC
Red ethernet
7
4. PROTOCOLOS INTERNET
8
4. PROTOCOLO IP
9
4. PROTOCOLO IP
10
4. PROTOCOLO IP
1 2 3 4
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|version|hdr len| TOS | Total length in bytes |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |flags| Fragment offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TTL | protocol | header checksum |
20-60
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ bytes
| 32 - bit source IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 32 - bit destination IP address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options (if any) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| data ... (65535 - 20) bytes |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
12
4. FORMATO PAQUETE IP
13
4. FORMATO PAQUETE IP
15
4. PROTOCOLO ICMP
Cabecera Datos
ICMP ICMP
Nivel Internet
Cabecera IP Datos Paquete IP
Cabecera Datos
Nivel Enlace
TRAMA TRAMA
17
4. PROTOCOLO ICMP
18
4. TIPOS MENSAJES ICMP
Red (1)
(3) IP (2)
(5)
ARP
(6)
Enlace (4) Driver
(7)
NIC
Físico
22
4. PROTOCOLO ARP
25
4. PROTOCOLO ARP
1 2 3 4
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Hardware Type | Protocol Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Hard. Length | Prot.Length | Opcode |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sender Hardware Address |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Sender Protocol Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sender Protocol Address | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| Target Hardware Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Target Protocol Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
28
4. NIVEL TRANSPORTE TCP/IP
29
4. FUNCIONALIDADES NIVEL
TRANSPORTE
33
4. CONCEPTO DE PUERTO
En sistemas Windows:
Windows/system32/drivers/etc/services
Datagrama IP
Segmento TCP
20 bytes 20 bytes
37
4. FORMATO SEGMENTO TCP
1 2 3 4
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source port number | Destination port number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| sequence number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| acknowledgement number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|lenght | reserved |U|A|P|R|S|F| Advertized Window Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TCP checksum | Urgent pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options (if any) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data (if any) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
38
4. PROTOCOLO UDP
UDP
IP
Datagrama IP
Datagrama UDP
20 bytes 8 bytes
41
4. FORMATO SEGMENTO UDP
1 2 3 4
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source port number | Destination port number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| UDP length | UDP checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data (if any) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
42
5. ETHERNET HISTORIA
44
5. ETHERNET HISTORIA
45
5. ETHERNET HISTORIA
46
5. FORMATO TRAMA
ETHERNET 802.3
Preámbulo: Sirve para sincronizar las tarjetas en la recepción de
la trama.
SFD (Star Frame Delimiter): Responsable de que las estaciones
receptoras sincronicen los relojes, con el mensaje entrante con el
fin de que no se produzcan errores al leerlo.
Direcciones destino y fuente: Identifican la estación
transmisora y receptora. Cada NIC tiene un número de
identificación de 6 bytes (48 bits), que es único y está contenido
en el hardware de la tarjeta. El organismo de estandarización IEEE
subministra bloques de direcciones a las empresas que fabrican las
tarjetas para garantizar su unicidad.
00-15-C5 3A-5E-39
Nº serie fabricante Id. Fabricante
47
5. FORMATO TRAMA
ETHERNET 802.3
Tipo (Ethernet DIX): Indica el tipo de protocolo de nivel
superior (IP, ARP, etc.), que está ocupando el formato de paquete
Ethernet Versión II. Cuando una trama llega a una máquina, se
necesita saber su tipo para identificar el módulo de software que
se ha de utilizar para procesarla. Valores asignados por el IEEE en
el RFC1700 y poseen valores mayores de 0x05DC (1500 decimal).
Length (Ethernet IEEE 802.3): Define la longitud del campo de
datos. No tiene en cuenta los bytes adicionales. Tiene los valores
extremos de (46 ≤ payload ≤ 1500 bytes):
48
5. FORMATO TRAMA
ETHERNET 802.3
Payload: Campo de información. Puede tener entre 46 y 1500
bytes. Este campo debe tener un tamaño mínimo para detectar las
colisiones. Si el nº de bytes de información es inferior a 46,
Ethernet añade bytes adicionales hasta 46.
Debe existir un mecanismo que permita descubrir los bytes que se
han añadido. Por ejemplo, en el caso de llevar un datagrama IP,
esto se puede deducir a partir del campo header length de la
cabecera IP.
Tamaño trama mínima: 6 + 6 + 2 + 46 +4 = 64 bytes (sin preámbulo)
Tamaño trama máxima: 6 + 6 + 2 + 1500 + 4 = 1518 bytes (sin
preámbulo)
CRC: Sirve para la detección de errores. El remitente realiza un
control CRC (“Cyclical Redundancy”) para efectuar un chequeo de
integridad.
49
6. COMANDO PING
(Packet Internet Groper)
50
6. COMANDO ARP
(Address Resolution Protocol)
Utilidad que sirve para asignar direcciones IP a
direcciones físicas (gestiona el protocolo ARP).
51
6. COMANDO IPCONFIG
• Configura la dirección
del host
• Proporciona información
sobre la configuración
actual:
• nombre interficie
• Tipo tarjeta
• @MAC
• @IP
52
6. COMANDO NETSTAT
Proporciona
información sobre
el estado de la red
Es útil para conocer
las conexiones
TCP/IP activas en
el momento de
ejecutarlo.
53
6. COMANDO NBTSTAT
Muestra las
estadísticas del
protocolo y la
conexiones actuales
de TCP/IP usando
NBT (NETBIOS)
54
6. COMANDO ROUTE
55
6. COMANDO TRACERT
56
6. COMANDOS FTP y TFTP
57
6. COMANDOS LPR y LPQ
LPR
Se utiliza para enviar trabajos a las impresoras de red
remotas que se especifican como argumentos
LPQ
Se utiliza para preguntar por el estado de impresoras
remotas que utilicen TCP/IP en sus comunicaciones a
través del servicio lpq, típico de sistemas UNIX.
58
6. COMANDO TELNET
59
OTROS PROTOCOLOS TCP/IP
60
OTROS PROTOCOLOS TCP/IP
61
OTROS PROTOCOLOS TCP/IP
62
OTROS PROTOCOLOS TCP/IP
63
PRÁCTICA 1: www.iptools.com
64
PRACTICA 2. ANALIZADOR
PROTOCOLOS WIRESHARK
65
PRACTICA 2. ANALIZADOR
PROTOCOLOS WIRESHARK
Paso 1. Descargar el porgrama Wireshark
(http://www.wireshark.org/download.html) e instalarlo
en la máquina virtual de Windows XP .
Durante la instalación del Wireshark, también se instala
Winpcap, que es una librería que permite realizar la captura
de las tramas Ethernet que “ve” nuestra tarjeta de red, no
sólo las destinadas a él sino todas las que circulan dentro de
un mismo segmento LAN.
68
PRACTICA 2. ANALIZADOR
PROTOCOLOS WIRESHARK
Paso 4. En ocasiones le será necesario conocer algunos
parámetros de red de su propia máquina. Para ello, debe
ejecutar la orden “ipconfig /all” en una ventana del “Símbolo
del sistema”.
69
PRACTICA 2. ANALIZADOR
PROTOCOLOS WIRESHARK
Paso 5. En este apartado se va a analizar la secuencia de
acciones que tiene lugar a consecuencia de la ejecución de
la aplicación “ping” (paquete ICMP tipo eco) en una
máquina, siendo el objetivo una máquina de la misma red.
Siga de manera ordenada los pasos que se detallan a
continuación:
- Realice un ping a una máquina de la misma red, desde el
símbolo de sistema de su máquina.
- Ejecute el comando arp –a desde msdos. ¿Qué
información ha obtenido? ¿Qué indica esta tabla?
70
PRACTICA 2. ANALIZADOR
PROTOCOLOS WIRESHARK
Paso 6. Arranque una captura con Wireshark y realice un
ping a otra máquina de la red diferente del paso 5. Espere las
cuatro respuestas. Detenga la captura.
Ejecute desde Símbolo de sistema con la orden arp –a.
¿Ha notado alguna diferencia respecto a la primera vez que
introdujo el comando?.
¿Durante cuanto tiempo permanecen estas entradas? (para
este paso introduzca cada cinco segundo el comando arp –a
hasta que desaparezca la tabla).
71
PRACTICA 2. ANALIZADOR
PROTOCOLOS WIRESHARK
Paso 7. Vaya a la ventana principal del analizador. De las
tramas capturadas debe distinguir aquéllas que se han visto
implicadas en todo el proceso (desde la ejecución de la orden
“ping” en el PC hasta la recepción de las respuestas de la otra
máquina. Dibuje en un diagrama las tramas que han
intervenido, en orden.
72
PRACTICA 2. ANALIZADOR
PROTOCOLOS WIRESHARK
Paso 8. Puede identificar qué información ha decidido
introducir su máquina en el campo de datos de las
peticiones de eco? ¿Qué información introduce el PC
remoto en el campo de datos de las respuestas eco?
73
PRACTICA 2. ANALIZADOR
PROTOCOLOS WIRESHARK
Paso 9. En este apartado se llevará a cabo la descarga de un
archivo relativamente voluminoso desde un navegador web
para observar la velocidad de descarga en función del tiempo.
Borre la ventana de capturas del apartado anterior. Abra una
nueva ventana desde “Capture Options”.
Definir un filtro de captura, para sólo capturar el tráfico que
coincida con el criterio seleccionado.
Nos interesa capturar todo el tráfico TCP que tenga origen o
destino (a nivel IP) en nuestra máquina. En la casilla Filter,
teclear lo siguiente (sustituyendo la dirección de ejemplo
“10.0.0.1” por la de su máquina):
ip proto \tcp and ip host 10.0.0.1
74
PRACTICA 2. ANALIZADOR
PROTOCOLOS WIRESHARK
Paso 10. Arrancar una captura. Descargar con el
navegador un archivo de algunos cientos de kilobytes para
provocar el establecimiento de una conexión TCP de varios
segundos de duración. Como sugerencias, puede probar
con:
http://www.ietf.org/iesg/1rfc_index.txt
http://sunsite.utk.edu/ftp/usr-218-2/iesg/1rfc_index.txt
http://public.www.planetmirror.com/pub/ietf/iesg/1rfc_index.txt
75
PRACTICA 2. ANALIZADOR
PROTOCOLOS WIRESHARK
Paso 11. Localizar entre los paquetes mostrados por pantalla
uno que pertenezca a la conexión TCP por la que se ha
transferido el archivo y que haya viajado desde el servidor a
su ordenador. Si ha descargado un archivo de texto, uno de
estos paquetes es fácilmente identificable observando cómo
en los datos HTTP del paquete se puede leer parte del
contenido del archivo (sección inferior de la ventana del
analizador, parte derecha).
Seleccione este paquete y posteriormente elija “Statistics →
TCP Stream Analysis → Throughput Graph” para representar
la velocidad a la que ha sido transferido el archivo en cada
intervalo. Observe la gráfica que se genera y conteste a las
siguientes preguntas. ¿Es constante la velocidad a la que se ha
transferido el archivo? ¿puede explicar por qué lo es / no lo
es?
76
PRACTICA 3. CABECERAS TCP/IP
78
PRACTICA 3. CABECERAS TCP/IP
79
PRACTICA 3. CABECERAS TCP/IP
80
PRACTICA 3. CABECERAS TCP/IP
81
PRACTICA 4. CABECERAS TCP/IP
PC1-R1
R1-R2
R2-HTTP_SERVER
83
PRACTICA 4. CABECERAS TCP/IP
HTTP_SERVER-R2
R2-R1
R1-PC1
84
PRACTICA 4. CABECERAS TCP/IP
PC2-R1
R1-R2
R2-SMTP_SERVER
85
PRACTICA 4. CABECERAS TCP/IP
SMTP_SERVER-R2
R2-R1
R1-PC2
86
PRACTICA 4. CABECERAS TCP/IP
87