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