Host Platform Interfaces: Action-Packed Entities
The role of device interfaces is illustrated in Figure 1, in which we see a network consisting of switches, routers, and computers.
Figure 1 A typical small enterprise network.
The left side of Figure 1 shows a headquarters site that hosts many end users (not shown) and a range of services such as email, voice-over-IP, voice-over-video, and so on. With an increasingly mobile and dispersed workforce, there is a growing need to extend these productivity-enhancing services to all remote sites. This is the purpose of the service provider network in the center of Figure 1 and the transit service provider in the top-right corner. The hockey puck symbols in Figure 1 are all IP routers; they are intermediate systems that serve to both receive and forward traffic. On the other hand, the two switches and the mail server are end systems that serve to originate and terminate application traffic.
I labeled many of the device interfaces (for example, a, b, c, d, Eth1, and so on) in Figure 1, and these entities are what we'll be focusing on for the remainder of this article. Each device in Figure 1 provides onboard facilities for examining its interfaces. To illustrate this, if you're using Windows, you can open up the Control Panel and see the interfaces on your host machine (look at Ports to see the serial devices and Network to see the attached network devices). Likewise, if you had access to some of the routers or switches in Figure 1, you'd see that they each have proprietary mechanisms for viewing their interfaces (for example, a command-line interface).
So, why do you need a programmatic means of looking at interfaces? In other words, what's wrong with this picture? The difficulty with using device-specific mechanisms to manipulate interfaces is that they are proprietary facilities; that is, non-standard. Imagine running a network with hundreds of thousands of devices scattered all over the world! Clearly, a standard mechanism is needed, and fortunately one has existed since the 1980s. It's called Simple Network Management Protocol, or SNMP.