throbber
I 1111111111111111 11111 111111111111111 IIIII IIIII IIIII IIIII 1111111111 11111111
`US007295516Bl
`
`c12) United States Patent
`Ye
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,295,516 Bl
`Nov. 13, 2007
`
`(54) EARLY TRAFFIC REGULATION
`TECHNIQUES TO PROTECT AGAINST
`NETWORK FLOODING
`
`(75)
`
`Inventor: Baoqing Ye, Nashua, NH (US)
`
`(73) Assignee: Verizon Services Corp., Waltham, MA
`(US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 1068 days.
`
`(21) Appl. No.: 10/010,774
`
`(22)
`
`Filed:
`
`Nov. 13, 2001
`
`(51)
`
`Int. Cl.
`H04J 1116
`(2006.01)
`H04J 3/16
`(2006.01)
`G06F 11100
`(2006.01)
`U.S. Cl. ...................... 370/232; 370/236; 370/468;
`726/22
`(58) Field of Classification Search ..... 370/229-236.1,
`370/395.1, 465
`See application file for complete search history.
`
`(52)
`
`6,865,185 Bl*
`7,058,015 Bl*
`7,062,782 Bl*
`7,092,357 Bl*
`7,188,366 B2 *
`2002/0101819 Al*
`2003/0172289 Al*
`
`3/2005 Patel et al . ................. 370/412
`6/2006 Wetherall et al . ........... 370/236
`6/2006 Stone et al.
`.................. 726/22
`8/2006 Ye
`............................. 370/230
`3/2007 Chen et al. ................... 726/23
`8/2002 Goldstone ................... 370/229
`9/2003 Soppera ...................... 713/200
`
`OTHER PUBLICATIONS
`
`H-Y Chang S. F. Wu, C. Sargor, and X. Wu, "Towards Tracing
`Hidden Attackers on Untrusted IP Networks", pp. 1-19.
`S. Savage, D. Wetherall, A. Karlin and T. Anderson, "Practical
`Network Support for IP Traceback", Technical Report UW-CSE-
`00-02-01, University of Washington, 6 pgs.
`
`(Continued)
`
`Primary Examiner----Chau Nguyen
`Assistant Examiner-Nittaya Juntima
`
`(57)
`
`ABSTRACT
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,769,811 A *
`9/1988 Eckberg et al. ............. 370/236
`5,090,011 A *
`2/1992 Fukuta et al ................ 370/230
`5,309,431 A *
`5/1994 Tominaga et al.
`.......... 370/235
`5,457,687 A * 10/1995 Newman .................... 370/232
`5,706,279 A *
`1/1998 Teraslinna .................. 370/232
`5,835,484 A * 11/1998 Yamato et al. .............. 370/230
`5,901,140 A *
`5/1999 Van As et al. .............. 370/236
`5,914,936 A *
`6/1999 Hatono et al. .............. 370/230
`6,028,842 A *
`2/2000 Chapman et al. ........... 370/235
`6,144,714 A * 11/2000 Bleiweiss et al ............ 375/376
`3/2001 Ogawa et al. ......... 370/395.52
`6,208,653 Bl*
`6,424,620 Bl *
`7/2002 Nishihara ................... 370/229
`6,463,036 B2 * 10/2002 Nakamura et al. ....... 370/236.1
`6,657,961 Bl* 12/2003 Lauffenburger et al . .... 370/231
`6,724,721 Bl*
`4/2004 Cheriton ..................... 370/229
`6,735,702 Bl *
`5/2004 Yavatkar et al. .............. 726/13
`
`Methods and apparatus for providing an Anti-Flooding
`Flow-Control (AFFC) mechanism suitable for use in defend(cid:173)
`ing against flooding network Denial-of-Service (N-DoS)
`attacks is described. Features of the AFFC mechanism
`include (1) traffic baseline generation, (2) dynamic buffer
`management, (3) packet scheduling, and ( 4) optional early
`traffic regulation. Baseline statistics on the flow rates for
`flows of data corresponding to different classes of packets
`are generated. When a router senses congestion, it activates
`the AFFC mechanism of the present invention. Traffic flows
`are classified. Elastic traffic is examined to determine if it is
`responsive to flow control signals. Flows of non-responsive
`elastic traffic is dropped. The remaining flows are compared
`to corresponding class baseline flow rates. Flows exceeding
`the baseline flow rates are subject to forced flow rate
`reductions, e.g., dropping of packets.
`
`11 Claims, 10 Drawing Sheets
`
`902
`
`904
`
`906
`
`908
`
`DESTINATIONNODETRANSMITSPATHINFORMATIONTO
`BOTTLENECK NODE
`
`910
`
`INRESPONSETOCONGESTIONCONTROLMETHOD,UPSTREAM
`NODE#'PLIESFORCEDREDUCTIONTOFLOW(S}DIRECTEDTO
`DESTINATIONINDICATEDINETRSIGNAL
`
`914
`
`916
`
`Cloudflare - Exhibit 1008, page 1
`
`

`

`US 7,295,516 Bl
`Page 2
`
`OTHER PUBLICATIONS
`
`"Characterizing and Tracing Packet Floods Using Cisco Routers",
`downloaded from: wysiwyg:/ /23/http://www.cisco.com/warp/pub(cid:173)
`lic/707 /22.html, 5 pgs.
`"Cert® Advisory CA-1996-26 Denial-of-Service Attack via ping",
`downloaded
`from:
`http://www.cert.org/advisories/CA-1996-26.
`html, 4 pgs., last revised Dec. 5, 1997.
`"Cert® Advisory CA-1996-21 TCP SYN Flooding and IP Spoofing
`Attacks", downloaded from: http://www.cert.org/advisories/CA-
`1996-21.html on Mar. 14, 2002, pp. 1-8, last revised Nov. 29, 2000.
`S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, "An
`Architecture for Differentiated Services", Network Working Group
`Request For Comments: 2475, downloaded from: ftp://ftp.isi.edu/
`in-notes/rfc2475.txt on Mar. 14, 2002, Dec. 1998, pp. 1-32.
`L. Houvinen and J. Hursti, "Denial of Service Attacks: Teardrop and
`Land", Department of Computer Science Helsinki University of
`Technology, downloaded
`from:
`http://www.hut.fi/-ilhuovine/
`hacker/dos.html on Mar. 14, 2002, pp. 1-12.
`SecurityFocus home mailing list: BugTraq "The "mstrearn" distrib(cid:173)
`uted denial of service attack tool", downloaded from: http://online.
`securityfocus.corn/archive/1/57854 on Mar. 14, 2002, May 1, 2000,
`pp. 1-22.
`
`Bellovin and Leech AT&T Labs Research, "ICMP Traceback Mes(cid:173)
`sages", Network Working Group Internet Draft, downloaded from:
`http://www.ietf.org/internet-drafts/draft-ietf-itrace-00.txt on Jul. 9,
`2001, Mar. 2001, pp. 1-9.
`S. Floyd and V. Paxson, "Why We Don't Know How To Simulate
`The Internet", AT&T Center for Internet Research, Oct. 11, 1999,
`pp. 1-13.
`S. Floyd and K. Fall, "Promoting the Use of End-to-End Congestion
`Control in the Internet", May 3, 1999, pp. 1-16.
`K. Thompson, G. J. Miller, and R. Wilder, "Wide-Area Internet
`Traffic Patterns and Characteristics", IEEE Network, Nov./Dec.
`1997, pp. 10-23.
`S. Floyd and V. Jacobson, "Link-sharing and Resource Management
`Models for Packet Networks", IEEE/ACM Transactions on Net(cid:173)
`working, vol. 3, No. 4, Aug. 1995, 22 pgs.
`S. Floyd and V. Jacobson, "Random Early Detection Gateways for
`Congestion Avoidance", Lawrence Berkeley Laboratory University
`of California, 1993, pp. 1-22.
`
`* cited by examiner
`
`Cloudflare - Exhibit 1008, page 2
`
`

`

`

`

`

`

`

`

`Protocol Type
`Aoolication Type
`Average Baseline
`(Arrival Rate bit/sec)
`
`Traffic Type
`Protocol Type
`Aoolication Type
`Arrival Rate
`Flow (s)
`Arrival Rate Per Flow
`
`Traffic Tvoe
`Protocol Type
`Aoolication Type
`Throughput (bit/sec)
`Flow (s)
`Responsiveness
`Aaaressiveness
`Throughput
`
`'t 404
`f_ 402
`Class Flow Baseline Table For Destination D2
`TCP
`
`'t 406
`
`'t 408
`
`UDP
`
`400
`
`Web
`
`1000
`
`FTP
`
`500
`
`Class 1
`Class 2
`FIGURE 4
`
`Flow Statistics Before Processing
`Elastic
`TCP
`
`Web
`FTP
`1100
`3500
`I F2
`I F5
`I F3
`F4
`I 1200 I 1500
`700 I 400
`Class 1
`Class 2
`FIGURE 6
`
`Traffic Throughput After Processing
`Elastic
`TCP
`
`FTP
`400
`
`Web
`1800
`F2
`F4
`F5
`YES
`NO
`YES
`YES
`YES
`NO
`1000
`400
`0
`Class 1
`Class 2
`FIGURE 7
`
`F3
`NO
`YES
`0
`
`Echo
`
`200
`
`DNS
`
`100
`
`Class 3
`
`Class4
`
`Best-Effort
`UDP
`
`Echo
`780
`I F7
`F6
`I 500
`180
`Class 3
`
`ONS
`290
`I F9
`F8
`200 I 90
`Class 4
`
`Best-Effort
`UDP
`
`Echo
`380
`
`F7
`F6
`NIA
`NIA
`YES
`NO
`200
`180
`Class 3
`
`DNS
`200
`
`F9
`F8
`NIA
`NIA
`NO
`YES
`90
`100
`Class 4
`
`600
`
`700
`
`F1
`800
`
`F1
`YES
`NO
`800
`
`e •
`
`00
`•
`~
`~
`~
`
`~ = ~
`
`z 0
`~ ....
`
`~
`
`~
`N
`0
`0
`-....J
`
`rJJ =(cid:173)
`('D a
`0 ....
`....
`
`.i;...
`
`0
`
`d r.,;_
`-....l
`'N
`\0
`UI
`tit
`
`"'""' 0--, = "'""'
`
`Cloudflare - Exhibit 1008, page 6
`
`

`

`

`

`U.S. Patent
`
`Nov. 13, 2007
`
`Sheet 6 of 10
`
`US 7,295,516 Bl
`
`ORIGINAL ARRIVAL
`RATE ""o
`
`800
`
`/
`
`MIN
`MAX
`THRESHOLD THRESHOLD
`802 804
`~
`
`t
`
`I
`I
`I
`
`ff~
`
`DROPPING-RA TE v
`
`FIGURE 8
`
`OUTGOING RA TE
`
`•
`
`""ouT
`
`Cloudflare - Exhibit 1008, page 8
`
`

`

`

`

`U.S. Patent
`
`Nov. 13, 2007
`
`Sheet 8 of 10
`
`US 7,295,516 Bl
`
`228
`
`NETWORK NODE ETR MODULE
`
`1030
`
`MAIN ETR
`CONTROL
`ROUTINE
`
`/1034
`
`/1038
`
`Bt-S
`SUBROUTINE
`
`Rt-R
`SUBROUTINE
`
`/1036
`
`/1042
`
`ETR-S
`SUBROUTINE
`
`ETR-R
`SUBROUTINE
`
`FIGURE 10A
`
`228'
`
`HOST DEVICE ETR MODULE
`
`/1032
`
`/ 1040
`
`Rt-S
`SUBROUTINE
`
`Bt-R
`SUBROUTINE
`
`FIGURE 108
`
`Cloudflare - Exhibit 1008, page 10
`
`

`

`U.S. Patent
`
`Nov. 13, 2007
`
`Sheet 9 of 10
`
`US 7,295,516 Bl
`
`DESTINATION NODE
`
`1032
`'
`
`Rt-S
`SUBROUTINE ""
`
`_J
`
`. .
`
`Bt-R
`r SUBROUTINE
`
`I
`
`.,..,.... 1 10
`
`1040
`y
`
`+ H
`...-1112
`1110~
`.
`
`1114 .......,
`·o·
`Rt-R
`SUBROUTINE
`~1116
`ETR-S
`SUBROUTINE
`
`1038
`-...
`
`1036
`
`'
`
`1034
`---
`Bt-S
`SUBROUTINE
`t
`~1135
`MAIN ETR 1030
`I
`CONTROL V
`I
`ROUTINE
`I BOTTLENECK NODE
`-1118 ~1126
`,,
`I
`Bt-S
`ETR-R
`SUBROUTINE
`SUBROUTINE
`1036
`.A
`,,
`-1120
`I
`\
`MAIN ETR 10301
`ETR-S
`I
`SUBROUTINE f+ CONTROL /
`ROUTINE
`I
`I
`r1124
`FROM
`UPSTREAM
`NODE
`
`v1 27
`
`120
`
`V
`
`1034
`V
`
`UPSTREAM NODE
`
`1042
`'
`
`,;- 1122
`
`TO
`UPSTREAM
`NODE
`
`FIGURE 11
`
`Cloudflare - Exhibit 1008, page 11
`
`

`

`

`

`US 7,295,516 Bl
`
`1
`EARLY TRAFFIC REGULATION
`TECHNIQUES TO PROTECT AGAINST
`NETWORK FLOODING
`
`FIELD OF THE INVENTION
`
`The present invention is directed to connnunication sys(cid:173)
`tems, and more particularly, to flow control methods and
`apparatus suitable for use in network congestion control,
`especially when systems are under flooding Denial-of-ser(cid:173)
`vice attacks.
`
`BACKGROUND OF THE INVENTION
`
`2
`Another disadvantage of the signature capture system is
`that the signature collection methods are an aftermath
`defense approach. Thus, such an approach helps in prevent(cid:173)
`ing future attacks with known signatures, but is of limited
`5 use during initial attacks.
`In view of the above discussion, it is apparent that there
`is a need for methods of effectively identifying malicious
`traffic flows, e.g., traffic flows from individuals and/or
`sources involved in launching an N-DoS attack. There is
`10 also a need for methods and apparatus for reducing and/or
`eliminating the effects of malicious traffic flows associated
`with N-DoS attacks. It is desirable that at least some
`congestion control methods be capable oflimiting malicious
`traffic prior to a significant collapse or restriction on legiti-
`15 mate network traffic occurs.
`
`SUMMARY OF THE INVENTION
`
`Data networks are used today to transmit vast amounts of
`data. Such networks comprise elements sometimes called
`nodes. Nodes may be, e.g., routers, switches, and/or end(cid:173)
`hosts. Among those nodes, routers or switches are called
`network nodes. End-hosts can serve as the source or desti(cid:173)
`nation of data transmitted through a network. In many 20
`packet networks, data is transmitted between a source and
`destination device as a flow of packets. Flows of packets can
`be categorized by a wide range of factors including, e.g., the
`type of protocol used to form and/or transmit the packet
`and/or the specific type of application to which the packet 25
`corresponds.
`As known in the art, it is connnon to monitor traffic flows
`and store flow statistics in a database, e.g., for purposes of
`load balancing and traffic route determination. Gathered
`traffic information for a node typically includes information 30
`such as packet flow rates and, for each flow, protocol type,
`application type, source IP address, source port number,
`destination IP address, destination port number, etc. Such
`detailed statistics along with information about the time
`periods in which such statistics are gathered can be used to 35
`group traffic flows into a wide number of classes depending
`on the intended purpose of grouping the traffic.
`Flooding Network DoS (N-DoS) attacks occur in a net(cid:173)
`work when one or more sources send large amounts of data
`to a destination node, e.g., web page server, in an attempt to
`interfere with the normal servicing of traffic at the destina(cid:173)
`tion node. Flows of traffic used to implement N-DoS attack
`can be considered malicious since their purpose is to inter(cid:173)
`fere with the connnunication and servicing of legitimate
`network traffic.
`Malicious flows associated with an flooding N-DoS attack
`often create congestion at certain nodes located prior to, i.e.,
`upstream from, the flaw's destination node. The nodes at
`which congestion occurs are sometimes referred to as bottle(cid:173)
`neck nodes.
`As a result of malicious sources flooding a bottleneck
`node with traffic, legitimate traffic passing through the
`bottleneck node may be subject to dropping of packets
`thereby preventing
`legitimate connnunications. Thus,
`N-DoS attacks negatively effect legitimate users, and/or
`even cause its victim's services (e.g. web sites) to crash due
`to excessive loading.
`One known technique for protecting against N-DoS
`attacks involves explicit signature capture and analysis. For
`example, those signatures can be connnunication port num(cid:173)
`bers, daemon names or commands, or contained in IP packet
`payload. Unfortunately these approaches can be ineffective
`and may result in negative consequences for legitimate
`users, because the signatures can change over time making
`a captured signature useless in identifying a malicious
`source during a subsequent attack.
`
`40
`
`The present invention is directed to congestion control
`methods and apparatus. Various methods and apparatus of
`the invention are well suited for defending against flooding
`network Denial-of-Service (N-DoS) attacks.
`An Anti-Flooding Flow-Control (AFFC) mechanism of
`the present invention monitors, analyzes, and regulates
`traffic flows at network nodes, e.g., routers, based on the
`flaw's behavior. In a node, the AFFC mechanism of the
`invention, utilizes a traffic baseline generating module, a
`dynamic buffer manager module, a packet scheduler mod(cid:173)
`ule, and optionally, an early traffic regulator (ETR) module.
`Each module may be implemented using software and/or
`hardware.
`In some embodiments traffic baselines are generated
`external to a node using traffic information for the particular
`node. The generated baselines are then supplied to the
`dynamic buffer manager and packet scheduler in the node.
`In such embodiments, the traffic baseline module may be
`implemented as a stand-alone device separate from packet
`forwarding nodes. This can reduce the processing burden
`placed on such nodes by the AFFC methods of the invention.
`While the AFFC mechanism can be implemented in a
`single node, for more effective network protection it can be
`implemented in multiple network nodes. AFFC modules,
`e.g., ETR modules, of different nodes may, and in various
`embodiments do, interact with one another to perform a
`multi-node approach to congestion control.
`The traffic baseline generating module receives and ana(cid:173)
`lyzes traffic statistics to generate baseline flow statistics,
`e.g., diurnal flow statistics, for individual periods of time,
`e.g., hours or minutes of a day in a week. The traffic
`50 baselines are generated for each node based on the traffic
`through the node over an extended period of time, e.g.,
`multiple weeks.
`As part of the flow control method, the current data flow
`rates are compared to the corresponding baseline flow rate
`55 for the same period of time and type of traffic. Flows are
`determined to be aggressive if they have an arrival rate that
`is higher than the baseline for flow of its type. In accordance
`with the present invention, under certain circumstances
`aggressive flows are targeted for forced data rate reductions.
`60 In addition to aggressive flows, unresponsive elastic flows
`may be blocked independently of traffic baselines.
`The dynamic buffer manager module 224 and packet
`scheduler module 226 are the mechanisms by which forced
`reductions in data flow rates are implemented at a node in
`65 response to the presence of congestion. In accordance with
`the invention the forced data flow reduction functionality of
`the buffer manager and packet scheduler normally remain
`
`45
`
`Cloudflare - Exhibit 1008, page 13
`
`

`

`US 7,295,516 Bl
`
`10
`
`4
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 illustrates a communications system incorporating
`nodes that implement the present invention.
`FIG. 2 illustrates an exemplary router implemented in
`accordance with the present invention that may be used as
`one of the routers shown in FIG. 1.
`FIG. 3 illustrates the steps of an exemplary traffic baseline
`generation routine of the invention.
`FIG. 4 illustrates an exemplary flow baseline table gen(cid:173)
`erated and used in accordance with an embodiment of the
`present invention.
`FIG. 5 illustrates the steps of an Anti-Flooding Flow(cid:173)
`Control (AFFC) method implemented in accordance with an
`exemplary embodiment of the present invention.
`FIG. 6 illustrates an exemplary set of internet traffic
`statistics measured right during a period of potential con(cid:173)
`gestion collapse at a bottleneck node.
`FIG. 7 illustrates an exemplary set of router throughput
`statistics resulting from the AFFC method of the invention
`being applied at a bottleneck node to the flows listed in FIG.
`6.
`
`FIG. 8 illustrates the dropping of packets from a queue in
`accordance with the invention.
`FIG. 9 illustrates an early traffic regulation method of the
`invention.
`FIGS. lOA and 10B illustrate early traffic regulation
`modules implemented in accordance with the invention.
`FIGS. 11 and 12 illustrate signaling between various
`nodes performed in accordance with the invention.
`
`DETAILED DESCRIPTION
`
`3
`inactive. However, when congestion is detected or a control
`message is received from another network node as part of
`the ETR method of the invention, the forced data flow
`reduction functionality in a node is activated. An ETR
`message triggering activation of the buffer manager and 5
`packet scheduler functionality may be received from, e.g., a
`downstream node confronting a potential collapse due to
`congestion.
`The dynamic buffer manager module 224 of the invention
`determines packet dropping rates to be applied to different
`data flows, e.g., those flows identified as being allowable but
`aggressive. The packet scheduler module 226 determines
`current packet forwarding rates, e.g., flow rates.
`During periods of congestion during which the forced 15
`data flow reduction is applied, incoming data flows are
`processed based on their traffic types, elastic traffic and best
`effort traffic. Elastic traffic, which is not responsive to
`congestion signaling, e.g., ECN (Explicit Congestion Noti(cid:173)
`fication) or packet dropping, is considered malicious and 20
`dropped.
`Elastic traffic that is responsive to congestion signals is
`considered allowable.
`For both elastic traffic and best-effort traffic, allowable 25
`traffic flows are determined to be aggressive if the flow rate
`of the allowable flow exceeds a corresponding baseline flow
`rate. Allowable non aggressive flows, e.g., flows having a
`flow rate equal to or lower than a corresponding baseline
`flow rate are forwarded without being subject to flow rate 30
`reduction. Allowable flows that are found to be aggressive,
`are subject to forced reductions in their flow rates during
`periods of congestion. The applied flow rate reduction may,
`e.g., reduce the flow rate of an aggressive flow, to or below
`the corresponding flow rate baseline.
`To support different packet drop rates for each allowable
`aggressive flow, packets from different allowable aggressive
`flows are stored in different packet forwarding queues. e.g.,
`one per allowable aggressive flow. In some embodiments,
`e.g., where sufficient memory is not available to support one 40
`queue per flow, a group of flows (e.g. from the same domain)
`may be processed per queue.
`The dynamic buffer manager module 224 of the invention
`determines packet dropping rates to be applied to different
`data flows, e.g., those flows identified as being allowable but
`aggressive. The packet scheduler module 226 determines
`current packet forwarding rates, e.g., flow rates. As men(cid:173)
`tioned above, the current flow rates are compared to the
`baseline flow rates and packets are dropped, e.g., when the
`current flow rate exceeds the baseline flow rate. Accord-
`ingly, incoming flows are subject to different reductions in
`their flow rates as a function of their normal baselines and
`their current arrival rates. In the case of malicious traffic
`flows, such forced data rate reductions may be interpreted as
`punishing of the malicious flows.
`ETR is a mechanism by which congestion control, and
`forced data rate reductions can be triggered in nodes
`upstream of a bottleneck node where the congestion occurs.
`ETR messages are used to activate flow reduction in the
`upstream nodes. Thus ETR offers protection for downstream
`nodes facing potential collapse due to congestion by reduc(cid:173)
`ing the flow of traffic directed to the node suffering from
`congestion.
`Numerous additional features and advantages of the 65
`invention are discussed in the detailed description which
`follows.
`
`50
`
`The present invention is directed to congestion control
`35 methods and apparatus. The methods and apparatus of the
`present invention are well suited for defending against
`network Denial-of-Service (N-DoS) attacks.
`FIG. 1 illustrates a communications system 100 imple(cid:173)
`mented in accordance with the present invention. The sys(cid:173)
`tem 100 comprises a plurality of sources 102, 104, 106, an
`internet 108 and a plurality of destination nodes 110, 112,
`114. The internet 108 may be a corporate internet or the
`world wide Internet. The internet 108 comprises a plurality
`ofnodes Rl through RlO 116, 118, 120, 122, 124, 126, 127,
`45 128, 130, 132 connected together as shown in FIG. 1 by the
`use of solid lines. Each of the nodes may be, e.g., a router
`or a switch. Arrows are used in FIG. 1 to indicate the flow
`of packets, e.g., between source devices Sl, S2, ... , SN,
`102, 104, 106 and destination device 112. While FIG. 1
`shows flows of packets to destination device D2 112 from
`sources Sl, S2, ... , SN, 102, 104, 106 the communications
`paths in the system 100 between the routers and devices are
`bi-directional allowing for responses, e.g., packets and mes(cid:173)
`sages, to be transmitted in the reverse direction as well. In
`55 the FIG. 1 embodiment source Sl 102 is coupled to the
`internet 108 by router Rl 116. In addition, source S2 is
`coupled to the internet 108 by router R4 122, while source
`SN 106 is coupled to the internet 108 by router RS 128.
`Router R7127 couples each of the three destination devices,
`60 Dl 110, D2 112, and D3 114, to the internet 108. As a result
`packets from any one of the sources 102, 104, 106 will pass
`through router R7 prior to reaching one of the destination
`devices 110, 112, 114.
`Since traffic directed to a destination device, e.g., device
`D2 112, will pass through the router R 7 127 regardless of the
`source of the traffic, router R7 127 represents a potential
`congestion point. For purposes of explaining the invention,
`
`Cloudflare - Exhibit 1008, page 14
`
`

`

`US 7,295,516 Bl
`
`5
`
`5
`router R7 127 will be referred to as a "bottleneck" node
`since it is the point in system 100 where traffic bottlenecks
`may occur when excessive amounts of traffic are directed to
`one of the destination devices Dl, D2, D3 110, 112, 114.
`Relative to the bottleneck node 127, system elements, e.g.,
`routers and sources located to the left of bottleneck node
`127, are upstream nodes. System elements, e.g., devices Dl,
`D2, D3 110, 112, 114 to the right of the bottleneck node 127,
`are downstream nodes since they follow bottleneck node
`127 in terms of the exemplary traffic flows shown in FIG. 1. 10
`A flooding N-DoS attack works by transmitting a large
`amount of traffic from one or more sources to a particular
`destination, e.g., a web page server, which is the target of the
`N-DoS attack. For purposes of explaining the invention,
`when discussing an exemplary N-DoS attack it will be
`assumed that destination device D2 112 is the target of the
`exemplary attack. The exemplary N-DoS attack will result in
`bottleneck node 127 being flooded with useless information,
`corresponding to malicious data flows associated with the
`N-DoS attack.
`FIG. 2 illustrates an exemplary router 200 implemented
`according to one embodiment of the present invention. The
`router 200 may be used as, any one of the routers shown in
`FIG. 1 including edge router 127 which serves for discussion
`purposes as the exemplary bottleneck node. Router 200
`comprises of a CPU 202, a packet forwarding engine 204, an
`I/O interface 208 and a memory 210. These elements are
`coupled together by bus 206.
`The CPU 202 controls operation of the router 200 under
`direction of various routines stored in memory 210. The 30
`packet forwarding engine 204 is responsible for controlling
`the forwarding of packets under direction of various routines
`executed by the CPU 202. As part of the forwarding process
`packet forwarding engine 204 may store received packets
`corresponding to different flows and/or classes in different 35
`queues. In accordance with the congestion control mecha(cid:173)
`nisms of the present invention some received packets may
`be dropped by the packet forwarding engine, e.g., when the
`router 200 is incapable of forwarding packets at the rate at
`which they are received. The I/O interface 208 couples the 40
`router to other routers and/or host devices, e.g., source
`and/or destination devices. Thus, via I/O interface 208 the
`router 200 receives and transmits packets.
`Memory 210 includes a traffic monitoring routine 216,
`traffic classifier 218, forwarding and flow control routine 45
`220, traffic baseline generating module 222, dynamic buffer
`manage module 224, packet schedule module 226, early
`traffic regulator (ETR) module 228, traffic statistics 230,
`traffic baselines 232, a Recycling table 214, and a plurality
`of class based packet queues 234. The traffic statistics 230 50
`include current traffic statistics 231 and long term, e.g.,
`weekly traffic statistics 233. The various modules 222, 224,
`226, 228 may be implemented as, e.g., software routines.
`Alternatively, the modules could be implemented in hard(cid:173)
`ware, e.g., in the router 200, to enhance processing speed. 55
`The traffic monitoring routine 216 monitors to detect
`when the rate at which packets are received exceeds the
`maximum forwarding packet rate of the router 200 for a
`period of time corresponding to the buffering capacity of the
`router 200. This condition corresponds to saturation at the 60
`router 200 necessitating the dropping of some received
`packets. The traffic monitoring routine 216 notifies the
`forwarding and flow control routine 220 when saturation
`occurs and the length of the period of saturation.
`The traffic classifier 218 is used to classify packets into 65
`different classes and/or flows of traffic based on such factors
`as source address, destination address, protocol type, and
`
`6
`application type. The application type is determined from
`the port number or message type information included in a
`packet. The level, e.g., resolution, of traffic classification
`applied by the classifier 218 may depend on the application
`for which the classifier is being used. The traffic classifier
`can be called by the traffic baseline generating module 222
`and/or the forwarding and flow control routine 220 during
`normal operation.
`Forwarding and flow control routine 220 is responsible
`for controlling the forwarding and flow control of packets in
`accordance with the present invention. The forwarding and
`flow control routine 220 is responsible for activating the
`dynamic buffer manager module 224, packet scheduler
`15 module 226 and early traffic regulator module 228 used to
`implemented forced reductions in flow data rates in accor(cid:173)
`dance with the present invention when the router 200 is
`saturated by packet traffic, e.g., for a preselected period of
`time. By limiting implementation of all or some of the flow
`20 reduction features of the present invention until saturation of
`a node has occurred for a period of time, application of the
`anti-flooding flow reduction techniques can be limited to
`cases where flooding is likely to be occurring or to cases
`where a traffic collapse at the node is likely to occur if steps
`25 are not taken to avoid the collapse. In addition, false alarms
`of which can be induced by occasional short-term traffic
`spikes can be reduced or eliminated.
`Traffic baseline generating module 222 operates in par(cid:173)
`allel with the forwarding and flow control routine 220 to
`generate traffic baselines for various traffic flows at prese(cid:173)
`lected intervals. As will be discussed below, the traffic
`baselines 232 are generated from the traffic statistics 230
`which are produced over an extend period of time, e.g., days
`or weeks. Traffic baselines 232 are stored in memory for use
`in forced traffic flow reduction operations implemented in
`the router 200 in accordance with the invention.
`The dynamic buffer manager module 224 and packet
`scheduler module 226 implement in accordance with the
`invention are responsible for performing forced reductions
`in the rate of packet flows through the router 200. The
`amount of the flow reduction applied to individual flows or
`flow groups is determined as a function of the traffic
`baselines 232.
`Early traffic regulator module 228 is used to send early
`traffic regulation (ETR) signals, e.g., messages, to upstream
`nodes to trigger the congestion control and forced packet
`flow reductions techniques of the present invention to be
`implemented in the upstream node. In the case of a node
`receiving an ETR message, the ETR module 228 is respon(cid:173)
`sible for responding to the ETR message by implementing
`forced packet flow rate reductions. In some embodiments
`the forced packet flow rate reductions in response to an ETR
`message are on flows directed to the node which was the
`source of the ETR message while in other embodiments, the
`forced packet flow rate reductions are limited to flows
`destined for target IP address( es) identified in the received
`ETR message.
`An exemplary traffic baseline generating routine 300,
`which can be used as the traffic base line generating module
`222, is shown in FIG. 3.
`Traffic baseline generation involves removing spikes in a
`time window corresponding to a daily period of time and
`removing short-term abnormal traffic patterns which may be
`encountered over a period of weeks. Furthermore, depend(cid:173)
`ing on the implementation, traffic classification for baseline
`generation purposes need not be limited to simply protocol
`
`Cloudflare - Exhibit 1008, page 15
`
`

`

`US 7,295,516 Bl
`
`5
`
`7
`types and IP addresses but may also be based on the
`application type and/or port numbers associated with pack(cid:173)
`ets.
`The routine 300 starts in step 301 wherein the routine is
`executed by the CPU 202. Then in step 302, packets 325 for
`a current time period li.T are received. The time period li.T
`may be fixed or any desired length depending on the
`environment and specific traffic patterns and/or day and time
`of week for which the flow rate baseline is being generated.
`The packets 325 correspond
`to multiple destination 10
`addresses and sources. Accordingly, many flows of traffic
`are represented in the received packet stream 325. Each
`packet
`includes source
`IP addresses, destination IP
`addresses, protocol type information, port number and/or
`message type information. As discussed above, port number 15
`and/or message type information can be used to identify an
`application to which the packet corresponds. li.T in the
`exemplary embodiment is a time segment, e.g., 30 minute
`time segment, from a 24 hour time period. ti. T can be either
`constant through the day, e.g., 30 minutes, or vary at 20
`different time of the day, e.g., 120 minutes from 2 A.M. to
`4 A.M. vs. 30 minutes for other busier times of the day.
`Holidays may be treated as special cases for purposes of data
`collection and baseline generation if desired, e.g., due to
`very different traffic patterns on those days.
`In step 303, each packet is classified based on destination
`address, protocol type and application type. The resulting
`sets of data correspond to individual classes of traffic.
`Some exemplary protocol types are TCP and UDP, while
`some exemplary applications that use TCP are web traffic 30
`and FTP traffic. An exemplary application that uses UDP is
`Echo traffic. Accordingly, the first exemplary traffic class
`might include TCP packets for a

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