Introducción a TCP/IP

características principales
Dr. Roberto Gómez Cárdenas
rogomez@campus.cem.itesm.mx
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.25 Ethernet Token ring . (IP) y protocolo de control de mensajes ARPANET Red satelital X.

UDP IP Subred Presentación Sesión Transporte Red Enlace Físico .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.

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. para sus sistemas Unix. Americanas pertenecen al pueblo americano . Berkeley California Berkeley considera una implementación de TCP/IP.TCP/IP y Unix    Éxito TCP/IP y Unix: debido a Univ. en lugar de DARPA.

  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 .

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 .Principales características de IP       Protocolo orientado no conexión División. en caso necesario.

   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 .

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 . 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.Direccionamiento a nivel IP      Internet es vista como una red virtual.

hay 2 21-2 redes posibles. primer bit es cero.536) clase B: redes medianas. cada una con 28-2 a 216-2 posibles hosts clase C: redes chicas. cada una con 28-2 hosts . 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. hay 2 14--2 redes posibles. valor primeros bits: 10.  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. valor primeros bits: 110. hay 2 7-2 redes posibles cada una con 224-2 posibles hosts (más de 65.

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 .

10.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.2.30 .

6010 10000000.00111010.00001001.0.0.110010102 El identificador de la red se encuentra en negrillas .58.9.2210 11000000.000100002 Ejemplo dirección clase B: 128.001111002 Ejemplo dirección clase C 192.150.00000000.00001110.10010110.14.Ejemplos direcciones Ejemplo dirección clase A: 10.00000000.3210 00001010.

.1 ... además de un host Una dirección de red contiene 0’s en el campo de hostid   netid 000…0 Una dirección de broadcast contiene 1’s en el campo de hostid   ejemplo: ejemplo: netid 111…1 Broadcast limitado:  no se puede enviar nada a dirección: 111.1 1111.Direcciones especiales   Una dirección internet puede ser usada para referirse a una red específica..

1.1.7 paradis 231.1.1.2 canada 192.1.2 españa 192.1 francia 192.1.1.2.1.3 elysee 231.4 grecia 192.6 eden 231.1. 3 ETHERNET walhalla 231.1.1.2.2.2.1.1.1.5 rusia 192.1.4 cuba 192.1.1.7 mexico 192.1.5 bali 231.1.1.2.2.1.2.6 FDDI 192.1.1 svarga 231.8 .1.Ejemplo asignaciones direcciones IP empyree 231.

¿como se puede conocer su dirección física? Tipos direciones físicas:    Mapeo directo:     ethernet: direcciones largas y fijas (únicas) 48 bits ProNET-10: direcciones chicas y configurables 8 bits Para tipos direcciones de ProNET-10 La dirección física es codificada en su dirección IP host dirección física 3. 3 Mapeo dinámico   dirección física de 48 bits en una de IP de 32 bits uso protocolo ARP .48. IP= 192.Mapeo direcciones lógicas a físicas   Dada una dirección lógica o el nombre de un host.5.

dada únicamente la dirección IP del host destino Protocolo:    Host A desea resolver dirección IP de B. reciben la petición .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. 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.

   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 .

O. cuando esta no ha sido aún almacenada en disco.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. la puede encontrar al arrancar la máquina ¿Como puede una máquina determinar su dirección IP al arrancar. 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) .

sólo el primero es tomado en cuenta C.  La red debe contar con al menos 1 servidor RARP La máquina fuente recibe respuesta de todos los servidores RARP. 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 .

entonces se pueden establecer hasta 65. 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) .Números de puertos      Usados para direccionamietno a nivel transporte 16 bits para números puertos.535 puertos diferentes Rango de validez puerto depende del host Juntos: el id de la red.

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 .

que son tratados por el resto de la red como cualquier otro datagrama .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.

 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  .

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 .Protocolo Telnet    Especificación: RFC 854 Proporciona acceso.

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 .

cf .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.

a través timeouts No involucra un “logeo” en el servidor .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.

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 .

los cuales se subdividen en subdominios Los nombres deben de ser únicos Los niveles de alto nivel son predefinidos por el NIC .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.

etc) Para cada país conectado existen otros nombres para estos dominios (de.  Existen nombres para los dominios de alto nivel de las organizaciones en USA (mil. gov. org. edu. mx. com. etc) . uk. fr.

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. DHCP .e.

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 .

45.12.45.4 .45.45.1 128.8 128. La dirección tiene un tiempo durante el cual es válida para esa máquina 128.12.23 128.12.12.45.21 128.12.

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 .

act. Existen diferentes variantes de HDLC:      NRM Normal Response Mode. de X.25) LAPB: Link Access Procedure Balanced (imp. (redes multipunto usando SDLC) LAP: Link Access Procedure (primeras implementacionex X.25) LAPD: Link Access Procedure for ISDN D channel (frame relay e ISDN D) LAPM: Link Access Procedure for Modems .

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 .El NAT      NAT: Network Address Translation Referencia: RFC 1631 Es la traducción de una dirección internet usada dentro de una red.

  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 .