Difference between revisions of "Comparison of descriptions models"

From Guifi - Media-pool Common Repository

(Created page with "= Network Device Configuration = {| border="1" cellspacing="0" ! NetJSON ! CNML standard ! CNML from guifi.net |- | general |- | hardware |- | operating_system |- | ...")
 
 
(13 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 capability''
 +
| -
 
|-
 
|-
 
|    operating_system
 
|    operating_system
 +
| -
 +
| -
 
|-
 
|-
 
|    resources
 
|    resources
 +
| -
 +
| -
 
|-
 
|-
 
|    interfaces
 
|    interfaces
 +
| -
 +
| interface
 
|-
 
|-
 
|    physical_devices
 
|    physical_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)
 +
| -
 +
| -
 
|}
 
|}
 +
 +
= CNML =
 +
 +
{| border="1" cellspacing="0"
 +
! 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 =
 +
*[[NetJSON]]
 +
*[[:en:CNML]]
 +
 +
= Notes =
 +
<references />
 +
 +
[[Category:CNML]]
 +
[[Category:NetJSON]]

Latest revision as of 08: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