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

Protocolos de

internet

LOGO

Definicin
La definicin del trmino protocolo es importantsimo.
En la vida real, los protocolos son un conjunto de
hbitos y procedimientos utilizados en las relaciones
interpersonales. Cuando es usado bajo el contexto de
redes de comunicacin el termino protocolo tiene un
significado similar pero a un nivel mas especifico, esto
es, un protocolo de red es un conjunto de reglas,
secuencias, formatos de mensajes y procedimientos
bien detallados que posibilitan la transferencia de
datos entre dos o mas sistemas de computacin.

De manera similar, un protocolo de red


(incluyendo todos los protocolos de internet) es el
termino utilizado para describir como los sistemas de
computacin se comunican con otros a nivel de bit y
de byte.

Tipos de Protocolo
Protocolos de bajo nivel
* IP, Direcciones IP
Su funcin es transmitir trozos de data de un sistema
a otro, la informacin mas importante que requiere IP,
es la direccin de los sistemas de computacin que IP
utiliza para transmitir y recibir data.
El trmino mas familiar para una localizacin en
internet es direccin, cada sistema en internet tiene
direccin. Esta direccin es llamada direccin IP,
existen dos formatos para una direccin IP. Uno es
interno, cada computadora en internet utiliza una
direccin IP compuesta por 4 nmeros, un ejemplo es
198.137.231.1. Sin embargo como es mas fcil para
las personas recordar nombres que numero, se tiene
el otro formato que corresponde a nombres de
direcciones IP.

Tipos de Protocolo
* TCP Y UDP

En general se ha explicado como los sistemas se


comunican a bajo nivel utilizando direcciones IP tanto en el
formato numrico como en el formato de nombres para
identificar la misma. IP no suministra mas capacidades que
enviar y recibir trozos de data se requiere mucho mas que
eso, en este sentido aparecen TCP Y UDP. TCP (Protocolo
de Control de Transmisin) suministra una conexin virtual
entre dos sistemas (lo que significa que pueden existir
muchas conexiones fsicas a partir de una conexin virtual),
con ciertas garantas en los trozos de datos (llamados
paquetes) que son transmitidos entre los sistemas. Dos
garantas son: la retransmisin de los paquetes que son
borrados (por problemas en la red) y la otra es que los
paquetes son recibidos en el mismo orden en que son
enviados. La tercera garanta es que cada paquete recibido
tiene exactamente el mismo contenido que el paquete
enviado.

Tipos de Protocolo
Algunos aplicaciones utilizan un protocolo distinto que
corre encima de IP, este es llamado UDP (Protocolo
de Datagramas de Usuarios). UDP enva un paquete
de data a la vez (llamado datagrama) a otros sistemas
y no suministra una conexin virtual como lo hace
TCP, asimismo UDP no provee las mismas garantas
que tiene TCP, esto significa que puede darse el caso
de que los paquetes se pierdan o bien no sean
reconstruidos en la forma adecuada.

La utilidad de utilizar UDP en vez de TCP, Si


UDP no es confiable, esta se basa en que TCP tiene
un alto solapamiento en la conexin comparado con
UDP, lo que hace que TCP sea mas lento que UDP.
Para aplicaciones donde la velocidad de ejecucin es
mas importante que la confiabilidad, UDP tiene mas
sentido. Algunos ejemplos incluye audio y video en la
internet y algunas aplicaciones telefnicas.

Tipos de Protocolo
* SLIP Y PPP

En los casos en que una aplicacin de internet


esta corriendo sobre sistemas conectados a una LAN,
probablemente estos estn utilizando IP sobre una red
ETHERNET o Token Ring, con una conexin de
internet dedicada (esclava).

Tanto SLIP como PPP utilizan IP para enviar


data sobre lneas dedicadas. SLIP es la abreviatura
de Lneas seriales IP y PPP es el nombre corto de
Protocolo de Punto a Punto. Ambos toman la data y
los paquetes de IP para que as estos puedan ser
enviados sobre modem en lneas dedicadas.

Tipos de Protocolo
Protocolos de Aplicacin de internet
* FTP y Telnet

FTP (Protocolo de transferencia de archivos)


permite bajar y colocar archivos en la internet. Para
bajar un archivo en un sistema de computacin es
necesario correr una aplicacin cliente de FTP que se
conecta al servidor FTP y procede a bajar el archivo
de su correspondiente directorio o carpeta.

Telnet es una va para realizar una conexin


remota a otro sistema en la red. Un servidor telnet
debe estar corriendo en el sistema remoto y un cliente
de telnet debe estar corriendo en el sistema local. Los
sistema operativos tpicos para servidores telnet son
uns, Windows nt etc.

Tipos de Protocolo
* HTTP

Es el protocolo primario de www. Cuando un


navegador se conecta a un servidor web, este usa http para
recibir paginas web, http tiene la capacidad para transferir
paginas web, grficos y muchos otros tipos de medios
usados en internet.
* Internet, Correo electrnico

El correo electrnico utiliza un protocolo llamado


SMTP (Protocolo de transferencia de correo simple) una
aplicacin cliente de correo electrnico es utilizado para
enviar y recibir mensajes y esta se comunica con un
servidor SMTP el cual esta fuera y se encarga de enviar los
mensajes y tomar la responsabilidad de tomar estos. Una
direccin de correo electrnico esta compuesta de dos
partes: el nombre del usuario y la direccin del servidor, un
ejemplo cduran@consisint.com.

Protocolo IP
La funcin del protocolo IP
El protocolo IP es parte de la capa de Internet
del conjunto de protocolos TCP/IP. Es uno de los
protocolos de Internet ms importantes ya que
permite el desarrollo y transporte de datagramas
de IP (paquetes de datos), aunque sin garantizar
su "entrega". En realidad, el protocolo IP procesa
datagramas de IP de manera independiente al
definir su representacin, ruta y envo.
El protocolo IP determina el destinatario del
mensaje mediante 3 campos:
el campo de direccin IP: Direccin del equipo;

Protocolo IP
el campo de mscara de subred: una mscara de
subred le permite al protocolo IP establecer la
parte de la direccin IP que se relaciona con la
red;
el campo de pasarela predeterminada: le permite
al protocolo de Internet saber a qu equipo enviar
un datagrama, si el equipo de destino no se
encuentra en la red de rea local.

Protocolo IP
Datagramas
Los datos circulan en Internet en forma de
datagramas (tambin conocidos como paquetes).
Los datagramas son datos encapsulados, es
decir, datos a los que se les agrega un
encabezado que contiene informacin sobre su
transporte (como la direccin IP de destino).
Los routers analizan (y eventualmente modifican)
los datos contenidos en un datagrama para que
puedan transitar.

Protocolo IP
A continuacin se indica cmo se ve un
datagrama:
<Versin
(4 bits)

32 bits
Longitud del
encabezado
(4 bits)

Tipo de
servicio
(8 bits)

Identificacin
(16 bits)

Tiempo de vida
(8 bits)

->
Longitud total
(16 bits)

Indicador
(3 bits)
Protocolo
(8 bits)

Suma de comprobacin del


encabezado
(16 bits)

Direccin IP de origen (32 bits)


Direccin IP de destino (32 bits)
Datos

Margen del
fragmento
(13 bits)

Protocolo IP
A continuacin se indican los significados de los
diferentes campos:
Versin (4 bits): es la versin del protocolo IP
que se est utilizando (actualmente se utiliza la
versin 4 IPv4) para verificar la validez del
datagrama. Est codificado en 4 bits.
Longitud del encabezado o IHL por Internet
Header Length (Longitud del encabezado de
Internet) (4 bits): es la cantidad de palabras de 32
bits que componen el encabezado (Importante: el
valor mnimo es 5). Este campo est codificado
en 4 bits.

Protocolo IP
Tipo de servicio (8 bits): indica la forma en la
que se debe procesar el datagrama.
Longitud total (16 bits): indica el tamao total del
datagrama en bytes. El tamao de este campo es
de 2 bytes, por lo tanto el tamao total del
datagrama no puede exceder los 65536 bytes. Si
se lo utiliza junto con el tamao del encabezado,
este campo permite determinar dnde se
encuentran los datos.
Identificacin, indicadores y margen del
fragmento son campos que permiten la
fragmentacin de datagramas. Esto se explica a
continuacin.

Protocolo IP
TTL o Tiempo de vida (8 bits): este campo especifica
el nmero mximo de routers por los que puede pasar
un datagrama. Por lo tanto, este campo disminuye con
cada paso por un router y cuando alcanza el valor
crtico de 0, el router destruye el datagrama. Esto
evita que la red se sobrecargue de datagramas
perdidos.
Protocolo (8 bits): este campo, en notacin decimal,
permite saber de qu protocolo proviene el
datagrama.
ICMP 1
IGMP: 2
TCP: 6
UDP: 17

Protocolo IP
Suma de comprobacin del encabezado (16 bits):
este campo contiene un valor codificado en 16 bits
que permite controlar la integridad del encabezado
para establecer si se ha modificado durante la
transmisin. La suma de comprobacin es la suma de
todas las palabras de 16 bits del encabezado (se
excluye el campo suma de comprobacin). Esto se
realiza de tal modo que cuando se suman los campos
de encabezado (suma de comprobacin inclusive), se
obtenga un nmero con todos los bits en 1.
Direccin IP de origen (32 bits): Este campo
representa la direccin IP del equipo remitente y
permite que el destinatario responda.
Direccin IP de destino (32 bits): direccin IP del
destinatario del mensaje.

Protocolo IP
Fragmentacin de datagramas de IP
Como se ha visto anteriormente, el tamao mximo
de un datagrama es de 65536 bytes. Sin embargo,
este valor nunca es alcanzado porque las redes no
tienen suficiente capacidad para enviar paquetes tan
grandes. Adems, las redes en Internet utilizan
diferentes tecnologas por lo tanto el tamao mximo
de un datagrama vara segn el tipo de red.
El tamao mximo de una trama se denomina MTU
(Unidad de transmisin mxima). El datagrama se
fragmentar si es ms grande que la MTU de la red.

Protocolo IP
Tipo de red

MTU (en bytes)

Arpanet

1000

Ethernet

1500

FDDI

4470

La fragmentacin del datagrama se lleva a cabo a nivel


de router, es decir, durante la transicin de una red con
una MTU grande a una red con una MTU ms pequea.
Si el datagrama es demasiado grande para pasar por la
red, el router lo fragmentar, es decir, lo dividir en
fragmentos ms pequeos que la MTU de la red, de
manera tal que el tamao del fragmento sea un mltiplo
de 8 bytes.

Protocolo IP
El router enviar estos fragmentos de manera
independiente y los volver a encapsular (agregar
un encabezado a cada fragmento) para tener en
cuenta el nuevo tamao del fragmento. Adems,
el router agrega informacin para que el equipo
receptor pueda rearmar los fragmentos en el
orden correcto. Sin embargo, no hay nada que
indique que los fragmentos llegarn en el orden
correcto, ya que se enrutan de manera
independiente.

Protocolo IP
Para tener en cuenta la fragmentacin, cada
datagrama cuenta con diversos campos que permiten
su rearmado:
campo Margen del fragmento (13 bits): campo que
brinda la posicin del comienzo del fragmento en el
datagrama inicial. La unidad de medida para este
campo es 8 bytes (el primer fragmento tiene un valor
cero);
campo Identificacin (16 bits): nmero asignado a
cada fragmento para permitir el rearmado;
campo Longitud total (16 bits): esto se vuelve a
calcular para cada fragmento; campo Indicador (3
bits): est compuesto de tres bits:

Protocolo IP
Enrutamiento IP
El enrutamiento IP es una parte integral de la
capa de Internet del conjunto TCP/IP. El
enrutamiento consiste en asegurar el
enrutamiento de un datagrama de IP a travs de
la red por la ruta ms corta. A esta funcin la
llevan a cabo los equipos denominados routers,
es decir, equipos que conectan al menos dos
redes.

Protocolo TCP
Las caractersticas del protocolo TCP
TCP (que significa Protocolo de Control de
Transmisin) es uno de los principales protocolos de
la capa de transporte del modelo TCP/IP. En el nivel
de aplicacin, posibilita la administracin de datos que
vienen del nivel ms bajo del modelo, o van hacia l,
(es decir, el protocolo IP). Cuando se proporcionan los
datos al protocolo IP, los agrupa en datagramas IP,
fijando el campo del protocolo en 6 (para que sepa
con anticipacin que el protocolo es TCP). TCP es un
protocolo orientado a conexin, es decir, que permite
que dos mquinas que estn comunicadas controlen
el estado de la transmisin.

Protocolo TCP
Las principales caractersticas 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 saturacin de la red.
TCP permite que los datos se formen en segmentos
de longitud variada para "entregarlos" al protocolo IP.
TCP permite multiplexar los datos, es decir, que la
informacin que viene de diferentes fuentes (por
ejemplo, aplicaciones) en la misma lnea pueda
circular simultneamente.
Por ltimo, TCP permite comenzar y finalizar la
comunicacin amablemente.

Protocolo TCP
El 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) slo tienen que enviar los datos en forma de
datagramas, sin preocuparse con el monitoreo de
datos porque esta funcin la cumple la capa de
transporte (o ms especficamente el protocolo TCP).
Durante una comunicacin usando el protocolo TCP,
las dos mquinas deben establecer una conexin. La
mquina emisora (la que solicita la conexin) se llama
cliente, y la mquina receptora se llama servidor.

Protocolo TCP
Por eso es que decimos que estamos en un entorno
Cliente-Servidor.
Las mquinas de dicho entorno se comunican en
modo en lnea, es decir, que la comunicacin se
realiza en ambas direcciones.
Para posibilitar la comunicacin y que funcionen bien
todos los controles que la acompaan, los datos se
agrupan; es decir, que se agrega un encabezado a los
paquetes de datos que permitirn sincronizar las
transmisiones y garantizar su recepcin.
Otra funcin del TCP es la capacidad de controlar la
velocidad de los datos usando su capacidad para
emitir mensajes de tamao variable. Estos mensajes
se llaman segmentos.

Protocolo TCP

La funcin multiplexin
TCP posibilita la realizacin de una tarea
importante: multiplexar/demultiplexar; es
decir transmitir datos desde diversas
aplicaciones en la misma lnea o, en otras
palabras, ordenar la informacin que llega
en paralelo.

Protocolo TCP
Equipo A

multiplexacion

Equipo B

demultiplexacion

Protocolo TCP
Estas operaciones se realizan empleando
el concepto de puertos (o conexiones), es
decir, un nmero vinculado a un tipo de
aplicacin que, cuando se combina con
una direccin de IP, permite determinar en
forma exclusiva una aplicacin que se
ejecuta en una mquina determinada.

Protocolo TCP
El formato de los datos en TCP
Un segmento TCP est formado de la siguiente
manera:
0 1 2 3 4 5 6 7 8 9

1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Puerto de origen

Puerto de destino

Nmero de secuencia
Nmero de acuse de recibo
Margen
de
datos

Reservado

UAPRSF
RCSSYI
GK HT NN

Suma de control

Ventana

Puntero urgente

Opciones

Relleno
Datos

Protocolo TCP
Significado de los diferentes campos:
Puerto de origen (16 bits): Puerto relacionado
con la aplicacin en curso en la mquina origen
Puerto de destino (16 bits): Puerto relacionado
con la aplicacin en curso en la mquina destino
Nmero de secuencia (32 bits): Cuando el
indicador SYN est fijado en 0, el nmero de
secuencia es el de la primera palabra del
segmento actual.
Cuando SYN est fijado en 1, el nmero de
secuencia es igual al nmero de secuencia inicial
utilizado para sincronizar los nmeros de
secuencia (ISN).

Protocolo TCP
Nmero de acuse de recibo (32 bits): El nmero
de acuse de recibo, tambin llamado nmero de
descargo se relaciona con el nmero (secuencia)
del ltimo segmento esperado y no el nmero del
ltimo segmento recibido.
Margen de datos (4 bits): Esto permite ubicar el
inicio de los datos en el paquete. Aqu, el margen
es fundamental porque el campo opcin es de
tamao variable. Reservado (6 bits): Un campo
que actualmente no est en uso pero se
proporciona para el uso futuro. Indicadores (6x1
bit): Los indicadores representan informacin
adicional:

Protocolo TCP
URG: Si este indicador est fijado en 1, el

paquete se debe procesar en forma urgente.


ACK: Si este indicador est fijado en 1, el
paquete es un acuse de recibo.
PSH (PUSH): Si este indicador est fijado en 1, el
paquete opera de acuerdo con el mtodo PUSH.
RST: Si este indicador est fijado en 1, se
restablece la conexin.
SYN: El indicador SYN de TCP indica un pedido
para establecer una conexin.
FIN: Si este indicador est fijado en 1, se
interrumpe la conexin.

Protocolo TCP
Ventana (16 bits): Campo que permite saber la
cantidad de bytes que el receptor desea recibir sin
acuse de recibo.
Suma de control (CRC): La suma de control se
realiza tomando la suma del campo de datos del
encabezado para poder verificar la integridad del
encabezado.
Puntero urgente (16 bits): Indica el nmero de
secuencia despus del cual la informacin se torna
urgente. Opciones (tamao variable): Diversas
opciones
Relleno: Espacio restante despus de que las
opciones se rellenan con ceros para tener una
longitud que sea mltiplo de 32 bits.

Protocolo TCP
Confiabilidad de las transferencias
El protocolo TCP permite garantizar la transferencia
de datos confiable, a pesar de que usa el protocolo IP,
que no incluye ningn monitoreo de la entrega de
datagramas.
De hecho, el protocolo TCP tiene un sistema de acuse
de recibo que permite al cliente y al servidor
garantizar la recepcin mutua de datos.
Cuando se emite un segmento, se lo vincula a un
nmero de secuencia. Con la recepcin de un
segmento de datos, la mquina receptora devolver
un segmento de datos donde el indicador ACK est
fijado en 1 (para poder indicar que es un acuse de
recibo) acompaado por un nmero de acuse de
recibo que equivale al nmero de secuencia anterior.

Protocolo TCP
Segmento 1

ACK 1

Sistema de
Trasmisin

Segmento 2

Sistema de
Recepcin

Protocolo TCP
Adems, usando un temporizador que
comienza con la recepcin del segmento en
el nivel de la mquina originadora, el
segmento se reenva cuando ha transcurrido
el tiempo permitido, ya que en este caso la
mquina originadora considera que el
segmento est perdido.

Protocolo TCP
Segmento 1

Segmento 1

Sistema de
Recepcin

Sistema de
Trasmisin

ACK 1

Protocolo TCP
Sin embargo, si el segmento no est perdido
y llega a destino, la mquina receptora lo
sabr, gracias al nmero de secuencia, que
es un duplicado, y slo retendr el ltimo
segmento que lleg a destino.

Protocolo TCP
Cmo establecer una conexin
Considerando que este proceso de comunicacin,
que se produce con la transmisin y el acuse de
recibo de datos, se basa en un nmero de
secuencia, las mquinas originadora y receptora
(cliente y servidor) deben conocer el nmero de
secuencia inicial de la otra mquina.
La conexin establecida entre las dos
aplicaciones a menudo se realiza siguiendo el
siguiente esquema:
Los puertos TCP deben estar abiertos.

Protocolo TCP
La aplicacin en el servidor es pasiva, es decir,
que la aplicacin escucha y espera una conexin.
La aplicacin del cliente realiza un pedido de
conexin al servidor en el lugar donde la
aplicacin es abierta pasiva. La aplicacin del
cliente se considera "abierta activa".
Las dos mquinas deben sincronizar sus
secuencias usando un mecanismo comnmente
llamado negociacin en tres pasos que tambin
se encuentra durante el cierre de la sesin.

Protocolo TCP
Este dilogo posibilita el inicio de la comunicacin
porque se realiza en tres etapas, como su
nombre lo indica:
En la primera etapa, la mquina originadora (el
cliente) transmite un segmento donde el indicador
SYN est fijado en 1 (para indicar que es un
segmento de sincronizacin), con nmero de
secuencia N llamado nmero de secuencia inicial
del cliente.

Protocolo TCP
En la segunda etapa, la mquina receptora (el
servidor) recibe el segmento inicial que viene del
cliente y luego le enva un acuse de recibo, que
es un segmento en el que el indicador ACK est
fijado en 1 y el indicador SYN est fijado en 1
(porque es nuevamente una sincronizacin). Este
segmento incluye el nmero de secuencia de esta
mquina (el servidor), que es el nmero de
secuencia inicial para el cliente. El campo ms
importante en este segmento es el de acuse de
recibo que contiene el nmero de secuencia
inicial del cliente incrementado en 1.

Protocolo TCP
Por ltimo, el cliente transmite un acuse de
recibo, que es un segmento en el que el indicador
ACK est fijado en 1 y el indicador SYN est
fijado en 0 (ya no es un segmento de
sincronizacin). Su nmero de secuencia est
incrementado y el acuse de recibo representa el
nmero de secuencia inicial del servidor
incrementado en 1.

Protocolo TCP
SYN
Secuencia = C
SYN
ACK = C+1
Secuencia = S

Receptor

Emisor

ACK = S+1
Secuencia = C+1

Protocolo TCP
Despus de esta secuencia con tres
intercambios, las dos mquinas estn
sincronizadas y la comunicacin puede
comenzar.
Existe una tcnica de piratera llamada
falsificacin de IP, que permite corromper
este enlace de aprobacin con fines
maliciosos.

Protocolo TCP
Mtodo de ventana corrediza
En muchos casos, es posible limitar la cantidad
de acuses de recibo con el fin de aliviar el trfico
en la red. Esto se logra fijando un nmero de
secuencia despus del cual se requiera un acuse
de recibo. Este nmero en realidad se guarda en
el campo ventana del encabezado TCP/IP.
Este mtodo se llama efectivamente el "el mtodo
de la ventana corrediza" porque, en cierta
medida, se define una serie de secuencias que
no necesitan acuses de recibo y que se desplaza
a medida que se reciben los acuses de recibo.

Protocolo TCP

123456789

Sistema de
Trasmisin

Sistema de
Recepcin

Protocolo TCP
Adems, el tamao de esta ventana no es fijo. De
hecho, el servidor puede incluir el tamao de la
ventana que considera ms apropiado en sus
acuses de recibo guardndolo en el campo
ventana. De este modo, cuando el acuse de
recibo indica un pedido para aumentar la ventana,
el cliente se desplazar al borde derecho de la
ventana.

123456789

Protocolo TCP
Por el contrario, en el caso de una reduccin,
el cliente no desplazar el borde derecho de
la ventana hacia la izquierda sino que
esperar que avance el borde izquierdo (al
llegar los acuses de recibo).

123456789

Protocolo TCP

Cmo terminar una conexin


El cliente puede pedir que se termine una
conexin del mismo modo que el servidor.
Para terminar una conexin se procede de la
siguiente manera:
Una de las mquinas enva un segmento con
el indicador FIN fijado en 1, y la aplicacin se
autocoloca en estado de espera, es decir que
deja de recibir el segmento actual e ignora los
siguientes.

Protocolo TCP
Despus de recibir este segmento, la otra
mquina enva un acuse de recibo con el
indicador FIN fijado en 1 y sigue enviando los
segmentos en curso. Despus de esto, la
mquina informa a la aplicacin que se ha
recibido un segmento FIN y luego enva un
segmento FIN a la otra mquina, que cierra la
conexin.

Protocolo UDP
El protocolo UDP (Protocolo de datagrama de usuario)
es un protocolo no orientado a conexin de la capa de
transporte del modelo TCP/IP. Este protocolo es muy
simple ya que no proporciona deteccin de errores (no
es un protocolo orientado a conexin).
Por lo tanto, el encabezado del segmento UDP es
muy simple:
puerto de origen
(16 bits);
longitud total
(16 bits);

puerto de destino
(16 bits);
suma de comprobacin del
encabezado
(16 bits);
datos
(longitud variable).

Protocolo UDP
Significado de los diferentes campos
Puerto de origen: es el nmero de puerto
relacionado con la aplicacin del remitente del
segmento UDP. Este campo representa una
direccin de respuesta para el destinatario. Por lo
tanto, este campo es opcional. Esto significa que
si el puerto de origen no est especificado, los 16
bits de este campo se pondrn en cero. En este
caso, el destinatario no podr responder (lo cual
no es estrictamente necesario, en particular para
mensajes unidireccionales).

Protocolo UDP
Puerto de destino: este campo contiene el
puerto correspondiente a la aplicacin del equipo
receptor al que se enva.
Longitud: este campo especifica la longitud total
del segmento, con el encabezado incluido. Sin
embargo, el encabezado tiene una longitud de 4 x
16 bits (que es 8 x 8 bits), por lo tanto la longitud
del campo es necesariamente superior o igual a 8
bytes.
Suma de comprobacin: es una suma de
comprobacin realizada de manera tal que
permita controlar la integridad del segmento.

Protocolo FTP
El protocolo FTP (Protocolo de transferencia de
archivos) es, como su nombre lo indica, un protocolo
para transferir archivos.
La implementacin del FTP se remonta a 1971
cuando se desarroll un sistema de transferencia de
archivos (descrito en RFC141) entre equipos del
Instituto Tecnolgico de Massachusetts (MIT,
Massachusetts Institute of Technology). Desde
entonces, diversos documentos de RFC (peticin de
comentarios) han mejorado el protocolo bsico, pero
las innovaciones ms importantes se llevaron a cabo
en julio de 1973.
Actualmente, el protocolo FTP est definido por RFC
959 (Protocolo de transferencia de archivos (FTP) Especificaciones).

Protocolo FTP
La funcin del protocolo FTP
El protocolo FTP define la manera en que los

datos deben ser transferidos a travs de una red


TCP/IP.
El objetivo del protocolo FTP es:
permitir que equipos remotos puedan compartir
archivos
permitir la independencia entre los sistemas de
archivo del equipo del cliente y del equipo del
servidor
permitir una transferencia de datos eficaz

Protocolo FTP

El modelo FTP
El protocolo FTP est incluido dentro del
modelo cliente-servidor, es decir, un equipo
enva rdenes (el cliente) y el otro espera
solicitudes para llevar a cabo acciones (el
servidor).
Durante una conexin FTP, se encuentran
abiertos dos canales de transmisin:
Un canal de comandos (canal de control)
Un canal de datos

Protocolo FTP

SERVIDOR

CLIENTE
Canal de
Control

Servidor
PI

Comandos
De respuesta

Usuario

GUI

Cliente
PI

Servidor Canal de Datos Usuario


De DTP
DTP

Sistema de
Archivos

Sistema de
Archivos

Protocolo FTP
Por lo tanto, el cliente y el servidor cuentan con
dos procesos que permiten la administracin de
estos dos tipos de informacin:
DTP (Proceso de transferencia de datos) es el
proceso encargado de establecer la conexin y
de administrar el canal de datos. El DTP del lado
del servidor se denomina SERVIDOR DE DTP y
el DTP del lado del cliente se denomina
USUARIO DE DTP.
PI (Intrprete de protocolo) interpreta el protocolo
y permite que el DTP pueda ser controlado
mediante los comandos recibidos a travs del
canal de control.

Protocolo FTP
Esto es diferente en el cliente y el servidor:
El SERVIDOR PI es responsable de escuchar
los comandos que provienen de un USUARIO PI
a travs del canal de control en un puerto de
datos, de establecer la conexin para el canal de
control, de recibir los comandos FTP del
USUARIO PI a travs de ste, de responderles y
de ejecutar el SERVIDOR DE DTP.
El USUARIO PI es responsable de establecer la
conexin con el servidor FTP, de enviar los
comandos FTP, de recibir respuestas del
SERVIDOR PI y de controlar al USUARIO DE
DTP, si fuera necesario.

Protocolo FTP
Cuando un cliente FTP se conecta con un
servidor FTP, el USUARIO PI inicia la
conexin con el servidor de acuerdo con el
protocolo Telnet. El cliente enva comandos
FTP al servidor, el servidor los interpreta,
ejecuta su DTP y despus enva una
respuesta estndar. Una vez que se
establece la conexin, el servidor PI
proporciona el puerto por el cual se enviarn
los datos al Cliente DTP. El cliente DTP
escucha el puerto especificado para los datos
provenientes del servidor.

Protocolo FTP
Es importante tener en cuenta que, debido a
que los puertos de control y de datos son
canales separados, es posible enviar
comandos desde un equipo y recibir datos en
otro. Entonces, por ejemplo, es posible
transferir datos entre dos servidores FTP
mediante el paso indirecto por un cliente para
enviar instrucciones de control y la
transferencia de informacin entre dos
procesos del servidor conectados en el puerto
correcto.

Protocolo FTP
CLIENTE
Servidor
PI
Servidor
DTP

SERVIDOR

SERVIDOR

Servidor
PI

Sistema de
Archivos

Servidor
De DTP

Canal de
Control

Canal de Datos

Servidor
PI
Servidor
DTP

Sistema de
Archivos

Protocolo FTP
En esta configuracin, el protocolo indica que
los canales de control deben permanecer
abiertos durante la transferencia de datos. De
este modo, un servidor puede detener una
transmisin si el canal de control es
interrumpido durante la transmisin.

Protocolo FTP
Los comandos FTP
Toda comunicacin que se realice en el canal de
control sigue las recomendaciones del protocolo
Telnet. Por lo tanto, los comandos FTP son
cadenas de caracteres Telnet (en cdigo NVTASCII) que finalizan con el cdigo de final de
lnea Telnet (es decir, la secuencia <CR>+<LF>,
Retorno de carro seguido del carcter Avance
de lnea indicado como <CRLF>).
Si el comando FTP tiene un parmetro, ste se
separa del comando con un espacio (<SP>).

Protocolo FTP

Los comandos FTP hacen posible especificar:


El puerto utilizado
El mtodo de transferencia de datos
La estructura de datos
La naturaleza de la accin que se va a realizar
(Recuperar, Enumerar, Almacenar, etc.)
Existen tres tipos de comandos FTP diferentes:
Comandos de control de acceso
Comandos de parmetros de transferencia
Comandos de servicio FTP

Protocolo FTP
Comandos de control de acceso
Comando

USER

PASS

ACCT

CWD

CDUP

Descripcin
Cadena de caracteres que permite identificar al usuario. La identificacin del usuario es
necesaria para establecer la comunicacin a travs del canal de datos.
Cadena de caracteres que especifica la contrasea del usuario. Este comando debe ser
inmediatamente precedida por el comando USER. El cliente debe decidir si esconder la
visualizacin de este comando por razones de seguridad.
Cadena de caracteres que especifica la cuenta del usuario. El comando generalmente no es
necesario. Durante la respuesta que acepta la contrasea, si la respuesta es 230, esta etapa
no es necesaria; Si la respuesta es 332, s lo es.
Change Working Directory (Cambiar el directorio de trabajo): este comando permite cambiar el
directorio actual. Este comando requiere la ruta de acceso al directorio para que se complete
como un argumento.
Change to Parent Directory (Cambiar al directorio principal): este comando permite regresar al
directorio principal. Se introdujo para resolver los problemas de denominacin del directorio
principal segn el sistema (generalmente "..").

SMNT

Structure Mount (Montar estructura):

REIN

Reinitialize (Reinicializar):

QUIT

Comando que permite abandonar la sesin actual. Si es necesario, el servidor espera a que
finalice la transferencia en progreso y despus proporciona una respuesta antes de cerrar la
conexin.

Protocolo FTP
Comandos de parmetros de transferencia
Comando
PORT

PASV

TYPE
STRU

MODE

Descripcin
Cadena de caracteres que permite especificar el nmero de
puerto utilizado.
Comando que permite indicar al servidor de DTP que
permanezca a la espera de una conexin en un puerto
especfico elegido aleatoriamente entre los puertos
disponibles. La respuesta a este comando es la direccin IP
del equipo y el puerto.
Este comando permite especificar el tipo de formato en el
cual se enviarn los datos.
Carcter Telnet que especifica la estructura de archivos (F de
File [Archivo], R de Record [Registro], P de Page [Pgina]).
Carcter Telnet que especifica el mtodo de transferencia de
datos (S de Stream [Flujo], B de Block [Bloque], C de
Compressed [Comprimido]).

Protocolo FTP
Comandos de servicio FTP
Comando
RETR

STOR

STOU

APPE

ALLO

Descripcin
Este comando (RETRIEVE [RECUPERAR]) le pide al servidor de DTP
una copia del archivo cuya ruta de acceso se da en los parmetros.
Este comando (store [almacenar]) le pide al servidor de DTP que
acepte los datos enviados por el canal de datos y que los almacene en
un archivo que lleve el nombre que se da en los parmetros. Si el
archivo no existe, el servidor lo crea; de lo contrario, lo sobrescribe.
Este comando es idntico al anterior, slo le pide al servidor que cree
un archivo cuyo nombre sea nico. El nombre del archivo se enva en
la respuesta.
Gracias a este comando (append [adjuntar]) los datos enviados se
concatenan en el archivo que lleva el nombre dado en el parmetro si
ya existe; si no es as, se crea.
Este comando (allocate [reservar]) le pide al servidor que reserve un
espacio de almacenamiento lo suficientemente grande como para
recibir el archivo cuyo nombre se da en el argumento.

Protocolo FTP
REST

RNFR

RNTO

ABOR

DELE

RMD
MKD

Este comando (restart [reiniciar]) permite que se reinicie una transferencia desde
donde se detuvo. Para hacer esto, el comando enva en el parmetro el marcador
que representa la posicin en el archivo donde la transferencia se haba
interrumpido. Despus de este comando se debe enviar inmediatamente un
comando de transferencia.
Este comando (rename from [renombrar desde]) permite volver a nombrar un
archivo. En los parmetros indica el nombre del archivo que se va a renombrar y
debe estar inmediatamente seguido por el comando RNTO.
Este comando (rename from [renombrar a]) permite volver a nombrar un archivo. En
los parmetros indica el nombre del archivo que se va a renombrar y debe estar
inmediatamente seguido por el comando RNFR.
Este comando (abort [cancelar]) le indica al servidor de DTP que abandone todas las
transferencias asociadas con el comando previo. Si no hay conexin de datos
abierta, el servidor de DTP no realiza ninguna accin; de lo contrario, cierra la
conexin. Sin embargo, el canal de control permanece abierto.
Este comando (delete [borrar]) permite que se borre un archivo, cuyo nombre se da
en los parmetros. Este comando es irreversible y la confirmacin slo puede darse
a nivel cliente.
Este comando (remove directory [eliminar directorio]) permite borrar un directorio. El
nombre del directorio que se va a borrar se indica en los parmetros.
Este comando (make directory [crear directorio]) permite crear un directorio. El
nombre del directorio que se va a crear se indica en los parmetros.

Protocolo FTP
PWD

LIST

NLST
SITE
SYST

STAT

HELP

NOOP

Este comando (print working directory [mostrar el directorio actual]) hace posible
volver a enviar la ruta del directorio actual completa.
Este comando permite que se vuelva a enviar la lista de archivos y directorios
presentes en el directorio actual. Esto se enva a travs del DTP pasivo. Es posible
indicar un nombre de directorio en el parmetro de este comando. El servidor de
DTP enviar la lista de archivos del directorio ubicado en el parmetro.
Este comando (name list [lista de nombres]) permite enviar la lista de archivos y
directorios presentes en el directorio actual.
Este comando (site parameters [parmetros del sistema]) hace que el servidor
proporcione servicios especficos no definidos en el protocolo FTP.
Este comando (system [sistema]) permite el envo de informacin acerca del
servidor remoto.
Este comando (Estado: [estado]) permite transmitir el estado del servidor; por
ejemplo, permite conocer el progreso de una transferencia actual. Este comando
acepta una ruta de acceso en el argumento y despus devuelve la misma
informacin que LISTA pero a travs del canal de control.
Este comando permite conocer todos los comandos que el servidor comprende. La
informacin se devuelve por el canal de control.
Este comando (no operations [no operacin]) slo se utiliza para recibir un
comando OK del servidor. Slo se puede utilizar para no desconectarse despus
de un perodo de inactividad prolongado.

Protocolo FTP
Las respuestas FTP
Las respuestas FTP garantizan la sincronizacin entre
el cliente y el servidor FTP. Por lo tanto, por cada
comando enviado por el cliente, el servidor
eventualmente llevar a cabo una accin y
sistemticamente enviar una respuesta.
Las respuestas estn compuestas por un cdigo de 3
dgitos que indica la manera en la que el comando
enviado por el cliente ha sido procesado. Sin
embargo, debido a que el cdigo de 3 dgitos resulta
difcil de leer para las personas, est acompaado de
texto (cadena de caracteres Telnet separada del
cdigo numrico por un espacio).

Protocolo FTP
Los cdigos de respuesta estn compuestos por
3 nmeros, cuyos significados son los siguientes:
El primer nmero indica el estatuto de la
respuesta (exitosa o fallida)
El segundo nmero indica a qu se refiere la
respuesta.
El tercer nmero brinda un significado ms
especfico (relacionado con cada segundo dgito).

Protocolo FTP
Primer nmero
Dgito

Significado

1yz

Respuesta positiva preliminar

2yz

Respuesta de finalizacin positiva

3yz

Respuesta intermedia positiva

4yz

Respuesta de finalizacin negativa

5yz

Respuesta negativa permanente

Descripcin
La accin solicitada est en progreso.
Se debe obtener una segunda
respuesta antes de enviar un segundo
comando.
La accin solicitada se ha completado
y puede enviarse un nuevo comando.
La accin solicita est temporalmente
suspendida. Se espera informacin
adicional del cliente.
La accin solicitada no se ha realizado
debido a que el comando no se ha
aceptado temporalmente. Se le solicita
al cliente que intente ms tarde.
La accin solicitada no se ha realizado
debido a que el comando no ha sido
aceptado. Se le solicita al cliente que
formule una solicitud diferente.

Protocolo FTP
Segundo nmero
Dgito

Significado

Descripcin
La accin tiene un error de sintaxis o sino,
es un comando que el servidor no
comprende.
sta es una respuesta que enva
informacin (por ejemplo, una respuesta a
un comando STAT).

x0z

Sintaxis

x1z

Informacin

x2z

Conexiones

La respuesta se refiere al canal de datos.

x3z

Autenticacin y cuentas

La respuesta se refiere al inicio de sesin


(USUARIO/CONTRASEA) o a la
solicitud para cambiar la cuenta (CPT).

x4z

No utilizado por el protocolo


FTP.

x5z

Sistema de archivos

La respuesta se relaciona con el sistema


de archivos remoto.

Protocolo Telnet
El protocolo Telnet es un protocolo de Internet
estndar que permite conectar terminales y
aplicaciones en Internet. El protocolo proporciona
reglas bsicas que permiten vincular a un cliente
(sistema compuesto de una pantalla y un teclado)
con un intrprete de comandos (del lado del
servidor).
El protocolo Telnet se aplica en una conexin
TCP para enviar datos en formato ASCII
codificados en 8 bits, entre los cuales se
encuentran secuencias de verificacin Telnet. Por
lo tanto, brinda un sistema de comunicacin
orientado bidireccional (semidplex) codificado en
8 bits y fcil de implementar.

Protocolo Telnet

El protocolo Telnet se basa en tres conceptos bsicos:


el paradigma Terminal virtual de red (NVT);
el principio de opciones negociadas;
las reglas de negociacin.
ste es un protocolo base, al que se le aplican otros
protocolos del conjunto TCP/IP (FTP, SMTP, POP3,
etc.). Las especificaciones Telnet no mencionan la
autenticacin porque Telnet se encuentra totalmente
separado de las aplicaciones que lo utilizan (el
protocolo FTP define una secuencia de autenticacin
sobre Telnet). Adems, el protocolo Telnet no es un
protocolo de transferencia de datos seguro, ya que los
datos que transmite circulan en la red como texto sin
codificar (de manera no cifrada)

Protocolo Telnet
Telnet para conectar un host remoto a un equipo que
funciona como servidor, a este protocolo se le asigna
el puerto 23.
Excepto por las opciones asociadas y las reglas de
negociacin, las especificaciones del protocolo Telnet
son bsicas. La transmisin de datos a travs de
Telnet consiste slo en transmitir bytes en el flujo TCP
(el protocolo Telnet especifica que los datos deben
agruparse de manera predeterminada esto es, si
ninguna opcin especifica lo contrario en un bfer
antes de enviarse. Especficamente, esto significa que
de manera predeterminada los datos se envan lnea
por lnea). Cuando se transmite el byte 255, el byte
siguiente debe interpretarse como un comando.

Protocolo Telnet
Por lo tanto, el byte 255 se denomina IAC
(Interpretar como comando). Los comandos se
describen ms adelante en este documento.
Las especificaciones bsicas del protocolo Telnet
se encuentran disponibles en la RFC (peticin de
comentarios) 854, mientras que las distintas
opciones estn descriptas en la RFC 855 hasta la
RFC 861.

Protocolo Telnet
RFC (peticiones de comentarios) relacionadas con Telnet
RFC 854

Especificaciones del protocolo Telnet

RFC 855

Especificaciones de opciones de Telnet

RFC 856

Transmisin binaria en Telnet

RFC 857

Opcin Eco de Telnet

RFC 858

Opcin de suprimir continuacin en Telnet

RFC 859

Opcin Estado de Telnet

RFC 860

Opcin Marca de tiempo de Telnet

RFC 861

Opcin Lista extendida de opciones de Telnet

Protocolo Telnet
La nocin de terminal virtual
Cuando surgi Internet, la red (ARPANET) estaba
compuesta de equipos cuyas configuraciones eran
muy poco homogneas (teclados, juegos de
caracteres, resoluciones, longitud de las lneas
visualizadas). Adems, las sesiones de los terminales
tambin tenan su propia manera de controlar el flujo
de datos entrante/saliente.
Por lo tanto, en lugar de crear adaptadores para cada
tipo de terminal, para que pudiera haber
interoperabilidad entre estos sistemas, se decidi
desarrollar una interfaz estndar denominada NVT
(Terminal virtual de red).

Protocolo Telnet
As, se proporcion una base de comunicacin

estndar, compuesta de:


caracteres ASCII de 7 bits, a los cuales se les
agrega el cdigo ASCII extendido;
tres caracteres de control;
cinco caracteres de control opcionales;
un juego de seales de control bsicas.
Por lo tanto, el protocolo Telnet consiste en crear
una abstraccin del terminal que permita a
cualquier host (cliente o servidor) comunicarse
con otro host sin conocer sus caractersticas.

Protocolo Telnet
El principio de opciones negociadas
Las especificaciones del protocolo Telnet
permiten tener en cuenta el hecho de que ciertos
terminales ofrecen servicios adicionales, no
definidos en las especificaciones bsicas (pero de
acuerdo con las especificaciones), para poder
utilizar funciones avanzadas. Estas
funcionalidades se reflejan como opciones. Por lo
tanto, el protocolo Telnet ofrece un sistema de
negociaciones de opciones que permite el uso de
funciones avanzadas en forma de opciones, en
ambos lados, al iniciar solicitudes para su
autorizacin desde el sistema remoto.

Protocolo Telnet
Las opciones de Telnet afectan por separado cada

direccin del canal de datos. Entonces, cada parte


puede negociar las opciones, es decir, definir las
opciones que:
desea usar (DO);
se niega a usar (DON'T);
desea que la otra parte utilice (WILL);
se niega a que la otra parte utilice (WON'T).
De esta manera, cada parte puede enviar una
solicitud para utilizar una opcin. La otra parte debe
responder si acepta o no el uso de la opcin. Cuando
la solicitud se refiere a la desactivacin de una opcin,
el destinatario de la solicitud no debe rechazarla para
ser completamente compatible con el modelo NVT.

Protocolo Telnet
Opciones negociadas de Telnet
Solicitud
DO

WILL

Respuesta

Interpretacin

WILL

El remitente comienza utilizando la opcin


El remitente no debe utilizar la opcin

WON'T

El remitente no debe utilizar la opcin

DO

El remitente comienza utilizando la opcin,


despus de enviar DO

DON'T

El remitente no debe utilizar la opcin

DON'T

WON'T

WON'T

DON'T

El remitente indica que ha desactivado la


opcin
El remitente indica que el remitente debe
desactivar la opcin

Existen 255 cdigos de opcin. De todas maneras, el protocolo Telnet


proporciona un espacio de direccin que permite describir nuevas opciones.
La RFC (peticin de comentarios) 855 explica cmo documentar una nueva
opcin.

Protocolo Telnet
Las reglas de negociacin
Las reglas de negociacin para las opciones permiten
evitar situaciones de enrollo automtico (por ejemplo,
cuando una de las partes enva solicitudes de
negociacin de opciones a cada confirmacin de la
otra parte).
Las solicitudes slo deben enviarse en el momento de
un cambio de modo.
Cuando una de las partes recibe la solicitud de
cambio de modo, slo debe confirmar su recepcin si
todava no se encuentra en el modo apropiado.
Slo debe insertarse una solicitud en el flujo de datos
en el lugar en el que surte efecto.

Protocolo Telnet
Caracteres de control de salida
Los siguientes caracteres son comandos que permiten
controlar la visualizacin del terminal virtual de red:
Comandos de control para la visualizacin:
Nmero

Cdigo

Nombre

NULL

Nulo

LF

Avance de lnea

CR

Retorno de carro

Significado
Este comando permite enviar datos al host
remoto sin que se interpreten (en particular
para indicar que el host local todava esta
en lnea).
Este comando permite ubicar el cursor en
la lnea siguiente, en la misma posicin
horizontal.
Este comando permite ubicar el cursor en
el extremo izquierdo de la lnea actual.

As, se define el comando CRLF, compuesto de dos comandos


CR y LF uno despus del otro (en cualquier orden). Esto permite
ubicar el cursor en el extremo izquierdo de la lnea siguiente.

Protocolo Telnet
Caracteres de control opcionales
Los caracteres anteriores son los nicos (entre
los 128 caracteres del cdigo ASCII bsico y los
128 caracteres del cdigo ASCII extendido) que
tienen un significado particular para el terminal
virtual de red. Los siguientes caracteres pueden
tener un significado en un terminal virtual de red,
pero no se utilizan necesariamente.

Protocolo Telnet
Comandos de control para la visualizacin
Nmero Cdigo Nombre
7

BEL

BS

HT

11

VT

12

FF

Significado

Este comando permite enviar una seal


Campana
visual o sonora sin cambiar la posicin del
cursor.
Este comando permite cambiar la
Retroceso
posicin del cursor a su posicin anterior.
Este comando permite que la posicin del
Tabulacin
cursor pase a la siguiente tabulacin a la
horizontal
derecha.
Este comando permite que la posicin del
Tabulacin vertical cursor pase a la siguiente tabulacin de la
lnea siguiente.
Este comando permite que la posicin del
Avance de pgina cursor pase al final de la siguiente pgina
mientras conserva su posicin horizontal.

Protocolo Telnet
Caracteres de control de sesin
Los siguientes caracteres son comandos que permiten
controlar la sesin Telnet. Para que puedan
interpretarse como tal, estos comandos deben estar
precedidos por el carcter de escape IAC (Interpretar
como comando). Si estos bytes se transmiten sin
estar precedidos por el carcter IAC, se procesarn
como caracteres simples. Para transmitir el carcter
IAC, este mismo debe estar precedido por un carcter
de escape. En otras palabras, debe estar duplicado.
Los comandos relacionados con una negociacin de
opciones deben estar seguidos de un byte que
especifique la opcin. Estos comandos permiten
interrumpir seales, eliminar informacin en el cach
del terminal, etc.

Protocolo Telnet
Caracteres de control de sesin
Nmero

Cdigo

240

SE

Nombre

Significado
Fin de negociacin de opciones

241

NOP

Sin operacin

242

DM

Marca de datos

243

BRK

Interrupcin

244

IP

Interrumpir proceso

245

AO

Abortar salida

246

AYT

Ests ah?

Este comando permite enviar datos al host remoto


sin que se interpreten (en particular para indicar
que el host local todava esta en lnea).
Permite vaciar todos los bferes entre el terminal
virtual de red y el host remoto. Se relaciona con la
pulsacin del botn de sincronizacin (Synch) NVT
y debe vincularse con una indicacin de
notificacin urgente TCP.
Pausa de caracteres del terminal virtual.
Este comando permite suspender, interrumpir o
abandonar el proceso remoto.
Este comando permite suspender, interrumpir o
abandonar la visualizacin del proceso remoto.
Este comando permite controlar que el sistema
remoto todava est "vivo".

Protocolo Telnet
247

EC

Borrar carcter

248

EL

Borrar lnea

249

GA

Adelante

250

SB

SB

251

WILL

Cdigo de opcin

252

WON'T

Cdigo de opcin

253

DO

Cdigo de opcin

254

DON'T

Cdigo de opcin

255

IAC

Interpretar como comando

Este comando permite borrar el


carcter anterior.
Este comando permite borrar la lnea
anterior.
Este comando permite revertir el
control, para conexiones semidplex
Este comando indica que los datos
que siguen son una negociacin de la
opcin anterior.

Este comando permite interpretar el


byte siguiente como un comando. El
comando IAC permite ir ms all de
los comandos bsicos.

Protocolo HTTP
Introduccin al protocolo HTTP
Desde 1990, el protocolo HTTP (Protocolo de
transferencia de hipertexto) es el protocolo ms utilizado
en Internet. La versin 0.9 slo tena la finalidad de
transferir los datos a travs de Internet (en particular
pginas Web escritas en HTML). La versin 1.0 del
protocolo (la ms utilizada) permite la transferencia de
mensajes con encabezados que describen el contenido
de los mensajes mediante la codificacin MIME.
El propsito del protocolo HTTP es permitir la
transferencia de archivos (principalmente, en formato
HTML). entre un navegador (el cliente) y un servidor web
(denominado, entre otros, httpd en equipos UNIX)
localizado mediante una cadena de caracteres
denominada direccin URL.

Protocolo HTTP
Comunicacin entre el navegador y el
servidor
La comunicacin entre el navegador y el
servidor se lleva a cabo en dos etapas:
El navegador realiza una solicitud HTTP
El servidor procesa la solicitud y despus
enva una respuesta HTTP

Protocolo HTTP
Protocolos TCP/IP

Envo de
encabezados HTTP

Envo de encabezados
de respuesta HTTP
Cliente
(Navegador)

Decodificacin

Solicitudes

Ubicacin
de archivo

Servidor
WEB

Creacin de
encabezados
de formato

Protocolo HTTP
En realidad, la comunicacin se realiza en
ms etapas si se considera el procesamiento
de la solicitud en el servidor. Dado que slo
nos ocupamos del protocolo HTTP, no se
explicar la parte del procesamiento en el
servidor en esta seccin del artculo. Si este
tema les interesa, puede consultar el articulo
sobre el tratamiento de CGI.

Protocolo HTTP
Solicitud HTTP
Una solicitud HTTP es un conjunto de lneas que
el navegador enva al servidor. Incluye:
Una lnea de solicitud: es una lnea que
especifica el tipo de documento solicitado, el
mtodo que se aplicar y la versin del protocolo
utilizada. La lnea est formada por tres
elementos que deben estar separados por un
espacio:
el mtodo
la direccin URL
la versin del protocolo utilizada por el cliente
(por lo general, HTTP/1.0)

Protocolo HTTP
Los campos del encabezado de solicitud: es
un conjunto de lneas opcionales que permiten
aportar informacin adicional sobre la solicitud y/o
el cliente (navegador, sistema operativo, etc.).
Cada una de estas lneas est formada por un
nombre que describe el tipo de encabezado,
seguido de dos puntos (:) y el valor del
encabezado.
El cuerpo de la solicitud: es un conjunto de
lneas opcionales que deben estar separadas de
las lneas precedentes por una lnea en blanco y,
por ejemplo, permiten que se enven datos por un
comando POST durante la transmisin de datos
al servidor utilizando un formulario.

Protocolo HTTP
Por lo tanto, una solicitud HTTP posee la
siguiente sintaxis (<crlf> significa retorno de carro
y avance de lnea):
MTODO VERSIN URL<crlf>ENCABEZADO:
Valor<crlf>. . . ENCABEZADO: Valor<crlf>Lnea
en blanco <crlf>CUERPO DE LA SOLICITUD
A continuacin se encuentra un ejemplo de una
solicitud HTTP:
GET http://es.kioskea.net HTTP/1.0 Accept :
Text/html If-Modified-Since : Saturday, 15January-2000 14:37:11 GMT User-Agent :
Mozilla/4.0 (compatible; MSIE 5.0; Windows 95)

Protocolo HTTP
Comandos
Comando

Descripcin

GET

Solicita el recurso ubicado en la URL especificada

HEAD

Solicita el encabezado del recurso ubicado en la URL


especificada

POST

Enva datos al programa ubicado en la URL especificada

PUT

Enva datos a la URL especificada

DELETE

Borra el recurso ubicado en la URL especificada

Encabezados
Nombre del
encabezado

Descripcin

Accept

Tipo de contenido aceptado por el navegador (por


ejemplo, texto/html). Consulte Tipos de MIME

Accept-Charset

Juego de caracteres que el navegador espera

Accept-Encoding Codificacin de datos que el navegador acepta


Accept-Language

Idioma que el navegador espera (de forma


predeterminada, ingls)

Authorization

Identificacin del navegador en el servidor

Content-Encoding Tipo de codificacin para el cuerpo de la solicitud


Content-Language Tipo de idioma en el cuerpo de la solicitud

Content-Length

Extensin del cuerpo de la solicitud

Content-Type

Tipo de contenido del cuerpo de la solicitud (por ejemplo,


texto/html). Consulte Tipos de MIME

Date

Fecha en que comienza la transferencia de datos

Forwarded
From
From

Utilizado por equipos intermediarios entre el navegador y


el servidor
Permite especificar la direccin de correo electrnico del
cliente
Permite especificar que debe enviarse el documento si ha
sido modificado desde una fecha en particular

Link

Vnculo entre dos direcciones URL

Orig-URL

Direccin URL donde se origin la solicitud

Referer

Direccin URL desde la cual se realiz la solicitud

User-Agent

Cadena con informacin sobre el cliente, por ejemplo, el


nombre y la versin del navegador y el sistema operativo

Respuesta HTTP
Una respuesta HTTP es un conjunto de lneas que el
servidor enva al navegador. Est constituida por:
Incluye:
Una lnea de estado: es una lnea que especifica la
versin del protocolo utilizada y el estado de la
solicitud en proceso mediante un texto explicativo y un
cdigo. La lnea est compuesta por tres elementos
que deben estar separados por un espacio: La lnea
est formada por tres elementos que deben estar
separados por un espacio:
la versin del protocolo utilizada
el cdigo de estado
el significado del cdigo

Los campos del encabezado de respuesta: es


un conjunto de lneas opcionales que permiten
aportar informacin adicional sobre la respuesta
y/o el servidor. Cada una de estas lneas est
compuesta por un nombre que califica el tipo de
encabezado, seguido por dos puntos (:) y por el
valor del encabezado Cada una de estas lneas
est formada por un nombre que describe el tipo
de encabezado, seguido de dos puntos (:) y el
valor del encabezado.
El cuerpo de la respuesta: contiene el
documento solicitado

Por lo tanto, una respuesta HTTP posee la


siguiente sintaxis (<crlf> significa retorno de carro
y avance de lnea):
VERSIN-HTTP CDIGO EXPLICACIN
<crlf>ENCABEZADO: Valor<crlf>. . .
ENCABEZADO: Valor<crlf>Lnea en blanco
<crlf>CUERPO DE LA RESPUESTA A
continuacin se encuentra un ejemplo de una
respuesta HTTP:
HTTP/1.0 200 OK Date: Sat, 15 Jan 2000
14:37:12 GMT Server : Microsoft-IIS/2.0 ContentType : text/HTML Content-Length : 1245 LastModified : Fri, 14 Jan 2000 08:25:13 GMT

Encabezados de respuesta
Nombre del
encabezado

Descripcin

Content-Encoding

Tipo de codificacin para el cuerpo de la respuesta

Content-Language

Tipo de idioma en el cuerpo de la respuesta

Content-Length

Extensin del cuerpo de la respuesta

Content-Type

Tipo de contenido del cuerpo de la respuesta (por


ejemplo, texto/html). Consulte Tipos de MIME

Date

Fecha en que comienza la transferencia de datos

Expires

Fecha lmite de uso de los datos

Forwarded
Location
Server

Utilizado por equipos intermediarios entre el navegador y


el servidor
Redireccionamiento a una nueva direccin URL asociada
con el documento
Caractersticas del servidor que envi la respuesta

Los cdigos de respuesta


Son los cdigos que se ven cuando el navegador
no puede mostrar la pgina solicitada. El cdigo
de respuesta est formado por tres dgitos: el
primero indica el estado y los dos siguientes
explican la naturaleza exacta del error.

Cdigo

Mensaje

Descripcin

10x

Mensaje de
informacin

Estos cdigos no se utilizan en la versin 1.0 del


protocolo

20x

xito

Estos cdigos indican la correcta ejecucin de la


transaccin

200

OK

La solicitud se llev a cabo de manera correcta

201

CREATED

Sigue a un comando POST e indica el xito, la parte restante


del cuerpo indica la direccin URL donde se ubicar el
documento creado recientemente.

202

ACCEPTED

La solicitud ha sido aceptada, pero el procedimiento que sigue


no se ha llevado a cabo

203

PARTIAL
INFORMATION

Cuando se recibe este cdigo en respuesta a un comando de


GET indica que la respuesta no est completa.

204

NO RESPONSE

El servidor ha recibido la solicitud, pero no hay informacin de


respuesta

205

RESET CONTENT

El servidor le indica al navegador que borre el contenido en los


campos de un formulario

PARTIAL CONTENT

Es una respuesta a una solicitud que consiste en el


encabezado range. El servidor debe indicar el encabezado
content-Range

206

Cdigo

Mensaje

Descripcin

30x

Redireccin

Estos cdigos indican que el recurso ya no se


encuentra en la ubicacin especificada

301

302

303

304

MOVED

Los datos solicitados han sido transferidos a una


nueva direccin

FOUND

Los datos solicitados se encuentran en una


nueva direccin URL, pero, no obstante, pueden
haber sido trasladados

METHOD

Significa que el cliente debe intentarlo con una


nueva direccin; es preferible que intente con
otro mtodo en vez de GET

NOT MODIFIED

Si el cliente llev a cabo un comando GET


condicional (con la solicitud relativa a si el
documento ha sido modificado desde la ltima
vez) y el documento no ha sido modificado, este
cdigo se enva como respuesta.

Cdigo

Mensaje

Descripcin

40x

Error debido al
cliente

400

BAD REQUEST

401

UNAUTHORIZED

402

PAYMENT
REQUIRED

Estos cdigos indican que la solicitud es


incorrecta
La sintaxis de la solicitud se encuentra
formulada de manera errnea o es imposible de
responder
Los parmetros del mensaje aportan las
especificaciones de formularios de autorizacin
que se admiten. El cliente debe reformular la
solicitud con los datos de autorizacin correctos
El cliente debe reformular la solicitud con los
datos de pago correctos

403

FORBIDDEN

El acceso al recurso simplemente se deniega

NOT FOUND

Un clsico. El servidor no hall nada en la


direccin especificada. Se ha abandonado sin
dejar una direccin para redireccionar... :)

404

Cdigo

Mensaje

Descripcin

50x

Error debido al servidor

Estos cdigos indican que existe un error interno en


el servidor

500

INTERNAL ERROR

El servidor encontr una condicin inesperada que le


impide seguir con la solicitud (una de esas cosas que les
suceden a los servidores...)

501

NOT IMPLEMENTED

El servidor no admite el servicio solicitado (no puede


saberlo todo...)

502

BAD GATEWAY

El servidor que acta como una puerta de enlace o proxy


ha recibido una respuesta no vlida del servidor al que
intenta acceder

503

El servidor no puede responder en ese momento debido


a que se encuentra congestionado (todas las lneas de
SERVICE UNAVAILABLE
comunicacin se encuentran congestionadas, intntelo
de nuevo ms adelante)

504

La respuesta del servidor ha llevado demasiado tiempo


en relacin al tiempo de espera que la puerta de enlace
poda admitir (excedi el tiempo asignado...)

GATEWAY TIMEOUT

Correo Electrnico

Introduccin al correo electrnico


El correo electrnico es considerado el
servicio ms utilizado de Internet. Por lo tanto,
la serie de protocolos TCP/IP ofrece una
gama de protocolos que permiten una fcil
administracin del enrutamiento del correo
electrnico a travs de la red.

Protocolo SMTP
El protocolo SMTP (Protocolo simple de
transferencia de correo) es el protocolo estndar que
permite la transferencia de correo de un servidor a
otro mediante una conexin punto a punto.
ste es un protocolo que funciona en lnea,
encapsulado en una trama TCP/IP. El correo se enva
directamente al servidor de correo del destinatario. El
protocolo SMTP funciona con comandos de textos
enviados al servidor SMTP (al puerto 25 de manera
predeterminada). A cada comando enviado por el
cliente (validado por la cadena de caracteres ASCII
CR/LF, que equivale a presionar la tecla Enter) le
sigue una respuesta del servidor SMTP compuesta
por un nmero y un mensaje descriptivo.

Protocolo SMTP
A continuacin se describe una situacin en la que se
realiza una solicitud para enviar correos a un servidor
SMTP:
Al abrir la sesin SMTP, el primer comando que se
enva es el comando HELO seguido por un espacio
(escrito <SP>) y el nombre de dominio de su equipo
(para decir "hola, soy este equipo"), y despus
validado por Enter (escrito <CRLF>). Desde abril de
2001, las especificaciones para el protocolo SMTP,
definidas en RFC 2821, indican que el comando
HELO sea remplazado por el comando EHLO.
El segundo comando es "MAIL FROM:" seguido de la
direccin de correo electrnico del remitente. Si se
acepta el comando, el servidor responde con un
mensaje "250 OK".

Protocolo SMTP
El siguiente comando es "RCPT TO:" seguido de
la direccin de correo electrnico del destinatario.
Si se acepta el comando, el servidor responde
con un mensaje "250 OK".
El comando DATA es la tercera etapa para enviar
un correo electrnico. Anuncia el comienzo del
cuerpo del mensaje. Si se acepta el comando, el
servidor responde con un mensaje intermediario
numerado 354 que indica que puede iniciarse el
envo del cuerpo del mensaje y considera el
conjunto de lneas siguientes hasta el final del
mensaje indicado con una lnea que contiene slo
un punto.

Protocolo SMTP
El cuerpo del correo electrnico eventualmente
contenga algunos de los siguientes encabezados:
Date (Fecha)
Subject (Asunto)
Cc
Bcc (Cco)
From (De)
Si se acepta el comando, el servidor responde
con un mensaje "250 OK".

Protocolo SMTP
A continuacin se describe un ejemplo de transaccin
entre un cliente (C) y un servidor SMTP (S):
S: 220 smtp.commentcamarche.net SMTP Ready C:
EHLO machine1.commentcamarche.net S: 250
smtp.commentcamarche.net C: MAIL
FROM:<webmaster@commentcamarche.net> S: 250
OK C: RCPT TO:<meandus@meandus.net> S: 250 C:
RCPT TO:<tittom@tittom.fr> S: 550 No such user here
C: DATA S: 354 Start mail input; end with
<CRLF>.<CRLF> C: Subject: Hola C: Hola Meandus:
C: Cmo andan tus cosas? C: C: Nos vemos pronto!
C: <CRLF>.<CRLF> S: 250 C: QUIT R: 221
smtp.commentcamarche.net closing transmission

Protocolo SMTP
Las especificaciones bsicas del protocolo SMTP indican

que todos los caracteres enviados estn codificados


mediante el cdigo ASCII de 7 bits y que el 8 bit sea
explcitamente cero. Por lo tanto, para enviar caracteres
acentuados es necesario recurrir a algoritmos que se
encuentren dentro de las especificaciones MIME:
base64 para archivos adjuntos
quoted-printable (abreviado QP) para caracteres
especiales utilizados en el cuerpo del mensaje
Por lo tanto, es posible enviar un correo electrnico
utilizando un simple telnet al puerto 25 del servidor SMTP:
telnet smtp.commentcamarche.net 25
(El servidor indicado anteriormente no existe. Intente
reemplazar commentcamarche.net por el nombre de
dominio de su proveedor de servicios de Internet.

Protocolo SMTP
A continuacin se brinda un resumen de los principales
comandos SMTP:
Comando

Ejemplo

HELO (ahora EHLO) EHLO 193.56.47.125

MAIL FROM:
RCPT TO:

MAIL FROM:
originator@domain.com
RCPT TO:
recipient@domain.com

Descripcin
Identificacin que utiliza la
direccin IP o el nombre
de dominio del equipo
remitente
Identificacin de la
direccin del remitente
Identificacin de la
direccin del destinatario
Cuerpo del correo
electrnico

DATA

DATA message

QUIT

QUIT

Salida del servidor SMTP

HELP

HELP

Lista de comandos SMTP


que el servidor admite

Protocolo POP
El protocolo POP (Protocolo de oficina de
correos), como su nombre lo indica, permite
recoger el correo electrnico en un servidor
remoto (servidor POP). Es necesario para las
personas que no estn permanentemente
conectadas a Internet, ya que as pueden
consultar sus correos electrnicos recibidos sin
que ellos estn conectados.
Existen dos versiones principales de este
protocolo, POP2 y POP3, a los que se le asignan
los puertos 109 y 110 respectivamente, y que
funcionan utilizando comandos de texto
radicalmente diferentes.

Protocolo POP
Al igual que con el protocolo SMTP, el protocolo
POP (POP2 y POP3) funciona con comandos de
texto enviados al servidor POP. Cada uno de
estos comandos enviados por el cliente
(validados por la cadena CR/LF) est compuesto
por una palabra clave, posiblemente acompaada
por uno o varios argumentos, y est seguido por
una respuesta del servidor POP compuesta por
un nmero y un mensaje descriptivo.

Protocolo POP
A continuacin se brinda un resumen de los
principales comandos POP2:
Comandos POP2

Comando

Descripcin

HELLO

Identificacin que utiliza la direccin IP del equipo


remitente

FOLDER

Nombre de la bandeja de entrada que se va a consultar

READ

Nmero del mensaje que se va a leer

RETRIEVE

Nmero del mensaje que se va a recoger

SAVE

Nmero del mensaje que se va a guardar

DELETE

Nmero del mensaje que se va a eliminar

QUIT

Salida del servidor POP2

Protocolo POP
A continuacin se brinda un resumen de los
principales comandos POP3
Comandos POP3
Comando
USER
identification

PASS password

Descripcin
Este comando permite la autenticacin. Debe estar seguido del
nombre de usuario, es decir, una cadena de caracteres que identifique
al usuario en el servidor. El comando USER debe preceder al
comando PASS.
El comando PASS permite especificar la contrasea del usuario cuyo
nombre ha sido especificado por un comando USER previo.

STAT

Informacin acerca de los mensajes del servidor

RETR

Nmero del mensaje que se va a recoger

DELE

Nmero del mensaje que se va a eliminar

LIST [msg]

Nmero del mensaje que se va a mostrar

Protocolo POP
NOOP
TOP <messageID>
<n>

UIDL [msg]

QUIT

Permite mantener la conexin abierta en caso de inactividad


Comando que muestra n lneas del mensaje, cuyo nmero se da en el
argumento. En el caso de una respuesta positiva del servidor, ste
enviar de vuelta los encabezados del mensaje, despus una lnea en
blanco y finalmente las primeras n lneas del mensaje.
Solicitud al servidor para que enve una lnea que contenga
informacin sobre el mensaje que eventualmente se dar en el
argumento. Esta lnea contiene una cadena de caracteres denominada
unique identifier listing (lista de identificadores nicos) que permite
identificar de manera nica el mensaje en el servidor,
independientemente de la sesin. El argumento opcional es un nmero
relacionado con un mensaje existente en el servidor POP, es decir, un
mensaje que no se ha borrado.
El comando QUIT solicita la salida del servidor POP3. Lleva a la
eliminacin de todos los mensajes marcados como eliminados y enva
el estado de esta accin.

Protocolo POP
Por lo tanto, el protocolo POP3 administra la
autenticacin utilizando el nombre de usuario y la
contrasea. Sin embargo, esto no es seguro, ya que
las contraseas, al igual que los correos electrnicos,
circulan por la red como texto sin codificar (de manera
no cifrada). En realidad, segn RFC 1939, es posible
cifrar la contrasea utilizando un algoritmo MD5 y
beneficiarse de una autenticacin segura. Sin
embargo, debido a que este comando es opcional,
pocos servidores lo implementan. Adems, el
protocolo POP3 bloquea las bandejas de entrada
durante el acceso, lo que significa que es imposible
que dos usuarios accedan de manera simultnea a la
misma bandeja de entrada.

Protocolo POP
De la misma manera que es posible enviar un
correo electrnico utilizando telnet, tambin es
posible acceder al correo entrante utilizando un
simple telnet por el puerto del servidor POP (110
de manera predeterminada):
telnet mail.commentcamarche.net 110
(El servidor indicado anteriormente no existe.
Intente reemplazar commentcamarche.net por el
nombre de dominio de su proveedor de servicios
de Internet.)

Protocolo POP
S: +OK mail.commentcamarche.net POP3 service
S: (Netscape Messaging Server 4.15 Patch 6
(built Mar 31 2001)) C: USER jeff S: +OK Name is
a valid mailbox C: PASS password S: +OK
Maildrop ready C: STAT S: +OK 2 0 C: TOP 1 5
S: Subject: Hola S: Hola Meandus: S: Cmo
andan tus cosas? S: S: Nos vemos pronto! C:
QUIT S: +OK
La visualizacin de datos que se obtiene depende
del cliente Telnet que est utilizando. Segn su
cliente Telnet, puede ser necesario activar la
opcin echo local (eco local).

Protocolo IMAP
El protocolo IMAP (Protocolo de acceso a
mensajes de Internet) es un protocolo
alternativo al de POP3, pero que ofrece ms
posibilidades:
IMAP permite administrar diversos accesos
de manera simultnea
IMAP permite administrar diversas bandejas
de entrada
IMAP brinda ms criterios que pueden
utilizarse para ordenar los correos
electrnicos

FIN DEL TEMA

Вам также может понравиться