Visualizador de trfico de red de comunicacin basadas en la arquitectura TCP/IP

 

Communication network traffic viewer based on TCP / IP architecture

 

Byron Oviedo[1]

boviedo@uteq.edu.ec

Lus Suarez Litardo[2]

luis.suarez2015@uteq.edu.

Emilio Zhuma Mera[3]

ezhuma@uteq.edu.ec

Amilkar Puris4 Ral Hernndez[4]

apuris@uteq.edu.ec

Fecha de presentacin: julio 2018 Fecha de aceptacin: septiembre 2018

 

RESUMEN

El presente trabajo muestra el desarrollo de una aplicacin telemtica que permite la captura y visualizacin de paquetes de red enfocados en la arquitectura TCP/IP, esta aplicacin se compone de 2 partes esenciales, la primera es la del servidor la cual cumple la funcin de capturar los datos de la red y enviarlos a travs del protocolo WebSocket y la segunda es por parte del cliente el cual consume los datos que son proporcionados por el servidor.

Para el desarrollo de esta aplicacin se toma el modelo referencial TCP/IP el cual agrupa capas las cuales son: Acceso a red, Internet, Transporte, Aplicacin, existen ms de cien protocolos que engloban esta arquitectura pero por cuestiones investigativas se ha tomado un protocolo de cada capa los cuales son respectivamente: Trama Ethernet, IPV4, TCP, UDP, HTTP con la finalidad de entender su funcionamiento y aprender de los procesos que se realizan y la forma de acoplarse con sus protocolos de capa superior.

La captura de trfico de red se la realizo utilizando la librera de google llamada Gopacket esta librera ofrece mtodos e interfaces cmodas para el desarrollo de software de red.

En el lado del cliente se escribi una pequea aplicacin en JavaScript para el consumo de los datos desde el servidor a travs del protocolo webSocket y para que la interfaz grfica sea agradable al usuario se utiliz un marco de trabajo para interfaces web modernas, responsivas y basado en material design llamado Materialize.

 

Palabras Clave: Websocket, Javascript, Gopacket, TCP/IP.

 

ABSTRACT

The present work shows the development of a telematic application that allows the capture and visualization of network packets focused on the TCP / IP architecture, this application is composed of 2 essential parts, the first is that of the server which fulfills the function of capturing the network data and send it through the WebSocket protocol and the second is by the client which consumes the data that is provided by the server.
For the development of this application, the TCP / IP referential model is taken which groups layers which are: Network access, Internet, Transport, Application, there are more than one hundred protocols that encompass this architecture but for research reasons a protocol has been taken of each layer which are respectively: Ethernet, IPV4, TCP, UDP, HTTP frame in order to understand its operation and learn from the processes that are carried out and how to connect with its upper layer protocols.
The capture of network traffic was done using the google library called Gopacket. This library offers convenient methods and interfaces for the development of network software.
On the client side, a small JavaScript application was written for the consumption of data from the server through the webSocket protocol and to make the graphical user-friendly interface a framework for modern, responsive and based web interfaces was used in material design called Materialize.
 
Keywords: Websocket, Javascript, Gopacket, TCP / IP.
 

 

INTRODUCCIN

La cantidad de informacin que se generan en una red de datos tiene una manera sistemtica de ordenarse y esto se hace a partir de una arquitectura de red la cual es TCP/IP pero no es la nica existente, otra muy famosa conocida como OSI (Interconexin de sistemas abiertos), lo esencial es entender el funcionamiento de cada una de las capas y la manera de comunicarse una con la otra y las interfaces que proporciona cada una de ellas.

 

Cada capa tiene una cierta cantidad de protocolos que realizan ciertas operaciones desde la ms baja hasta la ms alta, en esta investigacin se han estudiado 5 protocolos de comunicacin los cuales son: TCP,UDP,ETHERNET TYPE 2, IPV4,IPV6, cada uno de estos protocolos son el resultado de varias investigaciones, la informacin acerca de cada uno de ellos se encuentran en una serie de artculos publicado en internet por el IETF (Grupo de Trabajo de Ingeniera de Internet) llamados RFC (Request For Coment) estos artculos son muy interesantes ya que muestran de manera minuciosa el funcionamiento, la arquitectura, el formato de cabecera de cada uno de los protocolos entonces esta ha sido la bibliogrfica esencial de esta investigacin.

 

Luego de conocer ntimamente el funcionamiento de cada protocolo empez lo ms interesante, el desarrollo de una aplicacin que puede captar de alguna forma todos esos paquetes que atraviesan la red, para ello surgi una gran pregunta, Como lo hago?. El proceso para capturar esos paquetes realmente es muy complejo pero existen herramientas que minimizan ese trabajo y ayuda al desarrollador de software a lograr su objetivo sin invertir una cantidad excesiva de tiempo, es por ello que utilizo el lenguaje de programacin golang el cual es una tecnologa moderna en el mbito de desarrollo de software actual ofrece varias caractersticas como: tipado esttico y dinmico, retorno de varios valores de diferentes tipos de datos en las funciones, programacin concurrente, varios paradigmas de programacin como el orientado a objetos, imperativo, compilado y un recolector de basuras muy eficiente etc.

 

Google en 2016 libero una librera muy interesante llamada Gopacket desarrollada en golang y es esta librera la cual se us en esta aplicacin, junto a ella gopacket se comunica directamente con otra librera muy conocida en este mbito llamada libpcap desarrollado en C/C++ , aunque se pudo trabajar directamente con libpcap , realmente gopacket es ms sencilla de utilizar es muy cmoda y se pueden obtener resultados rpidamente mientras que libpcap pues tomara un poco ms de tiempo usarla pero se podrn entender otros conceptos acerca de cmo est formada y como se realiza la captura de los paquetes en un nivel ms bajo de abstraccin.

 

Una vez obtenido los datos es momento de visualizarlos para ello se desarroll un cliente front-end en el lenguaje JavaScript que permita una comunicacin full dplex con el servidor de paquetes de red para ellos tambin se implement tecnolgica para el intercambio de datos bidireccional y al mismo instante, una de estas tecnologas es el protocolo webSocket el cual permite este tipo de intercambio de informacin entre el cliente y el servidor atreves del formato de serializacin JSON, se aplic un poco de diseo para que interfaz grfica se ms amigable con el usuario usando el framework Vue.js que tiene varias caractersticas interesantes.

 

MTODOS

Modelo de Referencia OSI

Este modelo se basa en una propuesta desarrollada por la Organizacin Internacional de Normas (ISO) como el primer paso hacia la estandarizacin internacional de los protocolos utilizados en las diversas capas (Day y Zimmerman, 1983). Este modelo se revis en 1995 (Day, 1995) y se le llama Modelo de referencia OSI (Interconexin de Sistemas Abiertos, del ingls Open Systems Interconnection) de la iso puesto que se ocupa de la conexin de sistemas abiertos; esto es, sistemas que estn abiertos a la comunicacin con otros sistemas. Para abreviar, lo llamaremos modelo OSI. [1]

 

El modelo OSI tiene siete capas. Los principios que se aplicaron para llegar a las siete capas se pueden resumir de la siguiente manera: [1]

 

       Se debe crear una capa en donde se requiera un nivel diferente de abstraccin.

       Cada capa debe realizar una funcin bien definida.

       La funcin de cada capa se debe elegir teniendo en cuenta la definicin de protocolos estandarizados internacionalmente.

       Es necesario elegir los lmites de las capas de modo que se minimice el flujo de informacin a travs de las interfaces.

       La cantidad de capas debe ser suficiente como para no tener que agrupar funciones distintas en la misma capa; adems, debe ser lo bastante pequea como para que la arquitectura no se vuelva inmanejable. [1].

 

Figura 1. Capas, Referencias e interfaces por Tanenbaum

 

 

 

El modelo de referencia TCP/IP

El trmino genrico "TCP/IP" usualmente significa cualquier cosa y todo con referencia a los protocolos especficos TCP e IP. Pueden incluir otros protocolos, aplicaciones e incluso los medios de red. Un ejemplo de estos protocolos son: UDP, ARP e ICMP. Un ejemplo de estas aplicaciones son: TELNET, FTP y RPC. Un trmino ms preciso es "tecnologa internet". A una red que usa una tecnologa internet se le llama una "internet". [2]

 

Esta es la estructura lgica de los protocolos divididos en capas dentro de un computador en internet. Cada computador que se puede comunicar usando una tecnologa internet tiene tambin una estructura. [2].

 

Es esta estructura lgica la que determina el comportamiento del computador en internet. Las cajas representan el procesado de los datos conforme van atravesando el computador y las lneas que conectan las cajas muestran el camino de los datos. La lnea horizontal de abajo representa el cable de Ethernet, el "o" es el transceptor. El "*" es la direccin IP y la "@" es la direccin Ethernet. Entender esta estructura lgica es esencial para entender la tecnologa internet; hay referencias a ella a lo largo de todo este tutorial. [2]

 

Figura 2. Nodo de Red Bsico TCP/IP - RFC-1180

 

Protocolos de Comunicaciones

TCP

El "protocolo de control de transmisin" ('Transmission Control Protocol', TCP) est pensado para ser utilizado como un protocolo 'host' a 'host' muy fiable entre miembros de redes de comunicacin de computadoras por intercambio de paquetes y en un sistema interconectado de tales redes. [3]

 

TCP es un protocolo orientado a la conexin, fiable y entre dos extremos, diseado para encajar en una jerarqua en capas de protocolos que soportan aplicaciones sobre mltiples redes. TCP proporciona mecanismos para la comunicacin fiable entre pares de procesos en computadoras 'host' ancladas en redes de comunicacin de computadoras distintas, pero interconectadas. [3]

 

Se hacen muy pocas suposiciones sobre la fiabilidad de los protocolos de comunicacin por debajo de la capa de TCP. TCP slo supone que puede acceder a un servicio de transmisin de datagramas simple, aunque en principio poco fiable, de los protocolos del nivel inferior. En principio, TCP debera ser capaz de operar encima de un amplio espectro de sistemas de comunicaciones que incluye desde conexiones por cables fijos ('hard-wired conections') hasta redes de intercambio de paquetes o redes de circuitos conmutados. [3]

TCP se basa en los conceptos descritos primeramente por Cerf y Kahn . TCP encaja en una arquitectura de protocolos en capas justo por encima del protocolo de internet, protocolo bsico que proporciona un medio para TCP de enviar y recibir segmentos de longitud variable de informacin envuelta en "sobres" de datagramas de internet. El datagrama de internet proporciona un medio de direccionar TCPs de origen y de destino situados en redes diferentes.

 

El protocolo de internet tambin trata con la fragmentacin y el reensamble de segmentos de TCP que sean necesarios para conseguir el transporte y la entrega sobre mltiples redes y las puertas de enlace que las interconectan. El protocolo de internet tambin lleva informacin sobre la prioridad, clasificacin de seguridad y compartimentacin de los segmentos de TCP, de tal forma que esta informacin pueda ser comunicada de extremo a extremo entre mltiples redes. [3]

 

Figura 3. Pila TCP/IP incluyendo a tcp - RFC-793

 

 

Trama Ethernet. Type II

La trama es lo que se conoce tambin por el nombre de "frame". El primer campo es el prembulo que indica el inicio de la trama y tienen el objeto de que el dispositivo que lo recibe detecte una nueva trama y se sincronice. El delimitador de inicio de trama indica que el frame empieza a partir de l. Los campos de MAC (o direccin) de destino y origen indican las direcciones fsicas del dispositivo al que van dirigidos los datos y del dispositivo origen de los datos, respectivamente.

 

La etiqueta es un campo opcional que indica la pertenencia a una VLAN o prioridad en IEEE P802.1p Ethernetype indica con que protocolo estn encapsulados los datos que contiene la Payload, en caso de que se usase un protocolo de capa superior. [4]

 

La Payload es donde van todos los datos y, en el caso correspondiente, cabeceras de otros protocolos de capas superiores (Segn Modelo OSI, vase Protocolos en informtica) que pudieran formatear a los datos que se tramiten (IP, TCP, etc). Tiene un mnimo de 64 Bytes (o 42 si es la versin 802.1Q) hasta un mximo de 1518 Bytes. Los mensajes inferiores a 64 bytes se llaman tramas enanas (runt frames) e indican mensajes daados y parcialmente transmitidos. [4]

 

La secuencia de comprobacin es un campo de 4 bytes que contiene un valor de verificacin CRC (control de redundancia cclica). El emisor calcula el CRC de toda la trama, desde el campo destino al campo CRC suponiendo que vale 0. El receptor lo recalcula, si el valor calculado es 0 la trama es vlida. El gap de final de trama son 12 bytes vacos con el objetivo de espaciado entre tramas. [4]

 

User Datagram Protocol (UDP)

Este Protocolo de Datagramas de Usuario (UDP: User Datagram Protocol) se define con la intencin de hacer disponible un tipo de datagramas para la comunicacin por intercambio de paquetes entre ordenadores en el entorno de un conjunto interconectado de redes de computadoras. Este protocolo asume que el Protocolo de Internet (IP: Internet Protocol) se utiliza como protocolo subyacente. [5]

Este protocolo aporta un procedimiento para que los programas de aplicacin puedan enviar mensajes a otros programas con un mnimo de mecanismo de protocolo. El protocolo se orienta a transacciones, y tanto la entrega como la proteccin ante duplicados no se garantizan. Las aplicaciones que requieran de una entrega fiable y ordenada de secuencias de datos deberan utilizar el Protocolo de Control de Transmisin (TCP: Transmission Control Protocol). [5]

 

Figura 4. Formato cabecera de UDP-RFC-768

 

 

HTTP

El Protocolo de transferencia de hipertexto (en ingls: Hypertext Transfer Protocol o HTTP) es el protocolo de comunicacin que permite las transferencias de informacin en la World Wide Web. HTTP fue desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force, colaboracin que culmin en 1999 con la publicacin de una serie de RFC, el ms importante de ellos es el RFC 2616 que especifica la versin 1.1. HTTP define la sintaxis y la semntica que utilizan los elementos de software de la arquitectura web (clientes, servidores, proxies) para comunicarse. HTTP es un protocolo sin estado, es decir, no guarda ninguna informacin sobre conexiones anteriores. El desarrollo de aplicaciones web necesita frecuentemente mantener estado. Para esto se usan las cookies, que es informacin que un servidor puede almacenar en el sistema cliente. Esto le permite a las aplicaciones web instituir la nocin de sesin, y tambin permite rastrear usuarios ya que las cookies pueden guardarse en el cliente por tiempo indeterminado.

 

Protocolo de Internet Versin 4

El Protocolo Internet est diseado para su uso en sistemas interconectados de redes de comunicacin de ordenadores por intercambio de paquetes. A un sistema de este tipo se le conoce como "catenet". El protocolo internet proporciona los medios necesarios para la transmisin de bloques de datos llamados datagramas desde el origen al destino, donde origen y destino son hosts identificados por direcciones de longitud fija. El protocolo internet tambien se encarga, si es necesario, de la fragmentacin y el reensamblaje de grandes datagramas para su transmisin a travs de redes de trama pequea.

 

El protocolo internet implementa dos funciones bsicas: direccionamiento y fragmentacin. Los mdulos internet usan campos en la cabecera internet para fragmentar y reensamblar los datagramas internet cuando sea necesario para su transmisin a travs de redes de "trama pequea".

 

El modelo de operacin es que un mdulo internet reside en cada host involucrado en la comunicacin internet y en cada pasarela que interconecta redes. Estos mdulos comparten reglas comunes para interpretar los campos de direccin y para fragmentar y ensamblar datagramas internet. Adems, estos mdulos (especialmente en las pasarelas) tienen procedimientos para tomar decisiones de encaminamiento y otras funciones.

 

Figura 5. Formato de Cabecera de un Datagrama Internet IPV4

 

 

Lenguaje de Programacin Go (Golang)

Es un lenguaje de programacin creado por la compaa google, La comunidad de Go recomienda llamar a "go" como "golang" para la publicacin de informacin en la red, porque al momento de realizar una bsqueda en internet referente al lenguaje con la palabra "go" es un poco dificultoso encontrar resultados que te lleven al lenguaje de programacin go, dicho lo anterior para cualquier tipo de bsqueda usar la palabra "golang" que adems se est usando en este documento. El lenguaje de programacin Go es un proyecto de cdigo abierto que hace que los programadores sean ms productivos [3].

 

Go es expresivo, conciso, limpio y eficiente. Sus mecanismos de concurrencia facilitan la escritura de programas que aprovechan al mximo las mquinas multicore y en red, mientras que su nuevo tipo de sistema permite la construccin de programas flexibles y modulares. Go compila rpidamente al cdigo de la mquina pero tiene la conveniencia de recoleccin de basura y el poder de la reflexin en tiempo de ejecucin. Es un lenguaje rpido, escrito de forma esttica y compilada que se siente como un lenguaje interpretado de forma dinmica [3].

 

RESULTADOS

Fase 1 Anlisis de la Informacin

Para la realizacin de este proyecto el cual consiste en una aplicacin web para capturar y visualizar los datos que se generan en una red de comunicacin, se investigaron varios conceptos fundamentales enfocados en las redes de datos como: redes de rea local, arquitectura de red la cual es TCP/IP, los protocolos que involucran esta arquitectura como tcp,udp,icmp,ipv4, ipv6 entre otros existen artculos cientficos muy interesantes sobre todo que tienes que ver con las redes de comunicacin, estos artculos son llamados RFC(Request for comment) los cuales son una serie de publicaciones del grupo de trabajo de ingeniera de internet que describen diversos aspectos del funcionamiento de internet y otras redes de computadoras, como protocolos, procedimientos, arquitecturas etc.

Cada RFC constituye un memorando que ingenieros o expertos en la materia han hecho llegar al IETF el consorcio de colaboracin tcnica ms importante en internet, para que este sea valorado por el resto de la comunidad. De hecho la traduccin literal de RFC al espaol es Peticin de Comentarios.

 

En base a la informacin adquirida de esta seria de publicaciones RFC se pudo obtener los datagramas o formatos de cabeceras de cada uno de los protocolos para poder ser reflejados en la aplicacin.

 

Pero basta con solo obtener la informacin tambin se debe de desarrollar el software que permita la obtencin de estos campos de los protocolos, para ellos y adems es uno de los pilares fundamentales es la librera desarrollada por google en el 2016 llamada Gopacket programada en el lenguaje Go o tambin llamado Golang que adems es el lenguaje con el cual esta aplicacin est desarrollada junto con otras herramientas ms, entonces bsicamente esta librera ha proporcionado una ayuda inmensa en el desarrollo de esta aplicacin telemtica.

 

Fase 2 Diseo

Para el diseo de esta aplicacin lo primero es saber que es protocolos se va a escanear esto se vio en la fase anterior en esta fase se ver los elementos necesarios para el desarrollo duro y puro de la App:

 

Primero utilizaremos un sistema operativo gnu/Linux este sistema operativo se utilizara porque es compatible con una librera muy interesante para la captura de trafico de red la cual se llama libpcap esta librera esta disea en c/c++ pero como anteriormente dije que usaremos la librera gopacket de google, sucede que Gopacket se comunica directamente con la librera lipcap pero una pregunta interesante seria porque no usar directamente lipcap, es correcto utilizar lipcap no hay ningn problema en cuanto a resultados pero en cuanto a desarrollo gopacketes ms sofisticada por el sencillo hecho de estar hecho en golang un lenguaje moderno que acoge las mejores caractersticas de todos los lenguajes de programacin, pero tambin gopacket proporciona decodificacin de para paquetes para el lenguaje go, adems contiene muchos su paquetes con funcionalidades adicionales que pueden resultar muy utilices.

 

Otro punto importante es tener instalado en lenguaje golang y bien configurado con la estructura recomendada por los desarrolladores de go porque al momento de realizar importaciones de librera estas se organizaran de tal forma como se muestra en la documentacin del lenguaje, la versin de go utilizada en esta App es la versin 1.9 una versin estable y recomendada para trabajo duro.

 

El entorno de desarrollo utilizado ser golang por jetbrain es un ide muy completo que ofrece soporte para el lenguaje golang tiene algunas caractersticas como: autocompletado de cdigo, sintaxis de color, depuracin directa conexin con control de versiones de software entre otras.

 

La forma de envi de los datos se lo realizo va JSON(JavaScript Object Notation) es un formato de texto ligero para el intercambio de datos JSON es un subconjunto de la notacin literal de objetos de JavaScript aunque hoy, debido a su amplia adopcin como alternativa a XML, se considera un formato de lenguaje independiente. Una de las supuestas ventajas de JSON sobre XML como formato de intercambio de datos es que es mucho ms sencillo escribir un analizador sintctico (parser) de JSON. En JavaScript, un texto JSON se puede analizar fcilmente usando la funcin eval(), lo cual ha sido fundamental para que JSON haya sido aceptado por parte de la comunidad de desarrolladores AJAX, debido a la ubicuidad de JavaScript en casi cualquier navegador web.

 

El desarrollo del cliente front-ent es fundamental para la visualizacin de los datos en formato json estos se envan atreves de un protocolo de comunicacin llamado WEBSOCKET es una tecnologa que proporciona un canal de comunicacin bidireccional y full-duplex sobre un nico socket TCP. Est diseada para ser implementada en navegadores y servidores web, pero puede utilizarse por cualquier aplicacin cliente/servidor. La API de WebSocket est siendo normalizada por el W3C, mientras que el protocolo WebSocket ya fue normalizado por la IETF como el RFC 6455.

 

Debido a que las conexiones TCP comunes sobre puertos diferentes al 80 son habitualmente bloqueadas por los administradores de redes, el uso de esta tecnologa proporcionara una solucin a este tipo de limitaciones proveyendo una funcionalidad similar a la apertura de varias conexiones en distintos puertos, pero multiplexado diferentes servicios WebSocket sobre un nico puerto TCP (a costa de una pequea sobrecarga del protocolo)

 

Y por ltimo no menos importante el desarrollo del cliente webSocket para ellos se ha desarrollado un App sencilla que permita obtener los objetos json y mostrarlos para ello se a utilizado el lenguaje JavaScript junto al framework Vue.Js es un marco de JavaScript de cdigo abierto progresivo para crear interfaces de usuario La integracin en proyectos que usan otras bibliotecas de JavaScript se hace ms fcil con Vue porque est diseada para ser adoptable incrementalmente. Vue tambin puede funcionar como un marco de aplicacin web capaz de impulsar aplicaciones avanzadas de una sola pgina.

Figura 6. Arquitectura del Sistema

 

 

Fase 3 Desarrollo

Para el desarrollo de esta aplicacin primero es definir la estructura de los protocolos a analizar en este caso seran 5: TCP, UDP, IPV4, ETHERNET TYPE 2.

 

Para ellos se usa en golang una estructura por cada protocolo

 

Figura 7. Estructura en golang de acuerdo a la trama Ethernet

 

 

 

Figura 8. Estructura en golang de acuerdo al datagrama udp.

 

Figura 9. Estructura en golang de acuerdo al datagrama IPV4

 

Figura 10. Estructura en golang de acuerdo al datagrama TCP

 

 

Definidas las estructuras se puede empezar el escaneo de los datos, la librera gopacket proporciona mtodos para realizar esta operacin en la siguiente imagen se podr observar el escaneo bsico de la red de datos.

 

 

 

 

 

Definir Configuracin bsica

Figura 11. Definicin de variables para el escaneo de la red fuente

 

Iniciar Captura

 

Figura 12. Iniciar Captura usando el mtodo openLive

 

Front-end

Para el desarrollo del cliente front-end se utiliz javascript para consumir el webSocket y poder obtener los paquetes de red que son enviados por el servidor.

Inicializacin de la Aplicacin

 

Figura 13. Iniciar la Aplicacin con el comando go run

 

 

Esta captura indica la inicializacin de aplicacin la cual ya est corriendo en localhost atraves del puerto 8000.

Front-Web Test de Comunicacin

 

 

 

 

 

Figura 14. Cliente Web para la captura de Datos

 

En esta captura se puede visualizar el cliente web que recibir los datos proporcionado por el servidor, para ello se probara la comunicacin entre cliente y servidor enviando este mensaje que dice prueba de comunicacin desde cliente hacia servidor en el momento de presionar el botn Iniciar Captura el mensaje ser enviado al servidor.

 

Recepcin de Mensaje en el Servidor

 

Figura 15. Recepcin de mensaje de cliente

 

Visualizacin de Paquetes en el Cliente

 

Figura 16. Generacin de Paquetes

Ventana Modal Con Informacin del Paquete

 

Figura 17. Ventana Modal Con Informacin del Paquete

 

Basndose directamente en la arquitectura TCP/IP y los datagramas de cada protocolo se pudo obtener los campos o atributos de cada uno de ellos y mostrarlos a l usuario en tiempo real para su posterior uso.

 

Figura 18. Ventana Modal con Informacin del Paquete de red capturado

 

 

 

CONCLUSIONES

La bibliografa utilizada permiti obtener los campos de los protocolos tcp, udp, ipv4, Ethernet, Http lo interesante de las Request for comments es el nivel de especificaciones que estas publicaciones tienen adems de una explicacin excelente de cada uno de los campos de los protocolos analizados existen ciertas analogas humanas descritas en las publicaciones RFC que ayuda el entendimiento de los protocolos de comunicacin.

 

Una vez obtenidos los campos tanto nombre como tipo de datos, se realiz la implementacin de las estructuras de los diferentes protocolos en el lenguaje de programacin golang para luego ser enviados atreves del protocolo webSocket en formato json al navegador web.

 

Se realiz el desarrollo de un bsico servidor webSocket utilizando los paquetes de gorrilla mux en el lenguaje de programacin para l envi en tiempo real de los datos al navegador web esto permite que el usuario no actualizar el navegador web a cada instante para visualizar los datos sino que automticamente los datos sern visualizados atreves de este protocolo full duplex.

 

REFERENCIAS BIBLOGRFICOS

[1] A. Tanenbaum y D. Wetherall, Redes de Computadoras, Quinta ed., PEARSON, 2012.

[2] T. Socolofsky y C. Kale, Un tutorial de TCP/IP, RFC-1180, 1991.

[3] University of Southern California, Protocolo De Control De Transmisin, Marina del Rey, California: RFC-793, 1981.

[4] C. Horning, A Standard for the Transmission of IP Datagrams over Ethernet Networks, Cambridge: RFC- 894, 1984.

[5] J. Postel, PROTOCOLO DE DATAGRAMAS DE USUARIO, RFC- 768, 1980.

[6] S. Deering, Cisco, R. Hinden y Nokia, Protocolo Internet, Versin 6 (IPv6), RFC-2460, 1998.

[7] J. POSTEL, PROTOCOLO DE MENSAJES DE CONTROL INTERNET, RFC-792, 1981.

 



[1] Docente de la Universidad Tcnica Estatal de Quevedo

[2] Docente de la Universidad Tcnica Estatal de Quevedo

[3] Docente de la Universidad Tcnica Estatal de Quevedo

[4] Docente de la Universidad Tcnica Estatal de Quevedo

Enlaces refback

  • No hay ningún enlace refback.


SÍGUENOS:


Dirección: Urdesa Central, Guayacanes 520 y la 5ta. Guayaquil - Ecuador | PBX ADMISIONES: (593) 4 6052450 PBX: (593) 4 6020400

Copyright © 2017 Universidad Tecnológica Empresarial de Guayaquil. Todos los Derechos Reservados.