This disclosure relates to a photonic-based distributed network switch useable in a broadcast-based photonic network.
Conventional networks that employ commercial-off-the-shelf switches require specialized distribution protocols and/or specialized synchronization protocols to distribute routing information between switches.
A photonic-based distributed network switch is described that updates independent ports of the switch in parallel based on information that flows through the ports to and from a passive photonic broadcast star. Because each port sees the same information via the passive photonic broadcast star, each port can harvest information from the data flow in parallel and update itself based on the harvested information.
In one embodiment, in a photonic-based distributed switch that includes a passive photonic broadcast star and a plurality of independent ports connected to the broadcast star, each of the ports harvests broadcast information from the broadcast star in parallel.
In another embodiment, a method comprises providing a photonic-based distributed switch that includes a passive optical star and a plurality of independent ports connected to the optical star. A data frame is directed into a first one of the ports from a source external to the distributed switch. The first port harvests information from the data frame and forwards the data frame to the optical star. The optical star then distributes the data frame to the remaining ports which harvest information from the data frame in parallel.
The harvested information can be any information that the ports may need to function correctly or utilize to improve port function(s). For example, the harvested information can relate to distribution or addressing of information to and from the respective port, thereby eliminating the need for specialized distribution protocols and/or specialized synchronization protocols. Examples of information relating to distribution or addressing includes, but is not limited to, media access control (MAC) addresses, internet protocol (IP) addresses, or Logical Link Control (LLC) information.
The harvested information can also relate to information unrelated to distribution or addressing of information, including, but not limited to, quality of service or network health. Examples of quality of service include, but are not limited to, enforcement of a bandwidth reservation policy with respect to latency per application, allocated bandwidth per application, etc., as well as bit rate, bit error rate, delay, jitter, packet dropping probability. Examples of network health includes, but are not limited to, determining if network performance is degrading because of device failure, how to perform failover, etc.
The information can be harvested from any flow of data going through the ports and the passive optical star. In one example, the data flow takes the form of discrete data packets, each data packet being constructed by combining one or more data frames. Therefore, a data packet constructed from a single data frame could also be considered or referred to as a data frame. As used herein, unless otherwise specified or defined, the terms data packet and data frame are intended to refer generally to any discrete flow of data. The data flow could also be streamed.
The terms data packet and data frame are used herein interchangeably and are intended to refer generally to a discrete flow of data. In addition, a data packet can be constructed from a plurality of data frames, or from a single data frame in which case the data packet can also be referred to as a data frame.
With reference to
The ports 14 form the interfaces and logic that actively process and forward data frames in and from the switch 10 and connect the switch to the external devices 16. A two-way external channel 22 connects each port 14 to the external devices. The ports 14 operate independent of one another, with each port including the switching and protocol processing logic needed to perform network address resolution and data frame processing and forwarding.
The external devices 16 are connected to the ports 14 via conventional interface and protocol technology, for example, but not limited to, Ethernet. Any number of external devices can be connected to each port. Three external devices (for example computers A, B, C) are shown connected to port 1, two external devices (for example computers D and E) are connected to port 2, two external devices (for example computers F and G) are connected to port 3, and three external devices (for example computers H, I and J) are connected to port 4.
The general construction of the switch illustrated in
The harvested information can be any information that the ports may need to function correctly or utilize to improve port function(s). Any information that can be utilized by the ports in the operation of the ports can be harvested.
For example, the harvested information can relate to distribution or addressing of data frames to and from the respective port. Examples of information relating to distribution or addressing includes, but is not limited to, media access control (MAC) addresses or internet protocol (IP) addresses.
The harvested information can also relate to information unrelated to distribution or addressing of information, including, but not limited to, quality of service or network health. Examples of quality of service include assigning priorities to data based on applications, users, or data flows, or to provide a certain level of performance to a data flow, for example a predetermined bit rate, delay, jitter, packet dropping probability and/or bit error rate. Network health can relate to, for example, the current operational state of the ports and/or the external devices 16.
To help better explain the concept of updating a port, a specific example of the ports harvesting information from a data frame will be described with respect to
Over time, the external devices connected to each port may change, or the external devices may be connected to different ports. These changes are reflected in destination and source information contained in the data frames. This information is harvested by the ports and used by the ports to update their local forwarding tables in parallel so that each port contains an updated forwarding table.
If the determination at step 42 is no, the determination at step 44 is yes, and after step 48, the process 34 proceeds to step 50 where it is determined whether or not the incoming data frame is from an internal broadcast channel, i.e. from the star 12. If the decision is yes, the process proceeds to step 52 where it is determined whether or not the source MAC address is found in the local port forwarding table 40. If the decision is no, the process proceeds to step 54 where the source MAC address is harvested from the data frame and copied into the local MAC address identification column of the table 40. The port identification of the source is also harvested from the data frame and copied into the local port identification column of the table 40 at step 56. A port identification of non-zero (0) indicates that the data frame sender is a remote external device, i.e. not connected to the local port.
If the determination at step 50 is no, the determination at step 52 is yes, and after step 56, the process 34 proceeds to step 58 where it is determined whether there are additional internal broadcast channels to check. If the decision is yes, the process loops back to step 50. If the decision is no, the process ends.
At each port, the data frame is accepted 66, and then it is determined in step 68 whether or not the destination MAC address of the destination external device is in the forwarding table 40 of the respective port. If the decision is yes, the process proceeds to step 70 where it is determined whether or not the local port identification is zero (0), i.e. is the destination address of the intended external device connected to this port? A port identification of zero (0) indicates that the intended destination device is connected to the local port. If the decision is yes, the data frame is forwarded to the external device at block 72
If the determination at step 68 is no, the process skips step 70 and proceeds to step 72, where the data frame is forwarded to the destination local external device anyway. The absence of the destination MAC address from the forwarding table 40 can be resolved later.
If the determination at step 70 is no, the data frame is dropped at step 74 since a non-zero port identification would indicate that the intended destination device is not connected to the local port.
The process 36 also includes a step 76 where it is determined whether there are additional internal broadcast channels to check. If the decision is yes, the process loops back to step 66. If the decision is no, the process ends.
The above description of
The examples disclosed in this application are to be considered in all respects as illustrative and not limitative. The scope of the invention is indicated by the appended claims rather than by the foregoing description; and all changes which come within the meaning and range of equivalency of the claims are intended to be embraced therein.