220 likes | 384 Views
Network Hosts Analyzer. Hadas Shumovitch shumoviz@t2 Elad Levi seladlvy@t2 Tal Katz sdew@t2. Presentation Layout. Background Program outline Cache refresh algorithm User Interface Points for Extension. Background.
E N D
Network HostsAnalyzer Hadas Shumovitch shumoviz@t2 Elad Levi seladlvy@t2 Tal Katz sdew@t2
Presentation Layout • Background • Program outline • Cache refresh algorithm • User Interface • Points for Extension
Background • The Computer Science faculty has hundreds of computers and users. • There is a need for a program to monitor and supervise all of the computers. • There are programs available, but they are very expensive.
Background - continued • Our goal is to design a scalable, configurable monitoring system which answers the faculty needs and is easy to use.
Program outline • The program handles two threads. • One thread is responsible for interaction with the user, while the other is responsible for updating the system’s cache.
Program outline • In order to reduce the amount of communication through the faculty network, and reduce the program response time, we’ll maintain a cache. • The cache keeps the information about the faculty computers and floors switches. • The updating frequency of the cache is defined by the user. • Information requests from the user are answered by retrieving the information from the cache, except for “who is logged in right now”.
Cache refresh algorithm • Cache updating frequency can be changed by the user to any whole number of minutes. The program is loaded with a default updating frequency of one hour. • In addition, it is possible to perform immediate cache refresh.
for (every floor) { get floor’s router ARP table; for (every switch in the floor) { get switch's data; for (every MAC address connected to the switch) { convert MAC -> IP address; get end station local data; // UDP connection update the relevant entry in the cache; } } } Cache refresh algorithm
Example • Router Switch End Stations • Floor 7: • Floor 3:
Algorithms – Additional communication modules A telnet API: • The routers and switches in the faculty run Command Line Interface (CLI), through which we get their inner information. • In order to connect to the routers and switches we have implemented a Telnet API. • The implementation is especially suitable for the kind of routers and switches in the faculty.
Algorithms – Additional communication modules End Station Agent: • Every end station in the faculty, including Laptops, should run an agent. • When the agent starts to run, it reads from a configuration file the computer’s data. • The agent will listen for data requests on a pre defined port which is known by the analyzer main system.
Algorithms – Additional communication modules End Station Agent - continued: • The agent is single threaded. • We have implemented two versions of the agent. One for Unix, and one for Windows 2000 and up.
User Interface No GUI mode:
GUI mode Main Menu:
User Interface Switches Menu:
User Interface Ports Menu:
User Interface End Stations Menu:
User Interface End Station:
Points for Extension • Working from two different computers. • End station agent informing on inner problems.