Internet DRAFT - draft-bhattacharyya-monitoring-sprint

draft-bhattacharyya-monitoring-sprint









INTERNET-DRAFT                                    Supratik Bhattacharyya
Expires September 1 2003                             Gianluca Iannaccone
                                                                Sue Moon
                                                               Nina Taft
                                                         Christophe Diot
                                                              Sprint ATL
                                                            March 1 2003


       Network Measurement and Monitoring : A Sprint Perspective
              <draft-bhattacharyya-monitoring-sprint-01.txt>


Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet- Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   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 [RFC 2119].



Abstract


   This document provides an overview of network measurements and
   monitoring from the perspective of Sprint Advanced Technology Labs.
   It starts with a detailed discussion of the benefits of monitoring
   for an ISP's backbone and the type of measurements required for
   various tasks. It describes the tools and techniques currently in



Bhattacharyya et al                                             [Page 1]





INTERNET-DRAFT                                              March 1 2003


   use, and then outlines what else is needed to meet the challenges of
   monitoring an operational network.


1. Introduction


As the Internet continues to grow rapidly in size and complexity, it has
become increasingly clear that its evolution is closely tied to a
detailed understanding of network traffic. Network traffic measurements
are invaluable for a wide range of tasks such as network capacity
planning, traffic engineering and fault diagnosis. The Sprint IP
backbone is designed with the goal of providing high availability and
low delay/loss while keeping operational complexity low. Meeting these
goals is a highly challenging task and can only be achieved through a
detailed understanding of the network.

Monitoring and measuring traffic in IP networks is difficult for a
number of reasons. First, the designers of IP networks have
traditionally attached less importance to network monitoring and
resource accounting than to issues such as distributed management,
robustness to failure and support for diverse services and protocols
[1]. Thus IP network elements (routers and end-hosts) have not been
designed to retain detailed information about the traffic flowing
through them and IP protocols typically do not provide detailed
information about the state of the underlying network. This poses the
problem of adding enhanced monitoring and measurement capabilities to
existing equipment and/or integrating special purpose monitoring
equipment into existing networks. In addition, IP protocols have been
designed to automatically respond to congestion (e.g., TCP) and failures
(e.g., routing protocols such as IS-IS/OSPF). This makes it hard for a
network administrator to track down the cause of a network failure or
congestion before the network itself takes corrective action. Finally,
the Internet is organized as a loosely connected networks (Autonomous
Systems) that are administered independently.  Hence the operator of a
single network has no control over events occurring in other networks it
exchanges traffic with.  However, a network operator can gain some
knowledge of the state and problems of other networks by studying the
traffic exchanged with those networks.

 This draft presents Sprint ATL's perspective on the measurement and
monitoring of IP networks. Sprint operates one of the largest IP
backbones in the world, consisting of Points-of-Presence (PoPs) in
several continents connected by long-haul links at speeds of OC-48 and
OC-192. The underlying technology of the backbone is IP over DWDM.
Sprint's monitoring requirements are diverse, and range from network
design and capacity planning to traffic engineering and customer
feedback. Currently some of these requirements are fulfilled using



Bhattacharyya et al                                             [Page 2]





INTERNET-DRAFT                                              March 1 2003


standard tools and techniques such as ping, traceroute and SNMP
supplemented by a few commercial and proprietary tools. However the
problem of building a comprehensive and integrated monitoring
infrastructure to address all of Sprint's needs is far from solved.
Several questions remain about the tasks that can benefit from
monitoring, suitable time-scales, granularity of collected information,
router-level support, design of specialized monitoring infrastructure,
etc.

This draft articulates Sprint's monitoring needs and challenges in order
to provide a basis for the systematic development of monitoring tools,
techniques and infrastructure. Although most of the discussion is
inspired by experiences with Sprint's IP network, we believe that a
significant portion can be generalized to other IP backbones of similar
size and design.  We start with a classification of tasks involved in
operating an ISP backbone and how they may benefit from monitoring and
traffic measurements. Based on this, we discuss current tools and
capabilities and how they can aid in some of these tasks. This allows us
to identify additional requirements and open challenges.  The draft
reaches two main conclusions. First a two-tier monitoring system is
needed to comprehensively address the monitoring needs of an ISP. The
first level consists of continuous coarse-grained monitoring on a
network-wide basis. The second level consists of on-demand fine-grained
monitoring at certain points in the network.  The second conclusion of
the draft is that the biggest challenges in building the above
monitoring system is to develop sophisticated infrastructure and
sampling techniques needed for packet-level measurements.
2. Benefits of monitoring

In this section we discuss the importance of monitoring for IP backbones
in terms of the various types of tasks that can benefit from an accurate
knowledge of the network and the flow of traffic across it.

  2.1. Topology Design

  Some of the important goals in designing the topology an ISP network
  are predictable performance, stable behavior and protection against
  failures. Knowledge about network traffic and the performance of
  equipment (failures, interoperability, etc.) is essential for meeting
  these goals.

  ISP backbones typically consist of a set of PoPs connected by high-
  speed links. The connectivity between a given set of PoPs (and hence
  the Pup-to-Pop topology) should be based on the traffic exchanged
  between every pair of Sops. For example, there is little justification
  for adding a direct link between two Pois that exchange a negligible
  amount of traffic. On the other hand, adding a direct link between two
  Pope that exchange large volumes of traffic may actually improve end-



Bhattacharyya et al                                             [Page 3]





INTERNET-DRAFT                                              March 1 2003


  to-end latency. Information about traffic flows between Sops can be
  obtained by building Pup-level traffic matrices. A traffic matrix is a
  representation of traffic flow between an ingress point and an egress
  point (or a set of egress points) in a network. It is built by
  matching traffic demands entering the network at different ingress
  points with routing information. Statistical inference techniques
  based on the traffic volume of individual network links and routing
  information may also be used to build traffic matrices [2]. At several
  points in this isconfigurationsdocument, we will point out the
  importance of traffic matrices at various levels of aggregation and
  time granularity [3].  Today's IP backbones need to be designed to
  meet very stringent loss, delay and availability requirements. Fine-
  grained analyses of packet delay and loss across individual routers
  can help in determining the router requirements to achieve the
  required delay/loss requirements across a given network path.
  Similarly an understanding of the burstiness of traffic and a router's
  ability to handle traffic bursts is essential for dimensioning buffer
  capacities. Although router performance can be evaluated in a
  laboratory testing environment, measurement data from a router in an
  operational network at the granularity of packets (or flows) provides
  a far more exact basis for network design decisions.  Network
  providers attempt to provide predictable performance to customers even
  when faced with equipment failures, software configurations and m.
  Large scale outages, involving multiple links and resulting in the
  loss of a significant portion of
   network capacity are not uncommon. However, an understanding of
  network dynamics during such failures (e.g., which links fail at the
  same time, how routing protocols shift the flow of traffic) is
  valuable for providing better protection with the same level of
  resource provisioning.

  In addition, the network must be well-protected against shorter
  duration failures that arise due to problems such as router crashes,
  software bugs and misconfigurations.  The first step in doing so is to
  characterize the frequency of such events and their impact (e.g.,
  routing protocol reconvergence times) of such failures.  Such
  information can be gathered by collecting router logs, network-wide
  routing update messages, etc. Subsequent analysis of this monitoring
  data can identify weaknesses in the design of networking equipment and
  hence lead to design improvements.


  2.2. Capacity Planning and Forecasting

  Traffic measurements and routing information are key to effective
  capacity planning. Measurements can identify traffic bottlenecks which
  may then be removed by upgrading the capacity of some links and/or
  creating a new path by adding links or routers. If an ISP can



Bhattacharyya et al                                             [Page 4]





INTERNET-DRAFT                                              March 1 2003


  successfully predict the links that would be affected by adding a new
  customer or a peering link, it can plan ahead and upgrade those links
  and/or adjust routing configurations to avoid congestion.

  Successful capacity planning can be achieved only by accurately
  forecasting the growth of traffic in the network. Inaccurate forecasts
  can cause a network to oscillate between having excessive capacity to
  inadequate capacity, which in turn affects the predictability of
  performance. Statistical forecasting techniques that predict growth in
  traffic based on past traffic data is a central component of the
  forecasting process. The granularity at which measurements have to be
  collected for forecasting purposes depends on how far into the future
  we want to forecast. For example, traffic summaries on the time-scale
  of weeks or months may be appropriate for monthly or bi-monthly
  forecasts.  On the other hand, monthly or bi-annual measurements may
  be appropriate for yearly forecasts. The ability to forecast traffic
  itself depends on an understanding of dominant trends (e.g., daily,
  weekly, etc.), and this understanding can only be gained through
  analysis of measurement data. Various statistical techniques such as
  ARIMA models and wavelet analysis can be then used to obtain fairly
  accurate forecasts [4].


  2.3. Operations and Management

  The daily operation and management of ISP backbone is performed by a
  small group of human operators. Their tasks can be divided into two
  broad categories :

    2.3.1. Traffic Engineering: The goal of traffic engineering is to
    transport traffic across a network in such a way as to optimize
    resource utilization and achieve high performance.  There is an
    intrinsic coupling between the traffic that a network has to carry
    and routing policies that determine how this traffic is carried
    across the network. For example, consider an ISP that uses a link-
    state protocol such as IS-IS/OSPF for intra-domain routing.
    Knowledge of the traffic matrix, i.e. traffic demands between pairs
    of ingress and egress points in the network, is crucial for setting
    IS-IS link weights and for evaluating the suitability or performance
    of any routing protocol. Also, traffic measurements inform the
    network operator about how changes in link weights affect the flow
    of traffic.

    Proper configuration of routing protocols also requires knowledge
    about traffic flows. For example, when a network operator configures
    BGP policies to select one out of many possible exit points for
    traffic to a remote network, it helps to know of how much traffic is
    headed towards that network.



Bhattacharyya et al                                             [Page 5]





INTERNET-DRAFT                                              March 1 2003


    Network measurements can assist an operator in blocking off unwanted
    traffic. For example, an ISP is usually unwilling to be the transit
    path between two other ISPs of the same size (e.g. tier-1 ISPs). By
    classifying traffic according to ingress/egress points and/or BGP
    prefixes, an operator may be able to quickly identify and block such
    unwanted transit traffic.

    Traffic measurements can provide input for designing traffic
    engineering approaches to cope with sudden instabilities and
    changes. Some of these changes may simply be day-to-day variations
    in traffic patterns. A network operator can exert proactive control
    in this case by studying the pattern of these variations and
    planning ahead for them (e.g., assigning different sets of link
    weights during day and night). On the other hand, unexpected changes
    can happen due to factors beyond the control of the operator such as
    a flash crowd due to an extraordinary Internet-wide event, or
    excessive instability in the global routing infrastructure.  In this
    case, the network operator can only exert reactive control, e.g., to
    diverting traffic to lightly loaded paths if a path through suddenly
    get congested.


    2.3.2. Fault Diagnosis and Troubleshooting: A significant part of a
    network operator's duties is to identify, diagnose and fix network
    problems that arise on a day-to-day basis. Detailed and timely
    feedback about the state of the network is invaluable for detecting
    problems quickly, identifying the causes and taking corrective
    action. Note that a large part of troubleshooting done by an
    operator in today's network is reactive, i.e. based on a customer
    complaints. Obtaining feedback from network elements (routers, etc.)
    and specialized monitoring equipments can not only speed up the
    response time for these complaints (therefore improving customer
    satisfaction), but can also enable operator to be more "pro-active"
    in preventing the problems before customers notice them.

    For example, the abilities to track the path of packets across a
    network or to trace back a packet to its points of entry into the
    network is important in tracing and potentially stopping denial-of-
    service attacks. Although this capability is non-existent in
    traditional IP protocols, techniques have been proposed recently to
    do this [6,7]. Moreover, router and routing protocol
    misconfigurations may be identified by tracing the trajectory of a
    packet across the network and checking if the packet conforms to its
    expected path.

    In addition to data traffic, routing updates (such as BGP and IS-IS
    messages) are a valuable source of information for studying the
    behaviour of routing protocols, tracking link/router failures,



Bhattacharyya et al                                             [Page 6]





INTERNET-DRAFT                                              March 1 2003


    understanding routing protocol convergence time, and also for
    troubleshooting. Moreover correlating routing updates with traffic
    data can is essential for gaining insights into various problems
    such as the origin of routing loops, the extent to which equipment
    failure disrupts packet delivery, sudden link overload or a sudden
    spike in a router's CPU utilization.


  2.4. Customer-Driven Activities

   An ISP should be able to provide the following services to a
  customer:


  2.4.1. Service-Level-Agreements: Most of today's SLAs are based on
  three metrics - loss, delay and port availability. Loss and delay are
  computed network-wide averages over a fairly long time period, (e.g. a
  month). The term "port" refers to the point at which a customer
  attaches to the provider's network (typically an interface on a
  router).  Availability is measured in terms of the fraction of time
  that this port is operational.

  One of the reasons for the lack of more sophisticated SLAs is the lack
  of proper infrastructure to measure traffic and provide concrete
  evidence about adherence to SLAs. Many providers circumvent this
  problem by offering pay-outs to customers who complain about lack of
  adherence to SLAs. Other providers attempt to distinguish their SLAs
  in terms of the how they handle SLA violations, e.g., proactively
  notifying customers or offer monetary compensation.

  While compensating customers generally has a negative financial effect
  on an ISP's revenues, it certainly improves customer satisfaction. It
  is therefore imperative for an ISP to (i) engineer the network so that
  SLAs are met and (ii) determine SLA breaches accurately via continuous
  and detailed network measurements.

  Currently, operators measure loss and delays in their network using
  standard tools such as ping and traceroute or some custom active
  probing tool. However, such a simple approach is insufficient for
  introducing more complex metrics such as service availability or
  producing detailed statistics such as averages on different time-
  scales, measures of variance, median values. Moreover, it is
  envisioned that in the near future, an operator may be required by
  customers to provide delay, loss or service availability statistics
  between specific points in their (e.g., delays between every pair of
  PoPs). This will certainly require more sophisticated tools and more
  extensive measurements. Passive techniques such as trajectory
  sampling[6] may help in that case to reduce the volume of active



Bhattacharyya et al                                             [Page 7]





INTERNET-DRAFT                                              March 1 2003


  probes needed.


  2.4.2. Blocking attacks : Customers often request their providers to
  block denial-of-service attacks launched at their networks, and to
  identify the source of the attacks. There are legal issues involved in
  this problem which we will not address in this draft. However, the
  outcome of these issues is that an ISP is restricted to detecting and
  blocking attacks based only on transport-level information (e.g., TCP
  and IP headers). Network operators today have few tools at their
  disposal to provide even this limited level of service.  Typically an
  operator, on receiving a customer complaint about a possible attack,
  blocks ALL of the traffic destined to the customer's network. It then
  attempts to determine the source(s) of the attack by doing off-line
  analysis of the customer traffic. The ready availability of monitoring
  infrastructure and supporting analysis tools [6,7] would greatly help
  an operator in performing early detection (e.g., identifying spoofed
  source addresses) and greatly reduce that a customer's network
  availability is disrupted. For example, if an operator has the ability
  to capture traffic flow volumes between pairs of BGP prefixes or pairs
  of links, then  anomalous changes in the volumes of one or more of
  these flows could serve as an alarm for possible attacks.


  2.4.3. Customer Traffic Engineering: A customer may request
  information about how an ISP carries its traffic to and from other
  networks, such as the hop count and delays on the routes used by the
  customer's traffic, the egress point from the ISP's network, etc. This
  enables the customer to verify that packets are not being routed along
  network paths with large latencies. A multi-homed customer may be
  interested in the amount of traffic that it exchanges with the
  provider at every access point in order to determine the appropriate
  amount of bandwidth it needs to buy from the provider at each access
  point.  A customer may want to know the breakup of incoming traffic by
  BGP prefixes so that it can set BGP policies to improve load balancing
  across its multiple access links. If a customer uses its provider's
  network to set up a Virtual Private Network (VPN) among multiple
  sites, it may want to know the total traffic exchanged between every
  pair of sites. Many of these statistics can be collected by customers
  themselves by installing monitoring equipment in their networks or by
  injecting active probes into the provider's network. However, a
  provider could increase customer satisfaction by supplying this
  information. To do so, it has to monitor its own network extensively.








Bhattacharyya et al                                             [Page 8]





INTERNET-DRAFT                                              March 1 2003


3. Requirements for Operational Monitoring


  In this section, we first discuss the types of measurement data that
  an ISP needs to collect and which of them are needed for each of the
  task categories from the previous section. Based on this, we identify
  a two-tier monitoring system for an ISP backbone. We conclude with a
  discussion on current capabilities and to what extent they can fulfill
  the monitoring needs of an ISP.

  Measurement data can be broadly classified as follows:

  a. Packet-level: This captures information at the granularity of IP-
  level packets. Packet-level traces can be collected at links and/or
  routers. Each such trace consists of all (or a subset of) packets that
  traverse a a link or a router. In some cases, only a fixed portion of
  every packet may be captured. In any case, it is crucial to attach a
  very accurate and fine-grained (e.g., microsecond) time-stamp to each
  packet at the time of collection.

  b.Flow-level : Loosely speaking, a flow consists of a set of packets
  at an observation point (e.g., a link) grouped together on the basis
  of a common property.  For example, packets could be grouped into
  flows based on the five-tuple - source IP address, destination IP
  address, source port, destination port and protocol number. Flow-level
  measurements consist of information that is common to packets in a
  flow (e.g., destination address, destination port, etc.) or some
  property derived from the packets (e.g., total volume, flow duration,
  etc.). Flow-level information is inherently more aggregated than
  packet-level and does not yield certain kinds of details such as
  inter-packet spacing, delay or jitter. However, its advantage lies in
  the ease of storage and manipulation due to the much smaller volume of
  data collected.

  c. Routing: This consists of and protocol messages that are exchanged
  between routers and snapshots of routing tables collected from routers
  (e.g,, IS-IS, OSPF, I-BGP, etc.)  and external, typically BGP.

  d. Path-Level: This is information about the path traversed by a
  packet (or a set of packets) through an ISP network, and includes
  information on the path itself (i.e., router hops) and the quality of
  the path (e.g., loss, delay, jitter, etc.). The standard technique for
  gathering path traces is traceroute [8] but other techniques such as
  IP traceback [7], trajectory sampling [6] have been proposed recently
  for the same purpose.

  e. Network Element-Specific: This covers a wide array of information
  that is specific to a specific piece of network equipment, e.g., the



Bhattacharyya et al                                             [Page 9]





INTERNET-DRAFT                                              March 1 2003


  utilization of a single link, configuration of a router, router CPU
  utilization, etc. The most common way of collecting a variety of such
  information is SNMP.  Such data, when collected on a network-wide
  basis can provide valuable information about the overall state of the
  network.

  Table 1 specifies the minimal data requirement for each of the task
  categories identified in Section 2.

  --------------------------------------------------------------------
                         Packet  Flow  Routing  Path  Network Element
                                                Trace   Specific
  --------------------------------------------------------------------
  Topology Design           N     Y      N        N         Y

  ---------------------------------------------------------------------
  Capacity Planning         N     Y      N        N         Y
  Forecasting
  ---------------------------------------------------------------------
  Traffic                   Y     Y      Y        N         Y
  Engineering
  ---------------------------------------------------------------------
  Fault Diagnosis           Y     Y      Y        Y         Y
  Troubleshooting
  ---------------------------------------------------------------------
  SLAs                      Y     Y      N        N         N
  ---------------------------------------------------------------------
  Blocking Attacks          N     Y      Y        Y         N

  ---------------------------------------------------------------------
  Customer  TE              Y     Y      Y        Y         N

  ---------------------------------------------------------------------

  Note that the above table does not capture the time granularity of
  information to be collected. In general, tasks such as network design
  and capacity planning require data on coarser time-scales such as
  days, weeks or months, while other tasks such as traffic engineering,
  fault tolerance and SLAs may require much information on a much finer
  time-scale, e.g., hours, minutes or seconds.

  To summarize, we observe two broad kinds of needs : aggregate
  information on relatively coarse time-scales and relatively fine-
  grained information (e.g., packet-level) on finer time-scales that
  need to be collected only at certain times. Accordingly we identify
  the need for a two-tier monitoring system to comprehensively address
  all the monitoring needs of an ISP :




Bhattacharyya et al                                            [Page 10]





INTERNET-DRAFT                                              March 1 2003


  a. continuously collect aggregated statistics on relatively long time-
  scales (e.g., minutes or hours) from the entire network. This includes
  information about network elements such as average link utilization,
  router CPU loads, routing information such as periodic dumps of
  routing tables, etc.  In addition, on-line processing needs to
  performed on packet level data to extract and summarize various types
  of information.  For example, the size of each packet can be extracted
  from the IP header to periodically generate packet size distributions.
  Another possibility is to compress packet-level data into flow
  records. [21] has shown that a flow trace is between 3 and 4 times
  shorter than the equivalent packet trace. These flow records may be
  exported periodically to a central collection station. The monitoring
  system must also be capable of generating various statistics based on
  the flow records. Since the volume of flow statistics is relatively
  small, they can be exported frequently to a central collection station
  and archived there for a long time.  This information is sufficient
  for monitoring network-wide performance under normal conditions and
  for detecting anomalies or abnormal behavior.  Moreover, frequent
  export of this information from the monitoring systems will provide a
  network operator with an up-to-date view of the network.

  b. Collect fine-grained data (i.e., packet-level) on demand from
  specific network elements. This requires packet-level data collection
  at line speeds for a finite duration. Since it is impossible to
  predict when such fine-grained information is necessary, a monitoring
  system must continuously capture packet-level data but only retain a
  limited amount of past data on a local disk. Additionally, there
  should be a mechanism to export this data to a remote repository on
  demand. At all times, the local disk should retain all packet records
  for at least one full day. This will enable a network operator to
  download and analyze fine-grained packet data in case abnormalities
  are detected or in the aftermath of an exceptional event such as a
  large-scale attack or widespread outage. This data can also be
  downloaded occasionally for analyzing network characteristics such as
  single-hop delay [22] that rely on packet-level information.


4. Current Measurement Capabilities


  In this section we describe current network measurement capabilities
  in order to identify the challenges in building the two-level
  monitoring infrastructure proposed in the previous section.

  4.1. Flow-level information

   State-of-art routers provide support for gathering information about
  traffic flowing through them at the level of flows [11,13].  As



Bhattacharyya et al                                            [Page 11]





INTERNET-DRAFT                                              March 1 2003


  mentioned before, flow-level data yields more aggregated information
  than packet-level, but is easier to store and manipulate. However, a
  number of issues remain open in collecting flow-level information on
  routers. Information related to a flow is typically maintained in a
  memory cache for the lifetime of a flow and the cache is flushed on
  termination of the flow. A high-speed link with speeds of OC-12/48 or
  higher may contain millions of flows per minute which may stress the
  memory availability of a router interface. Another problem lies in the
  current implementations of flow-based monitoring facilities on state-
  of-art routers. While such flow-level monitoring is offered as an
  optional features by most router vendors, the implications of turning
  these features on is poorly understood.  Anecdotal evidence indicates
  that flow-level monitoring can severely impact the essential functions
  of a router (packet forwarding, updating routing information, etc.) by
  increasing CPU loads, and may even cause routers to crash. While such
  problems may be addressed through better implementations, the memory
  and CPU requirements of monitoring high-speed interfaces (OC-48 and
  above) are still open questions. For example, it was observed that
  initial implementations of Netflow [11] significantly impacted router
  performance during TCP SYN attacks.

  All of the above problems have resulted in very limited use of
  existing flow-based monitoring capabilities by operators of large
  networks. These facilities are usually turned on for short periods of
  time on a few router under special circumstances.


  4.2. Routing Information

   State-of-art routers also log a variety of events such as interface
  failures, software reboots, routing updates, etc. These logs provide
  useful hints to operators for day-to-day troubleshooting. However, it
  is difficult to collect such logs on a continuous basis. In practice,
  operators collect router logs for diagnosing specific problems such as
  why an interface is failing repeatedly, why there is a sudden change
  in the route that a customer's packets are taking, etc. However, other
  tools have been developed to passively collect routing updates that
  are propagated network-wide. Such logs are invaluable in capturing
  routing dynamics and for troubleshooting.


  4.3. Path-Level Information :

  Ping [8] is a widely used facility based on the ability of an Internet
  node to send an "ICMP Echo Reply" when it receives an "ICMP Echo
  Request" packet from another host. Its only use is in determining
  reachability from one node to another and to get a rough estimate of
  the round-trip time between the two nodes. It can used by an operator



Bhattacharyya et al                                            [Page 12]





INTERNET-DRAFT                                              March 1 2003


  to determine the whether a router in the network (or one of its
  interfaces) is "alive".

  Traceroute [8] is also well-known and widely used. It is somewhat more
  powerful than ping in that it reveals the route that a packet takes
  from one Internet host to another. Traceroute also provides a rough
  estimate of the round-trip time to every network node along the path.
  An operator may use traceroute to trace the path between any two given
  points in a network.

  Ping and traceroute are certainly useful in getting a ready and basic
  sense of routing and reachability across a backbone. However they
  provide a very limited set of abilities and are clearly insufficient
  to meet all the monitoring requirements of an ISP. Moreover, ping and
  traceroute are essentially tools to measure reachability, not
  performance.  While they may be used to obtain rough estimates of
  latencies and loss rates along certain paths in a backbone, such
  estimates may not be statistically significant. First, when active
  probes are used to measure the quality (e.g., delay/loss) of a network
  path, the interval between successive probes has to be set carefully
  in order to allow for statistically meaningful interpretation of the
  results. Routers usually throttle the rate at which they respond to
  ICMP echo requests and this can interfere with a measurement method
  that is based on a series of pings or traceroutes. Moreover,
  traceroute does not provide any information about the reverse path
  back to the source. Given that Internet routing is largely asymmetric,
  there is no guarantee that successive traceroutes out from the same
  host traverse the same round-trip path back to the host. This makes it
  hard to interpret the measurements obtained. Further, routers and end-
  hosts are often configured to rate limit (or not respond altogether)
  to ICMP echo requests. Finally, network operators often respond
  unfavorably to a large number of pings/traceroutes directed to hosts
  in their network since it could be the indication of a denial-of-
  service attack.


  4.4. Network Element-Specific Information

  The Simple Network Management Protocol (SNMP) is the de facto standard
  in the Internet for collecting a wide range of statistics (e.g.,
  faults, accounting, performance, etc.) from individual network
  elements to collection stations [9,10].

  The biggest advantage of SNMP is that it is widely deployed, and
  enables network operators to generate a quick snapshot of the overall
  state of their network in terms of variables such as link
  utilizations, packet losses, router CPU utilizations, etc. A
  centralized repository of SNMP information can be used as the back-end



Bhattacharyya et al                                            [Page 13]





INTERNET-DRAFT                                              March 1 2003


  system for visual tools that an operator can use to continuously
  monitor a network. Other tools can be designed on top of SNMP data to
  sound alarms and draw the attention of operators in the event of
  faults or anomalies.  Moreover SNMP data collected over months or
  years (such as link utilization) can be used as input to network
  forecasting tools.

  One of the disadvantage of SNMP lies in the time-scale of information
  - information can be obtained only on the time-scale of minutes or
  longer.  Moreover SNMP does not provide any information about traffic
  through the network, e.g., point-to-point demands, the mix of
  protocols and applications, the breakup of traffic on a per BGP
  prefix, the variation in packet delay across the network, etc. As
  discussed in Section 2, such information is essential for a variety of
  networking tasks.

  In summary, SNMP (or its enhancements) can play an important role in
  the coarse-grained component of our two-level monitoring
  infrastructure.


  4.5 Packet-level Information


  Measuring traffic at the granularity of individual packets yields very
  fine-grained information. However it also introduces the challenges of
  capturing large volumes of data at very high-speeds and then storing
  and manipulating the collected data. In particular, collecting every
  packet on every interface on a modern high-speed router is a daunting
  task.

  Two approaches have been used so far to address this issue. The first
  one is to use "port-mirroring' [13], where every packet on an incoming
  interface can be written out to a "monitoring" interface, in addition
  to being routed to the output interface. However this approach
  potentially requires one additional monitoring interface per router
  interface - a prohibitively expensive option since it would constrain
  an ISP to using no more than half of the available interfaces on a
  router for connecting to customers and peer networks. If instead, a
  single monitoring interface was added for every group of say N
  interfaces, then the monitoring interface would have to support a
  packet forwarding speed that is N times each interface.  The problem
  becomes tractable only if a subset of packets on each interface is
  captured. This introduces the requirement for sampling which is
  discussed later in the section.

  The second approach is exemplified by [14], where a special purpose
  monitoring equipment is used to tap the optical signal on a link and



Bhattacharyya et al                                            [Page 14]





INTERNET-DRAFT                                              March 1 2003


  capture a fixed part of every packet. Each packet is stamped with a
  highly accurate GPS-synchronized time-stamp at the time of capture.

  While there are several benefits to the information that is thus
  captured, the greatest challenges are the infrastructural cost and the
  dynamic nature of operational networks. These monitoring systems have
  to be installed inside PoPs where space is extremely limited and
  prohibitively expensive.  Furthermore, extreme care has to be taken
  when installing and operating these systems so as not to accidentally
  disrupt network operations.  Finally operational networks are in
  constant evolution with links and routers being reconfigured,
  commissioned or decommissioned. This makes the maintenance and
  management of the monitoring systems an operational nightmare.



5. Implementation Issues for a Two-level Monitoring Infrastructure


  The discussion in the previous section shows that at present there is
  a limited amount of capabilities for collecting each of the five broad
  classes of monitoring information. We also observed that the biggest
  challenge lies in collecting, storing and exporting packet-level data.
  In this section, we examine two key implementation issues for a two-
  level monitoring system.


  5.1. Packet Capture and Processing at Line Speeds

  There are several challenges in performing information processing on
  packet records and exporting the results. First, the computation must
  be simple - at OC-192 speeds (10 Gbps), a new packet arrives every 240
  ns on average (assuming 300 byte packets). This allows only 360
  instructions per packet on the fastest processors available today. The
  number of instructions per packet reduces to 90 for OC-768 links.
  Second, given the space and power constraints in a backbone PoP, it is
  impossible to have multiple systems performing specialized monitoring
  tasks for the same link.  Instead we need a single system that is
  highly configurable and can collect information for a wide-range of
  network operational tasks.  Finally, the system must be robust to
  denial of service attacks.  A system that summarizes packet data into
  flow records needs to keep track of all active flows at any given
  instant. During an attack, the number of active flows may increase by
  orders of magnitude, thereby overwhelming the memory and processing
  capabilities of the system. To guard against this, the system must
  either sound an alarm or start filtering data intelligently when there
  is a surge in the number of active flows.




Bhattacharyya et al                                            [Page 15]





INTERNET-DRAFT                                              March 1 2003


  5.2 Location of Packet-Capture Functionality

  The second challenge of packet-level capture lies in determining the
  most appropriate location of packet-capture functionality. There are
  two possibilities - adding this functionality to a router, or building
  a special-purpose monitoring system such as [14].

  Packet-capture on routers is preferable for a number of reasons.
  First if we are interested in how long packets are queued inside a
  router, it is difficult to use an external monitor. Second, if we are
  interested in the paths taken by packets, we would need to know the
  ingress and egress ports on a router. Again, this is difficult to do
  with an external monitoring system unless an up-to-date snapshot of
  the router's routing table is available. Third, it is invasive to
  splice a link and insert a passive monitor.

  On the other hand, if we wish to add monitoring capabilities inside a
  router, we will encounter problems of scalability in terms of data
  rate, storage and processing. For example, aggregate data rates of
  backplanes are as high as a few hundred gigabits per second today, and
  will exceed terabit per second soon. This creates enormous challenges
  for processing and storage elements. Furthermore, routers are
  generally built to have the highest capacity for a given size and
  power consumption. Monitoring equipment can be bulky and can consume a
  lot of power. In addition, newer routers used switched backplanes
  rather than shared backplanes. As a results not all packets are seen
  at any single point of the backplane.

  Routers should possess the capability for capturing all packets on a
  given interface, even if this capability is used only at certain
  interfaces on a demand-basis. A possible approach is to replicate each
  packet on the router interface card and hold this copy temporarily in
  a memory specifically allocated for this purpose.  While a packet is
  held on the interface card, different kinds of processing could be
  performed on it. For example, certain fields in the packet header
  could be extracted. Or the packet could be assigned to a "flow" based
  on some property that it shares with other packets (e.g., source or
  destination address), and the per-flow information (e.g., total byte
  count) may be updated. The packet may also be correlated with the
  routing information already available on the router interface.

  While the above approach is attractive, there are three serious
  limitations on its feasibility at present. First, there are several
  open questions about the complexity of operations to be performed on a
  packet while it is being held on an interface card - the number of
  processor cycles available for a packet, the length of time for it has
  to be stored, the size of memory required, etc. The second concern is
  about the export of collected information [18,19]. As pointed out in



Bhattacharyya et al                                            [Page 16]





INTERNET-DRAFT                                              March 1 2003


  Section 4.5, capturing every packet on every interface on a router has
  inherent scaling problems, and can be prohibitively expensive.  As
  line speeds increase, capturing even a portion of every packet can tax
  the hardware capabilities of today's routers. Finally, the volume of
  data potentially generated for high-speed links (e.g., OC-48 and
  above) raises serious concerns about the feasibility of widespread
  deployment.

  On the other hand, collecting packet traces at high-speed links with
  special-purpose monitoring systems is also difficult. PCI bus
  throughput is already challenged at OC-48 [14], and the PCI bus is
  crossed twice for any data transfer - once from the capture board to
  the main memory, and a second time from the main memory to the hard
  disk.  Memory access speeds do not increase as quickly as link speeds.
  In fact, memory access speeds have not increased much in the past five
  years, and we cannot rely on technology improvements in this area for
  next generation monitoring tools.  Finally, disk array speed cannot
  keep up with bandwidth. At OC-192 link speed, a packet-level trace
  would require a disk bandwidth of roughly 250 Mbytes/sec (assuming 300
  byte packets and 64 byte packet records).

  However, it is unlikely that routers will include extensive monitoring
  function anytime in the near future. Therefore it is important to
  consider the development of passive monitoring infrastructure external
  to routers. The passive monitoring systems designed and deployed by
  Sprint in its IP backbone [14] demonstrates the feasibility of packet-
  capture at very high-speeds (OC-3 to OC-192).  However, it must be
  enhanced to satisfy all the requirements of the proposed two-level
  infrastructure (Section 3).


6. The Role of Sampling

The use of sampling techniques can bring network-wide packet capture
into the realm of feasibility by thinning the stream of packets to be
captured and partially alleviating the problem associated with packet
capture at very high link speeds [5]. As link speeds continue to
increase, a very limited number of instruction cycles are allowed per
packet on routers (as discussed in Section 5.1). Performing some limited
computations on a subset of packets captured on a link may be feasible,
but doing so for every packet may not be.

Sampling reduces the memory/processor requirements on a router as well
the amount of information to be exported from a router interface to an
off-board collection station. This in turn reduces the scalability
requirements for systems to store and analyze the collected data. Given
the size of an ISP backbone, the collection of every packet on every
router interface and link is simply infeasible. However, with a



Bhattacharyya et al                                            [Page 17]





INTERNET-DRAFT                                              March 1 2003


reasonably low sampling rate, an ISP may be able to collect a subset of
packets (or information derived from them) on a network-wide basis.
While sampling is not essential for enabling packet-level monitoring,
there are severe limitations on packet capture and processing at line
speeds in the absence of sampling.  Therefore sampling is a key
facilitator for the proposed two-level monitoring infrastructure.

Previous work on sampling showed that packet-triggered sampling is
better suited for packet size distribution and inter-packet times than
time-triggered one [15].  More recent work by Choi et. al. [17] takes
the variability of packet sizes into consideration, and proposes an
adaptive sampling technique with bounded error for byte counts.
Charging based on usage, where customers are charged based on their
connection time or bandwidth consumption, may soon become a common
practice in the Internet. Duffield et al [6] have designed an algorithm
to preferentially sample dominant traffic contributors and to use the
sampled data for charging.

Most routers implement a very simple packet-triggered sampling
technique.  The basic idea is to take every n-th packet only, and use in
flow-based accounting such as NetFlow.  As the number of packets
accounted for decreases, the overhead of maintaining flow states
decreases.  Router vendors often recommend sampling rates no more than
100:1 to 1000:1, which demonstrates how severe performance degradation
can be by such overhead.

Very little work has been done in identifying suitable sampling
techniques for operational networks. It is very likely that different
performance metrics will require different sampling techniques. Also, as
network characteristics evolve, sampling techniques would also require
constant revision.  The first step towards designing suitable sampling
techniques is to identify important network tasks that require
monitoring data and the type and granularity of data required for each.
Next, different sampling techniques need to be evaluated for each metric
of interest. A representative set of complete packet traces (where all
packets are collected) is required to evaluate the relative performance
of the techniques.  Finally, the feasibility of implementing these
techniques on routers has to be examined.

As an example, consider the design of sampling techniques for estimating
the 99th percentile of delay distribution between any two routers in a
network. Assume that prior knowledge of the delay distribution is
available through the collection and analysis of entire packet traces
[22]. The problem is to determine the number of random packets samples
that are needed in order to obtain the 99th percentile of the delay
distribution with a desired accuracy.  [23] has determined this sample
size as a function of the delay distribution, desired accuracy, etc.




Bhattacharyya et al                                            [Page 18]





INTERNET-DRAFT                                              March 1 2003


Once a  suitable random  sampling rate has  been computed,  the actual
measurement can be performed in one  of two ways - passive and active.
For passive measurements, monitoring  systems are installed at the two
ends  of the network  path being  measured. At  each end,  packets are
sampled randomly using the computed sample size. Let us refer to these
two points  as A  and B,  where packets travel  from A  to B.   Only a
subset  of the  packets captured  at observation  point A  will travel
downstream to B while the rest will travel on different paths to other
destinations. Therefore, the  packets captured at points A  and B have
to be matched to determine the  exact set of packets that traverse the
path being measured. A delay distribution is then computed based on
these packets.

There  are three  serious  difficulties with  the passive  measurement
approach. First, monitoring systems  with synchronized time clock have
to be installed at two ends of the path(s) to capture packets. Second,
there may  be very little or  no match between the  packets sampled at
the  two ends.   Therefore the  degree of  packet matching  has  to be
factored   into  the   computation   of  a   suitable  random   sample
size. Furthermore,  the captured packets  have to be transmitted  to a
central  collection  station  to  match  identical  packets  from  two
measurement points and to compute the corresponding delay.

An active measurement approach avoids the above problems. In addition,
it can  be easily  configured to measure  round-trip delay  or one-way
delay. In the  latter case, probe packets are injected  at point A and
collected at point B. The rate of generation of these probe packets is
based on the random sample  size computed [23]. The 99th percentile of
the delay distribution is then computed based on the delay experienced
by the probes. [23] shows that an active measurement approach yields a
99th percent delay estimate that is comparable to that obtained from a
passive approach with random sampling.

However, the active approach also has drawbacks.  First, the injection
of the active probes should not be so invasive as to alter the delay
characteristics of the traffic flowing along the measurement path.
Moreover, the probe characteristics need to be representative of all
packets on the measurement path. Therefore the probe generation process
has to carefully account for factors that influence delay
characteristics such as packet size, the existence of multiple routes
between two end points, etc. Finally, probes need to be generated and
captured either by specialized monitoring systems or by routers.
Specialized systems involve overheads such as space and power
consumption, maintenance, etc.  as in the passive monitoring case.  When
probes are generated by routers using a facility such as Cisco's Service
Assurance Agent (SAA) [24], care must be taken not to overburden the
router's CPU with probe generation and processing.  Otherwise active
probing will interfere with important tasks that a router's CPU normally



Bhattacharyya et al                                            [Page 19]





INTERNET-DRAFT                                              March 1 2003


handles (e.g., processing routing updates).


6. Conclusions

In this draft, we have discussed the requirements for monitoring as part
of the design, management and operation of an IP backbone network. We
have identified the need for a two-tier monitoring infrastructure
consisting of a coarse-grained component for continuous network-wide
monitoring and fine-grained component for on-demand monitoring.

We have identified some key implementation issues for the proposed two-
level monitoring system. This includes support of monitoring
functionality on routers and the design of special monitoring systems
capable of capturing and analyzing packet-level information.  We also
discussed the importance of sampling techniques in facilitating network-
wide monitoring.  We believe that the issues of hardware design and
sampling techniques must be addressed in depth for monitoring to become
an integral part of backbone design, management and operations.




7. References:

   [1] D.D. Clarke. "The Design Philosophy of the DARPA Internet
   Protocols".  In Proc. ACM SIGCOMM August 1988.

   [2] A. Medina et al. "Traffic Matrix Estimation: Existing Techniques
   and New Directions". In Proc. ACM SIGCOMM August 2002.

   [3] A. Medina et al. " A Taxonomy of Traffic Matrices". In Proc. SPIE
   ITCOM Conference on Scalability and Traffic Control in IP Networks.

   [4] M. Grossglauser and J. Rexford. "Passive Traffic Measurements for
   IP Operations". To Appear in INFORMS 2002.

   [5] N. Duffield et al. "A Framework for Passive Packet Measurement".
   Internet Draft draft-duffield-framework-papame-01.

   [6] N. Duffield and M. Grossglauser. "Trajectory Sampling for Direct
   Traffic Observation". In Proc. ACM SIGCOMM September 2000.

   [7] S. Savage et al. "Practical Network Support for IP Traceback". In
   Proc. ACM SIGCOMM September 2000.

   [8] W. R. Stevens. "TCP/IP Illustrated Volume 1". Addison-Wesley,
   1994.



Bhattacharyya et al                                            [Page 20]





INTERNET-DRAFT                                              March 1 2003


   [9] J. Case et al. "A Simple Network Management Protocol (SNMP)".
   IETF Request for Comments 1098.

   [10] W. Stallings. "SNMP, SNMPv2, SNMPv3, and RMON 1 and 2". 3rd
   edition. Addison-Wesley 1999.

   [11] "Cisco Netflow".
   http://www.cisco.com/warp/public/732/netflow/index.html.

   [12] "Sampled Netflow".
   http://www.cisco.com/univercd/cc/td/doc/product/software/ios120/120newft/120limit/120s/120s11/12s_sanf.htm

   [13] "Traffic Sampling and Forwarding Overview".
   http://www.juniper.net/techpubs/software/junos53/swconfig53-policy/html/sampling-
   overview.html

   [14] C. Fraleigh et al. "Design and Deployment of a Passive
   Monitoring Infrastructure". In Proc. Passive and Active Measurement
   Workshop 2001, April 2001, Amsterdam.

   [15] K. C. Claffy et al.  "Application of Sampling Methodologies to
   Network Traffic Characterization". In Proc. ACM SIGCOMM 1993.

   [16] N. Duffield et al. "Charging from Sampled Network Usage". In
   Proc. ACM SIGCOMM Internet Measurement Workshop 2001 November, 2001.

   [17] B. Choi et al. "Adaptive Random Sampling for Load Change
   Detection". Extended Abstract in Proc. ACM SIGMETRICS June, 2002.

   [18] N. Brownlee, C. Mills and G. Ruth. "Traffic Flow Measurement:
   Architecture", RFC 2722.

   [19] IP Flow Information Export.
   http://www.ietf.org/html.charters/ipfix-charter.html

   [20] J. Quittek et al. "Requirements for IP Flow Information Export".
   Internet Draft draft-ietf-ipfix-reqs-03. Expires December 2002.

   [21] G. Iannaccone et al. "Monitoring very high speed links". In
   Proceedings of First ACM Sigcomm Internet Measurement Workshop (IMW),
   November 2001.

   [22] D. Papagiannaki et al. "Analysis of Measured Single-Hop Delay
   from an Operational Back bone Network." In Proceedings of IEEE
   Infocom 2002.

   [23] B.Y. Choi et al. "Practical Delay Measurements in an IP
   Network". Sprint ATL Technical Report TR03-ATL-022810.



Bhattacharyya et al                                            [Page 21]





INTERNET-DRAFT                                              March 1 2003


   [24] "Cisco Service Assurance Agent (SAA) User Guide".
   http://www.cisco.com/warp/public/732/Tech/nmp/saa/saatech.shtml

7. Authors' Address:

   IP Group
   Sprint Advanced Technology Labs
   One Adrian Court
   Burlingame CA 94010 USA
   ipgroup@sprintlabs.com
   http://www.sprintlabs.com








































Bhattacharyya et al                                            [Page 22]