The present disclosure relates generally to communications systems.
The communications industry is rapidly changing to adjust to emerging technologies and ever increasing customer demand. This customer demand for new applications and increased performance of existing applications is driving communications network and system providers to employ networks and systems having greater speed and capacity (e.g., greater bandwidth). In trying to achieve these goals, a common approach taken by many communications providers is to use packet switching technology.
A virtual local area network (LAN), commonly known as a VLAN, is a group of hosts with a common set of requirements that communicate as if they were attached to the broadcast domain, regardless of their physical location. A VLAN has the same attributes as a physical LAN, but it allows for end stations to be grouped together even if they are not located on the same network switch.
Configuration of VLANs can be a complex task. Multiple VLAN Registration Protocol (MVRP) is used to ease this burden, as it is a standards-based Layer 2 network protocol for automatic configuration of VLAN information on switches. Within a Layer 2 network, MVRP provides a method to dynamically share VLAN information and configure the needed VLANs. For example, in order to add a switch port to a VLAN, only the end port, or the VLAN-supporting network device connected to the port, needs to be reconfigured, and all necessary VLAN trunks are dynamically created on the other MVRP-enabled switches. Without MVRP, (or the similar Cisco-proprietary protocol VTP) manual configuration of VLAN trunks is necessary.
The appended claims set forth the features of the invention with particularity. The invention, together with its advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:
Disclosed are, inter alia, methods, apparatus, computer-storage media, mechanisms, and means associated with the controlled propagation of virtual local area network (VLAN) declarations. One embodiment includes a packet switching device, comprising a plurality of interfaces communicatively coupled to each other, with each of the plurality of interfaces configured to send and receive packets, the plurality of interfaces including a first interface and a second interface. The packet switching device is configured to propagate virtual local area network (VLAN) declaration information, received on the first interface for a particular VLAN, out the second interface in response to the receipt of VLAN declaration information corresponding to the particular VLAN also being received on the second interface; and wherein the packet switching device is configured not to propagate VLAN declaration information, received on the first interface for the particular VLAN, out the second interface in response to the not receiving VLAN declaration information corresponding to the particular VLAN on the second interface within a predetermined time frame.
Disclosed are, inter alia, methods, apparatus, computer-storage media, mechanisms, and means associated with the controlled propagation of virtual local area network (VLAN) declarations. Embodiments described herein include various elements and limitations, with no one element or limitation contemplated as being a critical element or limitation. Each of the claims individually recites an aspect of the invention in its entirety. Moreover, some embodiments described may include, but are not limited to, inter alia, systems, networks, integrated circuit chips, embedded processing elements, ASICs, methods, and computer-readable media containing instructions. The embodiments described hereinafter embody various aspects and configurations within the scope and spirit of the invention, with the figures illustrating exemplary and non-limiting configurations. Note, computer-readable media and means for performing methods and processing block operations are disclosed and are in keeping with the extensible scope and spirit of the invention.
Note, the steps, connections, and processing of signals and information illustrated in the figures, including, but not limited to any block and flow diagrams and message sequence charts, may typically be performed in the same or in a different serial or parallel ordering and/or by different components and/or processes, threads, etc., and/or over different connections and be combined with other functions in other embodiments, unless this disables the embodiment or a sequence is explicitly or implicitly required (e.g., for a sequence of read the value, process said read value—the value must be obtained prior to processing it, although some of the associated processing may be performed prior to, concurrently with, and/or after the read operation).
The term “one embodiment” is used herein to reference a particular embodiment, wherein each reference to “one embodiment” may refer to a different embodiment, and the use of the term repeatedly herein in describing associated features, elements and/or limitations does not establish a cumulative set of associated features, elements and/or limitations that each and every embodiment must include, although any embodiment may include some, all or none of the features, elements and/or limitations described in relation to a particular different one embodiment. In addition, the terms “first,” “second,” etc. are typically used herein to denote different units (e.g., a first element, a second element). The use of these terms herein does not necessarily connote an ordering such as one unit or event occurring or coming before another, but rather provides a mechanism to distinguish between particular units. Moreover, the phrases “based on x” and “in response to x” are used to indicate a minimum set of items “x” from which something is derived or caused, wherein “x” is extensible and does not necessarily describe a complete list of items on which the operation is performed, etc. Additionally, the phrase “coupled to” is used to indicate some level of direct or indirect connection between two elements or devices, with the coupling device or devices modifying or not modifying the coupled signal or communicated information. Moreover, the term “or” is used herein to identify a selection of one or more, including all, of the conjunctive items. Additionally, the transitional term “comprising,” which is synonymous with “including,” “containing,” or “characterized by,” is inclusive or open-ended and does not exclude additional, unrecited elements or method steps. Note, nothing described or referenced in this document is admitted as prior art to this application unless explicitly so stated.
Disclosed are, inter alia, methods, apparatus, computer-storage media, mechanisms, and means associated with the controlled propagation of virtual local area network (VLAN) declarations. One embodiment includes a packet switching device, comprising: a plurality of interfaces communicatively coupled to each other, with each of the plurality of interfaces configured to send and receive packets, the plurality of interfaces including a first interface and a second interface; wherein the packet switching device is configured to propagate virtual local area network (VLAN) declaration information, received on the first interface for a particular VLAN, out the second interface in response to the receipt of VLAN declaration information corresponding to the particular VLAN also being received on the second interface; and wherein the packet switching device is configured not to propagate VLAN declaration information, received on the first interface for the particular VLAN, out the second interface in response to the not receiving VLAN declaration information corresponding to the particular VLAN on the second interface within a predetermined time frame.
In one embodiment, said VLAN declaration information is Multiple VLAN Registration Protocol (MVRP) registration information. In one embodiment, wherein the packet switching device is configured to send declaration information out the second interface for only active, and not inactive, VLANs excluding said active VLANs for which VLAN declaration information corresponding to the said active VLAN has not been received on the second interface within a predetermined time frame In one embodiment, the predetermined time frame is measured by not receiving VLAN declaration information on the second interface in response to a predetermined number of LeaveAll messages. In one embodiment, the packet switching device is configured to propagate VLAN declaration information, received on the first interface for the particular VLAN, out the second interface in response to the receipt of VLAN declaration information corresponding to the particular VLAN also being received on the second interface subsequent to not propagating VLAN declaration information, received on the first interface for the particular VLAN, out the second interface in response to the not receiving VLAN declaration information corresponding to the particular VLAN on the second interface within the predetermined time frame. In one embodiment, the plurality of interfaces includes one or more additional interfaces in addition to the first and second interfaces; and wherein the packet switching device is configured for each particular interface of said one or more additional interfaces: to propagate VLAN declaration information, received on the first interface for the particular VLAN, out said particular interface in response to the receipt of VLAN declaration information corresponding to the particular VLAN also being received on the particular interface; and not to propagate VLAN declaration information, received on the first interface for the particular VLAN, out said particular interface in response to the not receiving VLAN declaration information corresponding to the particular VLAN on said particular interface within the predetermined time frame. In one embodiment, the packet switching device includes one or more storage devices for maintaining information for determining whether or not VLAN declaration information has been received within the predetermined time frame for each individual interface of a set of interfaces including the second interface and said one or more additional interfaces.
In one embodiment, the packet switching device is configured to propagate VLAN declaration information, received on the first interface for the particular VLAN, out the second interface in response to the receipt of VLAN declaration information corresponding to the particular VLAN also being received on the second interface subsequent to not propagating VLAN declaration information, received on the first interface for the particular VLAN, out the second interface in response to the not receiving VLAN declaration information corresponding to the particular VLAN on the second interface within the predetermined time frame.
In one embodiment, the plurality of interfaces includes one or more additional interfaces in addition to the first and second interfaces; and wherein the packet switching device is configured for each particular interface of said one or more additional interfaces: to propagate VLAN declaration information, received on the first interface for the particular VLAN, out said particular interface in response to the receipt of VLAN declaration information corresponding to the particular VLAN also being received on the particular interface; and not to propagate VLAN declaration information, received on the first interface for the particular VLAN, out said particular interface in response to the not receiving VLAN declaration information corresponding to the particular VLAN on said particular interface within the predetermined time frame. In one embodiment, the packet switching device includes one or more storage devices for maintaining information for determining whether or not VLAN declaration information has been received within the predetermined time frame for each individual interface of a set of interfaces including the second interface and said one or more additional interfaces.
One embodiment includes a method, comprising: employing a packet switching device to perform operations, the packet switching device including a plurality of interfaces configured to send and receive packets, the plurality of interfaces including a first interface and one or more additional interfaces different than the first interface; and wherein said operations include: maintaining, on a per interface of said one or more additional interfaces basis for each of one or more virtual local area networks (VLANs), information regarding receipt of virtual local area network (VLAN) declaration information received on each of said one or more additional interfaces for each of said one or more VLANs; receiving VLAN declaration information for a first VLAN of said one or more VLANs; and propagating and suppressing propagation of said received VLAN declaration information out each of said one or more additional interfaces according to a determination based on said maintained information for the first VLAN for each particular interface of said one or more additional interfaces; wherein said determination includes: propagating said VLAN declaration for the first VLAN out said particular interface when said maintained information for the first VLAN reflects that declaration information for the first VLAN has been received on the particular interface, and not propagating said VLAN declaration for the first VLAN out said particular interface when said maintained information for the first VLAN reflects that declaration information for the first VLAN has not been received on the particular interface.
In one embodiment, said VLAN declaration information is Multiple VLAN Registration Protocol (MVRP) registration information. One embodiment includes updating said maintained information to reflect whether or not registration information has been received on a specific interface of said one or more additional interfaces for a specific VLAN in response to a LeaveAll message corresponding to the specific VLAN sent out of the specific interface. In one embodiment, said updating said maintained information includes identifying not to propagate received VLAN declaration information for the specified VLAN out the specified interface when VLAN declaration information for the specified VLAN has not been received on the specified interface in response to a predetermined number of LeaveAll messages. In one embodiment, said updating said maintained information includes identifying to propagate received VLAN declaration information for the specified VLAN out the specified interface when VLAN declaration information for the specified VLAN has been received on the specified interface in response to a LeaveAll message. In one embodiment, said propagation of said received VLAN declaration information includes sending a message including declaration information for only active, and not inactive, VLANs of said one or more VLANs excluding said active VLANs for which VLAN declaration information has not been received on said particular interface in response to a predetermined number of LeaveAll messages sent out particular interface. In one embodiment, said propagation of said received VLAN declaration information includes sending a message including declaration information for only active, and not inactive, VLANs of said one or more VLANs excluding said active VLANs for which VLAN declaration information has not been received on said particular interface within a predetermined time frame.
One embodiment includes a packet switching device, comprising: a plurality of interfaces communicatively coupled to each other, with each of the plurality of interfaces configured to send and receive packets; means for maintaining, on a per interface of said the plurality of interfaces basis for each of a plurality of virtual local area networks (VLANs), information regarding receipt of virtual local area network (VLAN) declaration information received on each of said plurality of interfaces for each of said plurality of VLANs; and means for propagating and suppressing propagation of received VLAN declaration information for each of a plurality of active VLANs of the plurality of VLANS out each of the plurality of interfaces according to a determination based on said maintained information for each particular interface of the plurality of interfaces; wherein said determination includes: propagating said VLAN declaration for each said active VLAN out said particular interface when said maintained information for said active VLAN reflects that declaration information for said active VLAN has been received on the particular interface, and not propagating said VLAN declaration for said active VLAN out said particular interface when said maintained information for said active VLAN reflects that declaration information for said active VLAN has not been received on the particular interface.
In one embodiment, said VLAN declaration information is Multiple VLAN Registration Protocol (MVRP) registration information. In one embodiment, said means for maintaining is responsive to LeaveAll messages.
Expressly turning to the figures,
In one embodiment, such as shown in
Note, in one embodiment, the VLAN declaration information is initially propagated throughout network 100, and after some predetermined time frame (which may be adjusted according to the topology of the network), packet switching devices selectively cease to propagate VLAN declaration information out interfaces to packet switching devices which do not require this information. One embodiment determines what VLAN information to distribute out each interface by maintaining information concerning received VLAN declaration information on a per interface per VLAN basis (also considered as being on a per VLAN per interface basis). Therefore, one embodiment selectively propagates (e.g., sends, communicates), and suppresses propagation (e.g., does not send nor communicate), VLAN declaration information out interfaces in order to reduce VLAN declaration information sent out interfaces which does not carry corresponding VLAN traffic.
Turning to
In one embodiment, system or component 200 includes a processing element 201, memory 202, storage devices 203, specialized components 205 (e.g. optimized hardware such as for performing lookup operations, maintaining VLAN declaration information, etc.) and interface(s) 207 for communicating information (e.g., sending and receiving packets, user-interfaces, displaying information, etc.), which are typically communicatively coupled via one or more communications mechanisms 209, with the communications paths typically tailored to meet the needs of the application.
Various embodiments of component 200 may include more or less elements. The operation of component 200 is typically controlled by processing element 201 using memory 202 and storage devices 203 to perform one or more tasks or processes. Memory 202 is one type of computer-readable/computer-storage medium, and typically comprises random access memory (RAM), read only memory (ROM), flash memory, integrated circuits, and/or other memory components. Memory 202 typically stores computer-executable instructions to be executed by processing element 201 and/or data which is manipulated by processing element 201 for implementing functionality in accordance with an embodiment. Storage devices 203 are another type of computer-readable medium, and typically comprise solid state storage media, disk drives, diskettes, networked services, tape drives, and other storage devices. Storage devices 203 typically store computer-executable instructions to be executed by processing element 201 and/or data which is manipulated by processing element 201 for implementing functionality in accordance with an embodiment.
For example,
As shown, one embodiment maintains for each VLAN 401 (e.g., VLANs numbered 1-4094), including an active flag 421 identifying whether or not the VLAN is active within the packet switching device. In one embodiment, if the VLAN is not active, declaration information is not maintained nor propagated. In one embodiment, data (431, 432) is also maintained for each VLAN (401) for each interface (411-412) of the packet switching device. Time frame (431) is used to maintain an indication of some amount of time (e.g., duration, number of MVRP LeaveAll message received) relative to the receipt of a VLAN declaration, such as, but not limited to, use for determining whether or not a VLAN declaration was received within a predetermined time frame. State (432) is used to maintain an indication of whether VLAN declarations for the corresponding VLAN (401) for the interface (411-412) should be propagated or suppressed. Note, one embodiment does not use state 432 as it may be determined based on time frame 431 and/or active flag 421.
Next,
In one embodiment, in response to an MVRP LeaveAll message (which instructs VLAN participants to generate and communication corresponding VLAN declarations), each (active VLAN, interface) pairing is checked to see if the predetermined time frame has expired since a last VLAN declaration for the VLAN has been received on the interface. If so, then the propagation of VLAN declarations for that VLAN will be suppressed from being sent out of that interface. If not, the time duration is updated accordingly. When a VLAN declaration is received for a VLAN on an interface, the corresponding time frame is reset, and the state is set to propagate.
Processing begins with process block 320. In process block 322, a MVRP LeaveAll message is received. For each active VLAN (process block 324 and loop from process block 326 to 344): for each interface of the packet switching device (process block 326 and loop from process block 328 to 340): process blocks 328 to 336 are performed. As determined in process block 328, if the time duration for the (VLAN, interface) is equal to a predetermined value (e.g., a corresponding VLAN declaration has not been received within a predetermined time), then in process block 330, the (VLAN, interface) is set to the suppression state. Otherwise, as determined in process block 332, if a corresponding declaration has been received, then in process block 334, the (VLAN, interface) is set to the propagate state, and its time duration is reset. Otherwise, in process block 336 the corresponding time duration is incremented accordingly.
Turning to
Next, in process block 508: the VLAN declaration information is propagated, or such propagation suppressed, of the received VLAN declaration information out each of the other interfaces of the packet switch according to a determination based on the maintained information for the first VLAN for each particular interface of the other interfaces; wherein said determination includes: propagating said VLAN declaration for the first VLAN out said particular interface when maintained information for the first VLAN reflects that declaration information for the first VLAN has been received on the particular interface, and not propagating said VLAN declaration for the first VLAN out said particular interface when said maintained information for the first VLAN reflects that declaration information for the first VLAN has not been received on the particular interface within a predetermined time frame. Processing of the flow diagram of
As shown in
In view of the many possible embodiments to which the principles of our invention may be applied, it will be appreciated that the embodiments and aspects thereof described herein with respect to the drawings/figures are only illustrative and should not be taken as limiting the scope of the invention. For example, and as would be apparent to one skilled in the art, many of the process block operations can be re-ordered to be performed before, after, or substantially concurrent with other operations. Also, many different forms of data structures could be used in various embodiments. The invention as described herein contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof.
Number | Date | Country | Kind |
---|---|---|---|
2223/DEL/2009 | Oct 2009 | IN | national |