throbber

`
`
`
`
`
`
`
`United States Patent
`(12)
`US 7,313,100 B1
`(10) Patent No.:
`
`
`
`
`
`
`
`
`Turneret al.
`(45) Date of Patent:
`Dec. 25, 2007
`
`
`
`
`US007313100B1
`
`
`
`
`
`
`
`
`
`
`Jr.
`6,182,146 Bl
`1/2001 Graham-Cumming,
`
`
`
`
`
`
`
`6,321,338 B1L*
`11/2001 Porras et al. oe. 726/25
`
`
`
`
`
`(54) NETWORK DEVICE HAVING ACCOUNTING
`
`
`SERVICE CARD
`
`
`
`
`(75)
`
`nventors:
`
`I
`
`
`
`
`
`
`Park,
`Menlo
`Stephen
`urner,
`Menlo Park, CA
`Stephen W Ti
`
`
`
`
`(US); Hsien-Chung Woo, Fremont, CA
`
`
`
`
`
`(US); Sanjay Kalra, San Jose, CA
`
`
`
`
`
`(US); Truman Joe, Mountain View, CA
`
`
`
`
`
`(US); Wendy R Cartee, Los Altos, CA
`(US)
`
`
`
`
`
`ssignee:
`(73) Assig
`
`
`
`
`
`Juniper Networks,
`Juniper N
`ks,
`
`
`CA (US)
`
`
`I
`
`Inc.,
`
`
`
`
`Sunnyvale,
`Sunnyval
`
`
`
`
`(*) Notice:
`
`
`
`
`
`
`
`
`
`Subject to any disclaimer, the term of this
`
`
`
`
`patent is extended or adjusted under 35
`
`
`
`
`U.S.C. 154(b) by 1034 days.
`
`
`
`
`(21) Appl. No.: 10/228,150
`
`
`
`
`Filed:
`Aug. 26, 2002
`(22)
`
`
`
`
`Int. Cl.
`
`HOAL 12/26
`
`
`
`(51)
`
`
`
`(2006.01)
`
`
`
`
`
`(Continued)
`
`
`FOREIGN PATENT DOCUMENTS
`
`
`
`WO 9836532 Al *
`8/1998
`WO 2084920 A2 * 10/2002
`
`
`
`
`
`
`
`wo
`WO
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`
`
`
`
`Weaver, A.C. et al., “A Real-Time Monitor for Token Ring Net-
`
`
`
`
`
`works,” Military Communications Conference, 1989. MILCOM
`
`
`
`
`
`
`°89. Oct. 1989. vol. 3. pp. 794-798."
`
`
`
`
`
`
`(Continued)
`
`
`
`
`Primary Examiner—Chi Pham
`Assistant Examiner—Donald L Mills
`
`
`
`
`
`
`
`
`
`(74) Attorney, Agent, or Firm—Shumaker & Sieffert P.A.
`
`
`
`(57)
`
`ABSTRACT
`
`
`
`
`
`
`
`
`
`(52) U.S. Ch wees 370/253; 370/244; 370/252;
`370/392
`
`
`
`
`.
`.
`.
`
`
`
`
`
`(58) Field of Classification Search ................ 370/235,
`
`
`
`
`370/242—244, 250, 252, 253, 389, 392, 396,
`
`
`
`
`. 370/469, 471, 709/223, 224, 229
`
`
`
`
`
`
`
`See application file for complete search history.
`
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`
`
`
`
`(56)
`
`
`
`
`
`
`
`
`
`
`
`6/1976 Requaetal.
`3,962,681 A
`
`
`
`
`6/1977 Jennyet al.
`4,032,899 A
`
`
`
`
`7/1986 Everett, Jr.
`4,600,319 A
`
`
`
`
`4/1995 Finlay et al.
`5,408,539 A
`
`
`
`
`
`2/1996 Macera et al... 709/249
`5,490,252 A *
`
`
`
`
`
`4/1996 Dobbinsetal.
`5,509,123 A
`
`
`
`
`5,568,471 A * 10/1996 Hershey et al.
`
`
`
`6,011,795 A
`1/2000 Vargheseet al.
`
`
`
`
`6,018,765 A
`1/2000 Duranaet al.
`
`
`
`
`
`6,148,335 A *
`11/2000 Haggard et al... 709/224
`
`
`........00.. 370/245
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`A network device integrates accounting functionality for
`
`
`
`
`
`
`
`generation of flow statistics with packet intercept function-
`
`
`
`
`
`
`
`ality to provide a comprehensivetraffic analysis environ-
`
`
`
`
`
`
`
`ment. The device comprises a set of network interface cards
`
`
`
`
`
`
`
`
`to receive packets from a network, and a set of accounting
`
`
`
`
`
`
`
`
`
`service cards to calculate flow statistics for the packets. The
`
`
`
`
`
`
`
`
`device further comprises a control unit to receive the net-
`
`
`
`
`
`
`
`
`
`work packets from the interface cards and distribute the
`
`
`
`
`
`
`
`
`packets to the set of accounting service cards. The account-
`
`
`
`
`
`
`
`
`ing service card comprises an interface for insertion within
`
`
`
`
`
`
`
`
`a slot of a network device. Accounting service cards may be
`
`
`
`
`
`
`
`
`added to easily scale the network device to support higher
`
`
`
`
`
`
`
`bandwidth communication links, such as OC-3, OC-12,
`
`
`
`
`
`
`
`
`OC048 and higher rate links. Additional accounting service
`
`
`
`
`
`
`
`cards may be used for purposes of redundancy to support
`
`
`
`
`
`
`continuous, uninterrupted packet processing and accounting
`in the event of a card failure.
`
`
`
`
`
`
`
`
`
`24 Claims, 9 Drawing Sheets
`
`
`
`PACKET PACKET
`STREAM STREAM
`
`
`A
`B
`
`
`
`
`
`
`
`
`
`ACCOUNTING
`sc
`
`cd
`
`
`
`
`
`
`
`
`
`
`
`TUNNEL
`
`sc40
`
`
`coy
`
`
`
`K—
`
`6
`
`FLOW
`RECORDS
`
`
`SAMPLED
`TRAFFIC
`
`
`
`
`Splunk Inc.
`
`Exhibit 1023
`
`Page 1
`
`VB
`ew
`CONTROL
`82“,
`UNIT
`
`
`ca|ENCRYPTION
`3
`sc
`
`8,
`3B
`
`
`Splunk Inc. Exhibit 1023 Page 1
`
`

`

`
`
`US 7,313,100 B1
`
`Page 2
`
`OTHER PUBLICATIONS
`
`
`
`
`
`
`
`
`
`Dini, P. et al., “Performance Evaluation for Distributed System
`
`Bl
`5/2002
`
`
`
`
`6,392,996
`Hjalmtysson
`
`
`
`
`
`Components,” Proceedings of IEEE Second International Workshop
`Bl
`Wexleretal.
`12/2002
`
`
`
`
`
`
`6,499,088
`
`
`
`
`
`
`
`on Systems Management. Jun. 1996. pp. 20-29.*
`Saito Leeeeeeececcccenrenneee 370/252
`5/2003
`B1*
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`6,563,796
`Integrated Services Adapter, 2000, Cisco Systems, Data Sheet, pp.
`
`
`Uzun
`7/2003
`Bl
`http://www.cisco.com/warp/public/cc/pd/ifaa/svaa/iasvaa/
`1-6,
`
`
`
`
`6,590,898
`
`
`prodlit/ism2__ds.pdf.
`Aukiaetal.
`Bl
`7/2003
`
`
`
`
`6,594,268
`
`
`
`
`
`“The CAIDA WebSite,” www.caida.org/, 2000.
`7/2003
`Bl
`Kloth
`
`
`
`
`6,598,034
`
`
`
`
`“About Endace,” www.endace.com/, 2000.
`5/2004
`Bl
`
`
`
`
`
`
`
`
`
`6,735,201
`Mahajan etal.
`“Cisco IOS NetFlow,” www.cisco.com/warp/public/732/Tech/nmp/
`
`
`Farrell et al.
`6/2004
`Bl
`netflow/index.shtml, 2002.
`
`
`
`
`
`
`6,751,663
`
`
`
`
`
`
`
`
`U.S. Appl. No. 10/188,567, entitled “Adaptive Network Flow
`11/2004
`Bl
`
`
`
`
`
`
`6,826,713
`Beesley et al.
`
`
`
`
`
`
`
`Analysis”, filed Jul. 2, 2002, Scott Mackie.
`
`B2*—1/2006 Jones et al. wee 707/202
`
`
`
`
`
`
`
`6,983,294
`
`
`
`
`
`
`
`
`U.S. Appl. No. 10/228,132, entitled “Adaptive Network Router’,
`
`B2*—1/2006 Luke et al. we. 709/229
`
`
`
`
`
`
`
`
`
`
`
`
`
`6,985,956
`filed Aug. 26, 2002, Wooetal.
`
`
`
`
`
`
`
`
`
`
`B2
`9/2006
`
`
`U.S. Appl. No. 10/228,114, entitled “Network Router Having Inte-
`
`
`
`
`7,114,008
`Jungck etal.
`
`
`
`
`
`
`
`
`
`grated Flow Accounting and Packet Interception”, filed Aug. 26,
`
`10/2002
`2002/014 1343
`Al
`
`
`
`
`Bays
`
`
`
`2002, Wooetal.
`1/2003
`Bullard
`2003/0005 145
`Al
`
`
`
`
`
`
`
`
`
`
`
`U.S. Appl. No. 10/241,785, entitled “Rate-Controlled Transmission
`
`
`
`
`
`
`
`
`
`
`6/2003
`McCollom etal.
`2003/0120769
`Al
`
`
`
`
`
`of Traffic Flow Information”, filed Sep. 10, 2002, Sandeep Jain.
`11/2003
`Kan et al.
`2003/02 14913
`Al
`
`
`
`
`
`
`
`
`
`* cited by examiner
`
`U.S. PATENT DOCUMENTS
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Splunk Inc.
`
`Exhibit 1023
`
`Page 2
`
`Splunk Inc. Exhibit 1023 Page 2
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Dec. 25, 2007
`
`
`
`
`
`Sheet 1 of 9
`
`
`
`US 7,313,100 B1
`
`
`
`
`
`
`NETWORK
`
`
`MONITOR
`
`
`
`REAL-TIME
`
`
`
`ACCOUNTING
`
`
`PACKET
`
`
`SERVER
`
`
`ANALYZER
`
`
`10
`
`
`
`
`12
`
`
`
`
`
`
`
`
`
`
`
`Splunk Inc.
`
`Exhibit1023
`
`Page 3
`
`Splunk Inc. Exhibit 1023 Page 3
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Dec. 25, 2007
`
`
`
`
`Sheet 2 of 9
`
`
`
`US 7,313,100 B1
`
`YOLINOWMYOMLAN
`
`yal
`
`OE
`
`ONILNNODOV
`
`
`
`Sa1NdOW
`
`
`
`ci
`
`
`
`OULNOD
`
`
`
`
`
`
`
`éOld
`
`\
`
`/
`
`
`
`
`
`
`
`
`
`\9J>~~
`
`—_WYOMLEN_—
`
`
`
`\voc|\yaLnow||/
`
`“
`
`“
`
`~
`
`Splunk Inc.
`
`Exhibit 1023
`
`Page 4
`
`Splunk Inc. Exhibit 1023 Page 4
`
`
`
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Dec. 25, 2007
`
`
`
`
`Sheet 3 of 9
`
`
`
`US 7,313,100 B1
`
`
`
`
`NETWORK MONITOR
`
`
`
`4
`
`
`Lf
`
`
`21A~
`
`
`21B
`
`
`
`IFC
`
`34
`
`fh
`
`
`
`14
`
`
`
`16
`
`
`
`40
`
`
`ft
`RECOUNTING Se
`
`
`
`
`
`CONTROL UNIT
`
`42
`
`
`
`
`
`ACCOUNTING
`
`Sc
`
`36
`ENCRYPTION
`
`
`
`38
`
`
`
`TUNNNEL SC
`
`
`
`
`
`FIG. 3
`
`Splunk Inc.
`
`Exhibit1023
`
` Page5
`
`Splunk Inc. Exhibit 1023 Page 5
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Dec. 25, 2007
`
`
`
`
`Sheet 4 of 9
`
`
`
`US 7,313,100 B1
`
`
`
`PACKET PACKET
`
`
`STREAM STREAM
`
`
`A
`
`
`
`
`
`ACCOUNTING
`Sc
`
`36
`
`
`A
`<——
`“.e
`
`50
`
`;
`arn
`‘ae
`
`
`
`TUNNEL
`St:
`
`40
`
`~
`
`
`
`= a
`
`CONTROL
`52
`UNIT
`
`42. ——
`
`<a ENCRYPTION
`
`8 38
`
`\62
`
`
`
`B -
`
`
`FLOW
`RECORDS
`
`
`
`
`SAMPLED
`
`TRAFFIC
`
`
`FIG. 4
`
`Splunk Inc.
`
`Exhibit1023
`
` Page6é
`
`Splunk Inc. Exhibit 1023 Page 6
`
`

`

`CARD
`
`
`
`
`
`
`
`
`
`
`
`ACCOUNTING
`
`
`UNIT
`INTERFACE
`
`
`70
`i2
`
`
`68
`
`
`U.S. Patent
`
`
`
`
`
`Dec. 25, 2007
`
`
`
`
`Sheet 5 of 9
`
`
`
`US 7,313,100 B1
`
`
`
`
`
`
`
` ACCOUNTING SERVICE
`
`
`
`
`66
`
`
`
`
`
`
`
`
`
`
`FIG. 5
`
`Splunk Inc.
`
`Exhibit1023
`
`Page 7
`
`Splunk Inc. Exhibit 1023 Page 7
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Dec. 25, 2007
`
`
`
`
`Sheet 6 of 9
`
`
`
`US 7,313,100 B1
`
`
`
`08
`
`
`
`LINNTOYLNOD
`
`
`
`aYdalnod
`
`9‘SIs
`
`
`
`
`
`NOILVIWHOANINOILWAMOINI
`
`
`
`
`
`ONILNOYONIGUYMYOS
`
`YaL1d—8os636ONLLNNODOV
`
`—9S66NOLLdAMONA
`
`ANIONONILNOY
`
`ONIGUYMYOS
`
`28
`
`OallcOh
`
`¥6
`
`6ANISNA
`
`
`
`ONILNNODDV
`
`
`
`os
`
`98
`
`
`
`OSTANNNNL
`
`88
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Splunk Inc.
`
`Exhibit 1023
`
`Page 8
`
`Splunk Inc. Exhibit 1023 Page 8
`
`
`
`
`
`
`

`

`
`U.S. Patent
`
`
`
`
`
`Dec. 25, 2007
`
`
`
`
`Sheet 7 of 9
`
`
`
`US 7,313,100 B1
`
`
` ACCOUNTING SERVICE
`
`
`
`
`
`
`
`
`112
`
`
`
`
`
`
`
`CARD
` 114
`
`
`
`ACCOUNTING
`
`UNIT
`
`
`111
`
`
`
`
`
`
`
`
`FIG. 7
`
`Splunk Inc.
`
`Exhibit1023
`
` Page9
`
`Splunk Inc. Exhibit 1023 Page 9
`
`

`

`DUPLICATE PACKET STREAMS
`SAMPLED PACKET FLOWS
`ANALYZE PACKET FLOWS
`
`
`
`
`YES
`
`
`
`
`
`
`
`
`DISTRIBUTE PACKETS OF FIRST
`
`
`
`
`STREAM TO ACCOUNTING
`
`
`
`CARDS FOR CALCULATION OF
`
`
`FLOW RECORDS
`
`
`i 124
`
`
`
`
`RECEIVE FLOW RECORDS AND
`
`
`
`ORIGINAL PACKETS FROM
`
`
`
`
`
`
`
`
`
`
`
`ACCOUNTING CARDS
`INFORMATION
`ANALYZE FLOW RECORDS
`
`126
`
`
`FORWARD PACKETS
`
`ACCORDING TO FORWARDING
`
`
`
`
`
`
`128
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`
`
`
`
`Dec. 25, 2007
`
`
`
`
`Sheet 8 of 9
`
`
`
`US 7,313,100 B1
`
`ir 120
`
`
`
`
`RECEIVE NETWORK PACKETS AND
`
`
`
`
`GENERATEFIRST AND SECOND
`
`
`
`
`
`
`
`
`
`
`
`FILTER SECOND PACKET
`
`
`STREAM TO PRODUCE
`
`
`
`
`
`136
`
`
`
`
`
`
`
`
`
`138
`
`
`
`NO
`
`
`
`
`NETWORK
`
`
`CONDITION?
`
`
`440
`
`INFORMATION
`NEIGHBORING ROUTERS
`
`
`UPDATE FORWARDING
`
`
`
`
`142
`
`
`
`
`
`
`
`FORWARD NETWORKATTACK
`
`INFORMATION TO
`
`
`
`
`
`
`
`FIG. 8
`
`Splunk Inc.
`
`Exhibit1023
`
`Page 10
`
`
`
`
`
`130
`
`
`SUSPICIOUS
`
`FLOWS?
`
`
`
`
`
`
`
`
`SUSPICIOUS FLOWS
`
`
`
`
`UPDATEFILTER TO INCLUDE
`
`
`
`
`
`
`
`
`
`
`Splunk Inc. Exhibit 1023 Page 10
`
`

`

`
`U.S. Patent
`
`
`
`Dec. 25, 2007
`
`
`
`
`
`Sheet 9 of 9
`
`
`
`
`
`
`
`
`
`
`US 7,313,100 B1
`
`
`FIG. 9
`
`Splunk Inc.
`
`Exhibit1023
`
`Page 11
`
`Splunk Inc. Exhibit 1023 Page 11
`
`

`

`
`
`US 7,313,100 B1
`
`
`1
`NETWORK DEVICE HAVING ACCOUNTING
`
`
`
`SERVICE CARD
`
`
`
`
`
`TECHNICAL FIELD
`
`
`
`
`
`
`
`
`
`
`
`The invention relates to computer networks and, more
`
`
`
`
`
`
`
`particularly, to techniques for analyzing traffic flow within
`
`
`computer networks.
`
`
`
`
`BACKGROUND
`
`
`
`20
`
`30
`
`35
`
`
`
`
`
`
`
`A computer network is a collection of interconnected
`
`
`
`
`
`
`
`
`computing devices that can exchange data and share
`
`
`
`
`
`
`
`resources. In a packet-based network, such as the Internet,
`
`
`
`
`
`
`
`the computing devices communicate data by dividing the
`
`
`
`
`
`
`
`
`
`data into small blocks called packets, which are individually
`routed across the network from a source device to a desti-
`
`
`
`
`
`
`
`
`nation device. The destination device extracts the data from
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the packets and assembles the data into its original form.
`
`
`
`
`
`
`
`
`
`Dividing the data into packets enables the source device to
`
`
`
`
`
`
`
`
`
`resend only those individual packets that may be lost during
`transmission.
`
`
`
`
`
`
`
`The packets are communicated according to a communi-
`
`
`
`
`
`
`
`
`
`25
`cation protocol
`that defines the format of the packet. A
`
`
`
`
`
`
`
`typical packet, for example,
`includes a header carrying
`
`
`
`
`
`
`
`source and destination information, as well as a payload that
`carries the actual data. The de facto standard for communi-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`cation in conventional packet-based networks, including the
`
`
`
`
`
`Internet, is the Internet Protocol (IP).
`
`
`
`
`
`
`
`
`A system administrator or other user often makes use of
`
`
`
`
`
`
`
`
`a network analyzer to monitor network traffic and debug
`
`
`
`
`
`
`network problems. In general, a network analyzer is a tool
`
`
`
`
`
`
`
`
`
`
`that captures data from a network and presents the data to the
`
`
`
`
`
`
`
`
`user. The network analyzer typically allows the user to
`
`
`
`
`
`
`
`
`
`browse the captured data, and view summary and detail
`
`
`
`
`
`
`
`
`
`information for each packet. Accordingly, the user can view
`
`
`
`
`
`
`
`
`the networktrafic flowing between devices on the network.
`
`
`
`
`
`
`
`
`The information collected during traffic flow analysis may
`
`
`
`
`
`
`
`
`be used for network planning, traffic engineering, network
`
`
`
`
`
`
`
`
`monitoring, usage-based billing and the like. Many conven-
`
`
`
`
`
`
`
`tional network analyzers, such as NetFlow, NeTraMet and
`
`
`
`
`
`
`
`FlowScan, use software applications to collect traffic flow
`information.
`
`
`
`
`
`
`
`
`
`The analyzers typically monitor and collect packets hav-
`
`
`
`
`
`
`
`ing routing information that matchescriteria specified by the
`
`
`
`
`
`
`
`system administrator. The system administrator may specify,
`
`
`
`
`
`
`
`
`for example, source and destination Internet Protocol (IP)
`
`
`
`
`
`
`
`addresses, source and destination port numbers, protocol
`
`
`
`
`
`
`
`
`type, type of service (ToS) and input interface information.
`
`
`
`
`
`
`
`
`The analyzers typically collect packets matching the speci-
`
`
`
`
`
`
`
`
`fied criteria, and construct flow analysis diagrams. Conven-
`
`
`
`
`
`
`
`
`tional network analyzers often make use of sampling tech-
`
`
`
`
`
`
`
`
`niques to selectively sample the packets, and present a
`
`
`
`
`
`
`
`statistically generated view ofthetraflic within the network.
`
`
`
`
`
`
`
`Consequently, the statistics generated by the network ana-
`
`
`
`
`
`
`
`
`lyzer may not only be limited to specified flows, but may be
`
`
`relatively inaccurate.
`
`40
`
`45
`
`50
`
`55
`
`
`2
`
`
`
`
`
`
`
`
`In one embodiment, an apparatus comprises a set of
`
`
`
`
`
`
`
`
`interface cards to receive packets from a network, and a set
`
`
`
`
`
`
`
`
`
`of accounting service cards to calculate flow statistics for the
`
`
`
`
`
`
`
`packets. The apparatus further comprises a control unit to
`
`
`
`
`
`
`
`
`
`receive the packets from the interface cards and distribute
`
`
`
`
`
`
`
`the packets to the set of accounting service cards.
`
`
`
`
`
`
`
`In one embodiment, an accounting service card comprises
`
`
`
`
`
`
`
`
`an interface for insertion within a slot of a network device,
`
`
`
`
`
`
`
`
`and an accounting unit to receive packets from the network
`
`
`
`
`
`
`
`
`
`device via the interface. The accounting unit calculates flow
`
`
`
`
`
`statistics based on the network packets.
`
`
`
`
`
`
`In another embodiment, a method comprises receiving
`
`
`
`
`
`
`
`packets from a network via an interface card of a network
`
`
`
`
`
`
`
`
`device, and distributing the packets to a set of accounting
`service cards of the network device. The method further
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`comprises calculating with the accounting service cards flow
`
`
`
`
`statistics for the packets.
`
`
`
`
`
`
`
`In another embodiment, a method for computing flow
`
`
`
`
`
`
`
`
`statistics within an accounting service card of a network
`
`
`
`
`
`
`
`device comprises receiving packets from a control unit of a
`
`
`
`
`
`
`
`
`network router via an interface, and calculating flow statis-
`
`
`
`
`
`
`
`
`
`tics for the packets. The method further comprises output-
`
`
`
`
`
`
`
`
`
`ting a packet stream carrying the flow statistics and the
`
`
`
`
`
`
`
`
`received packets to the control unit for routing in accordance
`
`
`
`
`
`
`with routing information for the network.
`
`
`
`
`
`
`
`
`The techniques may provide one or more advantages. For
`
`
`
`
`
`
`
`example, according to the principles of the invention, mul-
`
`
`
`
`
`
`
`
`tiple accounting service cards may be addedto easily scale
`
`
`
`
`
`
`
`the network monitor to support monitoring and accounting
`
`
`
`
`
`
`
`for higher bandwidth communication links. Depending upon
`
`
`
`
`
`
`
`
`processing power, two accounting service cards may be used
`
`
`
`
`
`
`
`to provide accounting for a single OC-3 communication
`
`
`
`
`
`
`
`
`
`link, while four cards and sixteen cards may be used to
`
`
`
`
`
`
`
`monitor OC-12 and OC-48 links, respectively. As another
`
`
`
`
`
`
`
`example, eight accounting service cards may be used to
`
`
`
`
`
`
`
`monitor four OC-3 links. Additional accounting service
`
`
`
`
`
`
`
`cards may be used for purposes of redundancy to support
`
`
`
`
`
`
`continuous, uninterrupted packet processing and accounting
`in the event of card failure.
`
`
`
`
`
`
`
`
`
`
`
`
`intercept
`Consequently,
`the flow analysis and packet
`
`
`
`
`
`
`
`features may be readily integrated within a router for a
`
`
`
`
`
`
`
`
`packet-based network. The router may, for example, operate
`
`
`
`
`
`
`
`
`
`as a core router within the Internet to route packets received
`
`
`
`
`
`
`
`
`from high data rate communication links, such as OC-3,
`
`
`
`
`
`
`
`
`OC-12, OC-48, and greater communication links. The router
`
`
`
`
`
`
`
`may integrate accounting functionality to generate flow
`
`
`
`
`
`
`
`records for routed packets, as well as intercept features to
`
`
`
`
`
`
`
`
`
`capture packets for select packet flows. In this manner, the
`
`
`
`
`
`
`
`
`router can adjust routing functions based on the generated
`
`
`
`
`
`
`
`flow records and intercepted packets, thereby dynamically
`
`
`
`
`
`
`
`reacting to network events, such as Denial of Service (DOS)
`
`
`
`
`
`
`attacks and other network security violations.
`The details of one or more embodiments of the invention
`
`
`
`
`
`
`
`
`
`
`
`
`are set forth in the accompanying drawings and the descrip-
`
`
`
`
`
`
`
`tion below. Other features, objects, and advantages of the
`
`
`
`
`
`
`
`invention will be apparent from the description and draw-
`
`
`
`
`
`ings, and from the claims.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`SUMMARY
`
`
`
`60
`
`
`
`
`
`
`
`
`
`
`In general, the invention is directed to techniques for
`
`
`
`
`
`
`
`monitoring and analyzing traffic flows within a network. A
`
`
`
`
`
`
`
`network monitor, in accordance with the principles of the
`65
`
`
`
`
`
`
`invention, integrates accounting functionality for generation
`
`
`
`
`
`
`
`
`of flow statistics with packet intercept funtionality to pro-
`
`
`
`
`
`vide a comprehensive traffic analysis environment.
`
`
`
`BRIEF DESCRIPTION OF DRAWINGS
`
`
`
`
`
`
`
`
`
`
`
`FIG.1 illustrates an exemplary system in which a network
`
`
`
`
`
`
`monitor integrates accounting functionality for generation of
`
`
`
`
`
`
`
`
`flow records along with packet intercept functionality to
`
`
`
`
`
`provide a comprehensive traffic analysis environment
`in
`
`
`
`
`
`
`accordance with the principles of the invention.
`SplunkInc.
`Exhibit 1023
`
`Page 12
`
`Splunk Inc. Exhibit 1023 Page 12
`
`

`

`
`3
`
`
`
`
`
`
`FIG.2 is a block diagram illustrating an example embodi-
`
`
`
`
`
`
`
`ment of a network monitor consistent with the principles of
`the invention.
`
`
`
`
`
`
`
`
`FIG.3 is a block diagram illustrating another exemplary
`embodiment of a network monitor in further detail.
`
`
`
`
`
`
`
`
`
`
`
`
`FIG.4 is a block diagram illustrating the flow of packets
`
`
`
`
`
`
`through the various components of a network monitor in
`
`
`
`
`
`
`accordance with the principles of the invention.
`
`
`
`
`
`
`FIG.5 is a block diagram illustrating an example embodi-
`
`
`
`
`
`
`
`ment of an accounting service card in accordance with the
`
`
`
`principles of the invention.
`
`
`
`
`
`
`FIG.6 is a block diagram illustrating an example embodi-
`
`
`
`
`
`
`
`ment of a router that incorporates accounting and intercept
`
`functionality.
`
`
`
`
`
`FIG.7 is a block diagram illustrating another embodiment
`
`
`
`
`of an accounting service card.
`
`
`
`
`
`
`FIG.8 is a flowchart illustrating operation of router that
`
`
`
`
`
`
`
`
`integrates traffic analysis and intercept features with routing
`
`
`
`
`
`
`functionality to dynamically react to network events, such as
`
`
`
`
`
`
`
`
`Denial of Service (DOS) attacks and other network security
`violations.
`
`
`
`
`
`
`FIG. 9 is a schematic diagram illustrating an exemplary
`
`
`
`
`
`
`
`embodimentof a network router that integrates traffic analy-
`
`
`
`
`
`
`
`sis and intercept features with routing functionality.
`
`
`
`DETAILED DESCRIPTION
`
`
`
`
`
`
`
`
`
`
`FIG. 1 illustrates an exemplary system 2 in which a
`
`
`
`
`
`
`network monitor 4 integrates accounting functionality for
`
`
`
`
`
`
`
`generation of flow records with packet intercept function-
`
`
`
`
`
`
`
`ality to provide a comprehensive traffic analysis environ-
`
`
`
`
`
`
`
`
`ment in accordance with the principles of the invention.
`
`
`
`
`
`
`Network monitor 4 is coupled to network 6 for monitoring
`
`
`
`
`
`
`networktraffic. Network 6 may be formed by an intercon-
`
`
`
`
`
`
`nected group of autonomous systems, each representing an
`
`
`
`
`
`
`independent administrative domain having a variety of net-
`
`
`
`
`
`worked resources capable of packet-based communication.
`
`
`
`
`
`
`
`For example, network 6 may include servers, workstations,
`
`
`
`
`
`
`
`
`network printers and fax machines, gateways, routers, and
`
`
`
`
`
`
`
`
`the like. Each autonomous system within network 6 typi-
`
`
`
`
`
`
`
`
`
`cally includes at least one router for sharing routing infor-
`
`
`
`
`
`
`
`
`
`mation with, and forwarding packets to, the other autono-
`
`
`
`
`
`mous systems via communication links.
`
`
`
`
`
`
`
`The term “packet” is used herein to generally describe a
`unit of data communicated between resources in conform-
`
`
`
`
`
`
`
`
`
`
`
`
`
`ance with a communication protocol. The principles of the
`
`
`
`
`
`
`invention may bereadily applied to a variety of protocols,
`
`
`
`
`
`
`
`
`such as the Transmission Control Protocol (TCP), the User
`
`
`
`
`
`
`
`
`Datagram Protocol (UDP), the Internet Protocol (IP), Asyn-
`
`
`
`
`
`
`
`
`chronous Transfer Mode, Frame Relay, and the like. Accord-
`
`
`
`
`
`
`
`
`ingly, “packet” is used to encompass any such unit of data,
`
`
`
`
`
`
`
`
`
`and may be interchanged with the term “cell,” or other
`
`
`
`
`
`
`
`
`similar terms used in such protocols to describe a unit of data
`communicated between resources within the network.
`
`
`
`
`
`
`
`
`
`
`
`
`
`As described, network monitor 4 includes one or more
`
`
`
`
`
`
`
`
`accounting modules that generate accurate flow statistics for
`
`
`
`
`
`
`
`traffic within network 6. More specifically, network monitor
`
`
`
`
`
`
`
`
`
`4 captures packets from one or more links within network 6,
`
`
`
`
`
`
`
`
`
`
`and can generate flow statistics for each packet flow within
`
`
`
`
`
`
`
`
`the link. As network monitor 4 receives packets,
`the
`
`
`
`
`
`
`
`accounting modules associate the network packets with
`
`
`
`
`
`
`
`
`
`respective packet flows, and update the statistics for the
`
`
`
`
`
`
`
`
`packets flows. For example, the accounting modules may
`
`
`
`
`
`
`
`
`maintain an accurate packet count, byte count, source IP
`
`
`
`
`
`
`
`
`address, destination IP address, next hop IP address, input
`
`
`
`
`
`
`total
`interface information, output
`interface information,
`
`
`
`
`
`
`
`
`
`
`octets sent,
`flow start
`flow end time, source and
`time,
`
`
`
`US 7,313,100 B1
`
`
`4
`
`
`
`
`
`
`
`
`
`destination port numbers, TCP flags, IP type of service,
`
`
`
`
`
`
`
`
`originating AS, source address prefix mask bits, destination
`
`
`
`
`
`
`
`
`
`
`
`address prefix mask bits, and the like, for each packet flow.
`
`
`
`
`
`
`The accounting modules provide real-time accounting
`
`
`
`
`
`
`
`capabilities for maintaining accurate flow statistics for all of
`
`
`
`
`
`
`
`the packets received by network monitor4. In particular, as
`
`
`
`
`
`
`
`
`described herein, the accounting modules can monitor and
`
`
`
`
`
`
`
`
`
`
`generate statistics for high traflic rates, even coretraffic rates
`
`
`
`
`
`
`
`
`of the Internet, including OC-3, OC-12, OC-48, and higher
`rates.
`
`
`
`
`
`
`
`
`Network monitor 4 outputs a stream of flow records 14
`
`
`
`
`
`
`
`
`
`that carry flow statistics for the captured packets. Network
`
`
`
`
`
`
`
`
`monitor 4 may, for example, output flow records 14 carrying
`
`
`
`
`
`
`
`
`accounting data for each flow, such as a numberof packets,
`
`
`
`
`
`
`
`
`
`a numberof bytes, a time of capturing a first packet for the
`
`
`
`
`
`
`
`
`
`flow, a time of capturing a most recent packet for the flow,
`
`
`
`
`
`
`
`an incoming interface, an outgoing interface, a source/
`
`
`
`
`
`destination network mask, a source/destination Autonomous
`
`
`
`
`
`
`
`
`
`System (AS) number, and the like. Accounting server 10
`
`
`
`
`
`
`
`
`receives flow records 14, and updates an accounting system
`
`
`
`
`
`
`
`
`based on the flow records for further detailed analysis.
`
`
`
`
`
`
`
`In addition, network monitor 4 provides intercept capa-
`
`
`
`
`
`
`
`bilities that allow a real-time packet analyzer 12 to monitor
`
`
`
`
`
`
`
`specific packet flows within network 4. Network monitor 4
`
`
`
`
`
`
`outputs a stream of packets 16 to real-time packet analyzer
`
`
`
`
`
`
`
`
`12 for further analysis. The stream of packets 16 comprises
`
`
`
`
`
`
`
`
`a subset of the packets captured from network 6. In particu-
`
`
`
`
`
`
`
`
`lar, network monitor 4 intercepts packets for one or more
`
`
`
`
`
`
`
`
`selected packet flows within network 4, and outputs the
`
`
`
`
`
`
`
`intercepted packets as a stream of packets 16. Packet ana-
`
`
`
`
`
`
`
`
`
`lyzer 12 receives the stream of packets 16, and analyzes the
`
`
`
`
`
`
`
`
`packets to identify any suspicious packet
`flows. For
`
`
`
`
`
`
`
`
`example, packet analyzer 12 may identify packet flows
`
`
`
`
`
`
`
`
`
`arising from Denial of Service (DOS) attacks and other
`
`
`
`network security violations.
`
`
`
`
`
`
`
`Asystem administrator may provide intercept information
`
`
`
`
`
`
`
`
`
`to network monitor 4 that specifies a set of packet flows for
`
`
`
`
`
`
`
`which to capture packets. The system administrator may
`
`
`
`
`
`
`
`
`provide the intercept information directly, e.g., via a key-
`
`
`
`
`
`
`
`board, mouse or other input mechanism, to control inter-
`
`
`
`
`
`
`
`ception of packet flows. In addition, an administrator may
`
`
`
`
`
`
`
`remotely provide the routing information to network moni-
`
`
`
`
`
`
`
`tor 4 via a remote managementprotocol. In this manner, the
`
`
`
`
`
`
`
`
`administrator may selectively define the packet flows, and
`
`
`
`
`
`
`
`
`
`packets within a given flow,that are intercepted for analysis.
`
`
`
`
`
`
`
`
`Network monitor 4 may also control the stream of inter-
`
`
`
`
`
`
`
`cepted packets 16 based on feedback from accounting server
`
`
`
`
`
`
`
`
`10. More specifically, accounting server 10 may perform
`
`
`
`
`
`
`
`
`preliminary traffic analysis based on the flow records 14
`
`
`
`
`
`
`
`
`received from network monitor 4, and providesfilter infor-
`
`
`
`
`
`
`
`mation 18 to the network monitor to control the interception
`
`
`
`
`
`
`
`and forwarding of packets flows to packet analyzer 12 for
`
`
`
`
`
`
`
`
`further analysis. In this manner, network monitor 4 inte-
`
`
`
`
`
`
`
`grates accounting functionality for generation of flow
`
`
`
`
`
`
`
`
`records 14 along with packet
`intercept functionality to
`
`
`
`
`
`provide a comprehensivetraflic analysis environment.
`
`
`
`
`
`
`Although illustrated as a stand-alone apparatus, the fea-
`
`
`
`
`
`
`
`tures of network monitor 4 may be integrated within a
`
`
`
`
`
`
`
`network device. For example, as described in detail below,
`
`
`
`
`
`
`
`
`the feature may be integrated within a router. Other network
`
`
`
`
`
`
`
`devices in which the features may be integrated include
`
`
`
`
`
`
`
`gateways, switches, servers, workstations, and the like.
`
`
`
`
`
`
`FIG. 2 is a block diagram illustrating in further detail an
`
`
`
`
`
`
`example embodiment of network monitor 4 coupled to
`
`
`
`
`
`
`communication links 24 of network 6. As illustrated, net-
`
`
`
`
`
`
`
`
`
`work6 includes routers 20A, 20B (“routers 20”) coupled via
`
`
`
`
`
`
`
`communication links 24. Routers 20 may comprise conven-
`SplunkInc.
`Exhibit 1023
`Page 13
`
`
`
`
`
`20
`
`25
`
`
`
`30
`
`
`
`35
`
`
`
`40
`
`
`
`45
`
`
`
`50
`
`
`
`55
`
`
`
`60
`
`
`
`65
`
`
`
`Splunk Inc. Exhibit 1023 Page 13
`
`

`

`
`5
`
`
`
`
`
`
`
`tional routers that forward packets in accordance with a
`
`
`
`
`
`
`topology of network 6. Communication links 24 may com-
`
`
`
`
`
`
`
`links
`prise uni-directional optical
`for carrying packets
`
`
`
`
`
`
`
`
`between routers 20 at high data rates, such as OC-3, OC12,
`
`
`
`
`
`
`
`
`
`OC-48 andgreater rates. Optical splitters 25A, 25B (“optical
`
`
`
`
`
`
`
`splitters 25”) may be inserted within communication links
`
`
`
`
`
`
`
`
`24 to passively collect optical data transmitted and received
`between routers 20.
`
`
`
`
`
`
`
`
`
`
`
`Network monitor 4 includes two ports 26A, 26B for
`
`
`
`
`
`
`
`
`
`receiving the optical data 21A, 21B, respectively, and for-
`
`
`
`
`
`
`
`
`
`
`warding the data in digital form to control unit 28. As
`
`
`
`
`
`
`
`
`discussed in detail, control unit 28 merges the inbound data
`
`
`
`
`
`
`
`
`
`21A, 21B received from ports 26A, 26B, and digitally
`
`
`
`
`
`
`
`
`
`generates two identical packets streams 27A, 27B from the
`
`
`
`
`
`
`
`
`data. Control unit 28 applies filter 30 to packet stream 27A
`
`
`
`
`
`
`
`
`to selectively capture packet flows 16 for forwarding to
`
`
`
`
`
`
`
`
`packet analyzer 12 via output port 26C. In addition, control
`
`
`
`
`
`
`
`
`
`unit 28 distributes packets of the second stream 27B to
`
`
`
`
`
`
`accounting modules 32. Accounting modules 32 generate
`
`
`
`
`
`
`
`
`flow records 14 based on all of the packets of data stream
`
`
`
`
`
`
`
`
`
`27B,i.e., all of the packets received form optical splitters 25,
`
`
`
`
`
`
`
`
`
`and forward flow records 14 to accounting server 10 via
`
`
`
`output port 26D.
`
`
`
`
`
`
`
`Accounting modules 32 may buffer flow records 14 for a
`
`
`
`
`
`
`
`
`
`
`given packet flow until the flow “expires,” i.e., when the
`
`
`
`
`
`
`
`
`accounting modules 32 detect inactivity for the flow for a
`
`
`
`
`
`
`
`configurable period of time, e.g., 30 minutes. Accounting
`
`
`
`
`
`
`
`modules 32 may periodically output batches of flow records
`
`
`
`
`
`
`
`
`
`
`14 forall flows that have recently expired, e.g., every fifteen,
`
`
`
`
`
`
`
`
`
`thirty or sixty seconds. For packet flows that remain active
`
`
`
`
`
`
`
`for long durations, accounting modules 32 may be config-
`
`
`
`
`
`
`
`
`ured to automatically expire the packet flowsafter a defined
`
`
`
`
`
`
`
`
`duration, e.g., 30 or 60 minutes. Upon marking the active
`
`
`
`
`
`
`
`packet flow as expired, accounting modules 32 may output
`
`
`
`
`
`
`
`
`
`
`one or more flow records 14 for the packet flow, and may
`
`
`
`
`
`
`
`
`
`reset the statistics for the packet flow. Alternatively, account-
`
`
`
`
`
`
`
`
`
`ing modules may output flow records 114 withoutresetting
`
`
`
`
`
`
`
`the statistics for the active packet flow.
`
`
`
`
`
`
`FIG.3 is a block diagram illustrating another exemplary
`embodiment of a network monitor 4.
`In the illustrated
`
`
`
`
`
`
`
`
`
`
`
`
`embodiment, network monitor 4 includes a chassis 33 for
`
`
`
`
`
`
`
`
`housing control unit 42. Chassis 33 has a numberofslots
`
`
`
`
`
`
`
`
`(not shown) for receiving a set of cards, including interface
`
`
`
`
`
`
`
`cards (IFCs) 34, accounting service cards (ACCOUNTING
`
`
`
`
`
`SCs) 36, an encryption service card (ENCRYPTION SC) 38,
`
`
`
`
`
`
`
`
`and a tunnel service card (TUNNEL SC) 40. Each card may
`
`
`
`
`
`
`
`
`
`be inserted into a corresponding slot of chassis 33 for
`
`
`
`
`
`
`
`
`electrically coupling the card to control unit 42 via a bus,
`
`
`
`
`
`backplane, or other electrical communication mechanism.
`
`
`
`
`
`
`
`
`Interface cards 34 include ports for receiving inbound
`
`
`
`
`
`
`
`
`
`
`data 21 from optical splitters 25, and for outputting flow
`
`
`
`
`
`
`
`
`records 14 and intercepted packet flows 16. Accordingly,
`
`
`
`
`
`
`
`interface cards 34 include a numberofports (not shown) for
`
`
`
`
`coupling with communication links.
`
`
`
`
`
`
`
`
`Accounting service cards 36 each include one or more
`
`
`
`
`
`
`
`
`accounting modules that generate flow records based on
`
`
`
`
`
`
`
`
`packets received from control unit 42. Each accounting
`
`
`
`
`
`
`
`
`
`service card 36 may, for example,
`include one or more
`
`
`
`
`
`microprocessors, FPGAs, ASICs, or other components. As
`
`
`
`
`
`
`described, control unit 42 distributes packets to accounting
`
`
`
`
`
`
`
`
`
`service cards 36 for accounting and generation of flow
`
`
`
`
`
`
`
`
`records 14. In one embodiment, control] unit 42 distributes
`
`
`
`
`
`
`
`the packets of a common flow to a common accounting
`
`
`
`
`
`
`
`
`service card 36. I

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