throbber
|||||||||||||||||||||||||||||l||||||||||||||||||||||||||||l|||||||||||l||||
`
`USIXJ6674743BI
`
`US 6,674,743 B1
`(10) Patent N0.:
`(12) United States Patent
`Amara et a1. Jan. 6, 2004 (45) Date of Patent:
`
`
`
`(54) METHOD AND AI'PARA’I‘US FOR
`PROVIDING POLICY-BASED SERVICES
`FOR INTERNAL APPLICATIONS
`
`(75)
`
`Inventors: Satish Amara, Mount Prospect, IL
`(US); Michael Freed, Arlington
`Heights, II. (US)
`
`(73) Assignee: 3Com Corporation, Santa Clara, CA
`(us)
`
`( *) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 091475,855
`
`”'30- 30; 1999
`
`FilCdi
`(2?-
`Int. Cl?
`(51)
`(52) U.S. Cl.
`
`H04L121'28
`3701351- 3701389 3701392
`’
`'
`’ 709,232;
`370929—235,
`(58) Field of Search
`3701351, 389—392, 412—418, 428, 401,
`402, 465, 466; 7091227, 228, 238, 240
`
`(56)
`
`References Cited
`‘
`‘
`,
`..
`.. \
`..
`U.S. l’Alel DOCUMleb
`
`OTHER PUBLICATIONS
`
`Corbridge et at, Packet Filtering in an IP Router, pp.
`227—232, LISA—V—Sep. 30—Oct. 3, 19913“
`Wakeman et al,lmplementing Real Time Packet Forwarding
`Policies using streams, pp. 1—12, Nov. 14, 1994.*
`_
`“lPSec Network Security Commands,” http:11www.c1sco-
`.com1nnivered1ec,r’td1doc1produets-“so ftwa re1iosl 201 12eger1
`56‘5“?- VSIPH‘USFiPSW-hims PP- 1*45 (1998}
`R. Rajan. S. Kamat, Internet Engineering Task Force (IETF),
`Internet Draft, “A Simple Framework and Architecture for
`Networking Policy," drat‘t—rajan—policy—framcwork-(KMXI.
`May 23, 1999, pp. i-Xxiii-
`H—W. Braun, Network Working Group, Request for Com-
`ments: 1104, "Models of Policy Based Routing,” Jun. 1989,
`PP- 1—10-
`D, Estrin, Network Working Group, Request for Comments:
`1125, "Policy Requirements for Inter Adminstrative Domain
`R°“Ei"3'" N0“ 1989’”: "ifl’
`,
`,
`9' ('mrk' W‘work .Woikmg 0‘0““ Raquel“ “3‘ 90mm“
`1123, “Policy Routing in Internet Protocols,“ May 1989, pp.
`1 "'
`* cited by examiner
`
`Primary Examiner—Dang Ton
`Assistant Examiner—Frank Duong
`(74) Array-nay, Agent, or Firm—McDonnell Boehnen
`Hulberl & Bergholf
`
`53,473,903 A
`3,328,393 A
`
`llausntan cl all.
`IZII‘Jilz-r
`611991) Walsh el al.
`
`37U1'8513
`370185.13
`
`(57)
`
`ABSTRACT
`
`
`----------
`511199" Ll” 3‘ “l-
`- 379185-13
`5530393 A
`31:33: 51112:?!“ e' “"
`3991:3311?
`22:11::(I); i
`611998 Adams etal ,9,12m:4,},
`33:?61:424 A
`
`‘
`8/1998 Pitcher et al.
`310,471
`55,90,554 A
`., 395,111,179
`9,;le Baehr et al.
`$802,320 A
`
`..
`.. 395111;:39
`1 111998 Sltwed el al.
`5,835,726 A
`
`
`.. 395120053
`1111998 Wong et at.
`5,835,121 A
`.. 3951200.?5
`311999 Bach: et a].
`5,878,231 A
`
`.. 395113101
`311999 Bflehr 6* al-
`5,W,035 A
`
`.. 3951200151
`31999 T119119” el al-
`13,339,953 A
`$1333 Ellis): etawl‘
`" 39345333:
`gig-2:2 :
`
`I ”19"” Abraham at d}.
`”10912-24
`33,983,211} A
`,.
`812000 Haddock N at.
`310,235
`61043,“ A ,.
`
`6:157,955 A a 12412,“) Narad et a].
`7091228
`
`W0
`wo
`
`FOREIGN PATENT DOCUMENTS
`9848987
`91' 1998
`9911003
`311999
`
`A packet-forwarding device for providing policy-based ser-
`vices has at least a first interface, a second interface, and a
`packet forwarder for forwarding enternal packets between
`the dust and second interfaces.
`lhe packet-forwarding
`device also runs internal applications that may be remotely
`accessed. The first and second interfaces transmit and
`receive internal and external packets, the internal packets
`being those packets generated or received by the internal
`applications during remote access, and the external packets
`being those packets destined for devices other than the
`packet—forwarding device. The packet forwarder forwards
`external packets between the ltrst and second tnterl aces. Ari
`internal
`intertaee forwards internal packets between the
`internal applications and the first and second interfaces, and
`a policy engine logically connected to the internal interface
`applies a policy to the internal packets.
`
`48 Claims, 3 Drawing Sheets
`
`
`
`
`
`1M
`
`(cid:20)
`
`ARISTA 1004
`(cid:36)(cid:53)(cid:44)(cid:54)(cid:55)(cid:36)(cid:3)(cid:20)(cid:19)(cid:19)(cid:23)
`
`

`

`US. Patent
`
`Jan. 6, 2004
`
`Sheet 1 0f 3
`
`US 6,674,743 B1
`
`353mb... E<moan.
`
`._<zmm._.z_
`
`mafia—En?
`
`hwy—OE
`
`mmom<3m0m
`
`
`
`szzw>039“.madmmmkg
`
`mm3
`
`(cid:21)
`
`_,.9".
`
`wzfizm>030;
`
`szzm>o_._on_maize;
`
`

`

`US. Patent
`
`Jan. 6, 2004
`
`Sheet 2 0f3
`
`US 6,674,743 B1
`
`
`
`POLICYENGINE
`
`INTERNAL
`
`APPLICATIONS
`
`PACKETICLASSIFIER
`
`EE
`
`
`
`FIG.2
`
`INTERFACE
`
`PACKETF0RWARDER
`INTERNALINTERFACE l.5
`CLASSIFIER
`
`0%
`E50
`
`El
`5‘3
`E
`
`SE1-
`
`INTERFACE
`
`(cid:22)
`
`

`

`US. Patent
`
`Jan. 6, 2004
`
`Sheet 3 0f 3
`
`US 6,674,743 B1
`
`
`
`mzazwrezon—
`
`N
`
`
`
`285.4%Eggme
`
`
`
`mmmamfio
`
`
`
`x05.
`
`32E;99¢mzazw5:84
`E
`
` mzazw5:8EOEBEE;H2m8m_«mmwmfiuI85¢ng
`-mmifimfio-QUEmofimmkz.
`
`szzm>039.
`
`3NN
`
`on
`
`3N
`
`3N
`
`(cid:23)
`
`
`
`
`

`

`US 6,674,743 B]
`
`1
`METHOD AND APPARATUS FOR
`PROVIDING POLICY-BASED SERVICES
`FOR INTERNAL AI’PI .ICA'I‘IONS
`
`BACKGROUND OF THE INVENTION
`
`A. Field of the Invention
`
`2
`in a set of rules. to all outbound packets transmitted from the
`LAN to the Internet and to all
`inbound packets from the
`Internet to the LAN.
`Similarly, Haddock et al., PCT Publication No. W0
`99r'11003 discloses a packet—forwarding device having a
`comparison engine. The comparison engine examines the
`packets arriving at each input port to determine with which
`tralIic group each packet
`is associated, the traffic groups
`defining different 008 levels.
`A packet-forwarding device 10 that typifies the prior art
`approach of applying policies to packets. is shown in FIG. 1.
`FIG.
`I
`is a functional block diagram in which arrows
`illustrate the flow of packets between functional blocks.
`Device 10 may be a router, a remote access server, or other
`such device that
`forwards packets. Device 10 includes
`interfaces 12, 14, and 16, that connect device 10 to nodes 18,
`20, and 22, respectively. Nodes 18—22 may represent hosts
`connected via a LAN or WAN or via the PSTN. Nodes
`
`18—22 may also represent other packet forwarding devices.
`Although device 10 is shown in FIG. I with three interfaces,
`device ll] may, in general. have a greater or fewer number
`of interfaces.
`
`interfaces
`As indicated by the double—headed arrows,
`12—16 are able to send packets to and to receive packets
`from nodes 18—22, respectively. Interfaces 12—16, in turn,
`are logically connected to a packet forwarder 24 via policy
`engines 26, 28, and 30. Internal applications 32 are also
`logically connected to packet forwarder 24. Internal appli-
`cations 32 include the applications on device 10, such as
`applications for controlling and configuring device 10, that
`arc accessible remotely, such as by SNMP or by Telnet.
`Packet forwarder 24 receives packets forwarded by inter
`faces 12—16, via policy engines 26—30, and by internal
`applications 32. Packet forwarder 24-,
`in turn, is able to
`forward packets to internal
`interfaces 12—16, via policy
`engines 26—30, and to internal applications 32. Packet
`forwarder 24 performs a routing functionality. Specifically,
`packet forwarder 24- determines, for each packet it receives,
`whether to forward the packet to one or more of interfaces
`12—16 andfor internal applications 32. Packet forwarder 24
`makes this routing determination for each packet based on
`the packet‘s destination address. Typically, packet forwarder
`24 has access to routing tables that specify where to send
`each destination address. Normally, packet forwarder 24 will
`forward a packet
`to internal applications 32 when the
`packet’s destination address matches one of the packet—
`forwarding device’s own IP addresses.
`Policy engines 26-30 apply policies to all packets for-
`warded between interfaces 12—16 and packet forwarder 24-.
`In this process, policy engines 26-30 trap each packet and
`examine various selector fields in each packet, such as
`source address, destination address. source port, destination
`port, and protocol type. Based on this information, policy
`engines 26—30 apply a set of rules that specify the manner
`in which the packets are to be handled. In general, policy
`engines 26—30 may be separately configured so as to apply
`different policies.
`The problem with this approach is that there is a high
`overhead associated with applying policies to all incoming
`and outgoing packets. This high overhead may increase the
`latency of each packet and may degrade the throughput of
`the packetwforwarding device. Another disadvantage with
`the prior art approach is the time and effort required to
`develop and manage policies for each interface. Finally, the
`overhead and management difficulties serve to limit
`the
`complexity of the policies that a packet-forwarding device
`can apply.
`
`This invention relates to the field of digital telecommu~
`nications. More particularly,
`this invention relates to a
`method and apparatus for applying policies in packet for-
`warding devices, such as routers and remote access servers.
`B. Description of Related Art
`l’ackebswitched networks, such as the Internet, typically
`include one or more packet forwarding devices, such as
`routers or remote access servers. Viewed at
`the simplest
`level, a router is a device having a plurality of interfaces,
`with each interface typically connected to a wide area
`network (WAN), a local area network (LAN), or a host.
`Internally, the router forwards packets from one interface to
`another based on the destination address contained in the
`header of each packet. A remote access server is similar to
`a router, except
`that,
`in addition to interfaces to WANs
`andior [.ANs, a remote access server also includes one or
`more interfaces to the public switched telephone network
`(PSTN) to provide dial-in access to the network. Remote
`access servers also forward packets from one interface to
`another based on the destination addresses of the packets.
`Increasingly, routers and remote access servers are also
`performing more sophisticated handling of packets than
`simply routing them on the basis of destination address. In
`particular, some packets may be selected for special treat—
`ment in order to provide “policy-based services." “Policy-
`based services" encompass any disposition of packets that
`involves more than simply routing them based on their
`destination addresses. For example,
`routers and remote
`access servers may perform packet filtering, in which certain
`packets are dropped, diverted, andr’or logged. The router or
`remote access server may also perform network address
`translation (NAT),
`in which the source andlor destination
`addresses are changed. Certain packets may be encrypted or
`decrypted, such as provided for in the IPsec protocols.
`Finally, certain packets may be prioritized in the queue of
`the router or remote access server in order to provide a
`particular quality of service (008) level. Many other types
`of special handling of packets could also be performed.
`To identify the packets that are to be subject
`to such
`special handling, the router or remote access server typically
`examines more than the destination address of the packet. In
`general, the packet-forwarding device examines one or more
`"selector fields" within each packet, such as the source
`address, destination address, source port, destination port,
`and protocol
`type. User name, more particularly the IP
`address allocated to a particular user, may also be used as a
`selector
`filed in remote access servers. The packet- _
`forwarding device then enforces a “policy” by applying a set
`of rules to packets whose selector fields meet predefined
`criteria. The rules specify how the packets are to be handled.
`As a result of this policy enforcement, packets may be
`dropped,
`logged,
`translated, encrypted, decrypted, or
`prioritized, if the selector fields within the packets match
`certain predefined criteria.
`Typically, the “policy” is applied to all interfaces of the
`packet-forwarding device. For example, Abraham et al.,
`US. Pat. No. 5,983,270 discloses a network server through
`which all traffic between a LAN and the Internet passes. A
`filter engine in the network server applies a policy, embodied
`
`ID
`
`15
`
`so
`
`35
`
`4-!)
`
`45
`
`50
`
`60
`
`65
`
`(cid:24)
`
`

`

`3
`SUMMARY OF THE INVENTION
`
`US 6,674,743 B1
`
`4
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`FIG. 2 is a functional block diagram showing a packet-
`forwarding device 100 in accordance with a first preferred
`embodiment of the present invention. The arrows in FIG. 2
`illustrate the flow of packets between fu nctiona] blocks and,
`thus, the logical connections betwcen functional blocks. As
`used herein, two elements of a device are “logically con-
`nected” if packets are able to flow in at least one direction
`from one element to the other, either directly or via one or
`more intermediate elements, provided that the flow of pack-
`ets occurs within the device. Additionally, as used herein, a
`first element "forwards" packets to a second element when
`packets flow from the first element to the second element,
`either directly or via one or more intermediate elements.
`Device 100 may be a router, a remote access server, or
`other such device that
`forwards packets. Device 100
`includes interfaces 102—106 that are able to transmit packets
`to and to receive packets from nodes 108—112, respectively.
`Nodes 108—112 may represent either hosts or packet-
`fcrwarding devices, such as routers, that are connected to
`device 100 via digital networks or via the PSTN. Note that
`although device 100 is shown in FIG. 2 with three interfaces
`102—106, device 100 may have a greater or fewer number.
`If device 100 is a router, at least one of nodes 108—112
`will typically be a router or other device connected via a
`WAN, and another one of nodes 108—112 will typically be
`a host or other device connected via a IAN. If device 100
`is a remote access server, at least one of interfaces 102—106
`will include a modem, with the corresponding node being a
`user connected via the PSTN using a protocol such as PPP,
`and at least one other of interfaces 102—106 will be con—
`nected to a host or other device via a LAN or WAN.
`
`Running on device 100 are internal applications 1.14,
`which typically serve to to control or configure device 100.
`Internal applications 114 communicate with other devices
`remote to device 100, through the use of protocols such as
`PPTP, L2TP, SNMP or Telnet. As part of such remote access,
`internal applications 114 generate internally-packets and use
`internally-destined packets. These internally-generated
`packets and internally-destined packets together constitute
`the “internal" packets. These internal packets are transmitted
`and received by one or more of interfaces 102406.
`In addition to such “internal" packets, interfaces 102—106
`also transmit and receive “external” packets. The "external"
`packets are packets that are not associated with internal
`applications 114 but are, instead, destined for devices other
`than device 1th. For example,
`if device 101] is a remote
`access server, node 108 may represent a remote user con-
`nected via the PSTN and node 110 may represent a server on
`a LAN or a WAN being accessed by the remote user. In that
`case, the packets associated with the remote user that are
`transmitted and received by interfaces 102 and 104 would all
`be external packets.
`Packet classifiers 116—120, which are logically connected
`to interfaces 102—106, respectively, classify the packets
`received at interfaces 102w106 as either internally-destined
`or external packets, based on the destination address of the
`packets. In particular, the internally-destined packets will
`have a destination address that
`is one of the addresses
`assigned to device 100 itself. The external packets will have
`destination addresses that correspond to devices other than
`device 100. Packet classifiers 116—120 forward the
`internally-destined packets to an internal interface 122 and
`the external packets to a packet forwarder 124.
`Internal interface 122 serves as an interface for internal
`
`applications .114.
`
`Internal
`
`interface 122 is preferably a
`
`It)
`
`15
`
`In a first principal aspect, the present invention provides
`a method for providing policy-based services in a packet-
`forwarding device running an internal application and hav-
`ing a first
`interface and a second interface. The internal
`application generates internally-generated packets. A policy
`is applied to the internally—generated packets, and the
`internally-generated packets are forwarded to the first inter-
`face. External packets are received at the second interface,
`and these external packets are forwarded to the first interface
`without applying the policy to them.
`In a second principal aspect, the present invention pro-
`vides a method for providing policy-based services in a
`packet-fonvarding device running an internal application
`and having a first interface and a second interface. Incoming
`packets, each of which has a source address, are received at
`the first interface. The incoming packets are classitied as
`internally-destined packets if their source addresses are in a
`first set of addresses and as external packets if their source
`addresses are in a second set of addresses. A policy is applied .
`to the internally-destined packets, and the internally-
`destined packets are forwarded to the internal application.
`However, the external packets are forwarded to the second
`interface without applying the policy to them.
`In a third principal aspect, the present invention provides H
`a packet-forwarding device comprising first and second
`interfaces for transmitting and receiving packets, an internal
`application running on the packet-forwarding device, an
`internal
`interface logically connected to the internal
`application, a packet forwarder logically connected to the
`first and second interfaces, and a policy engine logically
`connected to the internal interface and the internal applica-
`tion. The internal application generates internally-generated
`packets and uses internally-destined packets. The internal
`interface forwards the internally-generated packets to the
`first interface and forwards the intemally~rtestined packets to
`the internal application. The packet
`forwarder forwards
`packets betvveen the first and second interfaces. The policy
`engine applies a policy to internal packets,
`the internal
`packets being selected from the group consisting of
`internally-generated packets and internally-destined pack-
`ets.
`
`so
`
`35
`
`4t)
`
`In a fourth principal aspect, the present invention provides
`an improvement to a packet-forwarding device. The packetw
`forwarding device has a first interface, a second interface, a
`packet forwarder forwarding packets between the first and
`second interfaces, and runs an internal application. The
`internal application generates internally-generated packets
`and uses internally-destined packets. The improvement
`comprises an internal interface logically connected to the
`internal application and a policy engine logically connected
`to the internal
`interface. The internal
`interface forwards
`internal packets, the internal packets being selected from the
`group consisting of internally—generated packets and
`internally-destined packets. The policy engine applies a .
`policy to the internal packets.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`45
`
`50
`
`is a functional block diagram of a packet-
`1
`FIG.
`forwat'ding device typifying the prior art approach of apply-
`ing policies.
`FIG. 2 is a functional block diagram of a packet-
`forwarding device in accordance with a
`first preferred
`embodiment of the present invention.
`FIG. 3 is a functional block diagram of a packet-
`forwarding device in accordance with a second preferred
`embodiment of the present invention
`
`60
`
`65
`
`(cid:25)
`
`

`

`US 6,674,743 B1
`
`5
`pseudo interface implemented by software, rather than a
`physical interface. Internal interface 122 is logically con-
`nected to internal applications 114, via a policy engine 126,
`to packet forwarder 124, and to packet classifiers 116—120.
`internal interface 122 forwards the internally-destined packn
`ets from packet classifiers 116—120 to internal applications
`114 and forwards the internally—generated packets from
`internal applications 114 to packet forwarder 124.
`Policy engine 126 applies a policy to the internal packets.
`Specifically, policy engine 126 examines one or more selec-
`tor fields present
`in the internal packets. Typical selector
`fields include the source address, destination address, source
`port, destination port, and protocol type. Policy engine 126
`also applies a set of rules specifying the manner in which a
`given packet should be handled if the selector fields of the
`given packet match certain predefined criteria. Such han—
`dling can include without limitation dropping the packet,
`logging the packet, encrypting or decrypting the packet,
`performing network address translation andt'or port address
`translation on the packet, and prioritizing the packet
`for
`008. Policy engine 126 may apply a policy to internally»
`generated packets that differs from the policy apply to the
`internally-destined packets. However, policy engine 126
`typically applies the same policy to internally—destined and
`internally-generated packets.
`Packet forwarder 124 forwards the external packets from
`packet classifiers 116—120 and the internally-generated
`packets from internal
`interface 122 to one or more of
`interfaces 102—106. More particularly, packet forwarder 124
`provides a routing functionality by determining to which of
`interfaces 102-115 to forward each packet, based on each
`packet ‘s destination address. Packet forwarder 124 typically
`has access to routing tables to perform this routing.
`Notably, device 100 applies policies to the internal
`packets, by means of policy engine 126, but does not apply
`policies to the external packets. This approach offers several
`advantages. Typically, most of the packets transmitted and
`received by device 100 will be external packets. In fact,
`internal packets comprise less than 5% of the traffic in most
`remote access servers. I-Iowever, security and other policy-
`related concerns are most significant for the internal packets,
`because these packets, being associated with internal appli-
`cations 114, can affect the configuration and management of
`device 100. Thus, by applying a policy only to internal
`packets, the packets for which policies are typically most
`important, the overhead and latency that would be associ-
`ated with examining all packets is greatly reduced.
`Additionally, the task of policy management
`is simplified
`because policies are applied at only a single interface,
`internal
`interface 122, rather than at each of interfaces
`102406.
`
`it)
`
`15
`
`3o
`
`35
`
`4!)
`
`45
`
`50
`
`It is also possible to extend this approach to allow policies
`to be applied to the external packets as well as to the internal
`packets. A device 200 utilizing this approach is shown in
`FIG. 3. Device 200 includes interfaces 202—206 that trans-
`mit packets to and receive packets from nodes 208—212,
`respectively. Packet classifiers 214—2 18 classify the packets ‘
`received by nodes interfaces 202—206, respectively, as either
`internally-destined packets or external packets, based on the
`packets destination addresses. Packet classifiers 214—218
`forward the internally-destined packets to an internal inter-
`face 220, and packet classifiers 214—2 18 forward the exter-
`nal packets to a packet forwarder 222 via policy engines
`224—228, respectively.
`Internal
`interface 220 is logically connected to packet
`classifiers 214—218, to packet forwarder 222, and to internal
`applications 230 via a policy engine 232. Internal interface
`220 forwards the internally-destined packets from packet
`classifiers 214—2 18 to internal applications 230 and forwards
`
`60
`
`6
`the internally-generated packets from internal applications
`230 to packet forwarder 222.
`Packet forwarder 222 performs a routing functionality,
`forwarding the external packets from packet classifiers
`214—218 and the internally-generated packets from internal
`interface 220 to one or more of interfaces 202—206, via
`policy engines 224—228, based on the destination addresses
`of the packets.
`Policy engine 232 applies a policy to the internal packets,
`i.e., the intemally-generated packets generated by internal
`applications 230 and the internally-destined packets used by
`internal applications 230. Policy engines 224—228 apply
`policies to the external packets forwarded by packet classi-
`fiers 214—218, respectively. Policy engines 224—228 typi—
`cally also apply policies to the external packets forwarded
`by packet forwarder 222.
`In this way, device 2011 applies policies to the internal
`packets and to the external packets. In general, the policies
`applied to the internal and external packets may differ. The
`approach used in device 200 may not realize the efficiency
`advantage afforded by the approach used in device 100.
`However, by applying policies to internal packets using
`policy engine 232,
`regardless of which of interfaces
`202—206 may transmit or receive the packet, the task of
`policy management is greatly simplified.
`Although various embodiments of this invention have
`been shown and described,
`it should be understood that
`various modifications and substitutions, as well as rear-
`rangements and combinations of the preceding
`embodiments, can be made by those skilled in the art,
`without departing from the novel spirit and scope of this
`invention. Accordingly,
`the true spirit and scope of the
`invention is defined by the appended claims,
`to be inter
`preted in light of the foregoing specification.
`We claim:
`
`In a packet-forwarding device running an internal
`1.
`application and having a first
`interface and a second
`interface, a method for providing policy-based services, said
`method comprising the steps of:
`said internal application generating internally-generated
`packets;
`applying a first policy to said internally-generated pack-
`ets;
`forwarding said internally-generated packets to said first
`interface;
`receiving second incoming packets at said second
`interface, said second incoming packets having desti-
`nation addresses;
`classifying said second incoming packets as internally-
`destined packets if said destination addresses of said
`second incoming packets are in a first set of one or
`more addresses and classifying said second incoming
`packets as second external packets if said destination
`addresses of said second incoming packets are in a
`second set of one or more addresses; and
`forwarding said second external packets to said first
`interface without applying said first policy to said
`second external packets.
`2. The method of claim 1, wherein said step of applying
`a first policy to said internally-generated packets includes
`the steps of:
`examining at least one selector field in each one of said
`internally-generated packets; and
`handling said internally-generated packets in a predeter-
`mined manner if said selector fields of said internally-
`generated packets meet predetermined criteria.
`3. The method of claim 2, wherein said at
`least one
`selector field is selected from the group consisting of source
`
`(cid:26)
`
`

`

`US 6,674,743 B1
`
`7
`address, destination address. source port, destination port.
`and protocol type.
`4. The method of claim 2, wherein said step of handling
`said internally-generated packets in a predetermined manner
`includes the step of dropping said internally-generated pack-
`ets.
`
`5. The method of claim 2, wherein said step of handling
`said intemally-generated packets in a predetermined manner
`includes the step of translating the source addresses and
`destination addresses of said internally-generated packets.
`6. The method of claim 2, wherein said step of handling
`said intenally-generated packets in a predetermined manner
`includes the step of encrypting said internally-generated
`packets.
`7. The method of claim 2, wherein said step of handling
`said internally-generated packets in a predetermined manner
`includes the step of prioritizing said internally—generated
`packets.
`S. The method of claim 1, further comprising the step of:
`applying a second policy to said second external packets,
`said second policy differing from said first policy.
`9. The method of claim 1, further comprising the steps of:
`applying a third policy to said internally-destined packets;
`and
`
`forwarding said internally-destined packets to said inter-
`nal application.
`10. The method of claim 9, wherein said step of applying
`a third policy to said internally-destined packets includes the
`steps of:
`examining at least one selector field in each one of said
`internally—destined packets; and
`handling said internally-destined packets in a predeter-
`mined manner if said selector fields of said internally~
`destined packets meet predetermined criteria.
`11. The method of claim 10, wherein said at least one
`selector field is selected from the group consisting of source
`address, destination address, source port, destination port,
`and protocol type.
`12. 'lhe method ofclaim 10, wherein said step of handling
`said internally~destined packets in a predetermined manner
`includes the step of dropping said internally-destined pack-
`ets.
`
`13. The method ofclaim 10, wherein said step of handling
`said internally-destined packets in a predetermined manner
`includes the step of translating the source addresses and
`destination addresses of said internally-destined packets.
`14. The method ofclairn 10, wherein said step of handling
`said internallydcstined packets in a predetermined manner
`includes the step of decrypting said internally-destined pack-
`ets.
`
`15. The method ofclaim 10, wherein said step of handling
`said internally-destined packets in a predetermined mariner
`includes the step of prioritizing said internally-destined
`packets.
`16. The method of claim 8, further comprising the steps
`
`of:
`
`receiving first incoming packets at said first interface, said
`first incoming packets having destination addresses;
`classifying said first
`incoming packets as internally-
`destined packets if said destination addresses of said
`first incoming packets are in said lirst set ofone or more
`addresses and classifying said first incoming packets as
`first external packets if said destination addresses of
`said first incoming packets are in said second set of one
`or more addresses; and
`applying a fourth policy to said first extemal packets, said
`fourth policy differing from said first policy.
`17. The method of claim 1, wherein said second set ofone
`or more addresses includes at least one address assigned to
`said packet-forwarding device.
`
`5
`
`10
`
`15
`
`3n
`
`‘
`
`4!)
`
`50
`
`55
`
`60
`
`65
`
`8
`In a packet-forwarding device running an internal
`18.
`application and having a first
`interface and a second
`interface, a method for providing policy-based services, said
`method comprising the steps of:
`receiving incoming packets at said first interface, each one
`of said incoming packets having an address;
`classifying said incoming packets as internally—destined
`packets if said addresses of said incoming packets are
`in a first set of addresses and classifying said incoming
`packets as first external packets if said addresses of said
`incoming packets are in a second set of addresses;
`applying a first policy to said internally-destined packets;
`forwarding said internally-destined packets to said inter-
`nal application;
`forwarding said first external packets to said second
`interface without applying said first policy to said first
`external packets.
`19. The method ofclaim 18, wherein said step ofapplying
`a first policy to said internally-destined packets includes the
`steps of:
`examining at least one selector field in each one of said
`internally-destined packets; and
`handling said internally—destined packets in a predeterw
`mined manner if said selector fields of said internally—
`destined packets meet predetermined criteria.
`20. The method of claim 19, wherein said step of handling
`said internally-destined packets in a predetermined manner
`includes the step of dropping said internally-destined pack-
`ets.
`21. The method ofclaim 19, wherein said step of handling
`said internallydestined packets in a predetermined manner
`includes the step of translating the source addresses and
`destination addresses of said intemally-destined packets.
`22. The method of claim 19, wherein said step of handling
`said internallydestincd packets in a predetermined manner
`includes the step of encrypting said internally-desti rted pack-
`ets.
`
`23. The method of claim 19, wherein said step of handling
`said internally-destined packets in a predetermined manner
`includes the step of prioritizing said internally-destined
`packets.
`24. The method of claim 18, further comprising the step
`of:
`
`applying a second policy to said first external packets,
`said second policy differing from said first policy.
`25. The method of claim 18. further comprising the steps
`of:
`
`said internal application generating internally-generated
`packets;
`applying a third policy to said internally-generated pack-
`ets;
`forwarding said internally-generated packets to said first
`interface;
`receiving second external packets at said second interface;
`and
`
`forwarding said second external packets

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