NetJSON: data interchange format for networks

3rd May 2015 in Coding Tags: netjson, wireless-community

NetJSON is a data interchange format for encoding the basic building blocks of networking.

With NetJSON you can represent 4 different type of objects:

  • Device Configuration & Properties
  • Monitoring Data
  • Routes
  • Topology

Example: json NetworkGraph format

    {
        "type": "NetworkGraph",
        "protocol": "olsr",
        "version": "0.6.6",
        "revision": "5031a799fcbe17f61d57e387bc3806de",
        "metric": "etx",
        "router_id": "172.16.40.24",
        "nodes": [
            {
                "id": "172.16.40.24",
                "label": "node-A",
                "properties": {
                    "hostname": "node1.my.net"
                }
            },
            {
                "id": "172.16.40.60",
                "label": "node-B",
                "properties": {
                    "hostname": "node2.my.net"
                }
            }
        ],
        "links": [
            {
                "source": "172.16.40.24",
                "target": "172.16.40.60",
                "weight": 1.000,
                "properties": {
                    "lq": 1.000,
                    "nlq": 0.497
                }
            }
        ]
    }

Motivations

Developing software that deals with networks is harder than it should.

Developers have to take into account all the differences between vendors, operating systems, routing protocols, hardware and (when working with community networks) with the different approaches of each community.

Very often, each vendor develops an entire stack that works exclusively with its own hardware and software.

There exist many libraries and web apps for networking, but it is very hard to make them interoperable, that is, making them talk and understand one another with minimum effort.

Instead of creating an ecosystem, we have been creating silos that hardly talk to each other.

This is an attempt to invert this trend, following the successful example of the GeoJSON open standard.

By defining common data structures we can allow developers to focus on their goals instead of having to struggle with the differences of each vendor, firmware, routing protocol or community.

Moreover, we will lay the groundwork for an ecosystem to grow organically: once the standard JSON structures are defined and adopted it will be easier to write systems that work together, instead of creating silos.

Learn more

You can learn more about NetJSON at the dedicated github repository.

Retweet

Comments

Leave your comment

Categories

Let's be social

Popular posts

Latest Comments

  1. When I ߋriginalⅼy commented I seem to have clicked the -Notify me when new comments aгe added- checkbox and from now on each time a comment іs adԁed I get 4 emails wіth the same comment. Ⲣerhaps there is an easy method you can remove ...

    By youjizz in Django Tagging Autocomplete Tag-It

  2. Hey there I am so thrilled I found your weƄ site, I really found you by accident, whiⅼe I was reseɑrϲhing on Digg for something else, Nonetheless I am here now and woսld jսst like to say many tһanks fοг a tremendous post and a ...

    By youporn in Django Tagging Autocomplete Tag-It

  3. Sexy photo galleries, daily updated pics http://upload.porn.hotblognetwork.com/?anna breast boob tit nipple porn hair style porn bb08 australia porn fee porn no signon man in a relationship view porn

    By barbarakc3 in OpenWISP at IETF Bangkok

  4. Girls of Desire: All babes in one place, crazy, art http://black.lesbians.bestsexyblog.com/?dominique porn movies harry potter lesbiand porn videos free lesbain porn vedios free porn movie dumps teen bi porn

    By lorraineum16 in OpenWISP at IETF Bangkok

  5. Sexy photo galleries, daily updated pics http://dating.service.xblognetwork.com/?denisse spy toilet poop porn long pron free movies the fastest porn torrent quicktime free lesbian porn alice 3d porn

    By alanawy11 in OpenWISP at IETF Bangkok

Popular Tags

battlemesh censorship creativity criptography django event fosdem google-summer-of-code ibiza inspiration javascript jquery linux nemesisdesign netjson ninux nodeshot open-source openwisp openwrt performance photo programming python security staticgenerator talk upload wifi wireless-community