Transcript IntroTCPIP

Introducción a TCP/IP
características principales
Dr. Roberto Gómez Cárdenas
[email protected]
http://webdia.cem.itesm.mx/dia/ac/rogomez
¿Qué es TCP/IP?




Conjunto de protocolos que sirven para comunicar
dos computadoras
Encargado de manejar los errores en la
transmisión, administrar el enrutamiento y entrega
de los datos
Controlar la transmisión real mediante el uso de
señales de estado predeterminadas
Los dos principales protocolos son:
 TCP:
Transmission Control Protocol
 IP: Internet Protocol
Objetivos de la arquitectura




independencia de la tecnología de red y de la
arquitectura de la computadora host
conectividad universal a través de la red
acknowledgements de punto a punto
protocolos de aplicación estándares
Principales características de la
arquitectura TCP/IP





protocolos tipo no-conexión en el nivel red
nodos como computadoras de switcheo de
paquetes
protocolos de transporte con funciones de
confiabilidad
conjunto común de programas de aplicación
ruteo dinámico
Modelo de la Arquitectura TCP/IP
Nivel de
aplicación
Terminal
virtual
Correo
electrónico
Protocolo de control
de transmisión (TCP)
Nivel de
transmisión
Nivel de
internet
Nivel de
red
Transferencia
de archivos
Servidor
de nombres
mount
de NFS
Protocolo de datagramas de usuario (UDP)
Protocolo de Internet, (IP) y
protocolo de control de mensajes
ARPANET
Red
satelital
X.25
Ethernet
Token
ring
Los protocolos TCP/IP y el modelo OSI
Niveles OSI:
Aplicación
Niveles TCP/IP:
Aplicación
Transmisión
Internet
Red
TELNET
FTP
SMTP
TFTP
TCP,UDP
IP
Subred
Presentación
Sesión
Transporte
Red
Enlace
Físico
TCP/IP y Unix



Éxito TCP/IP y Unix: debido a Univ. Berkeley
California
Berkeley considera una implementación de
TCP/IP, en lugar de DARPA, para sus sistemas
Unix; y el código fuente lo pone disponible
como software de dominio público en
septiembre de 1983
Legalmente resultados de investigación y
desarrollo de Univ. Americanas pertenecen al
pueblo americano


Prácticamente todas las implementaciones
TCP/IP bajo Unix están basadas en el código de
Berkeley
Varias versiones no-Unix de TCP/IP tomaron
como base el código de Berkeley
El protocolo IP





IP: Internet Protocol
Piedra angular de la arquitectura TCP/IP
Especificación: RFC 791
Todas las computadoras en Internet entienden IP
Principales labores:
 direccionamiento
de las computadoras
 fragmentación de mensajes

No contiene funciones de control de flujo o de
confiabilidad de mensajes de punto a punto
Principales características de IP






Protocolo orientado no conexión
División, en caso necesario, de paquetes
Direccionamiento con direcciones internet de
32 bits
Direcciones protocolos de ocho bits
Tamaño máximo del paquete: 65535 bytes
Contiene solo un encabezado de checksum, no
datos de checksum



Campos de los protocolos no son necesarios
siempre
Tiempo de vida finito de los paquetes
Entrega de acuerdo al “mejor esfuerzo”
Encabezado protocolo IP
0
3
número
versión
7
longitud
15
tipo de servicio
23
transporte
31
longitud del paquete
D M
F F
identificación
tiempo de vida
18
offset del fragmento
checksum del encabezado
dirección fuente
dirección destino
opciones
relleno
Direccionamiento a nivel IP





Internet es vista como una red virtual, por lo que
tiene su propia definición para manejar
direcciones de cada host
No depende del hardware subyacente
A cada host en internet le es asignado un número
entero y único como dirección, llamado dirección
internet IP o dirección lógica
No es una dirección física como la de ethernet
La dirección IP mide 32 bits


Una dirección IP contiene el identificador de la red a
la cual el host está conectado así como el
identificador (único) del host en esa red
Una dirección IP es una pareja (netid, hostid) en
donde:
 netid:
identificador de la red
 hostid: identificador del host en esa red

Se tienen tres clases de direcciones:
redes grandes; primer bit es cero, hay 27-2 redes
posibles cada una con 224-2 posibles hosts (más de 65,536)
 clase B: redes medianas; valor primeros bits: 10, hay 214--2
redes posibles, cada una con 28-2 a 216-2 posibles hosts
 clase C: redes chicas; valor primeros bits: 110, hay 221-2
redes posibles, cada una con 28-2 hosts
 clase A:
Tipos de direcciones internet
clase A
0
7
15
0 Ident. de red
23
31
Identificador del host
clase B
01
Identificador de la red
Identificador del host
clase C
110
Identificador de la red
Identificador host
clase D
111 0
Identificador del grupo de hosts
Notación decimal



Una dirección IP es representada usando 4 dígitos
separados por un punto
Cada dígito representa 1 byte (8 bits) de la dirección
IP
Ejemplo:
 dirección
IP: 10000000 00001010 00000010 00011110
 equivalente
decimal:
128
10
2
30
 notación decimal: 128.10.2.30
Ejemplos direcciones
Ejemplo dirección clase A:
10.0.0.3210
00001010.00000000.00000000.000100002
Ejemplo dirección clase B:
128.14.58.6010
10000000.00001110.00111010.001111002
Ejemplo dirección clase C
192.9.150.2210
11000000.00001001.10010110.110010102
El identificador de la red se encuentra en negrillas
Direcciones especiales


Una dirección internet puede ser usada para
referirse a una red específica, además de un host
Una dirección de red contiene 0’s en el campo de
hostid
 ejemplo:

Una dirección de broadcast contiene 1’s en el
campo de hostid
 ejemplo:

netid 000…0
netid 111…1
Broadcast limitado:
 no
se puede enviar nada a dirección: 111...1 1111...1
Ejemplo asignaciones direcciones IP
walhalla
231.1.2.7
empyree
231.1.2.1
españa
192.1.1.2
FDDI
192.1.1.7
paradis
231.1.2.2
canada
192.1.1.4
grecia
192.1.1.6
eden
231.1.2.3
elysee
231.1.2.5
bali
231.1.2.4
cuba
192.1.1. 3
ETHERNET
svarga
231.1.2.6
mexico
192.1.1.1
francia
192.1.1.5
rusia
192.1.1.8
Mapeo direcciones lógicas a físicas


Dada una dirección lógica o el nombre de un host,
¿como se puede conocer su dirección física?
Tipos direciones físicas:
 ethernet:
direcciones largas y fijas (únicas) 48 bits
 ProNET-10: direcciones chicas y configurables 8 bits

Mapeo directo:
 Para
tipos direcciones de ProNET-10
 La dirección física es codificada en su dirección IP
 host dirección física 3, IP= 192.5.48.3

Mapeo dinámico
 dirección
física de 48 bits en una de IP de 32 bits
 uso protocolo ARP
Protocolo ARP



Address Resolution Protocol
Permite a un host conocer la dirección física de un
host destino en la misma red física, dada
únicamente la dirección IP del host destino
Protocolo:
 Host A desea
resolver dirección IP de B, IPB
 A realiza un broadcast de un paquete especial para pedir
al host con dirección IB que responda con su dirección
física
 Todos los hosts incluyendo a B, reciben la petición
 Host
B reconoce su dirección y envía una respuesta
conteniendo su dirección física
 Host A recibe respuesta y usa dirección física para
comunicarse con host B

Uso memoria cache
 Host
que usa ARP mantiene en memoria Cache una lista
de parejas (dirección IP y física) de las direcciones físicas
recien adquiridas
 de esta forma se evita usar ARP cada vez que un host se
desea comunicar
 cuando un host recibe una respuesta ARP actualiza su
tabla
 cuando desea transmitir primero busca en su memoria
cache
Determinando una dirección IP al
arranque




Programas aplicación usuario siempre usan
direcciones IP
Normalmente la dirección IP de una máquina se
almacena en disco
El S.O. la puede encontrar al arrancar la máquina
¿Como puede una máquina determinar su
dirección IP al arrancar, cuando esta no ha sido
aún almacenada en disco, o cuando se carece de
este último?
Protocolo RARP




Reverse Address Resolution Protocol
Dirección física de red de una máquina es un
identificador único y fácilmente disponible
Una máquina utiliza el protocolo RARP para
obtener su dirección IP a partir de un servidor
RARP utiliza el mismo formato de mensaje que
ARP
Pasos protocolo RARP


La fuente efectúa la difusión del mensaje RARP
(RARP Req)
Mensaje incluye información siguiente:
 SENDER
HA: dirección física del emisor
 TARGET HA: dirección física del emisor (puede ser la
dirección física de un tercer host)


Todas las máquinas de la red reciben la petición
Sólo las máquinas autorizadas para atender
mensajes RARP envían una respuesta (Servidores
RARP)


La red debe contar con al menos 1 servidor RARP
La máquina fuente recibe respuesta de todos los
servidores RARP, sólo el primero es tomado en
cuenta
C, D: servidores RARP
A: host solicitante
A
B
C
D
A
B
C
D
El protocolo TCP





TCP: Transmission Control Protocol
Especificación RFC 793 y MIL-STD 1778
Principal tarea: transporte confiable de datos a
través de la red
Su funcionalidad no difiriere mucho de otros
protocolos de transporte más complicados
Diferencia: fronteras de bloques no son
preservadas
Características principales TCP



Proporciona circuito virtual full duplex
bidireccional
Desde el punto de visto del usuario, los datos son
transmitidos en streams y no en bloques
Transmisión confiable usando:
 números
de secuencia
 construcción de checksums con acks de recepción
 acknowledgements con timeout
 retransmisión segmentos después de ack timeout



Ventana deslizante para obtener mayor eficiencia
Funciones de datos urgentes y de push
Direccionamiento vía número de puerto de 16 bits
Números de puertos





Usados para direccionamietno a nivel transporte
16 bits para números puertos, entonces se pueden
establecer hasta 65,535 puertos diferentes
Rango de validez puerto depende del host
Juntos: el id de la red, el id del host y el número de
puerto constituyen un punto terminal de
comunicación (socket)
Protocolo comunicación al estilo sistema telefónico
(orientado conexión)
Ejemplo números puertos
Servicio
daytime
netstat
chargen
ftp-data
ftp
telnet
smtp
time
exec
login
shell
printer
Número de puerto
13
15
19
20
21
23
25
37
512
513
514
515
Protocolo UDP








UDP: User Datagram Protocol
Especificación RFC 768
Conexión orientada no conexión
Direccionamiento vía números puertos
Checksums de datos
Protocolo muy simple
Seguimiento de acuerdo al mejor-esfuerzo
Número de campos menor que IP y TCP, por lo que
es considerado como un protocolo de peso ligero
Protocolo ICMP






ICMP: Internet Control Message Protocol
Referencia: RFC 792
Principal responsabilidad: notificación de errores a
los responsables y/o involucrados
Es un componente de cada implementación de IP
Transporta datos de error y diagnostico para el
protocolo IP
Existen diferentes tipos de mensajes, que son
tratados por el resto de la red como cualquier otro
datagrama

Puede verse como un paquete IP comunicándose con
otro paquete IP a través de la red
Ejemplo de tipos paquetes ICMP
Tipo
0
1
2
3
8
11
12
13
14
Función
Respuesta de eco
Destino inalcanzable
Source quench (calmar la fuente)
Redirección solicitada
Petición de eco
Tiempo excedido de un datagrama
Problema parámetro en un datagrama
Petición estampilla de tiempo
Respuesta estampilla de tiempo
Protocolos niveles 5 a 7
Telnet
 FTP
 SMTP
 TFTP

Protocolo Telnet



Especificación: RFC 854
Proporciona acceso, en forma de terminal de
sesión a una computadora conectada a la red
En unix se compone de dos partes
 cliente:
comando telnet
 servidor: demonio telnetd

Otra opción parecida es rlogin
Ejemplo telnet
Protocolo FTP





FTP: File Transfer Protocol
Especificación RFC 959
Puerto 21 de TCP especifica el canal de comandos y el
puerto 20 el canal de datos
Protocolo transferencia de archivos entre dos
computadoras
En Unix tiene dos partes
 cliente:
comando ftp
 servidor: demonio ftpd

Utiliza texto ASCII en formato NVT
Ejemplo ftp
Protocolo SMTP







SMTP: Simple Mail Transfer Protocol
Referencia RFC 821
Protocolo utilizado para la implementación de
correo electrónico
Puerto 25 de TCP es utilizado por SMTP
Incorpora muchas características de FTP
En Unix es implementado por el programa
/usr/lib/sendmail
Archivo configuración: /usr/lib/sendmail.cf
Protocolo TFTP







TFTP: Trivial File Transfer Protocol
Especificación RFC 783
Utiliza puerto 69 de UDP
Protocolo de transferencia de archivos de mínimos
requerimientos
Diferencia con FTP: uso de protocolos en modo
no conexión
Es responsable de la confiabilidad en la
transmisión, a través timeouts
No involucra un “logeo” en el servidor
El DNS





Computadoras son direccionadas con nombres
simbólicos
El mapeo de nombre simbólico a dirección internet
lo hacía la computadora del NIC (Network
Information Center)
Crecimiento Internet hace lo anterior poco práctico
DNS: Domain Name Service
Conceptos y protocolos RFC 1034 y RFC 1035 con
suplementos en RFC 1101 y RFC 1183

El procedimiento para participar en el mundo DNS
con su propio nombre de red se encuentra descrito
en el RFC 1032
Estructura del nombre





Nombre esta dividido en dominios
Dominios están acomodados de acuerdo a una
estructura de árbol
Existe una raíz y abajo se encuentran los dominios
de alto nivel, los cuales se subdividen en
subdominios
Los nombres deben de ser únicos
Los niveles de alto nivel son predefinidos por el
NIC


Existen nombres para los dominios de alto nivel de
las organizaciones en USA (mil, edu, gov, com,
org, etc)
Para cada país conectado existen otros nombres
para estos dominios (de, uk, mx, fr, etc)
Ejemplo estructura nombre
raíz
mil
brl
nosc
edu
darpa
arpa
mit
ksu
yale
cc
cs
ee
inaddr
sri-nic
acc
Otros protocolos
BOOTP
 DHCP
 HDLC
 NAT

Protocolo BOOTP




BOOTP: Boostrap Protocol
Referencia: RFC 951
Protocolo que permite que un usuario de red pueda
ser automáticamente configurado (reciba una
dirección IP) y que disponga de un sistema
operativo booteado o inicializado sin intervención
de usuario
El servidor manejado por un administrador de red,
asigna automáticamente una dirección IP de una
piscina de direcciones.


Esta dirección tiene una cierta duración de tiempo
Es base de otros protocolos de manejo de red, p.e.
DHCP
Protocolo DHCP





DHCP: Dynamic Host Configuration Protocol
Referencia: RFC 1531 y 1541
Permite a administradores de red automatizar y
centralizar la asignación de direcciones IP
Util en el caso de computadoras cuya dirección IP
no se debe de asignar manualmente (computadoras
nómadas)
Envía una dirección IP automáticamente cuando
una computadora se conecta en un diferente lugar
en la red

La dirección tiene un tiempo durante el cual es
válida para esa máquina
128.45.12.23
128.45.12.8
128.45.12.21
128.45.12.1
128.45.12.4
HDCL




HDCL: High-level Data Link Control
Grupo de protocolos o reglas para transmitir datos
entre dos puntos de una red (a veces llamados nodos)
Los datos son organizados en unidades llamadas
frames y enviados a su destino que verifica su llegada
exitosa
Maneja flujo o “pacing” provocado por datos
enviados

Existen diferentes variantes de HDLC:
 NRM
Normal Response Mode, (redes multipunto usando
SDLC)
 LAP: Link Access Procedure (primeras implementacionex
X.25)
 LAPB: Link Access Procedure Balanced (imp. act. de
X.25)
 LAPD: Link Access Procedure for ISDN D channel (frame
relay e ISDN D)
 LAPM: Link Access Procedure for Modems
El NAT





NAT: Network Address Translation
Referencia: RFC 1631
Es la traducción de una dirección internet usada
dentro de una red, en una otra direccion conocida en
otra red
Una red es llamada red interior, mientras que la otra
se conoce como red exterior
Usualmente se mapean direcciones locales de redes
internas a una o mas direcciones exteriores


También se unmapea las direcciones globales IP de
paquetes de entrada en direcciones locales internas
Toda petición de entrada o salida debe pasar por un
proceso de traducción
dirección
Internet
traducida
dirección
Servidor
NAT
Red privada
HTTP






Hypertext transfer protocol
RFC 2616, 2068
Protocolo de nivel aplicación para intercambio de
información hipermedia en internet
Es distribuido y colaborativo
Característica principal: negociación de
representación de datos
Usado en la WWW desde 1990