And the worst thing, If someone think _SNMP IS SUITABLE PROTOCOL_ he is
wrong. In case of CISCO (as an example) we was caused to use boths 'SNMP'
and 'rsh show ....' methods to get appropriate information. I think
those who developed SNMP was the childs of the hell (it's terrible
example of _how you should not develop protocols_; for example, compare
'rsh -t 120 -l monitor "show ip route"'
request and requesting ip route table by SNMP; compare 'sh interface
Serial0' and SNMP (10 - 20 different MIB tables with the very euristic
INDEXES), try to ask _how much BGP router does router have_ or _how mach
packets was received by ISL sublink_ etc etc. If someone answer _that's
because of CISCO don't like SNMP_ I can't agree - no, thet's because SNMP
is wrong protocol at all.
Such protocol should be:
- ascii text based;
- with domain-like names, with the asterisk;
- based on reliable UDP and/or TCP;
- use something like MD5 checksumming for the simple protection.
For example, I'd like to ask
'BASE 'router'
GET interface Serial*
'
and get
ORIGIN router.interface.Serial1
in-packets: 223334 u32
in-errors: 1122 u23
in-bytes: 124563874 u64
....
ORIGIN router.interface.Serial2
....
(1) TEXT mode, no terrible binary octets, etc etc;
(2) SIMPLE variables, withouth terrible MIB descriptions (they are not
usefull here);
(3) Another hierarchy (interface.variable, not variable.index)
(4) simple addition private variables
CISCO.in-bad-frames: 223344
instead of (as now)
vendor.cisco.mgrt....interface.lapsha-na-palochke.INDEX
etc etc...
And then, if the protocol (SNMP) is BAD, don't think the tools for this
protocol should be GOOD.
// And compare this with the WEB interface implemented into some new
routers and switches - simple, robust, can be used easily, and 100 times
more flexible. Through it's only simple interfaces with the operator, not
for the tools, for now.
Alex.