Introducción a TCP/IP
¿Cómo funciona Internet?
Alejandro Castán Salinas
[email protected]
INTERNET (I)
Dos ordenadores se comunican a través de Internet. La información puede
atravesar decenas de nodos antes de llegar a su destino.
2 de 60
GET /~acastan/index.html HTTP/1.1
Host: www.lsi.upc.es
fi
= 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>
...
INTERNET (II)
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
3 de 60
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)
7 de 60
I
N
T
E
R
N
E
T
10.15.0.1
194.46.78.12
Router
I.S.P.
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
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.
14 de 60
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)
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.
15 de 60
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
166.777.214 direcciones usables
65.534 direcciones usables
254 direcciones usables
Clase A:0.0.0.0 a 127.255.255.255
0id. red (7 bits)id. equipo (24 bits)
Clase B:128.0.0.0 a 191.255.255.255
10id. red (14 bits)id. equipo (16 bits)
Clase C:192.0.0.0 a 223.255.255.255
110id. red (21 bits)id. equipo (8 bits)
Clase D:224.0.0.0 a 239.255.255.255
1 110dirección multicast
Clase E:240.0.0.0 a 247.255.255.255
1 1110no usados de momento
fi
fi
fi
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. reddir. subreddir. equipo
‹
id. equipo fi
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.
1111 111 111 1 11111111111110000000 0
En el ejemplo anterior, la máscara de subred seria 255.255.255.0
DIRECCIONES IP (IV)
18 de 60
19 de 60
DIRECCIONES DE PUERTOS (I)
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
1048OrigenDestino
1049
1050
1051
1052OrigenDestino
1053
10.0.0.2
IP
‹ Petición
10.0.0.2:104710.0.0.1:80mensaje
Respuesta fi
10.0.0.1:8010.0.0.2:1047mensaje
‹
fi
‹
fi
‹
fi
‹
fi
‹
fi
fi
fi
DIRECCIONES DE PUERTOS (II)
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:
20 de 60
- 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 -apen, 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.
21 de 60
DIRECCIONES DE PUERTOS (III)
Ejemplos de puertos bien conocidos con sus protocolos/aplicaciones asoc.:
FTP21tcpProtocolo de transferencia de ficheros
SSH22tcpConexión de terminal segura
TELNET23tcpConexión de terminal
HTTP80 y 80xxtcpWorld Wide Web
HTTPS443tcpWorld Wide Web segura
SMTP25tcpProtocolo de transporte de correo
POP3110tcpTransferencia de correo
IMAP143tcpConsulta de correo
DNS53udp/tcpServidor de nombres de dominios
DHCP server67tcp/udpServidor de configuración de IP
DHCP client68tcp/udpCliente de configuración de IP
PORTMAP/RPCBIND111tcp/udpLlamada a procedimiento remoto
LDAP389tcp/udpProtocolo de acceso
NFS2049tcp/udpCompartición de ficheros en Unix
NetBIOS/SAMBA137-139tcpCompartición de ficheros en Windows
X116000-6255tcpServidor X Windows
DIRECCIONES DE PUERTOS (IV)
22 de 60
TRANSFORMAR DIRECCIONES
23 de 60
nontri.ku.ac.th
DNS
158.108.2.71
ARP
00:00:0C:06:13:4A
• Transformar el nombre en dirección IP:
- En la red local: tabla ‘hosts’ o servidor DNS.
- En Internet: servidores DNS.
• Transformar la dirección IP en dirección de red
- En la red local: ARP
- En Internet: dirección de red del router.
DNS4
• El servidor DNS (puerto 53) guarda la relación de los nombres e IPs en
24 de 60
un dominio. Utiliza una cache para reducir el
Comentarios de: Introduccion a tcpip - ¿Como funciona Internet? (0)
No hay comentarios