US8934492B1 - Network systems and methods for efficiently dropping packets carried by virtual circuits - Google Patents
Network systems and methods for efficiently dropping packets carried by virtual circuits Download PDFInfo
- Publication number
- US8934492B1 US8934492B1 US12/892,598 US89259810A US8934492B1 US 8934492 B1 US8934492 B1 US 8934492B1 US 89259810 A US89259810 A US 89259810A US 8934492 B1 US8934492 B1 US 8934492B1
- Authority
- US
- United States
- Prior art keywords
- node
- data
- port
- virtual circuit
- identifier
- 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.)
- Active, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
- H04L12/4675—Dynamic sharing of VLAN information amongst network nodes
Definitions
- a virtual circuit e.g., an Ethernet virtual circuit (EVC) within an Ethernet network
- EEC Ethernet virtual circuit
- a virtual circuit is typically implemented via Layer 2 of the Open Systems Interconnection (OSI) model.
- OSI Open Systems Interconnection
- Each virtual circuit is associated with an identifier, such as a virtual local area network (VLAN) tag or S-tag, that can be used to identify the virtual circuit and to control the switching of packets within the packet network.
- VLAN virtual local area network
- a virtual circuit (VC) identifier is inserted into the overhead of each packet to be carried by the virtual circuit.
- each network node has a table for mapping VC identifiers to the appropriate ports of the node.
- the node looks up the packet's VC identifier in the node's VC identifier table, which maps the VC identifier to one or more node ports that are members of the virtual circuit. The node then forwards the packet to one or more such ports.
- each node within the path between the endpoints should be provisioned to support the virtual circuit.
- the VC identifier table of each such node should be provisioned to include at least one mapping for the virtual circuit. Errors in provisioning or otherwise may prevent packets carried by the virtual circuit from successfully reaching the circuit's endpoint.
- FIG. 1 is a block diagram illustrating an exemplary packet network.
- FIG. 2 is a block diagram illustrating an exemplary node of a packet network, such as is depicted by FIG. 1 .
- FIG. 3 is a block diagram illustrating exemplary VC mapping data, such as is depicted by FIG. 2 .
- FIG. 4 is a block diagram illustrating the VC mapping data of FIG. 3 after such data has been updated to indicate that data packets for a virtual circuit are to be dropped.
- FIG. 5 is a flow chart illustrating an exemplary method for updating VC mapping data, such as is depicted by FIG. 3 .
- FIG. 6 is a flow chart illustrating an exemplary method for processing a data packet received by a network node, such as is depicted by FIG. 2 .
- a packet network has at least a first node having a first port that is coupled directly to a second port of a second node.
- a virtual circuit is established such that a virtual connection exists between the two ports.
- the first node communicates with the second node to determine whether the second node is provisioned such that the second port is a member of the virtual circuit. If the second node is not provisioned such that the second port is a member of the virtual circuit, then the first node drops the data packets that (1) are carried by the virtual circuit and (2) are to be forwarded to the first port, as indicated by virtual circuit (VC) mapping data in the first node.
- VC virtual circuit
- FIG. 1 depicts an exemplary embodiment of a packet network 20 having a plurality of nodes 21 - 25 .
- the network 20 may have any number of nodes 21 - 25 in other embodiments.
- the network 20 is an Ethernet network in which each node 21 - 25 is configured to communicate data packets in accordance with applicable Ethernet protocols, and each node 21 - 25 is a carrier Ethernet switch.
- each node 21 - 25 is a carrier Ethernet switch.
- other types of networks and other types of network nodes are possible.
- each node 21 - 25 is coupled to and communicates with at least one other node 21 - 25 of the network 20 .
- conductive media such as twisted wire pairs, are used to couple one node 21 - 25 to another.
- other types of connections such as optical fibers, may be used to connect any of the nodes to another node, and it is possible for one or more of the nodes to communicate with another node wirelessly.
- At least one Layer 2 virtual circuit is established within the network 20 , and each packet has a virtual circuit (VC) identifier, such as a VLAN-tag or S-tag, that indicates which virtual circuit is to carry the packet.
- VC virtual circuit
- a virtual circuit is established between at least nodes 23 - 25 . That is, packets having a particular VC identifier and transmitted from the node 25 to the node 24 are transmitted, based on the VC identifier, by the node 24 to the node 23 such that a virtual connection for the virtual circuit exists between the nodes 23 and 24 .
- Each node within the virtual circuit has VC mapping data that indicates how to transport data packets carried by the virtual circuit. Such VC mapping data will be described in more detail hereafter.
- FIG. 2 depicts an exemplary embodiment of a node 24 of the network 20 .
- the node 24 has a plurality of ports 41 - 44 for transmitting and/or receiving data to and/or from external devices, such as other nodes of the network 20 .
- the ports 41 and 42 receive data packets from other nodes of the network 20
- the ports 43 and 44 transmit data packets to other nodes of the network 20 .
- the port 41 may be coupled directly to the node 25 and receive data packets from this node 25 .
- the port 43 may be coupled directly to the node 23 and transmit data packets to this node 23 .
- other numbers of ports 41 - 44 are possible in other embodiments, and it is possible for any port 41 - 44 to both receive and transmit data or, in other words, be bi-directional.
- each port 41 - 44 is coupled to switching logic 55 that is configured to forward packets from the ports 41 and 42 to the ports 43 and 44 .
- the switching logic 55 is configured to receive packets from the ports 41 and 42 and to determine which of the ports 43 and 44 are to transmit such packets from the node 24 .
- the port 43 or 44 selected for transmission by the switching logic 55 is based on the packet's VC identifier.
- the node 24 has memory 83 storing VC mapping data 86 that maps VC identifiers to port identifiers.
- the VC identifier used in the packets to identify a particular virtual circuit may be the same as a VC identifier that is used in the VC mapping data 86 to identify the same virtual circuit.
- a VC identifier used in a packet to identify a particular virtual circuit may be different than (e.g., have a different value) than a VC identifier that is used in the VC mapping data 86 to identify the same virtual circuit.
- the VC mapping data 86 has an entry that maps a VC identifier identifying such virtual circuit to a port identifier that identifies the port 43 , thereby indicating that the port 43 is a member of the virtual circuit.
- the switching logic 55 based on such mapping, forwards the data packets having the foregoing VC identifier to the port 43 such that the data packets are ultimately transmitted to the node 23 .
- port 43 of the node 24 is coupled to a port 91 of the node 23 via a communication connection 92 , such as a twisted pair or optical fiber.
- the VC mapping data 86 may include other attributes, such as MAC addresses, that can be used to deterministically make a forwarding decision among a plurality of ports that are members of the virtual circuit. Techniques for making forwarding decisions for packets are generally well known and will not be described in detail herein.
- FIG. 3 shows an exemplary embodiment of the VC mapping data 86 .
- the exemplary VC mapping data 86 of FIG. 3 is implemented as a data table having a plurality of entries, but other configurations of the data 86 are possible.
- Each entry stores a VC identifier (ID), a port identifier (ID), and a drop indicator, which will be described in more detail hereafter. Further, as described above, each entry may include other attributes (not shown in FIG. 3 ), such as MAC addresses, on which forwarding decisions can be based.
- ID VC identifier
- ID port identifier
- drop indicator which will be described in more detail hereafter.
- each entry may include other attributes (not shown in FIG. 3 ), such as MAC addresses, on which forwarding decisions can be based.
- MAC addresses such as MAC addresses
- the node 24 is configured to support six different virtual circuits, each associated with a different VC identifier ranging in value from “2” to “7.” Each entry also stores a port identifier that is mapped to the VC identifier within the same entry.
- a port identifier “43” identifies the port 43
- a port identifier “44” identifies the port 44 .
- data packets carried by a virtual circuit identified in the data 86 by a VC identifier of “2,” “3,” or “5” may be mapped to a port identifier identifying the port 43 and may, therefore, be forwarded to the port 43 .
- data packets carried by a virtual circuit identified in the data 86 by a VC identifier of “2,” “4,” “6,” or “7” may be mapped to a port identifier identifying the port 44 and may, therefore, be forwarded to the port 44 .
- each node 21 - 25 of the network 20 may be configured similar to the exemplary node 24 shown by FIG. 2 .
- each node 21 - 25 of the network 20 may store VC mapping data indicative of how the node is to transport data packets based on its respective VC identifiers, as described above for the exemplary node 24 shown by FIG. 2 .
- the node 23 stores VC mapping data 88 that maps VC identifiers to port identifiers for the ports of the node 23 .
- the node 23 uses the VC mapping data 88 to determine which ports are to be used to transmit data packets in the same manner that the node 24 uses the VC mapping data 86 , as described above.
- a virtual connection for a particular virtual circuit exists between the nodes 23 and 24 such that the node 24 transmits to the node 23 data packets that are carried by the virtual circuit.
- the VC mapping data 88 of the node 23 has an entry mapping a VC identifier identifying such virtual circuit to a port identifier identifying the port 91 that is coupled directly to the node 24 via connection 92 .
- the node 23 may not be adequately configured to transport data packets that are to be carried by the foregoing virtual connection. For example, during provisioning, a technician may erroneously fail to define an entry for the virtual circuit such that the VC mapping data 88 is missing a VC identifier that identifies such virtual circuit. In such a situation, the node 23 drops data packets that are to be carried by the virtual connection to the node 24 . In other words, the node 23 discards such data packets without transmitting them from the node 23 .
- logic within the node 23 upon receipt of a data packet that is carried by the virtual circuit, consults the VC mapping data 88 based on the packet's VC identifier and possibly other attributes to determine to which port the data packet is to be forwarded. However, the logic is unable to find a VC identifier in the VC mapping data 86 that identifies the same virtual circuit as the packet's VC identifier, and the logic is, therefore, unable to determine to which port the data packet should be forwarded. Thus, the logic discards the data packet without transmitting it from the node 23 .
- the node 24 is configured to communicate with at least one other node directly coupled to it via a communication connection in order to determine which virtual circuits are adequately supported by the other node for such connection.
- one node is directly coupled to another when it is the next hop for a data packet transmitted from the other node.
- a node is referred to as being “adjacent” to another node when it is directly coupled to the other node such that no intervening nodes exists between the two nodes.
- the node 24 determines that an adjacent node is not adequately configured to support a virtual circuit having a virtual connection between the node 24 and the adjacent node (e.g., not sufficiently configured to transport data packets that are carried by the virtual circuit), then the node 24 is configured to drop data packets that are to be carried by this virtual connection. Accordingly, the node 24 does not consume bandwidth and/or resources attempting to transmit a data packet to the adjacent node when the adjacent node is not configured to transport the data packet and, therefore, will drop the data packet.
- the nodes 21 - 25 are configured to exchange VC mapping data with adjacent nodes so that each node can determine whether an adjacent node is sufficiently configured to transport data packets that are carried by various virtual circuits. If the VC mapping data received from an adjacent node does not indicate that the adjacent node is provisioned such that its port for a virtual connection between the two nodes is, in fact, a member of a particular virtual circuit, then it is determined that the adjacent node is not sufficiently configured to transport data packets that are carried by this virtual circuit.
- the nodes 23 and 24 may be configured to exchange VC mapping data 86 and 88 . That is, the node 24 is configured to transmit at least a portion of the VC mapping data 86 to the node 23 , and the node 23 is configured to transmit at least a portion of the VC mapping data 88 to the node 24 . In one exemplary embodiment, the node 24 transmits each VC identifier of the data 86 that is mapped to the port 43 , and the node 23 transmits each VC identifier of the data 88 that is mapped to the port 91 . Control logic 95 ( FIG.
- the control logic 95 configures the node 24 to drop data packets that are to be carried by this virtual connection. Thereafter, if the node 24 receives a data packet that is carried by the foregoing virtual circuit (i.e., has a VC identifier that identifies the virtual circuit) and is to be forwarded to the port 43 , the node 24 drops the data packet rather than transmitting it to the node 23 where the packet would likely have been dropped anyway. Accordingly, the node 24 does not waste bandwidth or burden resources trying to transmit the data packet to the node 23 .
- the control logic 95 determines that data packets carried by a particular virtual circuit and mapped to a particular port are to be dropped, the control logic 95 updates the VC mapping data 86 to so indicate.
- the VC mapping data 86 correlates each entry of the data 86 with an indicator, referred to as a “drop indicator,” that indicates whether the node 24 is to drop data packets that are correlated with such entry.
- FIG. 3 depicts exemplary VC mapping data 86 of the node 24 having a drop indicator in each entry.
- the drop indicator is a one bit value.
- a value of “1” for the drop indicator indicates that correlated data packets are to be dropped, and a value of “0” for the drop indicator indicates that correlated data packets are not to be dropped.
- all of the drop indicators are assigned a value of “0” indicating that no packets are to be dropped.
- FIG. 4 shows the VC mapping data 86 after the drop indicator of the entry having the VC identifier “2” for port 43 has been updated to a value of “1” indicating that data packets correlated with such entry are to be dropped.
- the node 24 when the node 24 receives a data packet that (1) has a VC identifier identifying the same virtual circuit that is identified by the VC identifier of “2” in the data 86 and (2) is to be forwarded to the port 43 , the node 24 is configured to drop such data packet based on the VC mapping data 86 . In other embodiments, other types of drop indicators may be employed, and other techniques for indicating which packets are to be dropped are possible.
- the process of conveying VC mapping data between nodes is repeated from time-to-time so that the drop indicators can be appropriately updated based on the present state of the nodes 21 - 25 .
- the drop indicator for a particular virtual circuit indicates that data packets are to be dropped because an adjacent node that would have otherwise received the data packets is not sufficiently configured to transport the data packets
- the drop indicator may be later updated to indicate that the data packets are not to be dropped once the configuration of the adjacent node is changed so that it is sufficiently configured to transport the data packets.
- the node may communicate with other nodes such that the data packets are dropped at an earlier point in the network 20 .
- the node 24 may notify another node, such as node 25 , that is within the virtual circuit and that transmits data packets carried by the virtual circuit to the node 24 so that the node 25 may thereafter drop the data packets.
- the node 24 may be unaware of which of the other nodes 21 - 23 and 25 are configured to transmit the data packets of a particular virtual circuit to the node 24 .
- any node that is configured to drop data packets carried by a virtual circuit due to the inability of the node 23 to transport such data packets should be later updated to refrain from dropping the data packets once the configuration of the node 23 is updated to transport the data packets.
- the dropping of data packets when a node is not sufficiently provisioned to transport data packets of a particular virtual circuit is limited to the adjacent nodes. For example, once the node 24 determines that the node 23 does not adequately support a virtual circuit, then the node 24 updates its VC mapping data 86 to indicate that the node 24 is to drop data packets of the virtual circuit, as described above. However, in one exemplary embodiment, the node 24 does not propagate this information to the other nodes 21 , 22 , and 25 . Thus, the failure of the node 23 to adequately support the virtual circuit does not cause these other nodes 21 , 22 , and 25 to drop the packets carried by such virtual circuit at an earlier point in the network 20 . For example, if the node 25 is within the foregoing virtual circuit, the node 25 continues to transmit data packets that are carried by the virtual circuit to the node 24 at which point the packets are dropped by the node 24 .
- the switching logic 55 and the control logic 95 of FIG. 2 are both implemented in hardware. However, in other embodiments, it is possible for any such components to be implemented in hardware, software, firmware, or any combination thereof. If any portion of the node 24 is implemented in software or firmware, then the node 24 may comprise an instruction execution apparatus, such as a processor, for executing instructions of the software or firmware.
- the packet network 20 is an Ethernet network
- Ethernet virtual circuit (EVC) Advertisement is used to communicate EVC provisioning information between adjacent nodes.
- EVC Ethernet virtual circuit
- current Ethernet standards define a control channel, referred to as Operations, Administration, and Maintenance (OAM), that allows nodes to discover information regarding various control parameters about other nodes in an Ethernet network.
- OAM Operations, Administration, and Maintenance
- the nodes communicate control information to one another via control packets.
- Each such control packet has a data field and an operational (op) code that indicates the type of information carried in the data field.
- op operational
- at least one op code is defined to indicate that the information in the data field is vendor-specific such that a vendor may use the data field to transport any desired information without violating Ethernet protocol.
- EVC Advertisement refers to a vendor-specific protocol that allows Ethernet OAM messages to be used to transport EVC provisioning information as described herein.
- An EVC Advertisement message refers to a message in accordance with EVC Advertisement protocol.
- an EVC Advertisement message is an Ethernet OAM control packet that has its op code set to indicate that the information in the packet's data field is vendor-specific.
- EVC Advertisement messages are used in one exemplary embodiment to carry the VC mapping data of one node to an adjacent node.
- each of the nodes 23 and 24 is configured to determine whether the other is EVC Advertisement compatible so that EVC Advertisement messages communicated from one node can be successfully interpreted by the other node. If so, the nodes 23 and 24 use EVC Advertisement messages to exchange provisioning information so that either of the nodes 23 and/or 24 may decide to drop messages based on the provisioning of the other node, as described herein. In this regard, if both of the nodes 23 and 24 are EVC Advertisement compatible, the node 23 is configured to transmit, to the node 24 , VC identifiers of the VC mapping data 88 for the port 91 via EVC Advertisement messages.
- the control logic 95 of the node 24 compares these VC identifiers to the ones in the VC mapping data 88 for port 43 to determine whether to drop data packets. In this regard, if the VC mapping data 88 maps a VC identifier to the port 43 coupled to the node 23 but a VC identifier identifying the same virtual circuit as the one mapped to the port 43 is not received in the VC mapping data 86 from the node 23 , then the control logic 95 of the node 24 adjusts the drop indicator correlated with such VC identifier in the data 88 to indicate that the data packets identifying the same virtual circuit and mapped to the port 43 are to be dropped by the node 24 .
- the control logic 95 of the node 24 is configured to transmit to the node 23 , VC identifiers of the VC mapping data 86 for the port 43 to the node 23 , which similarly uses such VC identifiers to determine whether to drop data packets that otherwise would have been transmitted to the node 24 .
- provisioning information e.g., VC identifiers
- each node 23 and 24 is configured to transmit VC identifiers of its respective VC mapping data 88 and 86 to the other node each time its VC mapping data is updated (e.g., re-provisioned).
- the drop indicators are appropriately updated over time as the VC mapping data at either node 23 or 24 changes.
- EVC Advertisement messaging provides a channel for communicating provisioning information from one node to another, as described herein, such provisioning information may be communicated between the nodes via other techniques and protocols, if desired.
- the node 23 or 24 is aware that the other is not configured to enable packet dropping according to the embodiments described herein. For example, assume that the node 24 transmits VC identifiers of the VC mapping data 86 to the node 23 via EVC Advertisement messages or otherwise, as described above. If the node 24 does not receive an expected reply, such as VC identifiers of the VC mapping data 88 , within a specified time period, then the node 24 assumes that the node 23 is not configured to enable packet dropping, as described herein.
- control logic 95 sets the drop indicator in the tag mapping data 86 for each entry correlated with the port 43 to a value of “0” to indicate that no packets carried by the virtual connection between the nodes 23 and 24 should be dropped based on the data 86 .
- a node 24 configured according to the instant disclosure may be deployed in networks that include conventional node, which are not configured to enable packet dropping as described herein. If a node adjacent to such deployed node 24 enables packet dropping, as described herein, then the two nodes may exchange VC mapping data and selectively drop packets as described herein, thereby increasing the overall efficiency of the network 20 . However, if the adjacent node is not configured to enable packet dropping, then the node 24 operates similar to conventional nodes by not dropping data packets based on the provisioning of the adjacent node, and the deployment of the node 24 does not cause any errors or otherwise degrade the performance of the network 20 .
- any of the nodes of the network 20 may be configured to communicate with adjacent nodes and to drop data packets that otherwise would have been transmitted to the adjacent nodes if the adjacent nodes are not sufficiently configured to transport the data packets.
- the network 20 is an Ethernet network and each of the nodes 21 - 25 is a carrier Ethernet switch of the network 20 .
- an Ethernet virtual circuit (EVC), referred to hereafter as “EVC A,” is established such that there is a virtual connection between the nodes 23 and 24 .
- EVC Ethernet virtual circuit
- data packets having a particular VC identifier that identifies the EVC A are to be transmitted by the node 24 to the node 23 via connection 92 .
- the value of this VC identifier in the packets is “27.”
- the node 24 is provisioned by a technician to transmit data packets that are carried by the EVC A to the node 23 .
- the VC mapping data 86 is defined to include a VC identifier, which has a value of “2” in this example, that identifies EVC A, and the data 86 maps such VC identifier to a port identifier that identifies the port 43 coupled directly to the node 23 .
- this port identifier has a value of “43.” Since the port 43 is coupled directly to the node 23 , any data packets transmitted from the port 43 should be received by the node 23 via connection 92 .
- the VC mapping data 86 is provisioned according to FIG. 3 .
- the first entry which has a VC identifier value of “2” and a port identifier of “43,” corresponds to the EVC A, which has a virtual connection between the nodes 23 and 24 .
- the drop indicator for each entry is initialized to a value of “0” indicating that the node 24 is not to drop any data packets based on the VC mapping data 86 .
- the node 24 receives VC mapping data 88 from the node 23 .
- such VC mapping data 88 is automatically transmitted to the node 24 by the node 23 in response to an update to such VC mapping data 88 (e.g., a provisioning or re-provisioning of the data 88 in the node 23 ).
- the node 23 transmits each VC identifier in the data 88 that is mapped to the port identifier of the port 91 . That is, each VC identifier identifying a virtual circuit to which the port 91 is a member, as indicated by the data 88 , is transmitted to the node 24 via connection 92 .
- the control logic 95 of the node 24 compares the VC mapping data 88 from the node 23 with the VC mapping data 86 of the node 24 to determine whether any of the drop indicators of the VC mapping data 86 should be updated. There are various techniques that may be used to compare the VC mapping data 86 and 88 .
- the control logic 95 retrieves, from the VC mapping data 86 , VC identifiers that are mapped to the port identifier identifying the port 43 that is coupled to and transmits to the node 23 , as shown by block 115 of FIG. 5 . Since the VC mapping data 86 indicates that packets having such identifiers may be transmitted to the node 23 via the port 43 , the VC mapping data 88 from the node 23 ideally should include VC identifiers that identify the same virtual circuits as those identified by the VC identifiers retrieved by the control logic 95 .
- the node 23 is not provisioned to indicate that the port 91 is a member of such virtual circuit.
- control logic 95 retrieves from the data 86 the VC identifier associated with EVC A in block 115 . As indicated above, this VC identifier has a value of “2.” The control logic 95 compares the value of the retrieved VC identifier to the VC identifiers in the VC mapping data 88 received from the node 23 in order to determine whether the retrieved VC identifier identifies the same virtual circuit as any of the VC identifiers in the VC mapping data 88 , as shown by block 118 .
- the foregoing may be achieved by determining whether any of the VC identifiers in the received data 88 matches the VC identifier retrieved from the data 86 .
- the control logic 95 is unable to locate a VC identifier of EVC A in the VC mapping data 88 and, therefore, makes a “no” determination in block 118 .
- the control logic 95 asserts the drop indicator correlated with the VC identifier of EVC A for port 43 in the VC mapping data 86 stored at node 24 such that the value of this drop indicator is changed to a value of “1,” as shown by FIG. 4 and block 121 of FIG. 5 . If a VC identifier of EVC A had been in the VC mapping data 88 such that the control logic 95 made a “yes” determination in block 118 , then the control logic 95 would have instead deasserted the drop indicator correlated with the VC identifier of EVC A in the VC mapping data 86 such that the value of this drop indicator would be “0,” as shown by block 125 of FIG. 5 .
- the control logic 95 determines whether each VC identifier in the VC mapping data 86 correlated with the port identifier of port 43 has been retrieved and analyzed. If not, the control logic 95 returns to block 115 in order to retrieve and analyze another VC identifier. Accordingly, the control logic 95 eventually also retrieves and analyzes the VC identifiers having values “3” and “5” from the VC mapping data 86 since these VC identifiers are each correlated with the port identifier of port 43 .
- the VC mapping data 88 received from the node 23 includes VC identifiers having values “3” and “5” such that the drop indicators for the VC identifiers of “3” and “5” in the data 86 are deasserted.
- the drop indicator for the VC identifier of EVC A for port 43 is updated to a value of “1,” thereby indicating that the node 24 is to drop packets that (1) are carried by EVC A and (2) are to be forwarded to the port 43
- the node 24 receives a data packet from the node 25 having a VC identifier that identifies EVC A.
- the switching logic 55 of the node 24 searches the VC mapping data 86 and associates an entry of such data 86 with the received packet, as shown by block 142 of FIG. 6 .
- Such entry has a VC identifier identifying EVC A and indicates to which port 43 or 44 the packet is to be forwarded.
- the switching logic 55 Upon finding the associated entry, the switching logic 55 retrieves the entry's port identifier and drop indicator, as shown by block 146 of FIG. 6 . The switching logic 55 then analyzes the entry's drop indicator in block 152 to determine whether the data packet is to be dropped. In the instant example, assume that the packet is to be forwarded to port 43 and the drop indicator is, therefore, asserted indicating that packets associated with the entry are to be dropped, as shown by FIG. 4 . Thus, the switching logic 55 drops the data packet, as shown by block 154 of FIG. 6 . In this regard, the switching logic 55 discards the packet without the packet being transmitted to the node 23 .
- the control logic 95 deasserts the drop indicator in the VC mapping data 86 correlated with the VC identifier of EVC A (i.e., the VC identifier having a value of “2” in the instant example) and the port identifier of port 43 .
- the foregoing drop indicator is changed to a value of “0,” as shown by FIG. 3 , indicating that the node 24 should not drop packets that (1) have a VC identifier identifying EVC A and (2) are to be forwarded to the port 43 .
- the switching logic 55 of the node 24 searches the VC mapping data 86 and associates an entry of such data 86 with the received packet, as shown by block 142 of FIG. 6 .
- Such entry has a VC identifier identifying EVC A and indicates to which port 43 or 44 the packet is to be forwarded.
- the switching logic 55 retrieves the entry's port identifier and drop indicator, as shown by block 146 of FIG. 6 .
- the switching logic 55 analyzes the entry's drop indicator in block 152 to determine whether the data packet is to be dropped.
- the switching logic 55 forwards the data packet to the port identified by the retrieved port identifier, as shown by block 157 of FIG. 6 .
- the switching logic 55 transmits the data packet to the port 43 such that the packet is eventually received by the node 23 via the connection 92 .
Abstract
Description
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/892,598 US8934492B1 (en) | 2010-09-28 | 2010-09-28 | Network systems and methods for efficiently dropping packets carried by virtual circuits |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/892,598 US8934492B1 (en) | 2010-09-28 | 2010-09-28 | Network systems and methods for efficiently dropping packets carried by virtual circuits |
Publications (1)
Publication Number | Publication Date |
---|---|
US8934492B1 true US8934492B1 (en) | 2015-01-13 |
Family
ID=52247805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/892,598 Active 2032-01-21 US8934492B1 (en) | 2010-09-28 | 2010-09-28 | Network systems and methods for efficiently dropping packets carried by virtual circuits |
Country Status (1)
Country | Link |
---|---|
US (1) | US8934492B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11197224B1 (en) | 2018-02-19 | 2021-12-07 | Synapse Wireless, Inc. | Systems and methods for routing messages through wireless networks |
US11303475B2 (en) * | 2019-06-13 | 2022-04-12 | Rohde & Schwarz Gmbh & Co. Kg | Remote access and control system and corresponding method |
US11876790B2 (en) * | 2020-01-21 | 2024-01-16 | The Boeing Company | Authenticating computing devices based on a dynamic port punching sequence |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157647A (en) | 1996-11-06 | 2000-12-05 | 3Com Corporation | Direct addressing between VLAN subnets |
US20020009088A1 (en) * | 1999-11-30 | 2002-01-24 | Donaghey Robert J. | Systems and methods for negotiating virtual circuit paths in packet switched networks |
US20050223102A1 (en) | 2004-03-31 | 2005-10-06 | Microsoft Corporation | Routing in peer-to-peer networks |
US20060182133A1 (en) | 2003-12-12 | 2006-08-17 | Takanori Choumaru | Data transmission device |
US20080130516A1 (en) | 2004-12-21 | 2008-06-05 | Electronics And Telecommunications Research Institute | P2p Overplay Network Construction Method and Apparatus |
US20080215910A1 (en) | 2005-08-17 | 2008-09-04 | Nortel Networks Limited | High-Availability Networking with Intelligent Failover |
US20080288580A1 (en) | 2007-05-16 | 2008-11-20 | Microsoft Corporation | Peer-to-peer collaboration system with edge routing |
US20100150160A1 (en) * | 2003-07-21 | 2010-06-17 | At&T Corp. | Interworking oam between ethernet and atm/frame relay networks |
-
2010
- 2010-09-28 US US12/892,598 patent/US8934492B1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157647A (en) | 1996-11-06 | 2000-12-05 | 3Com Corporation | Direct addressing between VLAN subnets |
US20020009088A1 (en) * | 1999-11-30 | 2002-01-24 | Donaghey Robert J. | Systems and methods for negotiating virtual circuit paths in packet switched networks |
US20100150160A1 (en) * | 2003-07-21 | 2010-06-17 | At&T Corp. | Interworking oam between ethernet and atm/frame relay networks |
US20060182133A1 (en) | 2003-12-12 | 2006-08-17 | Takanori Choumaru | Data transmission device |
US20050223102A1 (en) | 2004-03-31 | 2005-10-06 | Microsoft Corporation | Routing in peer-to-peer networks |
US20080130516A1 (en) | 2004-12-21 | 2008-06-05 | Electronics And Telecommunications Research Institute | P2p Overplay Network Construction Method and Apparatus |
US20080215910A1 (en) | 2005-08-17 | 2008-09-04 | Nortel Networks Limited | High-Availability Networking with Intelligent Failover |
US20080288580A1 (en) | 2007-05-16 | 2008-11-20 | Microsoft Corporation | Peer-to-peer collaboration system with edge routing |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11197224B1 (en) | 2018-02-19 | 2021-12-07 | Synapse Wireless, Inc. | Systems and methods for routing messages through wireless networks |
US11303475B2 (en) * | 2019-06-13 | 2022-04-12 | Rohde & Schwarz Gmbh & Co. Kg | Remote access and control system and corresponding method |
US11876790B2 (en) * | 2020-01-21 | 2024-01-16 | The Boeing Company | Authenticating computing devices based on a dynamic port punching sequence |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7619987B2 (en) | Node device | |
US8125914B2 (en) | Scaled Ethernet OAM for mesh and hub-and-spoke networks | |
JP5345942B2 (en) | Ethernet OAM in intermediate nodes of PBT network | |
US7548540B2 (en) | Dynamic discovery of ISO layer-2 topology | |
US8155028B2 (en) | Method and apparatus for providing full logical connectivity in MPLS networks | |
US6952397B2 (en) | Communication in a bidirectional ring network with single-direction receiving | |
US7733807B2 (en) | Systems and methods for accelerated learning in ring networks | |
US20050259589A1 (en) | Logical services loopback | |
US20050044211A1 (en) | Self-healing tree network | |
JP2021168480A (en) | Method for processing dcn packet, network device, and network system | |
US10931530B1 (en) | Managing routing resources of a network | |
CN102986176A (en) | Method and apparatus for MPLS label allocation for a BGP MAC-VPN | |
CN112868214B (en) | Coordinated load transfer OAM records within packets | |
US9515881B2 (en) | Method, device, and system for packet processing | |
US20200344152A1 (en) | Network Operations Reactive to Operations Data included in Seamless Bidirectional Forwarding Detection (S-BFD) Packets | |
US8934492B1 (en) | Network systems and methods for efficiently dropping packets carried by virtual circuits | |
CN102710500A (en) | Method for processing conflict of identifiers of device groups in network, and route bridge | |
US20200169498A1 (en) | Pre-populating Media Access Control (MAC) address tables in networks where flooding of MAC addresses is blocked | |
EP3242443B1 (en) | Path continuity determination in an aggregate flow environment | |
US9825850B2 (en) | Network controlling method and network controller | |
US11082540B2 (en) | Network operations including protocol processing of a packet updating an operations data field of a different protocol | |
US9742670B2 (en) | Non-eligible distance vector protocol paths as backup paths | |
CN116319160A (en) | Communication method and device | |
CN116389548A (en) | Detection method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ADTRAN, INC., ALABAMA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:KING, RICHARD PAUL;RUBLE, ANDREW T.;BOYD, JOSEPH LEE;REEL/FRAME:029705/0669 Effective date: 20100927 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551) Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
AS | Assignment |
Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT, COLORADO Free format text: SECURITY INTEREST;ASSIGNOR:ADTRAN, INC.;REEL/FRAME:060692/0249 Effective date: 20220718 |