NetDB Version 3.0


What is NetDB?


  NetDB is a key element in the operation of the Stanford University Network
  (SUNet).  NetDB consists of a database, a screen oriented front-end program,
  and various back-end scripts.  The NetDB database contains information on
  SUNet's physical components, such as host computers, workstations, terminal
  servers, and routers.  The NetDB front-end program is used by Local Network
  Administrators (LNAs) to update the NetDB database.  The NetDB back-end
  scripts generate network management reports and configuration information
  for network services.

  Database

    Stored in Sybase and used by the NetDB front and back ends

  Front End - A full screen curses-based program

    Simple query/reporting capabilities
    Screens to add/modify/delete various network objects

  Back End - Various shell and perl scripts that produce

    DNS database files
    Bootp database files
    Appletalk network configuration files
    Tip configuration files
    Whois informations on hosts
    Network management reports


NetDB Improvement Requests


  Variable-length subnet mask support
  Improved multi-domain support
  RFC 1101 network names
  DNS dynamic update support
  Add DNS service information
  Allow network objects to play multiple roles
  Node grouping (e.g. computer clusters, load-balancing DNS)
  Node expiration dates
  Better handling of information about people
  Better integration with net management data
  Integrate with physical network data
  Better Bootp/DHCP support
  Kerberized (only?) access
  Group operations (e.g. change the ownership of all nodes on net foo to bar)
  Line-mode interface (perhaps to facilitate group and batch operations)
  Window interface
  Ad-hoc reporting capabilities
  Additional (custom?) node data fields
  SQL access for users
  Router configuration capabilities
  Srvtab management capabilities
  Privacy option for person info
  Name prefix reservation
  Scheduled updates (e.g. change the IP address of foo to i.j.k.l at {time})
  Context-sensitive help
  WWW query access
  Extensible data model and user interfaces


NetDB 3.0 Requirements


  Database Content

    NetDB 2.x contents
      do we want everything? yes

    New network protocols/types
      netware (nets, servers)
      virtual appletalk nets
      etc.

    Type synonyms
      Similar objects can have different types

    RFC 1101 network names

    Includes or is tightly coupled with net management data
      census data on address usage
      behavior of network entities

    Physical data
      repeaters, segments, connectors, etc.

    DNS info
      name servers, zones, etc.

    People (admin,user,LNA) as entities
      Name, email, phone, , 
      Possibly connected to Directory Service

  Interfaces

    Windowed (X, Mac, MS-Windows)
    Terminal (line-mode, full screen)
    Batch (via terminal line-mode?)
    WWW query/reporting
    Whois
    SQL

  Reports

    NetDB 2.x reports

      DNS config files
      Bootp table
      AppleTalk configs
      TIP config files
      Net Management reports
      Whois tables

    New reports

      DNS Dynamic updates
      Router configuration
      srvtab creation


Design and Programming Guidelines


  Abstract primary entities with real world types
  Methods (add,modify,delete,list) for each primary entity
  Minimal SQL in front end tools
  Keep control data in the database for extensibility
    Can a new {foo} be added without changing the code?
  Keep rules in the database for extensibility
    Can the rule for derivation of an IPX net number be changed
    without changing the application?


Issues


  Schedule and Resources - ADDRESSED

    Must be operational by 9/1/96
    1.5 FTE available

  Which front ends to support - ADDRESSED

    Do we need windows?  yes
    Do we need terminal? yes, but line-mode would do
    Do we need line-mode? yes, or some other batch processing facility
    Is line-mode for programming or real users?  programming and power users
      Answers provided by Sandy Senti, May 24, 1995

  Physical network data integration - ADDRESSED

    Claim it all, or work nicely with something like Aperture?
      Current data model suggests we work nicely with something ... 5/95

  Net management data integration - ADDRESSED

    Claim it all, or work nicely with something like NetView?
      Current data model suggests we work nicely with something ... 5/95

  Buy or build? - ADDRESSED

    Can appropriately tailored commercial packages do the job?
      No commercial package does everything we want ... 10/95


Tasks


  Develop Logical Data Model - Complete

    nodes and names (netdb classic)
    net management info (real data collected from the net)
      how does this relate to netview, et. al.?
    physical (cabling plans)
      how does this relate to the aperture work?
    people (expanded netdb classic)
      node admins and users
      netdb users (LNAs)
    name service
      SOA, NS, and relations between name zones and ptr zones

  Refine Front End Requirements - Complete

    Windows (X, Mac, MS-Windows) and terminal
    Batch (line-mode terminal)

    There will be (at least) three NetDB front ends:

      1.  A full application written using a GUI generator
      2.  A WWW interface for hosts and user information
      3.  A command line interface for NetDB "programming"

  Market Research: Products that could replace NetDB - Complete

    NetID by ISOTRO
    Quadritek IP Management System

  Market Research: Programming Tools - 95% Complete

    GUI generator?
      Probably Neuron Data's C/S Elements.
    OO method builder for Sybase stored procedures?
      Couldn't find one.
    Configuration Control - RCS, CVS, or what?
      Most likely CVS.

  Develop Physical Data Model - 50% Complete

    Table structure complete
    Working on column names and types
    To do - triggers, indexes

  Translate NetDB 2.x data into NetDB 3.0

  Refine bootp/DHCP support.

  Identify NetDB objects - 90% Complete

  Define methods {add, modify, delete, list} object - 25% Complete

  Implement the stored procedure parts of the methods

  Investigate methods for secure front end access -

    GUI
    WWW
    line-mode

  Build query tools -

    GUI
    WWW
    line-mode

  Build data entry tools -

    GUI
    WWW
    line-mode

  Write reports -

    DNS config files
    Bootp table
    AppleTalk configs
    TIP config files
    Net Management reports
    Whois tables
    DNS dynamic update