domingo, 17 de noviembre de 2013

Configuración de red

Configuración de red
Direccionamiento IP.
Una dirección IP es una etiqueta numérica que identifica, de manera lógica y jerárquica, a un interfaz (elemento de comunicación/conexión) de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo IP (Internet Protocol), que corresponde al nivel de red del Modelo OSI. Dicho número no se ha de confundir con la dirección MAC, que es un identificador de 48bits para identificar de forma única la tarjeta de red y no depende del protocolo de conexión utilizado ni de la red. La dirección IP puede cambiar muy a menudo por cambios en la red o porque el dispositivo encargado dentro de la red de asignar las direcciones IP decida asignar otra IP (por ejemplo, con el protocolo DHCP). A esta forma de asignación de dirección IP se denomina también dirección IP dinámica (normalmente abreviado como IP dinámica).
Los sitios de Internet que por su naturaleza necesitan estar permanentemente conectados generalmente tienen una dirección IP fija (comúnmente, IP fija o IP estática). Esta no cambia con el tiempo. Los servidores de correo, DNS, FTP públicos y servidores de páginas web necesariamente deben contar con una dirección IP fija o estática, ya que de esta forma se permite su localización en la red.
Los ordenadores se conectan entre sí mediante sus respectivas direcciones IP. Sin embargo, a los seres humanos nos es más cómodo utilizar otra notación más fácil de recordar, como los nombres de dominio; la traducción entre unos y otros se resuelve mediante los servidores de nombres de dominio DNS, que a su vez facilita el trabajo en caso de cambio de dirección IP, ya que basta con actualizar la información en el servidor DNS y el resto de las personas no se enterarán, ya que seguirán accediendo por el nombre de dominio.
¿Qué es una dirección IP?
Las direcciones del nivel de red en Internet pueden representarse de manera simbólica o numérica. Una dirección simbólica es por ejemplo www. pntic.mec.es. Una dirección numérica se representa por cuatro campos separados por puntos, como 193.144.238.1, los cuales no pueden superar el valor 255 (11111111 en binario). La correspondencia entre direcciones simbólicas y numéricas las realiza el DNS (Domain Name System).
                           

Para poder identificar una máquina en Internet cada una de ellas tiene una dirección IP (Internet Protocol) la cual es asignada por InterNIC (Internet Network Information Center).
Las direcciones numéricas son las que entiende la máquina y se representan por 32 bits con 4 campos de 8 bits cada uno, aunque normalmente se pasan de binario a decimal. Por ejemplo 139.3.2.8 es en binario:

10001011 00000011 00000010 00000010
\______/ \______/ \______/ \______/
139 3 2 8
Una parte de los bits representa la red y el resto la máquina (host). En este caso como veremos Internet a nivel de red se llaman datagramas. Estos llevan tanto la dirección de la máquina transmisora de red y el número de host.

Máscara de red

La máscara de red o redes es una combinación de bits que sirve para delimitar el ámbito de una red de computadoras. Su función es indicar a los dispositivos qué parte de la dirección IP es el número de la red, incluyendo la subred, y qué parte es la correspondiente al host.
La máscara de subred señala qué bytes de su dirección es el identificador de la red. La máscara consiste en una secuencia de unos seguidos de una secuencia de ceros escrita de la misma manera que una dirección IP, por ejemplo, una máscara de 20 bits se escribiría 255.255.240.0, es decir una dirección IP con 20 bits en 1 seguidos por 12 bits en 0, pero separada en bloques de a 8 bits escritos en decimal. La máscara determina todos los parámetros de una subred: dirección de red, dirección de difusión (broadcast) y direcciones asignables a nodos de red (hosts).

Los routers constituyen los límites entre las subredes. La comunicación desde y hasta otras subredes es hecha mediante un puerto específico de un router específico, por lo menos momentáneamente.
Básicamente, mediante la máscara de red una computadora podrá saber si debe enviar los datos dentro o fuera de las redes. Por ejemplo, si el router tiene la dirección IP 192.168.1.1 y máscara de red 255.255.255.0, entiende que todo lo que se envía a una dirección IP que empiece por 192.168.1 va para la red local y todo lo que va a otras direcciones IP, para afuera (internet, otra red local mayor).
Supongamos que tenemos un rango de direcciones IP desde 10.0.0.0 hasta 10.255.255.255. Si todas ellas formaran parte de la misma red, su máscara de red sería: 255.0.0.0. También se puede escribir como 10.0.0.0/8

El DNS

El DNS ( Domain Name Service) es un sistema de nombres que permite traducir de nombre de dominio a dirección IP y vice-versa. Aunque Internet sólo funciona en base a direcciones IP, el DNS permite que los humanos usemos nombres de dominio que son bastante más simples de recordar (pero que también pueden causar muchos conflictos, puesto que los nombres son activos valiosos en algunos casos).

                                
El sistema de nombres de dominios en Internet es un sistema distribuido, jerárquico, replicado y tolerante a fallas. Aunque parece muy difícil lograr todos esos objetivos, la solución no es tan compleja en realidad. El punto central se basa en un árbol que define la jerarquía entre los dominios y los sub-dominios. En un nombre de dominio, la jerarquía se lee de derecha a izquierda. Por ejemplo, en dcc.uchile.cl, el dominio más alto es cl. Para que exista una raíz del árbol, se puede ver como si existiera un punto al final del nombre: dcc.uchile.cl., y todos los dominios están bajo esa raíz (también llamada ``punto").
Cada componente del dominio tiene un servidor primario y varios servidores secundarios. Todos estos servidores tienen la misma autoridad para responder por ese dominio, pero el primario es el único con derecho para hacer modificaciones en él. Por ello, el primario tiene la copia maestra y los secundarios copian la información desde él. El servidor de nombres es un programa que típicamente es una versión de BIND (Berkeley Internet Name Daemon). En general es mucho mejor traer la última versión desde Internet (www.isc.org) que usar la que viene con el Sistema Operativo, porque es un servidor que ha cambiado mucho a lo largo del tiempo.
La raíz del sistema de dominios es servida por algunos servidores bien conocidos. Todo servidor de nombres debe ser configurado con la lista de los servidores raíz bien conocidos (en general lo vienen de fábrica). Estos servidores dicen qué dominios de primer nivel existen y cuáles son sus servidores de nombres. Recursivamente, los servidores de esos dominios dicen qué sub-dominios existen y cuáles son sus servidores.
Existe un conflicto de competencia entre el servidor de un dominio y el de un sub-dominio: ambos deben saber cuáles son los servidores de nombres del sub-dominio. En un inicio, estarán de acuerdo, pero con el tiempo los servidores pueden ir cambiando, y las versiones de ambos pueden ser inconsistentes. Actualmente, el que manda es el servidor del sub-dominio, y su información es la más importante. Por ejemplo, si el servidor de .cl dice que uvenezuela.cl es servido por los servidores A y B, y luego el servidor A dice que uvenezuela.cl es servido por A y C, la información que se recibirá en el mundo es que los servidores son A y C. El único requisito es que por lo menos uno de los servidores de nombres que figuran en el dominio debe corresponder a uno de los que lista el sub-dominio. Si no es así, el dominio queda sin servidores y es inaccesible del resto del mundo.

En general, la regla ideal es que la lista de servidores que figura en el dominio sea un sub-conjunto de la lista que figura en el sub-dominio.

Protocolos de Internet

Protocolos De Internet.
TCP/IP
La familia de protocolos de Internet es un conjunto de protocolos de red en los que se basa Internet y que permiten la transmisión de datos entre computadoras. En ocasiones se le denomina conjunto de protocolos TCP/IP, en referencia a los dos protocolos más importantes que la componen: Protocolo de Control de Transmisión (TCP) y Protocolo de Internet (IP), que fueron dos de los primeros en definirse, y que son los más utilizados de la familia.
    
El TCP/IP es la base de Internet, y sirve para enlazar computadoras que utilizan diferentes sistemas operativos, incluyendo PC, minicomputadoras y computadoras centrales sobre redes de área local (LAN) y área extensa (WAN).
El protocolo TCP/IP es el sucesor del NCP, con el que inició la operación de ARPANET, y fue presentado por primera vez con los RFCs 791, 792 y 793 en septiembre de 1981. Para noviembre del mismo año se presentó el plan definitivo de transición en el RFC 801.
Las direcciones IP pueden representarse de manera simbólica o numérica. Una dirección simbólica es por ejemplo www. pntic.mec.es. Una dirección numérica se representa por cuatro campos separados por puntos, como 193.144.238.1, los cuales no pueden superar el valor 255 (11111111 en binario). La correspondencia entre direcciones simbólicas y numéricas las realiza el DNS (DomainNameSystem).
Para poder identificar una máquina en Internet cada una de ellas tiene una dirección IP (Internet Protocol) la cual es asignada por InterNIC (Internet Network Information Center).
Las direcciones numéricas son las que entiende la máquina y se representan por
32 bits con 4 campos de 8 bits cada uno, aunque normalmente se pasan de binario a decimal.

UDP
User Datagram Protocol (UDP) es un protocolo del nivel de transporte basado en el intercambio de datagramas. Permite el envío de datagramas a través de la red sin que se haya establecido previamente una conexión, ya que el propio datagrama incorpora suficiente información de direccionamiento en su cabecera. Tampoco tiene confirmación ni control de flujo, por lo que los paquetes pueden adelantarse unos a otros; y tampoco se sabe si ha llegado correctamente, ya que no hay confirmación de entrega o recepción.
Su uso principal es para protocolos como DHCP, BOOTP, DNS y demás protocolos en los que el intercambio de paquetes de la conexión/desconexión son mayores, o no son rentables con respecto a la información transmitida, así como para la transmisión de audio y vídeo en tiempo real, donde no es posible realizar retransmisiones por los estrictos requisitos de retardo que se tiene en estos casos.
ICMP
ICMP (Protocolo de mensajes de control de Internet) es un protocolo que permite administrar información relacionada con errores de los equipos en red. Si se tienen en cuenta los escasos controles que lleva a cabo el protocolo IP, ICMP no permite corregir los errores sino que los notifica a los protocolos de capas cercanas. Por lo tanto, el protocolo ICMP es usado por todos los routers para indicar un error (llamado un problema de entrega).
Los mensajes de error ICMP se envían a través de la red en forma de datagramas, como cualquier otro dato. Por lo tanto, los mismos mensajes de error pueden contener errores. Sin embargo, si existe un error en un datagrama que lleva un mensaje ICMP, no se envía ningún mensaje de error para evitar el efecto "bola de nieve", si hay un incidente en la red.

ARP
ARP (Protocolo de resolución de direcciones) es un protocolo de la capa de enlace de datos responsable de encontrar la dirección hardware (Ethernet MAC) que corresponde a una determinada dirección IP. Para ello se envía un paquete (ARP request) a la dirección de difusión de la red (broadcast (MAC = FF FF FF FF FF FF)) que contiene la dirección IP por la que se pregunta, y se espera a que esa máquina (u otra) responda (ARP reply) con la dirección Ethernet que le corresponde. Cada máquina mantiene una caché con las direcciones traducidas para reducir el retardo y la carga. ARP permite a la dirección de Internet ser independiente de la dirección Ethernet, pero esto sólo funciona si todas las máquinas lo soportan.
ARP está documentado en el RFC 826. El protocolo RARP realiza la operación inversa y se encuentra descrito en el RFC 903.
ARP se utiliza en 4 casos referentes a la comunicación entre 2 hosts:
1.   Cuando 2 hosts están en la misma red y uno quiere enviar un paquete a otro.
2.   Cuando 2 host están sobre redes diferentes y deben usar un gateway/router para alcanzar otro host.
3.   Cuando un router necesita enviar un paquete a un host a través de otro router.
4.   Cuando un router necesita enviar un paquete a un host de la misma red.
DHCP
DHCP (protocolo de configuración dinámica de host) es un protocolo de red que permite a los clientes de una red IP obtener sus parámetros de configuración automáticamente. Se trata de un protocolo de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinámicas y las va asignando a los clientes conforme éstas van estando libres, sabiendo en todo momento quién ha estado en posesión de esa IP, cuánto tiempo la ha tenido y a quién se la ha asignado después.
                                                        
DHCP consta de tres mecanismos distintos que cubren todas las necesidades posibles con respecto a la asignación de IP’s:
·         Asignación Automática: Cuando un cliente se conecta por primera vez a la red, el servidor le asigna permanentemente una IP aleatoria y  el cliente mantendrá esta IP hasta que decida liberarla. Este mecanismo suele utilizarse cuando hay poca variación en el número de clientes de la red.
·         Asignación Dinámica: En este tipo de asignación, el servidor proveerá a los clientes de una IP temporal. Cuando la IP llegue a su caducidad, el cliente deberá pedir al servidor una nueva IP con la que trabajar si quiere seguir conectado a la red.
·         Asignación Manual: Este último mecanismo asigna manualmente la IP a los clientes, por lo que debe ser el administrador de red el que configure el servidor DHCP para que éste transmita la IP deseada al cliente. De esta forma hay un mayor control sobre la asignación de direcciones y se evitarán máquinas no deseadas.
TELNET
Telnet (TELecommunication NETwork) es el nombre de un protocolo de red a otra máquina para manejarla remotamente como si estuviéramos sentados delante de ella. También es el nombre del programa informático que implementa el cliente. Para que la conexión funcione, como en todos los servicios de Internet, la máquina a la que se acceda debe tener un programa especial que reciba y gestione las conexiones. El puerto que se utiliza generalmente es el 23.
Telnet sólo sirve para acceder en modo terminal, es decir, sin gráficos, pero es una herramienta muy útil para arreglar fallos a distancia, sin necesidad de estar físicamente en el mismo sitio que la máquina que los tenía. También se usaba para consultar datos a distancia, como datos personales en máquinas accesibles por red, información bibliográfica, entre otros.
FTP
El protocolo FTP (Protocolo de transferencia de archivos) es, como su nombre lo indica, un protocolo para transferir archivos. El protocolo FTP está incluido dentro del modelo cliente-servidor, es decir, un equipo envía órdenes (el cliente) y el otro espera solicitudes para llevar a cabo acciones (el servidor).
La implementación del FTP se remonta a 1971 cuando se desarrolló un sistema de transferencia de archivos (descrito en RFC 141) entre equipos del Instituto Tecnológico de Massachusetts (MIT, Massachusetts Institute of Technology). Desde entonces, diversos documentos de RFC (petición de comentarios) han mejorado el protocolo básico, pero las innovaciones más importantes se llevaron a cabo en julio de 1973.
El protocolo FTP define la manera en que los datos deben ser transferidos a través de una red TCP/IP.
El objetivo del protocolo FTP es:
·         Permitir que equipos remotos puedan compartir archivos.
·         Permitir la independencia entre los sistemas de archivo del equipo del cliente y del equipo del servidor.
·         Permitir una transferencia de datos eficaz.
SMTP
El Simple Mail Transfer Protocol (SMTP) (Protocolo para la transferencia simple de correo electrónico), es un protocolo de la capa de aplicación. Protocolo de red basado en texto, utilizado para el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos (PDA, teléfonos móviles, entre otros). Está definido en el RFC 2821 y es un estándar oficial de Internet.
El funcionamiento de este protocolo se da en línea, de manera que opera en los servicios de correo electrónico. Sin embargo, este protocolo posee algunas limitaciones en cuanto a la recepción de mensajes en el servidor de destino (cola de mensajes recibidos). Como alternativa a esta limitación se asocia normalmente a este protocolo con otros, como el POP o IMAP, otorgando a SMTP la tarea específica de enviar correo, y recibirlos empleando los otros protocolos antes mencionados (POP O IMAP).
RPC
El Remote Procedure Call o Llamada a Procedimiento Remoto es un protocolo que permite a un programa de ordenador ejecutar código en otra máquina remota sin tener que preocuparse por las comunicaciones entre ambos. El protocolo es un gran avance sobre los sockets usados hasta el momento. De esta manera el programador no tenía que estar pendiente de las comunicaciones, estando éstas encapsuladas dentro de las RPC.
Las RPC son muy utilizadas dentro del paradigma cliente-servidor. Siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimiento o función y enviando éste de vuelta el resultado de dicha operación al cliente.

Funcionamiento:

1.     El cliente envía una petición y queda a la espera un tiempo.

2.   Si no llega respuesta o ACK dentro del tiempo de espera, repite la petición.
3.   El servidor no filtra peticiones duplicadas (el procedimiento remoto puede ejecutarse repetidas veces).
4.   El cliente puede recibir varias respuestas.
Sólo es aplicable cuando se usan exclusivamente operaciones repetibles.
NFS

El Network File System (Sistema de archivos de red), o NFS, es un protocolo de nivel de aplicación, según el Modelo OSI. Es utilizado para sistemas de archivos distribuido en un entorno de red de computadoras de área local. Posibilita que distintos sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales. Originalmente fue desarrollado en 1984 por Sun Microsystems, con el objetivo de que sea independiente de la máquina, el sistema operativo y el protocolo de transporte, esto fue posible gracias a que está implementado sobre los protocolos XDR (presentación) y ONC RPC (sesión). El protocolo NFS está incluido por defecto en los Sistemas Operativos UNIX y la mayoría de distribuciones Linux.

Protocolos de nivel de enlace

Protocolos de nivel de enlace

Los protocolos de nivel de enlace de datos se encargan de codificar los paquetes recibidos del nivel de red para que puedan ser enviados a través del medio físico como señales electromagnéticas, y decodificar las señales electromagnéticas recibidas para ser entregadas como paquetes al nivel de red. En este nivel se utiliza el concepto de trama, que está compuesta por un paquete al cual se le agrega información que permite regular el tráfico de información y verificar la consistencia de la misma. Los protocolos más comúnmente usados en redes LAN son Ethernet y Token Ring.

Sus principales funciones son:
1.     Iniciación, terminación e identificación.
2.     Segmentación y bloqueo.
3.     Sincronización de octeto y carácter.
4.     Delimitación de trama y transparencia.
5.     Control de errores.
6.     Control de flujo.
7.     Recuperación de fallos.
8.     Gestión y coordinación de la comunicación.

Iniciación, terminación e identificación

La función de iniciación comprende los procesos necesarios para activar el enlace e implica el intercambio de tramas de control con el fin de establecer la disponibilidad de las estaciones para transmitir y recibir información.
Las funciones de terminación son de liberar los recursos ocupados hasta la recepción/envío de la última trama. También de usar tramas de control. La identificación es para saber a qué terminal se debe de enviar una trama o para conocer quién envía la trama. Se lleva a cabo mediante la dirección de la capa de enlace. 
Segmentación y bloque
La segmentación surge por la longitud de las tramas ya que si es muy extensa, se debe de realizar tramas más pequeñas con la información de esa trama excesivamente larga.
Si estas tramas son excesivamente cortas, se ha de implementar unas técnicas de bloque que mejoran la eficiencia y que consiste en concatenar varios mensajes cortos de nivel superior en una única trama de la capa de enlace más larga.
Sincronización de octeto y carácter
En las transferencias de información en la capa de enlace es necesario identificar los bits y saber qué posición les corresponde en cada carácter u octeto dentro de una serie de bits recibidos.
Esta función de sincronización comprende los procesos necesarios para adquirir, mantener y recuperar la sincronización de carácter u octeto. Es decir, poner en fase los mecanismos de codificación del emisor con los mecanismos de decodificación del receptor.

Delimitación de trama
La capa de enlace debe ocuparse de la delimitación y sincronización de la trama. Para la sincronización puede usar 3 métodos:

·         El primero de ellos es "Principio y fin" (caracteres específicos para identificar el principio o el fin de cada trama).
·         También puede usar "Principio y cuenta" (Utiliza un carácter para indicar comienzo y seguido por un contador que indica su longitud).
·         Por último puede usar el "Guion" (se emplea una agrupación especifica de bits para identificar el principio y fin mediante banderas/flags).

La transparencia se realiza mediante la inserción de bits. Consta de ir contando los unos consecutivos y cuando se encuentra con 5 unos seguidos y consecutivos introduce el bit 0 después del quinto uno. Ejemplo: Considere la trama 0101111110, al aplicar la transparencia pasa a ser 01011111010.

Control de errores
Proporciona detección y corrección de errores en el envío de tramas entre computadores, y provee el control de la capa física. Sus funciones, en general, son:
·         Identificar Trama de datos
·         Códigos detectores y correctores de error
·         Control de flujo
·         Gestión y coordinación de la comunicación.

Correctores de error: Es opcional en esta capa, la encargada de realizar esta función es la capa de transporte, en una WAN es muy probable que la verificación, la realiza la capa de enlace.
Control de flujo
El control de flujo es necesario para no saturar al receptor de uno a más emisores. Se realiza normalmente en la capa de transporte, también a veces en la capa de enlace. Utiliza mecanismos de retroalimentación. Suele ir unido a la corrección de errores y no debe limitar la eficiencia del canal. El control de flujo conlleva dos acciones importantísimas que son la detección de errores y la corrección de errores.
La detección de errores se utiliza para detectar errores a la hora de enviar tramas al receptor e intentar solucionarlos. Se realiza mediante diversos tipos de códigos del que hay que resaltar el CRC (códigos de redundancia cíclica), simple paridad (puede ser par, números de 1´s par, o impar) paridad cruzada (Paridad horizontal y vertical) y Suma de verificación.
La corrección de errores surge a partir de la detección para corregir errores detectados y necesitan añadir a la información útil un número de bits redundantes bastante superior al necesario para detectar y retransmitir. Sus técnicas son variadas. El Código Hamming, Repetición, que cada bit se repite 3 veces y en caso de fallo se toma el bit que más se repite; También puede hacerse mediante verificación de paridad cruzada, Reed-Solomon y de goyle.
También cabe destacar los protocolos HDLC que es un control de enlace de datos a alto nivel, orientado a bit y obedece a una ARQ de ventana deslizante o continuo. También existen protocolos orientados a carácter.
Recuperación de fallos
Se refiere a los procedimientos para detectar situaciones y recuperar al nivel de situaciones anómalas como la ausencia de respuesta, recepción de tramas inválidas, entre otros. Las situaciones más típicas son la pérdida de tramas, aparición de tramas duplicadas y llegada de tramas fuera de secuencia.
Si no se tratasen correctamente estos eventos se puede perder información y se aceptarán datos erróneos como si fuesen correctos. Generalmente se suelen utilizar contadores para limitar el número de errores o reintentos de los procesos y procedimientos. También se pueden usar temporizadores para establecer plazos de espera (timeout) de los sucesos.
Gestión y coordinación de la comunicación
La gestión atiende a 2 tipos:
·         El primero de ellos es un sistema centralizado donde existe una máquina maestra y varias esclavas. Estas conexiones se pueden realizar punto a punto o multipunto.

·         El segundo de ellos es el distribuido, donde no existe máquina maestra y todas compiten por el control del sistema de comunicación.

SNA y el modelo OSI

SNA y el modelo OSI
En la figura se representa una primera aproximación de las relaciones entre el modelo OSI y SNA.

                      

Los niveles físico y enlace son lógicamente equivalentes, pues ambos comprenden los protocolos y servicios más difundidos, si bien SNA, al no necesitar una aprobación formal, puede adaptarse más rápidamente a las nuevas tecnologías, como FDDI, por ejemplo.

El nivel de control de caminos realiza no sólo las tareas de encaminamiento, sino que también se encarga de proporcionar la calidad del servicio, por ejemplo la tasa de errores, a los niveles superiores, actividad que es desarrollada por OSI en el nivel de transporte.

El nivel de control de transmisión se corresponde, en una primera aproximación, al nivel de transporte. Realiza también funciones que en OSI están en el nivel de sesión como son las relacionadas con el control de las sesiones activas.

El nivel de control de flujo se corresponde con las funciones del nivel de sesión en OSI.

El nivel de administración de funciones contiene, como hemos visto, las funciones del nivel de presentación: adicionalmente proporciona funciones correspondientes al nivel de aplicación, como son las correspondientes a la gestión de red. La gestión de red se contempla en OSI dentro del nivel de aplicación, si bien con los elementos distribuidos en los restantes niveles.


El nivel de aplicación y el nivel de servicios de transacción se corresponden en el sentido de que proporcionan las funciones de aplicaciones.

SNA y Sus niveles funcionales

SNA

IBM creó SNA (System Network Architecture) en 1974, como una arquitectura de comunicaciones para redes predominantes basadas en mainframes. En lo referente a tecnología de mainframes nada cambia de la noche a la mañana, pero a mediados de los 80 SNA se había convertido en la solución dominante en las redes del entorno IBM. Es una arquitectura compleja pero que se comprende bien, y aunque su implantación resulta costosa es fiable, gestionable, predecible y segura. 

La arquitectura SNA de IBM define un conjunto de servicios y protocolos para la conectividad, interoperación y gestión de red. Los objetivos establecidos al definir SNA son básicamente los que se pretende con otras arquitecturas en niveles. En SNA, desde el primer momento se hizo énfasis en los siguientes aspectos que, con el tiempo, se están teniendo en consideración en otras arquitecturas: facilitar el desarrollo e instalación de sistemas y aplicaciones y la gestión y control total de la red. Con estas consideraciones, los objetivos de SNA pueden resumirse en lo siguiente:

Modularidad. SNA debe permitir una estructuración en relativamente pequeños bloques funcionales de propósito general que puedan utilizarse en una amplia diversidad de dispositivos de red.

Adaptación al cambio tecnológico. La estructuración en niveles permitirá la utilización de las tecnologías más adecuadas así como la adaptación a la evolución tecnológica.

Independencia de aplicaciones. El desarrollo de aplicaciones no debe depender de las características de la red ni de los terminales remotos.

Versatilidad. Los formatos y protocolos SNA deben permitir la interconexión de sistemas de diversas características, como terminales, procesadores distribuidos, controladores de comunicaciones, para formar sistemas unificados.

Proceso distribuido. SNA debe facilitar el desarrollo de aplicaciones distribuidas.

Compartición de recursos. Los recursos del sistema deben ser compartidos por los usuarios, ya sean los sistemas de comunicaciones o los sistemas de control de las sesiones.

Seguridad de datos. SNA debe proporcionar elementos de protección contra los ataques a la información que se transmite por la red.

Gestión de recursos. SNA debe proporcionar procedimientos de recuperación de alto nivel.

Facilidad de uso. Las características de SNA deben poder ser utilizadas por los usuarios y los programas en forma sencilla, evitando que necesiten conocer los detalles de la red y de los protocolos de alto nivel.

Facilidad de realización. Los sistemas deben poder desarrollar, instalar y actualizar de forma relativamente sencilla. Cuando aparezcan nuevas funciones, éstas deben tener una compatibilidad con las ya existentes.

Unificación. Todos los productos deben ser compatibles con los ya existentes, proporcionando una protección a la inversión de los usuarios en el equipo instalad
Niveles funcionales SNA
Un concepto básico en todas las arquitecturas de redes de comunicaciones es la división de las funciones de red en niveles funcionales bien definidos. Al igual que en otras arquitecturas, las funciones de SNA se dividen en niveles, cada uno de los cuales proporciona un grupo diferente de servicios.
                                            

El nivel de Control Físico y el nivel de Control de Enlace de Datos son similares a los de cualquier otra arquitectura, ya que SNA permite la integración de los existentes, ya sean V.24, V.23, RDSI, FDDI, 802.2 u otros.

Para poder comprender las funciones desarrolladas por los siguientes niveles, es necesario conocer alguna de las terminologías definidas en SNA, como son los conceptos de usuario final y de sesión.

·         El usuario final es una persona o una aplicación que utiliza la red para comunicarse con otro usuario final.
·         Una sesión es una asociación lógica entre dos usuarios finales, para permitir una sucesión de transmisiones entre ellos. Así, cuando desde un terminal, por ejemplo, nos conectamos a una aplicación, SNA establece una sesión.

Nivel 1. Físico:
Define las características físicas y eléctricas del interface entre el terminal y la red; están disponibles el RS-232-c y X.21.
Nivel 2. Control de enlace de datos:
Es el nivel encargado de inicializar, desconectar y transferir datos entre dos nodos adyacentes sin errores. El protocolo empleado es el SDLC: Synchronous Data Link Control, orientado al bit y similar al HDLC.
Nivel 3. Control de camino:
Selecciona la ruta-control de flujo y encaminamiento, para el establecimiento de las sesiones, reemsamblado y las clases de servicio, como respuesta rápida, rutas seguras o conexiones más fiables.
El nivel contiene asimismo un mecanismo de control de flujo, denominado control de ruta virtual, para limitar el flujo de datos desde un nodo de subararea transmisor. El SNA asigna rutas virtuales a las 2 subáreas envueltas en una sesión de tal forma que se elige que línea específica usar, generando así una ruta explícita.
Nivel 4. Control de transmisión:
Atiende a la activación y desactivación de las sesiones, así como a la sincronización y el control de flujo extremo a extremo, entre usuarios finales. Permite la gestión de ventana a nivel de sesión y proporciona cabeceras de mensaje para las funciones de encadenamiento, agrupamiento y control de flujo. En este nivel es posible realizar el cifrado de los datos.
Nivel 5. Control de flujo de datos:
Gestiona la sincronización del flujo de datos entre usuarios y correlación durante las sesiones; en particular, verifica la validez de los modos de transferencia y permite el agrupamiento de mensajes relacionados que van a ser enviados en la misma dirección, pueden agruparse lógicamente en una única unidad mayor, llamada cadena.
Nivel 6. Servicios de presentación:
Define los protocolos para la comunicación programa a programa y gestiona la comunicación entre programas transaccionales. Cuida de la semántica y sintaxis de la presentación de los datos, coordinando los recursos compartidos. En definitiva, se encarga de que los mensajes sean compatibles con las características del usuario final de destino.
Nivel 7. Servicios de transacciones:

Ofrece un lenguaje común de comandos para hacer uso de los servicios de la red SNA, interviniendo en el intercambio de datos entre Unidades Lógicas. Proporciona funciones de apoyo para los programas de aplicación de usuario tales como el acceso a base de datos distribuidas o intercambio de documentos así como para los transaccionales IBM (SNADS, DIA, DCA).