Debido
al auge de las transmisiones de datos , la conmutación de circuitos
es un sistema muy ineficiente ya que mantiene las líneas mucho tiempo
ocupadas aun cuando no hay información circulando por ellas . Además
, la conmutación de circuitos requiere que los dos sistemas conectados
trabajen a la misma velocidad , cosa que no suele ocurrir hoy en día
debido a la gran variedad de sistemas que se comunican .
En
conmutación de paquetes , los datos se transmiten en paquetes cortos
. Para transmitir grupos de datos más grandes , el emisor trocea
estos grupos en paquetes más pequeños y les adiciona una
serie de bits de control . En cada nodo , el paquete se recibe , se almacena
durante un cierto tiempo y se transmite hacia el emisor o hacia un nodo
intermedio .
Las
ventajas de la conmutación de paquetes frente a la de circuitos
son :
1.La
eficiencia de la línea es mayor
: ya que cada enlace se comparte entre varios paquetes que estarán
en cola para ser enviados en cuanto sea posible . En conmutación
de circuitos , la línea se utiliza exclusivamente para una conexión
, aunque no haya datos a enviar .
2.Se
permiten conexiones entre estaciones de velocidades diferentes :
esto es posible ya que los paquetes se irán guardando en cada nodo
conforme lleguen ( en una cola ) y se irán enviando a su destino
.
3.No
se bloquean llamadas
: ya que todas las conexiones se aceptan , aunque si hay muchas , se producen
retardos en la transmisión .
4.Se
pueden usar prioridades
: un nodo puede seleccionar de su cola de paquetes en espera de ser transmitidos
, aquellos más prioritarios según ciertos criterios de prioridad
.
Cuando
un emisor necesita enviar un grupo de datos mayor que el tamaño
fijado para un paquete , éste los trocea en paquetes y los envía
uno a uno al receptor .
Hay
dos técnicas básicas para el envío de estos paquetes
:
1.Técnica
de datagramas
: cada paquete se trata de forma independiente , es decir , el emisor enumera
cada paquete , le añade información de control ( por ejemplo
número de paquete , nombre , dirección de destino , etc...)
y lo envía hacia su destino . Puede ocurrir que por haber tomado
caminos diferentes , un paquete con número por ejemplo 6 llegue
a su destino antes que el número 5 . También puede ocurrir
que se pierda el paquete número 4 . Todo esto no lo sabe ni puede
controlar el emisor , por lo que tiene que ser el receptor el encargado
de ordenar los paquetes y saber los que se han perdido ( para su posible
reclamación al emisor ),
y para esto , debe tener el software necesario .
2.Técnica
de circuitos virtuales
: antes de enviar los paquetes de datos , el emisor envía un paquete
de control que es de Petición de Llamada , este paquete se encarga
de establecer un camino lógico de nodo en nodo por donde irán
uno a uno todos los paquetes de datos . De esta forma se establece un camino
virtual para todo el grupo de paquetes . Este camino virtual será
numerado o nombrado inicialmente en el emisor y será el paquete
inicial de Petición de Llamada el encargado de ir informando a cada
uno de los nodos por los que pase de que más adelante irán
llegando los paquetes de datos con ese nombre o número . De esta
forma , el encaminamiento sólo se hace una vez ( para la Petición
de Llamada ) . El sistema es similar a la conmutación de circuitos
, pero se permite a cada nodo mantener multitud de circuitos virtuales
a la vez .
Las
ventajas de los circuitos virtuales frente a los datagramas son :
vEl
encaminamiento en cada nodo sólo se hace una vez para todo el grupo
de paquetes . Por lo que los paquetes llegan antes a su destino .
vTodos
los paquetes llegan en el mismo orden del de partida ya que siguen el mismo
camino .
vEn
cada nodo se realiza detección de errores , por lo que si un paquete
llega erróneo a un nodo , éste lo solicita otra vez al nodo
anterior antes de seguir transmitiendo los siguientes .
Desventajas
de los circuitos virtuales frente a los datagramas :
vEn
datagramas no hay que establecer llamada ( para pocos paquetes , es más
rápida la técnica de datagramas ) .
vLos
datagramas son más flexibles , es decir que si hay congestión
en la red una vez que ya ha partido algún paquete , los siguientes
pueden tomar caminos diferentes ( en circuitos virtuales , esto no es posible
) .
vEl
envío mediante datagramas es más seguro ya que si un nodo
falla , sólo un paquetes se perderá ( en circuitos virtuales
se perderán todos ) .
Un
aumento del tamaño de los paquetes implica que es más probable
que lleguen erróneos . Pero una disminución de su tamaño
implica que hay que añadir más información de control
, por lo que la eficiencia disminuye . hay que buscar un compromiso entre
ambos .
Hay
3 tipos de retardo :
1.Retardo
de propagación
: tiempo despreciable de propagación de la señal de un nodo
a otro nodo .
2. Tiempo
de transmisión:
tiempo que tarda el emisor en emitir los datos .
3.Retardo
de nodo : tiempo
que emplea el nodo desde que recibe los datos hasta que los emite ( gestión
de colas , etc... ) .
Las
prestaciones de conmutación de circuitos y conmutación de
paquetes :
vEn
conmutación de circuitos hay un retardo inicial hasta establecer
la conexión ( en cada nodo se produce un retardo ) . Tras el establecimiento
de la conexión , existe el retardo del tiempo de transmisión
y el retardo de propagación . Pero toda la información va
a la vez en un bloque sin más retardos adicionales .
vEn
conmutación de paquetes mediante circuitos virtuales , existe el
mismo retardo inicial que en conmutación de circuitos . Pero además
, en cada nodo , cada paquete sufre un retardo hasta que le llega su turno
de envío de entre la cola de paquetes a emitir por el nodo . A todo
esto , habría que sumar el retardo de transmisión y el retardo
de propagación .
vEn
datagramas , se ahorra el tiempo de establecimiento de conexión
, pero no los demás retardos que hay en circuitos virtuales . Pero
existe el retardo de encaminamiento en cada nodo y para cada paquete .
Por tanto , para grupos grandes de datos , los circuitos virtuales son
más eficaces que los datagramas , aunque para grupos pequeños
sean menos eficaces que los datagramas .
Hay
dos niveles en donde se pueden utilizar técnicas de datagramas y
de circuitos virtuales . En un nivel interno ( entre estación y
nodo ) , se llaman operación de datagrama interno y operación
de circuito virtual interno . Pero cuando se sale de este ámbito
controlable por la estación emisora , la propia red decide la utilización
de servicios de datagrama externo o servicio de circuito virtual externo
para sus comunicaciones ( ocultos al usuario o emisor ) .
Para
los servicio externos hay una serie de consideraciones a seguir :
vSi
se utilizan operaciones de datagrama interno y servicios de datagrama externo
, al haber errores , no hay pérdidas de tiempo en establecer nuevas
conexiones ni se necesitan muchos espacios de almacenamiento .
vSi
se utilizan operaciones de circuitos virtuales internos y servicios de
circuitos virtuales externos , se mejoran las prestaciones para transmisiones
de grandes grupos de información y de acceso a terminales remotos
.
La
función de encaminamiento tiene estos requisitos :
1.Exactitud.
2.Sencillez
.
3.Robustez
: es la capacidad para redirigir el tráfico a zonas seguras cuando
hay fallos .
4.Estabilidad:es
posible que si un sistema es muy robusto , se convierta en inestable al
reaccionar demasiado bruscamente ante situaciones concretas .
5.Imparcialidad:
hay sistemas que premian , en aras de optimalidad , las conexiones cercanas
frente a las más lejanas , con lo que la comunicación entre
estaciones alejadas se dificulta .
6.Optimización:
es posible que la robustez y la imparcialidad reporten un coste adicional
de cálculo en cada nodo , lo que implica que ya no es el sistema
más óptimo .
7.Eficiencia:
lo mismo ocurre con la eficiencia .
Hay
dos formas de elegir un encaminamiento eficiente : una es elegir el camino
más corto ( la distancia entre la estación emisora y la receptora
es la mínima ) y otra es elegir el menor número de saltos
( entre la estación emisora y la receptora hay el menor número
de nodos ) .
En
aplicaciones reales se suele elegir la del camino más corto .
El
instante en que se decide hacia dónde se enviará un paquete
en un nodo es muy importante . En datagramas , esto se produce una vez
por paquete . En circuitos virtuales se produce una vez por petición
de llamada .
Hay
dos lugares donde se puede decidir hacia dónde debe enviarse un
paquete desde un nodo : una es en el propio nodo ( encaminamiento distribuido
) y otra en un nodo señalado para esta tarea ( encaminamiento centralizado
) . Esta última forma tiene el inconveniente de que si este nodo
se estropea , el encaminamiento de todos los nodos que dependen de este
nodo de encaminamiento es imposible , y todos los nodos serán inservibles
.
Hay
otra forma de controlar el encaminamiento , y es en la propia estación
de origen .
1.Encaminamiento
estático
.
Cada nodo encaminará sus datos a otro nodo adyacente y no cambiará
dicho encaminamiento nunca ( mientras dure la topología de la red
) . Existe un nodo de control que mantiene la información centralizada
. Como cada nodo encaminará sus datos sólo a un nodo adyacente
para cada nodo destino posible , sólo es necesario almacenar estos
contactos entre nodos adyacentes y no todos los caminos entre todos los
nodos de la red .
En
el nodo central se almacenan todas las tablas de encaminamientos , pero
en cada nodo sólo hay que almacenar las filas que conectan ese nodo
con el siguiente para conseguir el encaminamiento a cada nodo posible destino
de la red .
Este
sistema es muy eficiente y sencillo pero poco tolerante a fallos en nodos
adyacentes , ya que sólo puede encaminar a uno .
2.Inundaciones
.
Consiste en que cada nodo envía una copia del paquete a todos sus
vecinos y éstos lo reenvía a todos sus vecinos excepto al
nodo del cuál lo habían recibido . De esta forma se asegura
que el paquete llegará a su destino en el mínimo tiempo posible
. Para evitar que a un nodo llegue un paquete repetido , el nodo debe guardar
una información que le haga descartar un paquete ya recibido .
Esta
técnica , al ser muy robusta y de coste mínimo , se puede
usar para mensajes de alta prioridad o muy importante . El problema es
la gran cantidad de tráfico que se genera en la red . Esta técnica
libera de los grandes cálculos para seleccionar un encaminamiento
.
3.Encaminamiento
aleatorio.
Consiste en que en cada nodo , se elegirá aleatoriamente el nodo
al cuál se va a reenviar el paquete . De esta forma , se puede asegurar
que el paquete llegará al destino pero en un mayor tiempoque
en el de inundaciones . Pero el tránsito en la red es mucho menor
. Esta técnica también libera de cálculos para seleccionar
el encaminamiento .
4.Encaminamiento
adaptable
.Consiste
en que la red va cambiando su sistema de encaminamiento conforme se cambian
las condiciones de tráfico de la red . Para conseguir esto , los
nodos deben de intercambiar información sobre congestión
de tráfico y otros datos .
En
estas técnicas de intercambio de información entre nodos
, pueden hacerse intercambios entre nodos adyacentes , todos los nodos
, o incluso que haya un nodo central que coordine todas las informaciones
.
Los
inconvenientes principales son :
vEl
costo de procesamiento en cada nodo aumenta .
vAl
intercambiar información de nodo en nodo , aumenta el tráfico
.
vEs
una técnica muy inestable .
Las
ventajas :
vEl
usuario cree que aumentan las prestaciones .
vSe
puede ayudar en el control de la congestión .
Es
el protocolo más utilizado . Se usa en conmutación de paquetes
, sobre todo en RDSI .
Este
protocolo especifica funciones de tres capas del modelo OSI : capa física
, capa de enlace y capa de paquetes .
El
terminal de usuario es llamado DTE , el nodo de conmutación de paquetes
es llamado DCE La capa de paquetes utiliza servicios de circuitos virtuales
externos .
Este
sistema ofrece dos tipos de circuitos virtuales externos : llamadas virtuales
y circuitos virtuales permanentes . En el primer caso , se requiere establecimiento
de conexión o llamada inicial , mientras que en el segundo no .
Cada
paquete contiene cierta información de control , como por ejemplo
el número de circuito virtual . Además de paquetes de datos
, se transfieren paquetes de control en los que figura el número
de circuito virtual además del tipo de información de control
.
Existen
prioridades en los envíos de paquetes . Existen paquetes de reinicio
de circuitos cuando hay un error , de reinicio de todo el sistema y de
ruptura de conexión .
Se
permite la conexión de miles de circuitos virtuales , además
de full-duplex . Hay varios tipos de circuitos virtuales , fijos , de llamadas
entrantes a la red , de llamadas salientes,
etc...
Se
usa protocolo de ventana deslizante .
Se
permite el envío de bloques grandes de datos . Esto lo hace dividiendo
los datos en paquetes de dos tipos , los grandes con el tamaño máximo
permitido y paquetes de restos de un tamaño menor al permitido .