Está en la página 1de 40

Ncleo del Modelo OSI.

Enlace de Programas.
Enlace de Niveles inferiores y Niveles Superiores.
Categoras Servicios Ofrecidos por Protocolos de Nivel de
Transporte
A)Entrega Extremo a Extremo
Se encarga de que todo el mensaje y no slo un paquete llegue
intacto a su destino.
B) Direccionamiento
El Nivel de transporte interacta con funciones del nivel de sesin,
sin embargo muchos protocolos combinan protocolos de los tres
niveles superiores en una sola aplicacin, llevando a que la
comunicacin tiene lugar no slo entre una maquina y otra, sino
de una aplicacin a otra aplicacin.
C) Entrega Fiable
Control de Errores: Entrega del Mensaje tal y como fue
emitido.
Control de Secuencia: Segmentacin y Concatenacin.
Control de Perdidas: Que todos lleguen, no slo unos
cuantos.
Control de duplicados: Que no se repitan los paquetes.
D) Control de flujo
El control de flujo en el nivel de transporte tambin utiliza un
protocolo de ventana deslizante, que puede variar en
tamao segn la ocupacin del buffer.
E) Multiplexacin
Puede ser de dos tipos: Multiplexacin hacia arriba y
Multiplexacin hacia abajo.
TCP (Protocolo de Control de Transmisin) es un protocolo
de comunicacin orientado a conexin y fiable del nivel
de transporte. Muchos programas dentro de una red de
datos compuesta por ordenadores pueden usar TCP para
crear conexiones entre ellos a travs de las cuales
enviarse un flujo de datos.
Las Conexiones TCP se dan en tres etapas:
A) Establecimiento de la conexin.
B) Transferencia de Datos.
C) Fin de la conexin.
Puertos TCP: TCP usa el concepto de nmero de puerto
para identificar a las aplicaciones emisoras y receptoras.
Cada lado de la conexin TCP tiene asociado un nmero
de puerto asignado por la aplicacin emisora o
receptora. Los puertos son clasificados en tres
categoras: bien conocidos, registrados y
dinmicos/privados
En el nivel de transporte, los paquetes de bits que constituyen las
unidades de datos de protocolo o PDU (Protocol Data Unit) se llaman
"segmentos". El formato de los segmentos TCP se muestra en el
siguiente esquema:
TCP es un protocolo de transporte puerto a puerto
que ofrece un flujo fiable. Al crear esta conexin,
TCP genera un circuito virtual entre el emisor y el
receptor que se encuentra activo durante la
duracin de la transmisin. TCP comienza cada
transmisin informando al receptor de que hay
datagramas en camino y finaliza cada transmisin
con una terminacin de conexin. De esta forma, el
receptor conoce la transmisin entera en lugar de
un nico paquete. La fiabilidad se asegura
mediante la deteccin de errores y la retransmisin
de las tramas con errores; todos los segmentos
deben ser recibidos y confirmados antes de que la
transmisin se considere completa y se descarte el
circuito virtual.
Direccin del puerto de origen:
Este campo define el programa de aplicacin de origen
Direccin del puerto de destino:
Este campo define el programa de aplicacin de destino
Numero de secuencia:
Un flujo se puede dividir en dos o mas segmentos TCP. muestra la
posicin de los datos en el flujo de datos original.
Numero de confirmacin (32 bits):
Se utiliza para confirmar la recepcin de datos desde el otro
dispositivo que participa en la comunicacin solo si el bit ACK
esta activo.
Longitud de cabecera:
Este campo de 4 bits indica el numero de palabras de 32 bits (4
bytes) de la cabecera TCP. Este valor se multiplica por 4 para
obtener el numero total de bytes de la cabecera. El tamao
mximo de una cabecera puede ser 60 bytes(4 x 15).
Reservado:
Este campo de 6 bits se reserva para un uso futuro
Control:
Cada bit del campo de control se 6 bits funciona de forma individual
e independiente.
URG: Cuando se activa valida el campo de puntero urgente, indica
que los datos son urgentes.
ACK: Valida el campo con el numero de confirmacin
PSH: Indica al emisor que se necesita mas ancho de banda
RST: Se usa para reiniciar la conexin cuando hay confusin en
los nmeros de secuencia
SYN: Se usa para sincronizar los nmeros de secuencia en tres
tipos de segmentos: peticin de conexin, confirmacin de
conexin (con ACK activo) y la recepcin de la confirmacin (con
ACK activo).
Tamao de la ventana:
Define el tamao de la ventana deslizante.
Puntero urgente:
Este es el ltimo campo requerido en la cabecera. Este
solo se activa si el bit URG esta activado. Este anuncia
el final de los datos urgentes y el comienzo de los
datos normales.
Opciones y relleno:
Se utilizan para informacin adicional o para
alineamiento.
El trmino flujo, en este contexto, significa orientado a
conexin: se debe establecer una conexin entre
ambos extremos de la transmisin antes de poder
transmitir datos.
Las conexiones TCP se componen de tres
etapas: establecimiento de conexin,
transferencia de datos y fin de la conexin.
Para establecer la conexin se usa el
procedimiento llamado negociacin en tres
pasos (3-way handshake). Una negociacin
en cuatro pasos (4-way handshake) es
usada para la desconexin. Durante el
establecimiento de la conexin, algunos
parmetros como el nmero de secuencia
son configurados para asegurar la entrega
ordenada de los datos y la robustez de la
comunicacin.
Aunque es posible que un par de entidades finales comiencen
una conexin entre ellas simultneamente, normalmente
una de ellas abre un socket en un determinado puerto tcp y
se queda a la escucha de nuevas conexiones. Es comn
referirse a esto como apertura pasiva, y determina el lado
servidor de una conexin. El lado cliente de una conexin
realiza una apertura activa de un puerto enviando un
paqueteSYN inicial al servidor como parte de la negociacin
en tres pasos. En el lado del servidor se comprueba si el
puerto est abierto, es decir, si existe algn proceso
escuchando en ese puerto. En caso de no estarlo, se enva
al cliente un paquete de respuesta con el bit RST activado,
lo que significa el rechazo del intento de conexin. En caso
de que s se encuentre abierto el puerto, el lado servidor
respondera a la peticin SYN vlida con un paquete
SYN/ACK. Finalmente, el cliente debera responderle al
servidor con un ACK, completando as la negociacin en
tres pasos (SYN, SYN/ACK y ACK) y la fase de
establecimiento de conexin.
Durante la etapa de transferencia de datos, una serie de
mecanismos claves determinan la fiabilidad y robustez del
protocolo. Entre ellos estn incluidos el uso del nmero de
secuencia para ordenar los segmentos TCP recibidos y
detectar paquetes duplicados, checksums para detectar
errores, y asentimientos y temporizadores para detectar
prdidas y retrasos.
Durante el establecimiento de conexin TCP, los nmeros
iniciales de secuencia son intercambiados entre las dos
entidades TCP. Estos nmeros de secuencia son usados para
identificar los datos dentro del flujo de bytes, y poder
identificar (y contar) los bytes de los datos de la aplicacin.
Siempre hay un par de nmeros de secuencia incluidos en
todo segmento TCP, referidos al nmero de secuencia y al
nmero de asentimiento. Un emisor TCP se refiere a su propio
nmero de secuencia cuando habla de nmero de secuencia,
mientras que con el nmero de asentimiento se refiere al
nmero de secuencia del receptor. Para mantener la fiabilidad,
un receptor asiente los forma que el remitente solo retransmita
los segmentos de datos que faltan.
El tamao de la ventana de recepcin TCP es la cantidad de
datos recibidos (en bytes) que pueden ser metidos en el
buffer de recepcin durante la conexin. La entidad
emisora puede enviar una cantidad determinada de datos
pero antes debe esperar un asentimiento con la
actualizacin del tamao de ventana por parte del receptor.
Un ejemplo sera el siguiente: un receptor comienza con un
tamao de ventana x y recibe y bytes, entonces su tamao
de ventana ser (x - y) y el transmisor slo podr mandar
paquetes con un tamao mximo de datos de (x - y) bytes.
Los siguientes paquetes recibidos seguirn restando
tamao a la ventana de recepcin. Esta situacin seguir
as hasta que la aplicacin receptora recoja los datos del
buffer de recepcin.
Para una mayor eficiencia en redes de gran ancho de banda, debe
ser usado un tamao de ventana mayor. El campo TCP de tamao
de ventana controla el movimiento de datos y est limitado a 16
bits, es decir, a un tamao de ventana de 65.535 bytes.
Como el campo de ventana no puede expandirse se usa un factor
de escalado. La escala de ventana TCP (TCP window scale) es
una opcin usada para incrementar el mximo tamao de ventana
desde 65.535 bytes, a 1 Gigabyte.
La opcin de escala de ventana TCP es usada solo durante la
negociacin en tres pasos que constituye el comienzo de la
conexin. El valor de la escala representa el nmero de bits
desplazados a la izquierda de los 16 bits que forman el campo del
tamao de ventana. El valor de la escala puede ir desde 0 (sin
desplazamiento) hasta 14. Hay que recordar que un nmero
binario desplazado un bit a la izquierda es como multiplicarlo en
base decimal por 2.
La fase de finalizacin de la conexin usa una
negociacin en cuatro pasos (four-way handshake),
terminando la conexin desde cada lado
independientemente. Cuando uno de los dos
extremos de la conexin desea parar su "mitad" de
conexin transmite un paquete FIN, que el otro
interlocutor asentir con un ACK. Por tanto, una
desconexin tpica requiere un par de segmentos FIN
y ACK desde cada lado de la conexin.
Una conexin puede estar "medio abierta" en el caso
de que uno de los lados la finalice pero el otro no. El
lado que ha dado por finalizada la conexin no puede
enviar ms datos pero la otra parte si podr.
TCP usa el concepto de nmero de puerto para identificar a las aplicaciones
emisoras y receptoras. Cada lado de la conexin TCP tiene asociado un
nmero de puerto (de 16 bits sin signo, con lo que existen 65536 puertos
posibles) asignado por la aplicacin emisora o receptora. Los puertos son
clasificados en tres categoras: bien conocidos, registrados y
dinmicos/privados. Los puertos bien conocidos son asignados por la
Internet Assigned Numbers Authority (IANA), van del 0 al 1023 y son
usados normalmente por el sistema o por procesos con privilegios. Las
aplicaciones que usan este tipo de puertos son ejecutadas como
servidores y se quedan a la escucha de conexiones. Algunos ejemplos
son: FTP (21), SSH (22), Telnet (23), SMTP (25) y HTTP (80). Los puertos
registrados son normalmente empleados por las aplicaciones de usuario
de forma temporal cuando conectan con los servidores, pero tambin
pueden representar servicios que hayan sido registrados por un tercero
(rango de puertos registrados: 1024 al 49151). Los puertos
dinmicos/privados tambin pueden ser usados por las aplicaciones de
usuario, pero este caso es menos comn. Los puertos
dinmicos/privados no tienen significado fuera de la conexin TCP en la
que fueron usados (rango de puertos dinmicos/privados: 49152 al 65535,
recordemos que el rango total de 2 elevado a la potencia 16, cubre 65536
nmeros, del 0 al 65535).
TCP es un protocolo muy desarrollado y complejo. Sin embargo, mientras
mejoras significativas han sido propuestas y llevadas a cabo a lo largo de los
aos, ha conservado las operaciones ms bsicas sin cambios desde el RFC
793, publicado en 1981. El documento RFC 1122 (Host Requirements for
Internet Hosts), especifica el nmero de requisitos de una implementacin del
protocolo TCP. El RFC 2581 (Control de Congestin TCP) es uno de los ms
importantes documentos relativos a TCP de los ltimos aos, describe
nuevos algoritmos para evitar la congestin excesiva. En 2001, el RFC 3168
fue escrito para describir la Notificacin de Congestin Explcita (ECN), una
forma de eludir la congestin con mecanismos de sealizacin. En los
comienzos del siglo XXI, TCP es usado en el 95% de todos los paquetes que
circulan por Internet. Entre las aplicaciones ms comunes que usan TCP
estn HTTP/HTTPS (World Wide Web), SMTP/POP3/IMAP (correo electrnico) y
FTP (transferencia de ficheros). Su amplia extensin ha sido la prueba para
los desarrolladores originales de que su creacin estaba excepcionalmente
bien hecha.
Recientemente, un nuevo algoritmo de control de congestin fue desarrollado y
nombrado como FAST TCP (Fast Active queue management Scalable
Transmission Control Protocol) por los cientficos de Caltech (California
Institute of Technology). Es similar a TCP Vegas en cuanto a que ambos
detectan la congestin a partir de los retrasos en las colas que sufren los
paquetes al ser enviados a su destino. Todava hay un debate abierto sobre si
ste es un sntoma apropiado para el control de la congestin.
Cada byte en una conexin de TCP tiene su propio nmero de
secuencia de 32 bits.
En TCP se mandan datos en segmentos. Un segmento tiene un
encabezamiento de 20 bytes (ms opciones) y datos de cero o ms
bytes. Hay dos lmites en el tamao de segmentos: el tamao
mximo de un paquete de IP (64K bytes) y la unidad de
transferencia mxima (MTU, maximum transfer unit) de cada red.
Si un segmento es demasiado grande para una red, los ruteadores lo
puede dividir en segmentos nuevos (cada segmento nuevo aade
un overhead de 40 bytes).
TCP usa un protocolo de ventana deslizante. Cuando un emisor
manda un segmento, inicia un reloj. El destino responde con un
segmento que contiene un acuse de recibo con un nmero de
acuse igual al prximo nmero de secuencia que espera. Si el reloj
termina antes de que llegue el acuse, el emisor manda el segmento
de nuevo.
TCP (Transmission-Control-Protocol, en espaol
Protocolo de Control de Transmisin) es uno de los
protocolos fundamentales en Internet. Fue creado entre
los aos 1973 - 1974 por Vint Cerf y Robert Kahn,
proporciona servicios completos de transporte a las
aplicaciones.
El protocolo garantiza que los datos sern entregados en
su destino sin errores y en el mismo orden en que se
transmitieron. Tambin proporciona un mecanismo
para distinguir distintas aplicaciones dentro de una
misma mquina, a travs del concepto de puerto.
TCP da soporte a muchas de las aplicaciones ms
populares de Internet, incluidas HTTP, SMTP, SSH y
FTP.
TCP es un protocolo de comunicacin orientado a conexin y
fiable del nivel de transporte, actualmente documentado por
IETF RFC 793. Es un protocolo de capa 4 segn el modelo OSI.
En la pila de protocolos TCP/IP, TCP es la capa intermedia entre el
protocolo de internet (IP) y la aplicacin. Habitualmente, las
aplicaciones necesitan que la comunicacin sea fiable y, dado
que la capa IP aporta un servicio de datagramas no fiable (sin
confirmacin), TCP aade las funciones necesarias para prestar
un servicio que permita que la comunicacin entre dos sistemas
se efecte: libre de errores, sin prdidas y con seguridad.
Es el protocolo de transporte no orientado a
conexin.
UDP es un protocolo simple que intercambia
datagramas, sin acuse de recibo ni entrega
garantizada.
El procesamiento de errores y retransmisin deben
ser manejados por otros protocolos de capa
superior.
UDP est diseado para las aplicaciones que no
necesitan agrupar secuencias de segmentos.
Entre los protocolos que usan UDP se incluyen:
TFTP, SNMP, DHCP, DNS
UDP, por lo tanto es una interface entre IP y los
procesos de capas superiores.
Puerto origen: Nmero del puerto que realiza la llamada
Puerto destino: Nmero del puerto que recibe la llamada
Longitud: Longitud del segmento en bytes.
Suma de comprobacin: Suma de comprobacin
calculada del encabezado y de los campos de datos
Datos: Datos de protocolo de capa superior
Tanto TCP como UDP usan nmeros de puerto (o socket) para
enviar informacin a las capas superiores. Los nmeros de
puerto se usan para mantener un seguimiento de las
distintas conversaciones que atraviesan la red al mismo
tiempo. Los desarrolladores de software de aplicacin han
acordado utilizar los nmeros de puerto conocidos que se
definen en una documentacin llamada RFC1700. Por
ejemplo, cualquier conversacin destinada a la aplicacin
FTP utiliza el nmero de puerto estndar 21. A las
conversaciones que no involucran aplicaciones con
nmeros de puerto conocidos se les asignan nmeros de
puerto que se seleccionan al azar a partir de un intervalo
especfico. Estos nmeros de puerto se usan como
direcciones origen y destino en el segmento TCP.
Algunos puertos se reservan tanto en TCP como en
UDP, aunque es posible que las aplicaciones no
estn diseadas para soportarlos. Los nmeros de
puerto tienen los siguientes intervalos asignados:
Los nmeros inferiores a 255 se usan para
aplicaciones pblicas.
Los nmeros del 255 al 1023 son asignados a
empresas para aplicaciones comercializables.
Los nmeros superiores a 1023 no estn
regulados.
Los sistemas finales usan nmeros de puerto para
seleccionar las aplicaciones adecuadas. Los
nmeros de puerto origen son asignados
dinmicamente por el host origen; normalmente
es un nmero mayor que 1023.
Puerto/protocolo Descripcin
n/d / GRE GRE (protocolo IP 47) Enrutamiento y acceso remoto
n/d / ESP IPSec ESP (protocolo IP 50) Enrutamiento y acceso remoto
n/d / AH IPSec AH (protocolo IP 51) Enrutamiento y acceso remoto
1/tcp 1/tcp Multiplexor TCP
7/tcp Protocolo Echo (Eco) Reponde con eco a llamadas remotas
7/udp Protocolo Echo (Eco) Reponde con eco a llamadas remotas
9/tcp Protocolo Discard Elimina cualquier dato que recibe
9/udp Protocolo Discard Elimina cualquier dato que recibe
13/tcp Protocolo Daytime Fecha y hora actuales
17/tcp Quote of the Day (Cita del Da)
19/tcp Protocolo Chargen Generador de caractres
19/udp Protocolo Chargen Generador de caractres
20/tcp FTP File Transfer Protocol (Protocolo de Transferencia de Ficheros) - datos
21/tcp FTP File Transfer Protocol (Protocolo de Transferencia de Ficheros) - control
22/tcp SSH, scp, SFTP
23/tcp Telnet comunicaciones de texto inseguras
25/tcp SMTP Simple Mail Transfer Protocol (Protocolo Simple de Transferencia de Correo)
37/tcp time
43/tcp nicname
Los servicios orientados a conexin se dividen
en tres fases.
Fase de establecimiento de la conexin: 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.
Fase de transferencia de datos: los datos se
transmiten secuencialmente siguiendo la ruta
establecida, llegando a su destino en el orden
en que se enviaron.
Fase de terminacin de la conexin: consiste
en finalizar la conexin entre el origen y el
destino cuando ya no se necesita.
Veamos un poco como se hace ese intercambio de
informacin:
Los hosts TCP establecen una sesin orientada a conexin
entre s mediante un 3-WayHandshake, lo cual sincroniza
una conexin en ambos extremos antes de transferir datos.
Garantiza que, si se pierden datos debido a problemas de
transmisin, se puedan recuperar.
El hostA inicia una conexin enviando un paquete con el # de
secuencia inicial: X y el bitSYN activado en el encabezado
para indicar una solicitud de conexin.
El hostB recibe el SYN, graba el nmero de secuencia X,
responde confirmando el SYN (con un ACK=X+1) e incluye
su propio nmero de secuencia inicial Y.
El nmero de confirmacin X + 1 significa que el
host ha recibido todos los octetos enviados
incluyendo el X, y espera X + 1 a continuacin.
El acuse de recibo y retransmisin positivos, o PAR
es una tcnica utilizada por muchos protocolos
para proporcionar confiabilidad.
Se inicializa un temporizador y espera confirmacin
antes de enviar un nuevo paquete, si no se recibe
confirmacin, el origen retransmite el paquete.
La utilizacin de PAR implica un uso deficiente del
ancho de banda, ya que se debe esperar la
confirmacin antes de enviar un nuevo paquete, y
slo se puede enviar un paquete a la vez.

También podría gustarte