Network Working Group J. Schoenwaelder, Editor
Internet-Draft TU Braunschweig
Expires December 1999 10 June 1999
SNMP-over-TCP Transport Mapping
<draft-irtf-nmrg-snmp-tcp-01.txt>
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026. Internet-Drafts are
working documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also
distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Distribution of this document is unlimited. Please send comments to
the Network Management Research Group, <nmrg@ibr.cs.tu-bs.de>.
Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved.
Abstract
This memo defines a transport mapping for using the Simple Network
Management Protocol (SNMP) over TCP. The transport mapping defined in
this memo can be used with any version of SNMP.
J. Schoenwaelder [Page 1]
Internet-Draft SNMP-over-TCP Transport Mapping June 1999
Table of Contents
1 Introduction ................................................. 3
2 Definitions .................................................. 3
3 SNMP over TCP ................................................ 4
3.1 Serialization .............................................. 4
3.2 Well-Known Values .......................................... 4
3.3 Connection Management ...................................... 5
4 Acknowledgments .............................................. 5
5 References ................................................... 6
6 Editor's Address ............................................. 6
7 Full Copyright Statement ..................................... 7
J. Schoenwaelder [Page 2]
Internet-Draft SNMP-over-TCP Transport Mapping June 1999
1. Introduction
This memo defines a transport mapping for using the Simple Network
Management Protocol (SNMP) over TCP. The transport mapping defined in
this memo can be used with any version of SNMP. This document extends
the transport mappings defined in RFC 1906 [1].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [2].
2. Definitions
IRTF-NMRG-SNMP-TM DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-IDENTITY, experimental
FROM SNMPv2-SMI
TEXTUAL-CONVENTION
FROM SNMPv2-TC;
nmrgSnmpDomains MODULE-IDENTITY
LAST-UPDATED "9906101100Z"
ORGANIZATION "IRTF Network Management Research Group"
CONTACT-INFO
"Juergen Schoenwaelder
TU Braunschweig
Bueltenweg 74/75
38106 Braunschweig
Germany
Phone: +49 531 391-3283
Email: schoenw@ibr.cs.tu-bs.de"
DESCRIPTION
"This MIB module defines the SNMP-over-TCP transport mapping."
::= { experimental nmrg(91) 1 }
-- SNMP over TCP over IPv4
snmpTCPDomain OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The SNMP-over-TCP-over-IPv4 transport domain. The
corresponding transport address is of type SnmpTCPAddress."
::= { nmrgSnmpDomains 6 } -- matches first unused value
-- below snmpDomains
SnmpTCPAddress ::= TEXTUAL-CONVENTION
DISPLAY-HINT "1d.1d.1d.1d/2d"
J. Schoenwaelder [Page 3]
Internet-Draft SNMP-over-TCP Transport Mapping June 1999
STATUS current
DESCRIPTION
"Represents a TCP/IPv4 address:
octets contents encoding
1-4 IP-address network-byte order
5-6 TCP-port network-byte order
"
SYNTAX OCTET STRING (SIZE (6))
END
3. SNMP over TCP
SNMP over TCP is an optional transport mapping. Implementors are
encouraged to support SNMP over TCP whenever possible because this
enables applications to make more efficient bulk transfers of MIB
data [3].
The originator of a request/response transaction chooses the
transport protocol for the entire transaction. The transport protocol
MUST NOT change during a transaction.
In general, originators of request/response transactions are free to
use the transport they assume is the best in a given situation.
However, as TCP has a larger footprint on resource usage than UDP,
applications using SNMP over TCP may choose to switch back to UDP by
refusing new TCP connections whenever necessary (e.g. too many open
TCP connections).
3.1. Serialization
Each instance of a message is serialized into a single BER-encoded
message, using the algorithm specified in Section 8 of RFC 1906 [1].
The BER-encoded message is then sent over a TCP connection.
It is possible to exchange multiple SNMP request/response pairs over
a single (persistent) TCP connection. The length field in the BER-
encoded SNMP message is used to separate multiple requests sent over
a single TCP connection.
3.2. Well-Known Values
It is RECOMMENDED that administrators configure their SNMP entities
containing command generators to listen on TCP port 161 for incoming
connections. It is also RECOMMENDED that SNMP entities containing
notification receivers be configured to listen on TCP port 162 for
J. Schoenwaelder [Page 4]
Internet-Draft SNMP-over-TCP Transport Mapping June 1999
connection requests.
When an SNMP entity uses the TCP transport mapping, it MUST be
capable of accepting messages that are at least 8192 octets in size.
Implementation of larger values is encouraged whenever possible.
3.3. Connection Management
The use of TCP connections introduces costs. Connection establishment
and teardown cause additional network traffic. Furthermore,
maintaining open connections binds resources in the network layer of
the underlying operating system.
TCP connections are intended to be used when the size of the
transferred data is large. If a connectionless transport were used
instead, its small packet-size constraint would cause latency to
increase excessively.
Another advantage of using TCP connections, regardless of the message
size, is that you do not need to implement retransmissions at the
application level. This may result in simpler management
applications.
All SNMP entities (whether in an agent role or manager role) can
close TCP connections at any point in time. This ensures that SNMP
entities can control their resource usage and shut down TCP
connections that are not used. SNMP engines SHOULD NOT process any
outstanding requests if the underlying TCP connection has been
closed. A `noResponse' error condition SHOULD be signalled for
outstanding requests for command generator applications if the TCP
connection is closed before a response has been received.
4. Acknowledgments
The definitions in this memo are inspired by definitions found in RFC
1906 [1]. This document is the result of discussions of the Network
Management Research Group (NMRG). Special thanks go to the following
participants for their comments and contributions:
Luca Deri, Jean-Philippe Martin-Flatin, Aiko Pras, Ron Sprenkels,
Bert Wijnen.
J. Schoenwaelder [Page 5]
Internet-Draft SNMP-over-TCP Transport Mapping June 1999
5. References
[1] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Transport Mappings for Version 2 of the Simple Network
Management Protocol (SNMPv2)", RFC 1906, January 1996.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[3] Sprenkels, R., and J.P. Martin-Flatin, "Bulk Transfers of MIB
Data", The Simple Times, Vol. 7, No. 1, pp. 1-7, March 1999.
6. Editor's Address
Juergen Schoenwaelder
TU Braunschweig
Bueltenweg 74/75
38106 Braunschweig
Germany
Phone: +49 531 391-3283
EMail: schoenw@ibr.cs.tu-bs.de
J. Schoenwaelder [Page 6]
Internet-Draft SNMP-over-TCP Transport Mapping June 1999
7. Full Copyright Statement
Copyright (C) The Internet Society (1999). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
J. Schoenwaelder [Page 7]