This is an old revision of the document!
The development of NAV started in 1999. Prior to that NTNU, like so many others, had acquired a traditional network management system (HP Openview) that hopefully would fulfill our needs. After thorough investigation and adjustment of the system we found however that it lacked functionality in many areas. We decided to implement a basic system ourself.
The name NAV came about later, in the initial stages we called our system NettInfo. The first tasks we solved were:
We introduced MRTG at the time and found it tedious to manually update the MRTG config file, thus we made:
At the time we also developed a separate system, called Falkeblikk:
Further we expanded to cover:
Project participants in 1999: Vidar Faltinsen (project leader), Trygve Lunheim, Tor-Arne Kvaløy, Eric Sandnes, Stig Venås, Gro-Anita Vindheim, Knut-Helge Vindheim.
The development at the time was focused around perl and php. In 2000 we introduced java in an upgraded version of the traffic map. We also introduced mySQL for our database. Further:
Project participants in 2000: John Magne Bredal, Kristian Eide, Vidar Faltinsen (project leader), Trygve Lunheim, Gro-Anita Vindheim, Knut-Helge Vindheim.
In early 2001 UNINETT gained interest in our system. They asked whether it could be used on other universities and colleges as well. At the time the system was tightly coupled with the NTNU network design and the local naming standards used for equipments and router/ switch ports.
We decided to take the challenge and with funding from UNINETT the process of making a more general network management system started. This was when our name came about; Network Administration Visualized or NAV. The system running at NTNU at the time was referred to as NAV version 1 (or NTNU NAV).
The 2001 development project (called NAVMe) redesigned the NAV database from scratch introducing many improvements. We also moved from mySQL to postgreSQL with the advantages that imply (cascading deletes etc). The collection system was revitalized and we made a general report generator.
A crucial result was the general topology detector. We no longer based topology detection on port naming standards, at least not on the switch layer. We introduced a general CAM collector gathering mac address to switch port data. By complementing this with CDP data we were able to understand the physical network topology on layer 2. Further we gathered vlan information including trunk port data and spanning tree states. We also derived the actual scope of the various vlans based on the actual live status in the running network.
We adopted CVS as our code revision system. (CVS was replaced by subversion in 2003).
The result of project NAVMe was NAV v 2.0. NAV v2.0 was successfully installed at NTNU and at the University of Tromsø in late 2001.
In summary NAV version 2.0 incorporated:
Project participants in 2001: John Magne Bredal, Kristian Eide, Vidar Faltinsen (project leader), Sigurd Gartmann, Gro-Anita Vindheim, Knut-Helge Vindheim.
With continued contribution from NTNU and UNINETT we kept on with our work in two follow-up projects named NAVMore and NAVRun. The former focused on further development of NAV, while the latter introduced an installation system making NAV easily available to UNINETT members; i.e. Norwegian universities and colleges.
The development was now done in two parallel tracks; version 2.1 and version 3.
Version 2.1 introduced improvements to the existing version 2.0 and was geared for the 2002 distribution of NAV to UNINETT members. New functionality in NAV version 2.1 included:
By the end of 2002 all four Norwegian universities and a total of six colleges where running NAV v2.1. Complementing our documentation pages and our mailing lists we introduced a web based bug reporter system (using php bugtracker). We further established a scheme for delivering patches to our system. At the time distribution was done through ftp with a closed user group.
In the summer of 2002 we radically expanded the development group. The main effort was on the new NAV version 3. Unfortunately development of NAV version 3 has been more time demanding than expected. In fact the version 3 results produced in 2002 have not been deployed until the beta release of NAV v3 in early 2004.
Nevertheless, the NAV v3 2002 results included:
Project participants in 2002: John Magne Bredal, Kristian Eide, Vidar Faltinsen (project leader), Sigurd Gartmann, Erik Gorset, Steinar Hamre, Magnus Thanem Nordseth, Daniel Sandvold, Andreas Åkre Solberg, Stian Søiland, Knut-Helge Vindheim, Morten Vold, Arne Øslebø.
In 2003 focus has been on finalizing NAV version 3.0. Once again NTNU and UNINETT are supporting development, and a large group of students and staff are involved in development. This years project was called tigaNAV. Some important decisions are made:
Further many significant changes is done in the underlying collection system. One important goal is to improve NAV's ability to support new equipment types:
The new collection system (getDeviceData) uses a plug in-based architecture, working in threads. We allow for fine-grained control of collection intervals. In effect the NAV database is kept more up-to-date with changes in the managed network (in version 2 updates were done on a nightly basis).
Finally there are important functional improvements:
Also worth mentioning; NAV has so far been presented on numerous occasions/ conferences in Norway. In 2003 NAV is for the first time presented internationally:
Project participants in 2003: John Magne Bredal, Kristian Eide, Vidar Faltinsen (project leader), Sigurd Gartmann, Bjørn Ove Grøtan, Hans Jørgen Hoel, Erlend Mjåvatten, Magnus Thanem Nordseth, Andreas Åkre Solberg, Magnar Sveen, Stian Søiland, Gro-Anita Vindheim, Morten Vold, Arne Øslebø.
With most of the NAV version 3 development projects left behind, the focus in 2004 was to finish off unfinished work, fixing bugs and testing the system thoroughly. In terms of new functionality, a conservative model was followed. Our focus was on completing NAV3 and thus permanently leaving NAV2 behind.
Many hours were put into further improving the collection system (getDeviceData). We also made important enhancements to event engine, the traffic map, network explorer and the message system.
An important decision of releasing NAV under GPL is made. In the process many arguments are put forward, the most important being the new opening for distributing of code. It is our hope that a more wide spread deployment of NAV will in return give interesting code contributions back to the project.
The process of preparing the code for general availability was on the agenda in the second quarter in 2004. In parallel the code was beta tested on an increasingly set of Norwegian universities and colleges.
Documentation was improved and translated to English, and a new wiki web site (based on MoinMoin) was established, also allowing for a more distributed contribution of documentation.
A total of 8 NAV 3.0 beta releases was released in 2004, beta4 (May 11) being the first GPL release and beta7 (July 27) being the first with a changelog (which has been updated since).
Project participants in 2004: John Magne Bredal, Kristian Eide, Vidar Faltinsen, Sigurd Gartmann, Hans Jørgen Hoel, Magnus Thanem Nordseth, Andreas Åkre Solberg, Magnar Sveen, Stian Søiland, Gro-Anita Vindheim, Morten Vold (project leader), Arne Øslebø.
2005 was a relatively slow year for NAV. NTNU and UNINETT did not have so much resources to put into the project. At the start of the year we introduced beta9, followed by beta10 in February. Focus was on bug fixing the most vital components. In June we finally announced our first release candidate (rc1), followed by a second in July.
NAV 3.0.0 was finally released on September 16 2005.
For details on the improvements made in the 2005 releases, we refer to the 3.0 change log with its history.
Project participants in 2005: John Magne Bredal, Kristian Eide, Vidar Faltinsen, Gro-Anita Vindheim, Morten Vold (project leader).
2006 has been a definite upswing for NAV. Project development is now supported by the UNINETT GigaCampus programme with an overall goal of getting NAV up and running at most major universities and university colleges in Norway within 2008. Morten Brekkevold (previously Vold) is devoted full time to NAV, now being employed by UNINETT. Vidar Faltinsen made a comeback as project leader. John Magne Bredal at NTNU devoted 40% of his time working with NAV. We also recruited a student, Stein Magnus Jodal, to work on NAV as a summer intern, and we kept him on for the fall.
The Universities of Tromsø and Bergen began sponsoring a FreeBSD port of NAV, while Tromsø offered to contribute their own code to NAV. The Debian developer Morten Werner Olsen at The University of Oslo was commisioned by UNINETT to maintain a Debian NAV package. A SuSE package was maintained by NTNU and Centos RPMs were contributed by Alexander Krapivin at MSU, Moscow, Russia.
A strategy of targeting new feature releases twice a year was established (with bugfix releases in between). NAV 3.1 was released in June and 3.2, with an original schedule of October, was released in February 2007.
NAV gained the capability to actively block switch ports through the addition of the NTNU-contributed Arnold tool. Adding the ability to collect high speed traffic counters (64 bits) made it possible to reduce the Cricket collector frequency for gigabit switch ports from every 1 minute to every 5 minutes, thus removing the need to have a separate configuration tree for gigabit ports.
We established a project page for NAV at SourceForge. This was used for bug tracking and hosting source code releases. A month after the 3.1 release, we had seen approximately 160 downloads from around the world (at the same time, the 3.0 version had been downloaded 674 times).
Project participants in 2006: John Magne Bredal, Vidar Faltinsen (project leader), Stein Magnus Jodal, Morten Brekkevold.
The NAV year of 2007 opened with the belated 3.2 release in February. The 3.2 release also marked our first step towards realizing a new long-term goal: Reduce the number of dependencies and programming languages utilized in NAV.
The 3.2 release replaced the messages system with separate maintenance and message systems, rewritten from scratch, after many usability complaints from users. The Perl SMS daemon was rewritten in Python, adding support for SMS dispatcher plugins. Much of the behind-the-scenes HTML and CSS was cleaned up and restructured. The release also brought numerous small improvements to NAV overall.
October 1st brought the NAV 3.3 feature release. This release added the long-awaited plugin based SNMP trap daemon, which enabled NAV to translate traps into NAV events and alerts. Browsing and searching of device history was greatly improved. The web interface received a major facelift. Switch/router interface names replaced port numbers as identifiers in most parts of the web interface.
The 2007 development project saw Morten Brekkevold take over as the project leader. Kristian Klette was taken on as a new student intern, and started working on a Traffic Map replacement, based on the Prefuse visualization library.
Project participants in 2007: John Magne Bredal, Vidar Faltinsen, Stein Magnus Jodal, Kristian Klette, Morten Brekkevold (project leader).