grado académico: licenciatura carrera: computación …148.206.53.84/tesiuami/uami13956.pdf ·...

49
UNIVERSIDAD AUTONOMA METROPOLITANA ± IZTAPALAPA Coordinación de Servicios Documentales ± sección Biblioteca División: CBI Grado Académico: Licenciatura Carrera: Computación Titulo de trabajo: Socket en Unix Nombre del Alumno: José Alfonso Méndez Ramírez Nombre del Asesor: Victor Alcaraz Paramo México D.F. a 2007/08/27

Upload: vobao

Post on 20-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

UNIVERSIDAD AUTONOMA METROPOLITANA IZTAPALAPACoordinación de Servicios Documentales sección Biblioteca

División: CBI

Grado Académico: Licenciatura

Carrera: Computación

Titulo de trabajo: Socket en Unix

Nombre del Alumno: José Alfonso Méndez Ramírez

Nombre del Asesor: Victor Alcaraz Paramo

México D.F. a 2007/08/27

Page 2: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

CONTENIDO

Antecedentes históricos

Conceptos generales

Referencia -Redes de computadoras -Topología en Ducto -Topología en Anillo -Topología en Estrella

Elementos de una LAN

El modelo de referencia OSI

Capas del modelo OSI

Protocolos basados en niveles

Objetivos de Protocolos Basados en Niveles

Comunicación entre distintos niveles

Dominio Internet (TCP/IP) identificación de Host -Servicios y números de puerto

Page 3: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Modelo Cliente-Servidor - Atributos del proceso Servidor

- Atributos del proceso Cliente- Aplicaciones, Socket- Concurrencia entre Cliente-Servidor- Mecanismos de Comunicación- Socket de Berkeley

Tipos de Servidores

Código Ejemplo POO- Cliente- Servidor

Conclusiones

Biografía.

Page 4: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

ANTECEDENTE HISTORICO

El sistema operativo UNIX se inicio en los laboratorios Bell durante 1969 Ken Thompsoncon ideas y apoyo de Rudd Canaday Doug Mellroy Joe Ossanna y Dennis Ritchie, escribioun sistema de tiempo compartido y de uso general lo bastante adecuado y cómodo.Ritchie también diseño y escribió un compilador para el lenguaje de programación C, en1973 Ritchie y Thompson rescribieron el Kernel (núcleo de unix en C) rompiendo así conla tradición de que el software de sistemas esta escrito en lenguaje enssamblador.

Hacia 1974 fue introducido en las universidades y al cabo de pocos años estaba disponiblepara uso comercial a los proyectos de desarrollo de software, a los centros deprocesamiento de palabras y a los sistemas de apoyo de operaciones en las compañías deteléfonos de Estados Unidos.

En sentido estricto Uinx es el núcleo o Kernel de un S.O. de tiempo compartido: unprograma que controla los recursos de una computadora y los asigna entre usuarios,controla los dispositivos periféricos discos, terminales, impresoras y otros dispositivosperiféricos conectados a la maquina y proporciona un sistema de archivos que administra elalmacenamiento a largo plazo de información tal como programas, datos y documentos.

En sentido mas amplio el Unix abarca no solo el núcleo, sino también programas esencialesentre ellos: compiladores, editores, lenguajes de comandos, programas para compilado eimpresión de archivos etc.

Hoy en día casi todos los sistemas están conectados con algún tipo de red los sistemas deescritorio están conectados vía red a servidores de archivos y ellos usan la red para accederal sistema y organizaciones gubernamentales y más y más compañías privadas estánconectadas a Internet y usan la red para comunicarse con los usuarios, acceder datos ydistribuir información alrededor del mundo, igual que muchos computadores caseros estánconectados a Internet mediante un servicio privado de MODEM o dial-up.El protocolo de red más estándar hoy en día es el llamado TCP/IP por las siglas en ingles deTransmisión Control Protocol / Internet Protocol. Este conjunto de protocolo fue creadopor Internet Engeneering Task Force y es el protocolo usado alrededor del mundo para laconexión de Host, servidores conectados al Internet. El protocolo TCP/IP es también usadopara la mayoría de los sistemas Unix en redes de área local para para la aplicación deservicios de archivos y remoto login de red.

Otro protocolo de estándar internacional es el usualmente llamado OSI por sus siglas eningles Open System Interconect ha sido estandarizado por el International StandardOrganization (ISO) aunque es bastante popular en Europa, este protocolo jamás fue tomado

Page 5: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

en USA por una amplia variedad de razones políticas y técnicas, no obstante tanto hablarde lo anticuado de TCP/IP para cuando iso/osi fue lanzado como estándar la mayoría de lasconexiones ya trabajaba con TCP/IP era claro que el protocolo TCP/IP esta aquí paraquedarse y todas las organizaciones que usan iso/osi internamente también deben soportarTCP/IP si es que quieren conectarse al mundo y a Internet.

Debido a que TCP/IP fue fundado y desarrollado por la defensa de US (DARPA)DEFENCE ADVANCE RESEARCH PROYECTS AGENCY y esta es la principalproveedora de Unix Barkely BSD Unix fue la primera versión de el sistema operativo ensoportar redes INTERNET vía TCP/IP el Berkely networking paradigma, usualmentellamado internase Socket, ha sido diseminado por todas las versiones de Unix incluidaSVR4.

Page 6: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

CONCEPTOS GENERALES

REFERENCIA

Antes de emprender el desarrollo de los temas técnicos en detalle, es importante dedicaralgunos espacios para recalcar el porque el interés en la conectividad en redes decomputadoras y saber cuales son sus aplicaciones.

Una red de computadoras es una colección interconectada de computadoras. Se dice quedos computadoras están interconectadas, si estas son capaces de intercambiar información;La conexión fisica, no necesariamente tiene que hacerse mediante un hilo de cobre, tambiénpuede hacerse mediante el uso de microondas o satélites de comunicaciones.

De manera mas general, el gran objetivo de las redes es compartir recursos; es decir, quetodos los programas datos y equipo estén disponibles para cualquier usuario de la red queasí lo solicite, sin importar la localización física del recurso y del usuario, en otras palabras,el hecho de que algún usuario se encuentre a 100 Km. de distancia de los datos no esimpedimento para que este los pueda utilizar como si fueran originados localmente.Otro de los objetivos es el ahorro económico. Las computadoras pequeñas tienen mejorrelación costo/rendimiento comparada con la ofrecida por las maquinas grandes, estas son agrandes rasgos diez veces más rápidas que el más rápido de los microprocesasadores, perosu costo es miles de veces mayor.

Solo las redes más sencillas conectan computadoras personales vía sus puertos seriales yparalelos y estas se denominan en forma mas correcta sistemas de transferencia de archivos.Las computadoras personales se conectan a las redes a través de tarjetas llamadasadaptadoras de red; incluso las redes inalámbricas que son operadas por radio necesitantarjetas adaptadoras, como el adaptador de red se asienta en el ducto. Tiene acceso a losdatos, memoria y poder de procesamiento.

Una red de área local LAN (Local Area Network) es un medio de transmisión deinformación, que proporciona la interconexión a alta velocidad entre diversos ordenadoresterminales y periféricos situados en su entorno reducido. La razón de ser, y a ello se debe eléxito que está experimentando su utilización, reside en que cada día es mayor la cantidad deinformación que tiene que procesarse de una manera local, y a su vez mayor el número deusuarios que necesitan estar conectados entre si, con la posibilidad de compartir recursoscomunes, por ejemplo utilizar una base de datos general o compartir una impresora.

Page 7: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

REDES DE COMPUTADORAS

· Redes de computadoras (ComputerNetwork)-Es un sistema de comunicaciones que interconecta que conecta computadorasautónomas.

· Red de Área Local (LAN: Local Area Network)-Es una red de computadoras que están muy cerca unas de otras, comúnmente enuno o varios edificios cercanos.

· Red de Área Amplia (WAN: Wide Área Network)-Es una red que, básicamente, une redes de área local geográficamente dispersas

Los host pueden ir desde pequeñas computadoras personales, (microcomputadoras) hastacomputadoras de uso general.Algunos de estos host, dentro de la red son computadoras dedicadas a servicios tales comoservidores de impresión o servidores de archivos.

TOPOLOGÍA DE REDES LOCALES

La topología de una red se refiere a la forma en que están interconectadas lascomputadoras, básicamente son tres tipos de configuración en los que trabajan las LAN:

a) TIPO DUCTO.

b) ANILLO.

c) TIPO ESTRELLA.

TOMPOLOGÍA TIPO DUCTO.

La topología en ducto fue quizá la primera utilizada en este tipo de redes por derivar de losductos internos de los ordenadores que permiten una gran velocidad de transferencia deinformación. En esta topología, cada terminal conectada es un punto común (nodo) quepuede ser compartido por todos los demás de la red; funciona en realidad como unaconfiguración multipunto.

Page 8: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

La información se transmite por el ducto alcanzando todos los nodos de la red, cada uno deellos se corresponde con una determinada dirección, de tal manera que está perfectamenteidentificado dentro de la red. En este tipo de red, la información circula libremente sinretenciones en los nodos, por lo que la velocidad de propagación circula libremente sinretenciones en los nodos, por lo que la velocidad de propagación es grande, pudiendoademás ser bidireccional.

Page 9: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

TOPOLOGÍA EN ANILLO

Esta topología se caracteriza por que los elementos que componen la red se encuentranformando un bucle cerrado, existiendo un nodo maestro (servidor de la red) y siendo elresto de las estaciones nodos esclavos. La información circula de un nodo al siguiente en unsolo sentido, hasta que completa el recorrido volviendo al origen. Cada nodo recoge lainformación a él destinada al reconocer que esta ésta trae su dirección, repitiendo yamplificando al mismo tiempo, los nodos por tanto tienen un papel activo.

Page 10: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

TOPOLOGÍA EN ESTRELLA

Esta topología presenta una distribución radial que parte de un nodo central, en este nodo seencuentra situado el servidor que controla el funcionamiento de toda la red. La ventajaprincipal de este tipo de configuración es su gran seguridad, pues la ruptura de un enlace noafecta al resto del sistema. Puesto que la comunicación de unas terminales con otrassiempre se realiza a través del nodo central, el rendimiento de la red depende en granmedida de la potencia de este nodo; en cierto sentido, su filosofía es parecida a la queutilizan las centrales telefónicas que dan servicio a los diferentes departamento de unaempresa.

Page 11: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Dentro de las redes de computadoras dos de las más populares a nivel de red área localSon ETHERNET (topología de bus) y TOKEN RING (topología de anillo) en particular lared que se muestra a continuación corresponde a Ethernet.

Como se observa una red se compone de una o varias subredes que pueden estar unidas porun dispositivo ruteador R cada subred mantiene interconectadas uno o varios Hosts.La función del ruteador es la de pasar mensajes de una subred a otra, si es que se necesita.Por ejemplo para enviar un mensaje de H7 a H2 el ruteador sabe que debe pasar el mensajede la subred S4 a la S1. En cambio para enviar un mensaje de H8 a H6 el ruteador sabe queel mensaje se deberá quedar en la misma subred S4.

El caso del host H5, es particular, ya que desempeña el papel de ruteador, entre las subredesS3 y S5, además de ser una computadora de uso general. Finalmente, tenemos eldispositivo Gateway G, cuya función es la de conectar diferentes redes, p.e. Ethernet contoken ring.

Page 12: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

ELEMENTOS QUE INTERVIENEN EN UNA LAN

Los elementos que integran una LAN son los siguientes:

Servidor.- Es la computadora central que permite compartir recursos y es donde seencuentra alojado el sistema operativo de red.

Concentradores.- Son los dispositivos distribuidores de conexiones Ethernent o Token ringvía cables STP, UTP tipo de IBM, coaxial o fibra óptica.

Tarjeta de interfaz.- Es el hardware que permite a un equipo de cómputo unirse al medio detransmisión en una de red de comunicaciones.

Medio de transmisión.- forma la conexión de la red para la comunicación entre lasdiferentes estaciones. La mayoría de las redes LAN usan cables para este propósitopudiendo ser cable telefónico o fibra óptica, aunque también pueden ser utilizadas lasmicroondas terrestres o satelitales rayos infrarrojos o láser para el caso de redesinalámbricas.

Periféricos.- son los dispositivos que circundan una red, los más comunes son:

Impresoras Graficadores Unidades de respaldo Monitores.

Terminadores.- son los dispositivos que se colocan al término de cada segmento de red,tienen la misión de absorber las señales que llegan hasta ellos.

Sistema operativo de red.- Es el software que se encarga de administrar los recursoscompartidos por los usuarios. Desarrolla también la función de inicializar el Hardware einteractúa con el usuario, de tal forma que puede ser visto como una interfaz hacia éste.

El sistema operativo de cualquier computadora esta organizado en diferentes instancias lascuales se encargan de indicarle al procesador (CPU) lo que se debe ejecutar para llevar acabo las ordenes del usuario. Finalmente el sistema operativo es un conjunto de programas(procedimientos o funciones).

Page 13: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Las instancias hacen las veces de capas, donde una capa le indica a la otra que es lo que serequiere. Estas instancias y la interacción entre ellas se lleva a cabo por medio de primitivasque están construidas por procedimientos, funciones y estructuras de información.Cada una de las instancias tiene una función jerárquica dentro del sistema operativo.

UsuarioSistema operativo

monitortraductores

manejadores de periféricos***

administrador de procesos en memoriaHardware de la computadora o host

EL MODELO DE REFERENCIA OSI

La gran mayoría de las redes se organizan en una serie de capas o niveles con el objeto dereducir la complejidad de su diseño. Cada una de estas capas se construye sobre supredecesora, el número, nombre contenido y función de cada una de ellas varían de una reda otra, sin embargo, en cualquier red el propósito de cada capa es ofrecer servicios a lascapas superiores, liberándolas del conocimiento detallado sobre la forma en que se realizanestos servicios.

La capa n de una máquina conversa con la capa n de otra máquina, las reglas yconvenciones utilizadas en esta conversación se conocen conjuntamente como protocolo dela capa n. A las entidades que forman las capas correspondientes en máquinas diferentes seles denomina procesos pares (igual a igual). En otras palabras, son los procesos pares losque se comunican mediante el uso del protocolo.

En realidad no existe una transferencia directa de datos desde la capa n de una máquina a lacapa n de la otra sino mas bien, cada capa pasa la información de datos y control a la capainmediata inferior, y así sucesivamente hasta que se alcanza la capa localizada en la partemás baja de la estructura. Debajo de la capa 1 está el medio físico a través del cual serealiza la comunicación real.

Page 14: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Entre cada par de capas adyacentes hay una interfaz, la cual define los servicios yoperaciones primitivas que la capa inferior ofrece a su inmediata superior.

Al conjunto de capas y protocolos se le denomina arquitectura de red. Las especificacionesde ésta deberán contener la información suficiente que permita al diseñador escribir unprograma o construir el hardware correspondiente a cada una de las capas y que siga enforma correcta el protocolo adecuado y apropiado a cada nivel. Tanto los detalles derealización como las especificaciones de las interfaces, no forman parte de la arquitecturaporque se encuentran escondidas en el interior de la máquina y no son visibles desde elexterior.

Con la intención de normalizar, a finales de la década de los 70s, la Organizacióninternacional de Normalización (ISO International Standard Organization) desarrolla unaserie de normas para la creación de un sistema de interconexión entre diferentes equipos dediversos fabricantes, lo suficientemente abierto para permitir el intercambio de informaciónentre sistemas distribuidos.

Este modelo conocido como Interconexión de Sistemas Abiertos (OSI, open systemInterconection), trata de normalizar los diversos elementos que existen en cualquier red,definiendo siete capas o niveles.

El modelo desarrollado por ISO para la interconexión de sistemas abiertos, tiene plenaaplicación en la estructura utilizada en el desarrollo de las redes locales, aunque no en todoslos niveles, pues aún se encuentran algunas capas superiores sin estar perfectamentedefinidas y/o publicadas. A continuación se describen las capas del modelo OSI y susfunciones correspondientes.

MODELO DE REFERENCIA OSI DE LA ISO

7.- APLICACIÓN6.- PRESENTACION5.- SESION4.- TRANSPORTE3.- RED2.- ENLACE DE DATOS1.- FISICA

Page 15: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Este modelo de referencia (OSI de la ISO) es un modelo conceptual que trata de explicar laarquitectura de las redes y en el que actualmente muchos vendedores se basan para explicarel funcionamiento de su propio software de la red.

El objetivo de este modelo, basado en la propuesta desarrollada por la ISO es tratar dellegar a una estandarización internacional que englobe a las diferentes arquitecturas de redexistentes.

En el momento que fue desarrollado este modelo ya existían varias arquitecturas de redcomo son TCP/IP, XNS y SNA, que todavía subsisten. Como cada una de estasarquitecturas había sido construida con un sello propio el conocer una de ella no implicabaconocer cualquiera de las otras restantes. De allí que el modelo OSI pretende dar unconcepto genérico a las redes para su mejor entendimiento y que en la actualidad a llevadoal establecimiento de estándares.

Redes o familias de protocolos; Las redes están conceptual izadas por un conjunto de capasdonde en cada capa existe un protocolo, de allí que una familia de protocolos es unacolección de protocolos de más de una capa que constituye las bases de una red útil.

Algunas familias de protocolos son:

· TCP/IP protocolos de Internet de D de defensa de EUA.· XNS DE Xerox.· SNA de IBM· NetBio de IBM· OSI· UUCP de Unix· Novell· DNA de DEC.

Page 16: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

CAPAS DEL MODELO OSI

Capa de aplicación:No esta bien definida completamente, define los servicios a través de los cuales lasaplicaciones hacen uso de la red; por ejemplo, si se tiene un mensaje por transmitir hay quever con que recursos se cuenta para hacerlo, se encarga con el entendimiento de las capasinferiores, de soportar las transferencias de información y de proporcionar los elementosnecesarios para una aplicación especifica.

Capa de presentación:Esta capa se encarga de la presentación de los datos intercambiados por las aplicaciones, esdecir desarrolla el cifrado/decifrado dando códigos de reconocimiento a los archivos paratener una compatibilidad entre todas las terminales conectadas a la red. Incluye latraducción de alfabetos así como la adaptación de formatos y control de estructuras deregistros y trabajos.

Capa de sesión:Esta capa permite a diferentes computadoras establecer una sesión de trabajo, esresponsable de la puesta a punto y del control del diálogo entre dos entidades, las sesionespermiten que el tráfico vaya en ambas direcciones al mismo tiempo, o bien, en una soladirección en un instante dado, el nivel de sesión ayudara al seguimiento de quién tiene elturno de igual manera, ayuda a la recuperación de una sesión interrumpida por diversasrazones.

Uno de los servicios más importantes que presenta este nivel es el de sincronización.Considérense por ejemplo los posibles problemas que podrían ocurrir cuando se tratara dehacer una transferencia de archivo de dos horas en una red que tuviera un tiempo medio deuna hora entre caídas, después de abortar cada archivo, la transferencia completa tendríaque iniciarse de nuevo y probablemente ocurriría la siguiente caída antes de concluir , paraeliminar este problema, el nivel de sesión presenta una forma para insertar puntos deverificación en el flujo de datos, con el objeto de que después de cada caída sólo tengan quetransmitirse los datos que se encuentren después del último punto de verificación.

En las primeras tres capas Aplicación, Presentación y Sesión es donde se ubican losprocesos de cliente y servidor, son las capas que tienen que ver con los programas deaplicación.

Page 17: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Capa de transporte:Esta capa se ocupa del control del transporte de la información de fuente destino a través dela red. Asegura que los mensajes de los usuarios conectados a una red informática seancorrectamente transmitidos a sus destinatarios. Otras de sus funciones son el aislamiento delos niveles superiores ante los inevitables cambios de hardware, la división de los datos delnivel de sesión ordenándolos y conduciéndolos al nivel de red.

Toma la información de la capa de sesión, la divide en varios pedazos si es necesario, pasaestas piezas a la capa de red y se asegura que todo llegue correctamente a la capa detransporte del otro host.

Capa de Red:Esta capa se ocupa de definir el direccionamiento de paquetes de datos que transitarán porel interior del sistema, controla la operación de la red y estructura adecuadamente lospaquetes siendo éstos su unidad de información, es el nivel más bajo que tienecomunicación extremo a extremo.Resuelve como llevar a ratear un paquete de información desde su origen hasta sudestino.

Capa de enlace:Esta capa es la responsable del direccionamiento sin error de bloques de información en latransmisión de datos, en efecto los soportes de transmisión introducen errores en lainformación transportada y el objeto de esta capa es asegurar que la tasa de error seadespreciable. Los bloques de información se denominan frecuentemente tramas, siendoéstas la unidad de información en este nivel. Esta capa crea y reconoce las fronteras degrupos de bits, es responsable de recuperar los datos perdidos o dañados entregando el nivelde red una información libre de errores.

Capa física:Esta capa se encarga de la transmisión de los bits a lo largo de un canal de comunicaciones,su diseño asegura que si se transmite un bit 1 desde un extremo llegue al otro tal cual. Estacapa trata con voltajes, tiempos, conexión/desconexión y señales de pines. La unidad deinformación en esta capa es el bit.Define las características de la red y del hardware.

Esta arquitectura de siete niveles permite una buena comprensión de los diferenteselementos que van a intervenir en la construcción de un sistema telemático distribuido,teniendo en cuanta que no siempre es necesario utilizar todas las capas.

Page 18: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

PROTOCOLOS BASADOS EN NIVELES

Para que un usuario o una aplicación de usuario pueda comunicarse de un Host A a unHost B, su mensaje (comando o información) tiene que pasar por el software decomunicación que tiene instalado el Host. Este software consta de siete instancias o capas.Así un mensaje, enviado desde el Host A, primero pasa por la capa 7, y luego por la 6 y asísucesivamente hasta llegar a la capa No. 1 (física) cada capa, le va agregando aditivamenteinformación propia a lo que le llega de la capa inmediata superior. A si lo que llegue de lacapa 5, la capa 4 le agrega más información de control, propia de esta capa.

A partir del hardware de comunicaciones del Host A toda la información agregada por lascapas incluyendo el mensaje del usuario, es enviado a través del medio de transmisión.Después, el hardware de comunicación del Host B, recibe del medio de transmisión lainformación enviada por la capa física del Host A iniciando ahora el proceso inverso de irquitando información propia de cada capa, desde la capa 1 hasta la 7.

Esto es una ilustración de lo que le va pasando a un mensaje según va pasando por lasdistintas capas del software de comunicaciones.Como se observa, en el host A, cada capa por la que va pasando el mensaje Message ,

Page 19: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

hacia abajo, le va agregando información de control propia de la capa (encapsulamiento).En el otro extremo, el Host B, a la información que recibe proveniente, de la capa inferiordel Host A, justo le va quitando la información que le fue agregando la capacorrespondiente en el Host A. Al final la capa superior, en el Host B, recibe Message .

Cabe destacar que en la información que envía la capa N+1 en el Host A, es la misma querecibe la capa N+1 en el Host B (es este caso H1 + Message ) lo mismo sucede en lascapas N y N 1 en ambas computadoras.Lo anterior, Hace dar la apariencia que las capas correspondientes en los diferentes Host secomunican virtualmente usando el protocolo correspondiente. Por ejemplo entre capasN-1, con el Protocolo P(N-1) esto es transmitiéndose virtualmente H3 +H2 +H1+ Message

El propósito de cada capa N es ofrecer un servicio especifico a la capa superior (N+1).Protegiendo a esta capa superior de cómo el servicio es implementado(independientemente de cómo sea la computadora y/o la red física.

Un objetivo de esta división por capas, además de hacer comprensible la arquitectura de lared, pretende hacer independientes a las capas, de tal manera que un cambio efectuado enuna capa se haga de manera independiente sin que el resto se entere.

En teoría podría integrar un software de red con capas elaboradas por siete vendedoresdiferentes.

El método que utilizan los fabricantes para diseñar los sistemas plantea siempre un serioproblema, anteriormente, cada fabricante seguía su propio camino para diseñar una red,desarrollar los programas necesarios y establecer el método de integración de cada interfazdel usuario en la red. Puesto que cada fabricante usaba un sistema distinto y particular, elusuario a menudo se veía obligado a integrar varios protocolos con el fin de acoplarequipos de diferentes fabricantes en una misma estación de usuario. Algunas grandesempresas como IBM, General Motors y AT & T consiguieron imponer su propio estándargracias a su posición predominante en la industria.

A pesar de estos estándares informales, la carencia de un esquema aceptado por todos losfabricantes ha obligado a los usuarios a sufrir las incomodidades de los múltiplesprotocolos. En la industria de las comunicaciones, el número de empresas que colaboranpara fabricar equipos destinados al usuario es muy reducido, a diferencia de lo que sucedeen otros sectores industriales.

Page 20: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

La idea de fondo de los estándares para redes estratificadas, consiste en desarrollar unnúcleo de procedimientos común a todos los fabricantes, ofreciendo además un punto departida razonable, desde el cual arrancar en caso de que este núcleo no satisfaga todas lasnecesidades.

OBJETIVOS DE LOS PROTOCOLOS BASADOS EN NIVELES

Las redes informáticas se basan en la idea de disponer las funciones y los protocolos envarios niveles, todas estas técnicas se han desarrollado para conseguir los siguientesobjetivos:

· Descomponer lógicamente una red compleja en partes (estratos a niveles) máspequeñas y fáciles de entender.

· proporcionar interfaces normalizadas entre las distintas funciones de la red; porejemplo entre distintos módulos o programas.

· Conseguir simetría en las funciones que se realizan en cada nodo de la red. Cadanivel ha de llevar a cabo las mismas funciones que su contrapartida en otros nodosde la red.

· Ofrecer un método que permita predecir y controlar posibles cambios en la lógicade la red.

· Establecer un lenguaje normalizado que permita la claridad de la comunicaciónentre los distintos diseñadores, fabricantes, distribuidores y usuarios de redes a lahora de discutir las funciones de la red.

Page 21: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

COMUNICACIÓN ENTRE DISTINTOS NIVELES

En los protocolos estratificados, cada estrato o nivel es un suministrador de servicio ypuede estar constituido por varias funciones de servicio, así un nivel puede realizarfunciones de conversión de códigos, para traducir por ejemplo del Alfabeto internacional#5 (IAS) al EBCDIC o viceversa, desde el alfabeto TELEX al ASCII de VIDEATEX aEBCDIC, etc. Cada función es un sistema del nivel al que pertenece, haciendo unaanalogía, si se habla en términos de programación, es como una subrutina de un programa.Cada subsistema a su vez, puede estar integrado por varias entidades, una entidad es unmódulo especializado.

Se trata en esencia de que un nivel ofrezca algún valor añadido a los servicios queproporcionan los niveles inferiores, por tanto, el nivel superior que enlaza directamente conla aplicación de usuario, tiene a su disposición todo el abanico de servicios que llevan acabo los niveles inferiores.

En el diagrama se ilustra la terminología usada en la interconexión con un nivel osuministrador de servicios. Están implicadas cuatro transacciones llamadas primitivas, queinvocan desde o hacia el nivel correspondiente a través de los puntos de acceso al servicio(PAS), en algunas secciones no son necesarias todas las transacciones. A continuación seenuncian las primitivas.

· Solicitud.- Primitiva generada por el usuario del servicio para invocar una función .

· Indicación.- Primitiva generada por el suministrador de servicios para invocar unafunción o para indicar que una función ha sido invocada en un PAS.

· Respuesta.- Primitiva generada por el usuario del servicio para completar unafunción invocada previamente mediante una indicación en el PAS.

· Confirmación.- Primitiva generada por el suministrador de servicios para emplearuna función previamente invocada mediante una solicitud en ese PAS.

Por lo general, las primitivas incluyen parámetros adicionales para transferir informaciónentre los distintos niveles.

Page 22: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Como se nota en el esquema una terminal o una aplicación de usuario invocan una funciónde un suministrador de servicios enviando una solicitud al nivel inmediatamente inferior.

El suministrador contesta a esta solicitud devolviendo una confirmación. Si el servicio debeproporcionar una función a otro usuario, en este caso el B, el suministrador del serviciodebe enviar una indicación a B, después de la cual B deberá enviar a su vez una respuesta.

Si quien proporciona los servicios es un estado a nivel éste se conecta a los usuarios A y Ba través de los PAS de ese nivel, para recibir del suministrador el servicio adecuado, A y Bhan de conocer los PAS asociados. Cada PAS contiene la dirección de la funciónespecificada del servicio a que corresponde.

En el siguiente esquema se considera el proceso desde otro punto de vista.El suministrador de servicios se encuentra en el centro del diagrama, y los usuarios A y B aambos lados del mismo. La solicitud se envía al suministrador de servicios, el cual a su vezenvía, una indicación al usuario B, el usuario B genera una respuesta, que se transmitecomo confirmación a A a través del suministrador de servicios.

Solicitud Confirmación Respuesta Indicación

A B

PAS PAS

Suministrador de servicios(contiene una o varias funciones)

PAS: Puntos de Acceso al Servicio

SUMINSTRADOR DE SERVICIOS

Page 23: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

El proceso proporciona a los niveles una técnica de comunicación común a todos ellos, pormedio de la cual éstos podrán dialogar entre sí incluso aunque hayan sido instalados pordistintos fabricantes. Recuérdese que el suministrador de servicios puede ser un nivel, unafunción o una entidad contenida dentro de un nivel, y que todo consiste en suma en ofrecerun medio común de comunicación entre niveles.

En la vida diaria se emplea un sistema muy parecido para comunicarse (a) se establece lacomunicación con un saludo hola , (b) se adopta un sistema de conversación para hablar yescuchar, (c) se concluye la conversación con una despedida adiós .

El objetivo de un diálogo como éste podría ser el siguiente:Pedir al suministrador de servicios (tal vez una operadora) una conferencia. Elsuministrador de servicios (la operadora) invocará diversas funciones o entidades paraatender nuestra solicitud (a) nos saludará, (b) nos preguntara que deseamos, (c) obtendrá elnúmero de nuestro destinatario y (d) marcará este número. Incluso podría invocar serviciosmás exóticos, como por ejemplo la traducción simultánea; así por ejemplo, al oírse decirhola , la operadora invocara la entidad de traducción de español a ingles y viceversa, es

decir, haría una traducción para nosotros.

A BSuministrador deservicios

Solicitud

Confirmación

Indicación

Respuesta

Page 24: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

En la comunicación entre distintos niveles intervienen cinco componentes, las siguientesson sus funciones:

· Unidad de datos del servicio (DSU, Data Service Unit). El nivel N+1 transfiere loasdatos del usuario de modo transparente hacia el nivel N,y después hacia el nivel N-1

· Información de control del protocolo (PCI, Protocol Control Information).Información que intercambian entidades gemelas (iguales) situadas en distintospuntos de la red, con el fin de ordenar a una entidad que lleve a cabo una función.

· Unidad de datos del protocolo (PDU, Protocol, Data Unit). Combinación de la DSUy de la PCI.

· Información de control de la interfaz (ICI, Interface Control Information).Parámetro temporal que se envían los niveles N y N-1 para invocar funciones deservicio entre ambos niveles.

· Unidad de datos de la interfaz (IDU, Interface Data Unit). Unidad total deinformación transferida entre las fronteras del estrato: incluye la PCI, la DSU, y laICI. La IDU se transmite a través del PAS.

Page 25: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Cuando la IDU del nivel N+1 pasa al nivel N, se convierte en la DSU de ese nivel.A su vez; la ICI pasa al nivel N, realiza su función y desaparece. La DSU del nivel N tieneañadida una PCI además de otra ICI, para convertirse en la IDU en el nivel N-1.

De esta manera, a través de cada nivel se transmite una unidad de protocolo completa, encada estrato se añade una PCI a la DSU; es decir, cada nivel coloca un encabezado, queserá utilizado por el estrato gemelo del otro nodo de la red para invocar funciones, esteproceso se repetirá en cada estrato.

PDU

IDU

DSU

PCI DSU ICI

IDU

ICI

ICI

Nivel N+1

N

N-1

Page 26: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

DOMINIO INTERNET (TCP/IP)IDENTIFICACION DE UN HOST

NOMBRES Y DIRECCIONES DE HOST:

Las personas utilizan el nombre de host para comunicarse con otro host, los programasutilizan direcciones de host.Cada host en una red tiene un nombre único , en una land el nombre de host puede sersimple como pedro1 o fiscalB de cualquier manera en Internet el nombre de host debeser un nombre con dominio calificado completo como pedro1.some.college.edu ofiscalB.company.com .

NOMBRE DE DOMINIO INTERPRETACIÓNCOM Empresas comercialesEDU EducaciónMIL Instituciones militares

GOV Instituciones gubernamentalesUUCP dominio genérico

UK Gran Bretaña (AC académico)FR FranciaMX México

El IDNS (Internet domain name system) permite al nombre de host ser subdividido enpartes dentro de un numero de área lógica o dominio, en la ultima parte del nivel de dominose encuentra el mas grande. Cada país tiene dos letras de dominio, por ejemplo su es paraestados unidos, se es para Seden y mx es para México, en Estados Unidos existenotros 4 TOP-leve, hedí para educacional institutions (colegios y universidades), mil espara organizaciones militares, gov es para organizaciones guvernamentales no militares ycom que es para organizaciones comerciales, estos dominios deberán estar realmente bajo

el dominio us desde que son especificados para us pero por razones históricas hacen a estosde otra manera cada top-level de dominio es subdividido en otros subdominios por ejemploel dominio edu es dividido en otro dominio para cada colegio o universidad unam.edu ,ipn.edu estos subdominios pueden ser subdivididos a su vez por otros por ejemplo el

centro de computo cc.ipn.edu o el departamento de física physics.unam.edu , esto es engeneral, que no existe limite para subdividir dominios pero lo mas común son no mas de 4o tres niveles, la ultima subdivisión del dominio es el nombre del host por ejemplopedro1.some.college.edu.us o fiscalB.company.com.mx

Page 27: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Para obtener el nombre del host se puede utilizar la función uname por rasones deportabilidad cuando se usa Barkely socket interface este es más común obtenerlo con lafunción gethostname

Int gethostname(char *name, int len);

HOST ADDRESSED

El nombre de host es funcional para identificar a otros host pero estos no proveen suficienteinformación para la red y el software de la red hace mucho uso de estos por esta razón cadahost también tiene una dirección de red.

Una dirección de red es de 32-bits y es única, cada host en la red tiene una diferentedirección.

identificación de un host:· IP Address

-dirección del host dentro del dominio

· DOMAIN NAME-nombre oficial del host dentro del dominio

La dirección del host es también llamada dirección de red o dirección de Internet esusualmente escrita en notación de 4-eneadas en la cual cada byte de la dirección esconvertida a un numero decimal sin signo y separada de las siguientes por un punto.Las direcciones IP (Internet Protocol) tienen el siguiente formato de notación decimalpuntuada n1.n2.n3.n4 (n corre hasta 255, 0 y 1 no se usan) como por ejemplo.

148.205.240.5 130.17.120.43126.12.3.24 148.205.1.14

y para la dirección hexadecimal de red 0x7b2d4359 podría ser escrita 123.45.67.89esta notación decimal puntuada se puede expresar en representación ASCII o en binaria,

Page 28: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

en representación ASCII máximo ocuparía 15 bytes, incluyendo los puntos p.e.148.205.240.5 se almacenaría como 1 4 8 . 2 0 5 . 2 4 0 . 5ocupando 15 bytes, también aquí las direcciones son asignadas por el administrador de red.

comandos relacionados con el manejo de nombres en Internet(TCP/IP), desde UNIXhostmaneifconfig amore /etc/resolv.confnslookupping.

SERVICIOS Y NUMERO DE PUERTO:

Cualquier host en red puede proveer servicios de red, por ejemplo login remoto,transferencia de archivos, y entrega electrónica de correo, para distinguir cada uno de estosservicios, es asignado un numero de puerto, el número de puerto es un small int que seráusado para identificar el servicio para cada dato que se este entregando.Para la comunicación de dos host sobre el mismo servicio es necesario que estén deacuerdosobre el número de puerto a ser usado, todos los protocolos estándar de Internet usanpuertos bien definidos para este propósito por ejemplo si el host H1 quiere transferir unarchivo al host H2 usando el file transfer protocol (FTP) es bien sabido que este deberá usarel numero de puerto 21. físicamente un puerto es un numero entero de 16 bit.La mayoría de las versiones de UNIX usan el archivo /etc/services que almacena una listade los servicios y numero de puertos, El archivo lista el nombre del servicio nombre y elnumero de puerto y protocolo para ser usado por la comunicación con el servicio. p.e.

SERVICIO PUERTO/PROTOCOLO ftp 21/tcp telnet 23/tcp time 37/tcp time 37/udp login 513/tcp who 513/udp

Page 29: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

MODELO CLIENTE-SERVIDORCONCEPTO

El modelo o paradigma Cliente-Servidor consta de dos procesos: le cliente y el servidor,este es el modo de interacción mas normal en una red aunque no forma parte de losconcepto de Internet.

En este modelo, el usuario interactúa con el proceso cliente, que a su vez envía solicitudesde servicio al proceso servidor, el cual responde con resultados para aquellas solicitudes,como su nombre lo implica, el proceso servidor provee de servicios a su cliente.

Es conveniente diferenciar entre lo que es un programa y un proceso.

Un programa; es un conjunto de instrucciones que residen dentro de un archivo en disco oen algún medio magnético.

Un proceso; es una instancia de un programa que esta siendo ejecutado por un sistemaoperativo.

Un servidor es un programa que ofrece un servicio en la red, es decir que realiza unafunción especifica. En ciertas circunstancias, este término designará a una maquina. Esteserá el caso si dicha máquina está dedicada a un servicio particular (por ejemplo se hablade servidor de archivos).

Un cliente es un programa que dirige a un servidor una petición específica que correspondea una demanda de servicio.

Page 30: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

El proceso cliente, sólo dura ejecutándose mientras espera por la solicitud que previamentelanzó. Todos los procesos clientes de una misma aplicación cliente-servidor tienen elmismo código fuente esto es que corresponden al mismo programa cliente (variasinstancias con el mismo código fuente) el proceso cliente en general sólo se activa pararequerir un servicio y esperar por su respuesta.

Todo proceso servidor debe estar activo todo el tiempo en el que se considere pueda llegarlas peticiones de uno o varios clientes. El proceso servidor siempre esta activo.una practica común es siempre levantar el proceso Servidor al momento de cargar elSistema operativo a la computadora o de bootearla.

El caso más común de aplicación cliente-servidor se da en redes de computadoras donde elproceso cliente se ejecuta en una maquina y el proceso servidor en otra, resultandonecesario recurrir a los servicios de red para procurar la intercomunicación entre ambosprocesos, a través de una herramienta llamada SOKET que construye una interfase deprogramación , la cual abordaremos más adelante. aunque los procesos Cliente y Servidorpueden residir en una misma máquina o computadora, o en diferentes equipos en una red.

ATRIBUTOS DEL PROCESO SERVIDOR

El proceso server o servidor es disparado por la llegada de solicitudes de sus clientes. Unproceso servidor se esta ejecutando por siempre en espera de proveer servicios a susclientes.

Page 31: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

El servidor puede hacer toda la validación que se requiera, p.e. el caso del directoriotelefónico deberá checar que el nombre del subscriptor exista en su base de datos, en casocontrario el proceso mandara un mensaje al cliente indicando la inexistencia de este.

Los servicios pueden ser provistos directamente por el proceso servidor o indirectamentepor otros procesos que el mismo servidor controle como es el caso de un segundo procesoservidor que haga uso. p.e., de un manejador de bases de datos como podría ser el caso delas reservaciones.

en resumen los atributos de un servidor son:

· Siempre está ejecutándose.· Da servicio a muchos clientes.· Maneja las llegadas de las solicitudes.· Realiza las validaciones sobre las llegadas de las solicitudes.· Efectúa funciones especificas según aplicación.· Regresa resultado.

ATRIBUTOS DEL PROCESO CLIENTE

El proceso cliente se la pasa mandando solicitudes por requerimiento a el procesoservidor, típicamente el cliente esta dedicado a estas interactuando con el usuario y aprincipiar y terminar la sesión.

El cliente es responsable por el mantenimiento y el procesamiento del diálogo con elusuario.

La validación en el cliente es muy somera por que este se refiere solo a la entrada deformato de datos como por ejemplo, validar que tecleen letras, espacios y puntos.

El cliente por el hecho de manejar toda la interacción con el usuario, esconde alservidor y a la red del usuario, esto da la apariencia de que toda la aplicación estasiendo ejecutada sin el uso de otros procesos, computadoras o redes. Es que en realidades una aplicación sin importas los procesos distribuidos.

en resumen los atributos de un servidor son:· Empieza y termina de manera fija.· Mantiene el dialogo con el usuario.· entrada de datos y algo de validación.· recuperación de errores y ayuda en línea.

APLICACIONES

· Reservaciones de hoteles y aerolíneas.

Page 32: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

· inventario de almacenes· autorizaciones de tarjetas bancarias· servicios de cajeros automáticos· servicios de terminal remota y transferencia de archivos TELNET Y FTP· servicios de WWW por Netscapa, mosaic, Explorer.· sistema gráfico X-window.

Todas esta aplicaciones son casos reales donde aplicamos el esquema cliente-servidoren algunos de estos caso es necesario una base de datos (los primeros cuatro)El caso de Telnet, que presta el servicio de terminal remota, es muy empleado por quienesviven en un ambiente de red y necesitan conectarse algún otro equipo de computo remoto,de esta manera se puede trabajar sobre una segunda computadora a partir de una primera.

La tecnología de redes se ha desarrollado debido a los requerimientos de los siguientesmodelos.

· Computo centralizado.· Computo distribuido· Computo Colaborativo.

Desde los 50´s la gente y las organizaciones han usado computadoras para manejarinformación y rápidamente se ha incrementado el volumen de esta, históricamente latecnología requería que estas maquinas fueran muy grandes y caras por lo que el primeresquema de Computo fue el centralizado las mainframes eran usadas para almacenar yorganizar datos, la gente metía datos en la mainframe utilizando dispositivos llamadosterminales que eran dispositivos de entrada salida, mediante a pesar de que podrían están agran distancia físicamente de la mainframe no representaban una red ya que el manejo dedatos e información era de forma local. las redes de computadoras empezaron cuando lasorganizaciones requerían compartir información y servicios con otras mainframes.

En el caso del modelo Cliente Servidor el fin común es lograr la comunicación.Las aplicaciones Cliente Servidor se pueden ejecutar sobre una computadora multiusuario(UNIX, VMS,MVS, etc.) o los diferentes clientes y servidores se pueden ejecutar sobredistintas computadoras, no importa cual sea el esquema la concurrencia o cooperación entrelos procesos cliente y servidor debe darse. El concepto de concurrencia de procesos se

Page 33: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

refiere al hecho de que dos o más procesos se ejecutan de manera simultanea (en paralelocooperando para lograr un fin común).

El procesamiento distribuido del modelo cliente servidor sobre las redes pone a disposiciónde este modelo toda la riqueza de recursos existentes en la misma red, ya que son el soporteideal para el procesamiento distribuido de las aplicaciones cliente servidor.

Tan pronto como la industria de las computadora maduro, y las pequeñas computadoraspersonales fueron creadas y permitiendo el control total en forma individual, para cadapropietario, este poder de computo individual dio como resultando una nueva estructura decomputo distribuido. Cada computadora tiene habilidades y recursos que pueden sercompartidos.

SOCKET

Un nuevo modelo llamado computo colaborativo, también llamado procesamientocooperativo esta convirtiéndose en una importante tendencia. el computo colaborativo es untipo de sinergia de computo distribuido donde la red de computadoras en realidadcomparten procesos y habilidades, en vez de simple comunicación y datos entrecomputadoras, el computo colaborativo usa dos o mas computadoras para completar unamisma tarea de proceso, como por ejemplo un calculo de una ecuación diferencialrepartidas en diferentes cpu de cada computadora esto disminuye el tiempo de calculo.

En los sistemas Unix existen muchos mecanismos para desarrollar aplicacionesdistribuidas, la comunicación de entre los procesos de un mismo sistema se denominacomunicación interprocesos (IPC).

Entre los mecacanismos que unix proporciona para IPC podemos citar: Pipes, fifos,mensajes, semáforos, memorias compartidas.

Las aplicaciones cliente servidor involucran la comunicación entre dos entidades distintas,generalmente, estas entidades están en sistemas diferentes, por ejemplo cuando utilizamosel comando telnet para comunicarnos con un sistema remoto, lo que estamos haciendorealmente es lanzar la aplicación cliente telnet en el sistema en el que se ejecuta elcomando. La aplicación cliente, a través del proceso inet establece una conexión con laaplicación telnet servidora.Entre los mecanismos más comunes que se utilizan para desarrollar aplicaciones clienteservidor están:

Sockets Berqueley, Interfaz de nivel de transporte (TLI)Llamadas a procedimientos remotos (RPC)

A medida que los sistemas Unix han ocupado el mercado se ha creado una mayor necesidadde aplicaciones distribuidas que aprovechen los recursos y la información disponible en lared. Una aplicación distribuida puede requerir el diseño de un proceso cliente que se ejecute

Page 34: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

en el sistema local y utilice los servicios de un proceso servidor que se puede ejecutar en unsistema común remoto.

La ventaja principal de este modelo de software distribuido es que incluso en entornosheterogéneos cada parte del programa se puede desarrollar independientemente de lasdemás, aprovechando así las ventajas de la herramienta Hardware y software especifica decada plataforma.

Las aplicaciones distribuidas basadas en TCP/IP se pueden desarrollar basándose ensockets de Berkeley o en la interfaz del nivel de transporte de sistemas, ambas soninterfases de programas de aplicación (API) para protocolos de red subyacentes comoTCP, UDP, o IP.Las aplicaciones distribuidas en general se diseñan de la forma que utilizan los serviciosproporcionados por los protocolos de red TCP, UDP, o IP, estos servicios se puedenagrupar en dos categorías, servicios orientados a conexión (TCP) envió de datos fiables yen secuencia.servicios no orientados a conexión (UDP) considerablemente rápidos.

Para establecer conexión entre dos sistemas:-Dirección Internet del sistema local-Dirección Internet del sistema remoto-Número de puerto local-Número de puerto remoto-Protocolo.

Como comentamos anteriormente las aplicaciones distribuidas son dos, Sockets de B.interfaz de nivel de transporte (TLI), y Llamadas a procedimientos remotos (RCP)

Un socket es un extremo de comunicación. Los programas de aplicación necesitan que elsistema operativo cree un socket cuando tiene que acceder a la red. el S.O a su vezdevuelve un entero que la aplicación utiliza para referenciar al socket.Los socket son similares a los descriptores de archivo, la principal diferencia es que el S.O.asocia un descriptor de archivo a un archivo o dispositivo especifico, cuando la aplicaciónllama Open, pero puede crear Sockets sin asociarles ninguna dirección especifica.

Page 35: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

La aplicación puede escoger entre suministrar la dirección de destino cada vez que utiliza elsocket o asociarla dirección de destino a un socket y evitar especificar repetidamente eldestino, un ejemplo de lo primero podría darse cuando el protocolo de nivel de transporte esUDP y un ejemplo de lo segundo sería el uso de TCP. Existen diferentes tipos de Sockets:

Sock-stream.- Es un socket de cadena utilizado en servicios fiables orientados a conexiónproporcionados mediante el protocolo TCP en el nivel de transporte.

Sock-dgram.- Es el Socket de datagramas, utilizado en los servicios no orientados aconexión proporcionados por el protocolo UDP en el nivel de transporte.

Sock-raw .- Es un socket crudo, utilizado como interfaz directo con el protocolo IP en elnivel de red.

CONCURENCIA ENTRE CLIENTE-SERVIDOR

La manera en que se asegura la concurrencia entre los procesos es arrancar primero alproceso servidor y hacer que este espere por un mensaje o indicación de requerimiento deservicio.

Así cuando posteriormente arranque un cliente y envié un mensaje, el cliente lo harásabiendo que existe un proceso servidor que esta esperando dar atención a su solicitud.En el momento en que el servidor recibe un mensaje o solicitud, se establece un dialogoentre el cliente y el servidor (concurrencia). Este diálogo y/o intercambio de mensajesterminará en el momento en que el cliente termine su ejecución y cierre la comunicación.Al terminar el cliente, el servidor simplemente estará en espera de la solicitud de otrocliente.

Page 36: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Pero para poder lograr esta concurrencia es necesario que el servidor reciba alguna solicitudo indicación de parte del cliente y esto sólo se logra mediante alguno de los mecanismos decomunicación ofrecidos por los sistemas.

MECANISMOS DE COMUNICACIÓN

IPCS .-Permiten la comunicación entre procesos que están en una misma computadoramultiusuario (pipes, fifos, message, queues, semaphores, shared memory) InterprocessCommunication .

RPCs .- Es un mecanismo por el cual un proceso puede ejecutar otro proceso (subrutina)que reside en otro host (remoto) posiblemente corriendo sobre un sistema operativodiferente al proceso que mando la ejecución Remote Procedure Calls .

SQL .- Es un mecanismo de las aplicaciones de base de datos relacionales distribuidas quepasa las requisiciones SQL y datos asociados de un proceso (usualmente un cliente) a otroproceso pueden estar en diferentes plataformas. El principal problema de este mecanismoes que esta orientado a estructuras de datos que involucra gran cantidad de procesamiento.structure query lenguage .

Page 37: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Sockets .- permiten pasar mensajes entre procesos que residen en diferentes computadoras,posiblemente sobre diferentes sistemas operativos.

Un gran problema que se tiene en las redes es la seguridad de la información, ya que estaviaja por los medios de transmisión de la red, esta puede llegar a ser observada por un buenconocedor de estos sistemas. esto trae como consecuencia que el acceso a la red deba sermuy restringido. Inclusive puede suceder que algún cliente sea ejecutado en unacomputadora que este fuera de la red, pero que con una llamada telefónica vía un módem sepueda enlazar a la red y es aquí donde más mecanismos de protección se necesitan.

Los servicios del sistema Operativo Unix son ofrecidos por el Kernel del mismo sistemaoperativo. El Kernel esta integrado por un extenso número de programas entre los que seencuentran los que manejan la comunicación entre procesos como los pipes, FIFOSs, colasde mensajes., semáforos y memoria compartida, también el Kernel ofrece él manejo deSokets para intercambio de mensajes vía la red.Para utilizar estos servicios de intercambio de mensajes vía la red, los procesos tienen queefectuar instrucciones que se conocen como llamadas al sistema .

SOCKETS DE BERKELEY:

Debido a que el desarrollo de TCP/IP fue fundado por la Defensa de los US (DARPA) yDarpa proveyó los fundamentos principales para el desarrollo de Barkeley Unix, BSD Unixfue la primera versión sistema operativo que soportaba internetworking vía TCP/IP }ElBarkely networking paradigma usualmente llamado Socket interface a sido diseminado atodo las otras versiones de Unix.

Los dominios de protocolos Internet están constituidos por todo sistema que soporte lafamilia de protocolos se unix o no. Un inconveniente de los protocolos Unix relacionadocon los sockets es que solo puede ser utilizado para comunicarse con procesos del mismosistema unix, otro problema, es que los protocolos unix no son realmente protocolos decomunicación sino una forma de IPC(comunicación entre procesos).

Page 38: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

Las capas donde esta montado el socket son:

7.- Aplicación 6.- Presentación

5.- Sesión (SOCKET) 4.- Transporte (TCP) o (UDP) 3.- Red (IP) 2.- Enlace de datos 1.- Física

Descriptor del socket:

Todo descriptor de socket se encuentra relacionado con una estructura de datos que guardalos siguientes cinco valores:-Familia de protocolos a usar tipo de servicio dentro de la familia-Dirección del host local-Dirección del host remoto-Número de puerto local-Número de puerto remoto

A este conjunto de valores se les conoce como Asociación y conforman un Socketcompleto.

En base a los tipos de servicio que ofrece la familia de protocolos TCP/IP tenemos que lacomunicación ente los procesos cliente-servidor se puede llevar a cabo de dos maneras

-con TCP que es un protocolo connection-orientted empleando sockets stream (tipoSOCK_STREAM)

-con UDP que es un protocolo connectionless empleando sockets datagram (tipoSOCK_DGRAM).

recordando que la principal diferencia entre estos dos tipos de protocolo es que el primeroestablece una conexión mientras dura el intercambio de mensajes.En cambio en el protocolo connectionless no hay conexión fija y hay que mandar ladirección y el puerto destino por cada mensaje.

Page 39: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

TIPOS DE SERVIDORES

En base al numero de solicitudes que se atienden a un tiempo, se encuentran dos clases deservidores.

- El iterativo: Se usa el termino de Servidor Iterativo para describir unaimplementación que procesa una solicitud a la vez, como es un solo proceso solopuede atender una sola solicitud.

- El concurrente: Se usa el termino de Servidor Concurrente para referirce a unservidor que procesa multiples solicitudes a la vez. como tiene n procesos hijosatendiendo a sus respectivos clientes por lo tanto podrá atender n solicitudes.

La siguiente figura muestra las llamadas al sistema que hay que realizar para establecer laconexión Cliente-Servidor concurrente connection-orinted. Este diagrama, obiamente nomuestra todos los detalles del desarrollo pero si muestra las llamadas importantes alsistema.

Los sockets, dentro del programa, se manejan a travez de una referencia a objetos socket.En este caso, del protocolo connection-oriented, se debe de establecer una conexiónmediante stream socket entre cliente y el servidor. Dicha conexión queda establecida en elmomento en que el proceso cliente ejecuta un socket, registrando su dirección y enviandolaal proceso servidor cuyo accept recibe la dirección correspondiente al cliente,. Cabemensionar que el proceso servidor previemente registró sus datos medienteSERVERSOCKET.

Page 40: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

SoServidor =ServerSocket(...)

Crear nuevo Thread

Recibir(...)

Proceso

Enviar(...)

SoCliente =Socket(...)

Enviar(...)

SoCliente =SoServidor.accept(...)

Recibir(...)

SoCliente.Close();

SoCliente.close();

SoServidor.Close();

A

A

B

B

C

C

ServidorCliente

Solicitud deconexión

SoServidor

SoCliente

Conexiónestablecida

bytes

bytes

Page 41: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

CODIGO

/* se conecta via el servidor TCP al servidor de eco que se encuentra en el host dado por arg[0] y por el puerto dado en arg[1]

import java.io.*;import java.net.*;

class ClienEcoTCP{ public static void main(String[] arg) { int ptotcp = 0; Socket SoClien; InetAdress HostLocal, HostRemoto; DataInputStream EnSoclien; PrintStream SaSoClien; DataInputSrtream EnUsuario;

Try { HostLocal = InetAddress.getLocalHost(), HostRemoto = ClienteTCP.IdentHostRemoto(args, HostLocal), ptotcp = Integer.parseInt( args[1]);

/* creacion del socket TCP y conexion al host remoto . */

Soclien = ClienteTCP.SocketCliente (HostRemoto, ptotcp); ClienteTCP.ImDaPro("Local", Hostlocal, SoClien); ClienteTCP.ImDaPro("Remoto", Hostlocal, SoClien);

/* Dialogo con el Servidor. */ EnSoClien = EnSaTCP.AbrirEntradaRed(SoClien); SaSoClien = EnsaTCP.AbrirSalidaRed(SoClien); EnUsuario = new DataInputStream( System.in ); String linea1, linea2; boolean ban = true; do { System.out.print("\nDar linea: "); System.out.flush(); linea1 = EnUsuario.readLine(); if( linea1.equals("#quit")) { ban = false; } else { EnSatTCP.EscribirSalidaRed(SaSoClien,linea1); linea2 = EnSaTCP.LeerEntradaRed(EnSoClien); System.out.Println(Eco: " + linea2; } }while(ban);

EnSaTCP.CerrarEntradaRed(EnSoClien); EnSaTCP.CerrarSalidaRed(SaSoClien); Enusuario.close(); } // try catch(Throwable thr) { System.out.println("Error-main: " + thr.getMessage() ); Sysstem.err.err.println(thr); thr.printStackTrace(); } } //main} // Clase ClienEcoTCP

Page 42: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

/* Se conecta via el servicio TCP al servidor de eco que se encuentra en el host dado por args[0] y por el puerto dado en args[1]

import java.io.*;import java.net.*;

class ClienteTCP

{ public static InetAddress IdenHostRemoto(String[] args, InetAddress Host1) throws UnknownHostException { InetAddress Host2; if(args.length>0) { Host2 = InetAddress.getByName(args[0]); } else { Host2 = Host1; } return Host2; } // Metodo IdenHremoto

public static void ImDaPro(String S, InetAddress IA, Socket SO) { System.out.print("/n" + S +": \n Host" + IA.getHostName() + " IP= " + IA.getHostAddress()); if( S.equals("Local") ) { System.out.println(" Puerto= " + SO.getLocalPort()); } else { System.out.println(" Puerto= " + SO.getPort()); } // Metodo ImDaPro

public static Socket SocketCliente(InetAddress HostRemoto, int ptotcp) { Socket SoClien = null; try { SoClien = new Socket( HostRemoto , ptotcp ); } // try catch(Throwwable thr) { System.out.println("Error-SocketCliente: " + thr.getMessage() ); System.err.printStackTrace(); System.exit(1); } // catch return SoClien; } // socketCliente

} // Clase ClienteTCP

Page 43: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

/* Metodos para manejo de la Entrada/Salida en Socket TCP del tipo Cliente. */

import java.io.*;import java.net.*;

class EnSaTCP{ public static DataInputStream AbrirEntradaRed(Socket Soclein) { DataInputStream EntradaRed = null; try { EntradaRed = new DataInputStream( SoClien.getInputStream() ); } // try catch(Throwable thr) { System.out.println("Error-AbrirEntradaRed: " + thr.getMessage() ); System.err.println(thr); thr.printStackTrace(); System.Exit(1); } // catch return EntradaRed } // AbrirEntradaRed public static PrintStream AbrirSalidaRed(socket SoClien) { printStream SalidaRed = null; try { SalidaRed = new PrintStream( SoClient.getOutputStream() ); } // try catch(Throwable thr) { System.out.println("Error-AbrirSalidaRed: " + thr.getMessage() ); System.err.println(thr); thr.printStackTrace(); System.exit(1); } // catch return SalidaRed; } // AbrirSalidaRed

public static String LeerEntradaRed(DataInputStream EntradaRed) { String mensaje = null; try { mensaje = EntradaRed.readLine(); } // try catch(Throwable thr) { System.out.println("Error-LeerEntradaRed: " + thr.getMessage() ); system.err.println(thr); thr.printStackTrace(); System.exit(1); } // catch return mensaje; } // LeerEntradaRed

public static void EscribirsalidaRed(PrintStream SalidaRed, String mensaje) { try { SalidaRed.println( mensaje );

Page 44: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

} // try catch(Throwable thr) { system.out.println(" Error-EscribirSalidaRed: " + thr.getMessage() ); System.err.println(thr); thr.printStackTrace(); System.exit(1); } // catch } // EscribirSalidaRed

public static void CerrarEntradaRed(DataInputStream abierto) { try { abierto.close(); } // try catch(Throwable thr) { System.out.println("Error-CerrarEntradaRed: " + thr.getMessage() ); System.err.println(thr); thr.printStackTrace(); System.exit(1); } //catch } // CerrarEntradaRed

public static void CerrarSalidaRed(PrintStream abierto) { try { abierto.close(); } // try catch(Throwable thr) { System.out.println("Error-CerrarSalidaRed: " + thr.getMessage() ); System.err.println(thr); System.exit(1); } // catch } // cerrarSalidaRed} // Clase EnsaTCP

Page 45: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

/*Servidor Concurrente en la linea de comando se debe agregar el puerto bien conocido del servidor. */

import java.io.*;import java.net.*;

clase SerconTCPe{ public static void main(String[] args) { int ptotcp; ServerSocket SoServidor; socket SoClien; printStream SaSoClien; DataInputStream EnSoClien; try { ptotcp = ServidorTCP.puerto( args[0] ); /* Creacion del socket de servidor ligado a un puerto local y a dirIP local. */

/* dialogo con el Cliente. */

String linea, NomThread; int i = 0; While( true ) { ServidorTCP.DaPro(SoClien, " Welcome. "); /* proceso */ NomThread = "ServidorHijo" + i; ThreadTCP ServidorHijo = new ThreadTCP(NomThread, SoClien); ServidorHijo.Start(); System.out.Println("Servidor: Creado Thread = " + NomThread); i = i +1; } } // try catch(Throwable thr) { System.out.println("Error-main: " + thr.getMessage() ); System.err.println(thr); thr.printStacktrace(); } } // main} // Clase SerconTCPe

Page 46: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

/* Metodos estaticos de ayuda al servidor TCP . */

import java.io.*;import java.net.*;

clase ServidorTCP{ public static void DaPro(socket SO, String cadena) { InetAddress IALocal,IARemoto; IALocal = SO.getLocalAddress(); IARemoto = SO.getLocalAddress(); System.out.println("Servidor: " + cadena); System.out.println("\nLocal: \n Host = " + IALocal.getHostName() + " IP " + IALocal.getHostAddress() + " Puerto= " + SO.getLocalPort() ); System.out.println("Remoto: \n Host = " + IARemoto.getHostName() + " IP " + IARemoto.getHostAddress() + " Puerto= " + SO.getPort() ); } // Metodo DaPro

public static int Puerto(string s) { int ptotcp 0 0; try { ptotcp = Integer.parseInt( s ); } // try catch(throwable thr) { System.out.println("Error-puerto: " + thr.getMessage() ); System.err.println(thr); thr.printStackTrace(); System.exit(1); } // catch return ptotcp; } // puerto

public static serverSocket SocketServidor(int ptotcp) { serverSocket SoSer = null; try { SoSer = new ServerSocket( ptotcp ); } // try catch(Throwable thr) { System.out.println("Error-SocketServidor: " + thr.getMessage() ); System.err.println(thr); thr.printStackTrace(); System.exit(1); } // catch return SoSer; } // SocketServidor

public static Socket AceptarConexion(ServerSocket SoSer) { Socket SoClien = null;

Page 47: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

try { SoClien = SoSer.accept(); } // try catch(Throwable Thr) { System.out.println.(Error-AceptarConexion: " + thr.getMessage() ); System.err.println(thr); thr.printStackTrace(); System.exit(1); } // Soclien; return SoClien; } // AceptarConexion} // Clase ServidorTCP

/*-------------------------------------------------------------------------------------

/* Thread TCP. */

import java.io.*;import java.net.*;

Class ThreadTCPe extends Thread{ private string NomThread; private Socket SoClien;

ThreadTCP(String nom, Socket so) { super(nom); NomThread = nom; SoClien = So; } // metodo Constructor ThreadTCP

public void run() { DataInputStream EnSoClien; PrintStream SaSoClien; String linea;

SaSoClient = EnSTCP.AbrirSalidaRed(SoClien); EnSoClient = EnSTCP.AbrirEntradaRed(SoClien);

/* proceso*/ While(linea != null ) { System.out.println("--> " + NomThread + ", mensaje recibido: " + linea ); System.out.println("--> " + NomThread + ", mensaje enviado: " + linea ); } ServidorTCP.DaPro(SoClien, "Hasta Luego. " ); EnSaTCP.CerrarEntradaRed(EnSoClien); EnSaTCP.cerrarSalidaRed(SaSoClien); } // run} // Clase ThreadTCPe

Page 48: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

CONCLUSIONES

Cuando se requiere instalar un sistema de comunicaciones entre procesos para transmitirinformación de un punto a otro es necesario implementar un circuito fiable que permitafiabilidad y rapidez debido a que en la actualidad el volumen de información que se tieneque manejar es muy grande, en este rublo el software juega un papel preponderante.

En la actualidad, la lista de opciones que se tiene al planificar una instalación de equipoinformático tanto en software y hardware es inmensa. La tecnología avanza a grandes pasosy así diario surgen nuevas posibilidades para el manejo de información. Una correctaelección puede ahorrar muchos problemas futuros y casi siempre, mucho dinero.

Es pues de vital importancia un minucioso estudio por parte del implementador bienpreparado en el área, desde el momento en que se determina el diseño de una red y suconexión.

Por un diseño adecuado de red, se entiende la selección de parámetros. procesos ydeterminación de circuitos e interconexión de dispositivos que permitan las metaspropuestas. Cabe considerar también aparte de los aspectos técnicos, otros tales como elpresupuesto disponible, tiempo fijado para alcanzar los objetivos, grado de seguridad que sebusca, etc.

Cualquier red, sin importar lo simple o compleja que pueda resultar, en cualquier momentofuturo, puede requerir ser parte de otra para forma una red de área amplia; por tanto, sedeben considerar desde un principio todos los elementos básicos que permitan estableceruna base sólida, a partir de la cual se pueda ir desarrollando toda la estructura que pudieraser necesaria, sin limitaciones de ningún tipo y de tal manera que se mantenga una aperturahacia nuevas posibilidades que se pudieran presentar.

Se deben pues estar preparado para recibir las nuevas tecnologías en herramientas deconectividad y pleno conocimiento de las ya existentes para estar de alguna manera alertasa fin de lograr los mejores resultados en cuanto a operación se refiere. Para lograr loanterior baste quizá formarse el hábito de la lectura y documentación constantes, y teneruna idea clara de lo que se pretende de un equipo de comunicaciones y su implementaciónde software bien estudiado.

Es por eso que el proceso de seleccionar productos a implementar como socket o pipes paraponer a funcionar una conectividad debe ser muy cuidadoso y elegir, si bien el proceso massencillo resulta ser el mas caro, si que permita obtener una confiabilidad aceptable.

Page 49: Grado Académico: Licenciatura Carrera: Computación …148.206.53.84/tesiuami/UAMI13956.pdf · ductos internos de los ordenadores que permiten una gran velocidad de transferencia

BIBLIOGRAFÍA:

Comunicaciones en UnixJean-Marie RiffletMc Graw Hill

El entorno de programación UnixBrian W. KerniganRob PikePHH Prentice Hall

Unix NetWork ProgramingW.Richard StevensPrentice Hall.

Huidobro José M.Comunicaciones, Interfaces, protocolos y normasEditorial Paraninfo, Madrid.

Java Network ProgramingElliote Rusty Harold.O´Reilly.

Java Software solutions fundation of program DesignJhon Lewis, William Loftus.Addison Wesley.

Tanenbaun, A.S. Computer NetworksPrentice Hall

Redes Globales de Información con Internet y Tcp/Ip. principios básicos,protocolos y arquitectura.Duglas E. Comer.; Prentice Hall, Tercera Edición