Definitions of Managed Objects for Data Link Switching using SMIv2
RFC 2024
Document | Type | RFC - Proposed Standard (October 1996) | |
---|---|---|---|
Authors | Dr. David D. Chen , Peter W. Gayek , Shannon D. Nix | ||
Last updated | 2013-03-02 | ||
RFC stream | Internet Engineering Task Force (IETF) | ||
Formats | |||
Additional resources | ftp%3A//host%20name/pub/standards/aiw/maillogs/mib.mail | ||
IESG | Responsible AD | (None) | |
Send notices to | (None) |
RFC 2024
Network Working Group D. Awduche Request for Comments: 3272 Movaz Networks Category: Informational A. Chiu Celion Networks A. Elwalid I. Widjaja Lucent Technologies X. Xiao Redback Networks May 2002 Overview and Principles of Internet Traffic Engineering Status of this Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2002). All Rights Reserved. Abstract This memo describes the principles of Traffic Engineering (TE) in the Internet. The document is intended to promote better understanding of the issues surrounding traffic engineering in IP networks, and to provide a common basis for the development of traffic engineering capabilities for the Internet. The principles, architectures, and methodologies for performance evaluation and performance optimization of operational IP networks are discussed throughout this document. Table of Contents 1.0 Introduction...................................................3 1.1 What is Internet Traffic Engineering?.......................4 1.2 Scope.......................................................7 1.3 Terminology.................................................8 2.0 Background....................................................11 2.1 Context of Internet Traffic Engineering....................12 2.2 Network Context............................................13 2.3 Problem Context............................................14 2.3.1 Congestion and its Ramifications......................16 2.4 Solution Context...........................................16 2.4.1 Combating the Congestion Problem......................18 2.5 Implementation and Operational Context.....................21 Awduche, et. al. Informational [Page 1] RFC 3272 Overview and Principles of Internet TE May 2002 3.0 Traffic Engineering Process Model.............................21 3.1 Components of the Traffic Engineering Process Model........23 3.2 Measurement................................................23 3.3 Modeling, Analysis, and Simulation.........................24 3.4 Optimization...............................................25 4.0 Historical Review and Recent Developments.....................26 4.1 Traffic Engineering in Classical Telephone Networks........26 4.2 Evolution of Traffic Engineering in the Internet...........28 4.2.1 Adaptive Routing in ARPANET...........................28 4.2.2 Dynamic Routing in the Internet.......................29 4.2.3 ToS Routing...........................................30 4.2.4 Equal Cost Multi-Path.................................30 4.2.5 Nimrod................................................31 4.3 Overlay Model..............................................31 4.4 Constraint-Based Routing...................................32 4.5 Overview of Other IETF Projects Related to Traffic Engineering................................................32 4.5.1 Integrated Services...................................32 4.5.2 RSVP..................................................33 4.5.3 Differentiated Services...............................34 4.5.4 MPLS..................................................35 4.5.5 IP Performance Metrics................................36 4.5.6 Flow Measurement......................................37 4.5.7 Endpoint Congestion Management........................37 4.6 Overview of ITU Activities Related to Traffic Engineering................................................38 4.7 Content Distribution.......................................39 5.0 Taxonomy of Traffic Engineering Systems.......................40 5.1 Time-Dependent Versus State-Dependent......................40 5.2 Offline Versus Online......................................41 5.3 Centralized Versus Distributed.............................42 5.4 Local Versus Global........................................42 5.5 Prescriptive Versus Descriptive............................42 5.6 Open-Loop Versus Closed-Loop...............................43 5.7 Tactical vs Strategic......................................43 6.0 Recommendations for Internet Traffic Engineering..............43 6.1 Generic Non-functional Recommendations.....................44 6.2 Routing Recommendations....................................46 6.3 Traffic Mapping Recommendations............................48 6.4 Measurement Recommendations................................49 6.5 Network Survivability......................................50 6.5.1 Survivability in MPLS Based Networks..................52 6.5.2 Protection Option.....................................53 6.6 Traffic Engineering in Diffserv Environments...............54 6.7 Network Controllability....................................56 7.0 Inter-Domain Considerations...................................57 8.0 Overview of Contemporary TE Practices in Operational IP Networks...................................................59 Awduche, et. al. Informational [Page 2] RFC 3272 Overview and Principles of Internet TE May 2002 9.0 Conclusion....................................................63 10.0 Security Considerations......................................63 11.0 Acknowledgments..............................................63 12.0 References...................................................64 13.0 Authors' Addresses...........................................70 14.0 Full Copyright Statement.....................................71 1.0 Introduction This memo describes the principles of Internet traffic engineering. The objective of the document is to articulate the general issues and principles for Internet traffic engineering; and where appropriate to provide recommendations, guidelines, and options for the development of online and offline Internet traffic engineering capabilities and support systems. This document can aid service providers in devising and implementing traffic engineering solutions for their networks. Networking hardware and software vendors will also find this document helpful in the development of mechanisms and support systems for the Internet environment that support the traffic engineering function. This document provides a terminology for describing and understanding common Internet traffic engineering concepts. This document also provides a taxonomy of known traffic engineering styles. In this context, a traffic engineering style abstracts important aspects from a traffic engineering methodology. Traffic engineering styles can be viewed in different ways depending upon the specific context in which they are used and the specific purpose which they serve. The combination of styles and views results in a natural taxonomy of traffic engineering systems. Even though Internet traffic engineering is most effective when applied end-to-end, the initial focus of this document document is intra-domain traffic engineering (that is, traffic engineering within a given autonomous system). However, because a preponderance of Internet traffic tends to be inter-domain (originating in one autonomous system and terminating in another), this document provides an overview of aspects pertaining to inter-domain traffic engineering. 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. Awduche, et. al. Informational [Page 3] RFC 3272 Overview and Principles of Internet TE May 2002 quot;It is up to this DSLw whether to keep either none, some, or all of the NetBIOS name list that was received in the capabilities exchange message sent by this partner DLSw. This object identifies how much information was kept by this DLSw. These names are stored as userConfigured remote entries in dlswDirNBTable. A value of (4), notApplicable, should be returned before a Capabilities Exchange message is received, or if one is never received. Chen, et. al. Standards Track [Page 34] RFC 2024 DLSw MIB using SMIv2 October 1996 If an implementation chooses to keep dlswTConnOperEntrys in the `disconnected' state, this value should remain unchanged." ::= { dlswTConnOperEntry 16 } dlswTConnOperPartnerMacInfo OBJECT-TYPE SYNTAX INTEGER { none (1), -- none is kept partial (2), -- partial list is kept complete (3), -- complete list is kept notApplicable (4) } MAX-ACCESS read-only STATUS current DESCRIPTION "It is up to this DLSw whether to keep either none, some, or all of the MAC address list that was received in the capabilities exchange message sent by this partner DLSw. This object identifies how much information was kept by this DLSw. These names are stored as userConfigured remote entries in dlswDirMACTable. A value of (4), notApplicable, should be returned before a Capabilities Exchange message is received, or if one is never received. If an implementation chooses to keep dlswTConnOperEntrys in the `disconnected' state, this value should remain unchanged." ::= { dlswTConnOperEntry 17 } -- ................................................................... -- Information about the last disconnect of this transport connection. -- These objects make sense only for implementations that keep -- transport connection information around after disconnection. -- ................................................................... dlswTConnOperDiscTime OBJECT-TYPE SYNTAX TimeTicks UNITS "hundredths of a second" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of time (in hundredths of a second) since the dlswTConnOperState last entered `disconnected' state." ::= { dlswTConnOperEntry 18 } dlswTConnOperDiscReason OBJECT-TYPE SYNTAX INTEGER { other (1), capExFailed (2), transportLayerDisc (3), Chen, et. al. Standards Track [Page 35] RFC 2024 DLSw MIB using SMIv2 October 1996 operatorCommand (4), lastCircuitDiscd (5), protocolError (6) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object signifies the reason that either prevented the transport connection from entering the connected state, or caused the transport connection to enter the disconnected state." ::= { dlswTConnOperEntry 19 } dlswTConnOperDiscActiveCir OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of circuits active (not in DISCONNECTED state) at the time the transport connection was last disconnected. This value is zero if the transport connection has never been connected." ::= { dlswTConnOperEntry 20 } -- ................................................................... -- Transport Connection Statistics -- (1) Traffic counts -- ................................................................... dlswTConnOperInDataPkts OBJECT-TYPE SYNTAX Counter32 UNITS "SSP messages" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Switch-to-Switch Protocol (SSP) messages of type DGRMFRAME, DATAFRAME, or INFOFRAME received on this transport connection." ::= { dlswTConnOperEntry 21 } dlswTConnOperOutDataPkts OBJECT-TYPE SYNTAX Counter32 UNITS "SSP messages" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Switch-to-Switch Protocol (SSP) messages of type DGRMFRAME, DATAFRAME, or INFOFRAME transmitted on this transport connection." Chen, et. al. Standards Track [Page 36] RFC 2024 DLSw MIB using SMIv2 October 1996 ::= { dlswTConnOperEntry 22 } dlswTConnOperInDataOctets OBJECT-TYPE SYNTAX Counter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number octets in Switch-to-Switch Protocol (SSP) messages of type DGRMFRAME, DATAFRAME, or INFOFRAME received on this transport connection. Each message is counted starting with the first octet following the SSP message header." ::= { dlswTConnOperEntry 23 } dlswTConnOperOutDataOctets OBJECT-TYPE SYNTAX Counter32 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number octets in Switch-to-Switch Protocol (SSP) messages of type DGRMFRAME, DATAFRAME, or INFOFRAME transmitted on this transport connection. Each message is counted starting with the first octet following the SSP message header." ::= { dlswTConnOperEntry 24 } dlswTConnOperInCntlPkts OBJECT-TYPE SYNTAX Counter32 UNITS "SSP messages" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Switch-to-Switch Protocol (SSP) messages received on this transport connection which were not of type DGRMFRAME, DATAFRAME, or INFOFRAME." ::= { dlswTConnOperEntry 25 } dlswTConnOperOutCntlPkts OBJECT-TYPE SYNTAX Counter32 UNITS "SSP messages" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Switch-to-Switch Protocol (SSP) messages of transmitted on this transport connection which were not of type DGRMFRAME, DATAFRAME, or INFOFRAME." ::= { dlswTConnOperEntry 26 } Chen, et. al. Standards Track [Page 37] RFC 2024 DLSw MIB using SMIv2 October 1996 -- ................................................................... -- (2) Directory activities (Explorer messages) -- ................................................................... dlswTConnOperCURexSents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of CanUReach_ex messages sent on this transport connection." ::= { dlswTConnOperEntry 27 } dlswTConnOperICRexRcvds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of ICanReach_ex messages received on this transport connection." ::= { dlswTConnOperEntry 28 } dlswTConnOperCURexRcvds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of CanUReach_ex messages received on this transport connection." ::= { dlswTConnOperEntry 29 } dlswTConnOperICRexSents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of ICanReach_ex messages sent on this transport connection." ::= { dlswTConnOperEntry 30 } -- ................................................................... dlswTConnOperNQexSents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of NetBIOS_NQ_ex (NetBIOS Name Query-explorer) Chen, et. al. Standards Track [Page 38] RFC 2024 DLSw MIB using SMIv2 October 1996 messages sent on this transport connection." ::= { dlswTConnOperEntry 31 } dlswTConnOperNRexRcvds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of NETBIOS_NR_ex (NetBIOS Name Recognized-explorer) messages received on this transport connection." ::= { dlswTConnOperEntry 32 } dlswTConnOperNQexRcvds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of NETBIOS_NQ_ex messages received on this transport connection." ::= { dlswTConnOperEntry 33 } dlswTConnOperNRexSents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of NETBIOS_NR_ex messages sent on this transport connection." ::= { dlswTConnOperEntry 34 } -- ................................................................... -- (3) Circuit activities on each transport connection -- ................................................................... dlswTConnOperCirCreates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times that circuits entered `circuit_established' state (not counting transitions from `circuit_restart')." ::= { dlswTConnOperEntry 35 } dlswTConnOperCircuits OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of currently active circuits on this transport Chen, et. al. Standards Track [Page 39] RFC 2024 DLSw MIB using SMIv2 October 1996 connection, where `active' means not in `disconnected' state." ::= { dlswTConnOperEntry 36 } -- ------------------------------------------------------------------- -- Transport Connection Specific -- ------------------------------------------------------------------- dlswTConnSpecific OBJECT IDENTIFIER ::= { dlswTConn 4 } dlswTConnTcp OBJECT IDENTIFIER ::= { dlswTConnSpecific 1 } -- ................................................................... -- TCP Transport Connection Specific -- Configuration -- ................................................................... dlswTConnTcpConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF DlswTConnTcpConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table defines the TCP transport connections that will be either initiated by or accepted by this DSLw. It augments the entries in dlswTConnConfigTable whose domain is dlswTCPDomain." ::= { dlswTConnTcp 1 } dlswTConnTcpConfigEntry OBJECT-TYPE SYNTAX DlswTConnTcpConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each conceptual row defines parameters that are specific to dlswTCPDomain transport connections." INDEX { dlswTConnConfigIndex } ::= { dlswTConnTcpConfigTable 1 } DlswTConnTcpConfigEntry ::= SEQUENCE { dlswTConnTcpConfigKeepAliveInt INTEGER, dlswTConnTcpConfigTcpConnections INTEGER, dlswTConnTcpConfigMaxSegmentSize INTEGER } dlswTConnTcpConfigKeepAliveInt OBJECT-TYPE SYNTAX INTEGER (0..1800) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The time in seconds between TCP keepAlive messages when no traffic is flowing. Zero signifies no keepAlive protocol. Chen, et. al. Standards Track [Page 40] RFC 2024 DLSw MIB using SMIv2 October 1996 Changes take effect only for new TCP connections." DEFVAL { 0 } ::= { dlswTConnTcpConfigEntry 1 } dlswTConnTcpConfigTcpConnections OBJECT-TYPE SYNTAX INTEGER (1..16) MAX-ACCESS read-create STATUS current DESCRIPTION "This is our preferred number of TCP connections within a TCP transport connection. The actual number used is negotiated at capabilities exchange time. Changes take effect only for new transport connections." DEFVAL { 2 } ::= { dlswTConnTcpConfigEntry 2 } dlswTConnTcpConfigMaxSegmentSize OBJECT-TYPE SYNTAX INTEGER (0..65535) UNITS "packets" MAX-ACCESS read-create STATUS current DESCRIPTION "This is the number of bytes that this node is willing to receive over the read TCP connection(s). Changes take effect for new transport connections." DEFVAL { 4096 } ::= { dlswTConnTcpConfigEntry 3 } -- ................................................................... -- TCP Transport Connection Specific -- Operation -- ................................................................... dlswTConnTcpOperTable OBJECT-TYPE SYNTAX SEQUENCE OF DlswTConnTcpOperEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of TCP transport connections. It is optional but desirable for the agent to keep an entry for some period of time after the transport connection is disconnected. This allows the manager to capture additional useful information about the connection, in particular, statistical information and the cause of the disconnection." ::= { dlswTConnTcp 2 } dlswTConnTcpOperEntry OBJECT-TYPE SYNTAX DlswTConnTcpOperEntry 1.1. What is Internet Traffic Engineering? Internet traffic engineering is defined as that aspect of Internet network engineering dealing with the issue of performance evaluation and performance optimization of operational IP networks. Traffic Engineering encompasses the application of technology and scientific principles to the measurement, characterization, modeling, and control of Internet traffic [RFC-2702, AWD2]. Enhancing the performance of an operational network, at both the traffic and resource levels, are major objectives of Internet traffic engineering. This is accomplished by addressing traffic oriented performance requirements, while utilizing network resources economically and reliably. Traffic oriented performance measures include delay, delay variation, packet loss, and throughput. An important objective of Internet traffic engineering is to facilitate reliable network operations [RFC-2702]. Reliable network operations can be facilitated by providing mechanisms that enhance network integrity and by embracing policies emphasizing network survivability. This results in a minimization of the vulnerability of the network to service outages arising from errors, faults, and failures occurring within the infrastructure. The Internet exists in order to transfer information from source nodes to destination nodes. Accordingly, one of the most significant functions performed by the Internet is the routing of traffic from ingress nodes to egress nodes. Therefore, one of the most distinctive functions performed by Internet traffic engineering is the control and optimization of the routing function, to steer traffic through the network in the most effective way. Ultimately, it is the performance of the network as seen by end users of network services that is truly paramount. This crucial point should be considered throughout the development of traffic engineering mechanisms and policies. The characteristics visible to end users are the emergent properties of the network, which are the characteristics of the network when viewed as a whole. A central goal of the service provider, therefore, is to enhance the emergent properties of the network while taking economic considerations into account. The importance of the above observation regarding the emergent properties of networks is that special care must be taken when choosing network performance measures to optimize. Optimizing the wrong measures may achieve certain local objectives, but may have Awduche, et. al. Informational [Page 4] RFC 3272 Overview and Principles of Internet TE May 2002 disastrous consequences on the emergent properties of the network and thereby on the quality of service perceived by end-users of network services. A subtle, but practical advantage of the systematic application of traffic engineering concepts to operational networks is that it helps to identify and structure goals and priorities in terms of enhancing the quality of service delivered to end-users of network services. The application of traffic engineering concepts also aids in the measurement and analysis of the achievement of these goals. The optimization aspects of traffic engineering can be achieved through capacity management and traffic management. As used in this document, capacity management includes capacity planning, routing control, and resource management. Network resources of particular interest include link bandwidth, buffer space, and computational resources. Likewise, as used in this document, traffic management includes (1) nodal traffic control functions such as traffic conditioning, queue management, scheduling, and (2) other functions that regulate traffic flow through the network or that arbitrate access to network resources between different packets or between different traffic streams. The optimization objectives of Internet traffic engineering should be viewed as a continual and iterative process of network performance improvement and not simply as a one time goal. Traffic engineering also demands continual development of new technologies and new methodologies for network performance enhancement. The optimization objectives of Internet traffic engineering may change over time as new requirements are imposed, as new technologies emerge, or as new insights are brought to bear on the underlying problems. Moreover, different networks may have different optimization objectives, depending upon their business models, capabilities, and operating constraints. The optimization aspects of traffic engineering are ultimately concerned with network control regardless of the specific optimization goals in any particular environment. Thus, the optimization aspects of traffic engineering can be viewed from a control perspective. The aspect of control within the Internet traffic engineering arena can be pro-active and/or reactive. In the pro-active case, the traffic engineering control system takes preventive action to obviate predicted unfavorable future network states. It may also take perfective action to induce a more desirable state in the future. In the reactive case, the control system responds correctively and perhaps adaptively to events that have already transpired in the network. Awduche, et. al. Informational [Page 5] RFC 3272 Overview and Principles of Internet TE May 2002 The control dimension of Internet traffic engineering responds at multiple levels of temporal resolution to network events. Certain aspects of capacity management, such as capacity planning, respond at very coarse temporal levels, ranging from days to possibly years. The introduction of automatically switched optical transport networks (e.g., based on the Multi-protocol Lambda Switching concepts) could significantly reduce the lifecycle for capacity planning by expediting provisioning of optical bandwidth. Routing control functions operate at intermediate levels of temporal resolution, ranging from milliseconds to days. Finally, the packet level processing functions (e.g., rate shaping, queue management, and scheduling) operate at very fine levels of temporal resolution, ranging from picoseconds to milliseconds while responding to the real-time statistical behavior of traffic. The subsystems of Internet traffic engineering control include: capacity augmentation, routing control, traffic control, and resource control (including control of service policies at network elements). When capacity is to be augmented for tactical purposes, it may be desirable to devise a deployment plan that expedites bandwidth provisioning while minimizing installation costs. Inputs into the traffic engineering control system include network state variables, policy variables, and decision variables. One major challenge of Internet traffic engineering is the realization of automated control capabilities that adapt quickly and cost effectively to significant changes in a network's state, while still maintaining stability. Another critical dimension of Internet traffic engineering is network performance evaluation, which is important for assessing the effectiveness of traffic engineering methods, and for monitoring and verifying compliance with network performance goals. Results from performance evaluation can be used to identify existing problems, guide network re-optimization, and aid in the prediction of potential future problems. Performance evaluation can be achieved in many different ways. The most notable techniques include analytical methods, simulation, and empirical methods based on measurements. When analytical methods or simulation are used, network nodes and links can be modeled to capture relevant operational features such as topology, bandwidth, buffer space, and nodal service policies (link scheduling, packet prioritization, buffer management, etc.). Analytical traffic models can be used to depict dynamic and behavioral traffic characteristics, such as burstiness, statistical distributions, and dependence. Awduche, et. al. Informational [Page 6] RFC 3272 Overview and Principles of Internet TE May 2002 Performance evaluation can be quite complicated in practical network contexts. A number of techniques can be used to simplify the analysis, such as abstraction, decomposition, and approximation. For example, simplifying concepts such as effective bandwidth and effective buffer [Elwalid] may be used to approximate nodal behaviors at the packet level and simplify the analysis at the connection level. Network analysis techniques using, for example, queuing models and approximation schemes based on asymptotic and decomposition techniques can render the analysis even more tractable. In particular, an emerging set of concepts known as network calculus [CRUZ] based on deterministic bounds may simplify network analysis relative to classical stochastic techniques. When using analytical techniques, care should be taken to ensure that the models faithfully reflect the relevant operational characteristics of the modeled network entities. Simulation can be used to evaluate network performance or to verify and validate analytical approximations. Simulation can, however, be computationally costly and may not always provide sufficient insights. An appropriate approach to a given network performance evaluation problem may involve a hybrid combination of analytical techniques, simulation, and empirical methods. As a general rule, traffic engineering concepts and mechanisms must be sufficiently specific and well defined to address known requirements, but simultaneously flexible and extensible to accommodate unforeseen future demands. 1.2. Scope The scope of this document is intra-domain traffic engineering; that is, traffic engineering within a given autonomous system in the Internet. This document will discuss concepts pertaining to intra- domain traffic control, including such issues as routing control, micro and macro resource allocation, and the control coordination problems that arise consequently. This document will describe and characterize techniques already in use or in advanced development for Internet traffic engineering. The way these techniques fit together will be discussed and scenarios in which they are useful will be identified. While this document considers various intra-domain traffic engineering approaches, it focuses more on traffic engineering with MPLS. Traffic engineering based upon manipulation of IGP metrics is not addressed in detail. This topic may be addressed by other working group document(s). Awduche, et. al. Informational [Page 7] RFC 3272 Overview and Principles of Internet TE May 2002 Although the emphasis is on intra-domain traffic engineering, in Section 7.0, an overview of the high level considerations pertaining to inter-domain traffic engineering will be provided. Inter-domain Internet traffic engineering is crucial to the performance enhancement of the global Internet infrastructure. Whenever possible, relevant requirements from existing IETF documents and other sources will be incorporated by reference. 1.3 Terminology This subsection provides terminology which is useful for Internet traffic engineering. The definitions presented apply to this document. These terms may have other meanings elsewhere. - Baseline analysis: A study conducted to serve as a baseline for comparison to the actual behavior of the network. - Busy hour: A one hour period within a specified interval of time (typically 24 hours) in which the traffic load in a network or sub-network is greatest. - Bottleneck: A network element whose input traffic rate tends to be greater than its output rate. - Congestion: A state of a network resource in which the traffic incident on the resource exceeds its output capacity over an interval of time. - Congestion avoidance: An approach to congestion management that attempts to obviate the occurrence of congestion. - Congestion control: An approach to congestion management that attempts to remedy congestion problems that have already occurred. - Constraint-based routing: A class of routing protocols that take specified traffic attributes, network constraints, and policy constraints into account when making routing decisions. Constraint-based routing is applicable to traffic aggregates as well as flows. It is a generalization of QoS routing. Awduche, et. al. Informational [Page 8] RFC 3272 Overview and Principles of Internet TE May 2002 - Demand side congestion management: A congestion management scheme that addresses congestion problems by regulating or conditioning offered load. - Effective bandwidth: The minimum amount of bandwidth that can be assigned to a flow or traffic aggregate in order to deliver 'acceptable service quality' to the flow or traffic aggregate. - Egress traffic: Traffic exiting a network or network element. - Hot-spot: A network element or subsystem which is in a state of congestion. - Ingress traffic: Traffic entering a network or network element. - Inter-domain traffic: Traffic that originates in one Autonomous system and terminates in another. - Loss network: A network that does not provide adequate buffering for traffic, so that traffic entering a busy resource within the network will be dropped rather than queued. - Metric: A parameter defined in terms of standard units of measurement. - Measurement Methodology: A repeatable measurement technique used to derive one or more metrics of interest. - Network Survivability: The capability to provide a prescribed level of QoS for existing services after a given number of failures occur within the network. - Offline traffic engineering: A traffic engineering system that exists outside of the network. Awduche, et. al. Informational [Page 9] RFC 3272 Overview and Principles of Internet TE May 2002 - Online traffic engineering: A traffic engineering system that exists within the network, typically implemented on or as adjuncts to operational network elements. - Performance measures: Metrics that provide quantitative or qualitative measures of the performance of systems or subsystems of interest. - Performance management: A systematic approach to improving effectiveness in the accomplishment of specific networking goals related to performance improvement. - Performance Metric: A performance parameter defined in terms of standard units of measurement. - Provisioning: The process of assigning or configuring network resources to meet certain requests. - QoS routing: Class of routing systems that selects paths to be used by a flow based on the QoS requirements of the flow. - Service Level Agreement: A contract between a provider and a customer that guarantees specific levels of performance and reliability at a certain cost. - Stability: An operational state in which a network does not oscillate in a disruptive manner from one mode to another mode. - Supply side congestion management: A congestion management scheme that provisions additional network resources to address existing and/or anticipated congestion problems. - Transit traffic: Traffic whose origin and destination are both outside of the network under consideration. - Traffic characteristic: A description of the temporal behavior or a description of the attributes of a given traffic flow or traffic aggregate. Awduche, et. al. Informational [Page 10] RFC 3272 Overview and Principles of Internet TE May 2002 - Traffic engineering system: A collection of objects, mechanisms, and protocols that are used conjunctively to accomplish traffic engineering objectives. - Traffic flow: A stream of packets between two end-points that can be characterized in a certain way. A micro-flow has a more specific definition: A micro-flow is a stream of packets with the same source and destination addresses, source and destination ports, and protocol ID. - Traffic intensity: A measure of traffic loading with respect to a resource capacity over a specified period of time. In classical telephony systems, traffic intensity is measured in units of Erlang. - Traffic matrix: A representation of the traffic demand between a set of origin and destination abstract nodes. An abstract node can consist of one or more network elements. - Traffic monitoring: The process of observing traffic characteristics at a given point in a network and collecting the traffic information for analysis and further action. - Traffic trunk: An aggregation of traffic flows belonging to the same class which are forwarded through a common path. A traffic trunk may be characterized by an ingress and egress node, and a set of attributes which determine its behavioral characteristics and requirements from the network. 2.0 Background The Internet has quickly evolved into a very critical communications infrastructure, supporting significant economic, educational, and social activities. Simultaneously, the delivery of Internet communications services has become very competitive and end-users are demanding very high quality service from their service providers. Consequently, performance optimization of large scale IP networks, especially public Internet backbones, have become an important problem. Network performance requirements are multi-dimensional, complex, and sometimes contradictory; making the traffic engineering problem very challenging. Awduche, et. al. Informational [Page 11] RFC 3272 Overview and Principles of Internet TE May 2002 Chen, et. al. Standards Track [Page 41] RFC 2024 DLSw MIB using SMIv2 October 1996 MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { dlswTConnOperTDomain, dlswTConnOperRemoteTAddr } ::= { dlswTConnTcpOperTable 1 } DlswTConnTcpOperEntry ::= SEQUENCE { dlswTConnTcpOperKeepAliveInt INTEGER, dlswTConnTcpOperPrefTcpConnections INTEGER, dlswTConnTcpOperTcpConnections INTEGER } dlswTConnTcpOperKeepAliveInt OBJECT-TYPE SYNTAX INTEGER (0..1800) UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The time in seconds between TCP keepAlive messages when no traffic is flowing. Zero signifies no keepAlive protocol is operating." ::= { dlswTConnTcpOperEntry 1 } dlswTConnTcpOperPrefTcpConnections OBJECT-TYPE SYNTAX INTEGER (1..16) MAX-ACCESS read-only STATUS current DESCRIPTION "This is the number of TCP connections preferred by this DLSw partner, as received in its capabilities exchange message." ::= { dlswTConnTcpOperEntry 2 } dlswTConnTcpOperTcpConnections OBJECT-TYPE SYNTAX INTEGER (1..16) MAX-ACCESS read-only STATUS current DESCRIPTION "This is the actual current number of TCP connections within this transport connection." ::= { dlswTConnTcpOperEntry 3 } -- ******************************************************************* -- DLSW INTERFACE GROUP -- ******************************************************************* dlswIfTable OBJECT-TYPE Chen, et. al. Standards Track [Page 42] RFC 2024 DLSw MIB using SMIv2 October 1996 SYNTAX SEQUENCE OF DlswIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The list of interfaces on which DLSw is active." ::= { dlswInterface 1 } dlswIfEntry OBJECT-TYPE SYNTAX DlswIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { ifIndex } ::= { dlswIfTable 1 } DlswIfEntry ::= SEQUENCE { dlswIfRowStatus RowStatus, dlswIfVirtualSegment INTEGER, dlswIfSapList OCTET STRING } dlswIfRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used by the manager to create or delete the row entry in the dlswIfTable following the RowStatus textual convention." ::= { dlswIfEntry 1 } dlswIfVirtualSegment OBJECT-TYPE SYNTAX INTEGER (0..4095 | 65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The segment number that uniquely identifies the virtual segment to which this DLSw interface is connected. Current source routing protocols limit this value to the range 0 - 4095. (The value 0 is used by some management applications for special test cases.) A value of 65535 signifies that no virtual segment is assigned to this interface. For instance, in a non-source routing environment, segment number assignment is not required." DEFVAL { 65535 } ::= { dlswIfEntry 2 } Chen, et. al. Standards Track [Page 43] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswIfSapList OBJECT-TYPE SYNTAX OCTET STRING (SIZE(16)) MAX-ACCESS read-create STATUS current DESCRIPTION "The SAP list indicates which SAPs are allowed to be data link switched through this interface. This list has the same format described for dlswTConnConfigSapList. When changes to this object take effect is implementation- specific. Turning off a particular SAP can destroy active circuits that are using that SAP. An agent implementation may reject such changes until there are no active circuits if it so chooses. In this case, it is up to the manager to close the circuits first, using dlswCircuitState. The DEFVAL below indicates support for SAPs 0, 4, 8, and C." DEFVAL { 'AA000000000000000000000000000000'H } ::= { dlswIfEntry 3 } -- ******************************************************************* -- DIRECTORY -- Directory services caches the locations of MAC addresses -- and NetBIOS names. For resources which are attached via -- local interfaces, the ifIndex may be cached, and for -- resources which are reachable via a DLSw partner, the -- transport address of the DLSw partner is cached. -- ******************************************************************* -- ------------------------------------------------------------------- -- Directory Related Statistical Objects -- ------------------------------------------------------------------- dlswDirStat OBJECT IDENTIFIER ::= { dlswDirectory 1 } dlswDirMacEntries OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current total number of entries in the dlswDirMacTable." ::= { dlswDirStat 1 } dlswDirMacCacheHits OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current Chen, et. al. Standards Track [Page 44] RFC 2024 DLSw MIB using SMIv2 October 1996 DESCRIPTION "The number of times a cache search for a particular MAC address resulted in success." ::= { dlswDirStat 2 } dlswDirMacCacheMisses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times a cache search for a particular MAC address resulted in failure." ::= { dlswDirStat 3 } dlswDirMacCacheNextIndex OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The next value of dlswDirMacIndex to be assigned by the agent. A retrieval of this object atomically reserves the returned value for use by the manager to create a row in dlswDirMacTable. This makes it possible for the agent to control the index space of the MAC address cache, yet allows the manager to administratively create new rows." ::= { dlswDirStat 4 } dlswDirNBEntries OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The current total number of entries in the dlswDirNBTable." ::= { dlswDirStat 5 } dlswDirNBCacheHits OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times a cache search for a particular NetBIOS name resulted in success." ::= { dlswDirStat 6 } dlswDirNBCacheMisses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current Chen, et. al. Standards Track [Page 45] RFC 2024 DLSw MIB using SMIv2 October 1996 DESCRIPTION "The number of times a cache search for a particular NetBIOS name resulted in failure." ::= { dlswDirStat 7 } dlswDirNBCacheNextIndex OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The next value of dlswDirNBIndex to be assigned by the agent. A retrieval of this object atomically reserves the returned value for use by the manager to create a row in dlswDirNBTable. This makes it possible for the agent to control the index space for the NetBIOS name cache, yet allows the manager to administratively create new rows." ::= { dlswDirStat 8 } -- ------------------------------------------------------------------- -- Directory Cache -- ------------------------------------------------------------------- dlswDirCache OBJECT IDENTIFIER ::= { dlswDirectory 2 } -- ................................................................... -- Directory for MAC Addresses. -- All Possible combinations of values of these objects. -- -- EntryType LocationType Location Status -- -------------- ------------ ------------------ -------------- -- userConfigured local ifEntry or 0.0 reachable, or -- notReachable, or -- unknown -- userConfigured remote TConnConfigEntry reachable, or -- notReachable, or -- unknown -- partnerCapExMsg remote TConnOperEntry unknown -- dynamic local ifEntry or 0.0 reachable -- dynamic remote TConnOperEntry reachable -- -- ................................................................... dlswDirMacTable OBJECT-TYPE SYNTAX SEQUENCE OF DlswDirMacEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains locations of MAC addresses. They could be either verified or not verified, Chen, et. al. Standards Track [Page 46] RFC 2024 DLSw MIB using SMIv2 October 1996 local or remote, and configured locally or learned from either Capabilities Exchange messages or directory searches." ::= { dlswDirCache 1 } dlswDirMacEntry OBJECT-TYPE SYNTAX DlswDirMacEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indexed by dlswDirMacIndex." INDEX { dlswDirMacIndex } ::= { dlswDirMacTable 1 } DlswDirMacEntry ::= SEQUENCE { dlswDirMacIndex INTEGER, dlswDirMacMac MacAddressNC, dlswDirMacMask MacAddressNC, dlswDirMacEntryType INTEGER, dlswDirMacLocationType INTEGER, dlswDirMacLocation RowPointer, dlswDirMacStatus INTEGER, dlswDirMacLFSize LFSize, dlswDirMacRowStatus RowStatus } dlswDirMacIndex OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies a conceptual row of this table." ::= { dlswDirMacEntry 1 } dlswDirMacMac OBJECT-TYPE SYNTAX MacAddressNC MAX-ACCESS read-create STATUS current DESCRIPTION "The MAC address, together with the dlswDirMacMask, specifies a set of MAC addresses that are defined or discovered through an interface or partner DLSw nodes." ::= { dlswDirMacEntry 2 } dlswDirMacMask OBJECT-TYPE SYNTAX MacAddressNC MAX-ACCESS read-create STATUS current Chen, et. al. Standards Track [Page 47] RFC 2024 DLSw MIB using SMIv2 October 1996 DESCRIPTION "The MAC address mask, together with the dlswDirMacMac, specifies a set of MAC addresses that are defined or discovered through an interface or partner DLSw nodes." DEFVAL { 'FFFFFFFFFFFF'H } ::= { dlswDirMacEntry 3 } dlswDirMacEntryType OBJECT-TYPE SYNTAX INTEGER { other (1), userConfiguredPublic (2), userConfiguredPrivate (3), partnerCapExMsg (4), dynamic (5) } MAX-ACCESS read-create STATUS current DESCRIPTION "The cause of the creation of this conceptual row. It could be one of the three methods: (1) user configured, including via management protocol set operations, configuration file, command line or equivalent methods; (2) learned from the partner DLSw Capabilities Exchange messages; and (3) dynamic, e.g., learned from ICanReach messages, or LAN explorer frames. Since only individual MAC addresses can be dynamically learned, dynamic entries will all have a mask of all FFs. The public versus private distinction for user- configured resources applies only to local resources (UC remote resources are private), and indicates whether that resource should be advertised in capabilities exchange messages sent by this node." DEFVAL { userConfiguredPublic } ::= { dlswDirMacEntry 4 } dlswDirMacLocationType OBJECT-TYPE SYNTAX INTEGER { other (1), local (2), remote (3) } MAX-ACCESS read-create STATUS current DESCRIPTION "The location of the resource (or a collection of resources using a mask) of this conceptual row Chen, et. al. Standards Track [Page 48] RFC 2024 DLSw MIB using SMIv2 October 1996 is either (1) local - the resource is reachable via an interface, or (2) remote - the resource is reachable via a partner DLSw node (or a set of partner DLSw nodes)." DEFVAL { local } ::= { dlswDirMacEntry 5 } dlswDirMacLocation OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "Points to either the ifEntry, dlswTConnConfigEntry, dlswTConnOperEntry, 0.0, or something that is implementation specific. It identifies the location of the MAC address (or the collection of MAC addresses.)" DEFVAL { null } ::= { dlswDirMacEntry 6 } dlswDirMacStatus OBJECT-TYPE SYNTAX INTEGER { unknown (1), reachable (2), notReachable (3) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies whether DLSw currently believes the MAC address to be accessible at the specified location. The value `notReachable' allows a configured resource definition to be taken out of service when a search to that resource fails (avoiding a repeat of the search)." DEFVAL { unknown } ::= { dlswDirMacEntry 7 } dlswDirMacLFSize OBJECT-TYPE SYNTAX LFSize MAX-ACCESS read-create STATUS current DESCRIPTION "The largest size of the MAC INFO field (LLC header and data) that a circuit to the MAC address can carry through this path." DEFVAL { lfs65535 } ::= { dlswDirMacEntry 8 } dlswDirMacRowStatus OBJECT-TYPE SYNTAX RowStatus Chen, et. al. Standards Track [Page 49] RFC 2024 DLSw MIB using SMIv2 October 1996 MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used by the manager to create or delete the row entry in the dlswDirMacTable following the RowStatus textual convention." ::= { dlswDirMacEntry 9 } -- ................................................................... -- Directory for NetBIOS Names -- All Possible combinations of values of these objects. -- -- EntryType LocationType Location Status -- -------------- ------------ ------------------ -------------- -- userConfigured local ifEntry or 0.0 reachable, or -- notReachable, or -- unknown -- userConfigured remote TConnConfigEntry reachable, or -- notReachable, or -- unknown -- partnerCapExMsg remote TConnOperEntry unknown -- dynamic local ifEntry or 0.0 reachable -- dynamic remote TConnOperEntry reachable -- -- ................................................................... dlswDirNBTable OBJECT-TYPE SYNTAX SEQUENCE OF DlswDirNBEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains locations of NetBIOS names. They could be either verified or not verified, local or remote, and configured locally or learned from either Capabilities Exchange messages or directory searches." ::= { dlswDirCache 2 } dlswDirNBEntry OBJECT-TYPE SYNTAX DlswDirNBEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indexed by dlswDirNBIndex." INDEX { dlswDirNBIndex } ::= { dlswDirNBTable 1 } DlswDirNBEntry ::= SEQUENCE { dlswDirNBIndex INTEGER, Chen, et. al. Standards Track [Page 50] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswDirNBName NBName, dlswDirNBNameType INTEGER, dlswDirNBEntryType INTEGER, dlswDirNBLocationType INTEGER, dlswDirNBLocation RowPointer, dlswDirNBStatus INTEGER, dlswDirNBLFSize LFSize, dlswDirNBRowStatus RowStatus } dlswDirNBIndex OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Uniquely identifies a conceptual row of this table." ::= { dlswDirNBEntry 1 } dlswDirNBName OBJECT-TYPE SYNTAX NBName MAX-ACCESS read-create STATUS current DESCRIPTION "The NetBIOS name (including `any char' and `wildcard' characters) specifies a set of NetBIOS names that are defined or discovered through an interface or partner DLSw nodes." ::= { dlswDirNBEntry 2 } dlswDirNBNameType OBJECT-TYPE SYNTAX INTEGER { unknown (1), individual (2), group (3) } MAX-ACCESS read-create STATUS current DESCRIPTION "Whether dlswDirNBName represents an (or a set of) individual or group NetBIOS name(s)." DEFVAL { unknown } ::= { dlswDirNBEntry 3 } dlswDirNBEntryType OBJECT-TYPE SYNTAX INTEGER { other (1), userConfiguredPublic (2), userConfiguredPrivate (3), Chen, et. al. Standards Track [Page 51] RFC 2024 DLSw MIB using SMIv2 October 1996 partnerCapExMsg (4), dynamic (5) } MAX-ACCESS read-create STATUS current DESCRIPTION "The cause of the creation of this conceptual row. It could be one of the three methods: (1) user configured, including via management protocol set operations, configuration file, command line, or equivalent methods; (2) learned from the partner DLSw Capabilities Exchange messages; and (3) dynamic, e.g., learned from ICanReach messages, or test frames. Since only actual NetBIOS names can be dynamically learned, dynamic entries will not contain any char or wildcard characters. The public versus private distinction for user- configured resources applies only to local resources (UC remote resources are private), and indicates whether that resource should be advertised in capabilities exchange messages sent by this node." DEFVAL { userConfiguredPublic } ::= { dlswDirNBEntry 4 } dlswDirNBLocationType OBJECT-TYPE SYNTAX INTEGER { other (1), local (2), remote (3) } MAX-ACCESS read-create STATUS current DESCRIPTION "The location of the resource (or a collection of resources using any char/wildcard characters) of this conceptual row is either (1) local - the resource is reachable via an interface, or (2) remote - the resource is reachable via a a partner DLSw node (or a set of partner DLSw nodes)." DEFVAL { local } ::= { dlswDirNBEntry 5 } dlswDirNBLocation OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION Chen, et. al. Standards Track [Page 52] RFC 2024 DLSw MIB using SMIv2 October 1996 "Points to either the ifEntry, dlswTConnConfigEntry, dlswTConnOperEntry, 0.0, or something that is implementation specific. It identifies the location of the NetBIOS name or the set of NetBIOS names." DEFVAL { null } ::= { dlswDirNBEntry 6 } dlswDirNBStatus OBJECT-TYPE SYNTAX INTEGER { unknown (1), reachable (2), notReachable (3) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies whether DLSw currently believes the NetBIOS name to be accessible at the specified location. The value `notReachable' allows a configured resource definition to be taken out of service when a search to that resource fails (avoiding a repeat of the search)." DEFVAL { unknown } ::= { dlswDirNBEntry 7 } dlswDirNBLFSize OBJECT-TYPE SYNTAX LFSize MAX-ACCESS read-create STATUS current DESCRIPTION "The largest size of the MAC INFO field (LLC header and data) that a circuit to the NB name can carry through this path." DEFVAL { lfs65535 } ::= { dlswDirNBEntry 8 } dlswDirNBRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used by manager to create or delete the row entry in the dlswDirNBTable following the RowStatus textual convention." ::= { dlswDirNBEntry 9 } -- ------------------------------------------------------------------- -- Resource Locations -- ------------------------------------------------------------------- Chen, et. al. Standards Track [Page 53] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswDirLocate OBJECT IDENTIFIER ::= { dlswDirectory 3 } -- ................................................................... -- Locate Entries in the dlswDirMacTable for a given MAC address -- ................................................................... dlswDirLocateMacTable OBJECT-TYPE SYNTAX SEQUENCE OF DlswDirLocateMacEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION &The network must convey IP packets from ingress nodes to egress nodes efficiently, expeditiously, and economically. Furthermore, in a multiclass service environment (e.g., Diffserv capable networks), the resource sharing parameters of the network must be appropriately determined and configured according to prevailing policies and service models to resolve resource contention issues arising from mutual interference between packets traversing through the network. Thus, consideration must be given to resolving competition for network resources between traffic streams belonging to the same service class (intra-class contention resolution) and traffic streams belonging to different classes (inter-class contention resolution). 2.1 Context of Internet Traffic Engineering The context of Internet traffic engineering pertains to the scenarios where traffic engineering is used. A traffic engineering methodology establishes appropriate rules to resolve traffic performance issues occurring in a specific context. The context of Internet traffic engineering includes: (1) A network context defining the universe of discourse, and in particular the situations in which the traffic engineering problems occur. The network context includes network structure, network policies, network characteristics, network constraints, network quality attributes, and network optimization criteria. (2) A problem context defining the general and concrete issues that traffic engineering addresses. The problem context includes identification, abstraction of relevant features, representation, formulation, specification of the requirements on the solution space, and specification of the desirable features of acceptable solutions. (3) A solution context suggesting how to address the issues identified by the problem context. The solution context includes analysis, evaluation of alternatives, prescription, and resolution. (4) An implementation and operational context in which the solutions are methodologically instantiated. The implementation and operational context includes planning, organization, and execution. The context of Internet traffic engineering and the different problem scenarios are discussed in the following subsections. Awduche, et. al. Informational [Page 12] RFC 3272 Overview and Principles of Internet TE May 2002 2.2 Network Context IP networks range in size from small clusters of routers situated within a given location, to thousands of interconnected routers, switches, and other components distributed all over the world. Conceptually, at the most basic level of abstraction, an IP network can be represented as a distributed dynamical system consisting of: (1) a set of interconnected resources which provide transport services for IP traffic subject to certain constraints, (2) a demand system representing the offered load to be transported through the network, and (3) a response system consisting of network processes, protocols, and related mechanisms which facilitate the movement of traffic through the network [see also AWD2]. The network elements and resources may have specific characteristics restricting the manner in which the demand is handled. Additionally, network resources may be equipped with traffic control mechanisms superintending the way in which the demand is serviced. Traffic control mechanisms may, for example, be used to control various packet processing activities within a given resource, arbitrate contention for access to the resource by different packets, and regulate traffic behavior through the resource. A configuration management and provisioning system may allow the settings of the traffic control mechanisms to be manipulated by external or internal entities in order to exercise control over the way in which the network elements respond to internal and external stimuli. The details of how the network provides transport services for packets are specified in the policies of the network administrators and are installed through network configuration management and policy based provisioning systems. Generally, the types of services provided by the network also depends upon the technology and characteristics of the network elements and protocols, the prevailing service and utility models, and the ability of the network administrators to translate policies into network configurations. Contemporary Internet networks have three significant characteristics: (1) they provide real-time services, (2) they have become mission critical, and (3) their operating environments are very dynamic. The dynamic characteristics of IP networks can be attributed in part to fluctuations in demand, to the interaction between various network protocols and processes, to the rapid evolution of the infrastructure which demands the constant inclusion of new technologies and new network elements, and to transient and persistent impairments which occur within the system. Awduche, et. al. Informational [Page 13] RFC 3272 Overview and Principles of Internet TE May 2002 Packets contend for the use of network resources as they are conveyed through the network. A network resource is considered to be congested if the arrival rate of packets exceed the output capacity of the resource over an interval of time. Congestion may result in some of the arrival packets being delayed or even dropped. Congestion increases transit delays, delay variation, packet loss, and reduces the predictability of network services. Clearly, congestion is a highly undesirable phenomenon. Combating congestion at a reasonable cost is a major objective of Internet traffic engineering. Efficient sharing of network resources by multiple traffic streams is a basic economic premise for packet switched networks in general and for the Internet in particular. A fundamental challenge in network operation, especially in a large scale public IP network, is to increase the efficiency of resource utilization while minimizing the possibility of congestion. Increasingly, the Internet will have to function in the presence of different classes of traffic with different service requirements. The advent of Differentiated Services [RFC-2475] makes this requirement particularly acute. Thus, packets may be grouped into behavior aggregates such that each behavior aggregate may have a common set of behavioral characteristics or a common set of delivery requirements. In practice, the delivery requirements of a specific set of packets may be specified explicitly or implicitly. Two of the most important traffic delivery requirements are capacity constraints and QoS constraints. Capacity constraints can be expressed statistically as peak rates, mean rates, burst sizes, or as some deterministic notion of effective bandwidth. QoS requirements can be expressed in terms of (1) integrity constraints such as packet loss and (2) in terms of temporal constraints such as timing restrictions for the delivery of each packet (delay) and timing restrictions for the delivery of consecutive packets belonging to the same traffic stream (delay variation). 2.3 Problem Context Fundamental problems exist in association with the operation of a network described by the simple model of the previous subsection. This subsection reviews the problem context in relation to the traffic engineering function. Awduche, et. al. Informational [Page 14] RFC 3272 Overview and Principles of Internet TE May 2002 The identification, abstraction, representation, and measurement of network features relevant to traffic engineering is a significant issue. One particularly important class of problems concerns how to explicitly formulate the problems that traffic engineering attempts to solve, how to identify the requirements on the solution space, how to specify the desirable features of good solutions, how to actually solve the problems, and how to measure and characterize the effectiveness of the solutions. Another class of problems concerns how to measure and estimate relevant network state parameters. Effective traffic engineering relies on a good estimate of the offered traffic load as well as a view of the underlying topology and associated resource constraints. A network-wide view of the topology is also a must for offline planning. Still another class of problems concerns how to characterize the state of the network and how to evaluate its performance under a variety of scenarios. The performance evaluation problem is two- fold. One aspect of this problem relates to the evaluation of the system level performance of the network. The other aspect relates to the evaluation of the resource level performance, which restricts attention to the performance analysis of individual network resources. In this memo, we refer to the system level characteristics of the network as the "macro-states" and the resource level characteristics as the "micro-states." The system level characteristics are also known as the emergent properties of the network as noted earlier. Correspondingly, we shall refer to the traffic engineering schemes dealing with network performance optimization at the systems level as "macro-TE" and the schemes that optimize at the individual resource level as "micro-TE." Under certain circumstances, the system level performance can be derived from the resource level performance using appropriate rules of composition, depending upon the particular performance measures of interest. Another fundamental class of problems concerns how to effectively optimize network performance. Performance optimization may entail translating solutions to specific traffic engineering problems into network configurations. Optimization may also entail some degree of resource management control, routing control, and/or capacity augmentation. Awduche, et. al. Informational [Page 15] RFC 3272 Overview and Principles of Internet TE May 2002 As noted previously, congestion is an undesirable phenomena in operational networks. Therefore, the next subsection addresses the issue of congestion and its ramifications within the problem context of Internet traffic engineering. 2.3.1 Congestion and its Ramifications Congestion is one of the most significant problems in an operational IP context. A network element is said to be congested if it experiences sustained overload over an interval of time. Congestion almost always results in degradation of service quality to end users. Congestion control schemes can include demand side policies and supply side policies. Demand side policies may restrict access to congested resources and/or dynamically regulate the demand to alleviate the overload situation. Supply side policies may expand or augment network capacity to better accommodate offered traffic. Supply side policies may also re-allocate network resources by redistributing traffic over the infrastructure. Traffic redistribution and resource re-allocation serve to increase the 'effective capacity' seen by the demand. The emphasis of this memo is primarily on congestion management schemes falling within the scope of the network, rather than on congestion management systems dependent upon sensitivity and adaptivity from end-systems. That is, the aspects that are considered in this memo with respect to congestion management are those solutions that can be provided by control entities operating on the network and by the actions of network administrators and network operations systems. 2.4 Solution Context The solution context for Internet traffic engineering involves analysis, evaluation of alternatives, and choice between alternative courses of action. Generally the solution context is predicated on making reasonable inferences about the current or future state of the network, and subsequently making appropriate decisions that may involve a preference between alternative sets of action. More specifically, the solution context demands reasonable estimates of traffic workload, characterization of network state, deriving solutions to traffic engineering problems which may be implicitly or explicitly formulated, and possibly instantiating a set of control actions. Control actions may involve the manipulation of parameters associated with routing, control over tactical capacity acquisition, and control over the traffic management functions. The following list of instruments may be applicable to the solution context of Internet traffic engineering. Awduche, et. al. Informational [Page 16] RFC 3272 Overview and Principles of Internet TE May 2002 (1) A set of policies, objectives, and requirements (which may be context dependent) for network performance evaluation and performance optimization. (2) A collection of online and possibly offline tools and mechanisms for measurement, characterization, modeling, and control of Internet traffic and control over the placement and allocation of network resources, as well as control over the mapping or distribution of traffic onto the infrastructure. (3) A set of constraints on the operating environment, the network protocols, and the traffic engineering system itself. (4) A set of quantitative and qualitative techniques and methodologies for abstracting, formulating, and solving traffic engineering problems. (5) A set of administrative control parameters which may be manipulated through a Configuration Management (CM) system. The CM system itself may include a configuration control subsystem, a configuration repository, a configuration accounting subsystem, and a configuration auditing subsystem. (6) A set of guidelines for network performance evaluation, performance optimization, and performance improvement. Derivation of traffic characteristics through measurement and/or estimation is very useful within the realm of the solution space for traffic engineering. Traffic estimates can be derived from customer subscription information, traffic projections, traffic models, and from actual empirical measurements. The empirical measurements may be performed at the traffic aggregate level or at the flow level in order to derive traffic statistics at various levels of detail. Measurements at the flow level or on small traffic aggregates may be performed at edge nodes, where traffic enters and leaves the network. Measurements at large traffic aggregate levels may be performed within the core of the network where potentially numerous traffic flows may be in transit concurrently. To conduct performance studies and to support planning of existing and future networks, a routing analysis may be performed to determine the path(s) the routing protocols will choose for various traffic demands, and to ascertain the utilization of network resources as traffic is routed through the network. The routing analysis should capture the selection of paths through the network, the assignment of Awduche, et. al. Informational [Page 17] RFC 3272 Overview and Principles of Internet TE May 2002 traffic across multiple feasible routes, and the multiplexing of IP traffic over traffic trunks (if such constructs exists) and over the underlying network infrastructure. A network topology model is a necessity for routing analysis. A network topology model may be extracted from network architecture documents, from network designs, from information contained in router configuration files, from routing databases, from routing tables, or from automated tools that discover and depict network topology information. Topology information may also be derived from servers that monitor network state, and from servers that perform provisioning functions. Routing in operational IP networks can be administratively controlled at various levels of abstraction including the manipulation of BGP attributes and manipulation of IGP metrics. For path oriented technologies such as MPLS, routing can be further controlled by the manipulation of relevant traffic engineering parameters, resource parameters, and administrative policy constraints. Within the context of MPLS, the path of an explicit label switched path (LSP) can be computed and established in various ways including: (1) manually, (2) automatically online using constraint-based routing processes implemented on label switching routers, and (3) automatically offline using constraint-based routing entities implemented on external traffic engineering support systems. 2.4.1 Combating the Congestion Problem Minimizing congestion is a significant aspect of Internet traffic engineering. This subsection gives an overview of the general approaches that have been used or proposed to combat congestion problems. Congestion management policies can be categorized based upon the following criteria (see e.g., [YARE95] for a more detailed taxonomy of congestion control schemes): (1) Response time scale which can be characterized as long, medium, or short; (2) reactive versus preventive which relates to congestion control and congestion avoidance; and (3) supply side versus demand side congestion management schemes. These aspects are discussed in the following paragraphs. (1) Congestion Management based on Response Time Scales - Long (weeks to months): Capacity planning works over a relatively long time scale to expand network capacity based on estimates or forecasts of future traffic demand and traffic distribution. Since router and link provisioning take time and are generally expensive, these upgrades are typically carried out in the weeks-to-months or even years time scale. Awduche, et. al. Informational [Page 18] RFC 3272 Overview and Principles of Internet TE May 2002 - Medium (minutes to days): Several control policies fall within the medium time scale category. Examples include: (1) Adjusting IGP and/or BGP parameters to route traffic away or towards certain segments of the network; (2) Setting up and/or adjusting some explicitly routed label switched paths (ER-LSPs) in MPLS networks to route some traffic trunks away from possibly congested resources or towards possibly more favorable routes; (3) re-configuring the logical topology of the network to make it correlate more closely with the spatial traffic distribution using for example some underlying path-oriented technology such as MPLS LSPs, ATM PVCs, or optical channel trails. Many of these adaptive medium time scale response schemes rely on a measurement system that monitors changes in traffic distribution, traffic shifts, and network resource utilization and subsequently provides feedback to the online and/or offline traffic engineering mechanisms and tools which employ this feedback information to trigger certain control actions to occur within the network. The traffic engineering mechanisms and tools can be implemented in a distributed fashion or in a centralized fashion, and may have a hierarchical structure or a flat structure. The comparative merits of distributed and centralized control structures for networks are well known. A centralized scheme may have global visibility into the network state and may produce potentially more optimal solutions. However, centralized schemes are prone to single points of failure and may not scale as well as distributed schemes. Moreover, the information utilized by a centralized scheme may be stale and may not reflect the actual state of the network. It is not an objective of this memo to make a recommendation between distributed and centralized schemes. This is a choice that network administrators must make based on their specific needs. - Short (picoseconds to minutes): This category includes packet level processing functions and events on the order of several round trip times. It includes router mechanisms such as passive and active buffer management. These mechanisms are used to control congestion and/or signal congestion to end systems so that they can adaptively regulate the rate at which traffic is injected into the network. One of the most popular active queue management schemes, especially for TCP traffic, is Random Early Detection (RED) [FLJA93], which supports congestion avoidance by controlling the average queue size. During congestion (but before the queue is filled), the RED scheme chooses arriving packets to "mark" according to a probabilistic algorithm which takes into account the average queue size. For a router that does not utilize explicit congestion notification (ECN) see e.g., [FLOY94], the marked packets can simply be dropped to signal the inception of congestion to end systems. On the other hand, if the router supports ECN, then it can set the ECN field in the packet header. Several variations of RED have been proposed to support different drop precedence levels in multi-class environments [RFC- Awduche, et. al. Informational [Page 19] RFC 3272 Overview and Principles of Internet TE May 2002 2597], e.g., RED with In and Out (RIO) and Weighted RED. There is general consensus that RED provides congestion avoidance performance which is not worse than traditional Tail-Drop (TD) queue management (drop arriving packets only when the queue is full). Importantly, however, RED reduces the possibility of global synchronization and improves fairness among different TCP sessions. However, RED by itself can not prevent congestion and unfairness caused by sources unresponsive to RED, e.g., UDP traffic and some misbehaved greedy connections. Other schemes have been proposed to improve the performance and fairness in the presence of unresponsive traffic. Some of these schemes were proposed as theoretical frameworks and are typically not available in existing commercial products. Two such schemes are Longest Queue Drop (LQD) and Dynamic Soft Partitioning with Random Drop (RND) [SLDC98]. (2) Congestion Management: Reactive versus Preventive Schemes - Reactive: reactive (recovery) congestion management policies react to existing congestion problems to improve it. All the policies described in the long and medium time scales above can be categorized as being reactive especially if the policies are based on monitoring and identifying existing congestion problems, and on the initiation of relevant actions to ease a situation. - Preventive: preventive (predictive/avoidance) policies take proactive action to prevent congestion based on estimates and predictions of future potential congestion problems. Some of the policies described in the long and medium time scales fall into this category. They do not necessarily respond immediately to existing congestion problems. Instead forecasts of traffic demand and workload distribution are considered and action may be taken to prevent potential congestion problems in the future. The schemes described in the short time scale (e.g., RED and its variations, ECN, LQD, and RND) are also used for congestion avoidance since dropping or marking packets before queues actually overflow would trigger corresponding TCP sources to slow down. (3) Congestion Management: Supply Side versus Demand Side Schemes - Supply side: supply side congestion management policies increase the effective capacity available to traffic in order to control or obviate congestion. This can be accomplished by augmenting capacity. Another way to accomplish this is to minimize congestion by having a relatively balanced distribution of traffic over the network. For example, capacity planning should aim to provide a physical topology and associated link bandwidths that match estimated traffic workload and traffic distribution based on forecasting (subject to budgetary and other constraints). However, if actual traffic distribution does Awduche, et. al. Informational [Page 20] RFC 3272 Overview and Principles of Internet TE May 2002 not match the topology derived from capacity panning (due to forecasting errors or facility constraints for example), then the traffic can be mapped onto the existing topology using routing control mechanisms, using path oriented technologies (e.g., MPLS LSPs and optical channel trails) to modify the logical topology, or by using some other load redistribution mechanisms. - Demand side: demand side congestion management policies control or regulate the offered traffic to alleviate congestion problems. For example, some of the short time scale mechanisms described earlier (such as RED and its variations, ECN, LQD, and RND) as well as policing and rate shaping mechanisms attempt to regulate the offered load in various ways. Tariffs may also be applied as a demand side instrument. To date, however, tariffs have not been used as a means of demand side congestion management within the Internet. In summary, a variety of mechanisms can be used to address congestion problems in IP networks. These mechanisms may operate at multiple time-scales. 2.5 Implementation and Operational Context The operational context of Internet traffic engineering is characterized by constant change which occur at multiple levels of abstraction. The implementation context demands effective planning, organization, and execution. The planning aspects may involve determining prior sets of actions to achieve desired objectives. Organizing involves arranging and assigning responsibility to the various components of the traffic engineering system and coordinating the activities to accomplish the desired TE objectives. Execution involves measuring and applying corrective or perfective actions to attain and maintain desired TE goals. 3.0 Traffic Engineering Process Model(s) This section describes a generic process model that captures the high level practical aspects of Internet traffic engineering in an operational context. The process model is described as a sequence of actions that a traffic engineer, or more generally a traffic engineering system, must perform to optimize the performance of an operational network (see also [RFC-2702, AWD2]). The process model described here represents the broad activities common to most traffic engineering methodologies although the details regarding how traffic engineering is executed may differ from network to network. This process model may be enacted explicitly or implicitly, by an automaton and/or by a human. Awduche, et. al. Informational [Page 21] RFC 3272 Overview and Principles of Internet TE May 2002 The traffic engineering process model is iterative [AWD2]. The four phases of the process model described below are repeated continually. The first phase of the TE process model is to define the relevant control policies that govern the operation of the network. These policies may depend upon many factors including the prevailing business model, the network cost structure, the operating constraints, the utility model, and optimization criteria. The second phase of the process model is a feedback mechanism involving the acquisition of measurement data from the operational network. If empirical data is not readily available from the network, then synthetic workloads may be used instead which reflect either the prevailing or the expected workload of the network. Synthetic workloads may be derived by estimation or extrapolation using prior empirical data. Their derivation may also be obtained using mathematical models of traffic characteristics or other means. The third phase of the process model is to analyze the network state and to characterize traffic workload. Performance analysis may be proactive and/or reactive. Proactive performance analysis identifies potential problems that do not exist, but could manifest in the future. Reactive performance analysis identifies existing problems, determines their cause through diagnosis, and evaluates alternative approaches to remedy the problem, if necessary. A number of quantitative and qualitative techniques may be used in the analysis process, including modeling based analysis and simulation. The analysis phase of the process model may involve investigating the concentration and distribution of traffic across the network or relevant subsets of the network, identifying the characteristics of the offered traffic workload, identifying existing or potential bottlenecks, and identifying network pathologies such as ineffective link placement, single points of failures, etc. Network pathologies may result from many factors including inferior network architecture, inferior network design, and configuration problems. A traffic matrix may be constructed as part of the analysis process. Network analysis may also be descriptive or prescriptive. The fourth phase of the TE process model is the performance optimization of the network. The performance optimization phase involves a decision process which selects and implements a set of actions from a set of alternatives. Optimization actions may include the use of appropriate techniques to either control the offered traffic or to control the distribution of traffic across the network. Optimization actions may also involve adding additional links or increasing link capacity, deploying additional hardware such as routers and switches, systematically adjusting parameters associated with routing such as IGP metrics and BGP attributes, and adjusting Awduche, et. al. Informational [Page 22] RFC 3272 Overview and Principles of Internet TE May 2002 traffic management parameters. Network performance optimization may also involve starting a network planning process to improve the network architecture, network design, network capacity, network technology, and the configuration of network elements to accommodate current and future growth. 3.1 Components of the Traffic Engineering Process Model The key components of the traffic engineering process model include a measurement subsystem, a modeling and analysis subsystem, and an optimization subsystem. The following subsections examine these components as they apply to the traffic engineering process model. 3.2 Measurement Measurement is crucial to the traffic engineering function. The operational state of a network can be conclusively determined only through measurement. Measurement is also critical to the optimization function because it provides feedback data which is used by traffic engineering control subsystems. This data is used to adaptively optimize network performance in response to events and stimuli originating within and outside the network. Measurement is also needed to determine the quality of network services and to evaluate the effectiveness of traffic engineering policies. Experience suggests that measurement is most effective when acquired and applied systematically. When developing a measurement system to support the traffic engineering function in IP networks, the following questions should be carefully considered: Why is measurement needed in this particular context? What parameters are to be measured? How should the measurement be accomplished? Where should the measurement be performed? When should the measurement be performed? How frequently should the monitored variables be measured? What level of measurement accuracy and reliability is desirable? What level of measurement accuracy and reliability is realistically attainable? To what extent can the measurement system permissibly interfere with the monitored network components and variables? What is the acceptable cost of measurement? The answers to these questions will determine the measurement tools and methodologies appropriate in any given traffic engineering context. It should also be noted that there is a distinction between measurement and evaluation. Measurement provides raw data concerning state parameters and variables of monitored network elements. Evaluation utilizes the raw data to make inferences regarding the monitored system. Awduche, et. al. Informational [Page 23] RFC 3272 Overview and Principles of Internet TE May 2002 Measurement in support of the TE function can occur at different levels of abstraction. For example, measurement can be used to derive packet level characteristics, flow level characteristics, user or customer level characteristics, traffic aggregate characteristics, component level characteristics, and network wide characteristics. 3.3 Modeling, Analysis, and Simulation Modeling and analysis are important aspects of Internet traffic engineering. Modeling involves constructing an abstract or physical representation which depicts relevant traffic characteristics and network attributes. A network model is an abstract representation of the network which captures relevant network features, attributes, and characteristics, such as link and nodal attributes and constraints. A network model may facilitate analysis and/or simulation which can be used to predict network performance under various conditions as well as to guide network expansion plans. In general, Internet traffic engineering models can be classified as either structural or behavioral. Structural models focus on the organization of the network and its components. Behavioral models focus on the dynamics of the network and the traffic workload. Modeling for Internet traffic engineering may also be formal or informal. Accurate behavioral models for traffic sources are particularly useful for analysis. Development of behavioral traffic source models that are consistent with empirical data obtained from operational networks is a major research topic in Internet traffic engineering. These source models should also be tractable and amenable to analysis. The topic of source models for IP traffic is a research topic and is therefore outside the scope of this document. Its importance, however, must be emphasized. Network simulation tools are extremely useful for traffic engineering. Because of the complexity of realistic quantitative analysis of network behavior, certain aspects of network performance studies can only be conducted effectively using simulation. A good network simulator can be used to mimic and visualize network characteristics under various conditions in a safe and non-disruptive manner. For example, a network simulator may be used to depict congested resources and hot spots, and to provide hints regarding possible solutions to network performance problems. A good simulator may also be used to validate the effectiveness of planned solutions to network issues without the need to tamper with the operational network, or to commence an expensive network upgrade which may not Awduche, et. al. Informational [Page 24] RFC 3272 Overview and Principles of Internet TE May 2002 achieve the desired objectives. Furthermore, during the process of network planning, a network simulator may reveal pathologies such as single points of failure which may require additional redundancy, and potential bottlenecks and hot spots which may require additional capacity. Routing simulators are especially useful in large networks. A routing simulator may identify planned links which may not actually be used to route traffic by the existing routing protocols. Simulators can also be used to conduct scenario based and perturbation based analysis, as well as sensitivity studies. Simulation results can be used to initiate appropriate actions in various ways. For example, an important application of network simulation tools is to investigate and identify how best to make the network evolve and grow, in order to accommodate projected future demands. 3.4 Optimization Network performance optimization involves resolving network issues by transforming such issues into concepts that enable a solution, identification of a solution, and implementation of the solution. Network performance optimization can be corrective or perfective. In corrective optimization, the goal is to remedy a problem that has occurred or that is incipient. In perfective optimization, the goal is to improve network performance even when explicit problems do not exist and are not anticipated. Network performance optimization is a continual process, as noted previously. Performance optimization iterations may consist of real-time optimization sub-processes and non-real-time network planning sub-processes. The difference between real-time optimization and network planning is primarily in the relative time- scale in which they operate and in the granularity of actions. One of the objectives of a real-time optimization sub-process is to control the mapping and distribution of traffic over the existing network infrastructure to avoid and/or relieve congestion, to assure satisfactory service delivery, and to optimize resource utilization. Real-time optimization is needed because random incidents such as fiber cuts or shifts in traffic demand will occur irrespective of how well a network is designed. These incidents can cause congestion and other problems to manifest in an operational network. Real-time optimization must solve such problems in small to medium time-scales ranging from micro-seconds to minutes or hours. Examples of real- time optimization include queue management, IGP/BGP metric tuning, and using technologies such as MPLS explicit LSPs to change the paths of some traffic trunks [XIAO]. Awduche, et. al. Informational [Page 25] RFC 3272 Overview and Principles of Internet TE May 2002 One of the functions of the network planning sub-process is to initiate actions to systematically evolve the architecture, technology, topology, and capacity of a network. When a problem exists in the network, real-time optimization should provide an immediate remedy. Because a prompt response is necessary, the real- time solution may not be the best possible solution. Network planning may subsequently be needed to refine the solution and improve the situation. Network planning is also required to expand the network to support traffic growth and changes in traffic distribution over time. As previously noted, a change in the topology and/or capacity of the network may be the outcome of network planning. Clearly, network planning and real-time performance optimization are mutually complementary activities. A well-planned and designed network makes real-time optimization easier, while a systematic approach to real-time network performance optimization allows network planning to focus on long term issues rather than tactical considerations. Systematic real-time network performance optimization also provides valuable inputs and insights toward network planning. Stability is an important consideration in real-time network performance optimization. This aspect will be repeatedly addressed throughout this memo. 4.0 Historical Review and Recent Developments This section briefly reviews different traffic engineering approaches proposed and implemented in telecommunications and computer networks. The discussion is not intended to be comprehensive. It is primarily intended to illuminate pre-existing perspectives and prior art concerning traffic engineering in the Internet and in legacy telecommunications networks. 4.1 Traffic Engineering in Classical Telephone Networks This subsection presents a brief overview of traffic engineering in telephone networks which often relates to the way user traffic is steered from an originating node to the terminating node. This subsection presents a brief overview of this topic. A detailed description of the various routing strategies applied in telephone networks is included in the book by G. Ash [ASH2]. The early telephone network relied on static hierarchical routing, whereby routing patterns remained fixed independent of the state of the network or time of day. The hierarchy was intended to accommodate overflow traffic, improve network reliability via Awduche, et. al. Informational [Page 26] RFC 3272 Overview and Principles of Internet TE May 2002 alternate routes, and prevent call looping by employing strict hierarchical rules. The network was typically over-provisioned since a given fixed route had to be dimensioned so that it could carry user traffic during a busy hour of any busy day. Hierarchical routing in the telephony network was found to be too rigid upon the advent of digital switches and stored program control which were able to manage more complicated traffic engineering rules. Dynamic routing was introduced to alleviate the routing inflexibility in the static hierarchical routing so that the network would operate more efficiently. This resulted in significant economic gains [HUSS87]. Dynamic routing typically reduces the overall loss probability by 10 to 20 percent (compared to static hierarchical routing). Dynamic routing can also improve network resilience by recalculating routes on a per-call basis and periodically updating routes. There are three main types of dynamic routing in the telephone network. They are time-dependent routing, state-dependent routing (SDR), and event dependent routing (EDR). In time-dependent routing, regular variations in traffic loads (such as time of day or day of week) are exploited in pre-planned routing tables. In state-dependent routing, routing tables are updated online according to the current state of the network (e.g., traffic demand, utilization, etc.). In event dependent routing, routing changes are incepted by events (such as call setups encountering congested or blocked links) whereupon new paths are searched out using learning models. EDR methods are real-time adaptive, but they do not require global state information as does SDR. Examples of EDR schemes include the dynamic alternate routing (DAR) from BT, the state-and-time dependent routing (STR) from NTT, and the success-to- the-top (STT) routing from AT&T. Dynamic non-hierarchical routing (DNHR) is an example of dynamic routing that was introduced in the AT&T toll network in the 1980's to respond to time-dependent information such as regular load variations as a function of time. Time-dependent information in terms of load may be divided into three time scales: hourly, weekly, and yearly. Correspondingly, three algorithms are defined to pre-plan the routing tables. The network design algorithm operates over a year-long interval while the demand servicing algorithm operates on a weekly basis to fine tune link sizes and routing tables to correct forecast errors on the yearly basis. At the smallest time scale, the routing algorithm is used to make limited adjustments based on daily traffic variations. Network design and demand servicing are computed using offline calculations. Typically, the calculations require extensive searches on possible routes. On the other hand, routing may need Awduche, et. al. Informational [Page 27] RFC 3272 Overview and Principles of Internet TE May 2002 online calculations to handle crankback. DNHR adopts a "two-link" approach whereby a path can consist of two links at most. The routing algorithm presents an ordered list of route choices between an originating switch and a terminating switch. If a call overflows, a via switch (a tandem exchange between the originating switch and the terminating switch) would send a crankback signal to the originating switch. This switch would then select the next route, and so on, until there are no alternative routes available in which the call is blocked. 4.2 Evolution of Traffic Engineering in Packet Networks This subsection reviews related prior work that was intended to improve the performance of data networks. Indeed, optimization of the performance of data networks started in the early days of the ARPANET. Other early commercial networks such as SNA also recognized the importance of performance optimization and service differentiation. In terms of traffic management, the Internet has been a best effort service environment until recently. In particular, very limited traffic management capabilities existed in IP networks to provide differentiated queue management and scheduling services to packets belonging to different classes. In terms of routing control, the Internet has employed distributed protocols for intra-domain routing. These protocols are highly scalable and resilient. However, they are based on simple algorithms for path selection which have very limited functionality to allow flexible control of the path selection process. In the following subsections, the evolution of practical traffic engineering mechanisms in IP networks and its predecessors are reviewed. 4.2.1 Adaptive Routing in the ARPANET The early ARPANET recognized the importance of adaptive routing where routing decisions were based on the current state of the network [MCQ80]. Early minimum delay routing approaches forwarded each packet to its destination along a path for which the total estimated transit time was the smallest. Each node maintained a table of network delays, representing the estimated delay that a packet would experience along a given path toward its destination. The minimum delay table was periodically transmitted by a node to its neighbors. The shortest path, in terms of hop count, was also propagated to give the connectivity information. Awduche, et. al. Informational [Page 28] RFC 3272 Overview and Principles of Internet TE May 2002 One drawback to this approach is that dynamic link metrics tend to create quot;This table is used to retrieve all entries in the dlswDirMacTable that match a given MAC address, in the order of the best matched first, the second best matched second, and so on, till no more entries match the given MAC address." ::= { dlswDirLocate 1 } dlswDirLocateMacEntry OBJECT-TYPE SYNTAX DlswDirLocateMacEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indexed by dlswDirLocateMacMac and dlswDirLocateMacMatch. The first object is the MAC address of interest, and the second object is the order in the list of all entries that match the MAC address." INDEX { dlswDirLocateMacMac, dlswDirLocateMacMatch } ::= { dlswDirLocateMacTable 1 } DlswDirLocateMacEntry ::= SEQUENCE { dlswDirLocateMacMac MacAddressNC, dlswDirLocateMacMatch INTEGER, dlswDirLocateMacLocation RowPointer } dlswDirLocateMacMac OBJECT-TYPE SYNTAX MacAddressNC MAX-ACCESS not-accessible STATUS current DESCRIPTION "The MAC address to be located." ::= { dlswDirLocateMacEntry 1 } dlswDirLocateMacMatch OBJECT-TYPE SYNTAX INTEGER (1..255) MAX-ACCESS not-accessible STATUS current DESCRIPTION Chen, et. al. Standards Track [Page 54] RFC 2024 DLSw MIB using SMIv2 October 1996 "The order of the entries of dlswDirMacTable that match dlswDirLocateMacMac. A value of one represents the entry that best matches the MAC address. A value of two represents the second best matched entry, and so on." ::= { dlswDirLocateMacEntry 2 } dlswDirLocateMacLocation OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "Points to the dlswDirMacEntry." ::= { dlswDirLocateMacEntry 3 } -- ................................................................... -- Locate Entries in the dlswDirNBTable for a given NetBIOS name -- ................................................................... dlswDirLocateNBTable OBJECT-TYPE SYNTAX SEQUENCE OF DlswDirLocateNBEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is used to retrieve all entries in the dlswDirNBTable that match a given NetBIOS name, in the order of the best matched first, the second best matched second, and so on, till no more entries match the given NetBIOS name." ::= { dlswDirLocate 2 } dlswDirLocateNBEntry OBJECT-TYPE SYNTAX DlswDirLocateNBEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Indexed by dlswDirLocateNBName and dlswDirLocateNBMatch. The first object is the NetBIOS name of interest, and the second object is the order in the list of all entries that match the NetBIOS name." INDEX { dlswDirLocateNBName, dlswDirLocateNBMatch } ::= { dlswDirLocateNBTable 1 } DlswDirLocateNBEntry ::= SEQUENCE { dlswDirLocateNBName NBName, dlswDirLocateNBMatch INTEGER, dlswDirLocateNBLocation RowPointer } Chen, et. al. Standards Track [Page 55] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswDirLocateNBName OBJECT-TYPE SYNTAX NBName MAX-ACCESS not-accessible STATUS current DESCRIPTION "The NetBIOS name to be located (no any char or wildcards)." ::= { dlswDirLocateNBEntry 1 } dlswDirLocateNBMatch OBJECT-TYPE SYNTAX INTEGER (1..255) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The order of the entries of dlswDirNBTable that match dlswDirLocateNBName. A value of one represents the entry that best matches the NetBIOS name. A value of two represents the second best matched entry, and so on." ::= { dlswDirLocateNBEntry 2 } dlswDirLocateNBLocation OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "Points to the dlswDirNBEntry." ::= { dlswDirLocateNBEntry 3 } -- ******************************************************************* -- CIRCUIT -- A circuit is the end-to-end association of two DLSw entities -- through one or two DLSw nodes. It is the concatenation of -- two "data links", optionally with an intervening transport -- connection. The origin of the circuit is the end station that -- initiates the circuit. The target of the circuit is the end -- station that receives the initiation. -- ******************************************************************* -- ------------------------------------------------------------------- -- Statistics Related to Circuits -- ------------------------------------------------------------------- dlswCircuitStat OBJECT IDENTIFIER ::= { dlswCircuit 1 } dlswCircuitStatActives OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current Chen, et. al. Standards Track [Page 56] RFC 2024 DLSw MIB using SMIv2 October 1996 DESCRIPTION "The current number of circuits in dlswCircuitTable that are not in the disconnected state." ::= { dlswCircuitStat 1 } dlswCircuitStatCreates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of entries ever added to dlswCircuitTable, or reactivated upon exiting `disconnected' state." ::= { dlswCircuitStat 2 } -- ------------------------------------------------------------------- -- Circuit Table -- -- This table is the DLSw entity's view of circuits. There will be -- a conceptual row in the table associated with each data link. -- -- The chart below lists the various possible combinations of -- origin and target MAC locations and the number of entries in -- this Circuit Table: -- -- number of | Origin End Station Location -- entries in the |-------------------------------------- -- Circuit Table | internal local remote -- -----------------------|-------------------------------------- -- Target | internal | NA 2 1 -- End | local | 2 2 1 -- Station | remote | 1 1 NA -- Location | | -- -- NA: Not applicable -- -- Note: -- (a) IfIndex and RouteInfo are applied only if location is local. -- (b) TDomain and TAddr are applied only if location is remote. -- -- Most of statistics related to circuits can be collected -- from LLC-2 Link Station Table. -- ------------------------------------------------------------------- dlswCircuitTable OBJECT-TYPE SYNTAX SEQUENCE OF DlswCircuitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Chen, et. al. Standards Track [Page 57] RFC 2024 DLSw MIB using SMIv2 October 1996 "This table is the circuit representation in the DLSw entity. Virtual data links are used to represent any internal end stations. There is a conceptual row associated with each data link. Thus, for circuits without an intervening transport connection, there are two conceptual rows for each circuit. The table consists of the circuits being established, established, and as an implementation option, circuits that have been disconnected. For circuits carried over transport connections, an entry is created after the CUR_cs was sent or received. For circuits between two locally attached devices, or internal virtual MAC addresses, an entry is created when the equivalent of CUR_cs sent/received status is reached. End station 1 (S1) and End station 2 (S2) are used to represent the two end stations of the circuit. S1 is always an end station which is locally attached. S2 may be locally attached or remote. If it is locally attached, the circuit will be represented by two rows indexed by (A, B) and (B, A) where A & B are the relevant MACs/SAPs. The table may be used to store the causes of disconnection of circuits. It is recommended that the oldest disconnected circuit entry be removed from this table when the memory space of disconnected circuits is needed." ::= { dlswCircuit 2 } dlswCircuitEntry OBJECT-TYPE SYNTAX DlswCircuitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "" INDEX { dlswCircuitS1Mac, dlswCircuitS1Sap, dlswCircuitS2Mac, dlswCircuitS2Sap } ::= { dlswCircuitTable 1 } DlswCircuitEntry ::= SEQUENCE { dlswCircuitS1Mac MacAddressNC, dlswCircuitS1Sap OCTET STRING, dlswCircuitS1IfIndex INTEGER, dlswCircuitS1DlcType DlcType, dlswCircuitS1RouteInfo OCTET STRING, dlswCircuitS1CircuitId OCTET STRING, Chen, et. al. Standards Track [Page 58] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswCircuitS1Dlc RowPointer, dlswCircuitS2Mac MacAddressNC, dlswCircuitS2Sap OCTET STRING, dlswCircuitS2Location EndStationLocation, dlswCircuitS2TDomain OBJECT IDENTIFIER, dlswCircuitS2TAddress TAddress, dlswCircuitS2CircuitId OCTET STRING, dlswCircuitOrigin INTEGER, dlswCircuitEntryTime TimeTicks, dlswCircuitStateTime TimeTicks, dlswCircuitState INTEGER, dlswCircuitPriority INTEGER, dlswCircuitFCSendGrantedUnits INTEGER, dlswCircuitFCSendCurrentWndw INTEGER, dlswCircuitFCRecvGrantedUnits INTEGER, dlswCircuitFCRecvCurrentWndw INTEGER, dlswCircuitFCLargestRecvGranted Gauge32, dlswCircuitFCLargestSendGranted Gauge32, dlswCircuitFCHalveWndwSents Counter32, dlswCircuitFCResetOpSents Counter32, dlswCircuitFCHalveWndwRcvds Counter32, dlswCircuitFCResetOpRcvds Counter32, dlswCircuitDiscReasonLocal INTEGER, dlswCircuitDiscReasonRemote INTEGER, dlswCircuitDiscReasonRemoteData OCTET STRING } -- ................................................................... -- Information related to the End Station 1 (S1). -- ................................................................... dlswCircuitS1Mac OBJECT-TYPE SYNTAX MacAddressNC MAX-ACCESS not-accessible STATUS current DESCRIPTION "The MAC Address of End Station 1 (S1) used for this circuit." ::= { dlswCircuitEntry 1 } dlswCircuitS1Sap OBJECT-TYPE SYNTAX OCTET STRING (SIZE(1)) MAX-ACCESS not-accessible STATUS current DESCRIPTION Chen, et. al. Standards Track [Page 59] RFC 2024 DLSw MIB using SMIv2 October 1996 "The SAP at End Station 1 (S1) used for this circuit." ::= { dlswCircuitEntry 2 } dlswCircuitS1IfIndex OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The ifEntry index of the local interface through which S1 can be reached." ::= { dlswCircuitEntry 3 } dlswCircuitS1DlcType OBJECT-TYPE SYNTAX DlcType MAX-ACCESS read-only STATUS current DESCRIPTION "The DLC protocol in use between the DLSw node and S1." ::= { dlswCircuitEntry 4 } dlswCircuitS1RouteInfo OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..30)) MAX-ACCESS read-only STATUS current DESCRIPTION "If source-route bridging is in use between the DLSw node and S1, this is the routing information field describing the path between the two devices. Otherwise the value will be an OCTET STRING of zero length." ::= { dlswCircuitEntry 5 } dlswCircuitS1CircuitId OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0 | 8)) MAX-ACCESS read-only STATUS current DESCRIPTION "The Circuit ID assigned by this DLSw node to this circuit. The first four octets are the DLC port Id, and the second four octets are the Data Link Correlator. If the DLSw SSP was not used to establish this circuit, the value will be a string of zero length." ::= { dlswCircuitEntry 6 } dlswCircuitS1Dlc OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current Chen, et. al. Standards Track [Page 60] RFC 2024 DLSw MIB using SMIv2 October 1996 DESCRIPTION "Points to a conceptual row of the underlying DLC MIB, which could either be the standard MIBs (e.g., the SDLC), or an enterprise-specific DLC MIB." ::= { dlswCircuitEntry 7 } -- ................................................................... -- Information related to the End Station 2 (S2). -- ................................................................... dlswCircuitS2Mac OBJECT-TYPE SYNTAX MacAddressNC MAX-ACCESS not-accessible STATUS current DESCRIPTION "The MAC Address of End Station 2 (S2) used for this circuit." ::= { dlswCircuitEntry 8 } dlswCircuitS2Sap OBJECT-TYPE SYNTAX OCTET STRING (SIZE(1)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The SAP at End Station 2 (S2) used for this circuit." ::= { dlswCircuitEntry 9 } dlswCircuitS2Location OBJECT-TYPE SYNTAX EndStationLocation MAX-ACCESS read-only STATUS current DESCRIPTION "The location of End Station 2 (S2). If the location of End Station 2 is local, the interface information will be available in the conceptual row whose S1 and S2 are the S2 and the S1 of this conceptual row, respectively." ::= { dlswCircuitEntry 10 } dlswCircuitS2TDomain OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "If the location of End Station 2 is remote, this value is the transport domain of the transport protocol the circuit is running over. Otherwise, the value is 0.0." ::= { dlswCircuitEntry 11 } Chen, et. al. Standards Track [Page 61] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswCircuitS2TAddress OBJECT-TYPE SYNTAX TAddress MAX-ACCESS read-only STATUS current DESCRIPTION "If the location of End Station 2 is remote, this object contains the address of the partner DLSw, else it will be an OCTET STRING of zero length." ::= { dlswCircuitEntry 12 } dlswCircuitS2CircuitId OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0 | 8)) MAX-ACCESS read-only STATUS current DESCRIPTION "The Circuit ID assigned to this circuit by the partner DLSw node. The first four octets are the DLC port Id, and the second four octets are the Data Link Correlator. If the DLSw SSP was not used to establish this circuit, the value will be a string of zero length." ::= { dlswCircuitEntry 13 } -- ................................................................... dlswCircuitOrigin OBJECT-TYPE SYNTAX INTEGER { s1 (1), s2 (2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object specifies which of the two end stations initiated the establishment of this circuit." ::= { dlswCircuitEntry 14 } -- ................................................................... -- Operational information related to this circuit. -- ................................................................... dlswCircuitEntryTime OBJECT-TYPE SYNTAX TimeTicks UNITS "hundredths of a second" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of time (in hundredths of a second) since this circuit table conceptual row was created." ::= { dlswCircuitEntry 15 } Chen, et. al. Standards Track [Page 62] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswCircuitStateTime OBJECT-TYPE SYNTAX TimeTicks UNITS "hundredths of a second" MAX-ACCESS read-only STATUS current DESCRIPTION "The amount of time (in hundredths of a second) since this circuit entered the current state." ::= { dlswCircuitEntry 16 } dlswCircuitState OBJECT-TYPE SYNTAX INTEGER { disconnected (1), circuitStart (2), resolvePending (3), circuitPending (4), circuitEstablished (5), connectPending (6), contactPending (7), connected (8), disconnectPending (9), haltPending (10), haltPendingNoack (11), circuitRestart (12), restartPending (13) } MAX-ACCESS read-write STATUS current DESCRIPTION "The current state of this circuit. The agent, implementation specific, may choose to keep entries for some period of time after circuit disconnect, so the manager can gather the time and cause of disconnection. While all of the specified values may be returned from a GET operation, the only SETable value is `disconnectPending'. When this value is set, DLSw should perform the appropriate action given its previous state (e.g., send HALT_DL if the state was `connected') to bring the circuit down to the `disconnected' state. Both the partner DLSw and local end station(s) should be notified as appropriate. This MIB provides no facility to re-establish a disconnected circuit, because in DLSw this should be an end station-driven function." ::= { dlswCircuitEntry 17 } dlswCircuitPriority OBJECT-TYPE Chen, et. al. Standards Track [Page 63] RFC 2024 DLSw MIB using SMIv2 October 1996 SYNTAX INTEGER { unsupported (1), low (2), medium (3), high (4), highest (5) } MAX-ACCESS read-only STATUS current DESCRIPTION "The transmission priority of this circuit as understood by this DLSw node. This value is determined by the two DLSw nodes at circuit startup time. If this DLSw node does not support DLSw circuit priority, the value `unsupported' should be returned." ::= { dlswCircuitEntry 18 } -- ................................................................... -- Pacing Objects: -- These objects are applicable if DLSw is using the SSP circuit -- pacing protocol to control the flow between the two data links -- in this circuit. -- ................................................................... dlswCircuitFCSendGrantedUnits OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of paced SSP messages that this DLSw is currently authorized to send on this circuit before it must stop and wait for an additional flow control indication from the partner DLSw. The value zero should be returned if this circuit is not running the DLSw pacing protocol." ::= { dlswCircuitEntry 19 } dlswCircuitFCSendCurrentWndw OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The current window size that this DLSw is using in its role as a data sender. This is the value by which this DLSw would increase the number of messages it is authorized to send, if it were to receive a flow control indication with the bits specifying `repeat window'. Chen, et. al. Standards Track [Page 64] RFC 2024 DLSw MIB using SMIv2 October 1996 The value zero should be returned if this circuit is not running the DLSw pacing protocol." ::= { dlswCircuitEntry 20 } dlswCircuitFCRecvGrantedUnits OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The current number of paced SSP messages that this DLSw has authorized the partner DLSw to send on this circuit before the partner DLSw must stop and wait for an additional flow control indication from this DLSw. The value zero should be returned if this circuit is not running the DLSw pacing protocol." ::= { dlswCircuitEntry 21 } dlswCircuitFCRecvCurrentWndw OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The current window size that this DLSw is using in its role as a data receiver. This is the number of additional paced SSP messages that this DLSw would be authorizing its DLSw partner to send, if this DLSw were to send a flow control indication with the bits specifying `repeat window'. The value zero should be returned if this circuit is not running the DLSw pacing protocol." ::= { dlswCircuitEntry 22 } dlswCircuitFCLargestRecvGranted OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The largest receive window size granted by this DLSw during the current activation of this circuit. This is not the largest number of messages granted at any time, but the largest window size as represented by FCIND operator bits. The value zero should be returned if this circuit is not running the DLSw pacing protocol." ::= { dlswCircuitEntry 23 } dlswCircuitFCLargestSendGranted OBJECT-TYPE Chen, et. al. Standards Track [Page 65] RFC 2024 DLSw MIB using SMIv2 October 1996 SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The largest send (with respect to this DLSw) window size granted by the partner DLSw during the current activation of this circuit. The value zero should be returned if this circuit is not running the DLSw pacing protocol." ::= { dlswCircuitEntry 24 } dlswCircuitFCHalveWndwSents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Halve Window operations this DLSw has sent on this circuit, in its role as a data receiver. The value zero should be returned if this circuit is not running the DLSw pacing protocol." ::= { dlswCircuitEntry 25 } dlswCircuitFCResetOpSents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Reset Window operations this DLSw has sent on this circuit, in its role as a data receiver. The value zero should be returned if this circuit is not running the DLSw pacing protocol." ::= { dlswCircuitEntry 26 } dlswCircuitFCHalveWndwRcvds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Halve Window operations this DLSw has received on this circuit, in its role as a data sender. The value zero should be returned if this circuit is not running the DLSw pacing protocol." ::= { dlswCircuitEntry 27 } Chen, et. al. Standards Track [Page 66] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswCircuitFCResetOpRcvds OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Reset Window operations this DLSw has received on this circuit, in its role as a data sender. The value zero should be returned if this circuit is not running the DLSw pacing protocol." ::= { dlswCircuitEntry 28 } -- ................................................................... -- Information about the circuit disconnection -- ................................................................... dlswCircuitDiscReasonLocal OBJECT-TYPE SYNTAX INTEGER { endStationDiscRcvd (1), endStationDlcError (2), protocolError (3), operatorCommand (4), haltDlRcvd (5), haltDlNoAckRcvd (6), transportConnClosed (7) } MAX-ACCESS read-only STATUS current DESCRIPTION "The reason why this circuit was last disconnected, as seen by this DLSw node. This object is present only if the agent keeps circuit table entries around for some period after circuit disconnect." ::= { dlswCircuitEntry 29 } dlswCircuitDiscReasonRemote OBJECT-TYPE SYNTAX INTEGER { unknown (1), endStationDiscRcvd (2), endStationDlcError (3), protocolError (4), operatorCommand (5) } MAX-ACCESS read-only STATUS current DESCRIPTION "The generic reason code why this circuit was last disconnected, as reported by the DLSw partner in a HALT_DL Chen, et. al. Standards Track [Page 67] RFC 2024 DLSw MIB using SMIv2 October 1996 or HALT_DL_NOACK. If the partner does not send a reason code in these messages, or the DLSw implementation does not report receiving one, the value `unknown' is returned. This object is present only if the agent keeps circuit table entries around for some period after circuit disconnect." ::= { dlswCircuitEntry 30 } dlswCircuitDiscReasonRemoteData OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0 | 4)) MAX-ACCESS read-only STATUS current DESCRIPTION "Implementation-specific data reported by the DLSw partner in a HALT_DL or HALT_DL_NOACK, to help specify how and why this circuit was last disconnected. If the partner does not send this data in these messages, or the DLSw implementation does not report receiving it, a string of zero length is returned. This object is present only if the agent keeps circuit table entries around for some period after circuit disconnect." ::= { dlswCircuitEntry 31 } -- ................................................................... -- Statistics related to this circuit. -- All statistics are in LLC-2 Link Station Statistical Table. -- All SDLC statistics are in SDLC MIB -- ................................................................... -- ******************************************************************* -- DLSW SDLC EXTENSION -- ******************************************************************* dlswSdlcLsEntries OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of entries in dlswSdlcLsTable." ::= { dlswSdlc 1 } -- ................................................................... dlswSdlcLsTable OBJECT-TYPE SYNTAX SEQUENCE OF DlswSdlcLsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION Chen, et. al. Standards Track [Page 68] RFC 2024 DLSw MIB using SMIv2 October 1996 "The table defines the virtual MAC addresses for those SDLC link stations that participate in data link switching." ::= { dlswSdlc 2 } dlswSdlcLsEntry OBJECT-TYPE SYNTAX DlswSdlcLsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index of this table is the ifIndex value for the SDLC port which owns this link station and the poll address of the particular SDLC link station." INDEX { ifIndex, sdlcLSAddress } ::= { dlswSdlcLsTable 1 } DlswSdlcLsEntry ::= SEQUENCE { dlswSdlcLsLocalMac MacAddressNC, dlswSdlcLsLocalSap OCTET STRING, dlswSdlcLsLocalIdBlock DisplayString, dlswSdlcLsLocalIdNum DisplayString, dlswSdlcLsRemoteMac MacAddressNC, dlswSdlcLsRemoteSap OCTET STRING, dlswSdlcLsRowStatus RowStatus } dlswSdlcLsLocalMac OBJECT-TYPE SYNTAX MacAddressNC MAX-ACCESS read-create STATUS current DESCRIPTION "The virtual MAC address used to represent the SDLC-attached link station to the rest of the DLSw network." ::= { dlswSdlcLsEntry 1 } dlswSdlcLsLocalSap OBJECT-TYPE SYNTAX OCTET STRING (SIZE(1)) MAX-ACCESS read-create STATUS current DESCRIPTION "The SAP used to represent this link station." ::= { dlswSdlcLsEntry 2 } dlswSdlcLsLocalIdBlock OBJECT-TYPE SYNTAX DisplayString (SIZE (0 | 3)) MAX-ACCESS read-create STATUS current DESCRIPTION "The block number is the first three digits of the node_id, Chen, et. al. Standards Track [Page 69] RFC 2024 DLSw MIB using SMIv2 October 1996 if available. These 3 hexadecimal digits identify the product." DEFVAL { ''H } ::= { dlswSdlcLsEntry 3 } dlswSdlcLsLocalIdNum OBJECT-TYPE SYNTAX DisplayString (SIZE (0 | 5)) MAX-ACCESS read-create STATUS current DESCRIPTION "The ID number is the last 5 digits of the node_id, if available. These 5 hexadecimal digits are administratively defined and combined with the 3 digit block number form the node_id. This node_id is used to identify the local node and is included in SNA XIDs." DEFVAL { ''H } ::= { dlswSdlcLsEntry 4 } dlswSdlcLsRemoteMac OBJECT-TYPE SYNTAX MacAddressNC MAX-ACCESS read-create STATUS current DESCRIPTION "The MAC address to which DLSw should attempt to connect this link station. If this information is not available, a length of zero for this object should be returned." DEFVAL { ''H } ::= { dlswSdlcLsEntry 5 } dlswSdlcLsRemoteSap OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0 | 1)) MAX-ACCESS read-create STATUS current DESCRIPTION "The SAP of the remote station to which this link station should be connected. If this information is not available, a length of zero for this object should be returned." DEFVAL { ''H } ::= { dlswSdlcLsEntry 6 } dlswSdlcLsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used by the manager to create or delete the row entry in the dlswSdlcLsTable Chen, et. al. Standards Track [Page 70] RFC 2024 DLSw MIB using SMIv2 October 1996 following the RowStatus textual convention." ::= { dlswSdlcLsEntry 7 } -- ******************************************************************* -- TRAP GENERATION CONTROL -- ******************************************************************* dlswTrapControl OBJECT IDENTIFIER ::= { dlswNode 10} dlswTrapCntlTConnPartnerReject OBJECT-TYPE SYNTAX INTEGER { enabled (1), disabled (2), partial (3) } MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether the DLSw is permitted to emit partner reject related traps. With the value of `enabled' the DLSw will emit all partner reject related traps. With the value of `disabled' the DLSw will not emit any partner reject related traps. With the value of `partial' the DLSw will only emits partner reject traps for CapEx reject. The changes take effect immediately." ::= { dlswTrapControl 1 } dlswTrapCntlTConnProtViolation OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether the DLSw is permitted to generate protocol-violation traps on the events such as window size violation. The changes take effect immediately." ::= { dlswTrapControl 2 } dlswTrapCntlTConn OBJECT-TYPE SYNTAX INTEGER { enabled (1), disabled (2), partial (3) } MAX-ACCESS read-write STATUS current DESCRIPTION Chen, et. al. Standards Track [Page 71] RFC 2024 DLSw MIB using SMIv2 October 1996 "Indicates whether the DLSw is permitted to emit transport connection up and down traps. With the value of `enabled' the DLSw will emit traps when connections enter `connected' and `disconnected' states. With the value of `disabled' the DLSw will not emit traps when connections enter of `connected' and `disconnected' states. With the value of `partial' the DLSw will only emits transport connection down traps when the connection is closed with busy. The changes take effect immediately." ::= { dlswTrapControl 3 } dlswTrapCntlCircuit OBJECT-TYPE SYNTAX INTEGER { enabled (1), disabled (2), partial (3) } MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether the DLSw is permitted to generate circuit up and down traps. With the value of `enabled' the DLSw will emit traps when circuits enter `connected' and `disconnected' states. With the value of `disabled' the DLSw will not emit traps when circuits enter of `connected' and `disconnected' states. With the value of `partial' the DLSw will emit traps only for those circuits that are initiated by this DLSw, e.g., originating the CUR_CS message. The changes take effect immediately." ::= { dlswTrapControl 4 } -- ******************************************************************* -- NOTIFICATIONS, i.e., TRAP DEFINITIONS -- ******************************************************************* dlswTraps OBJECT IDENTIFIER ::= { dlswMIB 0 } -- ------------------------------------------------------------------- -- This section defines the well-known notifications sent by -- DLSW agents. -- Care must be taken to insure that no particular notification -- is sent to a single receiving entity more often than once -- every five seconds. -- -- Traps includes: -- (1) Partner rejected (capEx rejection, not in partner list, etc.) -- (2) DLSw protocol violation (e.g., window size violation, etc.) -- (3) Transport connection up/down Chen, et. al. Standards Track [Page 72] RFC 2024 DLSw MIB using SMIv2 October 1996 -- (4) Circuit up/down -- ------------------------------------------------------------------- -- dlswTrapTConnPartnerReject NOTIFICATION-TYPE OBJECTS { dlswTConnOperTDomain, dlswTConnOperRemoteTAddr } STATUS current DESCRIPTION "This trap is sent each time a transport connection is rejected by a partner DLSw during Capabilities Exchanges. The emission of this trap is controlled by dlswTrapCntlTConnPartnerReject." ::= { dlswTraps 1 } dlswTrapTConnProtViolation NOTIFICATION-TYPE OBJECTS { dlswTConnOperTDomain, dlswTConnOperRemoteTAddr } STATUS current DESCRIPTION "This trap is sent each time a protocol violation is detected for a transport connection. The emission of this trap is controlled by dlswTrapCntlTConnProtViolation." ::= { dlswTraps 2 } dlswTrapTConnUp NOTIFICATION-TYPE OBJECTS { dlswTConnOperTDomain, dlswTConnOperRemoteTAddr } STATUS current DESCRIPTION "This trap is sent each time a transport connection enters `connected' state. The emission of this trap is controlled by dlswTrapCntlTConn." ::= { dlswTraps 3 } dlswTrapTConnDown NOTIFICATION-TYPE OBJECTS { dlswTConnOperTDomain, dlswTConnOperRemoteTAddr } STATUS current DESCRIPTION "This trap is sent each time a transport connection enters `disconnected' state. The emission of this trap is controlled by dlswTrapCntlTConn." ::= { dlswTraps 4 } dlswTrapCircuitUp NOTIFICATION-TYPE OBJECTS { dlswCircuitS1Mac, dlswCircuitS1Sap, dlswCircuitS2Mac, dlswCircuitS2Sap Chen, et. al. Standards Track [Page 73] RFC 2024 DLSw MIB using SMIv2 October 1996 } STATUS current DESCRIPTION "This trap is sent each time a circuit enters `connected' state. The emission of this trap is controlled by dlswTrapCntlCircuit." ::= { dlswTraps 5 } dlswTrapCircuitDown NOTIFICATION-TYPE OBJECTS { dlswCircuitS1Mac, dlswCircuitS1Sap, dlswCircuitS2Mac, dlswCircuitS2Sap } STATUS current DESCRIPTION "This trap is sent each time a circuit enters `disconnected' state. The emission of this trap is controlled by dlswTrapCntlCircuit." ::= { dlswTraps 6 } -- ******************************************************************* -- CONFORMANCE INFORMATION -- ******************************************************************* dlswConformance OBJECT IDENTIFIER ::= { dlsw 3 } dlswCompliances OBJECT IDENTIFIER ::= { dlswConformance 1 } dlswGroups OBJECT IDENTIFIER ::= { dlswConformance 2 } -- ------------------------------------------------------------------- -- COMPLIANCE STATEMENTS -- ------------------------------------------------------------------- -- ................................................................... -- Core compliance for all DLSw entities -- ................................................................... dlswCoreCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The core compliance statement for all DLSw nodes." MODULE MANDATORY-GROUPS { dlswNodeGroup, dlswTConnStatGroup, dlswTConnConfigGroup, dlswTConnOperGroup, dlswInterfaceGroup, dlswCircuitGroup, dlswCircuitStatGroup, Chen, et. al. Standards Track [Page 74] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswNotificationGroup } GROUP dlswNodeNBGroup DESCRIPTION "The DLSw NetBIOS Node group is mandatory only for those DLSw entities that implement NetBIOS." GROUP dlswTConnNBGroup DESCRIPTION "The DLSw NetBIOS Transport Connection group is mandatory only for those DLSw entities that implement NetBIOS." OBJECT dlswNodeStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswNodeVirtualSegmentLFSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswNodeResourceNBExclusivity MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswNodeResourceMacExclusivity MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTrapCntlTConnPartnerReject MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTrapCntlTConnProtViolation MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTrapCntlTConn MIN-ACCESS read-only DESCRIPTION "Write access is not required." Chen, et. al. Standards Track [Page 75] RFC 2024 DLSw MIB using SMIv2 October 1996 OBJECT dlswTrapCntlCircuit MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnConfigTDomain MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnConfigLocalTAddr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnConfigRemoteTAddr MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnConfigEntryType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnConfigGroupDefinition MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnConfigSetupType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnConfigSapList MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnConfigAdvertiseMacNB MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnConfigInitCirRecvWndw MIN-ACCESS read-only DESCRIPTION Chen, et. al. Standards Track [Page 76] RFC 2024 DLSw MIB using SMIv2 October 1996 "Write access is not required." OBJECT dlswTConnConfigRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnOperState MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswIfRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswIfVirtualSegment MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswIfSapList MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswCircuitState MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { dlswCompliances 1 } -- ................................................................... -- Compliance for all DLSw entities that provide TCP transport. -- ................................................................... dlswTConnTcpCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance for DLSw nodes that use TCP as a transport connection protocol." MODULE MANDATORY-GROUPS { dlswTConnTcpConfigGroup, dlswTConnTcpOperGroup } OBJECT dlswTConnTcpConfigKeepAliveInt Chen, et. al. Standards Track [Page 77] RFC 2024 DLSw MIB using SMIv2 October 1996 MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnTcpConfigTcpConnections MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswTConnTcpConfigMaxSegmentSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { dlswCompliances 2 } -- ................................................................... -- Compliance for all DLSw Entities that implement a directory -- ................................................................... dlswDirCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance for DLSw nodes that provide a directory function." MODULE MANDATORY-GROUPS { dlswDirGroup } GROUP dlswDirNBGroup DESCRIPTION "The DLSw NetBIOS group is mandatory only for those DLSw entities that implement NetBIOS." OBJECT dlswDirMacMac MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirMacMask MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirMacEntryType MIN-ACCESS read-only DESCRIPTION "Write access is not required." Chen, et. al. Standards Track [Page 78] RFC 2024 DLSw MIB using SMIv2 October 1996 OBJECT dlswDirMacLocationType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirMacLocation MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirMacStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirMacLFSize MIN-ACCESS read-only DESCRIPTION "Write access is not required.&"traffic magnets" causing congestion to be shifted from one location of a network to another location, resulting in oscillation and network instability. 4.2.2 Dynamic Routing in the Internet The Internet evolved from the APARNET and adopted dynamic routing algorithms with distributed control to determine the paths that packets should take en-route to their destinations. The routing algorithms are adaptations of shortest path algorithms where costs are based on link metrics. The link metric can be based on static or dynamic quantities. The link metric based on static quantities may be assigned administratively according to local criteria. The link metric based on dynamic quantities may be a function of a network congestion measure such as delay or packet loss. It was apparent early that static link metric assignment was inadequate because it can easily lead to unfavorable scenarios in which some links become congested while others remain lightly loaded. One of the many reasons for the inadequacy of static link metrics is that link metric assignment was often done without considering the traffic matrix in the network. Also, the routing protocols did not take traffic attributes and capacity constraints into account when making routing decisions. This results in traffic concentration being localized in subsets of the network infrastructure and potentially causing congestion. Even if link metrics are assigned in accordance with the traffic matrix, unbalanced loads in the network can still occur due to a number factors including: - Resources may not be deployed in the most optimal locations from a routing perspective. - Forecasting errors in traffic volume and/or traffic distribution. - Dynamics in traffic matrix due to the temporal nature of traffic patterns, BGP policy change from peers, etc. The inadequacy of the legacy Internet interior gateway routing system is one of the factors motivating the interest in path oriented technology with explicit routing and constraint-based routing capability such as MPLS. Awduche, et. al. Informational [Page 29] RFC 3272 Overview and Principles of Internet TE May 2002 4.2.3 ToS Routing Type-of-Service (ToS) routing involves different routes going to the same destination with selection dependent upon the ToS field of an IP packet [RFC-2474]. The ToS classes may be classified as low delay and high throughput. Each link is associated with multiple link costs and each link cost is used to compute routes for a particular ToS. A separate shortest path tree is computed for each ToS. The shortest path algorithm must be run for each ToS resulting in very expensive computation. Classical ToS-based routing is now outdated as the IP header field has been replaced by a Diffserv field. Effective traffic engineering is difficult to perform in classical ToS-based routing because each class still relies exclusively on shortest path routing which results in localization of traffic concentration within the network. 4.2.4 Equal Cost Multi-Path Equal Cost Multi-Path (ECMP) is another technique that attempts to address the deficiency in the Shortest Path First (SPF) interior gateway routing systems [RFC-2328]. In the classical SPF algorithm, if two or more shortest paths exist to a given destination, the algorithm will choose one of them. The algorithm is modified slightly in ECMP so that if two or more equal cost shortest paths exist between two nodes, the traffic between the nodes is distributed among the multiple equal-cost paths. Traffic distribution across the equal-cost paths is usually performed in one of two ways: (1) packet-based in a round-robin fashion, or (2) flow-based using hashing on source and destination IP addresses and possibly other fields of the IP header. The first approach can easily cause out- of-order packets while the second approach is dependent upon the number and distribution of flows. Flow-based load sharing may be unpredictable in an enterprise network where the number of flows is relatively small and less heterogeneous (for example, hashing may not be uniform), but it is generally effective in core public networks where the number of flows is large and heterogeneous. In ECMP, link costs are static and bandwidth constraints are not considered, so ECMP attempts to distribute the traffic as equally as possible among the equal-cost paths independent of the congestion status of each path. As a result, given two equal-cost paths, it is possible that one of the paths will be more congested than the other. Another drawback of ECMP is that load sharing cannot be achieved on multiple paths which have non-identical costs. Awduche, et. al. Informational [Page 30] RFC 3272 Overview and Principles of Internet TE May 2002 4.2.5 Nimrod Nimrod is a routing system developed to provide heterogeneous service specific routing in the Internet, while taking multiple constraints into account [RFC-1992]. Essentially, Nimrod is a link state routing protocol which supports path oriented packet forwarding. It uses the concept of maps to represent network connectivity and services at multiple levels of abstraction. Mechanisms are provided to allow restriction of the distribution of routing information. Even though Nimrod did not enjoy deployment in the public Internet, a number of key concepts incorporated into the Nimrod architecture, such as explicit routing which allows selection of paths at originating nodes, are beginning to find applications in some recent constraint-based routing initiatives. 4.3 Overlay Model In the overlay model, a virtual-circuit network, such as ATM, frame relay, or WDM, provides virtual-circuit connectivity between routers that are located at the edges of a virtual-circuit cloud. In this mode, two routers that are connected through a virtual circuit see a direct adjacency between themselves independent of the physical route taken by the virtual circuit through the ATM, frame relay, or WDM network. Thus, the overlay model essentially decouples the logical topology that routers see from the physical topology that the ATM, frame relay, or WDM network manages. The overlay model based on ATM or frame relay enables a network administrator or an automaton to employ traffic engineering concepts to perform path optimization by re-configuring or rearranging the virtual circuits so that a virtual circuit on a congested or sub-optimal physical link can be re-routed to a less congested or more optimal one. In the overlay model, traffic engineering is also employed to establish relationships between the traffic management parameters (e.g., PCR, SCR, and MBS for ATM) of the virtual-circuit technology and the actual traffic that traverses each circuit. These relationships can be established based upon known or projected traffic profiles, and some other factors. The overlay model using IP over ATM requires the management of two separate networks with different technologies (IP and ATM) resulting in increased operational complexity and cost. In the fully-meshed overlay model, each router would peer to every other router in the network, so that the total number of adjacencies is a quadratic function of the number of routers. Some of the issues with the overlay model are discussed in [AWD2]. Awduche, et. al. Informational [Page 31] RFC 3272 Overview and Principles of Internet TE May 2002 4.4 Constrained-Based Routing Constraint-based routing refers to a class of routing systems that compute routes through a network subject to the satisfaction of a set of constraints and requirements. In the most general setting, constraint-based routing may also seek to optimize overall network performance while minimizing costs. The constraints and requirements may be imposed by the network itself or by administrative policies. Constraints may include bandwidth, hop count, delay, and policy instruments such as resource class attributes. Constraints may also include domain specific attributes of certain network technologies and contexts which impose restrictions on the solution space of the routing function. Path oriented technologies such as MPLS have made constraint-based routing feasible and attractive in public IP networks. The concept of constraint-based routing within the context of MPLS traffic engineering requirements in IP networks was first defined in [RFC-2702]. Unlike QoS routing (for example, see [RFC-2386] and [MA]) which generally addresses the issue of routing individual traffic flows to satisfy prescribed flow based QoS requirements subject to network resource availability, constraint-based routing is applicable to traffic aggregates as well as flows and may be subject to a wide variety of constraints which may include policy restrictions. 4.5 Overview of Other IETF Projects Related to Traffic Engineering This subsection reviews a number of IETF activities pertinent to Internet traffic engineering. These activities are primarily intended to evolve the IP architecture to support new service definitions which allow preferential or differentiated treatment to be accorded to certain types of traffic. 4.5.1 Integrated Services The IETF Integrated Services working group developed the integrated services (Intserv) model. This model requires resources, such as bandwidth and buffers, to be reserved a priori for a given traffic flow to ensure that the quality of service requested by the traffic flow is satisfied. The integrated services model includes additional components beyond those used in the best-effort model such as packet classifiers, packet schedulers, and admission control. A packet classifier is used to identify flows that are to receive a certain level of service. A packet scheduler handles the scheduling of Awduche, et. al. Informational [Page 32] RFC 3272 Overview and Principles of Internet TE May 2002 service to different packet flows to ensure that QoS commitments are met. Admission control is used to determine whether a router has the necessary resources to accept a new flow. Two services have been defined under the Integrated Services model: guaranteed service [RFC-2212] and controlled-load service [RFC-2211]. The guaranteed service can be used for applications requiring bounded packet delivery time. For this type of application, data that is delivered to the application after a pre-defined amount of time has elapsed is usually considered worthless. Therefore, guaranteed service was intended to provide a firm quantitative bound on the end-to-end packet delay for a flow. This is accomplished by controlling the queuing delay on network elements along the data flow path. The guaranteed service model does not, however, provide bounds on jitter (inter-arrival times between consecutive packets). The controlled-load service can be used for adaptive applications that can tolerate some delay but are sensitive to traffic overload conditions. This type of application typically functions satisfactorily when the network is lightly loaded but its performance degrades significantly when the network is heavily loaded. Controlled-load service, therefore, has been designed to provide approximately the same service as best-effort service in a lightly loaded network regardless of actual network conditions. Controlled- load service is described qualitatively in that no target values of delay or loss are specified. The main issue with the Integrated Services model has been scalability [RFC-2998], especially in large public IP networks which may potentially have millions of active micro-flows in transit concurrently. A notable feature of the Integrated Services model is that it requires explicit signaling of QoS requirements from end systems to routers [RFC-2753]. The Resource Reservation Protocol (RSVP) performs this signaling function and is a critical component of the Integrated Services model. The RSVP protocol is described next. 4.5.2 RSVP RSVP is a soft state signaling protocol [RFC-2205]. It supports receiver initiated establishment of resource reservations for both multicast and unicast flows. RSVP was originally developed as a signaling protocol within the integrated services framework for applications to communicate QoS requirements to the network and for the network to reserve relevant resources to satisfy the QoS requirements [RFC-2205]. quot; OBJECT dlswDirMacRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirNBName MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirNBNameType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirNBEntryType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirNBLocationType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirNBLocation MIN-ACCESS read-only DESCRIPTION Chen, et. al. Standards Track [Page 79] RFC 2024 DLSw MIB using SMIv2 October 1996 "Write access is not required." OBJECT dlswDirNBStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirNBLFSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswDirNBRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { dlswCompliances 3 } -- ................................................................... -- Compliance for all DLSw entities that provide an ordered -- list of directory entries that match a resource -- ................................................................... dlswDirLocateCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance for DLSw nodes that provide an ordered list of directory entries for a given resource." MODULE MANDATORY-GROUPS { dlswDirLocateGroup } GROUP dlswDirLocateNBGroup DESCRIPTION "The DLSw NetBIOS group is mandatory only for those DLSw entities that implement NetBIOS." ::= { dlswCompliances 4 } -- ................................................................... -- Compliance for all DLSw entities that support SDLC end stations -- ................................................................... dlswSdlcCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "Compliance for DLSw nodes that support SDLC." MODULE MANDATORY-GROUPS { Chen, et. al. Standards Track [Page 80] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswSdlcGroup } OBJECT dlswSdlcLsLocalMac MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswSdlcLsLocalSap MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswSdlcLsLocalIdBlock MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswSdlcLsLocalIdNum MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswSdlcLsRemoteMac MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswSdlcLsRemoteSap MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT dlswSdlcLsRowStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { dlswCompliances 5 } -- ------------------------------------------------------------------- -- CONFORMANCE GROUPS -- ------------------------------------------------------------------- -- ................................................................... -- Node Conformance Group -- ................................................................... dlswNodeGroup OBJECT-GROUP OBJECTS { Chen, et. al. Standards Track [Page 81] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswNodeVersion, dlswNodeVendorID, dlswNodeVersionString, dlswNodeStdPacingSupport, dlswNodeStatus, dlswNodeUpTime, dlswNodeVirtualSegmentLFSize, dlswNodeResourceMacExclusivity, dlswTrapCntlTConnPartnerReject, dlswTrapCntlTConnProtViolation, dlswTrapCntlTConn, dlswTrapCntlCircuit } STATUS current DESCRIPTION "Conformance group for DLSw node general information." ::= { dlswGroups 1 } -- ................................................................... dlswNodeNBGroup OBJECT-GROUP OBJECTS { dlswNodeResourceNBExclusivity } STATUS current DESCRIPTION "Conformance group for DLSw node general information specifically for nodes that support NetBIOS." ::= { dlswGroups 2 } -- ................................................................... dlswTConnStatGroup OBJECT-GROUP OBJECTS { dlswTConnStatActiveConnections, dlswTConnStatCloseIdles, dlswTConnStatCloseBusys } STATUS current DESCRIPTION "Conformance group for statistics for transport connections." ::= { dlswGroups 3 } -- ................................................................... dlswTConnConfigGroup OBJECT-GROUP OBJECTS { dlswTConnConfigTDomain, dlswTConnConfigLocalTAddr, dlswTConnConfigRemoteTAddr, Chen, et. al. Standards Track [Page 82] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswTConnConfigLastModifyTime, dlswTConnConfigEntryType, dlswTConnConfigGroupDefinition, dlswTConnConfigSetupType, dlswTConnConfigSapList, dlswTConnConfigAdvertiseMacNB, dlswTConnConfigInitCirRecvWndw, dlswTConnConfigOpens, dlswTConnConfigRowStatus } STATUS current DESCRIPTION "Conformance group for the configuration of transport connections." ::= { dlswGroups 4 } -- ................................................................... dlswTConnOperGroup OBJECT-GROUP OBJECTS { dlswTConnOperLocalTAddr, dlswTConnOperEntryTime, dlswTConnOperConnectTime, dlswTConnOperState, dlswTConnOperConfigIndex, dlswTConnOperFlowCntlMode, dlswTConnOperPartnerVersion, dlswTConnOperPartnerVendorID, dlswTConnOperPartnerVersionStr, dlswTConnOperPartnerInitPacingWndw, dlswTConnOperPartnerSapList, dlswTConnOperPartnerMacExcl, dlswTConnOperPartnerMacInfo, dlswTConnOperDiscTime, dlswTConnOperDiscReason, dlswTConnOperDiscActiveCir, dlswTConnOperInDataPkts, dlswTConnOperOutDataPkts, dlswTConnOperInDataOctets, dlswTConnOperOutDataOctets, dlswTConnOperInCntlPkts, dlswTConnOperOutCntlPkts, dlswTConnOperCURexSents, dlswTConnOperICRexRcvds, dlswTConnOperCURexRcvds, dlswTConnOperICRexSents, dlswTConnOperCirCreates, dlswTConnOperCircuits } Chen, et. al. Standards Track [Page 83] RFC 2024 DLSw MIB using SMIv2 October 1996 STATUS current DESCRIPTION "Conformance group for operation information for transport connections." ::= { dlswGroups 5 } -- ................................................................... dlswTConnNBGroup OBJECT-GROUP OBJECTS { dlswTConnOperPartnerNBExcl, dlswTConnOperPartnerNBInfo, dlswTConnOperNQexSents, dlswTConnOperNRexRcvds, dlswTConnOperNQexRcvds, dlswTConnOperNRexSents } STATUS current DESCRIPTION "Conformance group for operation information for transport connections, specifically for nodes that support NetBIOS." ::= { dlswGroups 6 } -- ................................................................... dlswTConnTcpConfigGroup OBJECT-GROUP OBJECTS { dlswTConnTcpConfigKeepAliveInt, dlswTConnTcpConfigTcpConnections, dlswTConnTcpConfigMaxSegmentSize } STATUS current DESCRIPTION "Conformance group for configuration information for transport connections using TCP." ::= { dlswGroups 7 } -- ................................................................... dlswTConnTcpOperGroup OBJECT-GROUP OBJECTS { dlswTConnTcpOperKeepAliveInt, dlswTConnTcpOperPrefTcpConnections, dlswTConnTcpOperTcpConnections } STATUS current DESCRIPTION "Conformance group for operation information for transport connections using TCP." ::= { dlswGroups 8 } Chen, et. al. Standards Track [Page 84] RFC 2024 DLSw MIB using SMIv2 October 1996 -- ................................................................... dlswInterfaceGroup OBJECT-GROUP OBJECTS { dlswIfRowStatus, dlswIfVirtualSegment, dlswIfSapList } STATUS current DESCRIPTION "Conformance group for DLSw interfaces." ::= { dlswGroups 9 } -- ................................................................... dlswDirGroup OBJECT-GROUP OBJECTS { dlswDirMacEntries, dlswDirMacCacheHits, dlswDirMacCacheMisses, dlswDirMacCacheNextIndex, dlswDirMacMac, dlswDirMacMask, dlswDirMacEntryType, dlswDirMacLocationType, dlswDirMacLocation, dlswDirMacStatus, dlswDirMacLFSize, dlswDirMacRowStatus } STATUS current DESCRIPTION "Conformance group for DLSw directory using MAC addresses." ::= { dlswGroups 10 } -- ................................................................... dlswDirNBGroup OBJECT-GROUP OBJECTS { dlswDirNBEntries, dlswDirNBCacheHits, dlswDirNBCacheMisses, dlswDirNBCacheNextIndex, dlswDirNBName, dlswDirNBNameType, dlswDirNBEntryType, dlswDirNBLocationType, dlswDirNBLocation, dlswDirNBStatus, dlswDirNBLFSize, Chen, et. al. Standards Track [Page 85] RFC 2024 DLSw MIB using SMIv2 October 1996Awduche, et. al. Informational [Page 33] RFC 3272 Overview and Principles of Internet TE May 2002 Under RSVP, the sender or source node sends a PATH message to the receiver with the same source and destination addresses as the traffic which the sender will generate. The PATH message contains: (1) a sender Tspec specifying the characteristics of the traffic, (2) a sender Template specifying the format of the traffic, and (3) an optional Adspec which is used to support the concept of one pass with advertising" (OPWA) [RFC-2205]. Every intermediate router along the path forwards the PATH Message to the next hop determined by the routing protocol. Upon receiving a PATH Message, the receiver responds with a RESV message which includes a flow descriptor used to request resource reservations. The RESV message travels to the sender or source node in the opposite direction along the path that the PATH message traversed. Every intermediate router along the path can reject or accept the reservation request of the RESV message. If the request is rejected, the rejecting router will send an error message to the receiver and the signaling process will terminate. If the request is accepted, link bandwidth and buffer space are allocated for the flow and the related flow state information is installed in the router. One of the issues with the original RSVP specification was Scalability. This is because reservations were required for micro- flows, so that the amount of state maintained by network elements tends to increase linearly with the number of micro-flows. These issues are described in [RFC-2961]. Recently, RSVP has been modified and extended in several ways to mitigate the scaling problems. As a result, it is becoming a versatile signaling protocol for the Internet. For example, RSVP has been extended to reserve resources for aggregation of flows, to set up MPLS explicit label switched paths, and to perform other signaling functions within the Internet. There are also a number of proposals to reduce the amount of refresh messages required to maintain established RSVP sessions [RFC-2961]. A number of IETF working groups have been engaged in activities related to the RSVP protocol. These include the original RSVP working group, the MPLS working group, the Resource Allocation Protocol working group, and the Policy Framework working group. 4.5.3 Differentiated Services The goal of the Differentiated Services (Diffserv) effort within the IETF is to devise scalable mechanisms for categorization of traffic into behavior aggregates, which ultimately allows each behavior aggregate to be treated differently, especially when there is a shortage of resources such as link bandwidth and buffer space [RFC- 2475]. One of the primary motivations for the Diffserv effort was to Awduche, et. al. Informational [Page 34] RFC 3272 Overview and Principles of Internet TE May 2002 devise alternative mechanisms for service differentiation in the Internet that mitigate the scalability issues encountered with the Intserv model. The IETF Diffserv working group has defined a Differentiated Services field in the IP header (DS field). The DS field consists of six bits of the part of the IP header formerly known as TOS octet. The DS field is used to indicate the forwarding treatment that a packet should receive at a node [RFC-2474]. The Diffserv working group has also standardized a number of Per-Hop Behavior (PHB) groups. Using the PHBs, several classes of services can be defined using different classification, policing, shaping, and scheduling rules. For an end-user of network services to receive Differentiated Services from its Internet Service Provider (ISP), it may be necessary for the user to have a Service Level Agreement (SLA) with the ISP. An SLA may explicitly or implicitly specify a Traffic Conditioning Agreement (TCA) which defines classifier rules as well as metering, marking, discarding, and shaping rules. Packets are classified, and possibly policed and shaped at the ingress to a Diffserv network. When a packet traverses the boundary between different Diffserv domains, the DS field of the packet may be re-marked according to existing agreements between the domains. Differentiated Services allows only a finite number of service classes to be indicated by the DS field. The main advantage of the Diffserv approach relative to the Intserv model is scalability. Resources are allocated on a per-class basis and the amount of state information is proportional to the number of classes rather than to the number of application flows. It should be obvious from the previous discussion that the Diffserv model essentially deals with traffic management issues on a per hop basis. The Diffserv control model consists of a collection of micro-TE control mechanisms. Other traffic engineering capabilities, such as capacity management (including routing control), are also required in order to deliver acceptable service quality in Diffserv networks. The concept of Per Domain Behaviors has been introduced to better capture the notion of differentiated services across a complete domain [RFC-3086]. 4.5.4 MPLS MPLS is an advanced forwarding scheme which also includes extensions to conventional IP control plane protocols. MPLS extends the Internet routing model and enhances packet forwarding and path control [RFC-3031]. Awduche, et. al. Informational [Page 35] RFC 3272 Overview and Principles of Internet TE May 2002 At the ingress to an MPLS domain, label switching routers (LSRs) classify IP packets into forwarding equivalence classes (FECs) based on a variety of factors, including, e.g., a combination of the information carried in the IP header of the packets and the local routing information maintained by the LSRs. An MPLS label is then prepended to each packet according to their forwarding equivalence classes. In a non-ATM/FR environment, the label is 32 bits long and contains a 20-bit label field, a 3-bit experimental field (formerly known as Class-of-Service or CoS field), a 1-bit label stack indicator and an 8-bit TTL field. In an ATM (FR) environment, the label consists of information encoded in the VCI/VPI (DLCI) field. An MPLS capable router (an LSR) examines the label and possibly the experimental field and uses this information to make packet forwarding decisions. An LSR makes forwarding decisions by using the label prepended to packets as the index into a local next hop label forwarding entry (NHLFE). The packet is then processed as specified in the NHLFE. The incoming label may be replaced by an outgoing label, and the packet may be switched to the next LSR. This label-switching process is very similar to the label (VCI/VPI) swapping process in ATM networks. Before a packet leaves an MPLS domain, its MPLS label may be removed. A Label Switched Path (LSP) is the path between an ingress LSRs and an egress LSRs through which a labeled packet traverses. The path of an explicit LSP is defined at the originating (ingress) node of the LSP. MPLS can use a signaling protocol such as RSVP or LDP to set up LSPs. MPLS is a very powerful technology for Internet traffic engineering because it supports explicit LSPs which allow constraint-based routing to be implemented efficiently in IP networks [AWD2]. The requirements for traffic engineering over MPLS are described in [RFC-2702]. Extensions to RSVP to support instantiation of explicit LSP are discussed in [RFC-3209]. Extensions to LDP, known as CR-LDP, to support explicit LSPs are presented in [JAM]. 4.5.5 IP Performance Metrics The IETF IP Performance Metrics (IPPM) working group has been developing a set of standard metrics that can be used to monitor the quality, performance, and reliability of Internet services. These metrics can be applied by network operators, end-users, and independent testing groups to provide users and service providers with a common understanding of the performance and reliability of the Internet component 'clouds' they use/provide [RFC-2330]. The criteria for performance metrics developed by the IPPM WG are described in [RFC-2330]. Examples of performance metrics include one-way packet Awduche, et. al. Informational [Page 36] RFC 3272 Overview and Principles of Internet TE May 2002 loss [RFC-2680], one-way delay [RFC-2679], and connectivity measures between two nodes [RFC-2678]. Other metrics include second-order measures of packet loss and delay. Some of the performance metrics specified by the IPPM WG are useful for specifying Service Level Agreements (SLAs). SLAs are sets of service level objectives negotiated between users and service providers, wherein each objective is a combination of one or more performance metrics, possibly subject to certain constraints. 4.5.6 Flow Measurement The IETF Real Time Flow Measurement (RTFM) working group has produced an architecture document defining a method to specify traffic flows as well as a number of components for flow measurement (meters, meter readers, manager) [RFC-2722]. A flow measurement system enables network traffic flows to be measured and analyzed at the flow level for a variety of purposes. As noted in RFC 2722, a flow measurement system can be very useful in the following contexts: (1) understanding the behavior of existing networks, (2) planning for network development and expansion, (3) quantification of network performance, (4) verifying the quality of network service, and (5) attribution of network usage to users. A flow measurement system consists of meters, meter readers, and managers. A meter observes packets passing through a measurement point, classifies them into certain groups, accumulates certain usage data (such as the number of packets and bytes for each group), and stores the usage data in a flow table. A group may represent a user application, a host, a network, a group of networks, etc. A meter reader gathers usage data from various meters so it can be made available for analysis. A manager is responsible for configuring and controlling meters and meter readers. The instructions received by a meter from a manager include flow specification, meter control parameters, and sampling techniques. The instructions received by a meter reader from a manager include the address of the meter whose date is to be collected, the frequency of data collection, and the types of flows to be collected. 4.5.7 Endpoint Congestion Management [RFC-3124] is intended to provide a set of congestion control mechanisms that transport protocols can use. It is also intended to develop mechanisms for unifying congestion control across a subset of an endpoint's active unicast connections (called a congestion group). A congestion manager continuously monitors the state of the path for Awduche, et. al. Informational [Page 37] RFC 3272 Overview and Principles of Internet TE May 2002 each congestion group under its control. The manager uses that information to instruct a scheduler on how to partition bandwidth among the connections of that congestion group. 4.6 Overview of ITU Activities Related to Traffic Engineering This section provides an overview of prior work within the ITU-T pertaining to traffic engineering in traditional telecommunications networks. ITU-T Recommendations E.600 [ITU-E600], E.701 [ITU-E701], and E.801 [ITU-E801] address traffic engineering issues in traditional telecommunications networks. Recommendation E.600 provides a vocabulary for describing traffic engineering concepts, while E.701 defines reference connections, Grade of Service (GOS), and traffic parameters for ISDN. Recommendation E.701 uses the concept of a reference connection to identify representative cases of different types of connections without describing the specifics of their actual realizations by different physical means. As defined in Recommendation E.600, "a connection is an association of resources providing means for communication between two or more devices in, or attached to, a telecommunication network." Also, E.600 defines "a resource as any set of physically or conceptually identifiable entities within a telecommunication network, the use of which can be unambiguously determined" [ITU-E600]. There can be different types of connections as the number and types of resources in a connection may vary. Typically, different network segments are involved in the path of a connection. For example, a connection may be local, national, or international. The purposes of reference connections are to clarify and specify traffic performance issues at various interfaces between different network domains. Each domain may consist of one or more service provider networks. Reference connections provide a basis to define grade of service (GoS) parameters related to traffic engineering within the ITU-T framework. As defined in E.600, "GoS refers to a number of traffic engineering variables which are used to provide a measure of the adequacy of a group of resources under specified conditions." These GoS variables may be probability of loss, dial tone, delay, etc. They are essential for network internal design and operation as well as for component performance specification. GoS is different from quality of service (QoS) in the ITU framework. QoS is the performance perceivable by a telecommunication service user and expresses the user's degree of satisfaction of the service. QoS parameters focus on performance aspects observable at the service Awduche, et. al. Informational [Page 38] RFC 3272 Overview and Principles of Internet TE May 2002 access points and network interfaces, rather than their causes within the network. GoS, on the other hand, is a set of network oriented measures which characterize the adequacy of a group of resources under specified conditions. For a network to be effective in serving its users, the values of both GoS and QoS parameters must be related, with GoS parameters typically making a major contribution to the QoS. Recommendation E.600 stipulates that a set of GoS parameters must be selected and defined on an end-to-end basis for each major service category provided by a network to assist the network provider with improving efficiency and effectiveness of the network. Based on a selected set of reference connections, suitable target values are assigned to the selected GoS parameters under normal and high load conditions. These end-to-end GoS target values are then apportioned to individual resource components of the reference connections for dimensioning purposes. 4.7 Content Distribution The Internet is dominated by client-server interactions, especially Web traffic (in the future, more sophisticated media servers may become dominant). The location and performance of major information servers has a significant impact on the traffic patterns within the Internet as well as on the perception of service quality by end users. A number of dynamic load balancing techniques have been devised to improve the performance of replicated information servers. These techniques can cause spatial traffic characteristics to become more dynamic in the Internet because information servers can be dynamically picked based upon the location of the clients, the location of the servers, the relative utilization of the servers, the relative performance of different networks, and the relative performance of different parts of a network. This process of assignment of distributed servers to clients is called Traffic Directing. It functions at the application layer. Traffic Directing schemes that allocate servers in multiple geographically dispersed locations to clients may require empirical network performance statistics to make more effective decisions. In the future, network measurement systems may need to provide this type of information. The exact parameters needed are not yet defined. When congestion exists in the network, Traffic Directing and Traffic Engineering systems should act in a coordinated manner. This topic is for further study. Awduche, et. al. Informational [Page 39] RFC 3272 Overview and Principles of Internet TE May 2002 The issues related to location and replication of information servers, particularly web servers, are important for Internet traffic engineering because these servers contribute a substantial proportion of Internet traffic. 5.0 Taxonomy of Traffic Engineering Systems This section presents a short taxonomy of traffic engineering systems. A taxonomy of traffic engineering systems can be constructed based on traffic engineering styles and views as listed below: - Time-dependent vs State-dependent vs Event-dependent - Offline vs Online - Centralized vs Distributed - Local vs Global Information - Prescriptive vs Descriptive - Open Loop vs Closed Loop - Tactical vs Strategic These classification systems are described in greater detail in the following subsections of this document. 5.1 Time-Dependent Versus State-Dependent Versus Event Dependent Traffic engineering methodologies can be classified as time- dependent, or state-dependent, or event-dependent. All TE schemes are considered to be dynamic in this document. Static TE implies that no traffic engineering methodology or algorithm is being applied. In the time-dependent TE, historical information based on periodic variations in traffic, (such as time of day), is used to pre-program routing plans and other TE control mechanisms. Additionally, customer subscription or traffic projection may be used. Pre- programmed routing plans typically change on a relatively long time scale (e.g., diurnal). Time-dependent algorithms do not attempt to adapt to random variations in traffic or changing network conditions. An example of a time-dependent algorithm is a global centralized optimizer where the input to the system is a traffic matrix and multi-class QoS requirements as described [MR99]. State-dependent TE adapts the routing plans for packets based on the current state of the network. The current state of the network provides additional information on variations in actual traffic (i.e., perturbations from regular variations) that could not be predicted using historical information. Constraint-based routing is Awduche, et. al. Informational [Page 40] RFC 3272 Overview and Principles of Internet TE May 2002 an example of state-dependent TE operating in a relatively long time scale. An example operating in a relatively short time scale is a load-balancing algorithm described in [MATE]. The state of the network can be based on parameters such as utilization, packet delay, packet loss, etc. These parameters can be obtained in several ways. For example, each router may flood these parameters periodically or by means of some kind of trigger to other routers. Another approach is for a particular router performing adaptive TE to send probe packets along a path to gather the state of that path. Still another approach is for a management system to gather relevant information from network elements. Expeditious and accurate gathering and distribution of state information is critical for adaptive TE due to the dynamic nature of network conditions. State-dependent algorithms may be applied to increase network efficiency and resilience. Time-dependent algorithms are more suitable for predictable traffic variations. On the other hand, state-dependent algorithms are more suitable for adapting to the prevailing network state. Event-dependent TE methods can also be used for TE path selection. Event-dependent TE methods are distinct from time-dependent and state-dependent TE methods in the manner in which paths are selected. These algorithms are adaptive and distributed in nature and typically use learning models to find good paths for TE in a network. While state-dependent TE models typically use available-link-bandwidth (ALB) flooding for TE path selection, event-dependent TE methods do not require ALB flooding. Rather, event-dependent TE methods typically search out capacity by learning models, as in the success- to-the-top (STT) method. ALB flooding can be resource intensive, since it requires link bandwidth to carry LSAs, processor capacity to process LSAs, and the overhead can limit area/autonomous system (AS) size. Modeling results suggest that event-dependent TE methods could lead to a reduction in ALB flooding overhead without loss of network throughput performance [ASH3]. 5.2 Offline Versus Online Traffic engineering requires the computation of routing plans. The computation may be performed offline or online. The computation can be done offline for scenarios where routing plans need not be executed in real-time. For example, routing plans computed from forecast information may be computed offline. Typically, offline computation is also used to perform extensive searches on multi- dimensional solution spaces. Awduche, et. al. Informational [Page 41] RFC 3272 Overview and Principles of Internet TE May 2002 Online computation is required when the routing plans must adapt to changing network conditions as in state-dependent algorithms. Unlike offline computation (which can be computationally demanding), online computation is geared toward relative simple and fast calculations to select routes, fine-tune the allocations of resources, and perform load balancing. 5.3 Centralized Versus Distributed Centralized control has a central authority which determines routing plans and perhaps other TE control parameters on behalf of each router. The central authority collects the network-state information from all routers periodically and returns the routing information to the routers. The routing update cycle is a critical parameter directly impacting the performance of the network being controlled. Centralized control may need high processing power and high bandwidth control channels. Distributed control determines route selection by each router autonomously based on the routers view of the state of the network. The network state information may be obtained by the router using a probing method or distributed by other routers on a periodic basis using link state advertisements. Network state information may also be disseminated under exceptional conditions. 5.4 Local Versus Global Traffic engineering algorithms may require local or global network- state information. Local information pertains to the state of a portion of the domain. Examples include the bandwidth and packet loss rate of a particular path. Local state information may be sufficient for certain instances of distributed-controlled TEs. Global information pertains to the state of the entire domain undergoing traffic engineering. Examples include a global traffic matrix and loading information on each link throughout the domain of interest. Global state information is typically required with centralized control. Distributed TE systems may also need global information in some cases. 5.5 Prescriptive Versus Descriptive TE systems may also be classified as prescriptive or descriptive. Awduche, et. al. Informational [Page 42] RFC 3272 Overview and Principles of Internet TE May 2002 Prescriptive traffic engineering evaluates alternatives and recommends a course of action. Prescriptive traffic engineering can be further categorized as either corrective or perfective. Corrective TE prescribes a course of action to address an existing or predicted anomaly. Perfective TE prescribes a course of action to evolve and improve network performance even when no anomalies are evident. Descriptive traffic engineering, on the other hand, characterizes the state of the network and assesses the impact of various policies without recommending any particular course of action. 5.6 Open-Loop Versus Closed-Loop Open-loop traffic engineering control is where control action does not use feedback information from the current network state. The control action may use its own local information for accounting purposes, however. Closed-loop traffic engineering control is where control action utilizes feedback information from the network state. The feedback information may be in the form of historical information or current measurement. 5.7 Tactical vs Strategic Tactical traffic engineering aims to address specific performance problems (such as hot-spots) that occur in the network from a tactical perspective, without consideration of overall strategic imperatives. Without proper planning and insights, tactical TE tends to be ad hoc in nature. Strategic traffic engineering approaches the TE problem from a more organized and systematic perspective, taking into consideration the immediate and longer term consequences of specific policies and actions. 6.0 Recommendations for Internet Traffic Engineering This section describes high level recommendations for traffic engineering in the Internet. These recommendations are presented in general terms. The recommendations describe the capabilities needed to solve a traffic engineering problem or to achieve a traffic engineering objective. Broadly speaking, these recommendations can be categorized as either functional and non-functional recommendations. Awduche, et. al. Informational [Page 43] RFC 3272 Overview and Principles of Internet TE May 2002 Functional recommendations for Internet traffic engineering describe the functions that a traffic engineering system should perform. These functions are needed to realize traffic engineering objectives by addressing traffic engineering problems. Non-functional recommendations for Internet traffic engineering relate to the quality attributes or state characteristics of a traffic engineering system. These recommendations may contain conflicting assertions and may sometimes be difficult to quantify precisely. 6.1 Generic Non-functional Recommendations The generic non-functional recommendations for Internet traffic engineering include: usability, automation, scalability, stability, visibility, simplicity, efficiency, reliability, correctness, maintainability, extensibility, interoperability, and security. In a given context, some of these recommendations may be critical while others may be optional. Therefore, prioritization may be required during the development phase of a traffic engineering system (or components thereof) to tailor it to a specific operational context. In the following paragraphs, some of the aspects of the non- functional recommendations for Internet traffic engineering are summarized. Usability: Usability is a human factor aspect of traffic engineering systems. Usability refers to the ease with which a traffic engineering system can be deployed and operated. In general, it is desirable to have a TE system that can be readily deployed in an existing network. It is also desirable to have a TE system that is easy to operate and maintain. Automation: Whenever feasible, a traffic engineering system should automate as many traffic engineering functions as possible to minimize the amount of human effort needed to control and analyze operational networks. Automation is particularly imperative in large scale public networks because of the high cost of the human aspects of network operations and the high risk of network problems caused by human errors. Automation may entail the incorporation of automatic feedback and intelligence into some components of the traffic engineering system. Scalability: Contemporary public networks are growing very fast with respect to network size and traffic volume. Therefore, a TE system should be scalable to remain applicable as the network evolves. In particular, a TE system should remain functional as the network expands with regard to the number of routers and links, and with Awduche, et. al. Informational [Page 44] RFC 3272 Overview and Principles of Internet TE May 2002 respect to the traffic volume. A TE system should have a scalable architecture, should not adversely impair other functions and processes in a network element, and should not consume too much network resources when collecting and distributing state information or when exerting control. Stability: Stability is a very important consideration in traffic engineering systems that respond to changes in the state of the network. State-dependent traffic engineering methodologies typically mandate a tradeoff between responsiveness and stability. It is strongly recommended that when tradeoffs are warranted between responsiveness and stability, that the tradeoff should be made in favor of stability (especially in public IP backbone networks). Flexibility: A TE system should be flexible to allow for changes in optimization policy. In particular, a TE system should provide sufficient configuration options so that a network administrator can tailor the TE system to a particular environment. It may also be desirable to have both online and offline TE subsystems which can be independently enabled and disabled. TE systems that are used in multi-class networks should also have options to support class based performance evaluation and optimization. Visibility: As part of the TE system, mechanisms should exist to collect statistics from the network and to analyze these statistics to determine how well the network is functioning. Derived statistics such as traffic matrices, link utilization, latency, packet loss, and other performance measures of interest which are determined from network measurements can be used as indicators of prevailing network conditions. Other examples of status information which should be observed include existing functional routing information (additionally, in the context of MPLS existing LSP routes), etc. Simplicity: Generally, a TE system should be as simple as possible. More importantly, the TE system should be relatively easy to use (i.e., clean, convenient, and intuitive user interfaces). Simplicity in user interface does not necessarily imply that the TE system will use naive algorithms. When complex algorithms and internal structures are used, such complexities should be hidden as much as possible from the network administrator through the user interface. Interoperability: Whenever feasible, traffic engineering systems and their components should be developed with open standards based interfaces to allow interoperation with other systems and components. Security: Security is a critical consideration in traffic engineering systems. Such traffic engineering systems typically exert control over certain functional aspects of the network to achieve the desired Awduche, et. al. Informational [Page 45] RFC 3272 Overview and Principles of Internet TE May 2002 dlswDirNBRowStatus } STATUS current DESCRIPTION "Conformance group for DLSw directory using NetBIOS names." ::= { dlswGroups 11 } -- ................................................................... dlswDirLocateGroup OBJECT-GROUP OBJECTS { dlswDirLocateMacLocation } STATUS current DESCRIPTION "Conformance group for a node that can return directory entry order for a given MAC address." ::= { dlswGroups 12 } -- ................................................................... dlswDirLocateNBGroup OBJECT-GROUP OBJECTS { dlswDirLocateNBLocation } STATUS current DESCRIPTION "Conformance group for a node that can return directory entry order for a given NetBIOS name." ::= { dlswGroups 13 } -- ................................................................... dlswCircuitStatGroup OBJECT-GROUP OBJECTS { dlswCircuitStatActives, dlswCircuitStatCreates } STATUS current DESCRIPTION "Conformance group for statistics about circuits." ::= { dlswGroups 14 } -- ................................................................... dlswCircuitGroup OBJECT-GROUP OBJECTS { dlswCircuitS1IfIndex, dlswCircuitS1DlcType, dlswCircuitS1RouteInfo, dlswCircuitS1CircuitId, Chen, et. al. Standards Track [Page 86] RFC 2024 DLSw MIB using SMIv2 October 1996 dlswCircuitS1Dlc, dlswCircuitS2Location, dlswCircuitS2TDomain, dlswCircuitS2TAddress, dlswCircuitS2CircuitId, dlswCircuitOrigin, dlswCircuitEntryTime, dlswCircuitStateTime, dlswCircuitState, dlswCircuitPriority, dlswCircuitFCSendGrantedUnits, dlswCircuitFCSendCurrentWndw, dlswCircuitFCRecvGrantedUnits, dlswCircuitFCRecvCurrentWndw, dlswCircuitFCLargestRecvGranted, dlswCircuitFCLargestSendGranted, dlswCircuitFCHalveWndwSents, dlswCircuitFCResetOpSents, dlswCircuitFCHalveWndwRcvds, dlswCircuitFCResetOpRcvds, dlswCircuitDiscReasonLocal, dlswCircuitDiscReasonRemote, dlswCircuitDiscReasonRemoteData } STATUS current DESCRIPTION "Conformance group for DLSw circuits." ::= { dlswGroups 15 } -- ................................................................... dlswSdlcGroup OBJECT-GROUP OBJECTS { dlswSdlcLsEntries, dlswSdlcLsLocalMac, dlswSdlcLsLocalSap, dlswSdlcLsLocalIdBlock, dlswSdlcLsLocalIdNum, dlswSdlcLsRemoteMac, dlswSdlcLsRemoteSap, dlswSdlcLsRowStatus } STATUS current DESCRIPTION "Conformance group for DLSw SDLC support." ::= { dlswGroups 16 } -- ................................................................... dlswNotificationGroup NOTIFICATION-GROUP Chen, et. al. Standards Track [Page 87] RFC 2024 DLSw MIB using SMIv2 October 1996 NOTIFICATIONS { dlswTrapTConnPartnerReject, dlswTrapTConnProtViolation, dlswTrapTConnUp, dlswTrapTConnDown, dlswTrapCircuitUp, dlswTrapCircuitDown } STATUS current DESCRIPTION "Conformance group for DLSw notifications." ::= { dlswGroups 17 } END Chen, et. al. Standards Track [Page 88] RFC 2024 DLSw MIB using SMIv2 October 1996 4.0 Acknowledgements This memo has been produced by the AIW DLSw MIB RIGlet, which is also recognized as the IETF DLSw MIB Working Group. 5.0 References [1] Bartky, A., "Data Link Switching: Switch-to-Switch Protocol; AIW DLSw RIG: DLSw Closed Pages, DLSw Standard Version 1", RFC 1795, Sync Research Inc., April 1995. [2] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure of Management Information for version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996. [3] Rose, M., and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, Performance Systems International, Hughes LAN Systems, May 1990. [4] McCloghrie, K., and M. Rose, "Management Information Base for Network Management of TCP/IP-based internets - MIB-II", STD 17, RFC 1213, Hughes LAN Systems, Performance Systems International, March 1991. [5] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, SNMP Research, Performance Systems International, Performance Systems International, MIT Laboratory for Computer Science, May 1990. [6] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol Operations for version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [7] IEEE Project, "ANSI/IEEE P802.1D", 1993 [8] McCloghrie, K., and F. Kastenholz, "Evolution of the Interfaces Group of MIB-II", RFC 1573, Hughes LAN Systems, FTP Software, January 1994. [9] Hilgeman, J., S. Nix, A. Bartky, and W. Clark, "Definitions of Managed Objects for SNA Data Link Control (SDLC) using SMIv2", RFC 1747, Apertus Technologies, Inc., Metaplex, Inc., Sync Research, Inc., cisco Systems, Inc., January 1995 Chen, et. al. Standards Track [Page 89] RFC 2024 DLSw MIB using SMIv2 October 1996 6.0 Security Considerations Security issues are not discussed in this memo. 7.0 Authors' Addresses David D. Chen IBM Networking Systems P. O. Box 12195 Research Triangle Park, NC 27709 US Phone: +1 919 254 6182 EMail: dchen@vnet.ibm.com Peter W. Gayek IBM Networking Systems P. O. Box 12195 Research Triangle Park, NC 27709 US Phone: +1 919 254 1808 EMail: gayek@vnet.ibm.com Shannon Nix Metaplex, Inc. 7025 Kit Creek Road P. O. Box 14987 Research Triangle Park, NC 27709 US Phone: +1 919 472 2388 EMail: snix@metaplex.com Chen, et. al. Standards Track [Page 90]