Difference between revisions of "Comparison of descriptions models"

From Guifi - Media-pool Common Repository

(CNML)
 
(11 intermediate revisions by one user not shown)
Line 1: Line 1:
= Network Device Configuration =
+
[[:en:CNML|CNML]] was designed for a lot of elements that described each zone, node, links and traffic from a Community Network, but finally only was implemented from guifi.net for hierarchy based on this schema:
 +
 
 +
[[File:cnml-tree.png]]
 +
 
 +
NetJSON is designed and implemented just for elements described below that include metric and topology values. You can get NetJSON from [[https://github.com/ninuxorg/netdiff Netdiff Netdiff parser]. ''Netdiff provide parsers for [[OLSR]] 0.6.x jsoninfo plugin, [[BATMAN-adv]] [[alfred]] tool, [[CNML]] and recently a beta version for [[BMX6]] b6m plugin<ref>https://github.com/gabri94/netdiff/commit/718ddbbde9ab9f3170c34d3f58e1f9f82a3c91d8</ref>.
 +
 
 +
Also you can get NetJSON directly from nodes with [http://netengine.rtfd.org Netengine] tool (python library) which provide a single API to extract common information from network devices using different protocols (eg: SNMP, SSH, HTTP) and different firwmares (OpenWRT and AirOS).
 +
 
 +
= NetJSON Network Device Configuration =
  
 
{| border="1" cellspacing="0"
 
{| border="1" cellspacing="0"
 
! NetJSON
 
! NetJSON
! CNML standard
+
! CNML proposed standard
 
! CNML from guifi.net
 
! CNML from guifi.net
 
|-
 
|-
 
|    general
 
|    general
 +
| ''cnml''
 +
| cnml
 
|-
 
|-
 
|    hardware
 
|    hardware
| hardware capabilty
+
| ''hardware capability''
 +
| -
 
|-
 
|-
 
|    operating_system
 
|    operating_system
 +
| -
 +
| -
 
|-
 
|-
 
|    resources
 
|    resources
 +
| -
 +
| -
 
|-
 
|-
 
|    interfaces
 
|    interfaces
 +
| -
 +
| interface
 
|-
 
|-
 
|    physical_devices
 
|    physical_devices
| devices
+
| ''devices''
 +
| -
 
|-
 
|-
 
|    routing
 
|    routing
 +
| -
 +
| -
 
|-
 
|-
 
|    dns_servers
 
|    dns_servers
 +
| -
 +
| -
 
|-
 
|-
 
|    dns_search
 
|    dns_search
 +
| -
 +
| -
 
|}
 
|}
  
 
+
= NetJSON Device Monitoring Data =
= Device Monitoring Data =
+
  
 
{| border="1" cellspacing="0"
 
{| border="1" cellspacing="0"
 
! NetJSON
 
! NetJSON
! CNML standard
+
! CNML proposed standard
 
! CNML from guifi.net
 
! CNML from guifi.net
 
|-
 
|-
 
|  general
 
|  general
 +
| ''not for monitoring''
 +
| ''N/A (available from SNMP)''
 
|-
 
|-
 
|  interfaces
 
|  interfaces
 +
| ''not for monitoring''
 +
| ''N/A (available from SNMP)''
 
|-
 
|-
 
|  resources
 
|  resources
 +
| ''not for monitoring''
 +
| ''N/A''
 
|}
 
|}
  
= Network Routes =
+
= NetJSON Network Routes =
  
 
{| border="1" cellspacing="0"
 
{| border="1" cellspacing="0"
 
! NetJSON
 
! NetJSON
! CNML standard
+
! CNML proposed standard
 
! CNML from guifi.net
 
! CNML from guifi.net
 
|-
 
|-
 
|  protocol
 
|  protocol
 +
| ''not for routes''
 +
| ''N/A''
 
|-
 
|-
 
|  version
 
|  version
 +
| ''not for routes''
 +
| ''N/A''
 
|-
 
|-
 
|  metric
 
|  metric
 +
| ''not for routes''
 +
| ''N/A''
 
|}
 
|}
  
= Network Graph =
+
= NetJSON Network Graph =
  
 
{| border="1" cellspacing="0"
 
{| border="1" cellspacing="0"
 
! NetJSON
 
! NetJSON
! CNML standard
+
! CNML proposed standard
 
! CNML from guifi.net
 
! CNML from guifi.net
 
|-   
 
|-   
 
|  version
 
|  version
 +
| cnml
 +
| cnml
 
|-
 
|-
 
|  metric
 
|  metric
 +
| -
 +
| -
 
|-
 
|-
 
|  nodes
 
|  nodes
 +
| node information
 +
| node
 
|-
 
|-
 
|    links
 
|    links
 +
| -
 +
| link
 
|-
 
|-
 
|    revision (opt)
 
|    revision (opt)
 +
| -
 +
| -
 
|-
 
|-
 
|    router_id (opt)
 
|    router_id (opt)
 +
| -
 +
| -
 
|}
 
|}
  
Line 79: Line 126:
  
 
{| border="1" cellspacing="0"
 
{| border="1" cellspacing="0"
! Standard CNML element
+
! Proposed standard CNML element
! Used element
+
! Used CNML element
 
! Attributes
 
! Attributes
 
|-
 
|-
Line 111: Line 158:
 
|access_points, antenna_elevation, clients, created, devices, graph_server, id, lat, links, lon, services, status, title, updated  
 
|access_points, antenna_elevation, clients, created, devices, graph_server, id, lat, links, lon, services, status, title, updated  
 
|-
 
|-
|
+
|''devices''
 
|device
 
|device
 
|created, firmware, graph_server, id, name, snmp_index, status, title, type, updated  
 
|created, firmware, graph_server, id, name, snmp_index, status, title, type, updated  
Line 132: Line 179:
 
|-
 
|-
 
|''owner of device''
 
|''owner of device''
|
 
 
|
 
|
 
|
 
|
 
|-
 
|-
 
|''picopeer''
 
|''picopeer''
|
 
 
|
 
|
 
|
 
|
 
|-
 
|-
 
|''traffic''
 
|''traffic''
|
 
 
|
 
|
 
|
 
|
 
|-
 
|-
 
|''scale of interest to the network''
 
|''scale of interest to the network''
|
 
 
|
 
|
 
|
 
|
 
|-
 
|-
 
|''personal keyring''
 
|''personal keyring''
|
 
 
|
 
|
 
|
 
|
 
|}
 
|}
  
[[File:cnml-tree.png]]
+
= See Also =
 +
*[[NetJSON]]
 +
*[[:en:CNML]]
 +
 
 +
= Notes =
 +
<references />
  
 
[[Category:CNML]]
 
[[Category:CNML]]
 
[[Category:NetJSON]]
 
[[Category:NetJSON]]

Latest revision as of 09:36, 12 May 2015

CNML was designed for a lot of elements that described each zone, node, links and traffic from a Community Network, but finally only was implemented from guifi.net for hierarchy based on this schema:

Cnml-tree.png

NetJSON is designed and implemented just for elements described below that include metric and topology values. You can get NetJSON from [Netdiff Netdiff parser. Netdiff provide parsers for OLSR 0.6.x jsoninfo plugin, BATMAN-adv alfred tool, CNML and recently a beta version for BMX6 b6m plugin[1].

Also you can get NetJSON directly from nodes with Netengine tool (python library) which provide a single API to extract common information from network devices using different protocols (eg: SNMP, SSH, HTTP) and different firwmares (OpenWRT and AirOS).

NetJSON Network Device Configuration

NetJSON CNML proposed standard CNML from guifi.net
general cnml cnml
hardware hardware capability -
operating_system - -
resources - -
interfaces - interface
physical_devices devices -
routing - -
dns_servers - -
dns_search - -

NetJSON Device Monitoring Data

NetJSON CNML proposed standard CNML from guifi.net
general not for monitoring N/A (available from SNMP)
interfaces not for monitoring N/A (available from SNMP)
resources not for monitoring N/A

NetJSON Network Routes

NetJSON CNML proposed standard CNML from guifi.net
protocol not for routes N/A
version not for routes N/A
metric not for routes N/A

NetJSON Network Graph

NetJSON CNML proposed standard CNML from guifi.net
version cnml cnml
metric - -
nodes node information node
links - link
revision (opt) - -
router_id (opt) - -

CNML

Proposed standard CNML element Used CNML element Attributes
cnml cnml generated, server_id, server_url, version
hardware capability
mapping class mapping, network_description
network environment network ap, client, devices, links, nodes, services
content sharing
zone access_points, box, clients, created, devices, dns_servers, graph_server, id, links, ntp_servers, parent_id, services, time_zone, title, updated, zone_nodes
node information node access_points, antenna_elevation, clients, created, devices, graph_server, id, lat, links, lon, services, status, title, updated
devices device created, firmware, graph_server, id, name, snmp_index, status, title, type, updated
radio antenna_angle, antenna_azimuth, antenna_gain, channel, device_id, id, mode, protocol, snmp_index, snmp_name, ssid
service created, id, status, title, type, updated
interface id, ipv4, mac, mask, type
link id, link_status, link_type, linked_device_id, linked_interface_id, linked_node_id
owner of device
picopeer
traffic
scale of interest to the network
personal keyring

See Also

Notes

  1. https://github.com/gabri94/netdiff/commit/718ddbbde9ab9f3170c34d3f58e1f9f82a3c91d8
Personal tools