text:
Essential SNMPBy Douglas Mauro & Kevin Schmidt
July 2001
0-596-00020-0, Order Number: 0200
326 pages, $39.95
Chapter 2
A Closer Look at SNMP
In this chapter, we start to look at SNMP in detail. By the time you finish this chapter, you should understand how SNMP sends and receives information, what exactly SNMP communities are, and how to read MIB files. We'll also look in more detail at the three MIBs that were introduced in Chapter 1, namely MIB-II, Host Resources, and RMON.
SNMP and UDP
SNMP uses the User Datagram Protocol (UDP) as the transport protocol for passing data between managers and agents. UDP, defined in RFC 768, was chosen over the Transmission Control Protocol (TCP) because it is connectionless; that is, no end-to-end connection is made between the agent and the NMS when datagrams (packets) are sent back and forth. This aspect of UDP makes it unreliable, since there is no acknowledgment of lost datagrams at the protocol level. It's up to the SNMP application to determine if datagrams are lost and retransmit them if it so desires. This is typically accomplished with a simple timeout. The NMS sends a UDP request to an agent and waits for a response. The length of time the NMS waits depends on how it's configured. If the timeout is reached and the NMS has not heard back from the agent, it assumes the packet was lost and retransmits the request. The number of times the NMS retransmits packets is also configurable.
At least as far as regular information requests are concerned, the unreliable nature of UDP isn't a real problem. At worst, the management station issues a request and never receives a response. For traps, the situation is somewhat different. If an agent sends a trap and the trap never arrives, the NMS has no way of knowing that it was ever sent. The agent doesn't even know that it needs to resend the trap, because the NMS is not required to send a response back to the agent acknowledging receipt of the trap.
The upside to the unreliable nature of UDP is that it requires low overhead, so the impact on your network's performance is reduced. SNMP has been implemented over TCP, but this is more for special-case situations in which someone is developing an agent for a proprietary piece of equipment. In a heavily congested and managed network, SNMP over TCP is a bad idea. It's also worth realizing that TCP isn't magic, and that SNMP is designed for working with networks that are in trouble--if your network never failed, you wouldn't need to monitor it. When a network is failing, a protocol that tries to get the data through but gives up if it can't is almost certainly a better design choice than a protocol that will flood the network with retransmissions in its attempt to achieve reliability.
SNMP uses the UDP port 161 for sending and receiving requests, and port 162 for receiving traps from managed devices. Every device that implements SNMP must use these port numbers as the defaults, but some vendors allow you to change the default ports in the agent's configuration. If these defaults are changed, the NMS must be made aware of the changes so it can query the device on the correct ports.
Figure 2-1 shows the TCP/IP protocol suite, which is the basis for all TCP/IP communication. Today, any device that wishes to communicate on the Internet (e.g., Windows NT systems, Unix servers, Cisco routers, etc.) must use this protocol suite. This model is often referred to as a protocol stack, since each layer uses the information from the layer directly below it and provides a service to the layer directly above it.
Figure 2-1. TCP/IP communication model and SNMP
When either an NMS or an agent wishes to perform an SNMP function (e.g., a request or trap), the following events occur in the protocol stack:
- Application
- First, the actual SNMP application (NMS or agent) decides what it's going to do. For example, it can send an SNMP request to an agent, send a response to an SNMP request (this would be sent from the agent), or send a trap to an NMS. The application layer provides services to an end user, such as an operator requesting status information for a port on an Ethernet switch.
- The next layer, UDP, allows two hosts to communicate with one another. The UDP header contains, among other things, the destination port of the device to which it's sending the request or trap. The destination port will either be 161 (query) or 162 (trap).
- The IP layer tries to deliver the SNMP packet to its intended destination, as specified by its IP address.
- Medium Access Control (MAC)
- The final event that must occur for an SNMP packet to reach its destination is for it to be handed off to the physical network, where it can be routed to its final destination. The MAC layer is comprised of the actual hardware and device drivers that put your data onto a physical piece of wire, such as an Ethernet card. The MAC layer also is responsible for receiving packets from the physical network and sending them back up the protocol stack so they can be processed by the application layer (SNMP, in this case).
This interaction between SNMP applications and the network is not unlike that between two pen pals. Both have messages that need to be sent back and forth to one another. Let's say you decide to write your pen pal a letter asking if she would like to visit you over the summer. By deciding to send the invitation, you've acted as the SNMP application. Filling out the envelope with your pen pal's address is equivalent to the function of the UDP layer, which records the packet's destination port in the UDP header; in this case it's your pen pal's address. Placing a stamp on the envelope and putting it in the mailbox for the mailman to pick up is equivalent to the IP layer's function. The final act occurs when the mailman comes to your house and picks up the letter. From here the letter will be routed to its final destination, your pen pal's mailbox. The MAC layer of a computer network is equivalent to the mail trucks and airplanes that carry your letter on its way. When your pen pal receives the letter, she will go through the same process to send you a reply.
SNMP Communities
SNMPv1 and SNMPv2 use the notion of communities to establish trust between managers and agents. An agent is configured with three community names: read-only, read-write, and trap. The community names are essentially passwords; there's no real difference between a community string and the password you use to access your account on the computer. The three community strings control different kinds of activities. As its name implies, the read-only community string lets you read data values, but doesn't let you modify the data. For example, it allows you to read the number of packets that have been transferred through the ports on your router, but doesn't let you reset the counters. The read-write community is allowed to read and modify data values; with the read-write community string, you can read the counters, reset their values, and even reset the interfaces or do other things that change the router's configuration. Finally, the trap community string allows you to receive traps (asynchronous notifications) from the agent.
Most vendors ship their equipment with default community strings, typically public for the read-only community and private for the read-write community. It's important to change these defaults before your device goes live on the network. (You may get tired of hearing this because we say it many times, but it's absolutely essential.) When setting up an SNMP agent, you will want to configure its trap destination, which is the address to which it will send any traps it generates. In addition, since SNMP community strings are sent in clear text, you can configure an agent to send an SNMP authentication-failure trap when someone attempts to query your device with an incorrect community string. Among other things, authentication-failure traps can be very useful in determining when an intruder might be trying to gain access to your network.
Because community strings are essentially passwords, you should use the same rules for selecting them as you use for Unix or NT user passwords: no dictionary words, spouse names, etc. An alphanumeric string with mixed upper- and lowercase letters is generally a good idea. As mentioned earlier, the problem with SNMP's authentication is that community strings are sent in plain text, which makes it easy for people to intercept them and use them against you. SNMPv3 addresses this by allowing, among other things, secure authentication and communication between SNMP devices.
There are ways to reduce your risk of attack. IP firewalls or filters minimize the chance that someone can harm any managed device on your network by attacking it through SNMP. You can configure your firewall to allow UDP traffic from only a list of known hosts. For example, you can allow UDP traffic on port 161 (SNMP requests) into your network only if it comes from one of your network-management stations. The same goes for traps; you can configure your router so it allows UDP traffic on port 162 to your NMS only if it originates from one of the hosts you are monitoring. Firewalls aren't 100% effective, but simple precautions such as these do a lot to reduce your risk.
WARNING: It is important to realize that if someone has read-write access to any of your SNMP devices, he can gain control of those devices by using SNMP (for example, he can set router interfaces, switch ports down, or even modify your routing tables). One way to protect your community strings is to use a Virtual Private Network (VPN) to make sure your network traffic is encrypted. Another way is to change your community strings often. Changing community strings isn't difficult for a small network, but for a network that spans city blocks or more and has dozens (or hundreds or thousands) of managed hosts, changing community strings can be a problem. An easy solution is to write a simple Perl script that uses SNMP to change the community strings on your devices.
The Structure of Management Information
So far, we have used the term "management information" to refer to the operational parameters of SNMP-capable devices. However, we've said very little about what management information actually contains or how it is represented. The first step toward understanding what kind of information a device can provide is to understand how this data itself is represented within the context of SNMP. The Structure of Management Information Version 1 (SMIv1, RFC 1155) does exactly that: it defines precisely how managed objects[1] are named and specifies their associated datatypes. The Structure of Management Information Version 2 (SMIv2, RFC 2578) provides enhancements for SNMPv2. We'll start by discussing SMIv1 and will discuss SMIv2 in the next section.
The definition of managed objects can be broken down into three attributes:
- Name
- The name, or object identifier (OID), uniquely defines a managed object. Names commonly appear in two forms: numeric and "human readable." In either case, the names are long and inconvenient. In SNMP applications, a lot of work goes into helping you navigate through the namespace conveniently.
- Type and syntax
- A managed object's datatype is defined using a subset of Abstract Syntax Notation One (ASN.1). ASN.1 is a way of specifying how data is represented and transmitted between managers and agents, within the context of SNMP. The nice thing about ASN.1 is that the notation is machine-independent. This means that a PC running Windows NT can communicate with a Sun SPARC machine and not have to worry about things such as byte ordering.
- Encoding
- A single instance of a managed object is encoded into a string of octets using the Basic Encoding Rules (BER). BER defines how the objects are encoded and decoded so they can be transmitted over a transport medium such as Ethernet.
Naming OIDs
Managed objects are organized into a tree-like hierarchy. This structure is the basis for SNMP's naming scheme. An object ID is made up of a series of integers based on the nodes in the tree, separated by dots (.). Although there's a human-readable form that's more friendly than a string of numbers, this form is nothing more than a series of names separated by dots, each of which represents a node of the tree. So you can use the numbers themselves, or you can use a sequence of names that represent the numbers. Figure 2-2 shows the top few levels of this tree. (We have intentionally left out some branches of the tree that don't concern us here.)
Figure 2-2. SMI object tree
In the object tree, the node at the top of the tree is called the root, anything with children is called a subtree, and anything without children is called a leaf node. For example, Figure 2-2's root, the starting point for the tree, is called "Root-Node." Its subtree is made up of ccitt(0), iso(1), and joint(2). In this illustration, iso(1) is the only node that contains a subtree; the other two nodes are both leaf nodes. ccitt(0) and joint(2) do not pertain to SNMP, so they will not be discussed in this book.[2]
For the remainder of this book we will focus on the iso(1).org(3).dod(6 ).internet(1) subtree,[3] which is represented in OID form as 18.104.22.168 or as iso.org.dod.internet. Each managed object has a numerical OID and an associated textual name. The dotted-decimal notation is how a managed object is represented internally within an agent; the textual name, like an IP domain name, saves humans from having to remember long, tedious strings of integers.
The directory branch currently is not used. The management branch, or mgmt, defines a standard set of Internet management objects. The experimental branch is reserved for testing and research purposes. Objects under the private branch are defined unilaterally, which means that individuals and organizations are responsible for defining the objects under this branch. Here is the definition of the internet subtree, as well as all four of its subtrees:
internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
directory OBJECT IDENTIFIER ::= { internet 1 }
mgmt OBJECT IDENTIFIER ::= { internet 2 }
experimental OBJECT IDENTIFIER ::= { internet 3 }
private OBJECT IDENTIFIER ::= { internet 4 }
The first line declares internet as the OID 188.8.131.52, which is defined as a subtree of iso.org.dod, or 1.3.6 (the
::=is a definition operator). The last four declarations are similar, but they define the other branches that belong to internet. For the directory branch, the notation
{ internet 1 }tells us that it is part of the internet subtree, and that its OID is 184.108.40.206.1. The OID for mgmt is 22.214.171.124.2, and so on.
There is currently one branch under the private subtree. It's used to give hardware and software vendors the ability to define their own private objects for any type of hardware or software they want managed by SNMP. Its SMI definition is:
enterprises OBJECT IDENTIFIER ::= { private 1 }
The Internet Assigned Numbers Authority (IANA) currently manages all the private enterprise number assignments for individuals, institutions, organizations, companies, etc.[4] A list of all the current private enterprise numbers can be obtained from ftp://ftp.isi.edu/in-notes/iana/assignments/enterprise-numbers. As an example, Cisco Systems's private enterprise number is 9, so the base OID for its private object space is defined as iso.org.dod.internet.private.enterprises.cisco, or 220.127.116.11.4.1.9. Cisco is free to do as it wishes with this private branch. It's typical for companies such as Cisco that manufacture networking equipment to define their own private enterprise objects. This allows for a richer set of management information than can be gathered from the standard set of managed objects defined under the mgmt branch.
Companies aren't the only ones who can register their own private enterprise numbers. Anyone can do so, and it's free. The web-based form for registering private enterprise numbers can be found at http://www.isi.edu/cgi-bin/iana/enterprise.pl. After you fill in the form, which asks for information such as your organization's name and contact information, your request should be approved in about a week. Why would you want to register your own number? When you become more conversant in SNMP, you'll find things you want to monitor that aren't covered by any MIB, public or private. With your own enterprise number, you can create your own private MIB that allows you to monitor exactly what you want. You'll need to be somewhat clever in extending your agents so that they can look up the information you want, but it's very doable.
Defining OIDs
SYNTAXattribute provides for definitions of managed objects through a subset of ASN.1. SMIv1 defines several datatypes that are paramount to the management of networks and network devices. It's important to keep in mind that these datatypes are simply a way to define what kind of information a managed object can hold. The types we'll be discussing are similar to those that you'd find in a computer programming language like C. Table 2-1 lists the supported datatypes for SMIv1.
Table 2-1: SMIv1 Datatypes
A 32-bit number often used to specify enumerated types within the context of a single managed object. For example, the operational status of a router interface can be up, down, or testing. With enumerated types, 1 would represent up, 2 down, and 3 testing. The value zero (0) must not be used as an enumerated type, according to RFC 1155.
A string of zero or more octets (more commonly known as bytes) generally used to represent text strings, but also sometimes used to represent physical addresses.
A 32-bit number with minimum value 0 and maximum value 232 - 1 (4,294,967,295). When the maximum value is reached, it wraps back to zero and starts over. It's primarily used to track information such as the number of octets sent and received on an interface or the number of errors and discards seen on an interface. A
Counteris monotonically increasing, in that its values should never decrease during normal operation. When an agent is rebooted, all
Countervalues should be set to zero. Deltas are used to determine if anything useful can be said for successive queries of
Countervalues. A delta is computed by querying a
Counterat least twice in a row, and taking the difference between the query results over some time interval.
A dotted-decimal string that represents a managed object within the object tree. For example, 220.127.116.11.4.1.9 represents Cisco Systems's private enterprise OID.
Not currently used in SNMP.
Defines lists that contain zero or more other ASN.1 datatypes.
Defines a managed object that is made up of a
SEQUENCEof ASN.1 types.
Represents a 32-bit IPv4 address. Neither SMIv1 nor SMIv2 discusses 128-bit IPv6 addresses; this problem will be addressed by the IETF's SMI Next Generation (SMING) working group (see http://www.ietf.org/html.charters/sming-charter.html).
Same as the
IpAddresstype, but can represent different network address types.
A 32-bit number with minimum value 0 and maximum value 232 - 1 (4,294,967,295). Unlike a
Counter, a
Gaugecan increase and decrease at will, but it can never exceed its maximum value. The interface speed on a router is measured with a
A 32-bit number with minimum value 0 and maximum value 232 - 1 (4,294,967,295).
TimeTicksmeasures time in hundredths of a second. Uptime on a device is measured using this datatype.
Allows any other ASN.1 encoding to be stuffed into an
The goal of all these object types is to define managed objects. In Chapter 1, we said that a MIB is a logical grouping of managed objects as they pertain to a specific management task, vendor, etc. The MIB can be thought of as a specification that defines the managed objects a vendor or device supports. Cisco, for instance, has literally hundreds of MIBs defined for its vast product line. For example, its Catalyst device has a separate MIB from its 7000 series router. Both devices have different characteristics that require different management capabilities. Vendor-specific MIBs typically are distributed as human-readable text files that can be inspected (or even modified) with a standard text editor such as vi.
TIP: Most modern NMS products maintain a compact form of all the MIBs that define the set of managed objects for all the different types of devices they're responsible for managing. NMS administrators will typically compile a vendor's MIB into a format the NMS can use. Once a MIB has been loaded or compiled, administrators can refer to managed objects using either the numeric or human-readable object ID.
It's important to know how to read and understand MIB files. The following example is a stripped-down version of MIB-II (anything preceded by
--is a comment):
mgmt, NetworkAddress, IpAddress, Counter, Gauge,
mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
-- groups in MIB-II
system OBJECT IDENTIFIER ::= { mib-2 1 }
interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
at OBJECT IDENTIFIER ::= { mib-2 3 }
ip OBJECT IDENTIFIER ::= { mib-2 4 }
icmp OBJECT IDENTIFIER ::= { mib-2 5 }
tcp OBJECT IDENTIFIER ::= { mib-2 6 }
udp OBJECT IDENTIFIER ::= { mib-2 7 }
egp OBJECT IDENTIFIER ::= { mib-2 8 }
transmission OBJECT IDENTIFIER ::= { mib-2 10 }
snmp OBJECT IDENTIFIER ::= { mib-2 11 }
-- the Interfaces table
-- The Interfaces table contains information on the entity's
-- interfaces. Each interface is thought of as being
-- attached to a 'subnetwork.' Note that this term should
-- not be confused with 'subnet,' which refers to an
-- addressing-partitioning scheme used in the Internet
-- suite of protocols.
ifTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfEntry
ACCESS not-accessible
STATUS mandatory
"A list of interface entries. The number of entries is
given by the value of ifNumber."
::= { interfaces 2 }
ifEntry OBJECT-TYPE
SYNTAX IfEntry
ACCESS not-accessible
STATUS mandatory
"An interface entry containing objects at the subnetwork
layer and below for a particular interface."
INDEX { ifIndex }
::= { ifTable 1 }
IfEntry ::=
ifIndex OBJECT-TYPE
ACCESS read-only
STATUS mandatory
"A unique value for each interface. Its value ranges
between 1 and the value of ifNumber. The value for each
each interface must remain constant at least from one
reinitialization of the entity's network-management
system to the next reinitialization."
::= { ifEntry 1 }
ifDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-only
STATUS mandatory
"A textual string containing information about the
interface. This string should include the name of
the manufacturer, the product name, and the version
of the hardware interface."
::= { ifEntry 2 }
The first line of this file defines the name of the MIB, in this case
RFC1213-MIB. (RFC 1213 is the RFC that defines MIB-II; many of the MIBs we refer to are defined by RFCs). The format of this definition is always the same. The
IMPORTSsection of the MIB is sometimes referred to as the linkage section. It allows you to import datatypes and OIDs from other MIB files using the
IMPORTSclause. This MIB imports the following items from
RFC1155-SMI(RFC 1155 defines SMIv1, which we discussed earlier in this chapter):
It also imports
OBJECT-TYPEfrom RFC 1212, the Concise MIB Definition, which defines how MIB files are written. Each group of items imported using the
IMPORTSclause uses a
FROMclause to define the MIB file from which the objects are taken.
The OIDs that will be used throughout the remainder of the MIB follow the linkage section. This group of lines sets up the top level of the mib-2 subtree. mib-2 is defined as mgmt followed by .1. We saw earlier that mgmt was equivalent to 126.96.36.199.2. Therefore, mib-2 is equivalent to 18.104.22.168.2.1. Likewise, the interfaces group under mib-2 is defined as
{ mib-2 2 }, or 22.214.171.124.2.1.2.
After the OIDs are defined, we get to the actual object definitions. Every object definition has the following format:
<name> OBJECT-TYPE
SYNTAX <datatype>
ACCESS <either read-only, read-write, write-only, or not-accessible>
STATUS <either mandatory, optional, or obsolete>
"Textual description describing this particular managed object."
::= { <Unique OID that defines this object> }
The first managed object in our subset of the MIB-II definition is ifTable, which represents a table of network interfaces on a managed device (note that object names are defined using mixed case, with the first letter in lowercase). Here is its definition using ASN.1 notation:
ifTable OBJECT-TYPE
SYNTAX SEQUENCE OF IfEntry
ACCESS not-accessible
STATUS mandatory
"A list of interface entries. The number of entries is given by
the value of ifNumber."
::= { interfaces 2 }
SYNTAXof ifTable is
IfEntry. This means that ifTable is a table containing the columns defined in IfEntry. The object is
not-accessible, which means that there is no way to query an agent for this object's value. Its status is
mandatory, which means an agent must implement this object in order to comply with the MIB-II specification. The
DESCRIPTIONdescribes what exactly this object is. The unique OID is 126.96.36.199.126.96.36.199, or iso.org.dod.internet.mgmt.interfaces.2.
Let's now look at the
SEQUENCEdefinition from the MIB file earlier in this section, which is used with the
OFtype in the ifTable definition:
IfEntry ::=
Note that the name of the sequence (IfEntry) is mixed-case, but the first letter is capitalized, unlike the object definition for ifTable. This is how a sequence name is defined. A sequence is simply a list of columnar objects and their SMI datatypes, which defines a conceptual table. In this case, we expect to find variables defined by ifIndex, ifDescr, ifType, etc. This table can contain any number of rows; it's up to the agent to manage the rows that reside in the table. It is possible for an NMS to add rows to a table. This operation is covered later, in the section "The set Operation."
Now that we have IfEntry to specify what we'll find in any row of the table, we can look back to the definition of ifEntry (the actual rows of the table) itself:
ifEntry OBJECT-TYPE
SYNTAX IfEntry
ACCESS not-accessible
STATUS mandatory
"An interface entry containing objects at the subnetwork layer
and below for a particular interface."
INDEX { ifIndex }
::= { ifTable 1 }
ifEntry defines a particular row in the ifTable. Its definition is almost identical to that of ifTable, except we have introduced a new clause,
INDEX. The index is a unique key used to define a single row in the ifTable. It's up to the agent to make sure the index is unique within the context of the table. If a router has six interfaces, ifTable will have six rows in it. ifEntry's OID is 126.96.36.199.126.96.36.199.1, or iso.org.dod.internet.mgmt.interfaces.ifTable.ifEntry. The index for ifEntry is ifIndex, which is defined as:
ifIndex OBJECT-TYPE
ACCESS read-only
STATUS mandatory
"A unique value for each interface. Its value ranges between
1 and the value of ifNumber. The value for each interface
must remain constant at least from one reinitialization of the
entity's network-management system to the next reinitialization."
::= { ifEntry 1 }
The ifIndex object is
read-only, which means we can see its value, but we cannot change it. The final object our MIB defines is ifDescr, which is a textual description for the interface represented by that particular row in the ifTable. Our MIB example ends with the
ENDclause, which marks the end of the MIB. In the actual MIB-II files, each object listed in the IfEntry sequence has its own object definition. In this version of the MIB we list only two of them, in the interest of conserving space.
Extensions to the SMI in Version 2
SMIv2 extends the SMI object tree by adding the snmpV2 branch to the internet subtree, adding several new datatypes, and making a number of other changes. Figure 2-3 shows how the snmpV2 objects fit into the bigger picture; the OID for this new branch is 220.127.116.11.188.8.131.52, or iso.org.dod.internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects. SMIv2 also defines some new datatypes, which are summarized in Table 2-2.
Figure 2-3. SMIv2 registration tree for SNMPv2
Table 2-2: New Datatypes for SMIv2
Same as an
Same as a
Same as a
Represents decimal values in the range of 0 to 232 - 1 inclusive.
Similar to
Counter32, but its maximum value is 18,446,744,073,709,551,615.
Counter64is ideal for situations in which a
Counter32may wrap back to 0 in a short amount of time.
An enumeration of nonnegative named bits.
The definition of an object in SMIv2 has changed slightly from SMIv1. There are some new optional fields, giving you more control over how an object is accessed, allowing you to augment a table by adding more columns, and letting you give better descriptions. Here's the syntax of an object definition for SMIv2. The changed parts are in bold:
<name> OBJECT-TYPE
SYNTAX <datatype>
UnitsParts <Optional, see below>
MAX-ACCESS <See below>
STATUS <See below>
"Textual description describing this particular managed object."
AUGMENTS { <name of table> }
::= { <Unique OID that defines this object> }
Table 2-3 briefly describes the object definition enhancements made in SMIv2.
Table 2-3: SMIv2 Object Definition Enhancements
Object Definition Enhancement
A textual description of the units (i.e., seconds, milliseconds, etc.) used to represent the object.
ACCESScan be
MAX-ACCESSin SNMPv2. The valid options for
not-accessible, and
This clause has been extended to allow the
obsolete, and
currentin SNMPv2 is the same as
mandatoryin an SNMPv1 MIB.
In some cases it is useful to add a column to an existing table. The
AUGMENTSclause allows you to extend a table by adding one or more columns, represented by some other object. This clause requires the name of the table the object will augment.
SMIv2 defines a new trap type called
NOTIFICATION-TYPE, which we will discuss later in the section "SNMP Notification." SMIv2 also introduces new textual conventions that allow managed objects to be created in more abstract ways. RFC 2579 defines the textual conventions used by SNMPv2, which are listed in Table 2-4.
Table 2-4: Textual Conventions for SMIv2
Textual Convention
A string of NVT ASCII characters. A
DisplayStringcan be no more than 255 characters in length.
A media- or physical-level address, represented as an
Defines the media-access address for IEEE 802 (the standard for local area networks) in canonical[5] order. (In everyday language, this means the Ethernet address.) This address is represented as six octets.
Defines both
falseBoolean values.
Used to keep two management stations from modifying the same managed object at the same time.
An OID used to define a subtree with additional MIB-related definitions.
A pointer to a particular object instance, such as the ifDescr for interface 3. In this case, the
VariablePointerwould be the OID ifDescr.3.
A pointer to a row in a table. For example, ifIndex.3 points to the third row in the ifTable.
Used to manage the creation and deletion of rows in a table, since SNMP has no way of doing this via the protocol itself.
RowStatuscan keep track of the state of a row in a table, as well as receive commands for creation and deletion of rows. This textual convention is designed to promote table integrity when more than one manager is updating rows. The following enumerated types define the commands and state variables:
createAndWait(5), and
Measures the amount of time elapsed between the device's system uptime and some event or occurrence.
Measures a period of time in hundredths of a second.
TimeIntervalcan take any integer value from 0-2147483647.
STRINGused to represent date-and-time information.
Defines the type of memory an agent uses. The possible values are
permanent(4), and
Denotes a kind of transport service.
Denotes the transport service address.
TAddressis defined to be from 1-255 octets in length.
A Closer Look at MIB-II
MIB-II is a very important management group, because every device that supports SNMP must also support MIB-II. Therefore, we will use objects from MIB-II in our examples throughout this book. We won't go into detail about every object in the MIB; we'll simply define the subtrees. The section of RFC1213-MIB that defines the base OIDs for the mib-2 subtree looks like this:
mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
system OBJECT IDENTIFIER ::= { mib-2 1 }
interfaces OBJECT IDENTIFIER ::= { mib-2 2 }
at OBJECT IDENTIFIER ::= { mib-2 3 }
ip OBJECT IDENTIFIER ::= { mib-2 4 }
icmp OBJECT IDENTIFIER ::= { mib-2 5 }
tcp OBJECT IDENTIFIER ::= { mib-2 6 }
udp OBJECT IDENTIFIER ::= { mib-2 7 }
egp OBJECT IDENTIFIER ::= { mib-2 8 }
transmission OBJECT IDENTIFIER ::= { mib-2 10 }
snmp OBJECT IDENTIFIER ::= { mib-2 11 }
mib-2 is defined as iso.org.dod.internet.mgmt.1, or 126.96.36.199.2.1. From here, we can see that the system group is
1, or 18.104.22.168.2.1.1, and so on. Figure 2-4 shows the MIB-II subtree of the mgmt branch.
Figure 2-4. MIB-II subtree
Table 2-5 briefly describes each of the management groups defined in MIB-II. We don't go into great detail about each group, since you can pull down RFC 1213 and read the MIB yourself.
Table 2-5: Brief Description of the MIB-II Groups
Subtree Name
Defines a list of objects that pertain to system operation, such as the system uptime, system contact, and system name.
Keeps track of the status of each interface on a managed entity. The interfaces group monitors which interfaces are up or down and tracks such things as octets sent and received, errors and discards, etc.
The address translation (at) group is deprecated and is provided only for backward compatibility. It will probably be dropped from MIB-III.
Keeps track of many aspects of IP, including IP routing.
Tracks things such as ICMP errors, discards, etc.
Tracks, among other things, the state of the TCP connection (e.g., closed, listen, synSent, etc.).
Tracks UDP statistics, datagrams in and out, etc.
Tracks various statistics about EGP and keeps an EGP neighbor table.
There are currently no objects defined for this group, but other media-specific MIBs are defined using this subtree.
Measures the performance of the underlying SNMP implementation on the managed entity and tracks things such as the number of SNMP packets sent and received.
SNMP Operations
We've discussed how SNMP organizes information, but we've left out how we actually go about gathering management information. Now, we're going to take a look under the hood to see how SNMP does its thing.
The Protocol Data Unit (PDU) is the message format that managers and agents use to send and receive information. There is a standard PDU format for each of the following SNMP operations:
- get
- get-next
- get-bulk (SNMPv2 and SNMPv3)
- set
- get-response
- trap
- notification (SNMPv2 and SNMPv3)
- inform (SNMPv2 and SNMPv3)
- report (SNMPv2 and SNMPv3)
Let's take a look at each of these operations.
The get Operation
The get request is initiated by the NMS, which sends the request to the agent. The agent receives the request and processes it to best of its ability. Some devices that are under heavy load, such as routers, may not be able to respond to the request and will have to drop it. If the agent is successful in gathering the requested information, it sends a get-response back to the NMS, where it is processed. This process is illustrated in Figure 2-5.
Figure 2-5. get request sequence
How did the agent know what the NMS was looking for? One of the items in the get request is a variable binding. A variable binding, or varbind, is a list of MIB objects that allows a request's recipient to see what the originator wants to know. Variable bindings can be thought of as OID=value pairs that make it easy for the originator (the NMS, in this case) to pick out the information it needs when the recipient fills the request and sends back a response. Let's look at this operation in action:
$ snmpget cisco.ora.com public .22.214.171.124.220.127.116.11.0
system.sysLocation.0 = ""
TIP: All the Unix commands presented in this chapter come from the Net-SNMP agent package (formerly the UCD-SNMP project), a freely available Unix and Windows NT agent. Chapter 5 provides a URL from which you can download the package. The commands in this package are summarized in Appendix C.
Several things are going on in this example. First, we're running a command on a Unix host. The command is called snmpget. Its main job is to facilitate the gathering of management data using a get request. We've given it three arguments on the command line: the name of the device we would like to query (cisco.ora.com), the read-only community string (public), and the OID we would like gathered (.18.104.22.168.22.214.171.124.0). If we look back at Table 2-5 we see that 22.214.171.124.2.1.1 is the system group, but there are two more integers at the end of the OID: .6 and .0. The .6 is actually the MIB variable that we wish to query; its human-readable name is sysLocation. In this case, we would like to see what the system location is set to on the Cisco router. As you can see by the response (
""), the system location on this router currently is not set to anything. Also note that the response from snmpget is in variable binding format, OID=value.
There is one more thing to look at. Why does the MIB variable have a .0 tacked on the end? In SNMP, MIB objects are defined by the convention x.y, where x is the actual OID of the managed object (in our example, 22.214.171.124.18.104.22.168 ) and y is the instance identifier. For scalar objects (that is, objects that aren't defined as a row in a table) y is always 0. In the case of a table, the instance identifier lets you select a specific row of the table; 1 is the first row, 2 is the second row, etc. For example, consider the ifTable object we looked at earlier in this chapter. When looking up values in the ifTable, we would use a nonzero instance identifier to select a particular row in the table (in this case, a particular network interface).
TIP: Graphical NMS applications, which include most commercial packages, do not use command-line programs to retrieve management information. We use these commands to give you a feel for how the retrieval commands work and what they typically return. The information a graphical NMS retrieves and its retrieval process are identical to these command-line programs; the NMS just lets you formulate queries and displays the results using a more convenient GUI.
The get command is useful for retrieving a single MIB object at a time. Trying to manage anything in this manner can be a waste of time, though. This is where the get-next command comes in. It allows you to retrieve more than one object from a device, over a period of time.
The get-next Operation
The get-next operation lets you issue a sequence of commands to retrieve a group of values from a MIB. In other words, for each MIB object we want to retrieve, a separate get-next request and get-response are generated. The get-next command traverses a subtree in lexicographic order. Since an OID is a sequence of integers, it's easy for an agent to start at the root of its SMI object tree and work its way down until it finds the OID it is looking for. When the NMS receives a response from the agent for the get-next command it just issued, it issues another get-next command. It keeps doing this until the agent returns an error, signifying that the end of the MIB has been reached and there are no more objects left to get.
If we look at another example, we can see this behavior in action. This time we'll use a command called snmpwalk. This command simply facilitates the get-next procedure for us. It's invoked just like the snmpget command, except this time we specify which branch to start at (in this case, the system group):
$ snmpwalk cisco.ora.com public system
system.sysDescr.0 = "Cisco Internetwork Operating System Software
..IOS (tm) 2500 Software (C2500-I-L), Version 11.2(5), RELEASE
SOFTWARE (fc1)..Copyright (c) 1986-1997 by cisco Systems, Inc...
Compiled Mon 31-Mar-97 19:53 by ckralik"
system.sysObjectID.0 = OID: enterprises.9.1.19
system.sysUpTime.0 = Timeticks: (27210723) 3 days, 3:35:07.23
system.sysContact.0 = ""
system.sysName.0 = "cisco.ora.com"
system.sysLocation.0 = ""
system.sysServices.0 = 6
The get-next sequence returns seven MIB variables. Each of these objects is part of the system group as it's defined in RFC 1213. We see a system object ID, the amount of time the system has been up, the contact person, etc.
Given that you've just looked up some object, how does get-next figure out which object to look up next? get-next is based on the concept of the lexicographic ordering of the MIB's object tree. This order is made much simpler because every node in the tree is assigned a number. To understand what this means, let's start at the root of the tree and walk down to the system node.
To get to the system group (OID 18.104.22.168.2.1.1), we start at the root of the object tree and work our way down. Figure 2-6 shows the logical progression from the root of the tree all the way to the system group. At each node in the tree, we visit the lowest-numbered branch. Thus, when we're at the root node, we start by visiting ccitt. This node has no nodes underneath it, so we move to the iso node. Since iso does have a child we move to that node, org. The process continues until we reach the system node. Since each branch is made up of ascending integers (ccitt(0) iso(1) join(2), for example), the agent has no problem traversing this tree structure all the way down to the system(1) group. If we were to continue this walk, we'd proceed to system.1 (system.sysLocation), system.2, and the other objects in the system group. Next, we'd go to interfaces(2), and so on.
Figure 2-6. Walking the MIB tree
The get-bulk Operation
SNMPv2 defines the get-bulk operation, which allows a management application to retrieve a large section of a table at once. The standard get operation can attempt to retrieve more than one MIB object at once, but message sizes are limited by the agent's capabilities. If the agent can't return all the requested responses, it returns an error message with no data. The get-bulk operation, on the other hand, tells the agent to send as much of the response back as it can. This means that incomplete responses are possible. Two fields must be set when issuing a get-bulk command: nonrepeaters and max-repetitions. Nonrepeaters tells the get-bulk command that the first N objects can be retrieved with a simple get-next operation. Max-repetitions tells the get-bulk command to attempt up to M get-next operations to retrieve the remaining objects. Figure 2-7 shows the get-bulk command sequence.
Figure 2-7. get-bulk request sequence
In Figure 2-7, we're requesting three bindings: sysDescr, ifInOctets, and ifOutOctets. The total number of variable bindings that we've requested is given by the formula N + (M * R), where N is the number of nonrepeaters (i.e., scalar objects in the request--in this case 1, because sysDescr is the only scalar object), M is max-repetitions (in this case, we've set it arbitrarily to 3), and R is the number of nonscalar objects in the request (in this case 2, because ifInOctets and ifOutOctets are both nonscalar). Plugging in the numbers from this example, we get 1 + (3 * 2) = 7, which is the total number of variable bindings that can be returned by this get-bulk request.
The Net-SNMP package comes with a command for issuing get-bulk queries. If we execute this command using all the parameters previously discussed, it will look like the following:
$ snmpbulkget -v2c -B 1 3 linux.ora.com public sysDescr ifInOctets ifOutOctets
system.sysDescr.0 = "Linux linux 2.2.5-15 #3 Thu May 27 19:33:18 EDT 1999 i686"
interfaces.ifTable.ifEntry.ifInOctets.1 = 70840
interfaces.ifTable.ifEntry.ifOutOctets.1 = 70840
interfaces.ifTable.ifEntry.ifInOctets.2 = 143548020
interfaces.ifTable.ifEntry.ifOutOctets.2 = 111725152
interfaces.ifTable.ifEntry.ifInOctets.3 = 0
interfaces.ifTable.ifEntry.ifOutOctets.3 = 0
Since get-bulk is an SNMPv2 command, you have to tell snmpgetbulk to use an SNMPv2 PDU with the -v2c option. The nonrepeaters and max-repetitions are set with the -B 1 3 option. This sets nonrepeaters to 1 and max-repetitions to 3. Notice that the command returned seven variable bindings: one for sysDescr and three each for ifInOctets and ifOutOctets.
The set Operation
The set command is used to change the value of a managed object or to create a new row in a table. Objects that are defined in the MIB as read-write or write-only can be altered or created using this command. It is possible for an NMS to set more than one object at a time.
Figure 2-8. set request sequence
Figure 2-8 shows the set request sequence. It's similar to the other commands we've seen so far, but it is actually changing something in the device's configuration, as opposed to just retrieving a response to a query. If we look at an example of an actual set, you will see the command take place. The following example queries the sysLocation variable, then sets it to a value:
$ snmpget cisco.ora.com public system.sysLocation.0
system.sysLocation.0 = ""
$ snmpset cisco.ora.com private system.sysLocation.0 s "Atlanta, GA"
system.sysLocation.0 = "Atlanta, GA"
$ snmpget cisco.ora.com public system.sysLocation.0
system.sysLocation.0 = "Atlanta, GA"
The first command is the familiar get command, which displays the current value of sysLocation. In one of the previous examples we saw that it was undefined; this is still the case. The second command is snmpset. For this command, we supply the hostname, the read-write community string (private), and the variable we want to set (system.sysLocation.0), together with its new value (
GA"). The
stells snmpset that we want to set the value of sysLocation to a string; and
GA"is the new value itself. How do we know that sysLocation requires a string value? The definition of sysLocation in RFC 1213 looks like this:
sysLocation OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write
STATUS mandatory
"The physical location of this node (e.g., 'telephone closet,
3rd floor')."
::= { system 6 }
SYNTAXfor sysLocation is
(0..255)), which means that it's a string with a maximum length of 255 characters. The snmpset command succeeds and reports the new value of sysLocation. But just to confirm, we run a final snmpget, which tells us that the set actually took effect. It is possible to set more than one object at a time, but if any of the sets fail, they all fail (i.e., no values are changed). This behavior is intended.
get, get-next, get-bulk, and set Error Responses
Error responses help you determine wether your get or set request was processed correctly by the agent. The get, get-next, and set operations can return the error responses shown in Table 2-6. The error status for each error is show in parentheses.
Table 2-6: SNMPv1 Error Messages
SNMPv1 Error Message
There was no problem performing the request.
The response to your request was too big to fit into one response.
An agent was asked to get or set an OID that it can't find; i.e., the OID doesn't exist.
A read-write or write-only object was set to an inconsistent value.
This error is generally not used. The
noSuchNameerror is equivalent to this one.
This is a catch-all error. If an error occurs for which none of the previous messages is appropriate, a
genErroris issued.
The SNMPv1 error messages are not very robust. In an attempt to fix this problem, SNMPv2 defines additional error responses that are valid for get, set, get-next, and get-bulk operations, provided that both the agent and NMS support SNMPv2. These responses are listed in Table 2-7.
Table 2-7: SNMPv2 Error Messages
SNMPv2 Error Message
A set to an inaccessible variable was attempted. This
typically occurs when the variable has an
ACCESStype of
An object was set to a type that is different from its definition. This error will occur if you try to set an object that is of type
INTEGERto a string, for example.
An object's value was set to something other than what it calls for. For instance, a string can be defined to have a maximum character size. This error occurs if you try to set a string object to a value that exceeds its maximum length.
A set operation was attempted using the wrong encoding for the object being set.
A variable was set to a value it doesn't understand. This can occur when a read-write is defined as an enumeration, and you try to set it to a value that is not one of the enumerated types.
You tried to set a nonexistent variable or create a variable that doesn't exist in the MIB.
A MIB variable is in an inconsistent state, and is not accepting any set requests.
No system resources are available to perform a set.
This is a catch-all error for set failures.
A set failed and the agent was unable to roll back all the previous sets up until the point of failure.
An SNMP command could not be authenticated; in other words, someone has supplied an incorrect community string.
A variable will not accept a set, even though it is supposed to.
You attempted to set a variable, but that attempt failed because the variable was in some kind of inconsistent state.
SNMP Traps
A trap is a way for an agent to tell the NMS that something bad has happened. In the "Managers and Agents" section of Chapter 1 we explored the notion of traps at a general level; now we'll look at them in a bit more detail. Figure 2-9 shows the trap-generation sequence.
Figure 2-9. Trap generation
The trap originates from the agent and is sent to the trap destination, as configured within the agent itself. The trap destination is typically the IP address of the NMS. No acknowledgment is sent from the NMS to the agent, so the agent has no way of knowing if the trap makes it to the NMS. Since SNMP uses UDP, and since traps are designed to report problems with your network, traps are especially prone to getting lost and not making it to their destinations. However, the fact that traps can get lost doesn't make them any less useful; in a well-planned environment, they are an integral part of network management. It's better for your equipment to try to tell you that something is wrong, even if the message may never reach you, than simply to give up and let you guess what happened. Here are a few situations that a trap might report:
- A network interface on the device (where the agent is running) has gone down.
- A network interface on the device (where the agent is running) has come back up.
- An incoming call to a modem rack was unable to establish a connection to a modem.
- The fan on a switch or router has failed.
When an NMS receives a trap, it needs to know how to interpret it; that is, it needs to know what the trap means and how to interpret the information it carries. A trap is first identified by its generic trap number. There are seven generic trap numbers (0-6), shown in Table 2-8. Generic trap 6 is a special catch-all category for "enterprise-specific" traps, which are traps defined by vendors or users that fall outside of the six generic trap categories. Enterprise-specific traps are further identified by an enterprise ID (i.e., an object ID somewhere in the enterprises branch of the MIB tree, iso.org.dod.internet.private.enterprises) and a specific trap number chosen by the enterprise that defined the trap. Thus, the object ID of an enterprise-specific trap is enterprise-id.specific-trap-number. For example, when Cisco defines special traps for its private MIBs, it places them all in its enterprise-specific MIB tree (iso.org.dod.internet.private.enterprises.cisco). As we'll see in Chapter 10, you are free to define your own enterprise-specific traps; the only requirement is that you register your own enterprise number with IANA.
A trap is usually packed with information. As you'd expect, this information is in the form of MIB objects and their values; as mentioned earlier, these object-value pairs are known as variable bindings. For the generic traps 0 through 5, knowledge of what the trap contains is generally built into the NMS software or trap receiver. The variable bindings contained by an enterprise-specific trap are determined by whomever defined the trap. For example, if a modem in a modem rack fails, the rack's agent may send a trap to the NMS informing it of the failure. The trap will most likely be an enterprise-specific trap defined by the rack's manufacturer; the trap's contents are up to the manufacturer, but it will probably contain enough information to let you determine exactly what failed (for example, the position of the modem card in the rack and the channel on the modem card).
Table 2-8: Generic Traps
Generic Trap Name
and Number
coldStart (0)
Indicates that the agent has rebooted. All management variables will be reset; specifically,
Counters and
Gauges will be reset to zero (0). One nice thing about the coldStart trap is that it can be used to determine when new hardware is added to the network. When a device is powered on, it sends this trap to its trap destination. If the trap destination is set correctly (i.e., to the IP address of your NMS) the NMS can receive the trap and determine whether it needs to manage the device.
warmStart (1)
Indicates that the agent has reinitialized itself. None of the management variables will be reset.
linkDown (2)
Sent when an interface on a device goes down. The first variable binding identifies which interface went down.
linkUp (3)
Sent when an interface on a device comes back up. The first variable binding identifies which interface came back up.
authenticationFailure (4)
Indicates that someone has tried to query your agent with an incorrect community string; useful in determining if someone is trying to gain unauthorized access to one of your devices.
egpNeighborLoss (5)
Indicates that an Exterior Gateway Protocol (EGP) neighbor has gone down.
enterpriseSpecific (6)
Indicates that the trap is enterprise-specific. SNMP vendors and users define their own traps under the private-enterprise branch of the SMI object tree. To process this trap properly, the NMS has to decode the specific trap number that is part of the SNMP message.
In Chapter 1 we mentioned that RFC 1697 is the RDBMS MIB. One of traps defined by this MIB is rdbmsOutOfSpace :
rdbmsOutOfSpace TRAP-TYPE
ENTERPRISE rdbmsTraps
VARIABLES { rdbmsSrvInfoDiskOutOfSpaces }
"An rdbmsOutOfSpace trap signifies that one of the database
servers managed by this agent has been unable to allocate
space for one of the databases managed by this agent. Care
should be taken to avoid flooding the network with these traps."
::= 2
The enterprise is rdbmsTraps and the specific trap number is 2. This trap has one variable binding, rdbmsSrvInfoDiskOutOfSpaces. If we look elsewhere in the MIB, we will find that this variable is a scalar object. Its definition is:
rdbmsSrvInfoDiskOutOfSpaces OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
"The total number of times the server has been unable to obtain
disk space that it wanted, since server startup. This would be
inspected by an agent on receipt of an rdbmsOutOfSpace trap."
::= { rdbmsSrvInfoEntry 9 }
DESCRIPTIONfor this object indicates why the note about taking care to avoid flooding the network (in the
DESCRIPTIONtext for the
TRAP-TYPE) is so important. Every time the RDBMS is unable to allocate space for the database, the agent will send a trap. A busy (and full) database could end up sending this trap thousands of times a day.
Some commercial RDBMS vendors, such as Oracle, provide an SNMP agent with their database engines. Agents such as these typically have functionality above and beyond that found in the RDBMS MIB.
SNMP Notification
In an effort to standardize the PDU format of SNMPv1 traps (recall that SNMPv1 traps have a different PDU format from get and set), SNMPv2 defines a
NOTIFICATION-TYPE. The PDU format for
NOTIFICATION-TYPEis identical to that for get and set. RFC 2863 redefines the linkDown generic notification type like so:
linkDown NOTIFICATION-TYPE
OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
STATUS current
"A linkDown trap signifies that the SNMPv2 entity, acting in an
agent role, has detected that the ifOperStatus object for one
of its communication links left the down state and transitioned
into some other state (but not into the notPresent state). This
other state is indicated by the included value of ifOperStatus."
::= { snmpTraps 3 }
The list of bindings is called
OBJECTSrather than
VARIABLES, but little else has changed. The first object is the specific interface (ifIndex) that transitioned from the linkDown condition to some other condition. The OID for this trap is 18.104.22.168.188.8.131.52.5.3, or iso.org.dod.internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects.snmpTraps.linkDown.
SNMP inform
Finally, SNMPv2 provides an inform mechanism, which allows for manager-to-manager communication. This operation can be useful when the need arises for more than one NMS in the network. When an inform is sent from one NMS to another, the receiver sends a response to the sender acknowledging receipt of the event. This behavior is similar to that of the get and set requests. Note that an SNMP inform can be used to send SNMPv2 traps to an NMS. If you use an inform for this purpose, the agent will be notified when the NMS receives the trap.
SNMP report
The report operation was defined in the draft version SNMPv2 but never implemented. It is now part of the SNMPv3 specification and is intended to allow SNMP engines to communicate with each other (mainly to report problems with processing SNMP messages).
Host Management Revisited
Managing your hosts is an important part of network management. You would think that the Host Resources MIB would be part of every host-based SNMP agent, but this isn't the case. Some SNMP agents implement this MIB, but many don't. A few agents go further and implement proprietary extensions based upon this MIB. This is mainly due to the fact that this MIB was intended to serve as a basic, watered-down framework for host management, designed mainly to foster wide deployment.
The Host Resources MIB defines the following seven groups:
host OBJECT IDENTIFIER ::= { mib-2 25 }
hrSystem OBJECT IDENTIFIER ::= { host 1 }
hrStorage OBJECT IDENTIFIER ::= { host 2 }
hrDevice OBJECT IDENTIFIER ::= { host 3 }
hrSWRun OBJECT IDENTIFIER ::= { host 4 }
hrSWRunPerf OBJECT IDENTIFIER ::= { host 5 }
hrSWInstalled OBJECT IDENTIFIER ::= { host 6 }
The host OID is 18.104.22.168.2.1.25 (iso.org.dod.internet.mgmt.mib-2.host). The remaining six groups define various objects that provide information about the system.
The hrSystem (22.214.171.124.126.96.36.199) group defines objects that pertain to the system itself. These objects include uptime, system date, system users, and system processes.
The hrDevice (220.127.116.11.220.127.116.11) and hrStorage (220.127.116.11.126.96.36.199) groups define objects pertaining to filesystems and system storage, such as total system memory, disk utilization, and CPU nonidle percentage. They are particularly helpful, since they can be used to manage the disk partitions on your host. You can even use them to check for errors on a given disk device.
The hrSWRun (184.108.40.206.22.214.171.124), hrSWRunPerf (126.96.36.199.126.96.36.199), and hrSWInstalled (18.104.22.168.188.8.131.52 ) groups define objects that represent various aspects of software running or installed on the system. From these groups, you can determine what operating system is running on the host, as well as what programs the host is currently running. The hrSWInstalled group can be used to track which software packages are installed.
As you can see, the Host Resources MIB provides some necessary system-management objects that can be utilized by almost anyone who needs to manage critical systems.
Remote Monitoring Revisited
A thorough treatment of RMON is beyond the scope of this book, but it's worth discussing the groups that make up RMONv1. RMON probes are typically stand-alone devices that watch traffic on the network segments to which they are attached. Some vendors implement at least some kind of RMON probe in their routers, hubs, or switches. Chapter 9 provides an example of how to configure RMON on a Cisco router.
The RMON MIB defines the following 10 groups:
rmon OBJECT IDENTIFIER ::= { mib-2 16 }
statistics OBJECT IDENTIFIER ::= { rmon 1 }
history OBJECT IDENTIFIER ::= { rmon 2 }
alarm OBJECT IDENTIFIER ::= { rmon 3 }
hosts OBJECT IDENTIFIER ::= { rmon 4 }
hostTopN OBJECT IDENTIFIER ::= { rmon 5 }
matrix OBJECT IDENTIFIER ::= { rmon 6 }
filter OBJECT IDENTIFIER ::= { rmon 7 }
capture OBJECT IDENTIFIER ::= { rmon 8 }
event OBJECT IDENTIFIER ::= { rmon 9 }
RMONv1 provides packet-level statistics about an entire LAN or WAN. The rmon OID is 18.104.22.168.2.1.16 (iso.org.dod.internet.mgmt.mib-2.rmon). RMONv1 is made up of nine groups:
- statistics (188.8.131.52.220.127.116.11)
- Contains statistics about all the Ethernet interfaces monitored by the probe
- history (18.104.22.168.188.8.131.52)
- Records periodic statistical samples from the statistics group
- alarm (18.104.22.168.18.104.22.168)
- Allows a user to configure a polling interval and a threshold for any object the RMON probe records
- hosts (18.104.22.168.22.214.171.124)
- Records traffic statistics for each host on the network
- hostTopN (188.8.131.52.220.127.116.11)
- Contains host statistics used to generate reports on hosts that top a list ordered by a parameter in the host table
- matrix (220.127.116.11.22.214.171.124 )
- Stores error and utilization information for sets of two addresses
- filter (184.108.40.206.22.214.171.124)
- Matches packets based on a filter equation; when a packet matches the filter, it may be captured or an event may be generated
- capture (188.8.131.52.18.104.22.168)
- Allows packets to be captured if they match a filter in the filter group
- event (220.127.116.11.22.214.171.124)
- Controls the definition of RMON events
RMONv2 enhances RMONv1 by providing network- and application-level statistical gathering. Since the only example of RMON in this book uses RMONv1, we will stop here and not go into RMONv2. However, we encourage you to read RFC 2021 to get a feel for what enhancements this version of RMON brings to network monitoring.
1. For the remainder of this book "management information" will be referred to as "managed objects." Similarly, a single piece of management information (such as the operational status of a router interface) will be known as a "managed object."
2. The ccitt subtree is administered by the International Telegraph and Telephone Consultative Committee (CCITT); the joint subtree is administered jointly by the International Organization for Standardization (ISO) and CCITT. As we said, neither branch has anything to do with SNMP.
3. Note that the term "branch" is sometimes used interchangeably with "subtree."
4. The term "private enterprise" will be used throughout this book to refer to the enterprises branch.
5. Canonical order means that the address should be represented with the least-significant bit first.
Back to: Essential SNMP
© 2001, O'Reilly & Associates, Inc.


text:
Alexander Wang's Coco duffle has been one of the most sought after bags of the season. Congrats to you if you can get your hands on one. It is sure to become a future classic. Wang's relaxed, clean lined modern style has set the ball in motion for more handbag designs such as this slouchy shoulder bag ($780 at Net-a-Porter). Exclusive to Net-a-Porter, this Alexander Wang handbag is perfect for those of you on the wall as to whether you covet the blue denim printed suede or black stamped leather. Now you can have the best of both worlds – black leather and blue suede denim in one handbag. I am also on the fence about this bag, in one sense it is over-sized and unstructured which I love. I also am excited about the dual straps which open on either side instead of a single strap. (more…)
Shoulder Bags(Page 6)
Dolce & Gabbana maybe not have as rabid or dedicated a following as some handbag brands, but that doesn't stop them from going confidently in the direction of their artistic vision season after season. As with any very specific point of view, the results are often mixed but they're always very obviously Dolce & Gabbana.
The Dolce & Gabbana Miss Rouche Ruffled Shoulder Bag is the continuation of an idea that we first saw in Fall 2009. Those bags were slightly more manic and ruffle-covered, but this hobo dials things back just a bit and gets it right. (more…)
What is this that we have here? Do my eyes deceive me? Is this a Fendi bag that I not only like, but would also semi-seriously consider purchasing for myself? This is the second time in several days that I've found myself having these thoughts (the first time was about an ornate baguette that Vlad photographed at Design Miami), and it sort of makes me wonder – might Fendi be at the beginning of an accessories design upswing? (more…)
There's something so Parisian and ladylike about the Marni Small Crepe Shoulder Bag that I just can't help but be attracted to. The brand may be Italian, but what we have here looks so much like a cross between Lanvin and Chanel that you'd never know it from just this piece. Somehow, though, I like this bag even more – its lines are cleaner than on some of Chanel's fashion bags and the totality of the design seems more well-edited than the average Lanvin. (more…)
I've always been critical of Christian Louboutin handbags in the past, but I've seen a few that I don't hate in the past season. With all the design genius in that company, I knew they would pull together their handbag line sooner or later, and they appear to be slowly but surely turning out some purses that do justice to their drool-worthy shoes. The Christian Louboutin Lolita Montone Bag is surely a step in the right direction. (more…)
There isn't a massive amount of completely fabric, bohemian handbags out there. Being one of the few people who embrace this style of handbags, it's apparent why I was so drawn to this Simone Camille Handmade Vintage 2-Tier Handbag. Well, I suppose this particular bag isn't so obscure; Nicole Richie has been spotted wearing it multiple times, after all.
The bag is made entirely by hand by famed stylist Simone Harouche, who's known for her singular ability to transform and style stars with looks they've never imagined; witness Christina Aguilera's Back to Basics Tour. But clearly she has a fun sense of color and whimsy, contributing to this boho gem. (more…)
Oh Donna Karan, I think you are understanding the handbag world! We first saw the Donna Karan Pleated North-South Tote back in July, but the picture was not doing the bag justice. But it was Blake Lively who showed me just how lovely the Donna Karan Eldridge looks when worn.
So I started to lust after this bag. But it was sold out. And now Net A Porter brings us an exclusive version which has an entirely different look and I adore it. The Donna Karan Eldridge features monochrome pleated crease-print leather. This finish is going to be seen more and more for Spring 2010, giving us a bit of a tie-dye feel but a totally grown up version. The cream and black leather with crease print could look harsh, but it does not. Donna Karan has a way to combine these two opposite colors in a magnificent manner. The gunmetal designer tag is edgy-cool. (more…)
I've got to say at least one nice thing about this bag: Dolce & Gabbana, I like your enthusiasm.
No, actually, I love it. Because the kind of chutzpah it takes to put together seven (that I can count) types of fuzzy animal print onto one bag is the kind of chutzpah that it takes to occasionally create a stinkin' awesome bag. But at this point, ladies and gentlemen, I have but one caveat: the Dolce & Gabbana Miss Martini Flap Bag is not that bag. (more…)
I've never been a Tod's fan, by and large. I'm sure that their bags are well-made, but they always seemed to be lacking in the design department, and for that kind of money, I want a bit of visual flair with my perfect construction.
And in the Tod's Ribbed Leather Bag, I may have found it – this is easily my favorite of their bags in quite a long while, if not ever. (more…)

subset: commoncrawl


text:
The terms "fast food" and "healthy" typically don't belong in the same sentence, but FOX 9 fitness expert Ali Holman from CoreCamper.com found some options you may want to choose next time you stop for a quick bite.
To find out more about Ali's online workouts and meal plans, visit http://www.CoreCamper.com
1. Chick-fil-A Market Salad
180 calories and 25 g protein
2. Quiznos Harvest Chicken Salad
400 calories
3. Chick-fil-A Grilled Chicken Cool Wrap
338 calories, 38 g protein
4. Taco Bell Fresco Style Ranchero Chicken Soft Taco
170 calories
5. Chick-fil-A Chargrilled Chicken Sandwich
310 calories, 29 g protein
6. White Castle Savory Chicken Slider
90-140 calories each
7. Chick-fil-A Multigrain Oatmeal
290 calories
8. McDonald's Fruit & Maple Oatmeal
290 calories
9. Chick-fil-A Kids Grilled Bites and Fruit
110 calories, 25 g protein
10. McDonald's Hamburger and apple slices
250 calories (and apple slices for 15 calories)
Phone: (952) 944-9999
Didn't find what you were looking for?
All content © Copyright 2000 - 2014 Fox Television Stations, Inc. and Worldnow. All Rights Reserved.
Privacy Policy | New Terms of Service What's new | Ad Choices


text:
PocketMonsters: Turbo Fighters
Credits & Info
- Views
- 10,635
- Score
- 4.25 / 5.00
- Frontpaged November 8, 2013
Share this submission?
Related Stuff
Licensing Terms
You are free to copy, distribute and transmit this work under the following conditions:
- Attribution:
- You must give credit to the artist.
- Share Alike:
- If you alter, transform, or build upon this image, you may distribute the resulting creation only under a license identical to this one.
Author Comments
Poke Combat!


text: |Cathe Road Trip Info, Updates and Comments Welcome to the Cathe Road Trip Forum. Please post all comments and questions about the Cathe Road Trip here. Our road trip coordinators (Kathy S., DebbieH., and Lorrayne) and Cathe dot Com staff will post updates and information about the road trip in this forum.


text:
These activities cover all the steps for building a model hydrogen-powered car for competition in the Hydrogen Sprint. The six activities may be used by a class or a team to explore the design...
Teams of four to six build a K'NEX bridge model that crosses the one-foot-wide (30.5 cm) Hometown River. (grades 5-10)
Experiment with the size, shape, angle of the wings, rudder position, and weight of a paper airplane.
Experiments that fall under each of the following: Knowledge, Comprehension, Application, Analysis, Synthesis, and Evaluation. (grades 3-4)
In teams of two or alone, design and build a vehicle that will climb a hill, cross the crest, stop, and prevent your opponent from crossing in the opposite direction.
Log In:
Contact ATEEC 563.441.4087 or by email email@example.com
©1999–2014 Advanced Technology Environmental and Energy Center (ATEEC) | Leave Feedback


text:
Can you exercise too much?
This is a question that I have been pondering for some time. I am still trying to figure out how is it that when I went from walking 8 hours a week to 4 hours a week, I regained most of the weight I had lost. I can't say for sure, but I did come across some information that suggests that overtraining can actually stress the body to the point that it will hold on to calories even more. Perhaps my body was too stressed and when I reduced my walking workouts, it simply took the opportunity to recoup its losses. I suppose that is one theory. Of course, there are other factors I may need to consider, but those are probably beyond the scope of this blog post.
I am making the effort to walk at least 3 times a week again, and this time, I am taking some breaks during my walks. I still like to go out for about 2 hours at a time, but instead of non-stop, fast walking for 2 hours straight (which is what I used to do) I now take several breaks. I haven't been doing this long enough to say for sure if it is working better, but I suppose, like any exercise routine, I will have to wait and see what the long-term results are.
I've made another change to my exercise routine as well. A while back, I happened to be watching Teresa Tapp on a PBS special and decided that her book on T-Tapp exercise was worth reading. Although most of the book is filled with testimonials that read like an advertisement for her products, the information she gives is solid and convincing. The complete 15-minute T-Tapp workout is explained in detail in the book. I am doing that workout 3 to 4 times a week in addition to the walking. Again, it is too early to say what effect this is having on me, but so far, it seems to be positive.
Back After a Long Hiatus
I have been on hiatus from blogging for quite a while now, and likewise, I took a break from walking. Just a few weeks ago I started to ease back into my walking routine. Despite taking out a two-year gym membership a year ago last June, I have discovered that I really don't like to go to the gym, and much prefer to walk outdoors. Unfortunately, our weather here is much too hot during the summer for that, hence the long hiatus.
However, I have not completely ignored my quest to discover the key to healthy weight. I have certainly tried and failed many times over the years when it came to weight loss. As I've discussed before in this blog, diets are designed to fail. The weight loss industry knows this, and the biggest names in weight loss all very cleverly redesign their program every few years. After all, when the weight comes back, you can just blame it on the old program, because hey, there's a new one that's going to work much better…until it doesn't. To quote John Bradshaw, "Diets are the greatest hoax ever perpetrated on a suffering group of people."
I have spent a lot of time reading during my walking (and blogging) hiatus, and have endeavored to uncover the emotional and psychological reasons behind toxic weight. I'm sure there are many, and the reasons most certainly vary from person to person. According to Louise Hay, excess weight is often the mind's way of creating physical protection. It doesn't have to necessarily signify protection from physical abuse. In fact, I would guess that for most people, it is probably protection from emotional and psychological abuse. And as Henry Grayson points out in his excellent book on mind-body healing, much of this abuse (or negative programming) is unconscious. So, the key is to uncover the unconscious beliefs and reprogram them. Ah, that is quite a task, and one I have only begun to tackle.
So here I am, having gone through the cycle once again of having lost weight and regained. However, this time is a bit different. Unlike with dieting, where I would gain it all back and then some (we all can relate to that, I'm sure), I only gained back part of it. A lot of this weight gain happened when I cut my walking from 8 hours a week to 4 hours. That concept still has me stumped. Once I dwindled down to no walking, my weight seemed to hold steady. Believe me, I'm NOT giving up walking, but I certainly need to reevaluate my plan.
Walking Wednesday
I was recently contemplating "Meatless Monday", a movement to promote vegetarianism, when a thought occurred to me: Why not "Walking Wednesday"? If you are not already a regular walker, I would like to suggest that you get out and take a walk this Wednesday. If possible, tweet the time, distance, or steps taken on Wednesday using the hashtag #WalkingWednesday.
And remember to invite your friends along for Walking Wednesday!
Sometimes the simplest things can be difficult, though, but they are certainly worth the effort.
Today I Start at Zero
All the chocolate and other sweets I ate during the holidays really took their toll on me. I have to admit it was hard to see so much of the weight that came off last year come right back on. What's even worse is trying to lose weight when you are carrying an emotional bag of guilt around with you all the time.
So, for today, and every day, I am starting at zero. I realized that I would not be successful if my mind was focused on the idea of fixing the past (i.e. the weight I gained over the holidays). I then decided that this was point zero—my new starting point. It is such a relief to let go of past burdens and just start fresh.
Affirmation for today: I let go of the past, and start anew.
What path will you choose?
Recently I got the idea to use the many affirmations in Sondra Ray's book, The Only Diet There Is, as a starting point for the EFT work I've been doing based on Dr. Grayson's method. As I started reading through Ray's book again, I came across a paragraph which really sums up the idea that weight is really related to beliefs, and not food.
"Food has nothing to do with weight. It is the thoughts and attitudes you have about yourself, about food, and about your body that cause overweight. Only by changing your thoughts and attitudes about yourself, about food, and about your body will you free yourself from the tyranny of endless worrying and endless dieting."
This book is a real treasure trove of wisdom on underlying causes of overweight, and yet so few people seek out such books when dealing with weight. Why are we so obsessed with dieting and the external factors rather than emotions and the internal aspects of healing weight? Maybe it's just the feeling of control we get from dealing with the non-emotional factors. Maybe it's just too hard to face the emotions buried in our toxic weight.
For the time being, it seems our future is riddled with more diet books, exercise programs, and pills, because that's what people want, apparently. Perhaps we need to create more safe environments for weight loss instead of more diet centers. A radical idea indeed, but we are all free to choose our own paths. What path will you choose?
Peeling the Onion - What's Holding You Back?
In my last blog post I wrote about Dr. Grayson's book, whose program is essentially based on EFT (emotional freedom technique). The beauty of EFT is that is allows you to continually "peel layers of the onion" (a phrase I learned from Louise Hay). In other words, the more you work with it, the more you uncover about your limiting beliefs. Why is this important? Well, as Dr. Grayson says in Use Your Body to Heal Your Mind, "our barriers to healing are largely unconscious." EFT is a great way to work through those top layers to get to the sub-conscious roots of our problems.
Regardless of where you begin, you will eventually start to uncover more and more of these hidden beliefs until you've peeled the whole onion, so to speak. If you really don't know where to begin, Dr. Grayson has several worksheets you can use as a starting point. (You can find these in his book or on his website.) I am often amazed at what I uncover as I work through a round of EFT, as related thoughts inevitably come up. I then know what to work on for the next round, and so on.
One thing I've learned from using this method is that you really can't go wrong. Choose a target (a limiting belief to work on), and just work through it until it improves or you hit on another facet of the problem that needs attention. I personally practice this for about 10 minutes a day, and if there is something I need to continue with, I will write about it in my journal so I can work on it the next day.
So what's holding you back from peeling your own onion? It's never too late to start, and things can only get better if you try.
Use Your Body to Heal Your Mind
A couple months ago I purchased a book by Dr. Henry Grayson called Use Your Body to Heal Your Mind. At the core of this method is EFT (emotional freedom technique) with some variations introduced by Dr. Grayson. Because I was already familiar with EFT, this new book really clicked with me.
One of the techniques I learned from the book is the Thymus Heart Rub (see Dr. Grayson's web site for a video demonstration of this technique). I generally start my EFT sessions with this technique, but found it very helpful to use a simple adaptation of the heart rub during the day whenever I catch myself engaged in self-criticism. I'm amazed at how many times I catch myself in the act of thinking negatively, and am grateful that I have a technique to replace the criticism with positive messages instead.
If you are not familiar with EFT, I recommend doing some research and using the many free resources online, or better yet, purchase a book on the subject (Gary Craig and Gloria Arenson are two of my favorite authors) or buy Dr. Grayson's book and work through his program. It really is quite simple and he has created a number of downloadable worksheets to help you pinpoint beliefs that prevent healing. If you prefer to work with a practitioner, I would recommend a good friend of mine who works with clients via Skype or telephone. You can contact Teresa Bolen through her web site Magic At Your Fingertips.
Page 1 of 7


text:
The Worker Retraining program provides financial assistance for tuition and expenses during one quarter of job training at Pierce College. The program is open to unemployed and dislocated workers, as well as veterans seeking to re-enter the workforce.
Note: To be eligible, you must currently be receiving Washington state unemployment insurance benefits or have received them within the last 24 months. This program is also open to veterans leaving military service, and to self-employed workers who are now unable to work due to an economic downturn.
To find out if you are eligible for Worker Retraining assistance, complete a Free Application for Federal Student Aid (FAFSA). Then, visit the Advising Centers at Pierce College Fort Steilacoom or Pierce College Puyallup to meet with a Worker Retraining professional. Or, call (253) 964-6265 to schedule an appointment.
Worker Retraining may pay tuition and books for the student's first quarter of training in the following professional/technical programs at Pierce College:


text:
Was £95.00
Now £55.00
Now £38.00
60% Off
Save a total of £57.00
Standard Delivery
Click & Collect
International Delivery
Designer black embroidered crepe dress
Item No.0030108325
This black midi length cocktail dress from the designer Preen range for Edition has a relaxed skirt with a chiffon panel along the hem and split pleats to the front and back. It has a banded waist and floral embroidery on the sleeves.
- Designed in a midi length, back measurement 106cm / 41.75"
- Crew neck
- Relaxed fit
- Banded waist
- Rear concealed zip and hook and eye fastening
- 100% polyester
- Professional dry clean only
- Model wears: size 10
- Model Height: 170cm, 5'7", Bust: 32C, Waist: 25" , Hips: 35"
Deliveries are between 8am - 6pm, Mon - Sat.
FREE if you pay with your Debenhams card
FREE delivery on all orders over £30 (normally £3.99)
Deliver to store for collection ( 160 participating stores ) FREE
International Delivery £7.00 to £15.00
Debenhams is happy to exchange or refund your purchase within 28 days providing the goods are in a fully resaleable condition (including tags) and not within the exclusion policy*. This policy does not affect your statutory rights. You can return unwanted items either by visiting your local store (the fastest way to get a refund), by arranging a courier collection or returning by post. Exclusions apply to selected products. For instructions on how to return products and information on Debenhams refund policy visit the returns and refunds section of the website.


text:
$ 449 Price from:
$ 159 Price from:
$ 379 Price from:
$ 79 Price from:
$ 109 Price from:
$ 77 Price from:
$ 138 Price from:
$ 118 Price from:
$ 175 Price from:
$ 89 Price from:
$ 105 Price from:
$ 94 Price from:
$ 89 Price from:
$ 329 Price from:
$ 189 Price from:
If you are looking for an adventurous weekend, Chicago is the place to be. From the Lincoln Zoo to Millennium Park and many points in between Illinois has much to offer residents and tourists alike. If food is your think you will definitely want to try a Chicago deep-dish pizza—there is nothing on earth quite like it. If you want to enjoy Lake Michigan at its finest you should make plans to spend a day at Navy Pier. Don't forget the Sears Tower Sky Deck to get a bird's eye view of the city and you can save a lot of money by getting a Go Chicago Card.
To save money on hotels in Illinois you should book with EasyToBook.com. If you are looking for Illinois cheap hotels be sure to check early for the best rates. If you are looking for discount hotels Illinois might prove challenging because of its popularity though there are plenty of affordable Illinois hotels.
Please provide this reference number to our customer service center representative on request, so we can help you better


text:
Well im going for my first job interview ever and, would like some advice. Im 17 and this isn't a amazing job its just Pathmark lol.
:lurk: Any suggestions?
Printable View
Well im going for my first job interview ever and, would like some advice. Im 17 and this isn't a amazing job its just Pathmark lol.
:lurk: Any suggestions?
don't be nervous and be yourself good luck! :)
stay calm, be excited about the job but don't go overboard on enthusiasm...you'll do great! good luck!
Dress neatly. You don't have to wear a tie or anything, but don't dress like a slob. Khakis and a Polo or button down shirt. Appearance is everything.
Honesty, Reliability and Responsibility
-It's all you dog.. :p
Just don't be a typical 17 year old and you'll be fine...
and what the others said might work too... ;-)
Honestly, just push the fact that your reliable and hard working, ready to do whatever is needed and you'll get it.
I would smoke a joint before hand, when you walk in do the moonwalk.
It will guarentee you the position every time.
Originally Posted by XxH0LyWaRsxX
Do some research (online) about the company. Know what they do and know the lingo. Ask a couple of questions about exactly what your job will be like.
And if they ask you if you've ever stolen anything, the correct answer is "No, never" regardless of the truth.
I agree with Drew, I never told my boss the truth about anything, none of my bosses, its your duty to lie to women and bosses.
lmao :zipit: you guys are funny. Thanks for all the advice, I'll tell you if I get the job or not.
I think it's in the Constitution.Quote:
Originally Posted by Rock
Look presentable, sound dependable and intelligent (none has to be the truth, though). You just want in. After that it'll be easier.
And show up a few minutes before the interview. Should you run late- call ahead to warn them. Responsibility++
there are ways to sit. do not prop head up with hand. make eye contact when talking.
avoid putting hands behind head (meant to be arrogant).
there are loads of posture etc that can effect your interview. there probably some sites which discuss body postions and what they mean. i only seen books and Tv programmes on it.
if you make a mistake at the beginning, carry on as the end of the interview is what they will remember most.
Don't lie about your previous work experience or your other work abilities just to impress the boss. That can get you in deep.
Be honest and remember, being employed is a mutually beneficial position. They're hiring you because they need work done and they benefit from it. You're applying because you need $$ and you benefit from it. Remember this, and you won't be so nervous. It's a deal, not a favor they're doing for you.
I can think of a few postures I would like to see some interviewed people in. Most of which probably get you a job ;) :evillaughQuote:
Originally Posted by body
As others have said, DO NOT LIE UNDER ANY CIRCUMSTANCES.
Unless they ask you some questions. Then, lie your ass off.
Or unless they ask you about stealing. You'd better lie about that.
And if they ask you about prostitution you say youre all for it
LMAO @ the moonwalk comment
The best advice I can offer is answer all their questions in depth, tell a story with the answers if possible. If they ask you something like "how are you going to make it into work each day?" don't just say "I'll drive" go into a bit of detail about how you have a reliable source of transportation and stuff.
They'll usually start off with "so tell me about yourself" this part sucks and you'll usually have no idea what to say. Just think about situations where you solved problems before you go to the interview, you can usually bring them up somewhere and look good.


text:
Next, you'll be asked to connect with Twitter. Rest assured, we will never send a tweet from your account
without your permission.
We will send you an email with an invite soon.
How To Be Funny: Stand-Up Comic @brendan_fitz Takes a Public Speaker to School http://t.co/6tz8J6I7XE via @dinodogan
The Happy Friday Series: How To Find Your Happy via @Soulati
How to Transform Your Brand Image With Easy Office Upgrades via @mike_allton
How to Find Your Purpose by @CraigMcBreen
See what's Trending Now for @Faryna
Follow @Faryna on Twitter


text:
LUBBOCK, TX (KCBD) - Oil and cotton production helped boost the Hockley County population, but another boost came in 1958 with the creation of South Plains College. There are now almost 10,000 students enrolled at the community college, and it continues to grow.
One department that continues to gain world-wide attention is the Creative Arts Department. From a first-of-its-kind music program, to a state-of-the art digital recording technology program, students get hands-on experience that continues to evolve.
"Something that's kind of unique about it is that the walls are going to be lined with what are called variable acoustic panels, and these panels will be able to be pivoted so that different surfaces face into the room so you can essentially change the sound of the room to fit the style of recording that you're doing. I don't think you'll find too many other places that will have something like this," SPC Sound Technology Department Program Coordinator Stuart Moody said.
Students come from as far away as Sweden, Australia, even Indonesia to attend the program and seem to flow with talent and famous names. Lean Womack, Heath Right of Ricochet, and Natalie Maines of the Dixie Chicks all attended SPC.
Copyright 2010 KCBD. All rights reserved.
5600 Avenue A
All content © Copyright 2000 - 2014 Worldnow and KCBD. All Rights Reserved.
For more information on this site, please read our Privacy Policy and Terms of Service.


text: Have you ever seen a mermaid? They're pretty hard to spot, as they tend to swim away quickly whenever there's a human nearby. However...we've found a secret place under the ocean where these sirens like to hide, and it's right here! You can dress up these beautiful mermaids, style their hair, color them in and even give them complete makeovers. You can't give them legs though...that's a job for Ursula, the Sea Witch (watch out for her, by the way)! There's all kinds of aquatic magic in store for you if you dive into these games...don't you know that it's better down where it's wetter?


text:
See and share Beautiful Nature Photos and amazing photos of interesting places
These Success Acrostic poems are examples of Acrostic poems about Success. These are the best examples of Success Acrostic poems written by international PoetrySoup poets
L-iving in a world of vast
souls formed from
another voided world,
E-ntering thru portals
from their world to earth.
O-ozing spetacular smell
and wail when the chips
are down.
N-urtured from cradle to
entity with a new world
to face.
O-rganizes oneself for the
task ahead,passing thru
hurdles of life unabased
and unabashed.
R-eaps the fruit of labor
with joy or heavy heart.
A-ge sets in,mission
accomplished or not will
dawn on the entity.
I-n retrospect,he thinks
about his childhood and
how life was to him.
L-iving in confidence or
shame,he bows his head
in victory or defeat.
O-nly the taste of time
will tell the durability of
his achievements.
V-oid of preference the
aim result bears the
foundation for his lineage.
E-njoyment or lack lies
with the works of the
man,for there is no food
for the slothful.
Y-oung ones,a stitch in
time saves nine,make
haste while the sun
O-iling your lamb always
like the ten virgins is the
key to success.
U-rging you to shun peer
pressure and focus on
the course marked out
for you by fate,so a
fulfilled life you shall live.
An acrostic for you
Leonora Galinita.
Soothing ordinal number, satisfying one's needs,
End of one's endeavor, a completion of a week;
Valuable quantity on spiritual event like Jesus' words on the cross,
Even church sacraments and God's rest after His creation and great work.
Number wrapping the amazing wonders of the world,
The lucky symbol of many international businesses,
Horizontally written going down to fulfillment and success.
Sept.29, 2013 , 5.30 am
Fifth Place
Contest: Skipping Six, Going Straight to Seven Acrostic Challenge #3
Judged: 10/4/2013
Sponsor: Poetess Andrea Dietrich
P aranoia permeates, etching itself into your fractured face,
A cacophony of constant pressure; life remains a stressful race,
N othing to hope for, no positives like promotion in the workplace,
I nability to love, relationships lift anchor and set sail without chase,
C hildren crushing dreams under mortgages; age grows with disgrace
Who am I?
Question indeed!
W-eaned from tender
age,in noble family of ten.
H-urt by the demise of
the tube that brought
me into this theater of
struggles and pains.
O-rdered about by the
whimps of this
world,facing the hurdles
of life daily from
cradle,never giving up
A-fine young man of 28
I am,who has the
experience and wisdom
of the aged.
M-astering the arts of
life-learning from lessons
of life's victims and
didactic poems 'cos man
of fame I intend to be for
I bear the name Bob.
I-lost my poetic gift at a
stage but recovered it in
poetrysoup for invisible
entities say a
lesser being I shall be,but
another encourages me
to move on,for great is
one who comes out of
the shackles of life
undeterred for this is who
I am.
Name: Ifeanyi Bob
New Year's Day dawns bright and clear.
Expectant of an unused year,
We vow to break old habits.
Young or old, we all agree
Everything shall better be.
And as the new year begins,
Ruefully we count our sins,
Seeming to multiply like rabbits.
Down with the old, up with the new.
As Twenty-Thirteen on the old Earth spins,
Year's best I wish for all of you!
December 27, 2012
IF your journey feels so heavy
YOU don't know what to do
NEED someone in the ready
A brother to pull you through
FRIEND dry your tears I'll be steady
I am never going to leave your side
SAILING with you on stormy seas
RIGHT now, and always forever
BEHIND to catch when you need me
LIKE an angel you can count on
A rock to comfort in uncertain times
BRIDGE of hope I'll cross to rescue
OVER the years when life doesn't rhyme
TROUBLED friend who's down and out
WATERS won't drown, It's time to shine
I will lay it all down to keep you sailing
WILL see you embrace dreams one day
EASE your sails friend your getting closer
YOUR almost there you've found your way
MIND now relax that's success your inhaling
Acrostic Poem
Dave Wood 2014
Form: Acrostic
Contest: Bridge over troubled waters
Sponsored by: Roy Jerden
Live your life like there's no tomorrow.
It's not healthy to wallow in self pity and sorrow.
Visualize your happiness and let it be so.
Exercise life's success and don't throw opportunities out the window!
Laughing is good for the soul,
And going without a good laugh can take it's toll.
Unselfishly cheer up your fellow man.
Gratefully you'll receive a number one fan.
Help those in need to succeed and don't succomb to greed!
Love with all your might so that person is always smiling from ear to ear.
Overcome those demons at night so they'll disappear.
Visualize your happiness and let it be so.
Exercise life's success and don't throw opportunities out the window!
*Wrote for Tirzah Conway's contest Live, Laugh, Love
Jump right in,
Unless you
Things won't get done.
Overdo or
It may
Tire you too fast.
Never procrastinate
Or you
Won't achieve your dreams.
Chaotic disarray no doubt,
Lost things never found,
Understanding things must change,
Time is wasted searching 'round.
Take control and organize,
Everything must have its place.
Remove the unessential junk,
Freeing up much needed space.
Regroup, remove, refine, refresh,
Eventually you'll have success,
Evicting all your cluttered mess.
(Now if I'd only follow my own instructions!)
Forever faithful to words with which I formulate poems which
Rhymes and others that don't but on the whole these words
Enriches my heart yet it deepens the weary thoughts that can
Dictate all that is communicating with my mind trying to fulfil
Dreams which will put me on the road to freedom
Instigating a whirlpool of fabulous works and
Enhances the publisher to produce the book of a lifetime?
Vive ut vivas, live so that you may live VIVE