Вы находитесь на странице: 1из 18

INSTITUTO POLITECNICO NACIONAL

Introducción

TCP/IP

Comprende una familia de protocolos que prestan diversos servicios. Las siglas
están dadas por el nombre de dos de los protocolos más importantes. TCP
(Protocolo de Control de Transmisión) e IP (Protocolo de internet).

Existen tantos protocolos en este conjunto que llegan a ser más de 100
diferentes, entre ellos se encuentra el popular HTTP (HyperText Transfer
Protocol), que es el que se utiliza para acceder a las páginas web, además de
otros como el ARP (Address Resolution Protocol) para la resolución de
direcciones, el FTP (File Transfer Protocol) para transferencia de archivos, y el
SMTP (Simple Mail Transfer Protocol) y el POP (Post Office Protocol) para
correo electrónico, TELNET para acceder a equipos remotos, entre otros.

El TCP/IP es la base de Internet, y sirve para enlazar computadoras que


utilizan diferentes sistemas operativos, incluyendo PC, minicomputadoras y
computadoras centrales sobre redes de área local (LAN) y área metropolitana
(WAN).

TCP/IP fue desarrollado y demostrado por primera vez en 1972 por el


Departamento de Defensa de los Estados Unidos, ejecutándolo en ARPANET,
una red de área extensa de dicho departamento.

La familia de protocolos de Internet puede describirse por analogía con el


modelo OSI (Open System Interconnection), que describe los niveles o capas
de la pila de protocolos, aunque en la práctica no corresponde exactamente
con el modelo en Internet. En una pila de protocolos, cada nivel soluciona una
serie de problemas relacionados con la transmisión de datos, y proporciona un
servicio bien definido a los niveles más altos. Los niveles superiores son los
más cercanos al usuario y tratan con datos más abstractos, dejando a los
niveles más bajos la labor de traducir los datos de forma que sean físicamente
manipulables.

Como puede apreciarse, las capas del modelo TCP/IP tienen tareas mucho
más diversas que las del modelo OSI, considerando que ciertas capas del
modelo TCP/IP se corresponden con varios niveles del modelo OSI

Las funciones de las diferentes capas son las siguientes:

 capa de acceso a la red: especifica la forma en la que los datos deben


enrutarse, sea cual sea el tipo de red utilizado;
 capa de Internet: es responsable de proporcionar el paquete de datos
(datagrama);
INSTITUTO POLITECNICO NACIONAL
 capa de transporte: brinda los datos de enrutamiento, junto con los
mecanismos que permiten conocer el estado de la transmisión;
 capa de aplicación: incorpora aplicaciones de red estándar (Telnet,
SMTP, FTP, etc.).

Durante una transmisión, los datos cruzan cada una de las capas en el nivel del
equipo remitente. En cada capa, se le agrega información al paquete de datos.
Esto se llama encabezado, es decir, una recopilación de información que
garantiza la transmisión. En el nivel del equipo receptor, cuando se atraviesa
cada capa, el encabezado se lee y después se elimina. Entonces, cuando se
recibe, el mensaje se encuentra en su estado original.

Encapsulado TCP/IP

En cada nivel, el paquete de datos cambia su aspecto porque se le agrega un


encabezado. Por lo tanto, las designaciones cambian según las capas:

 el paquete de datos se denomina mensaje en el nivel de la capa de


aplicación;
 el mensaje después se encapsula en forma de segmento en la capa de
transporte;
 una vez que se encapsula el segmento en la capa de Internet, toma el
nombre de datagrama;
 finalmente, se habla de trama en el nivel de capa de acceso a la red.

PROTOCOLO

Un protocolo puede definirse como una descripción formal de un conjunto de


reglas y normas que rigen la forma en que los dispositivos de red intercambian
información.

Funciones de protocolos

 Establecer comunicación
 Identificar receptor y transmisor
 Transmitir mensajes
INSTITUTO POLITECNICO NACIONAL
 Asegurar integridad del mensaje
 Transmitir caracteres de control
 Diferenciar entre caracteres de control y datos
 Terminar la comunicación

CAPA DE TRANSPORTE

Los servicios de transporte permiten que los usuarios puedan segmentar y


volver a ensamblar varias aplicaciones de capa superior en el mismo flujo de
datos de la capa de transporte.

Este flujo proporciona servicios de transporte de extremo a extremo.

Esta capa realiza dos funciones, obtenidas a través de números de secuencia y


acuse de recibo:

 Control de flujo por ventanas deslizantes


 Fiabilidad

En esta capa se encuentran los protocolos TCP (Protocolo de Control de


Transporte) y
UDP (User Datagram Protocol)

TCP (Protocolo de Control de Transmisión) es uno de los principales protocolos


de la capa de transporte del modelo TCP/IP, en el nivel de aplicación, posibilita
la administración de datos que vienen del nivel mas bajo del modelo o van
hacia el, (es decir, el protocolo IP). Cuando se le proporcionan datos al
protocolo IP, los agrupa en datagramas IP, fijando el campo del protocolo en 6
(para que sepa con anticipación que el protocolo es TCP). TCP es un protocolo
orientado a conexión, es decir, que permite que dos máquinas que están
comunicadas controlen el estado de la transmisión.

Las principales características del protocolo TCP son las siguientes:

 TCP permite colocar los datagramas nuevamente en orden cuando


vienen del protocolo IP.

 TCP permite que el monitoreo del flujo de los datos y así evita la
saturación de la red
INSTITUTO POLITECNICO NACIONAL
 TCP permite multiplexar los datos, es decir, que la información que viene
de diferentes fuentes (por ejemplo, aplicaciones) en la misma línea
pueda circular simultáneamente.

 Permite comenzar y finalizar la conexión mediante el three-way hand


shake (saludo de tres vias)

OBJETIVO DE TCP

Con el uso del protocolo TCP, las aplicaciones pueden comunicarse en forma
segura (gracias al sistema de acuse de recibo del protocolo TCP)
independientemente de las capas inferiores. Esto significa que los routers (que
funcionan en la capa de Internet) sólo tienen que enviar los datos en forma de
datagramas, sin preocuparse con el monitoreo de datos porque esta función la
cumple la capa de transporte (o más específicamente el protocolo TCP).

Durante una comunicación usando el protocolo TCP, las dos máquinas deben
establecer una conexión. La máquina emisora (la que solicita la conexión) se
llama cliente, y la máquina receptora se llama servidor. Por eso es que decimos
que estamos en un entorno Cliente-Servidor.
Las máquinas de dicho entorno se comunican en modo en línea, es decir, que
la comunicación se realiza en ambas direcciones.

Para posibilitar la comunicación y que funcionen bien todos los controles que la
acompañan, los datos se agrupan; es decir, que se agrega un encabezado a
los paquetes de datos que permitirán sincronizar las transmisiones y garantizar
su recepción.

ATRIBUTOS TCP

TCP tiene la tarea de hacer confiables los servicios proporcionados por IP y


posee los siguientes atributos:

1. Orientado a conexión (circuitos virtuales)


2. Asegura la entrega de datos a la aplicación destino en la secuencia
correcta y sin error para esto el receptor envía un mensaje de
reconocimiento ACK
3. Establece Control de flujo; es decir, si el buffer de datos en el extremo
receptor de la conexión comienza a saturarse, TCP le indica al extremo
transmisor que reduzca su velocidad de transmisión
4. Permite al receptor la detección de errores
INSTITUTO POLITECNICO NACIONAL
5. Entrega datos como secuencia de Bytes al protocolo IP, el cual los
encapsula en datagramas
6. Provee servicio Full-Duplex lo que significa que actua como transmisor y
receptor simultáneamente

COMPARACION ENTRE TCP E IP

El software de IP corre en las computadoras que se comunican y en los routers


que las enlazan, mientras que el de TCP solo corre en las computadoras donde
están las aplicaciones.

IP es un protocolo de la capa de red no orientado a conexión que enruta


paquetes atraves de la red sin garantía de errores, perdidas o duplicación.
TCP es un protocolo Full Duplex orientado a conexión que envía datos de
extremo a extremo sin errores, perdidas o duplicación

FUNCION DE MULTIPLEXION

TCP posibilita la realización de una tarea importante: multiplexar/demultiplexar;


es decir transmitir datos desde diversas aplicaciones en la misma línea o, en
otras palabras, ordenar la información que llega en paralelo.

Multiplexion/demultiplexion

Estas operaciones se realizan empleando el concepto de puertos (o


conexiones), es decir, un número vinculado a un tipo de aplicación que, cuando
se combina con una dirección de IP, permite determinar en forma exclusiva una
aplicación que se ejecuta en una máquina determinada.
INSTITUTO POLITECNICO NACIONAL
OPERACIÓN DEL PROTOCOLO

1. Establecimiento de una conexión. Se determina una ruta única entre


el origen y el destino. Normalmente los recursos se reservan en este
momento para garantizar un grado de servicio constante.

El modulo TCP cliente que requiere la conexión envía un segmento al modulo


TCP del servidor, con las siguientes características:

 Bandera SYN activa


 ISN asignado aleatoriamente, indicando el comienzo de la numeración
de la secuencia de datos.
 Campo Opciones con la especificación del tamaño máximo de
segmento(MSS)

El modulo TCP del servidor acepta la solicitud para establecer una conexión.

 Bandera SYN activa solicitando la sincronización


 Campo Número de secuencia establece su propio ISN.
 Bandera ACK activa indicando el acuse de recibido.
 Campo Opciones con la especificación de MSS.

El TCP acepta la réplica del modulo servidor

 Bandera ACK activa, indicando que el campo numero de acuse contiene


un numero valido.
 Campo Número de acuse con el siguiente numero de secuencia.
INSTITUTO POLITECNICO NACIONAL

2. Transferencia de datos. Establecida la conexión se comienza la


transferencia de datos numerando cada byte que transfieren a partir del
número de secuencia inicial. TCP usa las dos siguientes técnicas de
control.

 CONTROL DE FLUJO: asegura que el receptor no se inunde con mas


datos de los que es capaz de aceptar. Se controla mediante la técnica
de ventana deslizante
 CONTROL DE ERROR: garantiza la confiabilidad en la entrega de la
secuencia de bytes

TECNICA DE VENTANAS DESLIZANTES

Permite a un modulo enviar varios segmentos sin esperar un ACK para cada
segmento lo que permite usar en forma más eficiente el ancho de banda.

El tamaño de ventana determina la cantidad de datos que se pueden transmitir


en un determinado momento antes de recibir un ACK desde el destino. Cuanto
mayor sea el número de ventana (bytes), mayor será la cantidad de datos que
se pueden transmitir.
INSTITUTO POLITECNICO NACIONAL

3. Terminación de la conexión. Involucra el intercambio de dos mensaje


como se describe

 El extremo TCP indica el cierre de conexión enviando un mensaje con la


bandera FIN puesta.
 El otro extremo contesta con un ACK (esto cierra la conexión en un
sentido por lo que se repite el proceso desde la otra terminal)

Para un mejor entendimiento de la operación del protocolo anexamos este


ejemplo con valores numéricos en el cual nos enfocamos a ciertos campos
como son el número de secuencia, el tamaño de ventana y la longitud del
campo de datos. En este ejemplo se muestra el inicio de conexión (3-way
handshake), la transmisión de datos y el cierre de la conexión.

EJEMPLO

Tipo de Segmento HOST:160.221.172.250 HOST:160.221.73.26

SYN Seq.no. 17768656

(next seq.no. 17768657)

Ack.no. 0

Window 8192

LEN = 0 bytes

SYN-ACK Seq.no. 82980009

(next seq.no. 82980010)

Ack.no. 17768657
INSTITUTO POLITECNICO NACIONAL
Window 8760

LEN = 0 bytes

ACK Seq.no. 17768657

(next seq.no. 17768657)

Ack.no. 82980010

Window 8760

LEN = 0 bytes

Seq.no. 17768657

(next seq.no. 17768729)

Ack.no. 82980010

Window 8760

LEN = 72 bytes of data

Seq.no. 82980010

(next seq.no. 82980070)

Ack.no. 17768729

Window 8688

LEN = 60 bytes of data

Seq.no. 17768729

(next seq.no. 17768885)

Ack.no. 82980070

Window 8700

LEN = 156 bytes of data

Seq.no. 82980070

(next seq.no. 82980222)

Ack.no. 17768885

Window 8532

LEN = 152 bytes of data

FIN Seq.no. 17768885


INSTITUTO POLITECNICO NACIONAL
(next seq.no. 17768886)

Ack.no. 82980222

Window 8548

LEN = 0 bytes

FIN-ACK Seq.no. 82980222

(next seq.no. 82980223)

Ack.no. 17768886

Window 8532

LEN = 0 bytes

ACK Seq.no. 17768886

(next seq.no. 17768886)

Ack.no. 82980223

Window 8548

LEN = 0 bytes

ESTRUCTURA DEL SEGMENTO DE TCP


INSTITUTO POLITECNICO NACIONAL
Puerto de Origen (16 bits):
Numero del puerto que realiza la llamada. Identifica la aplicación en el
transmisor que hace uso del protocolo TCP.

Puerto Destino (16 bits):


Numero de puerto que recibe la llamada. Identifica la aplicación en el extremo
remoto con la cual se desea establecer la conexión.

Numero de Secuencia (32 bits):


Numero utilizado para garantizar la secuencia correcta de los datos entrantes.

 Si el flag SYN está activo (1), entonces este campo indica el número inicial
de secuencia (con lo cual el número de secuencia del primer byte de datos
será este número de secuencia más uno).
 Si el flag SYN no está activo (0), entonces este campo indica el número de
secuencia del primer byte de datos.

Numero de acuse de recibido ASK (32 bits):


Próximo octeto TCP esperado. Identifica el siguiente byte de datos que el
transmisor espera recibir del modulo TCP remoto de la conexión.
Si el bit de control ACK está puesto a uno, este campo contiene el valor del
siguiente número de secuencia que el emisor del segmento espera recibir. Una
vez que una conexión queda establecida, este número se envía siempre.
Posición de datos (4 bits):
Cantidad de palabras de 32 bits del encabezado. Permite al modulo receptor
calcular donde comienzan los datos.

Reservado (6 bits):
Reservado para un futuro. Debe valer 0.

Banderas o Bits de control (6 bits): Son funciones de control

URG: el campo de apuntador de urgencia apunta a un área de datos que


deben ser procesados antes que otros.
ACK: campo numero de acuse de recibo (“acknowledgement”) contiene el
numero de reconocimiento valido, por lo que los datos recibidos hasta antes del
indicado son validos.
PSH: (“push”) que los datos del segmento deben enviarse a la aplicación
destino inmediatamente
RST: debe reiniciar (“reset”) la conexión TCP por que se ha producido un error
en la misma.
INSTITUTO POLITECNICO NACIONAL
SYN: Solicita la sincronización (“synchronize”) de los Números de secuencia.
Se utiliza al establecer una conexión.
FIN: últimos datos del emisor.

Ventana (16 bits):


El número de octetos de datos, a contar a partir del número indicado en el
campo de "Número de acuse de recibo", que el emisor de este segmento está
dispuesto a aceptar. Los tamaños típicos de ventana son 4096, 8192 y 16384.

Checksum (16 bits):


La generación de un valor para este campo incluye el encabezado y los datos
del segmento TCP. Su propósito es ayudar al receptor a detectar un segmento
corrupto.
Es el complemento a uno de 1 6 bits de la suma de los complementos a uno de
todas las palabras de 16 bits de la cabecera y del texto. Si un segmento
contiene un número impar de octetos de cabecera y texto, el último octeto se
rellena con ceros a la derecha para formar una palabra de 16 bits con el
propósito de calcular la suma de control.

Puntero Urgente (16 bits):


Indica el final de los datos urgentes. Este campo solo es válido si la bandera
URG es puesta en 1.

Opciones (variable):
Ocupan cierto espacio al final de la cabecera TCP siempre con una longitud de
múltiplos de 8 bits. Una de sus funciones importantes es la de especificar el
tamaño máximo de buffer del receptor así como la especificación del Máximo
Tamaño de Segmento (MSS).

PUERTOS TCP UDP

En TCP/IP y redes UDP, un puerto es un punto final a una conexión lógica y el


medio por el que un programa cliente se comunica con un programa específico
en una computadora en una red. Algunos puertos tienen números pre
asignados a ellos por la IANA.

Los números de puertos van desde el 0 al 65536, pero sólo los puertos del 0 al
1024 están reservados para servicios privilegiados.

En general, los números de puerto por debajo de 255 fueron originalmente para
aplicaciones públicas (Asignación de números de protocolo de Internet); 255
está reservado.
INSTITUTO POLITECNICO NACIONAL

Los números de puerto 256-1023 son para aplicaciones comercializables de


diversos fabricantes y son considerados como "privilegiados", "bien conocidos"
o una extensión de los puertos asignados.

Los números de puerto por encima de 1024 (1024 están reservados) no están
regulados, se consideran sin privilegios, o registrados, y estos puertos son
comúnmente libres para ser utilizadas por los clientes para comunicarse a los
números de puerto conocido.

Esta lista de números de puertos especifica el puerto usado por el puerto del
servidor como puerto de contacto.

Los RFC 1500 y RFC1700 describen los puertos “bien conocidos” para TCP y
UDP.

Un listado más completo de los puertos podría quedar de la siguiente manera


INSTITUTO POLITECNICO NACIONAL
INSTITUTO POLITECNICO NACIONAL
INSTITUTO POLITECNICO NACIONAL

VENTAJAS E INCONVENIENTES

El conjunto TCP/IP está diseñado para enrutar y tiene un grado muy elevado
de fiabilidad, es adecuado para redes grandes y medianas, así como en redes
empresariales. Se utiliza a nivel mundial para conectarse a Internet y a los
servidores web. Es compatible con las herramientas estándar para analizar el
funcionamiento de la red.

Un inconveniente de TCP/IP es que es más difícil de configurar y de mantener


que NetBEUI o IPX/SPX; además es algo más lento en redes con un volumen
de tráfico medio bajo. Sin embargo, puede ser más rápido en redes con un
volumen de tráfico grande donde haya que enrutar un gran número de tramas.
INSTITUTO POLITECNICO NACIONAL

BIBLIOGRAFIA

TCP Transmission Control Protocol RFC 793

RFC 1500

RFC 1700

Redes LAN/WAN, aplicaciones y servicios Instituto Tecnológico de teléfonos


de México

Redes Locales Protocolos y Enrutadores Instituto Tecnológico de Teléfonos de


México.

Transmisión de Datos y Redes de Comunicaciones Behrouz Forouzan Mc


Graw Hill

Redes de Telecomunicaciones Instituto Tecnológico de Teléfonos de México.

TCP/IP Sindney Feit Mc Graw Hill


INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA MECANICA


Y ELECTRICA

INGENIERIA EN COMUNICACIONES Y
ELECTRONICA

ACADEMIA DE COMUNICACIONES

DESARROLLO PROSPECTIVO DE PROYECTOS

PROTOCOLO TCP

ASESOR: MORALES BECERRA PEDRO MARTIN

ALUMNO:
AVILA MUÑOZ FRANCISCO
Grupo: 8C4M

México, DF. Junio del 2011