{"id":35,"date":"2020-06-23T13:38:18","date_gmt":"2020-06-23T12:38:18","guid":{"rendered":"http:\/\/blog.uclm.es\/felixvillanueva\/?p=35"},"modified":"2020-06-23T13:38:18","modified_gmt":"2020-06-23T12:38:18","slug":"conceptos-basicos-ns3","status":"publish","type":"post","link":"https:\/\/blog.uclm.es\/felixvillanueva\/2020\/06\/23\/conceptos-basicos-ns3\/","title":{"rendered":"Conceptos b\u00e1sicos NS3"},"content":{"rendered":"<p>El simulador <a href=\"https:\/\/www.nsnam.org\/\"> ns3 <\/a> es un simulador de eventos discretos utilizado ampliamente en investigaci\u00f3n y en docencia.<br \/>\nSe pueden desarrollar todo tipo de simulaciones relativas a tecnolog\u00edas, protocolos y aplicaciones atendiendo a la configuraci\u00f3n que hagamos en un archivo C++.<\/p>\n<p>Los elementos b\u00e1sicos de una simulaci\u00f3n vienen representados por clases c++ que simulan los elementos b\u00e1sicos hardware\/software de un escenario real, son los siguientes:<\/p>\n<ol>\n<li>Node: representa un dispositivo (computador, servidor, tel\u00e9fono m\u00f3vil, port\u00e1til, sensor, c\u00e1mara, etc.)<\/li>\n<li>Channel: representa un canal de comunicaci\u00f3n y su comportamiento (cable, inal\u00e1mbrico, punto a punto, etc.)<\/li>\n<li>Net Device : Dispositivo de red, es una tarjeta de red inal\u00e1mbrica (e.j wifi) o cableada (e.j ethernet)<\/li>\n<li>Application: es una aplicaci\u00f3n software. Desde el punto de vista de una simulaci\u00f3n es un generador\/consumidor<br \/>\nde paquetes de informaci\u00f3n. Un servidor web, un navegador, etc. son ejemplos de aplicaciones<\/li>\n<li>Protocol stack: es una pila de protocolos de comunicaci\u00f3n. El mas conocido, la pila de protocolos TCP\/IP que hace posible la comunicaci\u00f3n en Internet<\/li>\n<li> El simulador propiamente dicho: se encarga de lanzar y gestionar la simulaci\u00f3n.<\/li>\n<\/ol>\n<p>Con estos cinco elementos podemos simular cualquier escenario de red. En nuestro archivo de C++ debemos tener estos elementos configurados apropiadamente para simular un escenario real.<br \/>\nCuando analizemos un escenario <a href=\"https:\/\/www.nsnam.org\/\"> ns3 <\/a> veremos que en C++ vamos realizando los mismos pasos que har\u00edamos en un escenario real.<\/p>\n<ol>\n<li>Creamos los objetos C++ que representen a los nodos, el canal, la aplicaci\u00f3n y la pila de protocolos que necesitemos<\/li>\n<li>A los nodos, les \u00abinstalamos\u00bb los dispositivos de red (Net Devices)<\/li>\n<li>\u00abConectamos\u00bb el channel a los dispositivos de red<\/li>\n<li>Instalamos en cada nodo la pila de protocolos y la configuramos apropiadamente. En TCP\/IP le damos la direcci\u00f3n IP, m\u00e1scara de subred, etc.<\/li>\n<li>Instalamos en cada nodo la aplicaci\u00f3n y la configuramos<\/li>\n<li> Configuramos y lanzamos la simulaci\u00f3n<\/li>\n<\/ol>\n<p>Hay elementos secundarios que nos facilitan la labor de gestionar simulaciones complejas (argumentos, log, configuraci\u00f3n de muchos elementos) con<br \/>\nmuchos nodos y\/o aplicaciones.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El simulador ns3 es un simulador de eventos discretos utilizado ampliamente en investigaci\u00f3n y en docencia. Se pueden desarrollar todo tipo de simulaciones relativas a tecnolog\u00edas, protocolos y aplicaciones atendiendo a la configuraci\u00f3n que hagamos en un archivo C++. Los &hellip; <a href=\"https:\/\/blog.uclm.es\/felixvillanueva\/2020\/06\/23\/conceptos-basicos-ns3\/\">Sigue leyendo <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":182,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[15,30,38],"class_list":["post-35","post","type-post","status-publish","format-standard","hentry","category-ns3","tag-conceptos-basicos","tag-ns3","tag-simulacion"],"_links":{"self":[{"href":"https:\/\/blog.uclm.es\/felixvillanueva\/wp-json\/wp\/v2\/posts\/35","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.uclm.es\/felixvillanueva\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.uclm.es\/felixvillanueva\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.uclm.es\/felixvillanueva\/wp-json\/wp\/v2\/users\/182"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.uclm.es\/felixvillanueva\/wp-json\/wp\/v2\/comments?post=35"}],"version-history":[{"count":0,"href":"https:\/\/blog.uclm.es\/felixvillanueva\/wp-json\/wp\/v2\/posts\/35\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.uclm.es\/felixvillanueva\/wp-json\/wp\/v2\/media?parent=35"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.uclm.es\/felixvillanueva\/wp-json\/wp\/v2\/categories?post=35"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.uclm.es\/felixvillanueva\/wp-json\/wp\/v2\/tags?post=35"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}