Control sensores socket

16
Control de sensores mediante software cliente servidor - multiusuario Univ. Pablo Fernando Daza Pérez 1 Tutor: Ing. Remmy Fuentes Telleria 2 Universidad Privada del Valle Cochabamba, Bolivia 1 Estudiante Ing, Sistemas y electrónica - [email protected] 2 Docente universitario - [email protected] Resumen—Hoy en día la comunicación y fácil acceso a la información es un requisito primordial para la elaboración de un control preciso de los datos distribuidos en diferentes regiones del planeta, de esa forma y con la introducción a lo que son las redes de computadoras los datos de hoy en día ya no se mantienen centralizados en un solo lugar y es posible la obtención y almacenamiento de datos de manera masiva de distintos puntos del planeta en tiempo real. De esa forma este proyecto muestra como las redes de computadora y con la ayuda de la electrónica nos permiten obtener los datos de sensores distribuidos en diferentes partes de una región para luego organizar, guardar, y mostrar la información en una base de datos que ayuda a los operadores a controlar un sistema determinado. Palabras Clave: Este proyecto es realizado por estudiantes de la materia de Redes y Servicios de Comunicación de la carrera de Ingeniería Electrónica y de Sistemas para demostrar la utilidad de las redes de computadoras y la electrónica en aplicaciones reales. I. INTRODUCCION El desarrollo del hombre desde el nivel físico de su evolución, pasando por su crecimiento en las áreas sociales y científicas hasta llegar a la era moderna se ha visto apoyado por herramientas que extendieron su funcionalidad y poder como ser viviente. Sintiéndose consiente de su habilidad creativa, metódicamente elaboró procedimientos para organizar su conocimiento, sus recursos y manipular su entorno para su comodidad, impulsando las ciencias y mejorando su nivel de vida a costa de sacrificar el desarrollo natural de su ambiente, produciendo así todos los adelantos que un gran sector de la población conoce: automóviles, aeroplanos, trasatlánticos, teléfonos, televisiones, etc. En el transcurso de todo este desarrollo, también evolucionó dentro del sector tecnológico el cómputo electrónico. Este nació con los primeros ordenadores en la década de los años 40, porque la necesidad del momento era extender la rapidez del cerebro humano para realizar algunos cálculos aritméticos y procedimientos repetitivos. Este esfuerzo para continuar avanzando, se reflejó en crear unidades de procesamiento cada vez más veloces, divididas en cuatro generaciones bien definidas: la primera con tubos al vacío, la segunda con transistores, la tercera con circuitos integrados y la cuarta con circuitos integrados que permitieron el uso de computadoras personales y el desarrollo de las redes de datos. Este último elemento, las redes de ordenadores, consisten en "compartir recursos", y uno de sus objetivos principales es hacer que todos los programas, datos y hasta los propios equipos estén disponibles para cualquier usuario que así lo solicite, sin importar la localización física del recurso y del propio usuario.

description

Hoy en día la comunicación y fácil acceso a la información es un requisito primordial para la elaboración de un control preciso de los datos distribuidos en diferentes regiones del planeta, de esa forma y con la introducción a lo que son las redes de computadoras los datos de hoy en día ya no se mantienen centralizados en un solo lugar y es posible la obtención y almacenamiento de datos de manera masiva de distintos puntos del planeta en tiempo real. De esa forma este proyecto muestra como las redes de computadora y con la ayuda de la electrónica nos permiten obtener los datos de sensores distribuidos en diferentes partes de una región para luego organizar, guardar, y mostrar la información en una base de datos que ayuda a los operadores a controlar un sistema determinado. Este proyecto emplea sockets, visual basic, cliente servidor.

Transcript of Control sensores socket

Page 1: Control sensores socket

Control de sensores mediante software cliente servidor - multiusuario

Univ. Pablo Fernando Daza Pérez1

Tutor: Ing. Remmy Fuentes Telleria2

Universidad Privada del Valle

Cochabamba, Bolivia

1 Estudiante Ing, Sistemas y electrónica - [email protected]

2 Docente universitario - [email protected]

Resumen—Hoy en día la comunicación y fácil

acceso a la información es un requisito

primordial para la elaboración de un control

preciso de los datos distribuidos en diferentes

regiones del planeta, de esa forma y con la

introducción a lo que son las redes de

computadoras los datos de hoy en día ya no se

mantienen centralizados en un solo lugar y es

posible la obtención y almacenamiento de

datos de manera masiva de distintos puntos del

planeta en tiempo real. De esa forma este

proyecto muestra como las redes de

computadora y con la ayuda de la electrónica

nos permiten obtener los datos de sensores

distribuidos en diferentes partes de una región

para luego organizar, guardar, y mostrar la

información en una base de datos que ayuda a

los operadores a controlar un sistema

determinado.

Palabras Clave:

Este proyecto es realizado por estudiantes de la materia de Redes y Servicios de Comunicación de la carrera de Ingeniería Electrónica y de Sistemas para demostrar la utilidad de las redes de computadoras y la electrónica en aplicaciones reales.

I. INTRODUCCION El desarrollo del hombre desde el nivel físico de su evolución, pasando por su crecimiento en las áreas sociales y científicas hasta llegar a la era moderna se ha visto apoyado por herramientas que extendieron su funcionalidad y poder como ser viviente.

Sintiéndose consiente de su habilidad creativa, metódicamente elaboró procedimientos para organizar su conocimiento, sus recursos y manipular su entorno para su comodidad, impulsando las ciencias y mejorando su nivel de vida a costa de sacrificar el desarrollo natural de su ambiente, produciendo así todos los adelantos que un gran sector de la población conoce: automóviles, aeroplanos, trasatlánticos, teléfonos, televisiones, etc.

En el transcurso de todo este desarrollo, también evolucionó dentro del sector tecnológico el cómputo electrónico. Este nació con los primeros ordenadores en la década de los años 40, porque la necesidad del momento era extender la rapidez del cerebro humano para realizar algunos cálculos aritméticos y procedimientos repetitivos.

Este esfuerzo para continuar avanzando, se reflejó en crear unidades de procesamiento cada vez más veloces, divididas en cuatro generaciones bien definidas: la primera con tubos al vacío, la segunda con transistores, la tercera con circuitos integrados y la cuarta con circuitos integrados que permitieron el uso de computadoras personales y el desarrollo de las redes de datos.

Este último elemento, las redes de ordenadores, consisten en "compartir recursos", y uno de sus objetivos principales es hacer que todos los programas, datos y hasta los propios equipos estén disponibles para cualquier usuario que así lo solicite, sin importar la localización física del recurso y del propio usuario.

Page 2: Control sensores socket

II. ¿QUÉ SON LAS REDES INFORMÁTICAS?

Una red es un sistema donde los elementos que lo componen (por lo general ordenadores) son autónomos y están conectados entre sí por medios físicos y/o lógicos y que pueden comunicarse para compartir recursos. Independientemente a esto, definir el concepto de red implica diferenciar entre el concepto de red física y red de comunicación.

Respecto a la estructura física, los modos de conexión física, los flujos de datos, etc.; una red la constituyen dos o más ordenadores que comparten determinados recursos, sea hardware (impresoras, sistemas de almacenamiento...) o sea software (aplicaciones, archivos, datos...). Desde una perspectiva más comunicativa, podemos decir que existe una red cuando se encuentran involucrados un componente humano que comunica, un componente tecnológico (ordenadores, televisión, telecomunicaciones) y un componente administrativo (institución o instituciones que mantienen los servicios). En fin, una red, más que varios ordenadores conectados, la constituyen varias personas que solicitan, proporcionan e intercambian experiencias e informaciones a través de sistemas de comunicación.

Como en todo proceso de comunicación se requiere de un emisor, un mensaje, un medio y un receptor.

La finalidad principal para la creación de una red de computadoras es compartir los recursos y la información en la distancia, asegurar la confiabilidad y la disponibilidad de la información, aumentar la velocidad de transmisión de los datos y reducir el costo general de estas acciones. Un ejemplo es Internet, la cual es una gran red de millones de computadoras ubicadas en distintos puntos del planeta interconectadas básicamente para compartir información y recursos.

III. EVOLUCIÓN DE LAS REDES INFORMÁTICAS

El desarrollo de las redes de computadora se vio iniciada con la aparición de los circuitos integrados (1950) (1). La importancia que presentan los Circuitos Integrados en la electrónica y en la fabricación de cualquier aparato nuevo es que los Circuitos Integrados son uno de los dispositivos más importantes en

la electrónica ya que si no fuera por ellos; no contaríamos con la tecnología que actualmente poseemos. La razón de su uso es por su tamaño; ya que estos circuitos pueden contener miles de transistores y otros componentes como resistencias, diodos, resistores, capacitores, compuertas lógicas, etc.; y medir solamente unos centímetros.

Los ordenadores comúnmente llamados computadoras o PC utilizan esta característica de los Circuitos Integrados ya que todas las funciones lógicas y aritméticas de una computadora pueden ser procesadas por un solo chip a gran escala llamado Microprocesador o cerebro de la computadora

De esa forma por el año 19501 se establece el primer enlace vía microondas, permitiendo transferir altos volúmenes de datos y a grandes distancias.

Una vez que el mundo se dio cuenta del gran beneficio que ofrecen las comunicaciones a largas distancias se generan proyectos para optimizar y mejorar la transferencia de datos y generar los primeros pasos para las redes de computadora para una comunicación rápida y segura. De esa forma en 19571 el departamento de defensa de los estados unidos crea el protocolo ARP.

El protocolo ARP se encarga de traducir las direcciones IP a direcciones MAC (direcciones físicas). Para realizar esta conversión, el nivel de enlace utiliza las tablas ARP, cada interfaz tiene tanto una dirección IP como una dirección física MAC.

ARP se utiliza en 4 casos referentes a la comunicación entre 2 hosts:

• Cuando 2 hosts están en la misma red y uno quiere enviar un paquete a otro.

• Cuando 2 host están sobre redes diferentes y deben usar un GATEWAY/ROUTER para alcanzar otro host.

• Cuando un ROUTER necesita enviar un paquete a un host a través de otro ROUTER.

• Cuando un ROUTER necesita enviar un paquete a un host de la misma red.

Page 3: Control sensores socket

Luego de tremendo avance y con la definición de los primeros protocolos de comunicación para las redes de computadora se creó la primera red de computadores en 19691

ARPANET, una organización del Departamento de Defensa de los Estados unidos, conformado por equipo de investigadores y científicos para hacer investigaciones enfocadas a redes de computadoras. De esa forma, se establecen cuatro nodos situados en UCLA (UNIVERSIDAD DE CALIFORNIA EN LOS ÁNGELES), SRI (STANFORD RESEARCH INSTITUTE), UCBS (UNIVERSIDAD DE CALIFORNIA DE SANTA BÁRBARA, LOS ÁNGELES) y la Universidad de UTA.

Los inicios de Internet nos remontan a los años 60. En plena guerra fría, Estados Unidos crea una red exclusivamente militar, con el objetivo de que, en el hipotético caso de un ataque ruso, se pudiera tener acceso a la información militar desde cualquier punto del país.

Esta red se creó en 1969 y se llamó ARPANET. En principio, la red contaba con 4 ordenadores distribuidos entre distintas universidades del país. Dos años después, ya contaba con unos 40 ordenadores conectados. Tanto fue el crecimiento de la red que su sistema de comunicación se quedó obsoleto. Entonces dos investigadores BOB KAHN y VINTCERF crearon el Protocolo TCP/IP en 1973 (1), que se convirtió en el estándar de comunicaciones dentro de las redes informáticas (actualmente seguimos utilizando dicho protocolo), El mismo año se produce la primera conexión internacional de la ARPANET. Dicha conexión se realiza con el colegio universitario de Londres (Inglaterra) además BOB METCALFE expone sus primeras ideas para la implementación del protocolo Ethernet que es uno de los protocolos más importantes que se utiliza en las redes locales.

Ya para 1976 (1) el Dr. ROBERT M. MET CALFE desarrolla Ethernet Experimental. El sistema Ethernet desarrollado, conocido en ese entonces como red ALTO ALOHA, fue la primera red de área local (LAN) para computadoras personales (Pc.). Esta red funcionó por primera vez en mayo de 1973 a una velocidad de 2.94Mb/s.

Las especificaciones formales de Ethernet de 10 Mb/s fueron desarrolladas en conjunto por las corporaciones Xerox, Digital (DEC) e Intel, y se

publicó en el año 1980. Estas especificaciones son conocidas como el estándar DEC-Intel-Xerox (DIX), el libro azul de Ethernet. Este documento hizo de Ethernet experimental operando a 10 Mb/s un estándar abierto.

La tecnología Ethernet fue adoptada para su estandarización por el comité de redes locales (LAN) de la IEEE1 como IEEE 802.3. El estándar IEEE 802.3 fue publicado por primera vez en 1985.

El estándar IEEE 802.3 provee un sistema tipo Ethernet basado, pero no idéntico, al estándar DIX original. El nombre correcto para esta tecnología es IEEE 802.3 CSMA/CD, pero casi siempre es referido como Ethernet.

IEEE 802.3 Ethernet fue adoptado por la organización internacional de estandarización (ISO), haciendo de él un estándar de redes internacional.

Ethernet continuó evolucionando en respuesta a los cambios en tecnología y necesidades de los usuarios. Desde 1985, el estándar IEEE 802.3 se actualizó para incluir nuevas tecnologías. Por ejemplo, el estándar 10BASE-T fue aprobado en 1990, el estándar 100BASE-T fue aprobado en 1995 y Gigabit Ethernet sobre fibra fue aprobado en 1998.

Ethernet es una tecnología de redes ampliamente aceptada con conexiones disponibles para PC, estaciones de trabajo científicas y de alta desempeño, mini computadoras y sistemas mainframe.

La arquitectura Ethernet provee detección de errores pero no corrección de los mismos. Tampoco posee una unidad de control central, todos los mensajes son transmitidos a través de la red a cada dispositivo conectado. Cada dispositivo es responsable de reconocer su propia dirección y aceptar los mensajes dirigidos a ella. El acceso al canal de comunicación es controlado individualmente por cada dispositivo utilizando un método de acceso probabilístico conocido como disputa.

1 INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS (Instituto de Ingenieros Eléctricos y Electrónicos)

Page 4: Control sensores socket

En 1990 (1) Las funciones militares se desligaron de ARPANET y fueron a parar a MILNET, una nueva red creada por los Estados Unidos.

La NSF (NATIONAL SCIENCE FUNDATION) crea su propia red informática llamada NSFNET, que más tarde absorbe a ARPANET, creando así una gran red con propósitos científicos y académicos.

El desarrollo de las redes fue abismal, y se crean nuevas redes de libre acceso que más tarde se unen a NSFNET, formando el embrión de lo que hoy conocemos como INTERNET.

En 1985 la Internet ya era una tecnología establecida, aunque conocida por unos pocos.

El autor WILLIAM GIBSON hizo una revelación: el término "ciberespacio".

En ese tiempo la red era básicamente textual, así que el autor se basó en los videojuegos. Con el tiempo la palabra "ciberespacio" terminó por ser sinónimo de Internet.

El desarrollo de NSFNET fue tal que hacia el año 1990 ya contaba con alrededor de 100.000 servidores.

En el Centro Europeo de Investigaciones Nucleares (CERN), TIM BERNERS LEE dirigía la búsqueda de un sistema de almacenamiento y recuperación de datos. BERNERS LEE retomó la idea de Ted Nelson (un proyecto llamado "XANADÚ") de usar hipervínculos. ROBERT CAILLAU quien cooperó con el proyecto, cuanta que en 1990 deciden ponerle un nombre al sistema y lo llamarón WORLD WIDE WEB (WWW) o telaraña mundial.

La nueva fórmula permitía vincular información en forma lógica y a través de las redes. El contenido se programaba en un lenguaje de hipertexto con "etiquetas" que asignaban una función a cada parte del contenido. Luego, un programa de computación, un intérprete, eran capaz de leer esas etiquetas para desplegar la información. Ese intérprete sería conocido como "navegador" o "browser".

IV. ESTRUCTURA DE LAS REDES

Las redes tienen tres niveles de componentes: software de aplicaciones, software de red y hardware de red.

El Software de Aplicaciones, programas que se comunican con los usuarios de la red y permiten compartir información (como archivos, gráficos o vídeos) y recursos (como impresoras o unidades de disco).

El software de Red, programas que establecen protocolos para que los ordenadores se comuniquen entre sí. Dichos protocolos se aplican enviando y recibiendo grupos de datos formateados denominados paquetes.

El Hardware de Red, formado por los componentes materiales que unen los ordenadores. Dos componentes importantes son los medios de transmisión que transportan las señales de los ordenadores (típicamente cables o fibras ópticas) y el adaptador de red, que permite acceder al medio material que conecta a los ordenadores, recibir paquetes desde el software de red y transmitir instrucciones y peticiones a otros ordenadores.

En resumen, las redes están formadas por conexiones entre grupos de ordenadores y dispositivos asociados que permiten a los usuarios la transferencia electrónica de información. En estas estructuras, los diferentes ordenadores se denominan estaciones de trabajo y se comunican entre sí a través de un cable o línea telefónica conectada a los servidores.

Dichos servidores son ordenadores como las estaciones de trabajo pero con funciones administrativas y están dedicados en exclusiva a supervisar y controlar el acceso a la red y a los recursos compartidos. Además de los ordenadores, los cables o la línea telefónica, existe en la red el módem para permitir la transferencia de información convirtiendo las señales digitales a analógicas y viceversa, también existen en esta estructura los llamados HUB y SWITCH con la función de llevar acabo la conectividad.

V. TIPOS DE REDES Las redes según sea la utilización por parte de los usuarios pueden ser:

Redes Compartidas, aquellas a las que se une un gran número de usuarios, compartiendo todas las necesidades de transmisión e incluso con transmisiones de otra naturaleza.

Redes exclusivas, aquellas que por motivo de seguridad, velocidad o ausencia de otro tipo de red, conectan dos o más puntos de forma

Page 5: Control sensores socket

exclusiva. Este tipo de red puede estructurarse en redes punto a punto o redes multipunto.

Otro tipo se analiza en cuanto a la propiedad a la que pertenezcan dichas estructuras, en este caso se clasifican en:

Redes privadas, aquellas que son gestionadas por personas particulares, empresa u organizaciones de índole privado, en este tipo de red solo tienen acceso los terminales de los propietarios.

Redes públicas, aquellas que pertenecen a organismos estatales y se encuentran abiertas a cualquier usuario que lo solicite mediante el correspondiente contrato.

Otra clasificación, la más conocida, es según la cobertura del servicio en este caso pueden ser:

• LAN (RED DE AREA LOCAL): De 10 metros a 1 kilómetro.

• MAN(RED DE AREA METROPOLITANA): Tamaño máximo 10 kilómetros

• WAM(RED DE AREA AMPLIA): Tamaño entre 100 kilómetros y 1000 kilómetros

• INTERNET: Mas de 1000 Kilómetros.

VI. DISPOSITIVOS DE RED Los equipos informáticos descritos necesitan de una determinada tecnología que forme la red en cuestión. Según las necesidades se deben seleccionar los elementos adecuados para poder completar el sistema. Por ejemplo, si queremos unir los equipos de una oficina entre ellos debemos conectarlos por medio de un conmutador o un concentrador, si además hay un varios portátiles con tarjetas de red WI-FI debemos conectar un punto de acceso inalámbrico para que recoja sus señales y pueda enviarles las que les correspondan, a su vez el punto de acceso estará conectado al conmutador por un cable. Si todos ellos deben disponer de acceso a Internet, se interconectaran por medio de un ROUTER, que podría ser ADSL, ETHERNET sobre fibra óptica, BROADBAND, etc.

Los elementos de la electrónica de red más habituales son: CONMUTADOR, o SWITCH,

Enrutador, o ROUTER, Puente de red, o BRIDGE, Puente de red y enrutador, Punto de acceso inalámbrico, o WAP (WIRELESS ACCESS POINT)

VII. PROTOCOLO En informática, un protocolo es un conjunto de reglas usadas por computadoras para comunicarse unas con otras a través de una red por medio de intercambio de mensajes. Éste es una regla o estándar que controla o permite la comunicación en su forma más simple, puede ser definido como las reglas que dominan la sintaxis, semántica y sincronización de la comunicación. Los protocolos pueden ser implementados por hardware, software, o una combinación de ambos. A su más bajo nivel, éste define el comportamiento de una conexión de hardware.

Existen diversos protocolos, estándares y modelos que determinan el funcionamiento general de las redes. Destacan el modelo OSI y el TCP/IP. Cada modelo estructura el funcionamiento de una red de manera distinta. El modelo OSI cuenta con siete capas muy definidas y con funciones diferenciadas y el TCP/IP con cuatro capas diferenciadas pero que combinan las funciones existentes en las siete capas del modelo OSI. Los protocolos están repartidos por las diferentes capas pero no están definidos como parte del modelo en sí sino como entidades diferentes de normativas internacionales, de modo que el modelo OSI no puede ser considerado una arquitectura de red.

Dentro de la familia de protocolos se pueden distinguir

Protocolos de transporte:

• ATP (APPLE TALK TRANSACTION PROTOCOL)

• NETBIOS/NETBEUI

• TCP (TRANSMISSION CONTROL PROTOCOL)

Protocolos de red:

• DDP (DELIVERY DATAGRAM PROTOCOL)

• IP (INTERNET PROTOCOL)

Page 6: Control sensores socket

• IPX (INTERNET PACKED EXCHANGE)

• NETBEUI Desarrollado por IBM y Microsoft.

Protocolos de aplicación:

• AFP (APPLETALK FILE PROTOCOL)

• FTP (File Transfer Protocol)

• Http (Hyper Text transfer Protocol)

Dentro de los protocolos antes mencionados, los más utilizados son:

IPX/SPX, protocolos desarrollados por Novell a principios de los años 80 los cuales sirven de interfaz entre el sistema operativo de red NETWARE y las distintas arquitecturas de red. El protocolo IPX es similar a IP, SPX es similar a TCP por lo tanto juntos proporcionan servicios de conexión similares a TCP/IP.

NETBEUI/NETBIOS (NETWORK BASIC EXTENDED USER INTERFACE / NETWORK BASIC INPUT/OUTPUT SYSTEM) NETBIOS es un protocolo de comunicación entre ordenadores que comprende tres servicios (servicio de nombres, servicio de paquetes y servicio de sesión, inicialmente trabajaba sobre el protocolo NETBEUI, responsable del transporte de datos. Actualmente con la difusión de Internet, los sistemas operativos de Microsoft más recientes permiten ejecutar NETBIOS sobre el protocolo TCP/IP, prescindiendo entonces de NETBEUI.

APPLE TALK es un protocolo propietario que se utiliza para conectar computadoras Macintosh de Apple en redes locales.

TCP/IP (TRANSMISSION CONTROL PROTOCOL/INTERNET PROTOCOL) este protocolo fue diseñado a finales de los años 60, permite enlazar computadoras con diferentes sistemas operativos. Es el protocolo que utiliza la red de redes Internet.

VIII. MODELO OSI El modelo de interconexión de sistemas abiertos, también llamado OSI es el modelo de red descriptivo creado por la Organización Internacional para la Estandarización en el año 1984. Es decir, es un marco de referencia para la

definición de arquitecturas de interconexión de sistemas de comunicaciones Fig. 1.

Fuente (2) Fig.1 Modelo OSI constituido con módulos desde el nivel más bajo (Nivel Físico) hasta el más alto (Nivel de Aplicación)

Capa física

Es la que se encarga 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.

Sus principales funciones se pueden resumir como:

• Definir el medio o medios físicos por los que va a viajar la comunicación: cable de pares trenzados (o no, como en RS232/EIA232), coaxial, guías de onda, aire, fibra óptica.

• Definir las características materiales (componentes y conectores mecánicos) y eléctricas (niveles de tensión) que se van a usar en la transmisión de los datos por los medios físicos.

• Definir las características funcionales de la interfaz (establecimiento, mantenimiento y liberación del enlace físico).

• Transmitir el flujo de bits a través del medio.

Page 7: Control sensores socket

• Manejar las señales eléctricas del medio de transmisión, polos en un enchufe, etc.

• Garantizar la conexión (aunque no la fiabilidad de dicha conexión)

Capa de enlace de datos

Esta capa 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.

Por lo cual es uno de los aspectos más importantes a revisar en el momento de conectar dos ordenadores, ya que está entre la capa 1 y 3 como parte esencial para la creación de sus protocolos básicos (MAC, IP), para regular la forma de la conexión entre computadoras así determinando el paso de tramas (trama = unidad de medida de la información en esta capa, que no es más que la segmentación de los datos trasladándolos por medio de paquetes), verificando su integridad, y corrigiendo errores, por lo cual es importante mantener una excelente adecuación al medio físico (los más usados son el cable UTP, par trenzado o de 8 hilos), con el medio de red que re direcciona las conexiones mediante un ROUTER. Dadas estas situaciones cabe recalcar que el dispositivo que usa la capa de enlace es el SWITCH que se encarga de recibir los datos del ROUTER y enviar cada uno de estos a sus respectivos destinatarios (servidor, computador cliente o algún otro dispositivo que reciba información como celulares, etc.), dada esta situación se determina como el medio que se encarga de la corrección de errores, manejo de tramas, protocolización de datos.

Capa de red

Se encarga de identificar el enrutamiento existente entre una o más redes. Las unidades de información se denominan paquetes, y se pueden clasificar en protocolos enrutables y protocolos de enrutamiento.

Enrutables: viajan con los paquetes (IP, IPX, APPLETALK)

Enrutamiento: permiten seleccionar las rutas (RIP, IGRP, EIGRP, OSPF, BGP)

El objetivo de la capa de red es hacer que los datos lleguen desde el origen al destino, aun cuando ambos no estén conectados directamente. Los dispositivos que facilitan tal tarea se denominan en caminadores, aunque es

más frecuente encontrarlo con el nombre en inglés 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.

En este nivel se realiza el direccionamiento lógico y la determinación de la ruta de los datos hasta su receptor final.

Capa de transporte

Capa 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. La PDU de la capa 4 se llama Segmento o Datagrama, dependiendo de si corresponde a TCP o UDP. 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 IP: Puerto (191.16.200.54:80).

Capa de sesión

Esta capa es la que 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. En muchos casos, los servicios de la capa de sesión son parcial o totalmente prescindibles.

Capa de presentación

El objetivo es encargarse de la representación de la información, de manera que aunque distintos equipos puedan tener diferentes representaciones internas de caracteres los datos lleguen de manera reconocible.

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.

Page 8: Control sensores socket

Capa de aplicación

Ofrece a las aplicaciones la posibilidad de acceder a los servicios de las demás capas y define los protocolos que utilizan las aplicaciones para intercambiar datos, como correo electrónico (POST OFFICE PROTOCOL y SMTP), gestores de bases de datos y servidor de ficheros (FTP), por UDP pueden viajar (DNS y ROUTING INFORMATION PROTOCOL). Hay tantos protocolos como aplicaciones distintas y puesto que continuamente se desarrollan nuevas aplicaciones el número de protocolos crece sin parar.

Cabe aclarar que el usuario normalmente no interactúa directamente con el nivel de aplicación. Suele interactuar con programas que a su vez interactúan con el nivel de aplicación pero ocultando la complejidad subyacente.

Unidades de Datos

El intercambio de información entre dos capas OSI consiste en que cada capa en el sistema fuente le agrega información de control a los datos, y cada capa en el sistema de destino analiza y quita la información de control de los datos como sigue:

Si un ordenador (A) desea enviar datos a otro (B), en primer término los datos deben empaquetarse a través de un proceso denominado encapsulamiento, es decir, a medida que los datos se desplazan a través de las capas del modelo OSI, reciben encabezados, información final y otros tipos de información.

N-PDU (Unidad de datos de protocolo)

Es la información intercambiada entre entidades pares, es decir, dos entidades pertenecientes a la misma capa pero en dos sistemas diferentes, utilizando una conexión (N-1).

Está compuesta por:

N-SDU (Unidad de datos del servicio)

Son los datos que necesitan las entidades (N) para realizar funciones del servicio pedido por la entidad (N+1).

N-PCI (Información de control del protocolo)

Información intercambiada entre entidades (N) utilizando una conexión (N-1) para coordinar su operación conjunta.

N-IDU (Unidad de datos de interface)

Es la información transferida entre dos niveles adyacentes, es decir, dos capas contiguas.

Está compuesta por:

N-ICI (Información de control del interface)

Información intercambiada entre una entidad (N+1) y una entidad (N) para coordinar su operación conjunta.

Datos de Interface-(N)

Información transferida entre una entidad-(N+1) y una entidad-(N) y que normalmente coincide con la (N+1)-PDU.

IX. MODELO TCP/IP El modelo TCP/IP es un modelo de descripción de protocolos de red creado en la década de 1970 por DARPA, una agencia del Departamento de Defensa de los Estados Unidos. Evolucionó de ARPANET, el cual fue la primera red de área amplia y predecesora de Internet. EL modelo TCP/IP se denomina a veces como Modelo de Internet, Modelo DOD o Modelo DARPA.

El modelo TCP/IP, describe un conjunto de guías generales de diseño e implementación de protocolos de red específicos para permitir que un equipo pueda comunicarse en una red. TCP/IP provee conectividad de extremo a extremo especificando como los datos deberían ser formateados, direccionados, transmitidos, ENRUTADOS y recibidos por el destinatario. Existen protocolos para los diferentes tipos de servicios de comunicación entre equipos.

Para conseguir un intercambio fiable de datos entre dos equipos, se deben llevar a cabo muchos procedimientos separados.

El resultado es que el software de comunicaciones es complejo. Con un modelo en capas o niveles resulta más sencillo agrupar funciones relacionadas e implementar el software de comunicaciones modular.

Las capas están jerarquizadas. Cada capa se construye sobre su predecesora. El número de capas y, en cada una de ellas, sus servicios y funciones son variables con cada tipo de red. Sin embargo, en cualquier red, la misión de cada capa es proveer servicios a las capas superiores

Page 9: Control sensores socket

haciéndoles transparentes el modo en que esos servicios se llevan a cabo. De esta manera, cada capa debe ocuparse exclusivamente de su nivel inmediatamente inferior, a quien solicita servicios, y del nivel inmediatamente superior, a quien devuelve resultados.

Capa 4 o capa de aplicación: Aplicación, asimilable a las capas 5 (sesión), 6 (presentación) y 7 (aplicación) del modelo OSI. La capa de aplicación debía incluir los detalles de las capas de sesión y presentación OSI. Crearon una capa de aplicación que maneja aspectos de representación, codificación y control de diálogo.

Capa 3 o capa de transporte: Transporte, asimilable a la capa 4 (transporte) del modelo OSI.

Capa 2 o capa de red: Internet, asimilable a la capa 3 (red) del modelo OSI.

Capa 1 o capa de enlace: Acceso al Medio, asimilable a la capa 2 (enlace de datos) y a la capa 1 (física) del modelo OSI.

X. IP INTERNET PROTOCOL (en español Protocolo de Internet) o IP es un protocolo no orientado a conexión, usado tanto por el origen como por el destino para la comunicación de datos, a través de una red de paquetes conmutados no fiable y de mejor entrega posible sin garantías.

Los datos en una red basada en IP son enviados en bloques conocidos como paquetes o datagramas (en el protocolo IP estos términos se suelen usar indistintamente). En particular, en IP no se necesita ninguna configuración antes de que un equipo intente enviar paquetes a otro con el que no se había comunicado antes.

IP provee un servicio de datagramas no fiable (también llamado del mejor esfuerzo), lo hará lo mejor posible pero poco garantizando. IP no provee ningún mecanismo para determinar si un paquete alcanza o no su destino y únicamente proporciona seguridad (mediante CHECKSUMS o sumas de comprobación) de sus cabeceras y no de los datos transmitidos. Por ejemplo, al no garantizar nada sobre la recepción del paquete, éste podría llegar dañado, en otro orden con respecto a otros paquetes, duplicado o simplemente no llegar. Si se necesita fiabilidad, ésta es proporcionada por los protocolos de la capa de transporte, como TCP.

Si la información a transmitir ("datagramas") supera el tamaño máximo "negociado" (MTU) en el tramo de red por el que va a circular podrá ser dividida en paquetes más pequeños, y re ensamblada luego cuando sea necesario. Estos fragmentos podrán ir cada uno por un camino diferente dependiendo de cómo estén de congestionadas las rutas en cada momento.

Las cabeceras IP contienen las direcciones de las máquinas de origen y destino (direcciones IP), direcciones que serán usadas por los enrutadores (ROUTERS) para decidir el tramo de red por el que reenviarán los paquetes.

El IP es el elemento común en la Internet de hoy. El actual y más popular protocolo de red es IPv4. IPv6 es el sucesor propuesto de IPv4; poco a poco Internet está agotando las direcciones disponibles por lo que IPv6 utiliza direcciones de fuente y destino de 128 bits (lo cual asigna a cada milímetro cuadrado de la superficie de la Tierra la colosal cifra de 670.000 millones de direcciones IP), muchas más direcciones que las que provee IPv4 con 32 bits. Las versiones de la 0 a la 3 están reservadas o no fueron usadas. La versión 5 fue usada para un protocolo experimental. Otros números han sido asignados, usualmente para protocolos experimentales, pero no han sido muy extendidos.

XI. SOCKETS Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiar cualquier flujo de datos, generalmente de manera fiable y ordenada.

El término socket es también usado como el nombre de una interfaz de programación de aplicaciones (API) para el STACK de protocolos de Internet TCP/IP, provista usualmente por el sistema operativo.

Los sockets de Internet constituyen el mecanismo para la entrega de paquetes de datos provenientes de la tarjeta de red a los procesos o hilos apropiados. Un socket queda definido por un par de direcciones IP local y remota, un protocolo de transporte y un par de números de puerto local y remoto.

Explicación detallada

Para que dos programas puedan comunicarse entre sí es necesario que se cumplan ciertos requisitos:

Page 10: Control sensores socket

Que un programa sea capaz de localizar al otro.

Que ambos programas sean capaces de intercambiarse cualquier secuencia de octetos, es decir, datos relevantes a su finalidad.

Para ello son necesarios los dos recursos que originan el concepto de socket:

Un par de direcciones del protocolo de red (dirección IP, si se utiliza el protocolo TCP/IP), que identifican la computadora de origen y la remota.

Un par de números de puerto, que identifican a un programa dentro de cada computadora.

Los sockets permiten implementar una arquitectura cliente-servidor. La comunicación debe ser iniciada por uno de los programas que se denomina programa "cliente". El segundo programa espera a que otro inicie la comunicación, por este motivo se denomina programa "servidor".

Un socket es un proceso o hilo existente en la máquina cliente y en la máquina servidora, que sirve en última instancia para que el programa servidor y el cliente lean y escriban la información. Esta información será la transmitida por las diferentes capas de red.

Estructura

Un Socket se caracteriza por una combinación única de los siguientes:

Dirección de socket local: dirección IP local y el número de puerto

Dirección de servidor remoto: Sólo para conexiones TCP establecidas. Ésta es necesaria, ya que un servidor TCP puede servir a varios clientes al mismo tiempo. El servidor crea un socket para cada cliente, pero con la misma dirección IP Local.

Protocolo: Un protocolo de transporte (por ejemplo, TCP, UDP, u otros). El puerto TCP 53 y UDP 53 son por lo tanto diferentes, tomas distintas.

Dentro del sistema operativo y la aplicación que ha creado una toma, la toma se hace referencia a un número entero único denominado identificador o número de toma de corriente. El sistema operativo envía la carga útil de paquetes IP a la solicitud correspondiente mediante la

extracción de la información de dirección de la toma de las cabeceras IP y protocolo de transporte y extracción de los encabezados de los datos de la aplicación.

En Unix y Microsoft Windows la herramienta de línea de comandos NETSTAT se puede utilizar para enumerar todos los sockets actualmente establecidos y la información relacionada Fig. 2.

Fuente (3) Fig. 2 VISTA del comando NETSTAT en Microsoft Windows

Tipos de Sockets

Hay varios tipos de conectores disponibles en Internet:

• Sockets de datagramas , también conocido como sin conexión tomas de corriente, que utilizan el Protocolo de datagramas de usuario (UDP)

• Sockets de flujo, también conocidos como orientados a la conexión que utilizan tomas de corriente, (TCP) o STREAM TRANSMISSION CONTROL PROTOCOL (SCTP).

• Los conectores directos (o RAW IP sockets), por lo general disponibles en los ROUTERS y otros equipos de red. Aquí la capa de transporte se pasa por alto, y las cabeceras de los paquetes se hacen accesibles a la aplicación.

Propiedades inherentes a los sockets

Las propiedades de un socket dependen de las características del protocolo en el que se implementan. El protocolo más utilizado es TCP; una alternativa común a éste es UDP.

Cuando se implementan con el protocolo TCP, los sockets tienen las siguientes propiedades:

• Son orientados a la conexión.

• Se garantiza la transmisión de todos los octetos sin errores ni omisiones.

Page 11: Control sensores socket

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

Estas propiedades son muy importantes para garantizar la corrección de los programas que tratan la información.

El protocolo UDP es un protocolo no orientado a la conexión. Sólo se garantiza que si un mensaje llega, llegue bien. En ningún caso se garantiza que llegue o que lleguen todos los mensajes en el mismo orden que se mandaron. Esto lo hace adecuado para el envío de mensajes frecuentes pero no demasiado importantes, como por ejemplo, mensajes para las actualizaciones de un gráfico.

XII. VPN Una red privada virtual, RPV, o VPN de las siglas en inglés de VIRTUAL PRIVATE NETWORK, es una tecnología de red que permite una extensión de la red local sobre una red pública o no controlada.

Ejemplos comunes son la posibilidad de conectar dos o más sucursales de una empresa utilizando como vínculo Internet, permitir a los miembros del equipo de soporte técnico la conexión desde su casa al centro de cómputo, o que un usuario pueda acceder a su equipo doméstico desde un sitio remoto, como por ejemplo un hotel. Todo ello utilizando la infraestructura de Internet.

Características básicas de la seguridad

Para hacerlo posible de manera segura es necesario proporcionar los medios para garantizar la autentificación, integridad de toda la comunicación:

• Autentificación y autorización: ¿Quién está del otro lado? Usuario/equipo y qué nivel de acceso debe tener.

• Integridad: de que los datos enviados no han sido alterados. Para ello se utiliza funciones de Hash. Los algoritmos de hash más comunes son los MESSAGE DIGEST (MD2 Y MD5) Y EL SECURE HASH ALGORITHM (SHA).

• Confidencialidad: Dado que sólo puede ser interpretada por los destinatarios de la misma. Se hace uso de algoritmos de cifrado como Data ENCRYPTION Standard (DES), Triple DES (3DES) y ADVANCED ENCRYPTION STANDARD (AES).

• No repudio: es decir, un mensaje tiene que ir firmado, y el que lo firma no puede negar que el mensaje lo envió él o ella.

Requerimientos básicos

• Identificación de usuario: las VPN deben verificar la identidad de los usuarios y restringir su acceso a aquellos que no se encuentren autorizados.

• Codificación de datos: los datos que se van a transmitir a través de la red pública (Internet), antes deben ser cifrados, para que así no puedan ser leídos. Esta tarea se realiza con algoritmos de cifrado como DES o 3DES que sólo pueden ser leídos por el emisor y receptor.

• Administración de claves: las VPN deben actualizar las claves de cifrado para los usuarios.

XIII. INGENIERÍA DEL PROYECTO

Diseño del Hardware

El Hardware Básicamente Fig. 3 consta de sensores de presión conectados a un micro controlador el cual recaba la información de los sensores y los envía al cliente mediante puerto serial utilizando el puerto USB del computador y el micro controlador Fig. 4.

Fuente (Diseño Propio) Fig. 3 Diagrama de bloques del Hardware Propuesto como un prototipo de control de Temperatura para la recepcion de datos en el cliente.

Page 12: Control sensores socket

Fuente (Diseño Propio) Fig. 4 Implementación del Hardware Vista del Diseño en un simulador

La Topología de red Utilizada para el Proyecto es básicamente una topología en estrella Fig. 5 y es implementada a través de internet utilizando un RED PRIVADA VIRTUAL o VPN para obtener una extensión de la red local sobre una red pública o no controlada Fig. 6.

Fuente (4) Fig. 5 Topologías utilizadas en las redes de computadora.

Fuente (5) Fig. 6 Vista Lógica de la Red Implementando una VPN.

XIV. DISEÑO DEL SOFTWARE

Cliente

La función principal del cliente es obtener los datos del micro controlador y enviarlos mediante TCP/IP al servidor, para ello el cliente intenta una conexión TCP/IP con la dirección IP del servidor configurando los sockets provistos por el lenguaje de programador e IDE utilizados. Una vez se establece la comunicación el cliente envía los datos concadenados con una codificación especifica que el servidor entiende de esa forma todos los datos necesarios se envían de una sola vez, estos datos son censados cada 3 segundos por el cliente y enviado al servidor. El cliente también es capaz de manipular los datos obtenidos en graficas que muestran los datos en tiempo real Fig. 7.

El cliente al momento de conectarse al servidor envía su nombre de cliente de esa forma el servidor sabe de qué planta se están recibiendo los datos.

Por otra parte la conexión del cliente con el circuito se realiza de manera automática y el software verifica si el circuito está conectado mediante el puerto USB al cliente.

Page 13: Control sensores socket

Fuente (Diseño Propio) Fig. 7 Diseño de la interfaz de usuario del software del cliente.

Servidor

El servidor Fig.8 está encargado de recibir todos los datos de los clientes conectados para luego almacenarlos en una base de datos y realizar consultas y reportes Fig. 10 de todos los datos almacenados en ella, para ello el servidor se encuentra en todo momento a la escucha de nuevos clientes ya que funciona en un estado multiusuario. Una vez el cliente se conecta el servidor espera a que se envíen datos del cliente para luego establecer y abrir la conexión de la base de datos y almacenar el nuevo registro.

El servidor también es capaz de realizar graficas de los datos almacenados en la base de datos generando un histórico de todo lo sucedido en las plantas donde se tomaron los datos Fig. 9.

También se guardan el estado, hora, fecha y nombre de todos los clientes que realizaron una conexión con el servidor Fig. 11.

El servidor es capaz de agrupar los datos mediante una consulta a la base de datos para obtener 3 tipos de rangos para los datos, los cuales son: los datos menores a 4000, los datos entre 4001 y 6000, y los datos mayores a 6001 y menores a 8000. Esto nos ayudar a tener de forma clara cuales son las variantes en los datos de las plantas y en que rango se encuentran Fig.12.

Fuente (Diseño Propio) Fig. 8 Diseño de la interfaz del software para el servidor

Fuente (Diseño Propio) Fig. 9 Ventana del software del servidor donde se muestra el histórico de todos los datos dentro de un parámetro delimitado.

Fuente (Diseño Propio) Fig. 10 Reporte generado por el servidor dentro de un parámetro delimitado.

Page 14: Control sensores socket

Fuente (Diseño Propio) Fig. 11 Ventana del software del servidor donde se muestra el histórico de todos los usuarios conectados y su desconexión respectiva por Hora y Fecha.

Fuente (Diseño Propio) Fig. 13 Graficas que genera el servidor para el control de los datos obtenidos de los clientes mediante consultas a la base de datos.

Fuente (Diseño Propio) Fig.12 Ventanas desplegadas por el software del servidor con los datos ordenados mediante consultas a la base de datos para la obtención de reportes.

Page 15: Control sensores socket

XV. Conclusiones Según el estudio realizado para este trabajo y analizando cada uno de los aspectos necesarios para el uso de las redes informáticas podemos concluir que:

Una red de ordenadores posibilita:

Mayor facilidad en la comunicación entre usuarios.

Reducción en el presupuesto para software y hardware.

Organización de los grupos de trabajo que la conforman.

Mejoras en la administración de los equipos y programas.

Mejoras en la integridad de los datos.

Mayor seguridad para acceder a la información.

Además se debe recalcar que la implementación de las redes de la computadora junto a la electrónica nos ayuda tomar decisiones de manera mucho más fácil con los datos obtenidos de distintos puntos del planeta, consolidando toda la información en un solo punto y organizando cada dato obtenido para ver el comportamiento de los mismos.

También se puede determinar que la opción más fácil y barata en el caso en el que se transmite pequeñas masas de datos de una región a otra con largas distancias entre si es la utilización de una Red Privada Virtual ya que a un bajo costo se puede simular sobre internet una red local o intranet mediante sus tecnologías de comunicación asegurando en cierta forma una seguridad limitada para lanzar los datos obtenidos por el internet.

Por otra parte y mediante bucles locales y alquiler de líneas arrendadas se puede realizar una comunicación mucho más rápida y segura de un punto en el planeta a otro mediante tecnologías WAN como X.25, FRAME RELAY, ATM, etc. Estas tecnologías requieren un costo que varía dependiendo la velocidad de transmisión, distancia, y seguridad requerida para la Red.

Cabe recalcar que a lo largo de la historia los ordenadores nos han ayudado a realizar

muchas aplicaciones y trabajos, el hombre no satisfecho con esto, buscó más progreso, logrando implantar comunicaciones entre varias computadoras, o mejor dicho: "implantar Redes en las computadoras"; hoy en día la llamada Internet es dueña de las redes, en cualquier parte del mundo una computadora se comunica, comparte datos, realiza transacciones en segundos, gracias a las redes.

En los Bancos, las agencias de alquiler de vehículos, las líneas aéreas, y casi todas las empresas tienen como núcleo principal de la comunicación a una RED.

Gracias a la denominada INTERNET, familias, empresas, y personas de todo el mundo, se comunican, rápida y económicamente.

Las redes agilizaron en un paso gigante al mundo, porque grandes cantidades de información se trasladan de un sitio a otro sin peligro de extraviarse en el camino.

XVI. REFERENCIAS BIBLIOGRÁFICAS

(1)WWW.TIMERIME.COM http://timerime.com/es/linea_de_tiempo/1165767/Evolucin+de+las+redes+Informaticas/ (10/05/12)

(2)Wikipedia, la enciclopedia de contenido libre

http://upload.wikimedia.org/wikipedia/commons/thumb/7/7d/Pila-osi-es.svg/300px-Pila-osi-es.svg.png (12/05/12)

(3)http://t3.gstatic.com/images?q=tbn:ANd9GcRIFPJu8GTpk7fJc53mJanKY7i6AHya6H3LrEuWUnXOfhd2Wc_vAfW5dF7i (12/05/12)

(4)Wikipedia, la enciclopedia de contenido libre http://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Topolog%C3%ADa_de_red.png/200px-Topolog%C3%ADa_de_red.png (13/05/12)

(5)UBUNTUBLOG, http://ubuntulife.files.wordpress.com/2008/06/vpn.gif (13/05/12)

XVII. BIBLIOGRAFIA CONSULTADA

[1]. CISCO Curso CCNA V4.0, http://cisco.netacad.net, http://www.cisco.com/web/learning/netacad/index.html (10/05/12).

[2]. WYLESS BLACK, Redes de computadores, protocolos, normas e intérpretes(10/05/12).

Page 16: Control sensores socket

[3]. JOSÉ DORDOIGNE - PHILIPPE ATELIN, Redes informáticas: Conceptos fundamentales(10/05/12).

[4]. JOSEP M. BARCELO ORDINAS, JORDI ÍÑIGO GRIERA, JAUME ABELLA I FUENTES, GUIOMAR CORRAL I TORRUELLA, ENRIC PEIG OLIVE , Estructura de redes de computadores(12/05/12).

[5]. ANDREW S. TANENBAUM, Redes de Computadoras(12/05/12).

[6]. COMER, DOUGLAS E., Redes Globales de información con Internet y TCP/IP. Principios básicos, protocolos y arquitectura(12/05/12).