Un
protocolo es el conjunto de normas para comunicarse dos o más entidades
( objetos que se intercambian información ) . Los elementos que
definen un protocolo son :
vSintaxis
: formato , codificación y niveles de señal de datos .
vSemántica
: información de control y gestión de errores .
vTemporización
: coordinación entre la velocidad y orden secuencial de las señales
.
Las
características más importantes de un protocolo son :
vDirecto/indirecto
: los enlaces punto a punto son directos pero los enlaces entre dos entidades
en diferentes redes son indirectos ya que intervienen elementos intermedios
.
vMonolítico/estructurado
: monolítico es aquel en que el emisor tiene el control en una sola
capa de todo el proceso de transferencia . En protocolos estructurados
, hay varias capas que se coordinan y que dividen la tarea de comunicación
.
vSimétrico/asimétrico
: los simétricos son aquellos en que las dos entidades que se comunican
son semejantes en cuanto a poder tanto emisores como consumidores de información
. Un protocolo es asimétrico si una de las entidades tiene funciones
diferentes de la otra ( por ejemplo en clientes y servidores ) .
vNormalizado/no
normalizado :
los no normalizados son aquellos creados específicamente para un
caso concreto y que no va a ser necesario conectarlos con agentes externos
. En la actualidad , para poder intercomunicar muchas entidades es necesaria
una normalización .
1.Segmentación
y ensamblado
:generalmente
es necesario dividir los bloques de datos en unidades pequeñas e
iguales en tamaño , y este proceso se le llama segmentación
. El bloque básico de segmento en una cierta capa de un protocolo
se le llama PDU ( Unidad de datos de protocolo ) . La necesidad de la utilización
de bloque es por :
vLa
red sólo admite la transmisión de bloques de un cierto tamaño
.
vEl
control de errores es más eficiente para bloques pequeños
.
vPara
evitar monopolización de la red para una entidad , se emplean bloques
pequeños y así una compartición de la red .
vCon
bloques pequeños las necesidades de almacenamiento temporal son
menores .
Hay
ciertas desventajas en la utilización de segmentos :
vLa
información de control necesaria en cada bloque disminuye la eficiencia
en la transmisión .
vLos
receptores pueden necesitar interrupciones para recibir cada bloque , con
lo que en bloques pequeños habrá más interrupciones
.
vCuantas
más PDU , más tiempo de procesamiento .
2.Encapsulado
: se
trata del proceso de adherir información de control al segmento
de datos . Esta información de control es el direccionamiento del
emisor/receptor , código de detección de errores y control
de protocolo .
3.Control
de conexión
:
hay bloques de datos sólo de control y otros de datos y control
. Cuando se utilizan datagramas , todos los bloques incluyen control y
datos ya que cada PDU se trata como independiente . En circuitos virtuales
hay bloques de control que son los encargados de establecer la conexión
del circuito virtual . Hay protocolos más sencillos y otros más
complejos , por lo que los protocolos de los emisores y receptores deben
de ser compatibles al menos .Además de la fase de establecimiento
de conexión ( en circuitos virtuales ) está la fase de transferencia
y la de corte de conexión . Si se utilizan circuitos virtuales habrá
que numerar los PDU y llevar un control en el emisor y en el receptor de
los números .
4.Entrega
ordenada :
el envío de PDU puede acarrear el problema de que si hay varios
caminos posibles , lleguen al receptor PDU desordenados o repetidos , por
lo que el receptor debe de tener un mecanismo para reordenar los PDU .
Hay sistemas que tienen un mecanismo de numeración con módulo
algún número ; esto hace que el módulo sean lo suficientemente
alto como para que sea imposible que haya dos segmentos en la red al mismo
tiempo y con el mismo número .
5.Control
de flujo :
hay controles de flujo de parada y espera o de ventana deslizante . El
control de flujo es necesario en varios protocolos o capas , ya que el
problema de saturación del receptor se puede producir en cualquier
capa del protocolo .
6.Control
de errores
:
generalmente se utiliza un temporizador para retransmitir una trama una
vez que no se ha recibido confirmación después de expirar
el tiempo del temporizador . Cada capa de protocolo debe de tener su propio
control de errores .
7.Direccionamiento
:
cada estación o dispositivo intermedio de almacenamiento debe tener
una dirección única . A su vez , en cada terminal o sistema
final puede haber varios agentes o programas que utilizan la red , por
lo que cada uno de ellos tiene asociado un puerto .
Además
de estas direcciones globales , cada estación o terminal de una
subred debe de tener una dirección de subred ( generalmente en el
nivel MAC ) .
Hay
ocasiones en las que se usa un identificador de conexión ; esto
se hace así cuando dos estaciones establecen un circuito virtual
y a esa conexión la numeran(
con un identificador de conexión conocido por ambas ) . La utilización
de este identificador simplifica los mecanismos de envío de datos
ya que por ejemplo es más sencillo que el direccionamiento global
.
Algunas
veces se hace necesario que un emisor emita hacia varias entidades a la
vez y para eso se les asigna un direccionamiento similar a todas .
8.Multiplexación
:
es posible multiplexar las conexiones de una capa hacia otra , es decir
que de una única conexión de una capa superior , se pueden
establecer varias conexiones en una capa inferior ( y al revés )
.
9.Servicios
de transmisión
:
los servicios que puede prestar un protocolo son :
·Prioridad
: hay mensajes ( los de control ) que deben tener prioridad respecto a
otros .
·Grado
de servicio : hay datos que deben de retardarse y otros acelerarse ( vídeo
) .
·Seguridad
.
El
sistema de comunicaciones del modelo OSI estructura el proceso en varias
capas que interaccionan entre sí . Un capa proporciona servicios
a la capa superior siguiente y toma los servicios que le presta la siguiente
capa inferior .
De
esta manera , el problema se divide en subproblemas más pequeños
y por tanto más manejables .
Para
comunicarse dos sistemas , ambos tienen el mismo modelo de capas . La capa
más alta del sistema emisor se comunica con la capa más alta
del sistema receptor , pero esta comunicación se realiza vía
capas inferiores de cada sistema .La única comunicación directa
entre capas de ambos sistemas es en la capa inferior ( capa física
) .
Los
datos parten del emisor y cada capa le adjunta datos de control hasta que
llegan a la capa física . En esta capa son pasados a la red y recibidos
por la capa física del receptor . Luego irán siendo captados
los datos de control de cada capa y pasados a una capa superior . Al final
, los datos llegan limpios a la capa superior .
Cada
capa tiene la facultad de poder trocear los datos que le llegan en trozos
más pequeños para su propio manejo . Luego serán reensamblados
en la capa paritaria de la estación de destino .
El
proceso de descomposición del problema de comunicaciones en capas
hace posible la normalización de cada capa por independiente y la
posible modificación de una capa sin afectar a las demás
.
Es
preciso el empleo de normalizaciones para que dos sistemas puedan conocerse
y poder comunicarse con plena exactitud , sin ambigüedades .
Para
que dos capas de dos sistemas se puedan comunicar es necesario que estén
definidas las mismas funciones en ambos , aunque el cómo se implementen
en la capa inferior de cada sistema sea diferente .
Las
capas inferiores suministran a las superiores una serie de funciones o
primitivas y una serie de parámetros . La implementación
concreta de estas funciones está oculta para la capa superior .,
ésta sólo puede utilizar las funciones y los parámetros
para comunicarse con la capa inferior ( paso de datos y control ) .
1.Capa
física
:se
encarga de pasar bits al medio físico y de suministrar servicios
a la siguiente capa . Para ello debe conocer las características
mecánicas , eléctricas , funcionales y de procedimiento de
las líneas .
2.Capa
de enlace de datos
:
esta capa debe de encargarse de que los datos se envíen con seguridad
a su destino y libres de errores . Cuando la conexión no es punto
a punto , esta capa no puede asegurar su cometido y es la capa superior
quien lo debe hacer .
3.Capa
de red :
esta capa se encarga de enlazar con la red y encaminar los datos hacia
sus lugares o direcciones de destino . Para esto , se produce un diálogo
con la red para establecer prioridades y encaminamientos . Esta y las dos
capas inferiores son las encargadas de todo el proceso externo al propio
sistema y que están tanto en terminales como en enlaces o repetidores
.
4.Capa
de transporte
:
esta capa se encarga de que los datos enviados y recibidos lleguen en orden
, sin duplicar y sin errores . Puede ser servicio de transporte orientado
a conexión ( conmutación de circuitos o circuitos virtuales
)o no orientado a conexión
( datagramas ) .
5.Capa
de sesión
:
se encarga de proporcional diálogo entre aplicaciones finales para
el uso eficiente de las comunicaciones . Puede agrupar datos de diversas
aplicaciones para enviarlos juntos o incluso detener la comunicación
y restablecer el envío tras realizar algún tipo de actividad
.
6.Capa
de presentación
:
esta capa se encarga de definir los formatos de los datos y si es necesario
, procesarlos para su envío . Este proceso puede ser el de compresión
o el de paso a algún sistema de codificación . En resumen
, se encarga de la sintaxis .
7.Capa
de aplicación :
esta capa acoge a todas las aplicaciones que requieren la red . Permite
que varias aplicaciones compartan la red .
Hay
una serie de razones por las que los protocolos TCP/IP han ganado a los
OSI :
vLos
TCP/IP estaban ya operativos antes de que OSI se normalizara , por lo que
empezaron a utilizarse y luego el coste implicado en cambiar a OSI impidió
este trasvase .
vLa
necesidad de EEUU de utilizar un protocolo operativo hizo que adaptara
el TCP/IP que ya lo era y así arrastró a los demás
a su utilización ( ya que es el mayor consumidor de software ) .
vEl
incremento de Internet ha lanzado el uso de TCP/IP .
La
filosofía de descomposición del problema de la comunicación
en capas es similar que en OSI .El
problema de OSI es que en una capa , todos los protocolos deben de tener
un funcionamiento similar además de utilizar las funciones definidas
en la capa inferior y de suministrar funciones a la capa superior . De
esta forma , en OSI , dos sistemas deben tener en la misma capa los mismos
protocolos .
TCP/IP
permite que en una misma capa pueda haber protocolos diferentes en funcionamiento
siempre que utilicen las funciones suministradas por la capa inferior y
provean a la superior de otras funciones .
En
OSI , es imprescindible el pasa de una capa a otra pasando por todas las
intermedias . En TCP/IP esto no se hace imprescindible y es posible que
una capa superior utilice directamente a cualquier capa inferior y no siempre
pasando por las intermedias . Por ejemplo , en TCP/IP , una capa de aplicación
puede utilizar servicios de una capa IP .
Aunque
no hay un TCP/IP oficial , se pueden establecer 5 capas :
1.Capa
de aplicación
:
proporciona comunicación entre procesos o aplicaciones en computadores
distintos .
2.Capa
de transporte o computador-a-computador :
encargada de transferir datos entre computadores sin detalles de red pero
con mecanismos de seguridad .
3.Capa
de internet
:
se encarga de direccionar y guiar los datos desde el origen al destino
a través de la red o redes intermedias .
4.Capa
de acceso a la red
:
interfaz entre sistema final y la subred a la que está conectado
.
5.Capa
física
: define
las características del medio , señalización y codificación
de las señales .
IP
está en todos los computadores y dispositivos de encaminamiento
y se encarga de retransmitir datos desde un computador a otro pasando por
todos los dispositivos de encaminamiento necesarios .
TCP
está implementado sólo en los computadores y se encarga de
suministrar a IP los bloques de datos y de comprobar que han llegado a
su destino .
Cada
computador debe tener una dirección global a toda la red . Además
, cada proceso debe tener un puerto o dirección local dentro de
cada computador para que TCP entregue los datos a la aplicación
adecuada .
Cuando
por ejemplo u computador A desea pasar un bloque desde una aplicación
con puerto 1 a una aplicación con puerto 2 en un computador B ,
TCP de A pasa los datos a su IP , y éste sólo mira la dirección
del computador B , pasa los datos por la red hasta IP de B y éste
los entrega a TCP de B , que se encarga de pasarlos al puerto 2 de B .
La
capa IP pasa sus datos y bits de control a la de acceso a la red con información
sobre qué encaminamiento tomar , y ésta es la encargada de
pasarlos a la red.
Cada
capa va añadiendo bits de control al bloque que le llega antes de
pasarlo a la capa siguiente . En la recepción , el proceso es el
contrario .
TCP
adjunta datos de : puerto de destino , número de secuencia de trama
o bloque y bits de comprobación de errores .
IP
adjunta datos a cada trama o bloque de : dirección del computador
de destino , de encaminamiento a seguir .
La
capa de acceso a la red adhiere al bloque : dirección de la subred
de destino y facilidades como prioridades .
Cuando
el paquete llega a su primera estación de encaminamiento , ésta
le quita los datos puestos por la capa de acceso a la red y lee los datos
de control puestos por IP para saber el destino , luego que ha seleccionado
la siguiente estación de encaminamiento , pone esa dirección
y la de la estación de destino junto al bloque y lo pasa a la capa
de acceso a la red .
Hay
muchas aplicaciones que no requieren todos los protocolos y pueden utilizar
sólo algunos sin problemas .
Hay
una serie de protocolos implementados dentro de TCP/IP :
vProtocolo
sencillo de transferencia de correo ( SMTP ):
es un protocolo de servicio de correo electrónico , listas de correo
, etc...y su misión es tomar un mensaje de un editor de texto o
programa de correo y enviarlo a una dirección de correo electrónico
mediante TCP/IP .
vProtocolo
de transferencia de ficheros ( FTP )
:
permite el envío y recepción de ficheros de cualquier tipo
de o hacia un usuario . Cuando se desea el envío , se realiza una
conexión TCP con el receptor y se le pasa información sobre
el tipo y acciones sobre el fichero así como los accesos y usuarios
que pueden acceder a él . Una vez realizado esto , se envía
el fichero . Finalizado esto , se puede cortar la conexión .
vTELNET
:
es un protocolo para que dos computadores lejanos se puedan conectar y
trabajar uno en el otro como si estuviera conectado directamente . Uno
de ellos es el usuario y el otro el servidor . TCP se encarga del intercambio
de información .
.