WO2018075983A1 - Systems and methods for scalable network modeling - Google Patents
Systems and methods for scalable network modeling Download PDFInfo
- Publication number
- WO2018075983A1 WO2018075983A1 PCT/US2017/057751 US2017057751W WO2018075983A1 WO 2018075983 A1 WO2018075983 A1 WO 2018075983A1 US 2017057751 W US2017057751 W US 2017057751W WO 2018075983 A1 WO2018075983 A1 WO 2018075983A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet header
- network
- packets
- virtual
- rule
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/26—Route discovery packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Definitions
- FIG. 4 illustrates an example of tracing a packet collection through a rule table, in accordance with an embodiment of the present invention.
- FIGs. 5(A)-(C) illustrate examples of rule tables that experience a cross- product problem, in accordance with an embodiment of the present invention.
- FIG. 8 is a high-level block diagram illustrating a computer system, in accordance with an embodiment of the present invention.
- the network modeling system may generate two different types of models: a data-plane model or a control-plane model.
- the data plane, the control plane and the management plane are the three basic components of telecommunications architecture.
- the control plane and management plane serve the data plane, which bears the traffic that the network exists to carry.
- the data plane is the part of a network that carries user traffic.
- the data plane may also be referred to as the user plane, forwarding plane, carrier plane or bearer plane.
- the data plane enables data transfer to and from client computing devices, and may handle multiple data
- Data-plane models may be built by combining network state data with device-level forwarding behavior. For example, a data-plane model may consider forwarding lookups and output actions of individual devices and may interconnect the individual devices along known links based on the forwarding lookups and outputs.
- the network model may group the packets together into a collection of packets.
- the network model may determine that the group of packets is to be collectively forwarded in the same manner (e.g., flow path), and continue to process and refer to them as a collection of packets.
- a fully wildcarded header 310 of all 'x' bits can represent packet header 302 having the value ⁇ ' , packet header 304 having the value '00000001 ', packet header 306 having the value ' 000000010', and all values up to packet header 308 having the values ' 111111 11 '.
- FIG. 3(B) illustrates another example representation 320 of a collection of header field values.
- Wildcard bits can represent a collection of packets that differ in one or more particular bit positions, but share common values elsewhere.
- Two bit strings that differ in exactly one bit position can be combined into one bit string by wildcarding the differing bit; for example, the values "0000" and "0010” can be represented as "00x0", where the 'x' bit indicates that the corresponding bit is wildcarded and indicates both 0 and 1.
- This procedure can be performed repeatedly to combine values represented as wildcarded bit strings. When two points are adjacent in this L-dimensional space, they can be represented by a compact representation using wildcards.
- FIG. 4 illustrates an example of a packet collection entering a rule table, in accordance with an embodiment of the present invention.
- an input packet collection 402 may enter a device 404 in a network model, the device including rule table 408 "Table 0" and rule table 410 "Table 1.”
- Rule table 408 "Table 0"
- Rule table 410 "Table 1.”
- a mathematical operation such as an intersection operation, must be performed, as shown at point 440. This operation for "Match 0" 412 may be executed not simply to determine whether there is any overlap, and hence a match, but also to determine the exact overlap.
- each of these six-bit strings 630 produces a different bit string as a result of a tracing operation.
- Each of these bit strings may yield even more unique bit strings in the next rule table within the same device, or when the traffic is traced through another device.
- FIG. 5(B) illustrates when the cross-product problem manifests across different rule tables 522 and 524 in a single device 520, when the rules in rule tables match on different header fields.
- Rule table 522 "tableO" may include rules matching field values 528 and 530
- rule table 524 "tablel” may include rules matching field values 534 and 536.
- ACL Access Control List
- an IP routing table matches on the IP destination address to forward traffic to an output port. Similar to the previous example illustrated in FIG.
- the cross-product problem also manifests across devices 540 and 542, when a network contains rules that match on different header fields.
- device 540 might contain rule table 544 with two rules 550 and 552, where the action is to set the output port based on the IP destination address.
- Another device 542 may contain a firewall rule table 546 with two rules 556 and 558, where the action is to block some traffic based on TCP destination ports.
- the end result is a cross- product of all the rules.
- ip_src my-ip-list
- ip_proto TCP/UDP
- This configuration may include six unique bit rules to represent the configured behavior, since each group of rules with the same next-hop is non-contiguous.
- a network model according to embodiments of the present application may represent the IP table as three groups, such that additional work in later processing stages may be reduced to a minimum.
- data-plane modeling may be used to verify that the software code enables the network to function properly.
- data may be used to validate the current behavior of the network or test the effect of proposed changes.
- the network modeling system may use a protocol-independent, vendor-independent, efficient and scalable abstraction model for representing the forwarding functionality of networks.
- a protocol-independent, vendor-independent, efficient and scalable abstraction model for representing the forwarding functionality of networks.
- the network model may include forwarding rules that are used to determine how packets are processed by devices in the network.
- the network model may be periodically updated.
- the network model instead of recomputing the entire network model each time the actual network's state changes, the network model may be incrementally updated by only updating the associated changed forwarding states, which can be realized through rule dependency tracking.
- rule dependency tracking an individual update to a state table, such as a VLAN change at an input port, automatically causes rules that match that input port to update, without requiring the re-generation of other unrelated rules.
- the list of updated rules may then be used to update the modeling of affected traffic classes and paths in the network, leaving the rest of the model unaffected.
- the network modeling system may address the Cross-Product Problem by implementing an efficient representation for a collection of packets, where each individual header field is represented as a collection of wildcarded bit string values that are possible for that field.
- the packets included in the collection are packets with header values limited to values specified for the respective header fields in the representation.
- the wildcarded bit strings for each field are only as wide as the length of that field.
- the packet collection may be represented by a single entry containing all the IP destination values 602 and another entry containing all the TCP destination ports 610. Mathematical operations may then be performed on the entire packet collection rather than on individual wildcarded bit strings.
- the network modeling system may represent packet header values as groups, for example the representation 660 may include IP destination 662 "ip dst" to group IP addresses 668, 670 and 672, and TCP destination ports 664 to group ports pi and p2.
- fields used in the packet collection representation may not correspond to well-known header fields typically used for packet forwarding.
- a custom tag may be added within a network to denote an ingress point or a class of traffic. This custom tag may be included in the packet collection.
- the network model may also introduce its own set of virtual fields to denote some classification of packets that is relevant to the model.
- FIG. 7 is a block flow diagram illustrating an example method 700 of processing and analyzing packets in a network modeling system according to various embodiments.
- a networking device may be modeled as a collection of rule tables where each rule table includes a list of rules and each rule includes a match and a collection of actions, such as the rule tables shown in FIG. 1.
- the network modeling system may obtain network information associated with network devices on a network such as the network shown in FIG. 1. The network information may be obtained from a third party entity or collected from the network devices in the network.
- each network device may include one or more rule tables that describe forwarding behavior for packets within the network.
- Identifying the group of packets may be based at least in part on the network information obtained, where the network information includes at least the one or more rule tables and network topology. In some embodiments, the group of packets may be identified based on information obtained about troubleshooting a collection a packets in the network analysis system. [00049] At 706, the network modeling system may then create a virtual packet header to represent the group or collection of packets identified.
- the virtual packet header in order to represent the collection of packets, may include wildcarded bits according to various embodiments.
- the virtual packet header may include one or more packet header groups, where at least one of the one or more packet header groups represents a union of two or more packet header values.
- HSeqCollections If a packet field is fully wildcarded in an Hregion, it will not have an entry in the corresponding map. In other words, the absence of an entry for a packet field in this map indicates that the field is fully wildcarded.
- the networking modeling system may perform transformation operations on packet collections.
- a packet collection i.e., represented by an HExpr
- HExpr the packet collection
- the actions specified in that rule may be applied to that packet collection (i.e., a
- the above representation may indicate that when the collection of packets represented by 'inputHExpr' arrives at any of the ports indicated by 'inputPorts', it is transformed to OutputHExpr' and forwarded to OutputPorts'.
- HExpr transformations can be expressed using rewrite and move actions.
- HSeqs two header sequences
- Two HSeqs may be combined if and only if they have the same number of bits.
- HSeqCollection and s2 belongs to the second HSeqCollection, the intersection of si and s2 is computed as disclosed using the same technique for intersecting two HSeqs. If the result of this intersection is nonempty, then it is added to the resulting HSeqCollection.
- sl l, si 2, s21, and s22 may represent different HSeqs.
- intersections of all possible pairs of HSeqs are considered below:
- HRegions intersection two header regions
- an HRegion is a map from packet fields to HSeqCollections. If a packet field is fully wildcarded in an HRegion, it may not have an entry in the corresponding map. Intersecting two HRegions may performed by intersecting the corresponding HSeqCollection values of each field. If a packet field is fully wildcarded in only one of the HRegions, then its value in the intersection result may come from the value in the other HRegion. If it is not fully wildcarded in both the HRegions, its value in the intersection result may be the intersection of the HSeqCollection values in the two HRegions computed using the method explained in the "Intersection of two
- HSeqCollections "section. If this intersection of the HSeqCollections is empty, the intersection result of the two HRegions may also be empty.
- another operation that the network modeling system may perform on packets includes intersecting an HExpr and an HRegion. The result of intersecting an HExpr with an HRegion may be another HExpr. This operation may be invoked when tracing the group of packets that can enter each rule in a rule table. To intersect HExpr 'hs' with HRegion 'r', first the minuend of 'hs' is intersected with 'r' using the same technique disclosed to intersect two HRegions.
- the network modeling system may perform another operation on packets including intersecting two HExprs. To intersect two
- HExprs, 'hsl ' and 'hs2' the intersection of their minuends is first computed using the technique for intersecting two HRegions, and the result may be referred to as 'm'. If that intersection is empty, the final intersection result may also empty. Otherwise, for each of the subtrahends of 'hsl ' and 'hs2', the intersection of that subtrahend with 'm' may be computed. If the result is empty, that subtrahend may be discarded. If the result equals 'm', then that subtrahend is subtracting all the data points in the minuend and the result of the intersection of the two HExpr becomes empty.
- HExpr with 'm' as its minuend and subtrahends computed using the above procedure.
- another operation that the network modeling system may perform on packets includes subtrahend simplification operations with HExprs.
- the term 'combination' may refer to applying a union operation, then attempting to simplify the result.
- the combination operation helps to speed up computation, by transforming the set of subtrahends of an HExpr to another set with fewer subtrahends, which represents the exact same collection of packets. Given that the number of subtrahends is reduced, operations that are performed on this HExpr may be computed faster.
- the two subtrahends may be reduced to ⁇ (fl, ⁇ "OOOx" ⁇ ) ⁇ which is equal to the minuend and indicates that the HExpr is empty.
- An empty HExpr indicates no packet can match it and given that the network model describes how packets are transferred in the network, the network modeling system may detect empty HExprs to determine when to stop.
- its subtrahends may be combined as much as possible, using a technique for combining two HRegions, described below, and then check if any of the combined subtrahends is equal to the minuend.
- Subtrahend d ⁇ (fl, ⁇ "0001" ⁇ ) ⁇
- All of the above collections of subtrahends represent the same collection of packets.
- the network models do not rely on equivalent representations for HExprs and only needs to combine subtrahends to detect empty HExprs. Hence, non-unique results of combinations do not affect correctness, as all results describe an identical collection of packets.
- subtrahends may be dropped.
- HSeqs may also be combined in another operation that the network modeling system may perform on packets.
- HSeq values may be combined as much as possible to achieve a more compact and hence more efficient representation of the same packet collection.
- Two HSeqs may be combined in different cases, such as when (1) the values are equal; (2) one of the values subsumes the other (e.g. ⁇ ' subsumes '0000'); or (3) they differ in only one bit position (e.g.
- '0000' and ⁇ 00 differ in a single bit position and can be combined to ' ⁇ ').
- alternative data structures like a trie can be used for a more efficient computation of the final result.
- the 2nd and 3rd values may be combined by combining two HSeqs according to various embodiments.
- the 2nd value subsumes the 3rd value.
- the resulting union is: ⁇ "0001", "00x0", " 1000" ⁇
- another operation that the network modeling system may perform on packets includes the combination of two HRegions.
- subtracting an HRegion from an HExpr may also be an operation performed on a packet collection by the network modeling system.
- the provided HRegion is intersected with the minuend of the HExpr.
- the resulting HRegion may be the actual region to be subtracted from the provided HExpr. This region may be added as a new subtrahend.
- the HRegion may first be combined with other subtrahends before adding it as a new subtrahend. If after the combination, any of the subtrahends becomes equal to the minuend, then the result HExpr may be empty.
- HExpr As an illustrative example, consider the following HExpr:
- Subtrahend 1 ⁇ (fl, ⁇ "0000" ⁇ ) ⁇ [00096]
- Minuend ⁇ (fl, ⁇ "OOOx" ⁇ ) ⁇
- Minuend ⁇ (fl, ⁇ "OOOx" ⁇ ) ⁇
- Subtrahend 2 ⁇ (fl, ⁇ "0001" ⁇ ) ⁇ [00098]
- the two subtrahends may be combined to form:
- Minuend ⁇ (fl, ⁇ "OOOx" ⁇ ) ⁇
- the value of the field may be simply changed to a new value. For example, rewriting the value of the field fl to the
- a field in an HExpr may also be rewritten in another operation that the network modeling system may perform on a packet.
- the minuend of the HExpr is rewritten using the technique to rewrite a field of an HRegion.
- This minuend rewrite step may apply to various embodiments, which vary in the number and form of subtrahends. For example, if the HExpr only contains a minuend, then the rewrite of the field is complete. Alternatively, there may be cases where subtrahends are present.
- the first case is where the value of field fl, the field to be rewritten, is the same between the minuend and each subtrahend. In this case, the value may be rewritten for field fl in each subtrahend. To illustrate, consider this HExpr:
- Minuend ⁇ (fl, ⁇ a, b ⁇ ) ⁇
- Subtrahend 1 ⁇ (fl, ⁇ a, b ⁇ ), (f2, ⁇ z ⁇ ) ⁇ [000104]
- the minuend contains multiple values for field fl, a and b.
- An alternate representation would be to generate one HExpr for each value of field f 1 and union them together, as illustrated below:
- Minuend ⁇ (fl, ⁇ a ⁇ ) ⁇
- Minuend ⁇ (fl, ⁇ b» ⁇
- each field value of fl may be replaced with d, even when there are multiple field values.
- handling these cases requires more care.
- Minuend ⁇ (fl, ⁇ a, b ⁇ ) ⁇
- Minuend ⁇ (fl, ⁇ b» ⁇
- subtrahend 1 may be removed, because it has no intersection with the minuend, yielding the following:
- Minuend ⁇ (fl, ⁇ d» ⁇
- Minuend ⁇ (fl, ⁇ d ⁇ ) ⁇
- an HExpr contains two or more subtrahends, and each subtrahend has a value for field fl that is different from the minuend.
- the challenge is that each subtrahend removes a piece of the minuend, but the intersection of the non-removed pieces must be accounted for.
- Minuend ⁇ (fl, ⁇ a, b ⁇ ) ⁇
- Minuend ⁇ (fl, ⁇ a ⁇ ) ⁇
- Minuend ⁇ (fl, ⁇ b» ⁇
- Minuend ⁇ (fl, ⁇ d» ⁇
- Minuend ⁇ (fl, ⁇ d» ⁇
- Subtrahend 1 ⁇ (fl, ⁇ d ⁇ ), (f2, ⁇ z ⁇ ), (f3, ⁇ w ⁇ ) ⁇
- This new subtrahend removes the piece of the minuend, which is shared between the two subtrahends in the union-form HExpr above.
- the network modeling system may automatically compute this singular resulting subtrahend, for HExprs with any number of subtrahends.
- Each subtrahend that has a different value for field f 1 than the minuend may serve as an input in the computation.
- a new subtrahend may be generated.
- the value for field 'fl ' is the combination of the values in the two original subtrahends, where the combination is computed by the technique describe for combining HSeqCollections.
- Minuend ⁇ (fl, ⁇ "0001", “0010”, “0100” ⁇ ) ⁇
- Subtrahend 4 ⁇ (fl, ⁇ "0010" ⁇ ), (f2, ⁇ "0001", “0010", “0100” ⁇ ) ⁇
- Subtrahend ⁇ (fl, ⁇ "1000" ⁇ ), (f2, ⁇ "0001", "1000” ⁇ ) ⁇ [000130]
- Another action that may be performed on packets according to various embodiments may include moving the value of a field to another field in an HRegion. Given a pair of source and target fields, this action moves the value of the source field to the target field. This operation is equivalent to rewriting the source field with the fully wildcarded HSeqCollection and rewriting the target field with the old value of the source field. To illustrate, consider the following HRegion:
- Another action that may be performed on packets may include moving the value of a field to another field in an HExpr.
- first value of field 's' may be moved to field 't' in the minuend of 'hs' using the technique described for moving the value of a field to another field in an HRegion.
- the resulting HRegion is the minuend of the result HExpr.
- This shift may be similarly performed on each of the subtrahends of 'hs' to compute the subtrahends of the result HExpr. However, some of the subtrahends should be discarded as part of this operation.
- Minuend ⁇ (f2, ⁇ " lOxx" ⁇ ) ⁇
- the representation may be implemented in Java, C++, C#, or any suitable programming language, on any computing hardware, such as a general-purpose processor or graphics processor. In some embodiments, the invention may be implemented directly in hardware, via field-programmable gate array or application-specific integrated circuit.
- Embodiments of the present invention provide a system and method to detect rules within the same or different tables that have overlapping match fields, and present this to the user. Additionally, the network modeling system may be enabled to detect rules within the same or different tables related to a given input rule such that packets matching them will also be matched by the given rule. Rules may also be detected within the same or different tables that are ambiguous due to having the same matching priority, and some or full overlap in match fields.
- networking modeling system may provide suggestions to the user on how to fix them. These problems include those detected by network checks, queries, or other performance, optimization, or correctness related problems.
- the invention may also automatically apply changes to fix such problems.
- FIG. 8 is a high-level block diagram 800 of a computer system, in accordance with an embodiment of the present invention.
- a computer system can include hardware elements connected via a bus, including a network interface 802, that enables the computer system to connect to other computer systems over a local area network (LAN), wide area network (WAN), mobile network (e.g., EDGE, 3G, 4G, or other mobile network), or other network.
- the computer system can further include one or more processors 804, such as a central processing unit (CPU), field programmable gate array (FPGA), application-specific integrated circuit (ASIC), network processor, or other processor.
- processors 804 such as a central processing unit (CPU), field programmable gate array (FPGA), application-specific integrated circuit (ASIC), network processor, or other processor.
- Processers may include single or multi-core processors.
- the computer system can include a graphical user interface (GUI) 806.
- GUI 806 can connect to a display (LED, LCD, tablet, touch screen, or other display) to output user viewable data.
- GUI 806 can be configured to receive instructions (e.g., through a touch screen or other interactive interface).
- I/O interface 808 can be used to connect to one or more input and/or output devices such as mice, keyboards, touch-sensitive input devices, and other input or output devices.
- I/O interface 808 can include a wired or wireless interface for connecting to infrared, Bluetooth, or other wireless devices.
- the computer system may include local or remote data stores 810.
- Data stores 810 can include various computer readable storage media, storage systems, and storage services, as are known in the art (e.g., disk drives, CD- ROM, digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, relational databases, object storage systems, local or cloud-based storage services, or any other storage medium, system, or service).
- Data stores 810 can include data generated, stored, or otherwise utilized as described herein.
- data stores 810 can include computed flows 812 and network models 814, generated and stored as described above.
- Memory 816 can include various memory technologies, including RAM, ROM, EEPROM, flash memory or other memory technology.
- Memory 816 can include executable code to implement methods as described herein.
- memory 816 can include a network analyzer module 818 and report generator module 820 that each implement methods described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU2017345769A AU2017345769B2 (en) | 2016-10-21 | 2017-10-21 | Systems and methods for scalable network modeling |
| JP2019521483A JP6825096B2 (en) | 2016-10-21 | 2017-10-21 | Systems and methods for scalable network modeling |
| EP17861446.7A EP3529709A4 (en) | 2016-10-21 | 2017-10-21 | SYSTEMS AND METHODS FOR SCALABLE NETWORK MODELING |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201662411364P | 2016-10-21 | 2016-10-21 | |
| US62/411,364 | 2016-10-21 | ||
| US15/789,887 | 2017-10-20 | ||
| US15/789,887 US10911317B2 (en) | 2016-10-21 | 2017-10-20 | Systems and methods for scalable network modeling |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018075983A1 true WO2018075983A1 (en) | 2018-04-26 |
Family
ID=61971041
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2017/057751 Ceased WO2018075983A1 (en) | 2016-10-21 | 2017-10-21 | Systems and methods for scalable network modeling |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10911317B2 (en) |
| EP (1) | EP3529709A4 (en) |
| JP (1) | JP6825096B2 (en) |
| AU (1) | AU2017345769B2 (en) |
| WO (1) | WO2018075983A1 (en) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12058015B2 (en) * | 2016-10-21 | 2024-08-06 | Forward Networks, Inc. | Systems and methods for an interactive network analysis platform |
| EP3619895B1 (en) * | 2017-05-04 | 2024-12-04 | Telefonaktiebolaget LM Ericsson (publ) | Efficient troubleshooting in openflow switches |
| US11522797B2 (en) | 2017-08-30 | 2022-12-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for tracing packets in software defined networks |
| CN112262553B (en) | 2018-06-13 | 2022-09-16 | 瑞典爱立信有限公司 | Apparatus and method for tracking packets in a packet processing pipeline of a software defined network switch |
| US10756976B2 (en) * | 2018-08-21 | 2020-08-25 | Ciena Corporation | Data network and execution environment replication for network automation and network applications |
| US10798005B2 (en) * | 2018-09-13 | 2020-10-06 | International Business Machines Corporation | Optimizing application throughput |
| US11245625B2 (en) | 2019-08-07 | 2022-02-08 | Arista Networks, Inc. | Generating entries in a content addressable memory of a network device |
| JP7524719B2 (en) * | 2020-06-04 | 2024-07-30 | 富士通株式会社 | COMMUNICATION CONNECTION VERIFICATION METHOD, COMMUNICATION CONNECTION VERIFICATION PROGRAM, AND NETWORK VERIFICATION DEVICE |
| US11568279B2 (en) * | 2020-06-09 | 2023-01-31 | Sap Se | Anomaly detection for automated information technology processes |
| CN114840133A (en) * | 2021-01-15 | 2022-08-02 | 华为技术有限公司 | Network configuration rule processing method and related equipment |
| US12081395B2 (en) * | 2021-08-24 | 2024-09-03 | VMware LLC | Formal verification of network changes |
| US20230113654A1 (en) * | 2021-10-11 | 2023-04-13 | Wmware, Inc. | Managing virtual local area networks (vlans) in multiple data centers |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150078385A1 (en) | 2013-09-15 | 2015-03-19 | Nicira, Inc. | Generating Flows Using Common Match Techniques |
| US20150092778A1 (en) | 2013-09-15 | 2015-04-02 | Nicira, Inc. | Tracking Prefixes of Values Associated with Different Rules to Generate Flows |
| US20160094460A1 (en) | 2014-09-30 | 2016-03-31 | Vmware, Inc. | Packet Key Parser for Flow-Based Forwarding Elements |
| US9674087B2 (en) | 2013-09-15 | 2017-06-06 | Nicira, Inc. | Performing a multi-stage lookup to classify packets |
| US9929915B2 (en) | 2014-07-30 | 2018-03-27 | Forward Networks, Inc. | Systems and methods for network management |
Family Cites Families (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5546390A (en) * | 1994-12-29 | 1996-08-13 | Storage Technology Corporation | Method and apparatus for radix decision packet processing |
| US6606315B1 (en) * | 1999-07-02 | 2003-08-12 | Cisco Technology, Inc. | Synchronizing service instructions among forwarding agents using a service manager |
| US6836462B1 (en) * | 2000-08-30 | 2004-12-28 | Cisco Technology, Inc. | Distributed, rule based packet redirection |
| US7376125B1 (en) * | 2002-06-04 | 2008-05-20 | Fortinet, Inc. | Service processing switch |
| JP4022117B2 (en) * | 2002-09-20 | 2007-12-12 | 富士通株式会社 | Load balancing method and apparatus |
| US7424014B2 (en) * | 2002-11-12 | 2008-09-09 | Cisco Technology, Inc. | System and method for local packet transport services within distributed routers |
| US8898734B2 (en) * | 2005-08-20 | 2014-11-25 | Riverbed Technology, Inc. | Analyzing security compliance within a network |
| US8954601B1 (en) * | 2007-06-15 | 2015-02-10 | Juniper Networks, Inc. | Authentication and encryption of routing protocol traffic |
| TWI583151B (en) * | 2011-08-04 | 2017-05-11 | 中界雲端公司 | System and method for implementing and managing virtual networks |
| US20150249587A1 (en) * | 2012-09-20 | 2015-09-03 | Ntt Docomo, Inc. | Method and apparatus for topology and path verification in networks |
| US9455907B1 (en) * | 2012-11-29 | 2016-09-27 | Marvell Israel (M.I.S.L) Ltd. | Multithreaded parallel packet processing in network devices |
| US9923831B2 (en) * | 2012-11-29 | 2018-03-20 | Futurewei Technologies, Inc. | Packet prioritization in a software-defined network implementing OpenFlow |
| US20140153443A1 (en) * | 2012-11-30 | 2014-06-05 | International Business Machines Corporation | Per-Address Spanning Tree Networks |
| JPWO2014175335A1 (en) * | 2013-04-24 | 2017-02-23 | 日本電気株式会社 | Control device, computer system, communication control method, and program |
| US9210074B2 (en) * | 2013-05-03 | 2015-12-08 | Alcatel Lucent | Low-cost flow matching in software defined networks without TCAMs |
| US9755963B2 (en) * | 2013-07-09 | 2017-09-05 | Nicira, Inc. | Using headerspace analysis to identify flow entry reachability |
| KR101595160B1 (en) * | 2013-07-17 | 2016-02-17 | 주식회사 케이티 | Methods for managing transaction in software defined networking network |
| US9680748B2 (en) * | 2013-09-15 | 2017-06-13 | Nicira, Inc. | Tracking prefixes of values associated with different rules to generate flows |
| US9602398B2 (en) * | 2013-09-15 | 2017-03-21 | Nicira, Inc. | Dynamically generating flows with wildcard fields |
| US10063458B2 (en) * | 2013-10-13 | 2018-08-28 | Nicira, Inc. | Asymmetric connection with external networks |
| WO2015056101A2 (en) * | 2013-10-17 | 2015-04-23 | Marvell Israel | Processing concurrency in a network device |
| CN108183861B (en) * | 2013-10-26 | 2021-09-07 | 华为技术有限公司 | Method for obtaining accurate flow entry for SDN switch and SDN switch, controller and system |
| KR20150053620A (en) * | 2013-11-08 | 2015-05-18 | 한국전자통신연구원 | Apparatus and method for transmitting packet |
| US9923813B2 (en) * | 2013-12-18 | 2018-03-20 | Marvell World Trade Ltd. | Increasing packet processing rate in a network device |
| US9275336B2 (en) * | 2013-12-31 | 2016-03-01 | Cavium, Inc. | Method and system for skipping over group(s) of rules based on skip group rule |
| US9667528B2 (en) * | 2014-03-31 | 2017-05-30 | Vmware, Inc. | Fast lookup and update of current hop limit |
| US9985896B2 (en) * | 2014-03-31 | 2018-05-29 | Nicira, Inc. | Caching of service decisions |
| US10129181B2 (en) * | 2014-08-16 | 2018-11-13 | New York University | Controlling the reactive caching of wildcard rules for packet processing, such as flow processing in software-defined networks |
| WO2016038139A1 (en) * | 2014-09-12 | 2016-03-17 | Voellmy Andreas R | Managing network forwarding configurations using algorithmic policies |
| KR101567253B1 (en) * | 2014-10-31 | 2015-11-06 | 삼성에스디에스 주식회사 | Apparatus and method for flow control |
| JP2016158232A (en) * | 2015-02-20 | 2016-09-01 | 富士通株式会社 | Device and method for route table verification |
| US10044676B2 (en) * | 2015-04-03 | 2018-08-07 | Nicira, Inc. | Using headerspace analysis to identify unneeded distributed firewall rules |
| US10033638B1 (en) * | 2015-05-29 | 2018-07-24 | Netronome Systems, Inc. | Executing a selected sequence of instructions depending on packet type in an exact-match flow switch |
| US9705773B2 (en) * | 2015-07-09 | 2017-07-11 | Google Inc. | Parallelized network traffic flow availability simulation using stochastic process and traffic engineering algorithms |
| US9769060B2 (en) * | 2015-07-20 | 2017-09-19 | Schweitzer Engineering Laboratories, Inc. | Simulating, visualizing, and searching traffic in a software defined network |
| CN105516006A (en) * | 2015-11-25 | 2016-04-20 | 英业达科技有限公司 | Flow entry aggregation method and correlated network system |
| US9917775B2 (en) * | 2015-12-22 | 2018-03-13 | Mcafee, Llc | Intelligent devices in a software-defined network |
-
2017
- 2017-10-20 US US15/789,887 patent/US10911317B2/en active Active
- 2017-10-21 WO PCT/US2017/057751 patent/WO2018075983A1/en not_active Ceased
- 2017-10-21 JP JP2019521483A patent/JP6825096B2/en active Active
- 2017-10-21 AU AU2017345769A patent/AU2017345769B2/en active Active
- 2017-10-21 EP EP17861446.7A patent/EP3529709A4/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20150078385A1 (en) | 2013-09-15 | 2015-03-19 | Nicira, Inc. | Generating Flows Using Common Match Techniques |
| US20150092778A1 (en) | 2013-09-15 | 2015-04-02 | Nicira, Inc. | Tracking Prefixes of Values Associated with Different Rules to Generate Flows |
| US9674087B2 (en) | 2013-09-15 | 2017-06-06 | Nicira, Inc. | Performing a multi-stage lookup to classify packets |
| US9929915B2 (en) | 2014-07-30 | 2018-03-27 | Forward Networks, Inc. | Systems and methods for network management |
| US20160094460A1 (en) | 2014-09-30 | 2016-03-31 | Vmware, Inc. | Packet Key Parser for Flow-Based Forwarding Elements |
Non-Patent Citations (2)
| Title |
|---|
| PEYMAN KAZEMIANGEORGE VARGHESENICK MCKEO: "Header Space Analysis: Static Checking For Networks", USENIX, USENIX, THE ADVANCED COMPUTING SYSTEMS ASSOCIATION |
| See also references of EP3529709A4 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20180115466A1 (en) | 2018-04-26 |
| JP2019533373A (en) | 2019-11-14 |
| US10911317B2 (en) | 2021-02-02 |
| AU2017345769A1 (en) | 2019-05-16 |
| JP6825096B2 (en) | 2021-02-03 |
| EP3529709A4 (en) | 2020-05-13 |
| EP3529709A1 (en) | 2019-08-28 |
| AU2017345769B2 (en) | 2020-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2017345769B2 (en) | Systems and methods for scalable network modeling | |
| EP3175579B1 (en) | Systems and methods for network management | |
| Zhang et al. | Differential network analysis | |
| Stoenescu et al. | Symnet: Scalable symbolic execution for modern networks | |
| US10778545B2 (en) | Network verification system | |
| US9729582B2 (en) | Methods, systems, and computer readable media for generating software defined networking (SDN) policies | |
| Brown et al. | Lessons from the evolution of the Batfish configuration analysis tool | |
| CN104243315B (en) | Device and method for uniquely enumerating the path in analytic tree | |
| US10649747B2 (en) | Compilation and runtime methods for executing algorithmic packet processing programs on multi-table packet forwarding elements | |
| Majumdar et al. | Kuai: A model checker for software-defined networks | |
| US20140376402A1 (en) | Methods and systems for automatic generation of routing configuration files | |
| CN105976031A (en) | Parallel processing of data by multiple semantic reasoning engines | |
| US10958770B2 (en) | Realization of a programmable forwarding pipeline through packet header summaries in a data processing unit | |
| US12149441B2 (en) | Determining flow paths of packets through nodes of a network | |
| CN112468365A (en) | Data quality detection method, system and medium for network mirror flow | |
| CN111698110B (en) | Network equipment performance analysis method, system, equipment and computer medium | |
| WO2020069647A1 (en) | System for deploying incremental network updates | |
| Hussein et al. | SDN verification plane for consistency establishment | |
| WO2014168164A1 (en) | Network verification device, network verification method, and program | |
| Feng et al. | A reo model of software defined networks | |
| CN116074221B (en) | Hardware independent specification for a data packet processing pipeline | |
| Mirzaei et al. | Using Alloy to formally model and reason about an OpenFlow network switch | |
| Hommes et al. | Automated source code extension for debugging of openflow based networks | |
| Chen | Automated BGP Policy Analysis | |
| Sidiq et al. | Visual editor for streamlining p4-based programmable parser development |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17861446 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2019521483 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2017345769 Country of ref document: AU Date of ref document: 20171021 Kind code of ref document: A |
|
| ENP | Entry into the national phase |
Ref document number: 2017861446 Country of ref document: EP Effective date: 20190521 |

