Title: Introducci
1Introducción a TCP/IP
características principales
- Dr. Roberto Gómez Cárdenas
- rogomez_at_campus.cem.itesm.mx
- http//webdia.cem.itesm.mx/dia/ac/rogomez
2Qué 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
3(No Transcript)
4Objetivos 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
5Principales 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
6Modelo de la Arquitectura TCP/IP
Nivel de aplicación
Protocolo de control de transmisión (TCP)
Protocolo de datagra- mas de usuario (UDP)
Nivel de transmisión
Nivel de internet
Nivel de red
7Los protocolos TCP/IP y el modelo OSI
Niveles OSI
Aplicación
Presentación
TELNET FTP SMTP TFTP TCP,UDP IP Subred
Niveles TCP/IP
Sesión
Aplicación
Transporte
Red
Transmisión
Enlace
Internet
Físico
Red
8TCP/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
9- 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
10El 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
11Principales 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
12- Campos de los protocolos no son necesarios
siempre - Tiempo de vida finito de los paquetes
- Entrega de acuerdo al mejor esfuerzo
13Encabezado protocolo IP
14Direccionamiento 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
15- 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
- clase A 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
16Tipos de direcciones internet
clase A
0 7
15 23
31
clase B
clase C
clase D
17Notació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
18Ejemplos direcciones
Ejemplo dirección clase A 10.0.0.3210
00001010.00000000.00000000.000100002 Ejemplo
dirección clase B 128.14.58.6010 10000000.000
01110.00111010.001111002 Ejemplo dirección clase
C 192.9.150.2210 11000000.00001001.10010110.11
0010102 El identificador de la red se encuentra
en negrillas
19Direcciones 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 0s en el campo de
hostid - ejemplo netid 0000
- Una dirección de broadcast contiene 1s en el
campo de hostid - ejemplo netid 1111
- Broadcast limitado
- no se puede enviar nada a dirección 111...1
1111...1
20Ejemplo asignaciones direcciones IP
walhalla 231.1.2.7
empyree 231.1.2.1
192.1.1.7 paradis 231.1.2.2
svarga 231.1.2.6
FDDI
ETHERNET
elysee 231.1.2.5
eden 231.1.2.3
bali 231.1.2.4
21Mapeo 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
22Protocolo 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
23- 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
24Determinando 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?
25Protocolo 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
26Pasos 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)
27- 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
28El 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
29Caracterí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
30- Ventana deslizante para obtener mayor eficiencia
- Funciones de datos urgentes y de push
- Direccionamiento vía número de puerto de 16 bits
31Nú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)
32Ejemplo números puertos
Servicio Número de puerto daytime 13 netsta
t 15 chargen 19 ftp-data 20 ftp 21 telnet 2
3 smtp 25 time 37 exec 512 login 513
shell 514 printer 515
33Protocolo 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
34Protocolo 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
35- Puede verse como un paquete IP comunicándose con
otro paquete IP a través de la red
36Ejemplo de tipos paquetes ICMP
37Protocolos niveles 5 a 7
38Protocolo 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
39Ejemplo telnet
40Protocolo 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
41Ejemplo ftp
42Protocolo 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
43Protocolo 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
44El 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
45- El procedimiento para participar en el mundo DNS
con su propio nombre de red se encuentra descrito
en el RFC 1032
46Estructura 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
47- 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)
48Ejemplo estructura nombre
49Otros protocolos
50Protocolo 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.
51- Esta dirección tiene una cierta duración de
tiempo - Es base de otros protocolos de manejo de red,
p.e. DHCP
52Protocolo 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
53- 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.4
128.45.12.1
54HDCL
- 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
55- 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
56El 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
57- 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 traducida
Red privada
dirección
Servidor NAT
58HTTP
- 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