Efficient Network Management (236635) – Final Project
Project Title: SNMP Agent for large data transfer
Team: Kfir Karmon (ID 037197696)
Tsachi Sharfman (ID 029710399)
1. Problem Description
One of the weaknesses of SNMP is its lack of an efficient mechanism for transferring large amounts of data, specifically large tables (for example a large routing table on a router). SNMP runs over UDP. While UDP (enhanced with an application layer retransmit mechanism) is sufficient for retrieving and setting single attributes, it is inefficient when used for transferring large tables. Efficiently transferring large tables requires employing a sliding window mechanism such as the one implemented by TCP.
The goal of this project is to define and implement an efficient mechanism for transferring large SNMP tables. This shall be done by additional software components both on the agent side and on the client side. The requirements of the mechanism are:
1. Should enable the efficient transfer of any SNMP table supported by the agent.
2. The mechanism should be generic, i.e. any standard SNMP client (with the additional client side components) should be able to leverage the efficient transfer mechanism.
1.1. Possible Solutions
We considered several methods for efficiently transferring SNMP tables. The first method we considered was sending a SNMP SET command to a special OID, notifying the agent to locally save a specified table, and retrieving the table using FTP. The advantages of this method are that it relays on existing and widespread technology (SNMP commands and FTP), and that the bulk of data is transferred over a reliable protocol (the SNMP SET command is still sent over UDP, but application level retransmits should sufficiently handle the SNMP SET transaction). The disadvantage of this method is that it is not transparent to existing management tools using SNMP (such as OpenView or Tivoli).
An alternative solution is establishing a TCP based tunnel...