Difference between revisions of "Comparison of descriptions models"
From Guifi - Media-pool Common Repository
| (12 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 | + | | ''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" | ||
| − | ! | + | ! 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'' | ||
| − | |||
| | | | ||
| | | | ||
|} | |} | ||
| + | |||
| + | = See Also = | ||
| + | *[[NetJSON]] | ||
| + | *[[:en:CNML]] | ||
| + | |||
| + | = Notes = | ||
| + | <references /> | ||
| + | |||
| + | [[Category:CNML]] | ||
| + | [[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:
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).
Contents
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 |
