Introducción a TCP/IP
¿Cómo funciona Internet?
Alejandro Castán Salinas
[email protected]
INTERNET (I)
2 de 60
Dos ordenadores se comunican a través de Internet. La información puede
atravesar decenas de nodos antes de llegar a su destino.
fi
GET /~acastan/index.html HTTP/1.1
Host: www.xtec.net
= Router
Servidor
web
‹
HTTP/1.1 200 OK
Date: Fri, 26 Sep 2003 12:38:06
Server: Apache/2.0.43 (Unix)
Accept-Ranges: bytes
Content-Length: 2227
Content-Type: text/html;
charset=ISO-8859-1
<html>
<head>
title>¡Hola!</title>
</head>
<body>
...
‹
‹
‹
fi
fi
fi
INTERNET (II)
3 de 60
Dos ordenadores se comunican a través de Internet. La información puede
atravesar decenas de nodos antes de llegar a su destino.
La capacidad de enviar información de un extremo puede sobrepasar con
creces la capacidad de recibir información del otro extremo, que puede ser
más lento o estar saturado.
• ¿Cómo encuentra la información el camino desde el origen hasta el
destino?
• ¿Por qué llega la información sin errores?
• ¿Por qué llega la información en el mismo orden que se envió?
• ¿Por qué no se pierde parte de la información?
• ¿Por qué no se mezcla la información, cuando un ordenador tiene al
mismo tiempo abiertas dos aplicaciones que reciben datos de Internet?
INTERNET (III)
• Conecta ordenadores, independientemente del sistema operativo,
4 de 60
formando redes.
• Conecta redes, independientemente de sus diferentes topologías y del
hardware de red, formando redes más amplias.
• TCP/IP es la familia de protocolos (IP, TCP, UDP, ICMP, ...) encargados de
la transmisión de los paquetes de información.
• Es una especificación abierta y no propietaria.
•
IETF: desarrolla estándares y protocolos.
NIC: asigna nombres de dominio y direcciones únicas.
IANA: asigna nombres de servicios.
INTERNET (IV)
• El encaminamiento de paquetes fuera de la red local lo
realiza un router, buscando en la tabla de encaminamiento
y decidiendo por cual interfaz de red enviarlos.
5 de 60
INTRANET (I)
• Es una Internet corporativa, aislada de Internet.
• Aprovecha la tecnología de Internet (aplicaciones, protocolos, ...) para
6 de 60
una red corporativa.
• Utiliza direcciones IP privadas.
• Se puede conectar a Internet mediante algún dispositivo de red que
transforme las direcciones IP privadas en públicas:
- Un router con NAT (Network Adress Translation) o PAT (Port Adress
Translation).
- Un ordenador que realize IP masquerading, que además puede
incormorar un cortafuegos y un proxy-cache.
INTRANET (II)
I.S.P.
7 de 60
I
N
T
E
R
N
E
T
10.15.0.1
194.46.78.12
Router
10.15.0.x
Bridge
10.15.1.x
I
N
T
R
A
N
E
T
HISTORIA DE INTERNET1 Y TCP/IP2
• 1957 USSR Sputnik, USA funda
ARPA
8 de 60
• 1986 4.3BSD - mejoras de
rendimiento
• 1969 ARPA funda ARPANET
• 1971 Red con 15 nodos
• 1974 Protocolo Cerf/Kahn
• 1973 Ethernet
• 1982/83 TCP/IP protocolo central
• 1983 4.2BSD - primera
implementación TCP/IP
disponible
• 1988 4.3BSD Tahoe - añade inicio
lento, control de congestión y
retransmisión rápida.
• 1990 4.3BSD Reno - añade
predicción de cabecera TCP,
compresión SLIP y una nueva
tabla de encaminamiento.
• 1993 4.4BSD - añade
multicasting.
1 Historia de Internet: http://www.isoc.org/internet/history/
2 Historia de TCP/IP: http://www.cs.utexas.edu/users/chris/think/Early_Days_Of_TCP/index.shtml
NIVELES Y PROTOCOLOS(I)
9 de 60
NIVELES Y PROTOCOLOS (II)
•
IP: encargado de que los datos lleguen a su destino, escogiendo el
camino por el que enviar los paquetes de información.
10 de 60
• TCP: encargado de que la información se reconstruya de forma correcta
cuando llegue a su destino, para pasarla a la aplicación.
• UDP: lo mismo que TCP pero en sencillo (más inseguro pero más
rápido).
ICMP: mensajes de error que ayudan al nivel IP.
•
• DNS: convierte nombre de Internet (nombre_máquina.nombre_dominio)
en dirección de Internet (IP).
• ARP: convierte dirección de Internet (IP) en dirección física (MAC).
NIVELES Y PROTOCOLOS (III)
11 de 60
NIVELES Y PROTOCOLOS (IV)
12 de 60
NIVELES Y PROTOCOLOS (V)
13 de 60
DIRECCIONES FÍSICAS
14 de 60
Normalmente, en redes locales se usa una dirección física de 48 bits (6
bytes), escrita como 12 dígitos hexadecimales separados dos a dos por un
guión. Es la dirección hardware (MAC) asignada a la tarjeta de red.
La dirección MAC está “grabada” en hardware
dentro de la tarjeta de red3.
En UNIX se puede consultar la dirección de red
con los comandos ifconfig -a y netstat -ie.
3 Se pueden consultar los datos del vendedor de la tarjeta de red, en http://standards.ieee.org/cgi-bin/ouisearch?xx-xx-xx (donde xx-xx-xx son 6 primeros dígitos hex MAC)
DIRECCIONES IP (I)
15 de 60
En IPv4, la dirección IP tiene una longitud de 32 bits, expresada como
cuatro números decimales de un byte separados por un punto.
Por ejemplo: 132.24.75.9
Una máquina puede tener más de una dirección IP, cada una asociada a su
interfaz de red. En UNIX se puede consultar la dirección IP con los
comandos ifconfig -a y netstat -ie.
• Públicas: Son asignadas por el N.I.C. (se paga por su utilización) y hacen
que el ordenador sea “visible” en Internet.
• Privadas: me las asigno yo mismo y el ordenador no es “visible” en
Internet.
10.0.0.0 fi
172.16.0.0 fi
192.168.0.0 fi
10.255.255.255
172.31.255.255
192.168.255.255
• Loopback: usadas para comunicarse una aplicación cliente con una
aplicación servidor en la misma máquina: 127.x.x.x
DIRECCIONES IP (II)
• El identificador de equipo “todo ceros” está reservado para especificar el
16 de 60
número de red. Por ejemplo: 192.150.30.0
• El identificador de equipo “todo unos” está reservado para especificar la
dirección de broadcast de la red. Por ejemplo: 192.150.30.255
Clase A:
0
id. red (7 bits)
0.0.0.0 a 127.255.255.255 224 - 2 = 16.777.214 direcciones usables
id. equipo (24 bits)
Clase B: 128.0.0.0 a 191.255.255.255
1 0
id. red (14 bits)
216 - 2 = 65.534 direcciones usables
id. equipo (16 bits)
Clase C: 192.0.0.0 a 223.255.255.255
1 1 0
id. red (21 bits)
28 - 2 = 254 direcciones usables
id. equipo (8 bits)
Clase D: 224.0.0.0 a 239.255.255.255
1 1 1 0
dirección multicast
Clase E: 240.0.0.0 a 255.255.255.255
1 1 1 1
no usados de momento
DIRECCIONES IP (III)
• Las subredes se asignan dividiendo el identificador de equipo en dos
17 de 60
piezas de longitud apropiada: la dirección de subred más la dirección de
equipo.
id. red
‹
id. equipo fi
dir. subred
dir. equipo
Por ejemplo, la dirección de clase B 158.108 puede utilizar su tercer byte
para identificar la subred: 158.108.1.X , 158.108.2.X , ... donde X es una
dirección de equipo que va de 1 a 254.
• La máscara de subred es un número de 32 bits que indica al router cómo
reconocer el campo de subred. Este número se crea cubriendo con bits 1
la dirección de red y subred, y con bits 0 la dirección de equipo.
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
En el ejemplo anterior, la máscara de subred seria 255.255.255.0
DIRECCIONES IP (IV)
18 de 60
DIRECCIONES DE PUERTOS (I)
19 de 60
Un usuario puede a la vez utilizar varias aplicaciones que trabajen a través
de Internet. Por ejemplo puede:
- Estar consultando una o más páginas Web (protocolo HTTP)
- Estar recuperando su correo electrónico (protocolo POP3)
- Estar bajando un fichero (protocolo FTP)
- Estar conectado a otro ordenador (protocolo TELNET)
Recibirá una serie de paquetes con información de distinto tipo que es
necesario distinguir a qué aplicación pertenecen. La dirección IP solo vale
para saber que van dirigidos a nuestro ordenador. Necesitamos información
extra en el paquete para identificar el tipo de información que contiene.
IP
10.0.0.1
80
80
110
21
23
1048 ‹
1049 ‹
1047
1048
1049
1050
1051
1052
1053
IP
10.0.0.2
Origen
10.0.0.2:1047
‹ Petición
Destino
10.0.0.1:80
mensaje
Respuesta fi
Destino
10.0.0.2:1047 mensaje
Origen
10.0.0.1:80
‹
(cid:190)
fi
‹
(cid:190)
fi
‹
(cid:190)
fi
‹
(cid:190)
fi
‹
(cid:190)
fi
(cid:190)
fi
(cid:190)
fi
DIRECCIONES DE PUERTOS (II)
20 de 60
La dirección de un puerto es un número de 16 bits, expresado como un
número decimal.
• Los números de puertos están divididos en tres rangos:
- puertos bien conocidos (del 0 al 1023),
- puertos registrados (del 1024 al 49151) y
- puertos dinámicos y/o privados (del 49152 hasta el 65535).
• En UNIX se puede consultar el estado de los puertos abiertos con el
comando netstat -apentu, y ver la lista de puertos bien conocidos
consultando el fichero /etc/services.
• Un mismo puerto de un
servidor puede ser
accedido
simultáneamente por
varios clientes.
DIRECCIONES DE PUERTOS (III)
21 de 60
Ejemplos de puertos bien conocidos con sus protocolos/aplicaciones asoc.:
Protocolo de transferencia de ficheros
FTP
21
SSH
Conexión de terminal segura
22
Conexión de terminal
TELNET
23
HTTP
World Wide Web
80 y 80xx
World Wide Web segura
HTTPS
443
Protocolo de transporte de correo
SMTP
25
POP3
Transferencia de correo
110
IMAP
Consulta de correo
143
DNS
53 udp/tcp Servidor de nombres de dominios
DHCP server
67
DHCP client
68
PORTMAP/RPCBIND 111
LDAP
389
NFS
2049
NetBIOS/SAMBA 137-139
6000-6255
X11
tcp/udp Servidor de configuración de IP
tcp/udp Cliente de configuración de IP
tcp/udp Llamada a procedimiento remoto
tcp/udp Protocolo de acceso
tcp/udp Compartición de ficher
Comentarios de: Introduccion a TCP/IP ¿Cómo funciona Internet? (1)
En el actual estado crean una muy mala experiencia de usuario. :[ Valoración: 0.0