11
. 1 . Funcionamiento de los puentes
Los
puentes son mecanismos para conectar varias LAN . Generalmente conectan LAN con
idénticos protocolos de capa física y de acceso al medio ( MAC ) . Se podría
pensar en construir una LAN grande en vez de conectar varias LAN mediante
puentes , pero :
v
Cuando hay una sola LAN , un fallo en una zona , bloquearía toda la LAN
. Cuando se conectan varias LAN con puentes , el fallo en una LAN no implica el
fallo en la otra .
v
Varias LAN pequeñas tienen mayores prestaciones que una grande , sobre
todo porque las longitudes de cableado son menores .
v
El establecer varias LAN en vez de una sóla , mejora las condiciones de
seguridad , ya que hay áreas que deben ser más seguras y así se implementan
con una LAN conectada con las otras LAN .
v
Cuando ha dos LAN separadas geográficamente , es más sencillo y barato
conectarlas con un puente que usar cable coaxial por ejemplo .
11.1.1.
Funciones de un puente
Los
puentes , al conectar dos LAN con el mismo protocolo MAC , no cambian el
contenido de las tramas ; su única función es captar las tramas de una LAN y
repetirlas en la otra LAN , sin modificarlas .
Los
puentes deben tener una memoria temporal para albergar las tramas a intercambiar
de LAN .
Además
, los puentes deben conocer el direccionamiento suficiente para saber qué
tramas van a una LAN y qué otras va a otra LAN .
Los
puentes deben tener capacidad de interconectar más de dos LAN .
Desde
el punto de vista de cada estación , todas las demás estaciones están en su
misma LAN y es el puente el encargado de encaminar las tramas .
Otras
funciones adicionales que pueden tener los puentes son encaminamientos hacia
otros puentes , y de esta forma pueden saber los costes para llegar de unas
estaciones a otras . . Además , los puentes temporales pueden tener memorias
donde guardar tramas a la espera de envío cuando hay saturación en las líneas
.
11.1.2.
Arquitectura del protocolo de puentes
Los
puentes realizan su actividad en la capa de acceso al medio . Por lo tanto , su
única funciones encaminar la trama a la LAN de destino , sin añadir ninguna
información adicional a la trama suministrada por la MAC del emisor .
11
. 2 . Encaminamiento con puentes
Hay
puentes que sólo se encargan de retransmitir tramas a LAN de destino , sin
realizar encaminamiento . Pero hay puentes que realizan encaminamiento .
El
encaminamiento es necesario cuando los puentes conectan más de dos LAN . Esto
es así porque hay que decidir si las tramas , para llegar a su destino , deben
de ser encaminadas hacia ciertas LAN o hacia otras ( ya que habrá LAN que no
lleven la trama a su destino ) .
También
puede ocurrir que falle un camino hacia una estación de destino , de forma que
el puente debe de hacerse cargo de este fallo e intentar encaminar las tramas
hacia otros caminos que no fallen . Es decir que el puente debe de ser capaz de
alterar sus encaminamientos previstos para adaptarse a la incidencias en las
redes que conecta .
11.2.1.
Encaminamiento estático
Los
puentes tienen de antemano unas rutas predefinidas para el tránsito de tramas ,
y en el caso de que haya dos caminos posibles , se selecciona generalmente el de
menos saltos .Cada puente debe tener una matriz para saber los encaminamientos
dependiendo de a qué estación se desee enviar la trama .
Es decir que por cada LAN que conecta el puente , debe de haber una
columna y tantas filas como estaciones contenga esa LAN .
Una
vez realizado esto , es fácil encaminar las tramas a las LAN de destino .
El
inconveniente principal de estos puentes es su limitación para adaptarse a
condiciones cambiantes , aunque tiene ventajas en cuanto a sencillez y bajo
coste .
11.2.2.
Encaminamiento con árbol de expansión
Estos
puentes automatizan un proceso de creación de tablas de encaminamiento
actualizadas . Es decir , su información cambia dinámicamente .
Hay
tres procesos en la creación del árbol de expansión :
v
Reenvío
de tramas : en un principio , el puente tiene
sus tablas de encaminamiento vacías ,
de forma que inicialmente utiliza la técnica de inundación ( envía las tramas
a todas las direcciones posibles ) y conforme va rellenando las tablas de
encaminamientos , su conocimiento de dónde debe enviar cada trama dependiendo
de la dirección de destino va aumentando . Para esto , utiliza puertos de forma
que va asociando cada dirección a un puerto que conecta con una LAN o con otro
puente .
v
Aprendizaje
de direcciones : para mantener la actualización
permanente de las tablas , el puente utiliza los campos de direccionamiento de
la trama MAC . Cada vez que llega una trama al puente , éste mira la dirección
de donde proviene y comprueba si esta dirección ya existe en sus tablas , y en
caso de que no exista o de que se haya modificado , la actualiza con los datos
obtenidos de la trama .
v
Algoritmo
del árbol de expansión : para evitar bucles
cerrados ( ya que puede ocurrir que dos puentes se pasen tramas desconocidas de
forma ininterrumpida ) , se utiliza la teoría de grafos que dice que es posible
construir un árbol de expansión sin ciclos a partir de cualquier grafo conectado . Para realizar esto , los puentes deben de pasarse
información , que es mediante un protocolo especial de puentes . Además ,
cuando dos LAN están conectadas por más de un puente , se eliminan todos los
puentes excepto uno . Este proceso de creación de un árbol de expansión debe
de hacerlo el propio sistema de puentes sin intervención de usuarios .
11.2.3.
Encaminamiento en el origen
La
norma IEEE 802.5 ha creado un estándar en el que la estación de origen incluye
ya en la trama el encaminamiento , y el puente sólo debe leerlo para saber si
debe retransmitir la trama o no . Sus características principales son :
v
Funcionamiento
básico : la estación de origen debe d4e elegir
el encaminamiento e incluir esta información en la trama . De esta forma , el
puente sólo debe mantener información sobre su identificador ( ya que el
emisor debe conocer la ruta a seguir por la trama ) y sobre las LAN que conecta
.
v
Directivas
de encaminamiento y modos de direccionamiento :hay
4 órdenes que puede llevar implícitas una trama desde el origen :
1.
Nulo : la trama sólo puede llegar a estaciones de su misma LAN .
2.
Sin difusión : sólo se describe una ruta posible , las demás no se
pueden utilizar .
3.
Difusión a través de todas las rutas : la trama se difunde a todas las
rutas posibles ( pueden llegar muchas copias al destino ) .
4.
Difusión a través de una única ruta : la trama se encamina a todas las
rutas posibles , pero el empleo del algoritmo de árbol de expansión , sólo
llega una trama al destino .
v
Descubrimiento
y selección de rutas : hay tres formas posibles
de que una estación e origen puede encaminar su trama al destino :
1.
Se carga manualmente la información en cada estación , lo que es
sencillo pero no hace posible la automatización del proceso de encaminamiento y
además es difícil de hacerse funcionar cuando hay fallos en los
encaminamientos .
2.
Una estación en cada LAN mantiene la información de encaminamientos
respecto al exterior , y las demás estaciones de esa LAN sólo consultan a esta
estación de información sobre sus encaminamientos .
3.
Cada estación debe de buscar su encaminamiento por su cuenta .
La
norma IEEE sólo utiliza la opción 3 . Cada estación origen envía una trama
de control a una estación de destino de forma que cuando ésta recibe la trama
, responde informando sobre el camino que ha seguido esta trama . De esta forma
, de todas las respuestas recibidas por la trama origen , selecciona la más idónea
y la guarda en su base de datos para las siguientes tramas .
12
. PROTOCOLOS Y ARQUITECTURA
12.1.1.
Características
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 :
v
Sintaxis : formato , codificación y niveles de señal de datos .
v
Semántica : información de control y gestión de errores .
v
Temporización : coordinación entre la velocidad y orden secuencial de
las señales .
Las
características más importantes de un protocolo son :
v
Directo/indirecto : los enlaces punto a punto son directos pero los
enlaces entre dos entidades en diferentes redes son indirectos ya que
intervienen elementos intermedios .
v
Monolí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 .
v
Simé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 ) .
v
Normalizado/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 .
12.1.2.
Funciones
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 :
v
La red sólo admite la transmisión de bloques de un cierto tamaño .
v
El control de errores es más eficiente para bloques pequeños .
v
Para evitar monopolización de la red para una entidad , se emplean
bloques pequeños y así una compartición de la red .
v
Con bloques pequeños las necesidades de almacenamiento temporal son
menores .
Hay ciertas desventajas en la
utilización de segmentos :
v
La información de control necesaria en cada bloque disminuye la
eficiencia en la transmisión .
v
Los receptores pueden necesitar interrupciones para recibir cada bloque ,
con lo que en bloques pequeños habrá más interrupciones .
v
Cuantas 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 :
v
Prioridad : hay mensajes ( los de control ) que deben tener prioridad
respecto a otros .
v
Grado de servicio : hay datos que deben de retardarse y otros acelerarse
( vídeo ) .
v Seguridad
12.2.1.
El modelo
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 .
12.2.2.
Normalización dentro del modelo OSI
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 .
12.2.3.
Primitivas de servicio y parámetros
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 ) .
12.2.4.
Las capas de OSI
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 .
12
. 3 . Arquitectura de protocolos TCP / IP
Hay
una serie de razones por las que los protocolos TCP/IP han ganado a los OSI :
v
Los 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 .
v
La 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 ) .
v
El incremento de Internet ha lanzado el uso de TCP/IP .
12.3.1.
El enfoque TPC/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 .
12.3.2. Arquitectura de protocolos TCP/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 .
12.3.3. Funcionamiento de TCP e IP
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 .
12.3.4.
Interfaces de protocolo
Hay
muchas aplicaciones que no requieren todos los protocolos y pueden utilizar sólo
algunos sin problemas .
12.3.5.
Las aplicaciones
Hay
una serie de protocolos implementados dentro de TCP/IP :
v
Protocolo
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 .
v
Protocolo
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 .
v
TELNET
: 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 .
13
. INTERCONEXION ENTRE REDES
13 . 1 . Principios de la
interconexión entre redes
13.1.1.
Requisitos
1.
Proporcionar un enlace entre redes .
2.
Proporcionar encaminamientos y entrega de datos entre procesos de
diferentes redes .
3.
Mantener un mecanismo de contabilidad y estado de redes y encaminamientos
.
4.
Proporcionar estos servicios sin tener que cambiar la arquitectura de la
red .
Para
esto , los sistemas se tienen que acomodar a las diferencias entre las redes con
:
a)
Diferentes esquemas de direccionamiento .
b)
Diferente tamaño máximo de bloque .
c)
Diferentes mecanismos de acceso a la red .
d)
Diferentes valores de expiración de los temporizadores .
e)
Recuperación de errores .
f)
Informes de estado .
g)
Técnicas de encaminamiento .
h)
Control de acceso al usuario .
i)
Conexión , sin conexión .
13.1.2.
Enfoques sobre la arquitectura
El modo de
funcionamiento ( en datagramas o en circuitos virtuales ) determina la
arquitectura de la red .
a)
Modo de funcionamiento con conexión :
cuando se emplea este tipo de funcionamiento ( generalmente en circuitos
virtuales ) cada sistema intermedio conecta dos subredes . Para pasar información
desde un emisor hasta un receptor , ambos sistemas establecen un circuito lógico
a través de una serie de sistemas intermedios .Estos sistemas intermedios son
los mismos y únicos para cada conexión de los dos equipos conectados .
Para
los usuarios emisor y receptor , parece que la conexión es punto a punto . Para
hacer esto posible , la capa de red del emisor , receptor y sistemas intermedios
deben de proporcionar funciones similares .
b)
Modo de
funcionamiento sin conexión : en funcionamiento
sin conexión ( generalmente en datagramas ) el emisor envía un bloque a la red
y cada sistema intermedio repite el bloque para encaminarlo al sistema final .
De esta forma , es posible que el mismo bloque llegue al destino varias veces y
por distintos caminos .
En
cada unidad de encaminamiento se decide el mejor camino a seguir por cada bloque
, independientemente de que pertenezca al mismo emisor y al mismo destino . Para
esto , es necesario que todos los sistemas emisor , receptor e intermedios tenga
un protocolo similar de red ( IP ) .
c)
Enfoque
utilizando puentes : mediante los puentes , es
la capa MAC ( debajo de la de red ) la encargada de la retransmisión de los
bloques . Para esto , los sistemas inicial y final deben compartir la capa de
red y transporte . Además , todas las redes deben usar el mismo protocolo en la
capa de enlace .
13
. 2 . Interconexión entre redes sin conexión
.13.2.1.
Operación de un esquema de interconexión sin conexión
IP
proporciona un servicio sin conexión ( con datagramas ) con las siguientes
ventajas :
v
Es un sistema flexible ya que permite trabajar con muchos tipos de redes
. Algunas incluso con conexión .
v
Es un sistema muy robusto .
v
Es el mejor sistema para un protocolo de transporte sin conexión .
Ejemplo
: sean dos sistemas ( A y B ) que pertenecen a dos redes distintas conectadas
por medio de otra red WAN . La red WAN es de conmutación de paquetes . Los
sistemas A y B deben de tener el mismo protocolo IP de red e idénticos
protocolos superiores ( de transporte y de aplicación ) . Los dispositivos de
encaminamiento sólo deben de implementar las capas de red e inferiores . El
protocolo IP de A recibe bloques de datos y les añade una cabecera de dirección
global de red ( dirección de red de la estación B ) . De esta forma , se
construye un datagrama . Este datagrama se pasa a la red y es recibido por el
primer sistema de encaminamiento que lee la cabecera IP y pone la cabecera
necesaria para poder ser leído por la WAN . La WAN lo recibe y lo pasa al
sistema de encaminamiento que lo va a guiar a la estación final . Este sistema
de encaminamiento quita la cabecera de la WAN y pone la de IP para enviarlo al
sistema final donde llegará a su protocolo IP ( y será pasado sin cabecera IP
a su capa superior ) . Bajo el protocolo IP está el LLC , el MAC y el físico .
Cada uno de estos protocolos va añadiendo su propia cabecera que será quitada
y puesta otra vez por cada uno de los sistemas de encaminamiento . El sistema
final hace lo mismo . Cuando un dispositivo de encaminamiento lee la cabecera IP
del datagrama que tiene que encaminar y no sabe dónde enviarlo , devuelve un
datagrama con la información del error .
Cada
nueva unidad de datos se pone en cola de su capa inferior hasta que le llega el
turno de ser enviada . Si hay dos redes conectadas por un sistema de
encaminamiento , éste puede desechar datagramas de su cola para así no
perjudicar la red más rápida esperando datagramas de la más lenta .
IP
no garantiza que los datos lleguen a su destino y en orden , es TCP la que se
encarga de esto .
IP
, al no garantizar el orden y llegada de datos , funcionará con cualquier tipo
de red ya que los datos pueden seguir caminos múltiples antes de llegar a su
destino . Esto le permite además , cambiar de rutas cuando hay congestión o
algún tipo de compatibilidad .
13.2.2.
Cuestiones de diseño
La
arquitectura de interconexión de redes es similar , en su ámbito , a la
arquitectura de red de conmutación de paquetes . Los dispositivos de
encaminamiento son similares en su funcionamiento a los nodos de conmutación de
paquetes y usan las redes intermedias de una forma semejante a los enlaces de
transmisión .
d)
Encaminamiento :
se implementa mediante una tabla en cada sistema de encaminamiento y en cada
sistema final . Por cada red de destino , el siguiente dispositivo de
encaminamiento al que hay que enviar el datagrama .Las tablas pueden ser estáticas
o dinámicas , siendo las dinámicas mejores porque se pueden actualizar para
cuando hay congestión o sistemas intermedios en mal funcionamiento . En las
tablas se puede incluir sistemas para manejar la seguridad ( se le puede impedir
el acceso a ciertas redes a ciertas estaciones no acreditadas ) . Pude hacerse
encaminamiento en la fuente , indicando ésta en el datagrama el camino a seguir
. En los propios datagramas , los sistemas de encaminamiento pueden adjuntar
información de su dirección para difundirla en la red .
e)
Tiempo
de vida de los datagramas : para evitar que un
datagrama circule indefinidamente por la red , se puede adjuntar un contador de
saltos ( que se decremente cada vez que salta a un dispositivo de encaminamiento
) o un contador de tiempo que haga que pasado un cierto tiempo , el datagrama
sea destruido por un dispositivo de encaminamiento .
f)
Segmentación
y ensamblado : puede ser necesario que los
paquetes , al pasar de unas redes a otras , deban de ser troceados por
necesidades propias de dichas redes . Se puede dejar que el sistema final los
vuelca a ensamblar , pero esto hace que haya demasiado trabajo para él y además
, puede que haya subredes intermedias que puedan trabajar con bloques más
grandes que los suministrados por la red anterior , de forma que se pierde
eficiencia . Pero las ventajas de este sistema de ensamblado al final es que los
dispositivos de encaminamiento no tienen que mantener en memoria los sucesivos
trozos del datagrama y además se permite encaminamiento dinámico ( ya que los
sucesivos trozos no tienen por qué tomar el mismo encaminamiento ) . En IP se
hace ensamblado final . El sistema final debe de tener la suficiente memoria
para ir guardando los trozos para ensamblarlos cuando lleguen todos . Como IP no
garantiza la llegada de todos los datos , se debe utilizar un sistema de
temporización ( bien usando un tiempo propio desde la llegada del primer trozo
del datagrama o bien usando los datos de temporización incluidos en la cabecera
del datagrama ) .
g)
Control
de errores : IP no garantiza la llegada de un
datagrama , pero debe de informar a la estación o dispositivo de encaminamiento
del error .
h)
Control
de flujo : el control de flujo en servicios sin
conexión se realiza enviando tramas de retención a los dispositivos anteriores
para que éstos paren de enviar datos .
13 . 3 . El protocolo Internet
13.3.1.
Servicios IP
Los
servicios que proporciona IP a TCP son : Send
( envío ) y Deliver (
entrega ) .
TCP
utiliza Send para solicitar el envío de una unidad de datos y Delive es
utilizada por IP para notificar a TCP que una unidad de datos ha llegado . Los
campos incluidos en estas dos llamadas son : dirección origen y destino de los
datos , usuario IP , identificador de bloque de datos , indicador sobre si está
permitida la segmentación del bloque , tipo de servicio , tiempo de vida ,
longitud de los datos , datos . Algunos campos no son necesarios para Deliver .
El
tipo de servicio solicitado puede ser de encaminamiento lo más rápido posible
, lo más seguro posible , prioridad , etc...
13.3.2.
Protocolo IP
El
datagrama tiene varios campos , entre los que se encuentran :
v
Versión . Para futuras versiones .
v
Longitud de la cabecera Internet .
v
Tipo de servicio . Seguridad , prioridades , etc...
v
Longitud total del datagrama .
v
Identificador del datagrama .
v
Indicadores de permiso de segmentación . Para poder usarse en sistemas
en los que se deba segmentar en el
destino o en dispositivos intermedios .
v
Desplazamiento del fragmento . Identifica dónde va el fragmento dentro
del datagrama fragmentado .
v
Tiempo de vida . Tiempo de espera antes de destruir el datagrama .
v
Suma de comprobación de la cabecera . Para detección de errores .
v
Dirección de origen .
v
Dirección de destino .
v
Opciones variadas . Solicitadas por el usuario que envía los datos .
v
Relleno . Bits para asegurar la multiplicidad para 32 bits .
v
Datos . Datos de usuario .
13.3.3.
Direcciones IP
La
dirección de origen y destino en la cabecera IP es una dirección global de
Internet de 32 bits . De estos 32 bits , algunos identifican al computador y el
resto a la red . Estos campos son variables en extensión para poder ser
flexibles al asignar direcciones de red . Hay diferentes tipos de redes que se
pueden implantar en la dirección de red . Unas son grandes ( con muchas
subredes ) , otras medianas y otras pequeñas . Es posible y adecuado mezclar en
una dirección los tres tipos de clases de redes .
13.3.4.
El protocolo de mensajes de error de Internet ( ICMP )
Este
protocolo es utilizado para enviar mensajes en caso de error . Por ejemplo ,
cuando un datagrama no puede llegar a su destino , cuando llega con error ,
cuando el dispositivo de encaminamiento no tiene espacio de almacenamiento
suficiente , etc...
ICMP
, aunque está en el mismo nivel que IP , le pasa sus mensajes a IP para
encapsularlos y enviarlos a su destino ( en forma de datagrama , por lo que no
se asegura que llegue a su destino ) . Los datagramas suministrados por ICMP
contienen su cabecera y parte de los datos del datagrama erróneo para que el IP
que los reciba sepa qué protocolos había implicados en el error .
Los
casos de error más habituales son que no se encuentre el destino , que se haga
necesaria la segmentación pero esté prohibida por el propio datagrama , que
haya pasado el tiempo permitido para el envío , que el destinatario no pueda
procesar aún el datagrama porque esté sobrecargado de trabajo ( el emisor debe
de disminuir la velocidad de envío cuando reciba el mensaje de error ) , etc...
Además
de los mensajes de error , son posibles mensajes de control para por ejemplo
establecer una conexión , para saber si es posible una conexión con una
determinada dirección ( el mensaje llega al destinatario y es devuelto con una
confirmación o denegación de posibilidad de conexión ) , para comprobar el
tiempo de propagación de datos através de un camino , etc...
14
. PROTOCOLOS DE TRANSPORTE
14 . 1 . Servicios de transporte
Los
servicios de transporte son aquellas funciones y datos que suministra el
protocolo a los usuarios ( ya sean aplicaciones u otras entidades ) de la capa
superior
14.1.1.
Tipo de servicio
Hay
servicios orientados a conexión ( mediante datagramas generalmente ) y no
orientados a conexión ( pueden ser circuitos virtuales ) . Generalmente , un
servicio orientado a conexión es más seguro y proporciona detección de
errores y secuencialidad ( como en capas más inferiores ) . Pero hay casos en
que un servicio no orientado a conexión es más apropiado , como por ejemplo :
v
Recolección de datos de entrada : no es necesaria la conexión constante
y además , una pérdida de datos no es muy significativa ya que más adelante
llegarán nuevos datos .
v
Diseminar datos de salida : no es necesaria una conexión continua cuando
sólo se le avisa a usuarios u otras entidades de ciertos sucesos .
v
Petición-respuesta : cuando un servidos suministra datos pedidos por
varios usuarios no es necesaria la conexión continua .
v
Aplicaciones en tiempo real .
14.1.2.
Calidad del servicio
La
calidad del servicio es una función que el usuario de la capa de transporte
puede solicitar a esta . Por ejemplo , prioridades , retardos mínimos , niveles
bajos de error , etc... Estas funciones las puede solicitar el usuario final y
deben ser tratadas por la capa de transporte y si no puede , se las debe
solicitar a la siguiente capa ( la de internet y así hacia abajo ) .
Por
ejemplo , el protocolo de transferencia de ficheros ( FTP ) requiere un gran
rendimiento , el protocolo de transacción necesita un retardo bajo ( consultas
en bases de datos ) , el protocolo para correo electrónico requiere niveles de
prioridad , etc...
TCP
implementa esta capacidad de optar por varias calidades de servicio , pero OSI
optó por suministrar protocolos diferentes para diferentes tipos de tráfico .
14.1.3.
Transferencia de datos
TCP
debe suministrar modo duplex , aunque también se debe suministrar simplex y
semiduplex .
14.1.4.
Interfaz de usuario
Aunque
no es conveniente la normalización del interfaz de usuario con el TCP ( ya que
es mejor adaptarla al entorno concreto del usuario ) , conviene que la interfaz
evite que el usuario sobrecargue o colapse al protocolo de transporte con datos
.
14.1.5.
Supervisión de la conexión
TCP
se encarga ( en servicios orientados a conexión ) del establecimiento y corte
de la conexión , pero sería conveniente que el usuario pudiera en cierta
medida tomar las riendas de inicio y corte de conexión , siempre y cuando no se
pierdan datos por interrupciones del usuario .
14.1.6.
Transporte rápido
Este
es un servicio que permite enviar datos urgentemente , de forma que adelante en
su llegada a otros menos urgentes . TCP debería implementar este servicio además
del típico de prioridades .
14.1.7.
Informe de estado
TCP
debe suministrar al usuario información sobre prestaciones de conexión ,
direcciones de red , tipo de protocolo en uso , estado de la máquina , etc...
14.1.8.
Seguridad
TCP
puede suministrar control sobre accesos , verificaciones de conexión ,
encriptado y desencriptado de datos , etc...
14 . 2 .
Mecanismos del protocolo de transporte
14.2.1.
Servicio de red seguro con seguimiento
Supongamos
que un servicio de red acepta bloques de datos de tamaño arbitrario y los envía
con seguridad del 100% . Si esto es así , TCP es muy sencillo :
1.
Direccionamiento :
sea un usuario que desee mandar datos a otro pero sin establecer conexión .
Para ello , el usuario especifica la dirección de destino , el identificador de
usuario , puerto del usuario final ,etc... TCP toma los datos necesarios del
bloque pasado por el usuario y luego , tras procesar su parte de trabajo , pasa
el control y los datos a la siguiente capa .
Una
pregunta que debe responderse es ¿ cómo sabe el usuario la dirección del
usuario de destino ? . Bien el usuario sabe la dirección , bien la dirección
está establecida de antemano y es conocida , bien utilizando un servidor de
nombres o bien el destino es un servicio general que se conoce y cuando es
requerido , da la dirección del destino solicitado .
2.
Multiplexación
: TCP puede permitir que varios usuarios la
utilicen mediante varios puertos identificados . La multiplexación puede
hacerse también hacia abajo , estableciendo varios puntos de contacto con la
capa de red para permitir el envío de datos por varios circuitos virtuales ,
aumentando el rendimiento .
3.
Control
de flujo : el control de flujo en TCP es muy
complejo ya que intervienen usuarios ( sin pronosticar su velocidad de emisión
de datos ) . Para controlar el flujo , TCP del destinatario puede hacer 4 cosas
: no hacer nada , en cuyo caso todos
los datos que lleguen después de que se sature TCP serán descartados ( no
confirmados ) y el emisor los retransmitirá ( situación muy ineficaz y poco
segura ) , rechazar los segmentos del
servicio de red , con lo que esta capa controlará el flujo ( ya que tiene
mecanismos para ello ) haciéndole saber a la capa de red del emisor que no se
aceptarán más datos ( este mecanismo es tosco
) , usar protocolo de ventana
deslizante , pero en algunos tipos de redes no seguras , la capa TCP del
emisor no sabe si la falta de confirmaciones es porque se han perdido o por el
control de flujo y un esquema de créditos
es parecido a la ventana deslizante pero las confirmaciones no implican una
aceptación de nuevos segmentos .
4.
Establecimiento
y cierre de la conexión : un usuario informa a
su TCP de que quiere establecer una conexión con otro usuario , entonces TCP
manda una señal de sincronización a la capa TCP del receptor y si el receptor
la admite , el TCP del receptor informa a su usuario de que hay conexión ,
luego manda una señal de sincronización al TCP del emisor y se pone en modo
conexión . Un vez que TCP del emisor recibe la señal de TCP del receptor , se
pone también en conexión establecida . Cualquiera de los dos TCP puede cortar
la conexión . Este tipo de conexión es muy robusta y permite mucha libertad a
ambos lados de la conexión .Para que no se pierdan datos , para poner fin a una
conexión , el que solicita el fin informa al otro de que solicita final de
conexión y espera que se le confirme esta solicitud , de esta forma no se
perderán datos que estén en camino.
14.2.2.
Servicios de red seguros
La
seguridad implica que los segmentos no se pierdan y que lleguen en la secuencia
correcta . En esta capa es complicado asegurar la llegada y la secuencialidad de
los segmentos . Para comprender esto , veamos siete aspectos relacionados :
1.
Transporte en orden :
TCP numera los segmentos con el número de orden de los datos que contiene , es
decir , si el primer segmento se numera con un 0 y contiene 1200 bytes , el
siguiente segmento se numera como 1200 .
2.
Estrategia
de retransmisión : se usa una estrategia de
confirmaciones positivas para que el receptor informe al emisor de la llegada
correcta de un segmento ( confirmar el 4 , confirma todos los anteriores ) .
Cuando no se confirma un segmento antes de que expire un temporizador , se debe
retransmitir . Para fijar el temporizador se puede hacer fijo siempre con un
valor , pero esto no soluciona el problema cuando hay condiciones cambiantes de
tráfico en la red ; la utilización de un temporizador que se adapte a las
condiciones de la red también tiene sus inconvenientes .
3.
Detección
de duplicados : cuando un segmento se pierde ,
el emisor , al no recibir confirmación envía un duplicado , pero supongamos
que lo que ocurrió no fué que se perdió sino que expiró el temporizador o se
perdió la confirmación , entonces al receptor le llegan dos duplicados , por
lo que debe de ser capaz de conservar uno y desechar el otro . Un problema a
tener en cuenta es que la numeración de los segmentos se debe hacer módulo un
número muy grande para que no se numeren dos segmentos con el mismo número y
que ambos estén en la red al mismo
tiempo.
Un problema adicional es que haya segmentos circulando aún cuando la
conexión se haya cerrado , si un instante después se abre otra vez , el
receptor podría recibir estos segmentos que ya no son válidos y confundirlos
con los nuevos de la nueva transmisión , y para solucionar esto , el receptor
debe recordar los últimos segmentos que recibió en la última conexión .
4.
Control
de flujo : el tipo de control d flujo más
robusto es el de créditos . Este sistema consiste en que cuando el receptor
recibe un segmento , en la confirmación se incluye este segmento y todos los
anteriores y además se le indica al emisor que hay disponibilidad para aceptar
un número determinado de nuevos segmentos ( crédito ) . Este sistema hace que
si se pierde una confirmación , la siguiente confirma a la anteriormente
perdida y además , cuando un temporizador del emisor expira , éste volverá a
enviar el segmento .
5.
Establecimiento
de la conexión : se requiere un diálogo entre
los dos sistemas para establecer la comunicación y para eso se utiliza una señal
de sincronización . Hay un mecanismo para repetir señales de sincronización
en caso de que estas no lleguen . Para evitar confusión en la repetición de señales
de sincronismo, estas son numeradas, y además tienen un campo de confirmación
de haber sido recibidas.
6.
Cierre
de la conexión : puede darse la situación en
que una señal de fin de conexión se anticipe a uno o varios segmentos de
datos, entonces , se perderán estos segmentos; para evitar esta situación se añade
un campo de último segmento a transmitir en el segmento de señalización de
final de transmisión , de este modo el receptor esperará los segmentos
restantes.
7.
Recuperación
de caídas : Puede ocurrir que uno de los
sistemas falle, caso en el cual se desconectará, perdiéndose todos los datos
que se contenían en su configuración. Pero el otro sistema conectado ignora
que exista este problema, así que continuará enviando datos hasta que sus
temporizadores terminen. Entonces se dará por concluida la desconexión.
14 . 3 . Protocolo de control de transmisión
( TCP )
En
la capa de transporte se especifican dos protocolos que son el TCP ( protocolo
de control de transmisión ) y UDP ( protocolo datagrama de usuario ) . El TCP
es un protocolo orientado a transmisión y el UDP es no orientado a transmisión
. Veamos el TCP :
14.3.1.
Servicios TCP
TCP
proporciona una comunicación segura a través de diversos tipos de redes y
conjuntos de redes interconectadas . TCP garantiza seguridad ( todos los datos
llegarán a su destino ) y precedencia ( se garantiza que el orden de envío se
establecerá correctamente en el destino ) .
Hay
dos funciones que proporciona TCP :
v
Cargar flujo de datos : aunque TCP va agrupando datos en segmentos , el
usuario puede requerir a TCP que agrupe una serie de datos en el mismo segmento
y no añada más .
v
Indicación de datos urgentes : TCP proporciona la posibilidad de avisar
al destino de que los datos que han llegado son de carácter más urgente que
otros . Es el usuario final el que decide qué hacer en este caso .
TCP
suministra más primitivas y parámetros que IP .
14.3.2.
Formato de la cabecera TCP
La
cabecera de segmento de TCP es única y de un gran tamaño . Entre sus campos ,
destacan : puerto de origen , puerto de destino , número de secuencia , número
de confirmación , longitud de cabecera , indicadores , ventana , suma de
verificación , puntero urgente , etc...
Los
puertos son aquellos usuarios que comparten la misma capa de transporte , a cada
uno de ellos se le asigna un número único de puerto .
El
sistema de confirmación sigue el principio llamar a cada segmento según el número
de orden de bytes que tenga , es decir que si un segmento mide 1000 bytes , al
primero se le llama segmento 0 y al siguiente segmento 1000 , etc...
Como
TCP trabaja con IP , algunos campos son pasados a IP y formarán parte de la
cabecera de IP y no en la de TCP .
14.3.3.
Mecanismos de TCP
1.
Establecimiento de la conexión :
la conexión en TCP se realiza a tres bandas , el emisor manda un mensaje de
establecimiento de conexión , el receptor devuelve un mensaje de aceptación y
el emisor comienza el envío . Cada pareja de puertos sólo pueden mantener una
conexión al mismo tiempo , aunque un puerto puede estar conectado a la vez con
varios puertos .
2.
Transferencia
de datos : el sistema es el de asignación de créditos
. La numeración de los segmentos es según el número de secuencia de byte que
contiene . TCP guarda en su memoria temporal los datos hasta completar un
segmento . La confección del segmento la determina TCP . TCP puede forzar el
envío de los datos pendientes aun sin estar completado el segmento . TCP puede
cursar segmentos urgentes .
3.
Cierre
de conexión : el cierre ordenado se produce
cuando ambos TCP ( emisor y receptor ) han enviado una señal de cierre ; cuando
todos los datos pendientes han llegado , se produce la desconexión . Un TCP
puede forzar un cierre , de forma que todos los datos pendientes se perderán .
14.3.4.
Opciones en los criterios de implementación de TCP
TCP
deja cierta libertad para utilizar una serie de implementaciones diferentes :
1.
Criterio de envío :
si no hay indicaciones forzosas de algún criterio de envío por parte del
usuario ( por ejemplo urgencia u otras ) , TCP puede confeccionar los segmentos
como mejor le parezca . Todo depende de consideraciones de rendimiento .
2.
Criterio
de entrega : el TCP del receptor pude hacer lo
mismo que el emisor , entregar a su usuario los segmentos según le convenga al
propio TCP y siguiendo criterios de rendimiento ( en caso de que el usuario no
fuerce la entrega ) .
3.
Criterio
de aceptación : TCP puede tomar dos caminos en
caso de que lleguen segmentos desordenados : o bien deshecha los que lleguen en
desorden o bien deshecha los que lleguen en desorden fuera de una ventana señalada
. La primera opción es la más sencilla pero obliga a la capa de red a mucho
trabajo de retransmisión ; la otra opción es más compleja de utilizar pero
descarga a la capa de red de mucho trabajo .
4.
Criterio
de retransmisión : TCP puede seguir varios
caminos para la retransmisión en caso de expiración del temporizador y no
aceptación de los segmentos . Bien puede retransmitir toda la lista pendiente
en caso de expirar el temporizador del primer segmento o bien puede usar un
temporizador para cada segmento individual y sólo enviará el segmento cuyo
temporizador caiga sin haber recibido confirmación . Todo depende del criterio
de aceptación del receptor para ver qué método es mejor .
Criterio
de confirmación :
el receptor puede o bien confirmar segmento por segmento o bien aguardar un poco
para confirmar un grupo de segmentos , pero para este segundo método debe de
enviar la confirmación antes de que el temporizador del segmento más antiguo
del grupo haya expirado . El primer método es más sencillo pero sobrecarga la
red con tantas confirmaciones . El segundo método es más complejo ( al tener
que calcular el tiempo de espera antes de confirmar un grupo y otros cálculos añadidos
) pero descongestiona la red .
Indice