proyecto saac

19
JUSTIFICACIÓN En la presente justificación SmartSystems conformado por: Alonso Ruiz Carlos Alberto Cabrera Martínez Moisés García Labra Abrahan Moisés Flores Arriaga Luis Antonio Ordoñez García Pablo Argumenta la aplicación de los conocimientos adquiridos en los cursos de las unidades de aprendizaje de “Seguridad Web y Aplicaciones” e “Introducción a los Sistemas Distribuidos” pertenecientes 5to semestre; con el desarrollo de nuestro proyecto aula SAAC (Sistema de Administración de Almacén del Centro de Lenguas Extranjeras Unidad Santo Tomás) brevemente descrito a continuación, sin embargo para tener un mejor panorama de SAAC es recomendable consultar la documentación anexa. Durante la elaboración del proyecto aula perteneciente al 5to semestre SmartSystems desarrolló un sistema de Administración de Almacén para el Centro de Lenguas Extranjeras Unidad Santo Tomas (CENLEX), que se llevó acabo por medio de las herramientas: Java(SWING) Utilizamos esta herramienta para realizar la parte de los usuarios Administrador de Almacén y Supervisor de Almacén, estos usuarios pueden realizar determinadas acciones (véase diagrama de casos de uso) entre las que destacan: Administrador de almacén: Dar de alta un producto, registrar una entrada de mercancía, dar salida de los productos, consultar inventario e informe de los mismos.

Upload: carlos-alonso

Post on 13-Aug-2015

291 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Proyecto SAAC

JUSTIFICACIÓN

En la presente justificación SmartSystems conformado por:

Alonso Ruiz Carlos Alberto

Cabrera Martínez Moisés

García Labra Abrahan Moisés

Flores Arriaga Luis Antonio

Ordoñez García Pablo

Argumenta la aplicación de los conocimientos adquiridos en los cursos de las

unidades de aprendizaje de “Seguridad Web y Aplicaciones” e “Introducción a

los Sistemas Distribuidos” pertenecientes 5to semestre; con el desarrollo de

nuestro proyecto aula SAAC (Sistema de Administración de Almacén del

Centro de Lenguas Extranjeras Unidad Santo Tomás) brevemente descrito a

continuación, sin embargo para tener un mejor panorama de SAAC es

recomendable consultar la documentación anexa.

Durante la elaboración del proyecto aula perteneciente al 5to semestre

SmartSystems desarrolló un sistema de Administración de Almacén para el

Centro de Lenguas Extranjeras Unidad Santo Tomas (CENLEX), que se llevó

acabo por medio de las herramientas:

Java(SWING)

Utilizamos esta herramienta para realizar la parte de los usuarios

Administrador de Almacén y Supervisor de Almacén, estos usuarios pueden

realizar determinadas acciones (véase diagrama de casos de uso) entre las

que destacan:

Administrador de almacén: Dar de alta un producto, registrar una entrada

de mercancía, dar salida de los productos, consultar inventario e informe de

los mismos.

Page 2: Proyecto SAAC

Supervisor de Almacén: Consultar los movimientos realizados dentro del

almacén, aprobar o denegar pedidos, administrar cuentas de usuario y dar

de alta nuevos usuarios.

MySQL

Herramienta fundamental para la administración de la información creando y

manipulando una base de datos (para mayor información consulte

diagrama entidad relación proyecto SAAC ).

PHP

Con este recurso se desarrolló la parte web de nuestro proyecto, debido a

que un USUARIO GENERAL(véase Diagrama de casos de Uso) puede

realizar pedidos al almacén desde cualquier host(dispositivo de

almacenamiento).

En este mundo globalizado, donde la información es poder, siempre es

necesaria la protección de datos, y/o documentos delicados, o de extrema

confidencialidad. En épocas pasadas, la información se presentaba de una

forma física, la cual era guardada por medio de armarios, o archiveros bajo

llave. Actualmente, con la llegada de la computadora personal y la información

de manera digital, se presentan problemas distintos de atentados contra la

seguridad, clasificados en:

Amenaza: Una posibilidad de violación de la seguridad, que existe cuando se

da una circunstancia, capacidad, acción o evento que pudiera romper la seguridad y causar perjuicios. Es decir, una amenaza es un peligro posible que podría explotar una vulnerabilidad.

Ataque: Un asalto a la seguridad del sistema derivado de una amenaza inteligente; es decir, un acto inteligente y deliberado para eludir los servicios de seguridad y violar la política de seguridad de un sistema.

Se distingue entre ataques pasivos y ataques activos. El primero intenta

conocer o hacer uso de información del sistema, pero no afecta los recursos

del mismo. El segundo intenta alterar los recursos del sistema o afectar su

comportamiento.

Para contrarrestar estos ataques, se cuentan con servicios y mecanismos de

seguridad.

Page 3: Proyecto SAAC

Los servicios de seguridad son un conjunto de mecanismos funcionando

coordinadamente para satisfacer las necesidades de seguridad.

Estos servicios son:

Autentificación de las entidades origen/destino: Proporciona la

confirmación de la identidad de un actor de una asociación, tanto para

enviar como para recibir mensajes. Se compone de los siguientes

mecanismos de seguridad:

o Cifrado.

o Firma digital.

o Intercambio de autentificación.

Autentificación del origen de los datos: Corrobora la fuente de una

unidad de datos. Se compone de los siguientes mecanismos de

seguridad:

o Cifrado

o Firma Digital

Control de acceso: Modera el ingreso a sistemas, aplicaciones o host

por medio de enlaces de comunicaciones. Se compone de los siguientes

mecanismos de seguridad:

o Control de Acceso.

Confidencialidad de los datos: Es la protección de los datos

transmitidos por medio de ataques pasivos. Se compone de los

siguientes mecanismos de seguridad:

o Cifrado.

o Control del enrutamiento.

Confidencialidad del flujo de tráfico: Protección al origen del mensaje,

el destino, la frecuencia, la longitud, etc. Se compone de los siguientes

mecanismos de seguridad:

o Cifrado.

o Control del enrutamiento.

o Relleno del tráfico.

Integridad de los datos: es la protección al mensaje, a varios campos,

entre otros. Se compone de los siguientes mecanismos de seguridad:

o Cifrado.

o Firma digital.

o Integridad de los datos.

No repudio: Se evita que el emisor o el receptor nieguen la transmisión

del mensaje. Se compone de los siguientes mecanismos de seguridad:

o Firma digital.

o Integridad de los datos.

o Notarizacion

Page 4: Proyecto SAAC

Disponibilidad: Propiedad del sistema de estar accesible de estar

accesible y utilizable a petición de una entidad autorizada. Se compone

de los siguientes mecanismos de seguridad:

o Integridad de los datos.

o Intercambio de autentificación.

Por otra parte un mecanismo de seguridad es aquél que está diseñado para detectar un ataque a la seguridad, prevenirlo o restablecerse de él.

Cada vez más, se desarrollan aplicaciones Web que involucran información de carácter confidencial y que requieren mecanismos de seguridad que garanticen que dicha información no será modificada, sustraída o falsificada por personas ajenas. Esto es, un sistema Web debe garantizar la autenticidad, integridad y confidencialidad de toda la información involucrada en el sistema.

La autenticidad consiste en que la información provenga de quien realmente dice provenir, esto

Se logra mediante la implementación de firmas digitales principalmente; la integridad consiste en que la información no haya sido modificada en ningún aspecto, que permanezca tal cual originalmente, mientras que la confidencialidad consiste en que la información no pueda ser sustraída por terceras personas.

En la medida en que las aplicaciones Web críticas (que involucren información confidencial) se consideren seguras, los usuarios harán un mayor uso de ellas, sin el temor de que la información que están proporcionando va a ser utilizada de forma ilícita.

MECANISMOS DE SEGURIDAD (X.800)

MECANISMOS ESPECÍFICOS MECANISMOS GENERALES

CIFRADO

El uso de algoritmos matemáticos para transformar datos en una forma

inteligible.

FUNCIONALIDAD FIABLE

La que se considera correcta con respecto a unos criterios (por ejemplo

los establecidos por una política de seguridad).

FIRMA DIGITAL Datos añadidos o el cifrado de una

unidad de datos que permite al receptor verificar la fuente y la

integridad de dicha unidad y protegerla de falsificación (por parte del receptor).

ETIQUETAS DE SEGURIDAD

La marca asociada a un recurso que designa los atributos de seguridad de

ese recurso.

CONTROL DE ACCESO

Una serie de mecanismos que refuerzan los derechos de acceso a los

recursos.

DETECCIÓN DE ACCIONES Detección de acciones relacionadas

con la seguridad.

INTEGRIDAD DE LOS DATOS

Una serie de mecanismos empleados para verificar la integridad de una

unidad de datos o del flujo de unidades de datos.

INFORME PARA LA AUDITORÍA DE SEGURIDAD

Recopilación de datos para facilitar una auditoría de seguridad, que

consiste en una revisión y un examen

Page 5: Proyecto SAAC

independientes de los informes y actividades del sistema.

INTERCAMBIO DE AUTENTIFICACIÓN

Un mecanismo diseñado para comprobar la identidad de una entidad

por medio del intercambio de información.

RECUPERACIÓN DE LA SEGURIDAD

Maneja las peticiones de los

mecanismos y lleva a cabo funciones

de recuperación.

RELLENO DEL TRÁFICO La inserción de bits en espacios en un flujo de datos para frustrar los intentos

de análisis de tráfico.

CONTROL DE ENRUTAMIENTO Permite la selección de rutas

físicamente seguras para determinados datos y permite los

cambios de enrutamiento.

NOTARIZACIÓN

El uso de una tercera parte confiable para asegurar determinadas

propiedades de un intercambio de datos.

Como podemos observar, la mayoría de los servicios de seguridad incluyen el

mecanismo de cifrado, lo cual quiere decir que al cifrar la información, se cubre

una gran parte de la seguridad en un sistema. El cifrado, se divide en dos, el

cifrado simétrico y el cifrado asimétrico. La diferencia entre estos dos, radica en

el número de claves, el simétrico utiliza solo una clave, denominada clave

secreta, por su lado el cifrado asimétrico usa una clave pública y una privada,

definiremos con más detalle el cifrado simétrico a continuación.

EL CIFRADO SIMÉTRICO

El cifrado simétrico, también conocido como cifrado convencional, de clave secreta o de clave única, era el único que se usaba antes del desarrollo del cifrado de clave pública a finales de los 70’s.

Page 6: Proyecto SAAC

PRINCIPIOS DEL CIFRADO SIMÉTRICO

Texto claro:

Es el mensaje o los datos originales que se introducen en el algoritmo como entrada.

Algoritmo de cifrado:

Es aquél que realiza varias sustituciones y transformaciones al texto claro.

Clave secreta:

Es también una entrada del algoritmo. El algoritmo de cifrado depende de ella.

Texto cifrado:

El mensaje ilegible que se produce como salida.

Algoritmo de descifrado:

Es básicamente el algoritmo de cifrado ejecutado a la inversa.

Page 7: Proyecto SAAC

Criptoanálisis

Es el proceso por el cual se intenta descubrir el texto claro o una clave de

cifrado, la naturaleza del criptoanalista depende del esquema de cifrado, y de la

información disponible.

Tipos de ataque a mensajes cifrados.

Tipo de ataque Información del criptoanalista

Solo texto Cifrado - Algoritmo de cifrado - Texto de cifrado que se va a decodificar.

Texto claro conocido - Algoritmo de cifrado - Texto de cifrado que se va a decodificar. - Uno o más pares de texto claro-texto cifrado

formados con la clave secreta

Texto claro elegido - Algoritmo de cifrado

- Texto de cifrado que se va a decodificar. - Mensaje de texto en claro elegido por el

criptoanalista junto con su correspondiente texto cifrado generado con la clave secreta

Texto cifrado elegido - Algoritmo de cifrado

- Texto de cifrado que se va a decodificar. - Mensaje de texto en claro elegido por el

criptoanalista junto con su correspondiente texto descifrado generado con la clave secreta

Texto elegido - Algoritmo de cifrado

- Texto de cifrado que se va a decodificar.

- Mensaje de texto en claro elegido por el criptoanalista junto con su correspondiente texto cifrado generado con la clave secreta

- Mensaje de texto en claro elegido por el criptoanalista junto con su correspondiente texto cifrado generado con la clave secreta

-Modos de operación del cifrado por bloques

El cifrado por bloques se puede definir, como la división del texto claro en bloques de n bits para su cifrado parcial, y concatenado posteriormente. La mayoría de este tipo de cifrado se basa en el algoritmo Feistel, nombrado así por su fundador Horst Feistel de IBM en 1973. Así se visualiza mejor el algoritmo:

“Las operaciones básicas de una red de Feistel son las siguientes: se

descompone el texto plano en dos piezas iguales, ( , ). Para realizar

el cifrado en cada ronda , se calcula

Page 8: Proyecto SAAC

Donde es una función y son cada

una de las subclaves aplicadas a cada

iteración. El texto cifrado viene dado por

la concatenación de y .

Para el descifrado las operaciones que

hay que realizar son:

Una ventaja de este modelo es que la

función usada no tiene por qué ser

reversible, pudiendo ser todo lo

complicada que se desee, esta cualidad permite a los criptógrafos concentrarse

en la seguridad de dicha función sabiendo que el proceso de descifrado está

garantizado ya que la propia estructura de la red de Feistel es reversible. Para

ello únicamente requiere que se invierta el orden de las subclaves utilizadas.”

El algoritmo de cifrado implementado, es el algoritmo DES.

Algoritmo DES

“DES (Data Encryption Standard, estándar de cifrado de datos) es un algoritmo desarrollado originalmente por IBM a requerimiento del NBS (National Bureau of Standards, Oficina Nacional de Estandarización, en la actualidad denominado NIST, National Institute of Standards and Technology, Instituto Nacional de Estandarización y Tecnología) de EE.UU. y posteriormente modificado y adoptado por el gobierno de EE.UU. En 1977 como estándar de cifrado de todas las informaciones sensibles no clasificadas. Posteriormente, en 1980, el NIST estandarizó los diferentes modos de operación del algoritmo. Es el más estudiado y utilizado de los algoritmos de clave simétrica.” (Arriazu, 1999)

El nombre original usado por IBM era Lucifer, este trabajaba con bloques de 128 bits, teniendo la clave igual de longitud y se basaba en operaciones lógicas booleanas. Tiempo después la NBS implemento reducciones en los bloques y claves, actualmente el DES cifra bloques de 64 bits, mediante permutación y sustitución y usando una clave de 64 bits, de los que 8 son de paridad (esto es, en realidad usa 56 bits), produciendo así 64 bits cifrados.

DES tiene 19 etapas diferentes.

Page 9: Proyecto SAAC

La primera etapa es una transposición, una permutación inicial (IP) del texto plano de 64 bits, independientemente de la clave. La última etapa es otra transposición (IP-1), exactamente la inversa de la primera. La penúltima etapa intercambia los 32 bits de la izquierda y los 32 de la derecha. Las 16 etapas restantes son una Red de Feistel de 16 rondas. En cada una de las 16 iteraciones se emplea un valor, Ki, obtenido a partir de la clave de 56 bits y distinto en cada iteración

Page 10: Proyecto SAAC

Se realiza una permutación inicial (PC-1) sobre la clave, y luego la clave obtenida se divide en dos mitades de 28 bits, cada una de las cuales se rota a izquierda un número de bits determinado que no siempre es el mismo. Ki se deriva de la elección permutada (PC-2) de 48 de los 56 bits de estas dos mitades rotadas. La función f de la red de Feistel se compone de una permutación de expansión (E), que convierte el bloque correspondiente de 32 bits en uno de 48. Después realiza una or-exclusiva con el valor Ki, también de 48 bits, aplica ocho S-Cajas de 6*4 bits, y efectúa una nueva permutación (P).

Para descifrar basta con usar el mismo algoritmo empleando las Ki en orden inverso.

Page 11: Proyecto SAAC

¿Por qué SAAC es seguro?

Para saber si SAAC, es un sistema seguro, primero tenemos que saber a qué riesgos o atentados de seguridad se encuentra.

Cada día es menos común que una máquina trabaje aislada de todas las demás; se tiende a comunicar equipos mediante redes locales, intranets o la propia Internet, y esta interconexión acarrea nuevas - y peligrosas - amenazas a la seguridad de los equipos, peligros que hasta el momento de la conexión no se suelen tener en cuenta.

Algunas de las amenazas a las que se expone nuestro sistema son:

Accesos no autorizados al sistema: un usuario externo puede intentar conseguir privilegios que no le corresponden.

Una persona externa al sistema puede lanzar un ataque de negación de servicio, en nuestro caso un pedido del catálogo del almacén.

Dentro de la clasificación, el principal es el ataque al que se enfrenta nuestro sistema es el ataque pasivo, que consta de la obtención del mensaje, ya que un usuario externo podría ver el formato de una solicitud de pedido al almacén.

Referente a los ataques activos, la suplantación de identidad es la más peligrosa, y nos enfocamos a que determinada persona podría hacerse pasar por otra, en nuestro sistema el supervisor de almacén puede fingir ser el administrador del almacén.

Por otro lado nuestro sistema también se expone a la repetición, otro tipo de ataque activo, dado que un agente externo puede capturar una unidad de datos y su retransmisión posterior, en este caso un pedido al almacén, el cual pudiera ser reenviado varias veces por una persona.

Así mismo puede que haya una modificación del mensaje por parte de un tercero, es decir, una parte del mensaje es alterada, en nuestro caso la tercera persona puede cambiar el estado de “rechazado” a “aceptado” de algún pedido hacia el almacén.

Considerando estos riesgos a los cuales se somete el sistema, y en conjunto con los mecanismos de seguridad cifrado, aprendido en clase, hemos podido implementar de los servicios de seguridad: Control de Acceso:

o Control de acceso. Decidimos utilizar este mecanismo ya que en el Cenlex, lugar donde operará nuestro sistema, existen varios 2 que tendrán acceso al software, el administrador del almacén y la supervisora del mismo, aparte de que el administrador cuenta con varias personas que le ayudan en el almacén; por esta razón será necesario un control de acceso, el cual hemos implementado a través de un inicio de sesión que verificará qué persona está accedido al sistema y de esta

Page 12: Proyecto SAAC

forma se le otorgarán distintos privilegios a la persona que haya ingresado.

Autentificación de entidades Origen/destino

o Intercambio de autentificación: nuestro sistema comprueba la identidad del usuario al momento de registrarse en el inicio de sesión y los datos que haya ingresado se verifican en nuestra base de datos, donde están almacenados los nombres y contraseñas de cada usuario que el supervisor haya agregado, de esta forma los datos que la persona haya introducido deben coincidir con los almacenados en nuestra base de datos.

No repudio:

o Notarización: Al momento de realizar un pedido hacia el almacén, una tercera parte tendrá que avalar dicho pedido en una parte determinada del software, de esta forma el intercambio de información entre el usuario general y el almacén se ve supervisada y es aprobada o rechazada por un tercero, con el fin de mantener la integridad de los datos enviados.

Para hacer estos servicios posibles implementamos el algoritmos DES, principalmente por ser un algoritmo de cifrado estudiado en clase, no es muy complejo, y cubre las necesidades que el cliente requiere respecto a seguridad, ya que cumple con las funciones del mecanismo de seguridad Cifrado.

¿Por qué el DES es seguro?

Con una clave de 56 bits, hay claves posibles, que aproximadamente es

claves. Por este motivo no parece práctico un ataque de fuerza bruta. Suponiendo que, en promedio, se tiene que intentar la mitad del espacio de claves, una única maquina que realice un cifrado DES por microsegundo tardaría mas de mil años en romper el cifrado.

Page 13: Proyecto SAAC

Sistema Distribuido

Un sistema distribuido se define como una colección de computadores

autónomos conectados por una red, y con el software distribuido adecuado

para que el sistema sea visto por los usuarios como una única entidad capaz

de proporcionar facilidades de computación.(Colouris,1994). El desarrollo de

estos sistemas comenzó de la creación de las redes de conexión de área local

de alta velocidad a principios de los 70’s a causa de esto computadores

personales, oficinas de trabajos y servidores han tenido un gran éxito con los

sistemas distribuidos (Marquez, 2008)

SAAC cuenta con las características básicas de los sistemas distribuidos:

Todos los módulos de SAAC realizan conexiones con la base de datos para

interactuar con la información ya sea realizando consultas de los productos

almacenados, agregando nuevos registros o incluso modificando los registros

almacenados, además de que SAAC cuenta con una parte desarrollada en

web, en donde los USUARIOS GENERALES (véase Diagrama de casos de

uso de SAAC) tienen el caso de uso de generar pedidos al almacén, para que

el usuario SUPERVISOR DE ALMACEN, pueda aprobar o denegar permisos

de dar salida de los productos en cuestión, del almacén. Sistemáticamente esto

implica que exista una comunicación entre procesos es decir un intercambio

de mensajes, que como se ha visto en clase el intercambio de mensajes es

propiamente una característica de los Sistema Distribuidos.

Concurrencia: En una red se pueden realizar múltiples procesos al

mismo tiempo y pueden actuar entre ellos (compartiendo recursos) sin

afectar su rendimiento.

La concurrencia se ve reflejada particularmente en la parte Web de SAAC al

realizar varios procesos a la vez.

Page 14: Proyecto SAAC

Fallos independientes: El fallo de un computador conectado a una red

no afecta el rendimiento de los demás, siendo este aislado para

continuar la red en funcionamiento con los demás ordenadores

conectados.

Los distintos fallos en el sistema, se efectúan de manera individual. Esto

quiere decir que si algún usuario tiene una dificultad como podría ser

problemas de conexión en internet, no afectará a los demás usuarios que estén

utilizando el sistema.

Inexistencia de reloj global: La coordinación para la transferencia de

mensajes entre los diferentes componentes para la realización de una

tarea, no tienen una temporización general. Esta característica hace

referente a que no es necesario sincronizar relojes para la realización de

los procesos del sistema SAAC.

SAAC fue creado con el propósito de que los usuarios: SUPERVISOR DEL

SISTEMA, y ADMINISTRADOR DE ALMACEN, realicen sus tareas dentro de

sistema en un único host (dispositivo almacenamiento) asignado, además de

que estos host se encuentran en LAN (Red de Área Local, por sus siglas en

ingles) asignándose a cada host una IP única dentro de esta subred, cabe

destacar que nosotros estamos aplicando el concepto de IP “Internet Protocol”

(Protocolo de Internet) que básicamente es el identificador de un dispositivo de

almacenamiento en una red, definiendo el concepto de protocolo como “un

conjunto de reglas utilizadas para establecer una comunicación”, son

conceptos básicos que estamos aplicando al establecer la comunicación entre

host.

En cuanto a la parte WEB (Casos de uso del USUARIO GENERAL) esta

pagina se encontrará alojada en un host junto con nuestra base de datos para

que un usuario pueda ingresar a la pagina desde cualquier host e identificarse,

y realizar pedidos al almacén, por lo tanto la parte ‘local’ de SAAC (que se

encuentra en la red local de CENLEX) realiza una conexión remota con la base

de datos.

Page 15: Proyecto SAAC

Nosotros utilizamos el recurso mysql-jdbc, para establecer la conexión a la

base de datos MySQL; que en principio trabaja con sockets, que son interfaces

que comunican procesos, y trabajan en la capa 4 del modelo OSI, la llamada

capa de Transporte que utiliza los protocolos TCP y/o UDP (Transmission

Control Protocol, User Datagram Protocol respectivamente).

Modelo Cliente Servidor

La arquitectura cliente-servidor permite al usuario en una máquina, llamada el

cliente, requerir algún tipo de servicio de una máquina a la que está unida,

llamado el servidor, mediante una red como una LAN (Red de Área Local) o

una WAN (Red de Área Mundial). Estos servicios pueden ser peticiones de

datos de una base de datos, aplicaciones, partes de archivos o archivos

completos a la máquina cliente.

(Vieyra, 2001)

SAAC se desarrollo en esta

arquitectura cliente servidor

debido a que está compuesto en

una parte de peticiones llamada

“pedidos” que esta haciendo la

parte del cliente “usuario

genera”, además de contar con

una base de datos formando el servidor (en web)”MySQL database”, quien

brindara la información “servicio” a petición del cliente.

Para una conclusión directa SAAC esta hecho distribuido en base a que es un

software de pedidos de servicio y respuesta.

Page 16: Proyecto SAAC

Flujo de datos

Todos los datos fluyen a través del ordenador desde una entrada hacia una

salida. Este flujo de datos se denomina también stream. Hay un flujo de

entrada (input stream) que manda los datos desde el exterior (normalmente el

teclado) del ordenador, y un flujo de salida (output stream) que dirige los datos

hacia los dispositivos de salida (la pantalla o un archivo).

En el caso de SAAC mantiene estas características ya que el usuario tiene que

interactuar con dispositivos de entrada como el teclado, y el mouse, además de

dispositivos de salida como son la impresora al “imprimir” datos que el

programa generará, el monitor al visualizar la interfaz gráfica el programa.

Modelo OSI

SAAC sigue las normas que se han propuesto mediante el Modelo OSI a partir

de la arquitectura de conexión C/S.

Capa física

Encargada de las conexiones globales de la computadora hacia la red, tanto en

lo que se refiere al medio físico como a la forma en la que se transmite la

información. Principalmente transmite el flujo de bits a través del medio, y

garantiza la conexión.

Capa de enlace de datos

Se ocupa del direccionamiento físico, de la topología de la red, del acceso al

medio, de la detección de errores, de la distribución ordenada de tramas y del

control del flujo.

Page 17: Proyecto SAAC

Capa de red

Se encarga de identificar el enrutamiento existente entre una o más redes. Las

unidades de información se denominan paquetes. El objetivo de la capa de red

es hacer que los datos lleguen desde el origen al destino. Los dispositivos que

facilitan tal tarea se denominan routers. Los routers trabajan en esta capa,

aunque pueden actuar como switch de nivel 2 en determinados casos,

dependiendo de la función que se le asigne. Los firewalls actúan sobre esta

capa principalmente, para descartar direcciones de máquinas.

Capa de transporte

Encargada de efectuar el transporte de los datos (que se encuentran dentro del

paquete) de la máquina origen a la de destino, independizándolo del tipo de red

física que se esté utilizando. Sus protocolos son TCP y UDP; el primero

orientado a conexión y el otro sin conexión. Trabajan, por lo tanto, con puertos

lógicos y junto con la capa red dan forma a los conocidos como Sockets

En esta capa del modelo OSI se ha trabajado mediante los ya nombrados

Sockets que por medio del protocolo TCP y que permite a SAAC sea un

software:

Orientado la conexión.

Garantiza la transmisión de todos los octetos sin errores ni omisiones y que

todo octeto llegará a su destino en el mismo orden en que se ha transmitido.

Page 18: Proyecto SAAC

Capa de sesión

Se encarga de mantener y controlar el enlace establecido entre dos

computadores que están transmitiendo datos de cualquier índole. Por lo tanto,

el servicio provisto por esta capa es la capacidad de asegurar que, dada una

sesión establecida entre dos máquinas, la misma se pueda efectuar para las

operaciones definidas de principio a fin, reanudándolas en caso de interrupción.

Capa de presentación

Esta capa es la primera en trabajar más el contenido de la comunicación que el

cómo se establece la misma. En ella se tratan aspectos tales como la

semántica y la sintaxis de los datos transmitidos, ya que distintas

computadoras pueden tener diferentes formas de manejarlas.

Esta capa también permite cifrar los datos y comprimirlos. Por lo tanto, podría

decirse que esta capa actúa como un traductor.

Capa de aplicación

Capa que ofrece a las aplicaciones (SAAC) la posibilidad de acceder a los

servicios de las demás capas y define los protocolos que utilizan las

aplicaciones para intercambiar datos. El usuario interactúa mediante el

software de SAAC que a su vez interactúa con el nivel de aplicación.

Direccionamiento IP

Para que dos o más sistemas se comuniquen, se deben poder identificar y

localizar entre sí. Cada computador usando el protocolo TCP/IP debe recibir un

identificador exclusivo o una dirección IP.

Las direcciones IP se utilizan para identificar los diferentes nodos en una red (o

en Internet). Existen básicamente dos tipos de direcciones IP: Estáticas y

dinámicas.

Page 19: Proyecto SAAC

En nuestro sistema SAAC para poder intercambiar información que se envía

por medio de paquetes que respetan el protocolo TCP/IP para ello damos una

dirección IP que es la ruta que lleva los datos a su destino y así no perder

información y que llegue de la misma forma en la que fue enviada “secuencia

de paquetes de datos”, y asegurar que los paquetes llegaron a la ruta indicada

“entrega de paquetes de datos”.

• Una dirección IP consiste de 32 bits agrupados en 4 octetos (4 bytes), y

generalmente se escriben como ###.###.###.###.

Comunicación de datagramas UDP

El Protocolo de datagramas de usuario (UDP) es un estándar TCP/IP que está

definido en RFC 768, "User Datagram Protocol (UDP)". Se utilizan UDP para el

transporte de datos rápido, compacto y no confiable entre hosts TCP/IP.

SAAC no utiliza el protocolo UDP debido a que este proporciona un servicio sin

conexión es por eso que se optó por usar el protocolo TCP además de que

UDP no nos garantiza la entrega ni comprueba la secuencia de los datagramas

prestándose así a la perdida de información.

Bibliografía blog.vermiip.es. (11 de marzo de 2008 ). Recuperado el Noviembre de 2012, de

http://blog.vermiip.es/2008/03/11/que-es-el-numero-ip-que-significa-ip/

Marquez, A. (6 de Agosto de 2008). http://sistemasdistribuido.blogspot.mx. Obtenido de

http://sistemasdistribuido.blogspot.mx/2008/08/2-historia-de-los-sistemas-

operativos.html

Presuman., R. S. (2002). Ingeniería de Software. Madrid: Quinta Edición,McGraw-Hill

Interamericana.

Vieyra, M. E. (27 de 10 de 2001). Obtenido de http://www.fismat.umich.mx:

http://www.fismat.umich.mx/~anta/tesis/node32.html