Redes de Computadoras

Anuncio
--------------------------------------------------------------- Redes de Computadoras
fuente:
* Redes de Computadoras e Interredes (D. Comer, edit. Prentice Hall)
* Web: Desarrollo de Aplicaciones al descubierto (Breedlove B. et al, edit.
Prentice Hall)
Una red es un dispositivo que posibilita la comunicación entre computadoras
dando lugar al intercambio de información y a compartir recursos.
Las redes de computadoras han crecido exponencialmente. Hace dos décadas casi
nadie tenía acceso a redes, salvo algunos gobiernos y corporaciones importantes.
Hoy, la comunicación entre computadoras se ha vuelto esencial en nuestras
vidas: publicidad, producción, planeamiento, defensa, educación, investigación,
gobierno, etc., etc., etc.
Hace poco más de 15 años Internet era un proyecto de investigación en que
participaban solo unas cuantas docenas de instituciones. Hoy, casi 15 años más
tarde, llega a cientos de millones de personas en alrededor de 100 países. El
impacto en nuestra sociedad actual es decisivo en todo sentido. La sociedad
irremediablemente cambia frente al acceso indiscriminado de información
indiscriminada.
Aun así, la explosividad del crecimiento no ha posibilitado el asentamiento
definitivo de estándares para definir íntegramente al producto. Y d ada la
masividad de su penetración, esto pasa a relevar una importancia no menor. Hay
muchas empresas creando productos y servicios, de infraestructura y de
consumo, y muchas tecnologías asociadas, y los problemas de compatibilidad son
de enorme impacto.
Por ejemplo, no hay una sola teoría unificada para lo conectividad, como las hay
para muchísimos fenómenos de la física o de la biología. Esto hace confuso
comprender la interacción entre las partes involucradas. Muchas organizaciones
han intentado el establecimiento de normas pero la gran cantidad y el rápido
cambio de las tecnologías llevan a que los modelos asociados sean, bien
simplistas, perdiéndose detalles importantes, o bien muy complejos, al punto de
hacerlos sumamente difíciles de manipular y utilizar. Esto redunda también en la
falta de una terminología universal y aceptada.
---------------------------------------------------------------- Medios de Transmisión
En el nivel más bajo, la comunicación entre computadoras involucra la
transferencia de energía en alguna de sus formas. No es calor ni es energía
cinética. Se trata de energía electromagnética, sea en la forma de corriente
eléctrica, ondas de radio o luz. Y dependiendo de la naturaleza de la energía
transportada, se adopta un medio adecuado al efecto, sea este cobre (par
trenzado -UTP-, cable coaxil, etc.), el espacio o una fibra óptica. El hardware se
encarga de modular esta energía de un modo conveniente para que atraviese con
eficiencia el medio de transmisión adoptado y, a la vez, el software que gobierna
y coordina al hardware se encarga de generar la información de alto nivel,
prepararla para la transmisión a un destino elegido, procesar la recibida, verificar
su consistencia y recuperarse de los errores que se llegaran a detectar.
A diferencia del cobre, la fibra óptica puede transportar información a más
distancia para la misma degradación, no provocan interferencia en el medio
circundante, pueden llevar más información porque son mayores las posibilidades
de codificación de la luz y requieren de una sola línea, a diferencia de las dos que
requiere el cobre. Como contraparte, es sensiblemente más cara por unidad de
longitud que el cobre, requiriendo además entrenamiento y equipo
comparativamente mucho más sofisticado para su instalación y mantenimiento.
La transmisión por ondas de radio asume una gran variedad de posibilidades
dependiendo de la frecuencia y potencia en juego, desde un sistema de enlace
local limitado a un edificio hasta uno satelital de alcance mundial. En estos
últimos, la banda de altas frecuencias en cuestión permite la utilización de
multiplicidad de canales simultáneos.
------------------------------------------------------------------ Transmisión de datos
La forma más sencilla de transmitir información requiere de al menos dos estados
de alguna entidad capaz de transitar por un medio. Es necesario la entidad pueda
transitar para que la información viaje y son necesarios al menos dos estados
para que pueda haber información. En general, la entidad consiste en alguna
clase fenómeno físico y, en el contexto de las computadoras actuales, esto es
corriente eléctrica. Los dos estados aludidos se identifican lógicamente como 1 y
0, aunque físicamente pueden asumir varias normas alternativas. Lo mismo
ocurrirá cuando le electricidad sea reemplazada por luz. Una entidad capaz de
asumir exactamente dos estados se dice que puede almacenar un bit de
información. Así, transmitir información por un cable implica poner en uno de sus
extremos un tren de 1s. y 0s. para recogerlos en el otro. Surgen naturalmente
varias preguntas. Por ejemplo: ¿Cuánto debe durar cada bit ? Desde y hasta
cuántos bits por unidad de tiempo se pueden transmitir? ¿Cómo saber si en el
extremo de salida se recibió exactamente lo que se transmitió? ¿Cómo saber en
el extremo de salida cuándo se inicia una transmisión válida? ¿Cómo saber
cuándo termina? Etc., etc., etc. Conocer las respuestas a estas preguntas y a
muchísimas otras por el estilo posibilita que dos fabricantes que nunca se han
conocido desarrollen sistemas automáticos para la transmisión y la recepción de
esos bits y consigan que todo funcione armoniosamente (la mayor parte de las
veces!). Las respuestas mencionadas se denominan NORMAS e instituciones sin
fines de lucro como EIA, ITU e IEEE constituyen permanentemente comités de
trabajo para crearlas. Un ejemplo típico es la norma EIA RS-232-C que regula la
transferencia serial asincrónica de caracteres por un par de cobre, por ejemplo,
entre una computadora y un dispositivo como un modem, una impresora o un
teclado. Esta norma establece las características físicas del medio de transmisión
(p.e., 15 m máx., fichas de conexión, etc.) así como las eléctricas de los bits
transmitidos (p.e., 1s. y 0s. se representan con tensiones de -15 y +15 V,
velocidades de transmisión en Baud, etc..
Al viajar las señales que transportan la información por el medio físico adoptado
sufren degradaciones acumulativas producto de la pérdida de la energía
originalmente impresa por el transmisor. Estas degradaciones se ma nifiestan
como pérdida de sus características iniciales, lo que se traduce en que, si son
grandes, el receptor no sea capaz de reconocer aquello que se transmitió,
invalidando todo el esfuerzo puesto en juego. Una de las finalidades de las
normas consiste, precisamente, en poner límites a lo que se puede hacer. Un
límite superior para la velocidad de transmisión de información está dado por el
hecho que las señales no pueden cambiar de valor instantáneamente. Esto limita
la velocidad de transmisión de los bits y, esta cota superior para la velocidad de
transmisión de la información se denomina ancho de banda. Todos los sistemas
físicos capaces de transmitir información 'gozan' de esta limitación, que es propia
en valor para cada uno. En la década de 1920 un investigador descubrió la
relación fundamental entre el ancho de banda de un sistema y la cantidad
máxima de bits por segundo que puede transmitir. Si un sistema de transmisión
de ancho de banda B utiliza K estados diferentes para transmitir información, la
velocidad máxima de datos es D = 2 B log2(K). Este máximo es teórico y no se lo
puede alcanzar en la práctica por el ruido inherente e inevitable de todo sistema
físico.
Las señales ondulatorias de tipo senoidal pueden atravesar mayores distancias
que las discretas para la misma cifra de degradación. Por esta razón, cuando se
trata de distancias largas, se adopta la modulación digital de los bits sobre una
portadora analógica de características senoidales. Esta idea de modular
portadoras surgió junto a la telefonía, la radio y la TV. En el extremo receptor, la
modulación es extraída, se descarta la portadora, y se recupera la información
original de modulación. Los equipos destinados a modular y demodular señales
digitales se denominan módems. Lo que se puede modular en una onda senoidal
es, básicamente, su amplitud, su frecuencia y/o o su fase. Una característica
interesante de las portadoras es que portadoras de diferentes frecuencias pueden
compartir un mismo medio de tránsito sin interferir unas con otras. Esta técnica
se conoce como multiplexado por división de frecuencia (FDM). Existen otras
técnicas de multiplexado para compartir un medio de transporte como el TDM y el
CDM. Volviendo a los módems, para una comunicación de datos a distancia se
puede u tilizar un esquema como el sgte.:
PC <--> (RS232) <--> MODEM <====> // <===> MODEM <--> (RS232) <--> PC
El cobre que subtiende la larga distancia, usualmente, corresponde a líneas
arrendadas a las empresas de telefonía.
Si bien la codificación de bits y su transmisión como impulsos eléctricos o de luz
es lo más básico a la comunicación de datos, la mayor parte de las redes tienen
interfaces que permiten pensar en términos de la transmisión de bytes y de
grupos organizados de bytes, es decir, de información más abstracta. A esta
altura conviene diferenciar datos de información, siendo los 1ros. análogos a los
ladrillos de que está hecha la información, es decir, átomos de información, en
general, aun inteligibles para los humanos. Por lo general una red está diseñada
para la transferencia de datos. Estos datos son encapsulados por la red en
paquetes previo a ser puestos en tránsito (los paquetes son a su vez luego
separados en sus bits y estos, finalmente, enviados y recibidos como se explicó
antes). La división de los datos en paquetes favorece la detección rápida y
recuperación temprana de errores. Asimismo posibilita que varias computadoras
compartan los recursos de transcepción de paquetes en una base de multiplexado
en tiempo. Si cada computadora se adueñara del recurso de red y no lo liberara
hasta haber transmitido toda la información deseada, el uso de redes no habría
pasado de una aplicación de alto nivel para mover grandes volúmenes de datos
pero nunca hubiera alcanzado al gran público. la segmentación de los datos en
paquetes sumado a una política igualitaria de derecho de acceso al medio hace
que las demoras que sufre cada transmisor sean muy pequeñas porque son
pequeños los paquetes.
Los paquetes o frames son agrupaciones de bytes cuya organización interna está
especificada por normas. Ésta incluye, además del dato crudo a transmitir, por
ejemplo, indicadores del tipo de información contenida, destino del paquete,
indicadores de su inicio y fin, códigos detectores y correctores de errores, etc.
------------------------------------------------- Tecnologías LAN y topologías de red
Aun con las ventajas que supone la conexión punto a punto de dos computadoras
(uso al máximo del ancho de banda, posibilidad de elección a gusto del formato
de frames, intimidad), la conexión de N supone una cantidad de (N^2 - N)/2
conexiones directas dado que cada nueva computadora debe tener conexión con
todo el resto. Esto torna inaccesible el costo de tal red.
A fines de la década de 1960 e inicio de la de 1970 se desarrolló la tecnología de
LAN en la que un único medio es compartido sobre la base de un esquema TDM
en que las computadoras conectadas se turnan para enviar sus paquetes. De las
investigaciones urgieron varios diseños de LANs que varían entre sí en
especificaciones eléctricas, técnicas de modulación y metodologías para arbitrar
un uso equitativo del medio. Esto trajo como consecuencia una fuerte reducción
de costos de interconexión local de computadoras.
Esta tecnología de medio compartido es útil en redes locales, en que en general la
cantidad de nodos es comparativamente reducida. Las conexiones de larga
distancia siguen utilizando conexiones dedicadas y punto a punto. Esto se debe a
que la gran cantidad de computadoras involucradas intentando compartir un
canal generaría sobrecargas del sistema de arbitrio de uso y, en definitiva, el
tráfico de información de control crecería comparablemente al de datos, lo que
tornaría a la red en un recurso caro e ineficiente.
Junto a la conveniencia económica, el principio de localidad ha favorecido
decisivamente la masividad de uso de las LANs. Este último predice que las
computadoras físicamente cercanas tienen más necesidad de comunicarse ente sí
que las lejanas y que, comunicada una computadora con otra, hay gran
probabilidad que el tráfico se repita e incremente en el futuro.
Desde el punto e vista de su topología, las LANs tradicionales se clasifican en
estrella, anillo y canal.
En una red en estrella, un concentrador central recibe datos de un nodo
transmisor y lo dirige directamente al receptor. Una ventaja de esta configuración
es que el corte de un cable solo deshabilita un nodo.
En una red en anillo los paquetes son puestos en circulación por el nodo
transmisor y pasan de nodo en nodo hasta que uno de ellos detecta que es el
destinatario, quitándolos de circulación. El inconveniente de estas redes es que
basta que se abra la conexión entre dos nodos para que quede fuera de servicio
toda la red.
En una red en canal todas las computadoras están conectadas al mismo cable.
Cuando una desea transmitir escucha si han paquetes en tránsito. Si no hay
transmite. Como todas los nodos ven simultáneamente a todos los paquetes, solo
el que se reconoce como destinatario los procesa. En esta topología, el corte del
canal separa a al red en dos, afectando fuertemente a su perfil eléctrico al punto
de tornarla inservible aun cuando desde el punto de vista lógico pareciera que las
dos secciones pueden seguir funcionando independientemente una de la otra.
Ethernet es el nombre de una tecnología de red desarrollada a principios de los
70 por Xerox en Palo Alto, CA, que adopta la topología de canal. Formalmente,
luego, Xerox, DEC e Intel colaboraron para hacer del concepto una norma. A la
fecha, IEEE controla la norma Ethernet. Eléctricamente es una red de cable coaxil
de 500 m a lo sumo con nodos cada 3 m como mínimo. Opera a 10 Mbps, aunque
una versión más moderna, la FastEthernet lo hace a 100 Mbps. La norma
especifica todos los detalles, incluidos el formato de cuadro, los voltajes y la
técnica de modulación. Para la solución de colisiones, Ethernet usa el CSMA/CD.
En esta técnica, si dos o más computadoras intentan transmitir al mismo tiempo
se produce una colisión de paquetes. En ese caso, todos los nodos la detectan,
abortan, y se congelan durante un tiempo aleatorio hasta reiniciar el proceso.
Esto da a la metodología de arbitraje una característica estocástica.
Un ejemplo de una red que usa topología de anillo es la TokenRing de IBM. En
esta, en tanto no hay paquetes en circulación, circula uno especial que actúa
como ficha o permiso. Cuando una estación desea transmitir espera a recibir la
ficha. Cuando la tiene la retira en tanto transmite y, una vez que concluyó, la
vuelve a poner en circulación. De este modo se evita que dos estaciones intentes
transmitir a la vez. Asimismo, el mecanismo de circulación de ficha hace de esta
red una de acceso determinístico.
---------------------------------------------------- Direccionamiento en una red LAN
En la inmensa mayoría de las LANs hay al menos dos computadoras conectadas.
Y basta que haya más de dos para que se presente el problema del
direccionamiento, i.e., cómo hace un nodo transmisor para individualizar a uno
receptor entre varios otros y cómo hace ese receptor, entre los otros, para tomar
solo él un paquete que le va destinado.
En cada nodo, el hardware de interfaz de red (la NIC) detecta una señal eléctrica
y extrae una copia del frame. Cada estación porta un identificador numérico
denominado dirección física de red o dirección de hardware. Cuando la NIC
detecta que la dirección de destino de un paquete coincide con su propia dirección
física, entonces lo acepta y toma para sí. El procesamiento en la NIC es
autónomo respecto del de la CPU. Cabe agregar que cada paquete porta, además,
la dirección de red del nodo remitente. Las formas posibles de direccionamiento
son tres: estático, configurable y dinámico. En el esquema estático, la dirección
de red de cada NIC se estampa en fábrica y no es posible alterarla. En el
esquema configurable el cliente establece la dirección de red de la NIC, sea
manualmente o mediante software. En el esquema dinámico, la dirección de red
se asigna automáticamente cada vez que la NIC se inicializa por lo que puede ser
diferente en cada sesión de trabajo. Amén de la forma de direccionamiento
utilizada, todas las NICs cuentan con una dirección de difusión o de broadcast.
Esta es común a todas las NICs lo que simplifica al máximo el problema de enviar
un único mensaje a todas las estaciones a la vez. En definitiva, cada NIC acepta
los paquetes que tienen su dirección como destino o bien que tienen como
destino a la dirección de broadcast.
Del mismo modo que los paquetes cuentan con campos para las direcciones de
red de los nodos fuente y destino, pueden también contar con un campo para
identificar el tipo de paquete. Si no se cuenta con este campo, el transmisor y el
receptor deben acordar previamente un modo de señalizar diferentes tipos de
paquetes, por ejemplo, adoptando algún contenido de datos como significativo de
información de control.
Cada tecnología LAN define un formato normalizado de frame pero, en general,
hay dos o tres áreas principales en cada paquete: un área de cabecera en que se
consigna información necesaria para el tráfico y tipo procesamiento del paquete,
como las direcciones de origen y destino, y un sector de datos en que se imprime
la carga útil del paquete. Suele haber muy a menudo un tercer campo dedicado a
la detección y recuperación de errores. Por ejemplo, el frame Ethernet cuenta, en
la cabecera, con 8 By de preámbulo (alternan 1s. y 0s. para la sincronización), 6
By para la dirección de destino, 6 By para la dirección de origen más 2 By para la
identificación del tipo de frame. Luego sigue el área de datos, que puede ocupar
entre 46 y 1500 By, y, finalmente, el sector de código para la detección y
corrección de errores, ocupando los 4 By finales.
preámbulo: 8 By + destino: 6 By + origen: 6 By + tipo: 2 By + datos: 46..1500
By + CRC: 4 By
La norma establece que los 48 bits de destino en 1 indican la dirección de
broadcast.
Finalmente, la entidad que asigna oficialmente direcciones físicas de red a los
fabricantes de NICs con direccionamiento estático es IEEE.
----------------------------------------------- Hardware para conexionado de LANs
Hay más de una tecnología para conectar una NIC a una LAN. POr ejemplo,
Ethernet prevé tres modos alternativos. Una norma actualmente dejada de usar
en la ThickNet en la que la red está constituida por un coaxil grueso y la NIC solo
maneja los detalles de bajo nivel (direccionamiento, CRC, etc.) en términos
digitales. La modulación y demodulación analógica para la puesta y recuperación
de los paquetes en el cable coaxil la realza un transceiver separado,
conectándose cada NIC con su transceiver mediante un cable y ficha
denominados AUI. Alternativamente, cada NIC puede conectarse a un multiplexor
AUI, el que luego se conecta a un único transceiver. A cada extremo del cable
coaxil de la red Ethernet (recordar que es una topología de canal) se debe
conectar un terminador que impida la reflexión de los paquetes. Otra norma de
conexión de NIC a la red en el contexto de Ethernet es la Thinnet, que utiliza
cable coaxil fino. En este caso el hardware analógico está integrado a cada NIC
por lo que no se necesitan transceivers, ni multiplexores, ni cables AUI
adicionales. La conexión de la red a la NIC se hace mediante una ficha BNC. El
tercer tipo de conexionado entre NIC y red en Ethernet es el par trenzado (cable
UTP), denominado 10Base-T. En este esquema, que utiliza fichas de tipo RJ-45,
los nodos se conectan a un equipo concentrador (hub) el que cuenta con un único
punto de conexión a la red de cable coaxil. Este hub funciona como un
multiplexor y, aun cuando la conexión pueda parecer topología de una estrella,
eléctricamente se sigue comportando como el canal Ethernet.
Una limitación fundamental en las LANs es la de largo máximo del canal. En el
diseño de red se busca optimizar una ecuación que tiene al costo, la capacidad, la
distancia y al retardo máximo como variables. Para garantizar que el acceso
igualitario al medio por parte de los nodos, manteniendo una calidad de señal
mínima aceptable, sea efectivo dentro de un límite de tiempo se debe limitar la
longitud de la red. Para aumentar la longitud de una LAN se han desarrollado
varias tecnologías y equipos normalizados.
Por ejemplo, para compensar la degradación de las señales analógica que viajan
por la red se pueden usar repetidores (repeaters). Estos equipos analógicos
copian en su salida una versión amplificada de lo que ven a su entrada. De este
modo se pueden conectar dos segmentos de red de largo máximo permitido cada
uno (500 m). Siendo dispositivos pasivos y transparentes (desde el punto de
vista lógico), una computadora conect ada no pueden determinar si otra pertenece
al mismo segmento o a otro diferente. Aún cuando eléctricamente pareciera ser
posible extender una LAN indefinidamente mediante el uso de estos dispositivos,
la realidad no es tan así. Cada repeater introduce retardos y, tarde o temprano,
la suma de retardos agregados al canal supera a la especificación de la norma. En
efecto, la norma Ethernet limita a 4 la cantidad de repetidores entre dos nodos
cualquiera. de una LAN.
Otro dispositivo capaz de extender la longitud de una LAN es un puente (bridge)
que puede definirse como un repeater inteligente. En efecto, un bridge no solo
toma partido en la reproducción analógica de las señales sino que hace una
interpretación de la información digital contenida en cada paquete. Esta
inteligencia agregada permite, por ejemplo, que el bridge reproduzca en el
segmento de red conectado a su salida solo aquellos paquetes destinados a las
computadoras que se hallan conectadas a él, no así los que están destinados a las
computadoras conectadas a su segmento de entrada. Asimismo, el bridge es
capaz de verificar la integridad digital de un frame previo a su retransmisión. Por
esa razón es capaz de evitar la transmisión de ruidos de un segmento as otro.
Para construir las tablas de direcciones de red en cada segmento el bridge se vale
de las direcciones de origen de los frames que recibe. Un frame recibido en uno
de los puertos corresponde necesariamente a una computadora conectada al
segmento unido a ese puerto. Para que este esquema funcione se debe asegurar
que cada NIC emita al menos un frame en alguna oportunidad. Este filtrado de
paquetes producido por los bridges posibilita que cada segmento pueda operar en
simultáneo dado que todos son estancos a menos que haya paquetes a ser
transferidos de uno a otro. Por esta razón, al diseñar una LAN es muy
conveniente que las computadoras que se comunican entre sí con más frecuencia
estén en segmentos independientes. Finalmente, un puente bien puede ser una
computadora con dos NICs funcionando en modo promiscuo, con software de
bridge, dotadas, eventualmente, de amplificadores analógicos.
El concepto de bridge sirve para explicar un mecanismo usado muy
frecuentemente: las redes conmutadas. En estas, un grupo de computadoras se
conectan a un conmutador que simula una LAN con un segmento por cada
computadora, todos unidos entre sí por bridges. Esta configuración presenta la
ventaja principal de las LANs con segmento unidos con puentes: el paralelismo.
Un hub se asemeja en el hecho que todas las co mputadoras ven un medio
compartido y un protocolo adecuado (CSMA/CD, token passing, etc.) gobierna el
acceso al mismo. En este esquema solo una computadora se puede comunicar
por vez con otra, lo que arroja un ancho de banda máximo R (a menos de un
broadcast). En cambio, dado que un concentrador posibilita que todas las N
computadoras se comuniquen de a pares en simultáneo, el ancho de banda del
sistema es RN/2.
--------------------------------------------------------------------- Redes MAN y WAN
Las tecn ologías e red se clasifican en tres tipos de acuerdo a su envergadura:
LAN (área local), MAN (área metropolitana) y WAN (área interurbana, nacional o
internacional). Este concepto -envergadura - no está asociado directamente con la
localización geográfica de los nodos sino más bien con la cantidad de nodos
involucrados en la red manteniendo una calidad mínima de servicio.
Las WANs están constituidas por una interconexión de conmutadores de
paquetes. Estos tienen grupos de conexiones de E/S de alta velocidad para ser
conectados a otros conmutadores de paquetes así grupos de conexiones de E/S
de baja velocidad para ser conectados a computadoras individuales o redes LAN.
Para manejar las diferencias de velocidad cada conmutador de paquetes emplea
una cola interna de alta capacidad.
Cada WAN opera en forma similar a una LAN en el sentido que define un formato
de paquete y que cada computadora conectada recibe una dirección física. El
direccionamiento es de tipo jerárquico, por ejemplo, dividiendo las direcciones en
dos partes, una que individualiza a un conmutador y otra que individualiza a una
computadora conectada a aquel. Cada conmutador cuenta con una tabla (la tabla
de enrutamiento) con todos los destinos posibles en la WAN y, para cada uno, el
destino intermedio siguiente que lo acerca al final. En definitiva son tablas de
siguiente salto, no con toda la ruta a cada destino. Así, se dice que el esquema
tiene independencia de la fuente. De hecho, no es posible saber qué camino tomó
un paquete para llegar al conmutador actual.
Las tecnologías de WAN son variadas. Entre las más usadas están ARPANET,
X.25, ISDN, frame relay, SMDS y ATM.
ARPANET fue una de las 1ras. WAN por conmutación de paquetes, puesta en
servicio por le Dpto. de Defensa de EEUU hace unos 30 años. Si bien es una
tecnología lenta y ya fuera de uso su mención es significativa porque dejó un
amplio legado do conceptos, terminología y algoritmos.
Las redes X.25 fueron definidas por la ITU (antes, CCITT) y tomaron más auge en
Europa que en EEUU. C ada red X.25 consta de dos o más conmutadores de
paquetes, unidos mediante líneas arrendadas.
Las redes ISDN son más recientes y, al igual que las X.25, también fueron
definidas por el sector de telefonía. El concepto de diseño pretende integrar voz +
datos en una red WAN. ISDN viene en dos formatos: interfaz de tasa básica
(BRI)(2B+D: 144 Kbps = 2 * 64 Kbps + 16 Kbps) e interfaz de tasa primaria
(PRI). La primera fue prevista para usuario individuales pequeñas empresas y la
segunda para corporaciones, que requieren mayor ancho de banda.
Las redes ATM también integra voz + video + datos, dividiendo los paquetes
entrantes en celdas de 53 By (5 By de cabecera + 48 By de datos).
Las redes WAN ofrecen dos tipos de servicio: orientado a conexión y sin conexión.
En el 1er. tipo, el inicio de una transmisión de un nodo a otro se inicia con un
pedido de conexión, lo establece un circuito permanente que se mantiene hasta
que el emisor concluye con la comunicación. La ruta por los nodos intermedios
permanece activa y dedicada en tanto el emisor no señaliza el fin de la
comunicación. En un servicio sin conexión, no es necesario el establecimiento de
una ruta para todo el tráfico porque cada paquete toma su propio camino para
llegar al destino sin establecimiento de u na conexión permanente. POr ejemplo,
Ethernet, token ring y FDDI son servicios sin conexión orientados a LAN. Frame
relay y ATM son servicios orientados a conexión para WAN.
------------------------------------------------------------------- Software de red
El hardware de red (medio, módems, NICs, hubs, bridges, routers,
conmutadores, etc.) maneja los aspectos de más bajo nivel de la comunicación.
Para ayudar a los programadores a desarrollar las aplicaciones, el software de red
crea una interfaz que maneja automáticamente todos los detalles de bajo nivel
permitiendo que los desarrolladores se concentren en aspectos más abstractos de
la cuestión de la transferencia de información entre computadoras.
La división del software de red en capas simplificó grandemente el diseño,
análisis, implementación y prueba de los componentes involucrados. Cada capa
maneja una porción del problema de la comunicación y la combinación de todas
procura una comunicación segura capaz de recuperarse en caso de fallas o
situaciones excepcionales. Un modelo de capas famoso por haber dado
satisfacción a lo antedicho es el modelo ISO de 7 capas (física, de enlace, de red,
de transporte, de sesión, de presentación y de aplicación). Modelos más actuales
han reducido la cantidad de capas pero, en general, se ha mantenido la
terminología y los conceptos subyacentes definidos por OSI.
* capa 1-física: especifica el hardware básico de red, incluido el medio de
transporte.
* capa 2-de enlace: especifica la organización de los datos en frames.
* capa 3-de red: especifica la asignación de direcciones.
* capa 4-de transporte: especifica los detalles de la transferencia confiable.
* capa 5-de sesión: especifica el establecimiento de comunicación con un sistema
remoto y manejo de los aspectos de validación de acceso.
* capa 6-de presentación: especifica la manera de presentar los datos en
diferentes sistemas y su conversión (ASCII a EBCDIC, etc.).
* capa 7-de aplicación: especifica el uso de la red por parte de cada aplicación.
Al pasar por cada capa, el software correspondiente agrega / quita un trozo de
encabezamiento a cada paquete que le es propio y necesario para desarrollar su
función. Por ejemplo, en un modelo de 7 capas, un paquete puesto en el medio
consta de los datos originados por una a plicación mas una cabecera compuesta
por 6 secciones apiladas, la agregada por la capa 7, la agregada por la capa 6, la
agregada por la capa 5... y hasta la agregada por la capa 2.
Los sistemas de red sin conexión pueden entregar paquetes en el receptor fuera
del orden cronológico de emisión. Para resolver el problema, la capa de
transporte del software de red agrega información de secuencia a cada paquete
para que la capa homónima del receptor pueda reconstruir el orden. Asimismo, la
capa descarta paquete s duplicados que se hubieran recibido a causa de alguna
falla en algún sitio de la red.
------------------------------------------------------------------------ Interredes
LANs y WANs están destinadas a diferentes tipos de servicio y, para cada una,
hay varias tecnologías diferentes que las implementan. En la década de los 70 se
volvió evidente el problema de vincular a computadoras conectadas a redes de
diferentes tecnologías. La solución conceptual a este problema (cualquier
computadora conectada a una red puede acceder a cualquier otra de otra red) se
denomina 'servicio universal'. Este concepto ha sido implementado con éxito ya
desde hace tiempo en la red telefónica. El equipo destinado a conectar redes de
diferentes tecnologías se denomina enrutador (router) y funciona
conceptualmente como un bridges en que los puertos de entrada y de salida
están adaptados para operar con redes diferentes. En general, un router puede
interconectar a más de dos redes, sean estas LAN o WAN, y, como se dijera, de
diferentes tecnologías. Dado que los formatos de frames y los esquemas de
direccionamiento son diferentes en las distintas tecnologías de red, los routers
deben también valerse de software de red modelado en capas para ofrecer el
servicio universal buscado. Si todo esto funciona bien, se dice que la interred
proporciona una red virtual porque el sistema de comunicación es una
abstracción: todo el hardware y el software dan la ilusión de un sistema de red
uniforme, ocultando una miríada de detalles y pasos intermedios que median
entre una computadora y otra. La familia de protocolos que más se destaca y
más se usa en interredes es la de protocolos TCP/IP. El trabajo en esta TCP/IP
comenzó en los años 70, al tiempo en que se desarrollaban las LANs,
primeramente financiado por ARPA y luego por la NSF. La difusión y masividad de
TCP/IP han posibilitado una multitud de interredes privadas así como el
crecimiento y evolución de Internet.
-------------------------------------------------------------------------------- TCP/IP
El modelo al que responde TCP/IP consta de 5 capas: física, de interfaz de red, de
interred, de transporte y de aplicación.
* capa 1-capa física: corresponde a capa 1 del modelo ISO.
* capa 2-capa de interfaz de red: corresponde a capa 2 del modelo ISO.
* capa 3-capa de interred: especifican el formato de los paquetes e información
de enrutamiento.
* capa 4-capa de transporte: corresponde a capa 4 del modelo ISO.
* capa 5-capa de aplicación: corresponde a capa 6 y 7 del modelo ISO.
Los hosts de TCP/IP implementan este modelo de capas. Los routers también
pero solo hasta la capa 4, no requiriendo la capa 5 en la medida que no ejecutan
aplicaciones.
El concepto de servicio universal y sistema uniforme posibilitó la elección de un
sistema de direccionamiento virtual para cada host y router independientes del
hardware, incluidas las direcciones físicas. El protocolo IP es el responsable de
implementar este sistema de direccionamiento. La norma establece que cada host
recibe una dirección de 32 bits o dirección IP. Cada dirección IP se divide en dos
partes: prefijo y sufijo. El prefijo identifica a la red física a que se conecta el host
y el sufijo al host mismo. Cada red física recibe así en Internet un número de red
diferente de las demás. De este modo, si bien la coordinación de números de red
debe ser global, la de números de host puede ser local. El prefijo requiere de
suficiente cantidad de bits como para asegurar un número único a cada red física
en Internet. El sufijo requiere de suficiente cantidad de bits como para la
individualización de todas las computadoras que se conecten a la red física. Los
diseñadores optaron por un sistema que permite interconectar redes tanto
grandes como pequeñas, dividiendo el espacio de direcciones IP en tres clases
primarias en que prefijo y sufijo son de distinto ancho, determinando los 1ros 4
bits de la dirección a la clase primaria:
(MSB) 0000 (=> 0..127): clase A --> prefijo 7 bits + sufijo: 24 bits
(MSB) 1000 (=> 128..191): clase B --> prefijo 14 bits + sufijo: 16 bits
(MSB) 1100 (=> 192..223): clase C --> prefijo 21 bits + sufijo: 8 bits
(MSB) 1110 (=> 224..239): clase D --> reservada para broadcast.
(MSB) 1111 (=> 240..255): clase E --> reservada para uso futuro.
clase A --> 128 sub redes; 16777216 computadoras / red
clase B --> 16384 sub redes; 65535 computadoras / red
clase C --> 2097152 sub redes; 256 computadoras / red
En una interred, cada prefijo de red debe ser único y, para Internet, la IANA
(Autoridad de Asignación de Números de Internet) coordina en el ámbito global el
reparto de números de red a los ISPs.
* La utilización de 0s. como sufijo de una dirección IP está reservado para
identificar a la misma red. Por eso un IP de este tipo nunca aparece en un campo
de dirección de un paquete.
* La utilización de 1s. como sufijo de una dirección IP está reservada como
dirección de broadcasting de la red especificada en el prefijo. Por eso, ningún
host de una red puede ser asignado con ese valor.
* La utilización de 127 como prefijo (clase A) (como en, p.e ., 127.0.0.1) indica
una dirección de reciclado. Se utiliza para depurar aplicaciones que hacen uso de
la red. El uso de esta dirección impide que un paquete salga a la red, llegando
solo hasta la codificación digital en la NIC. Otra aplicación en el mismo host
puede recibir el paquete, posibilitando así la prueba de, al menos, una de ellas,
sino ambas.
Prefijo Sufijo
Tipo de dirección
==== ====== =================
ceros
ceros
Esta computadora
red
ceros
de red
red
unos
difusión dirigida
unos
unos
difusión limitada
Propósito
=========
usada durante arranqu e para obtener IP dinámico.
identifica una red (no puede aparecer en un paquete).
difusión en red específica (origen remoto del paquete).
difusión en red local (origen local del pa quete).
127
cq.
retorciclo
usada para depurar aplicaciones que usan la red.
No solo los host deben ser provistos de direcciones IP. También los routers. Es
más, cada router debe recibir una dirección IP por cada red a la que se conecta.
De hecho, un router es una computadora -de propósito especial- conectada a
varias redes. Del mismo modo, los hosts multibase, que pueden conectarse a más
de una red -aun no cumpliendo las funciones de router- deben recibir un IP por
cada conexión.
En la asociación entre una dirección IP y la de hardware de un host pueden darse
dos casos. Si el host destino está en la misma red que el de origen, la resolución
es directa. Caso contrario, el host origen dirige el paquete al router
correspondiente (direcionándolo mediante el IP de la conexión que éste dedica a
la red en que está el host de origen, y que corresponde a la misma red) el que,
de acuerdo a su tabla de enrutamiento, decide cómo debe seguir el tráfico, es
decir, si a su vez ha de pasarlo a otro router o si, en cambio, puede resolver la
asociación sobre un host una red a la que se halla también conectado. Los
algoritmos de resolución de direcciones de hardware clásicos son tres:
* búsqueda en tabla local (generalmente usado en WANs).
* mediante cálculo (técnica en la que el IP se elige de modo tal que sencillas
operaciones aritméticas y booleanas arrojan la dirección física a partir del IP)(es
útil cuando las direcciones físicas son configurables).
* por intercambio de mensajes (técnica en la que los hosts intercambian
mensajes, con servidores dedicados para resolución de direcciones, que son
tablas centralizadas, o con el resto de los hosts en la red en la dirección de
difusión hasta que uno responde).
En particular, TCP/IP incluye un protocolo de resolución de direcciones
denominado ARP, que define dos tipos básicos de mensajes: de solicitud, que
lleva la dirección IP del origen y la del destino del que se requiere la física, y de
respuesta, que devuelve la dirección IP junto con una de hardware enviada por el
host que se ha reconocido direccionado. Mediante el tráfico de mensajes ARP,
cada host va construyendo un pequeño caché local en que almacena
temporalmente las asociaciones más utilizadas.
Debido a que los routers pueden conectar redes de diferente tecnología, los
formatos frame de hardware de cada red no pueden ser transferidos de un lado a
otro sin más. Para superar esto, el protocolo de interred define un formato de
paquete universal y virtual que es independiente de las redes físicas que
configuran la interred. Cada host y cada router cuentan luego con software
destinado a interpretar a estos paquetes universales. En TCP/IP, la denominación
de los paquetes universales es datagrama IP. Éstos, curiosamente, tiene el
mismo formato que los frames de hardware: cabecera + datos. El tamaño de los
datagramas es variable y es determinado por el host o router transmisor. En
efecto, cada red define un valor para MTU (unidad máxima de transmisión:
tamaño máximo del frame). Si un router debe pasar un paquete universal a otra
red cuyo MTU es inferior al tamaño del paquete a transferir, el router se encarga
de fragmentarlo en paquetes más pequeños, de tamaño menor o igual al MTU de
la red, asignándoles identificadores de secuencia y marcándolos como fragmento
de un datagrama más grande. El reensamblado tiene lugar en el host destino
(sino se obligaría a todos los paquetes a pasar por un router intermedio que
asumiera esa función). Si un fragmento llega corrupto o no llega, el host destino
descarta a todos los fragmentos recibidos del datagrama original.
Dado que los datagramas son generados en capas intermedias del modelo ISO, al
llegar a la capa física son vistos como datos a ser encapsulados en el protocolo de
frame físico. De hecho, aun cuando un datagrama encapsulado contiene, por
ejemplo, una dirección de IP de destino en su propia cabecera, si el destino está
en la misma red, su traducción una dirección física se halla replicada en la
cabecera del frame de hardware. Si el host destino está en otra red, la cabecera
del frame contiene la dirección de hardware del port del router adecuado.
El protocolo IP es solo una parte del TCP/IP, ubicada en su capa de interred.
Aquel es vulnerable a duplicación de datagramas, entrega retardada o fuera de
orden, corrupción de datos y pérdida de datagramas. Para tomar acciones
correctivas, TCP/IP se vale de capas adicionales, en efecto, lo que constituye la
familia de protocolos TCP en la capa de transporte destinadas a ofrecer un
servicio de traslado confiable de paquetes. TCP ofrece:
* orientación a conexión: la aplicación que transmite debe primeramente solicitar
una conexión al destino para luego emplearla en la transferencia.
* comunicación punto a punto: solo dos hosts terminales.
* confiabilidad total: los paquetes llegan todos, íntegros y en orden.
* comunicación full duplex.
* interfaz de flujo: los datos no se organizan en registros sino que fluyen hacia y
desde esta desde capa como un stream.
* arranque confiable.
Cuando TCP recibe un paquete, envía un ACK. Cuando remite uno, inicia un
timer. El tiempo de vida de un paquete TCP es una magnitud que se adapta
dinámicamente en el protocolo en forma estadística y depende de cada conexión.
Asimismo, las capas IP intercambia información referida al desbordamiento o no
de los buffers de recepción, lo que conduce a un ajuste automático de la tasa de
transmisión en el otro extremo de la conexión.
Una sesión TCP es virtual porque solo ocurre en software como vínculo dedicado
entre dos aplicaciones, una en el host origen y otra en el host destino. TCP se
sirve de IP para dirigir los mensajes, que son encapsulados por datagramas IP y
enviados por la interred. TCP ve a IP como un servicio de transferencia de
paquetes entre dos hosts. IP ve a los paquetes TCP como datos a transmitir o
recibir. No los interpreta.
----------------------------------------------------- Interacción cliente / servidor
Las capas del protocolo de interredes manejan todos los aspectos de una
comunicación segura y eficiente entre hosts sobre una interred. Tan bueno es el
resultado que la inmensa cantidad de detalles de tal comunicación quedan en
general ocultos al usuario. A este último solo le interesan los servicios de las
aplicaciones que usan a la red como recurso de comunicación, tan libre de errores
como si tratara de un mero cable entre dos o más computadoras. Las
aplicaciones definen nombres simbólicos para los recursos que ponen disponibles
en la red de modo tal que, en definitiva, ni siquiera es necesario conocer las
direcciones de IP. En general, la vinculación entre aplicaciones funciona de
manera similar al sistema telefónico, en que ambas partes cooperan. Pero a
diferencia de aquel, no hay una señal de llamada. El usuario debe iniciar la
aplicación que va a procesar el tráfico a sabiendas de que otro usuario va a
intentar un contacto. Este paradigma de aplicación se denomina cliente /
servidor. Una aplicación -server- en un host ofrece un servicio que uno o más
aplicaciones clientes aprovechan, tal vez, simultáneamente. Son estos clientes
quienes inician la comunicación con la aplicación server, que permanece pasiva
esperando un contacto.
Las aplicaciones clientes, en general,
a) es una aplicación arbitraria que, un momento puede requerí de acceso a
información o a un recurso remoto.
b) se ejecuta localme nte en el host cliente.
c) es el que inicia el contacto con un host server.
d) puede acceder a varios servicios remotos pero contacta a los servers de a uno
por vez.
e) no requiere de hardware especial ni de sistemas operativos especiales.
Las aplicaciones servidoras, en general,
a) son programas especializados de propósito específico, que puede sostener
comunicación con varios clientes a la vez, si bien ofrece un solo tipo de servicio.
b) opera en una computadora compartida.
c) espera pasivamente el contacto con clientes.
d) requiere de hardware poderoso y de un sistema operativo apropiado.
Los protocolos de transporte (nivel 3, lindero al 4, de aplicación) ofrecen
mecanismos para que cada cliente especifique unívocamente cada tipo de servicio
deseado. El mecanismo asigna a cada uno un identificador. Al iniciar su
operación, cada aplicación server registra en la capa de transporte el servicio que
ofrece y que es luego invocado por cada cliente que lo contacta. Por ejemplo, TCP
utiliza números de 2By como identificadores de servicio denominados "números
de puerto de protocolo". Un server puede atender a varios clientes a la vez
corriendo concurrentemente los denominados hilos de control -threads-. TCP
utiliza las direcciones IP y de ports TCP de cliente y server para individualizar el
thread destino de cada solicitud de un cliente. En efecto, cada aplicación server
consta de dos partes principales. Una destinada a aceptar solicitudes de clientes y
crear threads, y la otra que tiene por misión atender a cada thread activo. En
definitiva, para cada aplicación server en ejecución hay siempre N+1 threads
activos: uno correspondinte a la parte que atiende a los cleintes y crea nuevos
threads y N correspondientes uno a cada uno de los N pedidos de clientes siendo
atendidos.
AL interactuar con la capa de transporte, cada aplicación debe especificar detalles
como si se trata de un cliente o un server, datos a transmitir o sitios en que
recibir, etc. La interfaz que usa una aplicación para interactuar con un protocolo
de transporte se denomina API (application program interface). Un API define una
serie de operaciones que puede realizar una aplicación para interactuar con un
protocolo de transporte. La API de sockets es una norma de facto muy difundida
para interconectar aplicaciones con capa 3.
Un ejemplo interesante de aplicación bajo el modelo cliente-servidor es el
servidor de nombres de dominio (DNS). Este es un mecanismo para ocultar a los
usuarios de Internet los números IP detrás de nombres de fantasía, como
'www.lip.uns.edu.ar' o '[email protected]'. Cualquiera de ellos debe ser de
algún modo asociado a una dirección IP si es que ha de dar lugar a tráfico de
información por la red. Estos nombres de fantasía son claramente amistosos para
los humanos, aunque no para las computadoras, que están mucho más 'cómodas'
con los números que constituyen a cada IP.
Otras aplicaciones típicas del modelo cliente -servidor son el correo electrónico, la
navegación en la web, el protocolo de transferencia de archivos (FTP), etc.
En particular, la WWW es un repositorio información audiovisual en línea de
creciente inmensidad al que los usuarios acceden y en el que pueden buscar
mediante aplicaciones cliente denominadas navegadores de www. Seleccionado
un 'sitio web', y si corresponde a una dirección (DNS) válida, una 'página web' es
descargada en el espacio local del navegador por el 'server de páginas web'
apuntado. Cada pagina web contiene información audiovisual así como enlaces a
otras páginas, posiblemente, en otros servidores web.
Técnicamente, www es un sistema de 'hipermedio' de acceso interactivo.
Hipermedio es una extensión del concepto de 'hipertexto'. En ambos la
información se almacena como documentos y puede contener punteros a otros
documentos. El lenguaje de diseño y especificación de una página web es HTML
(lenguaje de marcaje de texto). La sintaxis que incluye toda la información
necesaria para su localización por intermedio de un navegador web es una
cadena de caracteres denominada URL:
http://nombre_de_computadora:port/nombre_de_documento
La conexión entre cliente y server en esta aplicación es intermitente. Se inicia con
el pedido de una página que, una vez descargada del server al cliente, es
presentada, luego de lo cual la conexión termina. El protocolo de comunicación
entre ambos es el de transporte de hipertexto (HTTP), que define formatos
estándard para pedidos de los clientes y respuestas de los servers.
El navegador web es una aplicación que consta de varios clientes, un grupo de
intérpretes y un controlador que los administra. El controlador recibe mensajes
del teclado y del mouse y, en función de los estímulos recibidos desde éstos,
activa los alguno o algunos de los clientes, (http, ftp o email). Además, cada
navegador cuenta con al menos un intérprete HTML para presentar los
documentos web cuando que el cliente HTTP recibe. Cabe destacar que cada
documento web recibido es una copia de un original en un server web, que es
almacenada localmente en una memoria de corta vida denominada 'caché'.
Los documentos www pueden ser de tres tipos básicos: estáticos, dinámicos y
activos. Los primeros tienen contenido invariante, a menos que su autor cambie
el diseño y/o contenido (p.e. la biografía de una persona fallecida). Las páginas
dinámicas son construidas en forma automática en el server previo a su remisión
al cliente, por lo que pueden contener información actualizada. Pero esta
información comienza a envejecer ni bien ha sido construida la página dinámica
(p.e., temperatura actual o precio de acciones). Las páginas activas descargan en
el navegador pequeños programas que, pudiendo conectarse independientemente
con uno o más servers, pueden obtener y presentar información
permanentemente actualizada.
Descargar