LNA - Network Analyzer : herramienta para análisis de redes
Texto completo
(2) TABLA DE CONTENIDO 1.. INTRODUCCIÓN ......................................................................................... 7. 2.. JUSTIFICACIÓN DEL PROYECTO ............................................................. 8. 3.. MARCO TEÓRICO .................................................................................... 11 3.1.. LOS TIPOS DE REDES ...................................................................... 11. 3.1.1. TOPOLOGÍAS BÁSICAS DE REDES ............................................. 11 3.1.2. REDES LAN, MAN Y WAN ............................................................. 13 3.2.. EL MODELO OSI DE ISO ................................................................... 15. 3.2.1. DESCRIPCIÓN ............................................................................... 15 3.2.2. EL NIVEL FÍSICO............................................................................ 15 3.2.3. EL NIVEL DE ENLACE ................................................................... 15 3.2.4. EL NIVEL DE RED .......................................................................... 16 3.2.5. EL NIVEL DE TRANSPORTE ......................................................... 16 3.2.6. EL NIVEL DE SESIÓN .................................................................... 17 3.2.7.. EL NIVEL DE PRESENTACIÓN.................................................. 18. 3.2.8.. EL NIVEL DE APLICACIÓN ........................................................ 18. 3.3.. EL MODELO TCP/IP........................................................................... 18. 3.4.. EL DATAGRAMA IP............................................................................ 19. 3.4.1.. DESCRIPCIÓN............................................................................ 19. 3.4.2.. VERSIÓN .................................................................................... 20. 3.4.3.. TAMAÑO DE LA CABECERA (IHL) ............................................ 20. 3.4.4.. PRECEDENCIA Y TIPO DE SERVICIO (TOS) ........................... 21. 3.4.5.. LONGITUD TOTAL DEL DATAGRAMA ...................................... 21. 3.4.6.. IDENTIFICACIÓN DEL PAQUETE.............................................. 21. 3.4.7.. BANDERAS ................................................................................. 22. 3.4.8.. DESPLAZAMIENTO DEL FRAGMENTO (OFFSET)................... 22. 3.4.9.. TIEMPO DE VIDA DEL DATAGRAMA (TTL) .............................. 22. 3.4.10. PROTOCOLO.............................................................................. 23 1.
(3) 3.4.11. SUMA DE CONTROL DE CABECERA (CHECKSUM) ............... 23 3.4.12. DIRECCIÓN DE ORIGEN ........................................................... 23 3.4.13. DIRECCIÓN DE DESTINO.......................................................... 23 3.4.14. OPCIONES.................................................................................. 24 3.4.15. DATOS ........................................................................................ 24 3.5.. EL DATAGRAMA TCP ........................................................................ 24. 3.5.1.. DESCRIPCIÓN............................................................................ 24. 3.5.2.. PUERTO DE ORIGEN................................................................. 25. 3.5.3.. PUERTO DE DESTINO............................................................... 25. 3.5.4.. NÚMERO DE SECUENCIA ......................................................... 26. 3.5.5.. NÚMERO DE RECONOCIMIENTO............................................. 26. 3.5.6.. LONGITUD DE LA CABECERA TCP .......................................... 26. 3.5.7.. ESPACIO VACÍO......................................................................... 26. 3.5.8.. BANDERAS ................................................................................. 27. 3.5.8.1. Bandera URG........................................................................... 27 3.5.8.2. Bandera ACK ........................................................................... 27 3.5.8.3. Bandera PSH ........................................................................... 27 3.5.8.4. Bandera RST ........................................................................... 27 3.5.8.5. Bandera SYN ........................................................................... 28 3.5.8.6. Bandera FIN............................................................................. 28 3.5.9.. TAMAÑO DE VENTANA ............................................................. 28. 3.5.10. SUMA DE COMPROBACIÓN DE CABECERA (CHECKSUM) ... 29 3.5.11. APUNTADOR URGENTE............................................................ 29 3.5.12. OPCIONES.................................................................................. 29 3.5.13. DATOS ........................................................................................ 30 3.6.. EL DATAGRAMA UDP........................................................................ 30. 3.6.1.. DESCRIPCIÓN............................................................................ 30. 3.6.2.. PUERTO DE ORIGEN................................................................. 30. 3.6.3.. PUERTO DE DESTINO............................................................... 31. 3.6.4.. LONGITUD UDP.......................................................................... 31 2.
(4) 3.6.5.. SUMA DE COMPROBACIÓN UDP ............................................. 31. 3.6.6.. DATOS ........................................................................................ 31. 3.7.. 4.. OTROS PROTOCOLOS IMPORTANTES .......................................... 32. 3.7.1.. HTTP ........................................................................................... 32. 3.7.2.. FTP.............................................................................................. 32. 3.7.3.. POP3 y SMTP ............................................................................. 32. 3.7.4.. ARP y RARP................................................................................ 33. 3.7.5.. OTROS PROTOCOLOS MENOS CONOCIDOS......................... 34. 3.8.. EL FLUJO DE RED DEL MODELO TCP/IP......................................... 34. 3.9.. LOS SNIFFERS Y LA CAPTURA DE TRÁFICO.................................. 35. COMPARATIVO DE HERRAMIENTAS EXISTENTES .............................. 38 4.1.. ETHEREAL [6] .................................................................................... 38. 4.1.1.. RENDIMIENTO............................................................................ 39. 4.1.2.. PORTABILIDAD .......................................................................... 39. 4.1.3.. TIPO DE ANÁLISIS ..................................................................... 40. 4.1.4.. LICENCIA .................................................................................... 40. 4.1.5.. FACILIDAD DE USO ................................................................... 40. 4.1.6.. INTERFAZ ................................................................................... 40. 4.2.. SNORT [15] ........................................................................................ 41. 4.2.1.. RENDIMIENTO............................................................................ 42. 4.2.2.. PORTABILIDAD .......................................................................... 42. 4.2.3.. TIPO DE ANÁLISIS ..................................................................... 42. 4.2.4.. LICENCIAS.................................................................................. 42. 4.2.5.. FACILIDAD DE USO ................................................................... 42. 4.2.6.. INTERFAZ ................................................................................... 43. 4.3.. ETHERAPE [5].................................................................................... 43. 4.3.1.. RENDIMIENTO............................................................................ 44. 4.3.2.. PORTABILIDAD .......................................................................... 44. 4.3.3.. TIPO DE ANÁLISIS ..................................................................... 44. 3.
(5) 4.3.4.. LICENCIAS.................................................................................. 44. 4.3.5.. FACILIDAD DE USO ................................................................... 44. 4.3.6.. INTERFAZ ................................................................................... 45. 4.4.. 4.4.1.. RENDIMIENTO............................................................................ 45. 4.4.2.. PORTABILIDAD .......................................................................... 46. 4.4.3.. TIPO DE ANÁLISIS ..................................................................... 46. 4.4.4.. LICENCIAS.................................................................................. 46. 4.4.5.. FACILIDAD DE USO ................................................................... 46. 4.4.6.. INTERFAZ ................................................................................... 46. 4.5.. NTOP (NETWORK TOP) [11] ............................................................. 47. 4.5.1.. RENDIMIENTO............................................................................ 48. 4.5.2.. PORTABILIDAD .......................................................................... 48. 4.5.3.. TIPO DE ANÁLISIS ..................................................................... 48. 4.5.4.. LICENCIAS.................................................................................. 48. 4.5.5.. FACILIDAD DE USO ................................................................... 49. 4.5.6.. INTERFAZ ................................................................................... 49. 4.6. 5.. ANALYZER [1] .................................................................................... 45. TABLA COMPARATIVA DE HERRAMIENTAS................................... 50. LNA NETWORK ANALYZER (VERSIÓN 0.9B) ......................................... 51 5.1.. DESCRIPCIÓN DE LA HERRAMIENTA ............................................. 51. 5.1.1.. INTRODUCCIÓN......................................................................... 51. 5.1.2.. CONSTRUCCIÓN DE LA HERRAMIENTA ................................. 51. 5.1.3.. COMPATIBILIDAD ...................................................................... 52. 5.1.4.. JPCAP, JAVA PACKET CAPTURER [8] ..................................... 53. 5.1.5.. MYSQL [10] ................................................................................. 53. 5.1.6.. REQUERIMIENTOS FUNCIONALES.......................................... 54. 5.1.6.1. Utilización de Red .................................................................... 54 5.1.6.2. Máquinas Activas en la Red..................................................... 54 5.1.6.3. Tráfico Proveniente de cada Máquina...................................... 54. 4.
(6) 5.1.6.4. Destino del Tráfico de cada Máquina....................................... 54 5.1.6.5. Identificación del Tipo de Red .................................................. 54 5.1.6.6. Persistencia de los Datos Encontrados.................................... 54 5.1.6.7. Velocidad de la Red ................................................................. 54 5.1.6.8. Análisis Comparativo de Datos ................................................ 55 5.1.6.9. Análisis de Tráfico de Red ....................................................... 55 5.1.6.10. Análisis Comparativo de Redes ............................................... 55 5.1.7.. REQUERIMIENTOS NO FUNCIONALES ................................... 55. 5.1.7.1. Interfaz Gráfica......................................................................... 55 5.1.7.2. Lenguaje Interfaz Gráfica ......................................................... 56 5.1.7.3. Manejo de Usuarios ................................................................. 56 5.1.7.4. Artes y Distribución .................................................................. 56 5.1.7.5. Otras Interfaces........................................................................ 56 5.2.. ALCANCES ........................................................................................ 57. 5.2.1. 5.3.. CRONOGRAMA .......................................................................... 57. DISEÑO DETALLADO DEL MODELO DE LA HERRAMIENTA .......... 61. 5.3.1.. DIAGRAMA DE CLASES DETALLADO ...................................... 62. 5.3.1.1. Diagrama Completo ................................................................. 62 5.3.1.2. Diagrama de Clase LNA .......................................................... 63 5.3.1.3. Diagrama de Clases Red y RedThread ................................... 64 5.3.1.4. Diagrama de Clases Maquina y DestinoMaquina .................... 65 5.3.1.5. Diagrama de Clases JPCapManager y PacketHandler............ 66 5.3.1.6. Diagrama de Clases BDMain ................................................... 67 5.3.1.7. Diagrama de Clases Persistencia y Semaforo ......................... 68 5.3.1.8. Diagrama de Clases IDS (No implementado aún) ................... 69 5.3.1.9. Otras Clases ............................................................................ 70 5.3.2.. DIAGRAMA DE CASOS DE USO ............................................... 71. 5.3.3.. DIAGRAMA ENTIDAD – RELACIÓN DE LA BASE DE DATOS.. 72. 5.4.. DISEÑO DE LA INTERFAZ DE LA HERRAMIENTA ........................... 73. 5.4.1.. APACHE JAKARTA TOMCAT Y J2EE [2]................................... 73 5.
(7) 5.4.2.. LIBRERÍAS Y APLICACIONES BÁSICAS................................... 74. 5.4.3.. DIAGRAMA DE INTERFAZ ......................................................... 75. 6.. CONCLUSIONES ...................................................................................... 76. 7.. LICENCIA .................................................................................................. 78. 8.. ANEXOS ................................................................................................... 80. 9.. 8.1.. ANEXOS A MANERA DE COMPONENTES ....................................... 80. 8.2.. ESPECIFICACIÓN DETALLADA ........................................................ 81. BIBLIOGRAFÍA ........................................................................................ 154. 6.
(8) 1. INTRODUCCIÓN Es necesario primero entender que todo adelanto realizado por la humanidad, concerniente al conocimiento, comprensión, estudio o desarrollo de cualquier actividad, arte u oficio, sin importar su origen u objetivo, es considerado tecnología, desde el descubrimiento del fuego hasta los viajes interplanetarios.. Han tenido que pasar miles de años para lograr acaparar el vasto conocimiento actual, pero para ese efecto ha sido necesario que las diferentes culturas sostengan una comunicación directa que les permita compartirlo. Este hecho nunca se hizo más evidente que en los últimos años, con la globalización del uso de redes de computadoras e Internet, llevando información a distancias enormes en tiempos récord, lo que permitió que todo avance tecnológico fuese pasado de mano en mano en cuestión de segundos, logrando el asombroso nivel de adelantos que vemos hoy en día. Inclusive muchas grandes empresas no conciben cómo lograban utilidades antes de la aparición de las redes globales, ni como eran capaces de coordinar las actividades en los diferentes países del mundo de forma eficiente y eficaz.. Pero como todo avance, éste también trajo consecuencias negativas, en particular para aquellos que tuvieron que enfrentarse a robos de información clasificada o a sabotaje y desfalco electrónico, todos ellos posibles a través de las redes de computadoras. Esta es la razón por la cual en los últimos años se han venido desarrollando escudos cada vez más fuertes para evitar estos ataques, con lo cual aparecen nuevas formas de agresión, a su vez más sofisticadas e indetectables. La única solución posible es entonces apropiarse de las redes de la organización, saber exactamente qué pasa por ellas y cómo y cuando sucede cada detalle. Este conocimiento no va a acabar de tajo con los ataques pero si le hará la vida más difícil a los intrusos.. 7.
(9) 2. JUSTIFICACIÓN DEL PROYECTO En 1997 el Internet tuvo su apogeo, miles de empresas y corporaciones de garaje se convirtieron en monstruos organizacionales, el mundo estaba dispuesto a comprar y vender en masa por este medio, que significaba un cambio radical en la forma de ver el mundo, ya que convirtió las distancias entre países y continentes en impulsos eléctricos y en bits y bytes1.. Para las empresas, el Internet se tornó una herramienta esencial, se convirtió en la diferencia entre sobrevivir y no sobrevivir en el mundo moderno2. Con esta premisa, las organizaciones cada vez más se han venido integrando al universo de las redes y de las telecomunicaciones, cediendo parte de su presupuesto y su seguridad en el intento3.. Esta es la preocupación principal de las diferentes organizaciones, en muchos casos la información, en forma de una receta o un proceso, es el activo más valioso que poseen, y su conocimiento o “know-how” es lo que les hace competitivos en el voraz mercado.. Bajo esta premisa, se debe comenzar a realizar un indispensable ejercicio, muchas veces dejado en manos inexpertas: el perfecto conocimiento de la red de la organización. De este conocimiento dependerá la adaptabilidad a futuros cambios, la capacidad de respuesta a errores y la posibilidad de truncar un ataque entre otros. 1. En “International Business”, [8], Hill explica claramente esta situación, desde un punto de vista según el cual con el paso de los siglos, el mundo cada vez se va haciendo más pequeño en términos relativos. No es lo mismo pensar en un intercambio de información a lomo de caballo que a través de una red de fibra óptica. 2 Según el mismo Hill [8], uno de los factores más importantes para la globalización a nivel de empresas se refiere al nacimiento de las redes de telecomunicaciones (incluído el Internet), y por supuesto, a las computadoras 3 En “The Quest for Resilience”, [18], Hamel y Välikangas explican de forma dramática la porción de presupuesto que se dedica en el mundo actual a la tecnología informática.. 8.
(10) Esta necesidad ha provocado la creatividad de varios desarrolladores de software y por lo tanto ha llevado a la creación de diversas herramientas que proveen el servicio de análisis de redes, así como la detección de intrusos. Sin embargo, en su mayoría estas aplicaciones se encuentran por lo menos bajo una de dos características; son costosas y por lo tanto inaccesibles a empresas pequeñas, o son complejas a tal punto que necesitan un experto manejándolas.. La experticia necesaria para manejar algunas de las herramientas de este tipo, requiere no un profesional en el área de redes que sea capaz de administrar correctamente los recursos de la misma, sino un conocedor de las funcionalidades de la herramienta, lo que convierte a esta característica en un modelo indeseable, ya que esta experticia requiere capacitación y por lo tanto costos más allá de los esperados1.. Existe además otro inconveniente, tal vez menos previsible para el lector despreocupado, la portabilidad entre sistemas operativos; en la mayoría de las organizaciones que funcionan en la actualidad, existe una mezcla entre máquinas funcionando bajo ambientes Unix (principalmente servidores Linux), Windows (principalmente terminales) y Apple Mac.. Nace entonces la necesidad de una herramienta que tenga las dos particularidades, facilidad y bajo costo, sin olvidar que debe cumplir con las características necesarias para realizar el trabajo necesario para cada tipo diferente de red.. Es esta la razón que fundamenta la necesidad de crear una herramienta para este trabajo, y ya que históricamente existen casos como el del Servidor Web 1. Hamel y Välikangas [18], explican también el costo que significa realizar un entrenamiento para realizar un cambio, en este caso tecnológico.. 9.
(11) Apache que demostró a todas luces que si la herramienta suple las necesidades de las organizaciones, y además tiene un costo que tiende a cero, será tomada en cuenta y llevará a las empresas a preferirlo sobre otras herramientas que realizan el mismo trabajo y conllevan costos muy superiores.. Pero las anteriores razones no serían suficientes de existir una herramienta que cumpla con todos los detalles y características expuestos.. De hecho, como se explicará más adelante en este documento, existe una relativamente amplia variedad de aplicaciones dentro del marco de los productos con licencia GPL (Licencia Pública General, por sus siglas en inglés), que refiere a licencia pública de uso indiscriminado y sin costo, bajo los llamados “izquierdos” de autor, que será utilizada en este proyecto1.. Sin embargo, y después de un juicioso estudio de varios tipos de herramientas, que también será expuesto en páginas subsecuentes, se encontró que la mayoría de las herramientas libres se encuentran entre dos mundos, aquellas que son muy robustas y de excelente funcionalidad pero de uso complicado y poco amigable, y aquellas que en aras de la facilidad, han perdido capacidad de funcionamiento.. Pocas se destacan que cumplan aquello que buscaría una compañía para realizar sus trabajos de análisis y protección de redes.. Esta última razón,. aunada a las características expuestas anteriormente, da suficiente justificación para la construcción de una nueva herramienta.. 1. GNU [7], y específicamente la Licencia Pública General (GPL), hace referencia a las bases de la Fundación de Software Libre (FSF), sobre la cual se han venido construyendo diversas aplicaciones que van desde Sistemas Operativos (Linux en sus diferentes versiones), hasta pequeñas aplicaciones y la aplicación descrita por este documento.. 10.
(12) 3. MARCO TEÓRICO Es indispensable, para la correcta generación de una herramienta de análisis de redes, el conocimiento profundo de las partes que componen una red, y en especial la red mundial Internet.. Para ese efecto, a continuación se especificará de forma expedita la estructura de una red. Mediante la explicación de las topologías, tipos y protocolos básicos de redes, que serán base fundamental de la herramienta. Primero se dará una vista rápida a las topologías de punto a punto y difusión, posteriormente se mostrarán los tipos existentes de redes según su tamaño, luego se especificarán los modelos OSI y TCP, que son los más usados, y finalmente se dará un repaso a los protocolos fundamentales de estos modelos.. No es la idea de este documento hacer un recuento histórico de cada uno de los modelos descritos a continuación, razón por la cual se limitará la explicación a un resumen del funcionamiento de cada uno, sus ventajas, desventajas y su utilización más común. Para otros efectos, por favor remítase a las fuentes bibliográficas1.. 3.1.. 3.1.1.. LOS TIPOS DE REDES. TOPOLOGÍAS BÁSICAS DE REDES. Computacionalmente una red es un sistema de nodos de un grafo, cada uno representado por una subred o una máquina, unidos ya sea a manera de bus (lista), estrella, árbol, anillo, etc. De hecho la definición de red, así como la de. 1. En “Redes de Computadoras” [13], AndrewTanenbaum realiza una exhaustiva explicación de cada uno de los términos y tecnologías que serán descritas en este capítulo.. 11.
(13) un grafo es tan amplia que cualquier unión simple de computadoras puede considerarse como tal, incluso aquellas hechas en casa entre dos máquinas.. Existen dos tipos básicos de redes, aquellas que funcionan punto a punto (P2P) y aquellas que funcionan por difusión (Broadcasting), el primero refiere a un sistema completo de cables que comunican una a una las computadoras, y el segundo a un modelo en el cual se tiene una comunicación de forma que no necesariamente el receptor está ligado directamente al emisor.. Red Punto a Punto (P2P). Red de Difusión en Anillo. Cada tipo de red tiene sus ventajas y desventajas, la red P2P tiene la gran ventaja de llevar de manera inmediata y sin intermediarios la información desde el emisor hasta el receptor, situación que en una red de difusión, con unas características de latencia importantes, puede volverse impráctico.. Por otro. lado, la red de difusión es mucho más manejable cuando la cantidad de máquinas a ser conectadas comienza a crecer. Sería más que ilógico conectar cien máquinas cada par punto a punto.. Por otro lado existen mensajes que deben ser enviados a manera de difusión, como aquel que indica que el servicio de impresión (asumamos que un nodo es una impresora de red) dejará de funcionar dentro de pocos minutos y durante un tiempo determinado. Esta información, si se envía en una red P2P tendrá que ser enviada por la impresora tantas veces como conexiones tenga a su 12.
(14) haber, mientras que en una red de difusión tendrá que mandar un único mensaje con un encabezado específico que expresa la característica del mismo, y por lo tanto que todas las máquinas conectadas a la red deben leerlo una vez lo tengan a su alcance.. Como es de esperarse, el mundo moderno ha escogido la practicidad sobre la velocidad, y por lo tanto casi todas las redes actuales funcionan a manera de difusión, de hecho la muy difundida red Ethernet (IEEE 802.3)1 funciona de esta forma. Además, con los avances en los medios, la aparición de redes de fibra óptica y las últimas generaciones de cableado estructurado, se ha hecho despreciable la diferencia en tiempos de envío y recepción de datos en redes P2P frente a difusión.. 3.1.2.. REDES LAN, MAN Y WAN. Estas tres definiciones se refieren a distancias y cubrimientos de las redes, se considera una LAN cualquier red (de área local), que funciona al interior de una organización, en una casa, un edificio e inclusive un campus universitario, siendo la distancia máxima aproximada entre dos puntos de 1Km.. Las redes MAN, o de área metropolitana, se refieren a redes que conectan, por ejemplo, dos sedes de una misma empresa en una ciudad. Usualmente estas redes no superan los 20Km. de distancia, pero mientras se encuentren al interior de una misma metrópolis, se considerará una red MAN.. La red WAN, por el contrario, se refiere ya a un espectro mucho más amplio, tratándose de distancias enormes e indeterminadas, por ejemplo entre dos. 1. IEEE es el Instituto de Ingenieros Eléctricos y Electrónicos, responsable de la creación de múltiples estándares en el mundo del Internet, siendo Ethernet uno de los más reconocidos.. 13.
(15) oficinas en dos ciudades, una en Canadá y la otra en Argentina, de una compañía multinacional.. Algunos autores definen que las redes WAN tienen un límite de tierra, es decir, que se trata de redes que se encuentran dentro de un mismo continente, ya que en la práctica las empresas que conectan sus oficinas regionales con distancias interoceánicas hacen uso de la Internet, y por lo tanto consideran que para el nivel global ese, y no WAN, es el nombre correcto para el tipo de red.. En cuanto a la estructura de las redes, usualmente las redes MAN y WAN son una única conexión entre un punto y otro a las distancias previamente descritas, siendo cada uno de los puntos una red de menor tamaño. La Internet, en contraste, es una telaraña de conexiones entre redes y redes de diferentes tipos y tamaños que manejan diferentes latencias y velocidades, y que por demás no tienen ninguna homogeneidad.. La disposición de las redes LAN es usualmente la más estructurada, ya que son aquellas con las que cuenta cada organización para realizar sus procesos locales de manera eficiente, bajo el conocimiento que un proceso que necesite ser distribuido a mayores distancias será mucho menos común, y por lo tanto no necesitará ser tenido en cuenta de igual manera.. Por otro lado, la investigación en redes se realiza bajo redes LAN porque por el procedimiento matemático de la inferencia, de conocimientos puntuales se pueden obtener conclusiones generales, y por lo tanto de los resultados obtenidos sobre redes locales de ciertas características se puede inclusive predecir el comportamiento de una herramienta funcionando sobre la Internet.. 14.
(16) 3.2.. 3.2.1.. EL MODELO OSI DE ISO. DESCRIPCIÓN. El modelo OSI fue diseñado por la ISO (International Standards Organization) con el mismo fin de todos sus demás modelos: tomar un correcto, técnico y funcional lenguaje en común para todos aquellos que trabajan en el desarrollo y adecuación de redes.. El modelo está diseñado de manera tal que si se toma un marco creado por un nivel cualquiera de un emisor, si es entregado al mismo nivel de un receptor, éste será capaz de interpretarlo correctamente, así que es transparente para cada nivel del modelo el procedimiento seguido por otros niveles o lo que será hecho en niveles superiores. El modelo se compone de siete capas diferentes, cada una con una funcionalidad específica que será descrita a continuación:. 3.2.2.. EL NIVEL FÍSICO. Se trata del nivel más bajo de las redes, en el cual se realiza la transmisión física de bits y bytes, y en el cual intervienen todos los dispositivos y medios mecánicos, ópticos, electrónicos, etc., a que haya lugar. En él se definen los procedimientos de conexión, por ejemplo la velocidad de los medios de transmisión, la direccionalidad del enlace (simplex, half duplex o full duplex), y la diferencia real entre un bit 1 y 0 por su diferencia de voltaje, entre otros.. 3.2.3.. EL NIVEL DE ENLACE. Este nivel hace referencia al primer control que se realiza sobre los datos obtenidos. Hasta el nivel físico lo único que se conoce es el flujo de bits y por lo tanto se tiene un grupo de unos y ceros hasta ese momento sin sentido. 15.
(17) Cuando entra a funcionar el nivel de enlace, se parte ese flujo en marcos coherentes de tamaño específico y con un encabezado y terminal determinados. Con ellos se hace un control de paridad, se verifica la completitud del marco y la corrección de los datos, entre otras funciones de menor importancia.. 3.2.4.. EL NIVEL DE RED. Este nivel ya contiene algunos procedimientos complejos, tras realizar una nueva verificación, se encarga de conocer que ruta debe seguir el paquete para llegar a su destino, debe también realizar la traducción necesaria para homogeneizar el paquete de manera que pueda ser leído por las capas superiores y no sea rechazado por otras estructuras (ej. modelos UDP frente a TCP), así como conocer el tamaño y la cantidad de marcos que ingresan y salen de la red.. En general, la funcionalidad del nivel de red se reduce a las funciones de intérprete y agente aduanero, traduciendo los paquetes entrantes de manera que sean reconocibles, y contabilizando exactamente cuantos, cuales y de que tamaño son los marcos que ingresan y salen de la red. En este nivel existen los protocolos de red, de todos los cuales el protocolo IP es el más conocido.. 3.2.5.. EL NIVEL DE TRANSPORTE. Hasta el nivel de red se reconoce que se trata de una red con unas características específicas y un formato determinado. Una vez superado dicho nivel, la única información relevante es el emisor, el receptor y el mensaje, es decir, para este nivel es perfectamente transparente todo el medio utilizado para transmisión.. 16.
(18) La funcionalidad del nivel de Transporte radica en el control de errores y de flujo extremo a extremo, así como controlar la manera en que son enviados los datos por el nivel de sesión desde el origen hasta el destino de manera que no haya traumatismos a la hora de desplegar los datos nuevamente para dicha capa. Es en este nivel en donde se determina si la conexión se dio de de forma punto a punto o por difusión, así como se puede averiguar, si es el caso, si se realizó más de una conexión al tiempo y por lo tanto se debe dividir el marco entrante entre esas conexiones, o si por el contrario el marco contiene solo parte de la información y se debe esperar otros marcos para obtener la información completa. El protocolo más conocido para el manejo del nivel de transporte es el TCP. Existe además otro protocolo no orientado a conexión que pertenece también a este nivel, que es el protocolo UDP, el cual maneja el nivel de transporte desde una óptica de paquetes y marcos independientes y desordenados sin garantizar que la totalidad fue enviada, y sin esperar una respuesta al final de la lectura.. 3.2.6.. EL NIVEL DE SESIÓN. Para este nivel, la estructura del mensaje y el medio por el cual fue transmitido pasan a un segundo plano, su función principal es crear una “sesión” entre el emisor y el receptor de manera que se tenga la certeza de una conexión, mediante el uso de puntos de chequeo y controles de transmisión, esto es asegurar que el mensaje llega completo y asegurar que se tiene control sobre la transmisión antes de transmitir los datos. También se introduce en este nivel el concepto de fin del mensaje. Esta última funcionalidad ha sido asumida en la práctica por el nivel de transporte, ya que protocolos como el TCP existen banderas que permiten conocer el final de una transmisión.. 17.
(19) 3.2.7.. EL NIVEL DE PRESENTACIÓN. Este nivel es tal vez el menos utilizado y por lo tanto el más controvertido, su función es la de realizar control sobre la corrección de los datos recibidos, representar correctamente los datos de manera que sean interpretados correctamente por cada una de las máquinas involucradas en la conexión, y si es necesario, realizar compresión y encripción de la información.. 3.2.8.. EL NIVEL DE APLICACIÓN. Se trata del más complejo de todos los niveles, debe realizar una conexión perfectamente transparente de usuario a usuario, bajo el conocimiento que, por ejemplo, uno está utilizando un equipo MAC de última generación y el otro un Intel 80486, con las limitaciones y ventajas de uno y otro. Este nivel debe entonces proporcionar a los usuarios involucrados en la conexión la misma información sin importar las diferencias de medios. Para el usuario no debe ser nada evidente el manejo y conversión necesarios para conectar dos equipos tan heterogéneos como los arriba descritos.. 3.3.. EL MODELO TCP/IP. Este modelo, mucho más comúnmente usado, apareció durante la segunda fase de la guerra fría, a mediados de los años 1970, como el estándar para conexión de máquinas del ejército norteamericano.. Años después, sigue. siendo el estándar básico para el funcionamiento de las redes y por lo tanto el dueño y señor de las redes y el Internet.. Este modelo tiene básicamente la misma estructura del modelo OSI, el cual fue formulado mucho tiempo después, con las siguientes diferencias básicas: Realiza un manejo equipo–red de un solo paso en lugar de los niveles físico y 18.
(20) de enlace del modelo OSI, el nivel de red se reconoce como nivel de Internet y es manejado exclusivamente por el protocolo IP, el nivel de transporte es manejado exclusivamente por el protocolo TCP, y sobre ellos se encuentra únicamente la capa de aplicación, que realiza el trabajo de manejar las sesiones, representación y presentación.. Las funcionalidades de control de. errores presentes en las capas de presentación y Sesión son obviadas ya que no representan un valor agregado para el modelo, el cual funciona por su simplicidad.. Aplicación. Aplicación. Presentación Sesión Transporte. Transporte / TCP. Red. Internet / IP. Enlace Equipo - Red Físico. Modelo OSI. 3.4.. 3.4.1.. Modelo TCP/IP. EL DATAGRAMA IP. DESCRIPCIÓN. El datagrama del protocolo IP, siendo el más difundido y conocido de los protocolos de red, tiene una estructura relativamente sencilla, en la cual se puede reconocer fácilmente toda la información referente a un marco que viaja por la red. Comienza con el bit de mayor valor en el campo versión, de la forma big-endian.. 19.
(21) Versión. Tamaño de la Cabecera (IHL).. Identificación del paquete (no cambia si hay más de un datagrama por paquete). Tiempo de Vida del Datagrama (TTL).. Precedencia y Tipo de Servicio (TOS).. Ban – deras. D. M. F. F. Protocolo. Longitud total del Datagrama (Máx. 64K).. Desplazamiento del Fragmento (Offset). Suma de control de cabecera (checksum).. Dirección de Origen Dirección de Destino Opciones del Datagrama Datos. 3.4.2.. VERSIÓN. Este campo contiene en 4 bits la versión del datagrama IP. En la actualidad se utiliza difundidamente la versión 4 y se está abriendo paso la versión 6. Esta última se refiere a modificaciones importantes realizadas sobre el protocolo en procura de mejorar sus falencias, principalmente en el tamaño de la dirección, y mantener sus puntos fuertes.. El datagrama correspondiente a la versión 6 tiene un tamaño similar, con similares características pero provee un tamaño para dirección de origen y destino de 16Bytes, mucho más grande que el de 32 bits presente en el IPv4. IPv6, aunque ha venido surgiendo, por el momento no representa más que una solución futura a los problemas que se presentarán cuando se copen el total de las direcciones posibles del protocolo en su versión actual.. 3.4.3.. TAMAÑO DE LA CABECERA (IHL). Se considera cabecera a toda la estructura del datagrama exceptuando la parte de datos, que contiene la sección de Opciones de tamaño variable, lo cual hace necesario indicar exactamente el tamaño de la cabecera completa. Este campo tiene un espacio de 4 bits. Es apreciable en el diagrama que hay 5 posibles 20.
(22) líneas en la cabecera (sin opciones y datos), cada una de las cuales tiene un tamaño exacto de 32 bits para un total de 160 bits.. Como se explicó anteriormente, los campos de opciones son variables, y se componen de líneas sucesivas de 32 en 32 bits, hasta un máximo de 15 líneas (480 bits), lo cual indica un tamaño máximo de cabecera de 640 bits.. 3.4.4.. PRECEDENCIA Y TIPO DE SERVICIO (TOS). Permite, en 8 bits, enviar un mensaje desde el equipo hacia la subred, en el cual se especifica el tipo de servicio que va a usar el datagrama, por ejemplo si va a ser un servicio de alta calidad y por lo tanto debe verificarse en su totalidad la corrección del datagrama, o si por el contrario se requiere uno de alta eficiencia y por lo tanto se lee y pasa lo más rápido posible sin tener en cuenta la estructura del resto del paquete.. 3.4.5.. LONGITUD TOTAL DEL DATAGRAMA. Se refiere, obviamente, al tamaño total del datagrama, incluyendo los datos del mismo.. Este espacio permite un máximo de 64 KB, tomado en su. representación binaria normal en el espacio de 16 bits.. 3.4.6.. IDENTIFICACIÓN DEL PAQUETE. Se refiere a un identificador único de un paquete, lo cual permite al receptor reconocer si un datagrama pertenece a un paquete específico que debe ser armado. Todos los datagramas que pertenecen a un mismo paquete tienen el mismo identificador.. Para disminuir la probabilidad de encontrarse con un. paquete con el mismo identificador, tiene un espacio donde coloca un número aleatorio (o secuencial, dependiendo del emisor) de 16 bits. 21.
(23) 3.4.7.. BANDERAS. Existe un campo de 3 bits en el cual se maneja información importante del datagrama.. El primer bit se encuentra sin uso, el segundo se refiere a la. capacidad del receptor de recibir o no paquetes fragmentados, si este bit está encendido, significa que no tiene dicha capacidad y que por lo tanto todo paquete que vaya a ser enviado mediante el datagrama debe encontrarse completo. El segundo bit informa si un datagrama contiene sólo parte de un paquete fragmentado, o si es el datagrama final de un paquete, en cuyo caso el bit estará apagado.. 3.4.8.. DESPLAZAMIENTO DEL FRAGMENTO (OFFSET). Mediante el uso de este espacio se puede saber en que orden va un datagrama dentro de un paquete, mediante la unidad de fragmento elemental de 8 bytes. Se proporcionan 13 bits que permiten la posibilidad de enviar 8192 fragmentos diferentes de un paquete.. 3.4.9.. TIEMPO DE VIDA DEL DATAGRAMA (TTL). Es un espacio de 8 bits en el cual se almacena un número binario que va disminuyendo con cada salto que debe dar el datagrama para llegar a su destino a través de la red. Si por algún motivo éste salta a cero, se reenvía un paquete al emisor explicando la situación de final del tiempo de vida. La idea de este espacio es evitar que un datagrama vague por las redes sin rumbo al no encontrar rápidamente su destino. Cada sistema operativo define su tiempo de vida, razón por la cual es posible reconocer, en la mayoría de los casos, las características de una máquina conociendo su campo TTL. Por ejemplo, las máquinas con sistema operativo Windows 95/98/ME por defecto envían un TTL. 22.
(24) de 32, en Windows NT/2000/XP es de 128, Linux utiliza 64 y en general la mayoría de máquinas Unix manejan 255 en este campo.. 3.4.10.. PROTOCOLO. Este espacio, también de 8 bits, especifica que tipo de información lleva, y por lo tanto a que clase de capa de transporte debe entregarse, a partir de la numeración global que existe para los tipos de protocolo, según el RFC 1700. Usualmente se debe entregar a un protocolo TCP (número 6), o a un protocolo UDP (número 17).. 3.4.11.. SUMA DE CONTROL DE CABECERA (CHECKSUM). Este campo contiene la suma de todos los campos de la cabecera en complemento a uno, en un espacio de 16 bits, de manera tal que se tiene un número práctico de control que permite reconocer si el paquete fue alterado en el camino y por lo tanto debe volverse a solicitar al emisor.. 3.4.12.. DIRECCIÓN DE ORIGEN. Se refiere, obviamente, a la dirección IP del emisor, la cual se dispone en un espacio de 32 bits (4 espacios de a 8 bits en el modelo IP V.4).. 3.4.13.. DIRECCIÓN DE DESTINO. Se refiere a la dirección del receptor del mensaje hacia quien va dirigido. Tiene las mismas características de la dirección de origen.. 23.
(25) 3.4.14.. OPCIONES. Este campo, de tamaño variable, existe para permitir el desarrollo del protocolo, por si es el caso que en versiones futuras sea necesario adicionar nuevos campos a la cabecera, esto sea realizado sin traumatismos frente a los estándares actuales. Este campo sin embargo no puede albergar los cambios para el protocolo IPv6, ya que éste realiza un cambio demasiado importante en el tamaño de las direcciones de origen y destino para los que el protocolo como está no puede estar preparado.. 3.4.15.. DATOS. Este campo contiene el agrupamiento de unos y ceros que componen el contenido del datagrama. También tiene longitud variable dada por el tamaño de datagrama, con un máximo de 64 KBytes (65536 Bytes).. 3.5.. 3.5.1.. EL DATAGRAMA TCP. DESCRIPCIÓN. TCP, siendo el protocolo de control de transporte más reconocido en el mundo de las redes, tiene un formato muy poco complejo.. Como es de esperarse, siendo el protocolo TCP del nivel de transporte en el modelo TCP/IP, no lleva directamente en su estructura direcciones de red de las máquinas, sino el puerto por el cual va a enviarse y recibirse la información. Cabe recordar que para el nivel de transporte toda actividad del modelo de red es transparente, a excepción de la pseudocabecera que maneja la corrección de errores, que será explicada más adelante. El protocolo TCP es orientado a conexión, es decir que necesita una conexión activa entre emisor y receptor 24.
(26) para realizar un enlace satisfactorio. Esta necesidad obliga al uso de puertos de conexión que estarán abiertos a ese enlace durante el lapso de tiempo en que dure activo.. Puerto de Origen. Puerto de Destino Número de Secuencia Número de Reconocimiento. Longitud de la cabecera TCP. U A P R S F R C S S Y I G K H T N N. Suma de Comprobación de Cabecera (Checksum). Tamaño de la Ventana. Apuntador Urgente. Opciones (0 o más palabras de 32 bits) Datos (Opcional). 3.5.2.. PUERTO DE ORIGEN. Este elemento permite conocer cual es el puerto de salida del emisor, y por lo tanto intuir de que servicio se trata, por ejemplo, de ser el puerto 80 el de origen, este puerto se espera que siguiendo el estándar ISO, corresponda al puerto HTTP, y que por lo tanto se trate de un servicio de página web. El espacio asignado es de 16 bits.. 3.5.3.. PUERTO DE DESTINO. Este elemento corresponde al puerto que utiliza la máquina receptora para captar la información que trae el datagrama. Este puerto no es predecible y debe conocerse con antelación para poder realizar la conexión. Usualmente se trata de puertos superiores al 1024, los cuales no tienen asignada una utilidad específica. Tiene el mismo espacio asignado de 16 bits para almacenarse.. 25.
(27) 3.5.4.. NÚMERO DE SECUENCIA. Este espacio se encuentra disponible para reconocer cual es la posición del datagrama dentro de un flujo de información. Contiene un byte con el primer número de la secuencia contenido en el datagrama. palabra de 32 bits para colocar estos números.. Tiene asignada una. El datagrama IP tiene un. campo similar, y ya que el datagrama TCP viaja por las redes al interior del IP, se puede pensar que este campo no tiene utilidad alguna, pero así mismo se debe recordar que no necesariamente los paquetes se envían o reciben en orden, y este campo permite rearmar correctamente el paquete completo original sin problemas.. 3.5.5.. NÚMERO DE RECONOCIMIENTO. Es un espacio asignado para reconocer, en bytes, cual será el próximo grupo de datos, por medio del conocimiento de cuál será el primer byte (descrito en el espacio de número de secuencia de los demás datagramas) del siguiente segmento contenido en otro datagrama del paquete.. 3.5.6.. LONGITUD DE LA CABECERA TCP. Se refiere al número de palabras de 32 bits que ocupa la cabecera TCP (sin incluir datos). Tiene un espacio de 4 bits para este efecto. El número mínimo de palabras que ocupa entonces la cabecera TCP es de 5 y el máximo es de 15.. 3.5.7.. ESPACIO VACÍO. En este punto existe un espacio vacío de 6 bits, pensado para corregir problemas con el protocolo, aumentar la cantidad de banderas o aumentar el espacio de la cabecera, pero realmente nunca ha sido necesario su uso. 26.
(28) 3.5.8.. BANDERAS. Viene un espacio de 6 bits correspondiente a 6 diferentes banderas del protocolo TCP. Estas banderas tienen que ver con la conexión realizada entre emisor y receptor. Dependiendo de que se trate el paso a seguir, se enciende ó apaga una bandera específica y la contraparte reconocerá cuál es la actividad.. 3.5.8.1.. Bandera URG. Esta bandera, si se encuentra encendida, hace las veces de interrupción (igual que las interrupciones de los sistemas operativos), saltando la cola de datagramas en el receptor, denotando que hay información urgente que debe tener un tratamiento especial.. 3.5.8.2.. Bandera ACK. Esta bandera es tal vez la más común de encontrar en un flujo de red. Denota que la conexión se encuentra viva y que el datagrama correspondiente tiene un correcto número de acuse de recibo que debe ser tomado en cuenta.. 3.5.8.3.. Bandera PSH. Indica la orden PUSH, que denota un datagrama urgente que debe ser enviado directamente a la aplicación correspondiente al recibo del mismo sin esperar al procedimiento típico de recepción y ordenamiento.. 3.5.8.4.. Bandera RST. Esta bandera indica un error en la conexión y por lo tanto un RESET. Puede indicar un problema o puede indicar un rechazo de conexión o un simple error de conexión que hace imposible la continuidad del servicio.. 27.
(29) 3.5.8.5.. Bandera SYN. Esta bandera es usada en el momento de realizar la conexión, en conjunto con la bandera ACK. El modelo TCP indica que para abrir una conexión se necesita un saludo de tres vías (Three way handshaking), en el cual primero el emisor envía un datagrama vacío con la bandera SYN encendida, a lo cual responde el receptor con un datagrama de las mismas características pero ahora con las banderas SYN y ACK encendidas, a lo cual el emisor enviará otro paquete con únicamente la bandera ACK encendida. Una vez llenado este requisito, se reconoce que la conexión se encuentra activa. En el camino, si por ejemplo la respuesta es de SYN y RST, ha rechazado la conexión, o si la respuesta final es un FIN, denota que abrió y cerró inmediatamente la conexión.. 3.5.8.6.. Bandera FIN. Esta bandera simplemente denota el final de una conexión. Cuando una de las partes recibe un datagrama con esta bandera encendida, entiende que la conexión ha terminado.. 3.5.9.. TAMAÑO DE VENTANA. Primero es necesario aclarar el concepto de Ventana Corrediza que maneja TCP. Los datos proporcionados tienen un tamaño variable dependiendo de varios factores, por ejemplo al final del proceso puede ser que el último datagrama contenga menos bytes que el resto, dado que no se puede, en la mayoría de los casos, y de hecho es impráctico, conseguir romper un paquete en fragmentos de un único tamaño, esto es, tantos fragmentos del mismo tamaño como sean necesarios y un fragmento final de menor tamaño. Con esa finalidad, se describe en este espacio, en una palabra de 16 bits, la cantidad en bytes que puede llevar el fragmento, lo cual obviamente le da un tope máximo de 65536 bytes por fragmento.. 28.
(30) Existe, sin embargo, una limitante externa. Cabe recordar que el datagrama TCP, para ser enviado por el modelo TCP/IP, debe ser montado en el espacio de datos del datagrama IP, el cual también tiene un tamaño máximo de 65536 bytes, lo que hace imposible, junto con el encabezado TCP y luego el IP, enviar paquetes de este tamaño.. En la práctica se asume que se debe dejar un. espacio de 20 bytes para el encabezado TCP y otros 20 para el encabezado IP, lo cual deja un espacio máximo real de datos de 65496 bytes para ser enviados al interior del datagrama.. 3.5.10.. SUMA DE COMPROBACIÓN DE CABECERA (CHECKSUM). Se refiere a una suma de control realizada sobre una pseudocabecera creada únicamente con este fin, en la que se evalúan 3 palabras de 32 bits, las dos primeras correspondientes a las direcciones de origen y destino (direcciones IP), y la tercera correspondiente a un espacio de 8 bits en 0, el número del protocolo (TCP es el número 6) y un campo de 16 bits para la longitud del segmento TCP. La característica de esta pseudocabecera hace necesario conocer la dirección de red de las máquinas involucradas en la conexión, detalle que contradice el alma del modelo OSI, pero que es muy funcional en la práctica.. 3.5.11.. APUNTADOR URGENTE. Este espacio se encuentra diseñado para ir en concordancia con la bandera URG, conteniendo toda la información urgente que hizo realizar el llamado de interrupción al receptor.. 3.5.12.. OPCIONES. Al igual que en el datagrama IP, este campo, compuesto por palabras de 32 bits, está diseñado para hacer extensible el protocolo TCP cada vez que sea 29.
(31) necesario. En la actualidad, de hecho, se maneja en este espacio un segmento para dar a conocer la carga máxima que el emisor está dispuesto a soportar, y que por lo tanto da pauta para el tamaño máximo de datagrama. Esta máxima carga también permite reconocer el sistema operativo de una máquina, ya que cada cual tiene por defecto una capacidad de carga diferente.. 3.5.13.. DATOS. Este espacio, descrito en bytes, integra los datos del datagrama, ya sean un paquete o un fragmento de un paquete a ser enviados.. 3.6.. 3.6.1.. EL DATAGRAMA UDP. DESCRIPCIÓN. En contraposición al protocolo TCP, UDP es aún más sencillo y funciona sin necesidad de una conexión abierta y continua conocida como no orientada a conexión, razón por la cual es un formato muy interesante para el manejo de flujos como el realizado por el protocolo http, ya que éste presenta justamente ese tipo de conexión.. Puerto de Origen. Puerto de Destino. Longitud UDP. Suma de Comprobación UDP Datos. 3.6.2.. PUERTO DE ORIGEN. Este espacio de 16 bits provee la dirección del puerto de origen en la máquina emisora, idéntica en funcionalidad a la presente en el datagrama TCP.. 30.
(32) 3.6.3.. PUERTO DE DESTINO. Este espacio de 16 bits también tiene la misma finalidad de aquel presente en el protocolo TCP bajo el mismo nombre.. 3.6.4.. LONGITUD UDP. Se refiere al tamaño de la cabecera UDP, que tiene un máximo de 8 bytes, junto con los datos, que pueden ocupar hasta 64 bytes.. 3.6.5.. SUMA DE COMPROBACIÓN UDP. Esta suma se refiere a aquella realizada para comprobar la completitud de cabecera y datos del datagrama. Al igual que la existente en el modelo TCP, usa una suma sobre una pseudocabecera creada específicamente para este propósito, pero a diferencia del datagrama TCP, en este espacio puede haber un valor de 0, caso en el cual no se realizará este procedimiento de comprobación.. 3.6.6.. DATOS. Este espacio, al igual que en los dos datagramas anteriores, representa el lugar en el cual van localizados los datos que lleva el protocolo.. Es interesante anotar que este protocolo no contiene un espacio de Opciones para una futura actualización, ni tampoco banderas que den indicios sobre la operación que se esté realizando.. 31.
(33) 3.7.. OTROS PROTOCOLOS IMPORTANTES. En realidad, la diversidad de protocolos estándar existentes en el mundo de las redes supera los cien, y no hay razón para pensar que en un futuro se detenga la creación de nuevos estándares de este tipo, sin embargo, de ellos se destacan unos cuantos por su importancia o uso.. 3.7.1.. HTTP. Este protocolo se refiere al Protocolo de Transferencia de Hipertexto, es el más comúnmente usado de los existentes en el nivel de presentación, se encuentra localizado usualmente en el puerto 80 y permite el movimiento de páginas web entre usuarios.. Como características importantes, éste protocolo es no. orientado a conexión, y maneja peticiones tipo GET (traer datos), tanto en su formato sencillo como en la más avanzada versión de HTTP 1.0.. 3.7.2.. FTP. Este protocolo se refiere al Protocolo de Transferencia de Archivos (Ficheros), realiza su conexión usualmente por el puerto 21, y fue creado para manejar transferencia de archivos entre servidores y usuarios. En ocasiones maneja funciones avanzadas como uso de contraseñas, sesiones y tipos de usuario. Originalmente su funcionamiento no era muy diferente a aquel presente en Telnet.. 3.7.3.. POP3 y SMTP. Estos protocolos son bastante comunes, pero al ser subyacentes al manejo de correo electrónico, son de menor reconocimiento que los antes descritos. POP3 es la evolución del protocolo POP (Protocolo de Oficina Postal), 32.
(34) funcionando por el puerto 110 usualmente, que refiere a recepción remota de correo electrónico, y es aquel que lo transfiere, usualmente, desde un servidor hacia un usuario. SMTP (Protocolo Simple de Transferencia de Correo), que funciona usualmente por el puerto 25, por su parte, se encarga de realizar el trabajo contrario, dado un usuario, envía el correo electrónico de éste a través del servidor.. Ambos protocolos han sido probados extensivamente por. problemas de seguridad y han mostrado una importante robustez pero así mismo una baja tolerancia a los ataques. Existen además protocolos como IMAP (Protocolo Interactivo de Acceso a Correo), que funciona de manera local en el servidor recibiendo llamados por el puerto 220, y es la base de la mayoría de correos en línea, estilo Yahoo o Hotmail, para nombrar sólo algunos de los más conocidos.. 3.7.4.. ARP y RARP. ARP (Protocolo de Resolución de Direcciones) y RARP (Protocolo Inverso de Resolución de Direcciones) son tal vez dos de los protocolos más comúnmente encontrados al momento de analizar una red. Se trata de dos “conversores” de direcciones de red entre IP y MAC (dirección de Control de Acceso al Medio).. La dirección IP es indispensable para conocer la localización de una máquina específica, y la dirección MAC es única y específica de cada máquina, asignada desde fábrica a cada tarjeta de red existente. El protocolo ARP, dada una dirección IP, encuentra la correspondiente dirección MAC, y el RARP realiza el trabajo contrario. Se debe aclarar que la conexión vista desde el nivel más bajo no se realiza de una a otra dirección IP porque estas direcciones son “artificiales” en cada máquina, sino de una a otra dirección MAC, de allí la importancia del protocolo.. 33.
(35) 3.7.5.. OTROS PROTOCOLOS MENOS CONOCIDOS. Existe, como ya fue enumerado, una amplia variedad de protocolos de menor envergadura e importancia de los ya descritos, y algunos que no viene al caso estudiar en este documento, estos son por ejemplo el PPP (Protocolo Punto a Punto), WAP, WDMA, NNTP, IGMP, ICMP, etc.. 3.8.. EL FLUJO DE RED DEL MODELO TCP/IP. Tras la explicación detallada de los datagramas IP, TCP y UDP, se puede reconocer que, en la práctica, a través de redes Ethernet que manejan salida a Internet ó a una red local, se utilizan estos tres protocolos principalmente, lo cual hace innecesario por el momento el conocimiento de otros protocolos para este efecto.. A través de las redes Ethernet, cuando se realiza cualquier tipo de movimiento de datos, se envía un paquete IP con un protocolo de transporte superpuesto, sea éste TCP, UDP u otro, proveyendo tres trozos de información importante para analizar: las direcciones IP de envío y recepción, presentes obviamente en la cabecera IP, los puertos de envío y recepción de cada una de las máquinas involucradas, y los tamaños de paquete.. La importancia de esa información radica en que con ella se puede armar un mapa completo de lo sucedido en la red, primero se reconoce qué máquinas están involucradas en la transacción por sus direcciones IP. Luego se puede conocer, en algunos casos, el tipo de transacción por los puertos utilizados (por ejemplo una solicitud de página web al puerto 80), y finalmente con una resta sencilla sobre los tamaños de paquete, se puede saber la cantidad de bits de datos que transporta cada paquete, con lo cual se conoce la carga que representa ello para la red. 34.
(36) Protocolos como el TCP permiten además realizar una petición de ACK a un puerto común como el 80 (HTTP), con una dirección de destino en el datagrama IP para difusión (usualmente la dirección del segmento, seguida de 255 en los campos subsecuentes de la dirección IP logra este efecto) lo cual producirá una respuesta (de aceptación o rechazo) de todas las máquinas involucradas en la red, que permitirá conocer su existencia.. 3.9.. LOS SNIFFERS Y LA CAPTURA DE TRÁFICO. El análisis de redes se basa en el conocimiento del tráfico de red, pero la obtención de ese tráfico no es tarea sencilla pues se debe tomar directamente del nivel de equipo–red (modelo TCP/IP) o de enlace (modelo OSI), para obtener paquetes con la información intacta.. Una vez obtenida la información, esta será sin embargo un compendio de bits con cierta estructura, no necesariamente homogénea, presentando otra dificultad para analizar la información.. Para solucionar este problema que se presenta, durante los últimos años se han venido desarrollando diferentes librerías que permiten la recolección de datos homogéneos y reconocibles de tal manera que sean maniobrables y analizables. Libpcap 1 es una librería que realiza ese trabajo de leer el tráfico de red y convertirlo en un formato homogéneo para su posterior análisis. Esta librería, cuya licencia es GPL, es la fuente básica de todo analizador de red de la actualidad que corra sobre máquinas Unix o Linux. Se trata de un sniffer que. 1. LibPCap, librería de captura de tráfico, realizada por los creadores de TCPDump [16].. 35.
(37) obtiene paquetes del nivel de red y los convierte directamente en información por paquetes entendible para los analizadores.. Un sniffer es una aplicación de software que ingresa a los niveles inferiores de un modelo y toma de ellos la información de paquetes, de manera que por medio del compendio de los mismos se pueda conocer información relevante sobre la máquina o máquinas involucradas en las diferentes conexiones de red. Esto es particularmente útil en redes de difusión, ya que el tráfico se lleva por toda la red hasta que encuentra su receptor. En una topología de red P2P el único tráfico que se puede encontrar en un espacio específico de la red es aquel producido entre las dos máquinas conectadas punto a punto.. Cuando se realiza la captura de datos, son procesados de manera que se toma la cabecera IP y se analiza su información, y si es necesario, también se analizan los datos correspondientes. Esta información permite conocer cuál es la actividad de las redes, así como conocer otro tipo de información, como las máquinas presentes en la subred, los destinos más comunes de la subred, equipos de mayor uso, etc.. Esta porción de software es el cuello de botella para la implementación universal de una herramienta que funcione en los diversos sistemas operativos, ya que de hecho no existe en la actualidad compatibilidad clara de una única librería estilo libpcap que funcione para Windows o Apple Macintosh.. Esta. limitante es sorteable en el caso de sistemas operativos Windows, ya que existen librerías (principalmente winpcap) que realizan el trabajo. Para el caso Mac, no existe actualmente implementada una herramienta que maneje de la misma forma el flujo de bits, aunque fink, una aplicación similar a TCPDump[16], está siendo desarrollada de manera importante con este fin.. 36.
(38) Aunque la razón de ser original de un sniffer es simplemente tomar el tráfico para análisis, también es muy común el uso para malas prácticas al utilizar esta información para conocer vulnerabilidades de las diferentes máquinas, robo electrónico, ataques de hombre-en-el-medio, ingeniería social y obtención de claves, entre otros.. 37.
(39) 4. COMPARATIVO DE HERRAMIENTAS EXISTENTES No es una coincidencia que exista tal variedad de herramientas para análisis de tráfico de redes, se trata de la evolución normal de los mercados, si existe un consumidor dispuesto a obtener un producto, existe un productor dispuesto a proveerlo, y aunque estamos centrados en el mundo del software libre, éste no es ajeno a normas como esa.. La siguiente comparación se realizará bajo seis criterios a saber, rendimiento, portabilidad, tipo de análisis, licencia, facilidad de uso e interfaz.. Con esta. información es posible dar un vistazo general a la utilidad y capacidad de las mismas, y en consecuencia, a obtener puntos comparativos para aprovisionar la herramienta a desarrollar de todas las ventajas presentes en cada una de ellas, y evitar los errores en que caen.. 4.1.. ETHEREAL [6]. Tal vez el más conocido y usado de todos los analizadores, se compone de un sniffer (para el caso de sistemas Unix tcpdump usando libpcap), y funciona simplemente capturando tráfico y analizándolo según su estructura dentro de unos parámetros que indican al administrador de red ciertos detalles acerca de intrusiones, uso de la red, y otras utilidades que presta el programa al analizar por paquetes ese tráfico obtenido.. Dentro de sus funcionalidades se incluye aquella que lo hizo famoso, la capacidad de capturar y analizar el contenido de los paquetes, incluso a nivel de permitir la lectura de las conversaciones TCP/IP (conocida como Spoofing), que en un momento dado se pueden utilizar para realizar ingeniería social,. 38.
(40) hasta llegar a obtener claves, lo que lo convierte en una potente arma para hackers, sobre todo si las redes utilizan protocolos poco seguros como Telnet.. Para realizar estadísticos y estudios sobre la red utilizando Ethereal, es necesario analizar los datos presentados por la herramienta, ya que en ningún momento ha sido una premisa para los creadores generar ese tipo de funcionalidades, de hecho la capacidad de estadísticos que entrega Ethereal es muy limitada a detalles como velocidad de la red (ej. bps), cantidad de paquetes por segundo y detalles de este tipo.. No hay razón para desconocer la capacidad de esta herramienta, es posible que inclusive sea el mejor analizador de tráfico de redes que exista, pero no permite análisis avanzados sobre la red como tal, funcionalidad que lo hace insuficiente para las necesidades de una compañía.. 4.1.1.. RENDIMIENTO. Alto, tiene problemas al analizar grandes volúmenes de paquetes, de allí que tiene la posibilidad de utilizar filtros, sin embargo si el filtrado no es fuerte (ej. sólo se filtra la ausencia de una máquina), tiende a llenar rápidamente la capacidad de memoria, y si se está realizando almacenamiento en disco, tiende a acabar la capacidad del mismo en cuestión de pocas horas.. 4.1.2.. PORTABILIDAD. Linux (Red Hat, Mandrake, Suse, Debian, etc.), Unix, Solaris, Apple Mac, Irix, BSD, Windows, etc., mediante el uso de diferentes librerías para cada caso, libpcap para Unix, Irix, BSD, Solaris, Linux y otros, winpcap para Windows, fink para Apple Mac. Incluso se asegura que existe una versión para BeOS de Palm. 39.
(41) 4.1.3.. TIPO DE ANÁLISIS. Filtrado de paquetes, datos básicos sobre la red, estadísticos sencillos. Sin embargo este análisis no es el fuerte de la herramienta, que tiene su epítome en la reconstrucción de información presente en la red, muy útil para realizar sondeos y realizar controles de seguridad.. 4.1.4.. LICENCIA. GPL (General Public Licence) Copyleft, descrita como licencia de uso y distribución libre (ver Bibliografía para más información).. 4.1.5.. FACILIDAD DE USO. Intermedio, Esta herramienta en sus últimas versiones provee una interfaz de ventanas que agrega valor a su utilidad, sin embargo se necesita conocimiento intermedio de redes y en manejo de filtros y paquetes para hacer uso racional de ella.. 4.1.6.. INTERFAZ. Gráfica y texto, esta herramienta es de las más antiguas y en un principio tenía su funcionalidad en consola de texto, recientemente en las últimas versiones se ha creado una interfaz importante en modo gráfico, que aunque no tiene todas las funcionalidades de consola, se comporta de forma interesante. Esta interfaz gráfica funciona a manera de aplicación local.. 40.
(42) 4.2.. SNORT [15]. Actualmente es una potente herramienta utilizada por los administradores de red expertos que buscan ayudarse de este tipo de analizadores para prevenir e inclusive detener intrusiones a las redes. El formato de Snort es bastante claro, son tres tipos de analizador en uno: sniffer, analizador de paquetes y sistema de detección de intrusiones.. La gran desventaja de Snort es su poca facilidad de uso para el usuario final, ya que exige que se realice un entrenamiento básico (que puede resultar bastante complejo y exhaustivo si no se tienen nociones importantes en el tema de redes) para entender su funcionamiento.. Esto hace que realmente se necesiten. conocimientos extensos en redes, seguridad y manejo de logs para lograr un funcionamiento completo y adecuado. Por otro lado, sus capacidades se ven bastante limitadas al hacer uso de la versión gráfica, ya que por defecto la herramienta funciona sobre texto, haciendo más complicada cualquier tarea de análisis, sobre todo aquellos que representan análisis estadísticos sobre las redes.. Snort tiene una importante fama a nivel mundial entre los administradores de red ya que tiene un interesante componente de seguridad, que ligado a los protocolos típicos de captura de tráfico (tcpdump y libpcap en el caso Unix), realiza la tarea de alertar sobre posibles intrusiones a las redes, mediante el uso de patrones reconocidos y manejos de tráfico sospechosos. Sin embargo este manejo de tráfico tan extensivo hace que, al igual que con Ethereal, bajo filtrados bajos, colmen la capacidad de almacenamiento de los servidores con bastante rapidez.. 41.
(43) 4.2.1.. RENDIMIENTO. Alto, tiene un problema al recibir grandes volúmenes de paquetes para estudiar, que en algunos casos llega a bloquear el sistema. Es configurable para realizar filtrado de paquetes, Guarda logs en disco duro, consumiendo rápidamente la capacidad del medio si no se realizan filtrados adecuados.. 4.2.2.. PORTABILIDAD. Unix (Linux en todas sus versiones) y Windows, mediante el uso de libpcap y winpcap respectivamente.. 4.2.3.. TIPO DE ANÁLISIS. Basado en IDS, realiza funciones de seguridad y captura de paquetes a manera de documentación. Sugiere el uso de bases de datos para disminuir el uso de espacio.. Realiza funciones básicas de análisis de redes (estadísticos de. velocidad, rendimiento, etc.).. Principalmente tiene la característica de filtrar. patrones de ataques conocidos.. 4.2.4.. LICENCIAS. GPL (General Public Licence) Copyleft.. 4.2.5.. FACILIDAD DE USO. Baja, necesita uso de reglas, una alta cuota de experiencia y conocimiento para operar la herramienta, maneja funciones complejas y tiene un arduo proceso de instalación.. 42.
(44) 4.2.6.. INTERFAZ. Texto y Gráfica, bajo las limitantes que toda configuración avanzada se realiza en modo texto. La aplicación gráfica simplemente es una representación de una pantalla de texto sobre la cual se muestra el tráfico procesado, y se marcan aquellas porciones que parecen sospechosas según el filtro que se haya usado. Funciona a manera de aplicación local.. 4.3.. ETHERAPE [5]. Esta herramienta es un poco más especializada, se trata de un analizador gráfico que tiene varias funcionalidades estadísticas y de detección de redes. Gráficamente muestra los sistemas conectados a la red, es capaz de entregar análisis básico sobre la utilización, velocidad, capacidad de la red y también de realizar tareas de recopilación estadística. Sus grandes defectos son olvidar que en ocasiones es preferible sacrificar facilidad de uso en aras de la funcionalidad y no al contrario. Un ejemplo es su clara incapacidad de obtener análisis de seguridad, ya que no tiene una funcionalidad real de IDS. Por otro lado, tiene limitantes importantes en el campo de manejo de tráfico, ya que tiende a sobreestimar su capacidad ante grandes volúmenes, lo que en ocasiones conlleva a congelamientos del sistema y a fallas en el servicio.. Esta es sin embargo una herramienta muy interesante ya que recopila la capacidad de analizar redes en un sistema amigable y útil, por lo menos para situaciones que requieren análisis sencillos, que pueden ser aquellos existentes en pequeñas oficinas o en redes familiares.. 43.
Documento similar
i) it follows a DMM approach, where mobility is anchored at the very edge of the network, ii) it adopts an hybrid ap- proach, where network-based mobility management solutions
The basic solution for IPv6 network mobility (NEMO basic support, [3]) follows the principle of mobile IP [1, 2] where a bi-directional tunnel (BT) between the MR and its HA
Figure 3: Moby Dick Stuttgart test bed description The installed network nodes are: Access Routers for the different access technologies (Ethernet, Wireless LAN and TD-CDMA), AAAAC
public static void main(String[] args) { String counterFile = args[0];. int initialValue
No. de circuitos totales de voz para larga distancia nacional: 79 No. de circuitos totales de voz para larga distancia internacional: 36 No. de circuitos totales de voz para
La telefonía IP, también llamada Voz sobre IP, se define como la transmisión de paquetes de voz utilizando redes de datos, la comunicación se realiza por medio del protocolo
Tb_TarjetaEDO fecha_notificacion : Date id_paciente : String id_medico : String nombre_institucion : String tipo_diagnostico : String id_tarjeta : String id_unidadsalud :
de IP para enviarlo al sistema final donde llegará a su protocolo IP (y será pasado sin cabecera IP a su capa superior). El sistema final hace lo mismo. Cuando un dispositivo