11 . PUENTES

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 . Protocolos

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 . OSI

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

Hosted by www.Geocities.ws

1