throbber
Network Policy Languages:
`A Survey and a New Approach
`
`Gary N. Stone, Bert Lundy, and Geoffrey G. Xie, U.S Department of Defense
`
`Abstract
`In this article a survey of current network policy languages is presented. Next, a sum-
`mary of the techniques for detecting policy conflicts is given. Finally, a new lan-
`guage, Path-Based Policy Language, which offers improvements to these is
`introduced. Previous network policy languages vary from the very specific, using
`packet filters at the bit level, to the more abstract where concepts are represented,
`with implementation details left up to individual network devices. As background
`information a policy framework model and policy-based routing protocols are discussed.
`PPL’s path-based approach for representing network policies is advantageous in that
`quality of service and security policies can be associated with an explicit path
`through the network. This assignment of policies to network flows aids in new initia-
`tives such as integrated services. The more stringent requirement of supporting path-based
`policies can easily be relaxed with the use of wild card characters to also support
`differentiated services and best-effort service, which is provided by the Internet
`today.
`
`MM
`
`illions of dollars are lost, a company folds, and
`thousands of employees are let go, throwing a
`community into economic chaos. These events
`could result from discontinued funding from
`Silicon Valley investors becoming aware of continued reports
`of poor quality of service (QoS), security problems, and the
`inability of clients to access the company’s Web sites. This
`ingenious company was the first to integrate voice, video, and
`data all on the same network based on a company’s policies.
`The company’s untimely demise was the result of conflicting
`network policies that were disseminated automatically through-
`out the network’s policy servers, causing erratic network per-
`formance. This scenario, although extreme, shows the
`importance of being able to represent the network policy
`goals of a company while simultaneously verifying that those
`goals do not conflict with each other.
`To understand how policy can play a role in managing a
`network, policy must be defined and applied to communica-
`tions networks. The Internet Engineering Task Force (IETF)
`has proposed an Internet-draft of terminology for describing
`network policy [1] and provides many of the definitions used
`throughout this article.
`A policy is formally defined as an aggregation of policy rules
`[1]. Each policy rule is made up of a set of conditions and a
`
`This work was supported in part by DARPA under the NGI program and
`a grant from NASA Ames Research Center.
`
`corresponding set of actions. The conditions define when the
`policy rule is applicable. Once a policy rule is so activated, one
`or more actions contained by that policy rule may then be exe-
`cuted. These actions are associated with either meeting or not
`meeting the set of conditions specified in the policy rule. In
`other words, a policy specifies what action(s) must be taken
`when a set of associated conditions are met.
`A simple view of policy in regard to networks is that policy
`constrains communications. Specifically, network policy
`defines the relationship between clients using network
`resources and the network elements that provide those
`resources. A client in this case refers to users as well as appli-
`cations and services.
`Network policy allows administrators to manage network
`elements to provide service to a set of clients. If every system
`were permitted to communicate with all other systems without
`restriction, there would be no need for network policies.
`Increasingly, networks that once only supported best-effort
`traffic are integrating voice and data as well. Without a means
`for network managers to control the use of the network, mis-
`sion-critical applications and general network performance
`are going to suffer, and there will be little hope of supporting
`future real-time applications.
`Network policies are grouped into three general areas:
`• How the policy is used
`• How the policy is triggered
`• At which level the policy is applied
`A usage policy describes which services will be used to
`
`10
`
`U.S. Government Work Not Protected by U.S. Copyright
`
`IEEE Network • January/February 2001
`
`1
`
`SAMSUNG 1046
`
`

`

`maintain the current state of the network or to transition to a
`new state. Services which may be available in the network are
`differentiated service classes, virtual private networks, encryp-
`tion capability, and so on. A usage policy also describes how
`those services will be used. For example, the ability to differ-
`entiate the handling of separate flows of traffic based on the
`service class in which they reside or to which virtual channel
`they belong describes how a service is used.
`Policies can be triggered in two ways, either statically or
`dynamically. “Static policies apply a fixed set of actions in a
`pre-determined way according to a set of pre-defined parame-
`ters that determine how the policy is used” [1]. Examples of
`static policies are: transit traffic is not permitted during nor-
`mal working hours; Internet radio is only permitted after 4:00
`p.m.; for security reasons certain network addresses are
`denied access to network resources.
`Dynamic policies are only enforced when needed, and are
`based on changing conditions of the network such as conges-
`tion, packet loss, or the loss of a network router. To support
`the dynamic and sometimes unexpected nature of the net-
`work, actions can be triggered when an event causes a policy
`condition to be met. Examples of dynamic polices are: when
`the network gets congested, streaming video traffic is disal-
`lowed; or when a particular service class of user is utilizing the
`network, lower best-effort traffic to only 25 percent of link
`capacity.
`Last, the level of the policy is applied as a category. These
`policies are differentiated by their granularity, such as the
`application level, user level, class level, or service level. For
`example, a mission-critical application may be given priority
`over all other network traffic, or all users in the silver class
`(differentiated services) have priority over the bronze class,
`but must succumb to the gold class.
`Later in this article the authors introduce a policy lan-
`guage based on path. Path-based policy is defined as a policy
`were all attributes associated with the policy, which include
`the service type of the traffic, conditions used to trigger the
`policy, and the actions executed when the policy is triggered,
`are all bound to a predefined path. Using the path as the
`fundamental building block of a policy statement provides
`great control and flexibility. The ability to specify an explicit
`path, which represents each node from source to destination,
`enables us to create virtual channels where resources are
`reserved to support real-time applications. These paths can
`be specified by either a user or a network administrator. If a
`path had the restriction of always including each node in the
`path, the number of unique paths needed to support a net-
`work could soon become overwhelming. This is why a path
`may include wild card characters, and thus adds great flexibil-
`ity to the way policies are specified. The use of a wild card
`character allows for path aggregation, which greatly reduces
`the number of paths that have to be specified, and at the
`extreme one path statement can specify all possible paths
`under an administrator’s control.
`Policy-based networking — the ability to control a network-
`ing environment by specifying and enforcing policies — is
`gaining increased interest among the network community.
`Policy-based networking helps manage user and application
`priority, QoS, and security rights based on management poli-
`cies. Because of an increasing industry trend to deploy busi-
`ness applications over the network and the convergence of
`voice, video, and data applications on the same network,
`major network vendors such as Cisco, Nortel, and Lucent
`Technologies are developing products to support network
`management. These products allow network managers to cre-
`ate and implement policies that can prioritize the use of net-
`work resources by different network applications so that
`
`bandwidth will be guaranteed to the most business-critical
`applications during times of network congestion. For example,
`a company that offers IP telephony — which has strict timing
`requirements — must not permit a large data file transfer to
`interfere. Network management also provides the ability to
`restrict the use of network segments by denying access to
`unwanted and perhaps malicious traffic. The ability to create
`and enforce network policies adds intelligence to a network
`that was previously based only on best-effort packet traffic.
`Rather than adding more bandwidth, which is expensive and
`time-consuming, to solve existing network congestion, compa-
`nies can use network policies to allow for important applica-
`tions and user groups to receive network priority over
`secondary network users. It is important to have an underlying
`mechanism to support and enforce these defined network
`policies. The IETF has attempted to define such an architec-
`ture in the working draft, “Policy Framework Core Informa-
`tion Model” [2].
`Many of the aspects of this mechanism needed to support
`policy-based networking are being addressed, such as policy
`storage structures, policy servers, and protocols to deliver
`translated policies to enforcement points. One aspect of poli-
`cy-based networking that does not seem to be receiving much
`attention is the verification of policies that are going to be
`applied to the network. Consistent enforcement of network
`policies, often specified by different people at different times,
`is impossible if those policies conflict with each other. Thus, a
`method is needed to detect and deal with conflicting policies
`before they are distributed throughout the network to the pol-
`icy enforcement points.
`
`IETF Policy Framework Core Information Model — With the
`emergence of service models such as differentiated services
`(DS) [3, 4], integrated services (IS) [3, 4], and multiprotocol
`label switching (MPLS) [4], the IETF has published a working
`draft for terminology to describe network policies and services
`[2]. The IETF tries to standardize a mechanism as well as a
`language in this draft by developing a scalable architecture for
`policy administration and distribution of network policies. A
`key to this architecture is a common language to represent
`and provide a consistent implementation of policy.
`An underlying assumption of this draft is that policies are
`stored in a centralized repository. The policy repository is one
`of three important entities of the model. The other entities
`are the policy enforcement points (PEPs) and policy decision
`point (PDP).
`A PEP is a component of a network node (e.g., a router,
`switch, or hub) where the policy decisions are actually
`enforced. When the PEP requires a policy decision about a
`new flow of traffic or authentication, for example, the PEP
`will send a request to a PDP.
`The PDP is the entity in the network where policy decisions
`are made. This PDP, which may reside on a remote server,
`will make policy decisions using information retrieved from
`policy repositories.
`Communication is needed to and from the policy repository
`as well as between the PDP and the PEP. In many proposals
`the policy repository is a directory, and therefore the appro-
`priate access protocol would be the Lightweight Directory
`Access Protocol (LDAP). Examples of a policy protocol,
`which is used to request and reply to policy decisions, could
`be the Common Open Policy Service (COPS) protocol [5] and
`Simple Network Management Protocol (SNMP) [6].
`Since the PEPs can potentially be from multiple vendors, a
`common policy language is needed to support the dissemina-
`tion of policy information to these devices. In the Policy
`Framework Core Information Model [2], policy is defined as
`
`IEEE Network • January/February 2001
`
`11
`
`2
`
`

`

`(( Hs, ARs, ARent ), (Hd, ARd, ARexit ), UCI, Cg)
`
`where:
`Hs is the source host address
`ARs is the source AR
`ARent is the entry AR (previous hop)
`Hd is the destination host address
`ARd is the destination AR
`ARexit is the exit (last hop)
`UCI is the User Class Id (e.g., Gold, Silver Bronze service levels)
`Cg are any global conditions
`
`■ Figure 1. A policy term.
`
`an aggregation of policy rules. Each of these policy rules is
`composed of a set of conditions and a set of actions to per-
`form if the conditions are met. The general form of these con-
`ditional statements is
`IF <condition 1> AND <condition 2> … AND <condition N>
`THEN <action 1> … AND <action N>
`The policy representation includes a means to prioritize
`and order both the conditional statements as well as the poli-
`cy actions. This is crucial when multiple policies exist and con-
`flict. A conflict occurs when the conditions of at least two
`policies are simultaneously satisfied, but the actions of at least
`one of the policies cannot be simultaneously executed. For
`example, a router may have two access control rules where
`their conditions are simultaneously satisfied, but one contains
`that action deny, the other permit. For example:
`access-list 1 permit 131.1.30.00.0.0.255
`access-list 1 deny 131.1.0.00.0.255.255
`The first permits traffic with IP addresses beginning with
`131.1.30 to pass. The second rule conflicts with the previous
`one by denying traffic with any IP address beginning with
`131.1. The first rule in an access list that satisfies the condi-
`tional requirement is executed. This procedure resolves con-
`flicts but puts the onus on the operator to enter the rules in
`the correct order.
`The rest of this article is organized into six sections. We
`review policy-based routing protocols. A lot of early work on
`the use of polices in networks occurred in the context of these
`protocols. We discuss languages used to represent network
`policies. These languages are at a more abstract level and can
`be used to describe policies without low-level details. An
`abstract language is beneficial when multiple devices and ven-
`dors are involved. We will discuss languages used to describe
`network traffic at a low level such as the protocol data unit
`(PDU) level. These languages are more adept at defining pat-
`terns for the selection of network traffic in the conditional
`section of a policy. This article contains a review of research
`efforts that involved using formal logic to determine consis-
`tency between policies. This formal logic section provides
`background information for features introduced with our new
`language. We introduce our language, the Path-Based Policy
`Language (PPL). Our goal is to represent network policies at
`an abstract level in order to support heterogeneous networks,
`while also providing translation of those policies into formal
`logic. Having policies represented in logic will provide the
`ability for theorem provers to detect conflicts. We then sum-
`marize the article.
`
`Policy-Based Routing Protocols
`In this section three policy-based routing protocols are
`reviewed. They provided a lot of early work on the use of
`policies in networks. All of these protocols enable policies to
`be enforced based on the elements of an explicit path through
`the network.
`
`Border Gateway Protocol
`Lougheed and Rekhter define an interau-
`tonomous routing protocol, Border Gateway Pro-
`tocol (BGP) [7–9], where routers share
`reachability information by passing autonomous
`system1 (AS) information between neighbors.
`This exchange of routing information contains
`full AS paths the traffic will transit to reach a dis-
`tant network. Path information is not only useful
`in removing loops in the network, but also allows
`policy decisions to be made at the AS level. Policy enforce-
`ment is not part of the protocol itself, but instead is manually
`configured at each BGP router.
`Policy decisions made by BGP [10, 11] are based on config-
`uration information manually configured into each router by
`an AS administrator. The enforcement of policies is accom-
`plished in two ways. The first is by specifying the procedure
`used by the AS router itself to select the best paths, and the
`second is by controlling the redistribution of routing informa-
`tion to neighboring ASs.
`Policy decisions can be based on various preferences and
`constraints. Since the complete AS path is advertised to
`neighboring routers, particular paths can be rejected based on
`an AS that is contained in the path. The reasons a particular
`path are rejected vary. For example, a particular AS whose
`control is under that of a major competitor may want to be
`avoided, causing one or more paths that include this AS to be
`eliminated from consideration. Performance information can
`also be used to eliminate paths from consideration. If an AS
`has access to metrics related to performance such as link
`speed, delay or capacity, these measurements can be used to
`rate multiple paths for selection.
`BGP, allowing an AS to control redistribution of routing
`information, is the means by which an AS can enforce policies
`on others. For example, if an AS does not want to be used for
`transit traffic, it does not advertise routes to networks other
`than those directly connected to it.
`Fundamentally, BGP is a distance-vector protocol, but instead
`of maintaining just the cost to each destination, BGP keeps track
`of the exact path used. This use of the path categorizes BGP as a
`path-vector protocol. As mentioned earlier, policies are not part
`of the BGP protocol itself; therefore, each AS may have its own
`means of evaluating paths. Each router contains a module for
`examining paths to a given destination and scoring them. This
`scoring mechanism, which may include local policy information,
`is then used to choose the best path to a destination. BGP
`routers can only advertise paths they themselves use. This pre-
`vents an AS from sending datagrams to a distant network using
`one path, but advertising an alternative path for others to use.
`Inter-Domain Routing Protocol (IDRP)
`Kunzinger and Thomas describe the Inter-Domain Routing
`Protocol (IDRP) [12, 13], which is the International Organiza-
`tion for Standardization (ISO) protocol for routing between
`ASs. IDRP came out of the same work as BGP, and may be
`considered a follow-on to BGP. Just as in BGP, IDRP sup-
`ports policy-based routing, but is not concerned with the
`implementation details of those policies. Policy-based routing
`can restrict access, and therefore enforce policy, by controlling
`the distribution of routing information to neighboring routers.
`
`1 AS and administrative region (AR) are a set of routers under a single
`technical administration, using one or more interior gateway protocols to
`route packets within the AS, and using an exterior gateway protocol to
`route packets to other ASs [3].
`
`12
`
`IEEE Network • January/February 2001
`
`3
`
`

`

`IP = 216.32.74.53
`
`AR
`2
`
`IP = 216.32.74.50
`
`IP = 216.34.20.1
`
`AR
`12
`
`AR
`5
`
`AR
`36
`
`IP = 131.120.1.13
`
`AR
`20
`
`This selective distribution of information can enable
`the AS to deny all transit traffic, or deny access to
`only certain network paths.
`The IDRP router accepts router information from
`neighboring routers, which express their views of the
`network, and uses this gathered information to con-
`struct its own view of the network. The IDRP router
`at this point can use local policy information to select
`or reject routes accordingly. The IDRP router adver-
`tises its view of the network with internal gateway pro-
`tocols such as Open Shortest Path First (OSPF) or
`Routing Information Protocol (RIP) so that all routers
`within the AS have a consistent view of the network.
`Just as ASs were used to refer to an entire set of IP net-
`works, IDRP supports a concept called routing confederations.
`A routing confederation is a grouping of ASs to make manag-
`ing the Internet more manageable. As the Internet has grown,
`the number of ASs has also grown, making its management
`less efficient. These routing confederations are quite flexible
`in that they can be subsets of and even overlap each other.
`IDRP uses path-vector routing to propagate routing infor-
`mation. Path-vector routing, as used in BGP, explicitly lists
`the entire path to each destination. This concept can alleviate
`network loops as well as enforce policy constraints based on
`the ASs or confederations that make up the path.
`Another feature supported in IDRP is the ability to reduce
`the number of path vectors by using route aggregation. Route
`aggregation lets an IDRP router combine multiple IP address
`prefixes or destinations to create a single advertisement for
`them all. This feature greatly reduces the number of individual
`destinations a router must support as well as reducing the
`amount of data that has to be sent during the advertising phase.
`Inter-Domain Policy Routing
`Steenstrup presents a set of protocols [14] and architecture in
`[15] for Inter-Doman Policy Routing (IDPR). Unlike BGP
`and IDRP, IDPR uses link state routing to provide policy
`routing among administrative domains (ADs).2 The primary
`objective of IDPR is to provide traffic with routes that satisfy
`the users’ service requirements while respecting the service
`providers’ service restrictions [16]. Source policies represent
`the users’ requirements and can consist of parameters such as
`throughput, acceptable delay, cost of session, and domains to
`avoid. Service providers specify transit policies, which specify
`offered services and the conditions of their use.
`The generation and selection of policy routes is based on
`distributed routing information and the source policies speci-
`fied by the domain administrator. IDPR forwards messages
`across paths established using the policy routes generated.
`Route generation is inherently complex and the most compu-
`tationally intensive part of IDPR. The general policy route
`generation problem involves a combination of service con-
`straints, for example, finding a route delay of no more than S
`seconds and a cost no greater than C. Most of these multicon-
`straint routing problems are NP-Complete.
`To reduce the size of the link state database, IDPR sup-
`ports the ability to group ADs into superdomains. The exis-
`tence of superdomains imposes a domain hierarchy within the
`network. With a hierarchical approach only domain-level
`information is needed to construct routes. This greatly
`
`■ Figure 2. A sample network diagram.
`
`reduces the information needed to be maintained by a route
`server. The size of the database will now depend on the num-
`ber of domains and the policies associated with each.
`A variant of Clark’s policy term was chosen to represent
`policies in [15]. This variant allows for policies to be associat-
`ed with a set of network elements that represents a path. A
`policy based on paths is a great asset to policy-based routing
`protocols.
`
`Network Policy Languages
`In this section all the major policy languages are discussed.
`These languages are used to represent varying types of net-
`work policies such as routing, access, and QoS.
`Clark’s Policy Term
`Seeing the importance of using network resources differently
`and more efficiently, Clark proposed a template to represent
`network policies [17]. This template, called a policy term, was
`designed to enable a wide range of network policies to be rep-
`resented. The work is based on the fundamental assumption
`that Internet resources are grouped into administrative
`regions (ARs). AR resources included such items as networks,
`links, routers, and gateways. The format of a policy term is
`shown in Fig. 1.
`The first two “elements” of the policy term represent the
`source and destination points, respectively. Each of these
`consists of three parts, which provide for a wide range of
`granularity while specifying the endpoints. To show the gran-
`ularity available with this schema, here are some examples of
`source and destination points that could be represented by
`the diagram in Fig. 2. These source and destination points
`use the special characters “*” and “-.” The “*” represents
`the wild-card match, and the “-” is used to make sure the
`AR entry or AR exit fields match the source AR or destina-
`tion AR, respectively. These examples could be applied to
`AR 2.
`
`(*, *, *) (*,*,*)
`No restrictions, allow all traffic flows to traverse without
`restriction.
`
`(*, 36, -) (*, 12,*)
`Allow all hosts directly attached to AR 36 to pass if their
`destination goes through AR 12 (e.g., host 131.120.1.13
`may communicate with 216.34.20.1).
`
`(131.120.1.13, 36, -) (216.32.74.53, 2, - )
`The host with IP address 131.120.1.13 in AR 36 may
`communicate with the host with IP address 216.32.74.53
`in AR 2.
`
`As the reader can see, the endpoints can be as explicit as
`specifying a host or generic enough to allow all Internet
`traffic. Although the use of these first two elements pro-
`
`2 Administrative domain refers to any collection of contiguous networks,
`gateways, links, and hosts governed by a single administrative authority
`who selects the intradomain routing procedures and addressing schemes,
`specifies service restrictions for transit traffic, and defines service require-
`ments for locally generated traffic.
`
`IEEE Network • January/February 2001
`
`13
`
`4
`
`

`

`Policy Framework Definition
`Language
`
`ComplexPolicy
`
`1 ..n
`
`SimplePolicy
`
`1 ..n
`
`PolicyRules
`
`PolicyConditions
`
`1 ..n
`
`ORed
`
`PolicyConditionList
`
`1 ..n
`
`ANDed
`
`PolicyConditionStatement
`
`PolicyConditionCategory
`
`PolicyConditionValue
`
`■ Figure 3. A PFDL hierarchy.
`
`PolicyActions
`
`1 ..n
`
`PolicyActionList
`
`1 ..n
`
`PolicyActionStatement
`
`PolicyActionCategory
`
`PolicyActionValue
`
`Strassner and Schliemier define the
`Policy Framework Definition Lan-
`guage (PFDL) [18] which provides a
`mapping of network service require-
`ments from a business specification
`to a vendor- and device-indepen-
`dent format. The benefit of such a
`language is that network policy can
`exist in a heterogeneous environ-
`ment of devices that support policy
`enforcement.
`With the development of stan-
`dards to provide QoS, like integrat-
`ed
`services with Resource
`Reservation Protocol (RSVP)3 and
`differentiated services, the IETF
`working group on Policy Manage-
`ment has proposed this language.
`The belief is that without a means
`of representing, administering, and
`distributing consistent policy infor-
`mation, these QoS standards that
`classify and give preferential treat-
`ment to certain types of traffic flows
`will not see widescale deployment.
`In this first release of the draft,
`the grammar was only available in
`Backus-Naur Form (BNF), and no explicit examples were pre-
`sented. Attributes the authors believe should be supported by
`the language are discussed. As with many of these efforts to
`represent policy, the authors believe that having a language
`which supports multiple network devices and vendors is the
`key to successful policy deployment.
`The design of PFDL is based on the Common Information
`Model (CIM) [2] being designed by the Distributed Manage-
`ment Task Force (DMTF). This model defines a hierarchy of
`object classes that can be used to represent policy information.
`The class and relationship hierarchy of the CIM model are
`used to help define the structure of the PFDL grammar, see
`Fig. 3. The basic premise is that a policy is an aggregation4 of
`policy rules. A policy rule defines a sequence of actions to be
`initiated when a corresponding set of conditions is satisfied.
`Five classes defined to support the CIM are the ComplexPoli-
`cy class, SimplePolicy class, PolicyRule class, PolicyCondition
`class, and PolicyAction class. Their relationship to each other
`is shown in Fig. 3.
`A PolicyRule contains a set of PolicyConditions and a set of
`PolicyActions. When the set of PolicyConditions are meet, the
`set of PolicyActions will be executed.
`A PolicyConditionStatement is composed of a category and
`value pair. These two components are specific to a particular
`knowledge domain, whether QoS, security, or any other
`domain. Providing conditions and actions for a given knowl-
`edge domain accommodates the interoperability requirement
`for the language. It will provide the means for multiple ven-
`dors to supply components to a general policy architecture.
`A PolicyAction is a class in the PFDL model that consists of
`
`vides for a flexible way to permit traffic flow, it can become
`cumbersome at times. If, for example, the reader wanted to
`allow only traffic from universities to flow across an AR, it
`could be accomplished by creating many policy terms, one
`for each university. This list of policy terms could become
`quite large, so the third “element” of the policy term, UCI,
`can be used to make the implementation of this policy
`more manageable. A policy term that would only allow uni-
`versity traffic to flow across an AR could be represented
`like this:
`
`((*,*,*), (*,*,*), University, *)
`The endpoints are such that if the UCI element was not
`used, all traffic would flow across the AR. Using the
`UCI as a filter, only traffic marked with a University tag
`would be permitted to pass.
`
`The last element field of the policy term, Cg, is used for
`global conditions. Examples of information that might be held
`in this field are, “unauthenticated UCI,” “no-per-packet
`charge,” and “limited to n% of available bandwidth.”
`
`((*,*,*),(*,*,*), University, {unauthenticated UCI})
`This would allow only traffic marked as University to flow
`through the AR. There is no need to verify that the packet
`traffic was really from a university host.
`
`Although this was a good start for an abstract network poli-
`cy representation, which is needed for heterogeneous environ-
`ments, it has limitations. There is no ability to represent
`explicit paths formed by a sequence of ARs as part of the
`term. Only single ARs and the wild card character “*” are
`allowed. Without this capability, support of Integrated Ser-
`vices requires several network policies distributed throughout
`the network to be combined for verification of a path. Conse-
`quently, there is no ability to exclude a set of ARs from a
`term to which a general policy is applied.
`
`3 RSVP defines how applications can place reservations, and how they can
`relinquish those resources once their need ends.
`
`4 An aggregation is a string form of an association. An aggregation is usu-
`ally used to represent a “whole-part” relationship.
`
`14
`
`IEEE Network • January/February 2001
`
`5
`
`

`

`AS1
`
`AS2
`
`AS3
`
`AS4
`
`AS5
`
`AS2
`CAT-NET
`Catatonic State University
`from AS1 accept ANY
`from AS3 accept <^AS3+$>
`to AS3 announce ANY
`to AS1 announce AS2 AS3
`AO36-RIPE
`CO19-RIPE
`OPS4-RIPE
`CO19-RIPE
`OPS4-RIPE
`orange@ripe.net
`RIPE
`
`aut-num:
`as-name:
`deser:
`import:
`import:
`export:
`export:
`admin-c:
`tech-c:
`mnt-by:
`tech-c:
`mnt-by:
`changed:
`source:
`
`■ Figure 4. An RPSL diagram and policy example.
`
`an action or a list of actions that will be executed when the
`conditions associated with a policy are evaluated to true.
`These actions can be executed in either a specific order or any
`order, which is the default. Along with the ordering of policy
`actions, the ability exists for the conditional execution of one
`or more actions based on the results of previous actions. The
`reader can see from Fig. 3 that the hierarchy of the PolicyAc-
`tions class is similar to the PolicyConditions class.
`With possibly hundreds, perhaps thousands, of policies to
`be supported in a network, the ability to detect conflicting
`policies is crucial. The authors of PFDL are aware of the need
`to both detect as well as support facilities to resolve conflicts.
`This proposal groups policy conflicts into two different cate-
`gories, intra- and interpolicy conflicts.
`Intrapolicy conflicts are caused when the conditions of at
`least two policies are simultaneously satisfied, but the execu-
`tion of the actions of these policies cannot be executed at the
`same time. Interpolicy conflicts are described as two or more
`policies that, when applied to the network, result in conflicting
`configuration commands specified for one or more network
`devices. In this case, the conflict exists when the policy is
`applied to a specific network or device(s). An example given
`in the proposal is when two policies are executed such that
`the number of queues in one network device is such that it
`does not match the number of queues allocated in a second
`device supporting the same traffic flow.
`Once conflicting policies are detected, they may be resolved
`in several different ways. The most obvious would be to modi-
`fy the conditions or actions of the policies to remove the con-
`flict. If this cannot be accomplished and the conflicting
`policies must exist in the system, there are three different
`ways to resolve them:
`• Resolve the conflict by only executing the first policy in the
`conflicting set.
`• Use a priority schem

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket