As stated in the title of this specification, the present invention refers to a method of switching packets in a transmission medium comprising multiple stations which are connected using different links.
This method is applicable to communication systems carrying out packet switching, and its primary objective is to permit total switching among all the stations of the communications system and increase the efficiency in transmissions to multiple stations.
In the development of remote networks, the ISO (International Standards Organization) developed a model known as OSI (Open System Interconnection), which establishes a hierarchy among all the elements of a network, from the one closest to the user to the one closest to the physical connection. The main developments in computer networks that have been made since then are based on this model.
So, seven levels are established, ordered from the one dealing with the physical medium to the one dealing with the user. Each of them has certain defined functions and the entities of each level deal with the immediately inferior level.
The lowest level of the model is the physical level (level 1), related to the physical connection; above this there is the data link level (level 2). This level operates above the physical level and is responsible for ensuring that the data is transmitted reliably by the transmission medium, as well as establishing an access mechanism to the physical level when the transmission medium is shared by various sets of equipment, known as stations, as in the case of local networks. It also considers the possibility of switching between two or more transmission media.
Included in this last aspect is what is known as “level 2 packet switching”, also known as bridging. In this level, the packets are usually known as frames. A packet switch or bridge is used for segmenting the traffic among two or more networks (which will be known as segments), in such a way that the traffic for local use of one segment is not propagated to other segments, and it is even used for selecting the segment to which certain traffic is addressed among different segments. Switching is understood as being the process by which a set of equipment connected to various transmission media selects the most suitable transmission medium for each data packet to reach its destination. Any equipment or system capable of carrying out the switching process is known as a switch. A switch can be integrated into a set of communications equipment or station.
In the case of local networks, the standard ANSI (American National Standards Institute)/IEEE (Institute of Electrical and Electronic Engineers) Std 802.1D-MAC (Medium Access Control) Bridges describes the spanning tree bridge. This type of switch has two or more connections to the network, known as ports. Each of these ports is connected to a segment of network. The standard requires that each frame has a source address identifying the station originating it, and a destination address identifying the station to which it is directed. The source addresses of all the incoming frames are stored in a memory and are associated with the port via which they entered, and in this way the switch learns which is the port via which it can access each station. In this way, when a frame appears whose destination address is stored in the memory (in other words, it is known), the frame is sent solely via the port which has the destination address associated with it, always provided that this port is not the one through which the frame has entered, since in that case sending it via the other ports is of no use. When the destination address is unknown, the frame is sent via all the ports with the exception of the one it entered through, which ensures that the frame will reach its destination. An identical procedure is followed with the frames whose destination address is associated to the the set of accessible stations. A slightly different case occurs when the destination address of the frame is a group address, in other words, one that is associated with a subset of accessible addresses, in which case the frame will be sent to all the ports associated with stations included in that subset. The association of stations with one or another group is known by the switch by means of a protocol known as GMRP (GARP Multicast Registration Protocol, where GARP are the initials of Generic Attribute Registration Protocol) which establishes an exchange of messages for that purpose.
The memory in which this information needed for finding the destination for each frame is stored is known as a filtering table. Each of the inputs into the table is composed of:
A distinction is drawn between static and dynamic inputs. The former are established by means of a management process which operates externally to the switch and the latter by means of an automatic process performed in the switch itself, as are the learning process or the GRMP protocol already mentioned. A characteristic of dynamic inputs is that they are subject to ageing, in such a way that at the end of a certain interval of time since the last time they were learned, they are eliminated, so that the switch can thereby respond to a changing distribution of the stations. On the other hand, static inputs always remain, unless they are eliminated by an external management process.
Given the risk of duplication of packets that exists in a network with various switches in which there exist loops, in other words, different possible paths between two stations, the spanning tree protocol is established. By means of this protocol the switches exchange messages in order to learn the topology of the network, and each switch blocks certain ports ignoring the traffic coming from them and not using them for transmitting frames, in such a way that the topology remains loop-free, in other words in tree form.
The following states are established for each port, ordered from more to less restrictive for the sending and receiving of frames:
A port normally remains in a blocking state until it is determined that the sending and reception of packets by it does not involve loops in the topology. If this is not so, it passes successively through the states of listening, learning and forwarding, when certain timers elapse. In any of these states, if it is detected that the situation has changed and that sending frames through the port involves a topology with loops, then it goes over to blocking state.
There is a fifth state, the “disabled” state, in which the port is completely inactive. This state is reached and abandoned by an external management action.
Standard IEEE 802.1D was conceived on the assumption that the transmission media to which a switch was connected were media with bus topology or point to point links, in other words, transmission media in which all the connected stations have mutual visibility, in such a way that when a station sends a packet via that medium all the stations connected to that medium are able to receive the packet. However, in media in which there is no mutual visibility, this standard is not directly applicable since the fact of sending a packet via a transmission medium does not imply that all the stations connected to that medium are able to receive the packet.
For that reason, the IEEE establishes a generalization of the standard IEEE 802.1D in standard IEEE 802.1G (“remote bridging”). Remote bridging was originally introduced for the interconnnection of switches by point to point links, but in that standard it is generalized to any transmission medium and is independent of the real topology, obeying solely the communication capacity between different switches.
Standard IEEE 802.1G establishes that the communication capacity between remote switches, in other words, between switches that are not communicated by local networks, is represented by virtual ports, with each of these ports representing the capacity to send and receive information from one or more other remote switches.
As in standard IEEE 802.1D in which the switches are connected to local networks, in IEEE 802.1G the remote switches are connected to entities known as groups and subgroups.
Given a virtual port in a switch, this switch and the switches which it can access via this virtual port would configure a subgroup. A subgroup is a two-way virtual link, and it could be considered as equivalent to a local network since each switch forming part of it is joined by a virtual port to the other ports of that subgroup.
Moreover, a group would be a set of subgroups in such a way that there also exists total and simple connection among all the switches of those subgroups; in other words, given any two switches in a group, there exists one and only one subgroup that joins them. A switch is joined to a group by a set of virtual ports, each of them giving access to each one of the subgroups. A group can be formed of a single subgroup, with the group receiving the name of virtual local network, a concept which must not be confused with the virtual local area network (VLAN).
It could be considered that a subgroup is physically equivalent to a link between two or more stations, and that a group would be a set of links permitting total and simple connection among a set of stations, but in reality the gathering into groups and subgroups does not necessarily reflect a physical topology but instead certain communication characteristics among stations, organized in the most suitable way.
As far as the loops are concerned that can be produced in this virtual topology established by the groups and subgroups, the problem is solved by means of certain characteristics of the switching and of the spanning tree protocol.
With regard to the possible loops inside a group formed by different subgroups, if there are no loops outside the group, then they do not represent a problem, due to a special characteristic consisting of the fact that a packet which has entered via a virtual port belonging to a group is never forwarded via a virtual port belonging to the same group.
In any case, it is possible that, external to a group, there are more groups (or local networks) which connect two (or more) switches of the group in a redundant way. If these alternative paths for the data have a lower cost than the paths within the group, then it is necessary to break the loop within the group, something which is achieved by distributing the switches of the group into two or more subgroups known as clusters. As a result, the packets cannot run in loops since they have to comply with the fact that, when a switch receives a packet coming from a cluster that is not its own, it must ignore that packet. In certain cases, the global efficiency of the network can be optimized by preventing packets being sent that are not going to be processed by the receiver, which is possible if a switch can know that it has an isolated port, in other words, one that is not connected to any other switch within the same cluster. In this case, the switch will leave that port in blocking state, avoiding having to use resources for sending via that port.
It is worth while specifying that in standard IEEE 802.1G the groups and subgroups are established statically, in other words, by a management action carried out by an entity external to the switch (whose functioning is not the object of the standard), while clusters are established dynamically, in the switches themselves, by means of executing the modified spanning tree protocol.
The present invention solves the said drawback of standard IEEE 8021.D (the non-applicability to transmission media with total mutual vision) by introducing certain modifications into the switching process but at the same time maintaining the basic functionality of the standard. The functionality which the standard establishes is a subset of that established in this present invention.
In regard to the relation with standard IEEE 802.1G, which tries to solve the same problem, the present invention starts from the same principle, which is the use of virtual ports, but these represent links via which information can be sent to other stations, and they can be two-way or not, in such a manner that they do not represent communication capacity but instead transmission capacity. There can also be more than one link between the same stations and furthermore these links can overlap totally or partially.
This redundancy of links is not necessarily completely eliminated by the spanning tree protocol (which in the present invention is only applied on certain links), and it can be exploited by virtue of the different physical characteristics of these redundant links, with some links or others being chosen for transmission depending of the requisites of the different types of traffic. Also, this redundancy can be exploited by virtue of the different topological characteristics of the redundant links: it is possible for packets addressed just to one station to go via a link that communicates with that station, and packets addressed to that same station and to other stations use a link which communicates with that station and other stations, if it is possible to establish those links in a medium.
In short, the physical characteristics of the transmission medium and the topology of the network that can be established on it are much more integrated into the switching process, which can be exploited in order to increase the global efficiency of the network, as will be seen in some of the examples of application.
Moreover, other modifications are made aimed at reducing the traffic of broadcast and multicast packets in a switched network, thereby increasing the efficiency of it and that of the switch.
In the present document the term station refers to a set of equipment connected to the network capable of sending data via it and receiving data from it.
The term VLAN (Virtual Local Area Network) is used to refer to the virtual local area networks established in standard IEEE 802.1Q, into which a real local network can be divided. It is advisable not to confuse this term with virtual local network, established by standard IEEE 802.1G for referring to groups consisting of a single subgroup.
In order to achieve the objectives and avoid the drawbacks indicated in the above section, the invention consists of a packet switching procedure in a transmission medium with multiple stations connected by means of different links. In that medium a switching is carried out of frames (packets) in level 2 of the OSI (Open System Interconnection) model of the ISO (International Standards Organization), and each station performs packet switching. The switching is done between one or more transmission media. The procedure of the invention is characterized in that in each of the transmission media different links are established which directly connect stations present in that medium, where said stations have switching capacity. Also, between any two stations there can be various links with different characteristics in the same transmission medium, and the links, independently of their belonging to the same medium, can be one-way point-point or point-multipoint. The procedure is also characterized in that it establishes that a two-way point-point link is a set of links consisting of two one-way point-point links joining the same stations but in opposite directions, a two-way multipoint-multipoint link between a set of stations is the union of as many point-multipoint links as there are stations belonging to that set, with each point-multipoint link having as its source each one of the stations of the set and as its destination the other stations of the set; the one-way links, independently of whether they belong to the same transmission medium, can have different characteristics of channel coding, security and quality of service independent of each other and dependent on the transmission medium; and for the frame switching process, each switch has virtual ports, directly associated in a one-to-one way with the links that can provide transmission, whether they be two-way, as established in standard IEEE 802.1G, or one-way outgoing.
Thanks to this procedure, frames can be sent from a station connected to a transmission medium to any other connected in that same medium, even if there is no direct link among them, with the entire processing being carried out in level 2 of the OSI model.
The procedure of the invention performs the switching by means of the application of standard IEEE 802.1D, and is characterized in that it selects certain links as primary links, which are the minimum two-way links necessary for connecting with each of the accessible stations; and it takes as the input port in the switching of each frame the one associated with the link via which the frame has entered, always providing that this is a primary link, otherwise it takes the one associated with the equivalent primary link, in other words, the one associated with the primary link that communicates with the station from where the frame came, in such a way that if there exist two or more primary links communicating with the station from where the frame came, the primary link whose associated port is in the forwarding state will be chosen, if that link exists, or otherwise any link will be chosen.
The ports of the primary links are for all purposes considered as connection ports to the local network and only on these ports is the spanning tree protocol applied in its entirety, as established in standard IEEE 802.1D, with the rest of the links being excluded from the sending of packets of the spanning tree protocol.
As was described in the section on the background of the invention, the possible states of a port are blocking, listening, learning, forwarding and disabled. The procedure of the invention is furthermore characterized in that the state of the port associated with a non-primary link of any type is equal to the most restrictive state, with regard to the sending and receiving of packets, of all the states of the ports of the primary links equivalent to that link, in other words, of the states of the ports of the primary links which communicate with the same stations as that non-primary link. In this way, the non-primary link will form part of the tree if and only if the primary links equivalent to it form part of the tree.
Moreover, the state for a port associated with a point to multipoint link is always forwarding, with the state of the ports associated with these same links being periodically communicated via the primary point to point links equivalent to that point-multipoint link so that this information can be processed by the destination stations; in such a way that if they are informed that the port associated with the link in the source station is in blocking state they leave the port via which they have received the information in listening state if the stations act as a switch, or they eliminate the frames coming from the station with which the link communicates if the stations do not act as a switch; thereby avoiding the processing in these stations of the packets sent by the point-multipoint port, since these are processed at destination as coming from the port associated with the equivalent primary link if the receiver station acts as a switch.
In order to improve the broadcast of messages, the procedure specifies that each frame carries a list of identifiers, where each identifier is associated one-to-one with a switch through which the frame has passed, this list being known as broadcast control information.
A switch eliminates the received frame when the identifier of that switch is found in the broadcast control information of that frame, thanks to which certain packets are eliminated which otherwise, due to having been diffused via a network with loops, would remain indefinitely in that network.
For this reason, the procedure specifies that the switch adds its own identifier to the broadcast control information of the frame in the event that it does not find its own identifier in the broadcast control information of that frame.
Furthermore, the procedure applies a consultation processing of a filtering table, as was described in the background to the invention, and is characterized in that two new specifications are incorporated into each of the static filtering table inputs of standard IEEE 802.1D, these specifications being that of input port, referring to the port through which the frame has entered, and the VLAN ID specification, referring to the identifier of the VLAN to which the frame belongs, according to standard IEEE 802.1Q; the processing indicated by the port map in the the entry of the table being applied if the frame, in addition to the specification established in the MAC address of standard IEEE 802.1D, also complies with the cited specifications for input port and VLAN.
In that filtering table, a first new value is used not present in standard IEEE 802.1D, and can be used in any of the specifications of the static entries of the filtering table, whether they be specifications of MAC address, input port or VLAN ID, in such a way that when the value of that characteristic in a frame is compared with that of a specification which has that first new value, the comparison is always met, in other words, the specification is met and the processing which the input establishes is applied.
Also in that table, a second new value is used not present in standard IEEE 802.1D, in any of the specifications of the static entries of the filtering table, in such a way that when the value of that characteristic of the frame is compared with that of a specification which has that second new value, the comparison is met, in other words, the specification is met, if the value in the frame does not coincide with that of any other specification of the table, with the exception of those containing the actual second new value, and the processing which the input establishes is applied.
Given an entry in a table establishing the sending via more than one port, the destination ports of that input are ports associated with primary links, or ports associated with point-multipoint links equivalent to those primary links.
Below, in order to facilitate a better understanding of this specification and forming an integral part thereof, some figures are included in which the object of the invention has been represented in a manner that is illustrative rather than limiting. DR
Given below is a description of various examples of embodiment of the invention, making reference to the numbering adopted in the figures.
In a first example, a transmission medium (1) is provided which can be accessed by a switch (2) by means of an external entity (3) functioning in the medium as a station. In the transmission medium there are different links (8, 9, 10, 11 and 12) among the different stations (3, 4, 5, 6 and 7), which are independent of each other and can have different characteristics, as can be seen in
In a second example, two stations (13 and 14) are provided in a medium (1), and two one-way point to point links (15 and 16) joining them. Link (15) would be used for sending information from (13) to (14). Link (16), on the other hand, would be used for sending information from (14) to (13), as appears in
In a third example, three stations (18, 19 and 20) are provided communicated by three one-way point-multipoint links: (21) which permits transmission from station (20) to stations (18) and (19); (22) which permits transmission from station (18) to stations (19) and (20); and (23) which permits transmission from station (19) to stations (18) and (20), as appears in
A fourth example shows the different types of link that there can be in a transmission medium once the one-way links have been grouped into two-way links: we have five stations (25, 26, 27, 28 and 29) in the medium and five links (30, 31, 32, 33 and 34). Link (30) is two-way multipoint-multipoint and communicates three stations (25, 28 and 29), with which any packet sent by one station reaches the other two sharing the link. Link (31) is one-way point-point and permits transmission of packets from station (29) to station (25). Link (32) is two-way point-point and communicates the stations (26) and (29) for transmission and reception of frames. Link (33) is point-multipoint and communicates the stations (29), (26) and (27). When station (29) sends a packet via this link it will be received by the stations (26) and (27). Link (34) is point to point two-way, and communicates stations (27) and (29), as can be seen in
In a fifth example, some cases of links between one station and others in the same transmission medium are represented. Station (38) communicates with station (35) by means of two two-way links (39 and 40), of independent characteristics. On the other hand, it has separate two-way links (41 and 43) which communicate with stations (36) and (37). It also communicates with these stations by means of the link (42), which is point-multipoint one-way. What occurs is that sending a packet via the link (42) is equivalent to sending it via the links (41) and (43), so it can be said that the link (42) is equivalent in transmission to the links (41) and (43), as can be seen in
Described below is a first example of assignment of input ports for incoming packets, which can be seen in
In the switch for the station (47) a port is assigned to each of the outgoing links, in other words, to the links which are two-way or one-way for transmission, namely, links (48, 49, 51, 52 and 53) of
In the switch of station (47), the minimum two-way links necessary for reaching all the stations with which it has direct connection are taken as being the primary links, with one primary link being associated with each accessible station. In this case there is no unique solution: there exist two sets of links meeting this condition, so that we could take links (48), (51) and (53) as the primary links, or links (49), (51) and (53). In this example of embodiment, this latter group is taken (which can be decided by the identifying number of the ports or any other method).
So, in the switch of station (47), all the incoming packets are processed by the switch as coming from primary links: those coming from the primary links (49), (51) and (53) directly, associating them with the corresponding ports, and for the rest of the incoming links, depending on the station that they come from, with the port associated with the corresponding primary link being assigned to them as the input port. In this case, the choice of the corresponding primary link is direct since there do not exist two primary links communicating with the same station.
Therefore, the packets entering via the link (48), coming from the station (44), are assigned the port (49), which is the one associated with the primary port communicating with the station (44). Those entering via the link (50) come from the station (45), and they are assigned the port (51), which is the one associated with the primary port communicating with the station (45), as shown in
A second example of assignment of ports to incoming packets, which can be seen in
In station (57) ports are assigned to links (58), (59) and (60), since they are outgoing. The primary links will be links (58) and (60), both multipoint. So, these will be the incoming ports that are used. The assignment of input ports to the frames is obvious for those coming via the links (58) and (60), but for link (59), which is not primary, a choice has to be made between (58) and (60). The link that is not in blocking state will be the one chosen as equivalent. There can only be one in a less restrictive state than blocking since this would otherwise imply a loop created by a message successively travelling via station (57), link (60), station (55), link (58) and station (54), something which is prevented with the application of the spanning tree protocol in this example of embodiment of the invention. In the event that both links are in blocking state, it does not matter which one is chosen for packets entering via link (59): obviously none of these packets will be processed since the link assigned to it is in a blocking state and, moreover, no learning at all will be done.
Described below is an example of packet transmission, based on a topology like that of the first example of incoming port assignment which was described with the aid of
The rest of the ports (48 and 52) will not appear in these inputs as a result of the learning process which, as we have stated earlier, is known in the state of the art, but they can indeed be incorporated into the table as static or dynamic inputs (which were described in the section on background to the invention), by means of maintenance processes of other protocols. In this way, all the links can be used for transmission.
As far as the spanning tree protocol is concerned, it would be applied in its entirety, as it appears in standard IEEE 802.1D, only on the ports associated with the primary links (48, 51 and 53).
The other ports, associated with the links (48) and (52), are not associated with a primary link, and are therefore excluded from the spanning tree in its entirety. Nevertheless, each of these ports has a state associated with it with regard to the sending and reception of packets, as established by standard IEEE 802.1D, which needs to be calculated.
For the calculation of these states, it is necessary to know which link is associated with each port and which are the primary links equivalent to this link (in other words, the primary links necessary for arriving at the same destinations). In the case of link (48), said link has station (44) as its destination, which can be reached with the primary link (49). Therefore, the primary link equivalent to the link (48) would be the link (49). For the link (52), the associated primary links are the links (51) and (53), since the same stations are reached via them: (45) and (46).
Once the equivalent links of the non-primary links have been determined, the corresponding states are calculated, depending on the type of these non-.primary links.
In the case of point-point non-primary links, the state of the port is exactly equal to the state of the port of the equivalent primary link. So, port (48) would have the same state as port (49). In this way, if the link (49) is included in the tree, so too is (48) and the same if it is not included.
In the case of point-multipoint links, there are two options.
The first option is that the state is the most restrictive of the states of the ports associated with the equivalent links. So, in the case of the state of the port (52) it will depend on the states of the ports associated with the equivalent primary ports (51) and (53). If one of these ports is in a blocking state, the state of the port (52) will be blocking. For the port (52) to be in forwarding state it is necessary for the ports (51) and (53) to be in forwarding state. Note that the states of listening and learning are equivalent to the state of blocking in port (52), since the link is outgoing only and no packet is received by this port. Also, no messages on the spanning tree protocol are sent by it since it is not associated with a primary link.
As a consequence of all this, the link (52) will be in the tree if and only if the equivalent primary links (51) and (53) are so. In this way, if the link (53), for example, is not in the tree, no link is established with the station (46) by the link (52), thereby breaking the tree, since this link would have the port in blocking state.
The second option for point-multipoint links consists of assigning the forwarding state to the port always. As a consequence of this, the port (52) will always be in forwarding state, independently of the states of the links (51) and (53). In no case does this imply a break of the tree. Let us assume that the port (53) is in forwarding state but (51) is in blocking state. In this case the station (47) needs to inform the station (45) that it has the port corresponding to the link (51) blocked, with which this link will be excluded from the tree. Until the station (45) has been informed that the state of this link has changed, it will eliminate all the packets coming via the link (51).
If packets are sent via the link (52) they will arrive at station (46), which is not a problem since it would be equivalent to having been sent via the link (53), which is in the tree. They will also arrive at the station (45) but this station will process them as if they had been sent by link (51) (since it will have the same associated port).
Note that in this way the topology of the tree can have redundant branches; in fact, even using the first option (the most restrictive one) with regard to the states of the point-multipoint links, if the links (49), (51) and (53) are in the tree the links (43) and (47) provide alternative paths for the packets. This could imply a risk of duplicating packets, but there exists the possibility of excluding these links from the forwarding of unknown destination packets by means of including an input for it in the filtering table with a new value corresponding to the second new value introduced in the description of the invention, known as “not found” value, in the specification of the MAC address and a list of restricted ports in the specification of destination ports. This input will be applied for all unknown destination packets, with which when these packets are sent via a limited number of ports the possibility of duplicated packets is reduced and there also exists an additional control mechanism over duplicated packets capable of totally eliminating packets running in loops occasioned by the presence of redundant links, known as broadcast control.
In
But this drawback is solved with the use of broadcast control. In this example the station (61) has the identifier A and the station (62) the identifier B, and both make use of broadcast control with a list with two positions, in other words, they can store two port identifiers, which is more than sufficient for loops with aperimeter of two links.
In this case, when the frame leaves the station (61) via the link (63) it has to have the identifier A in the list. In
In terms of the switching in itself, let us assume that the destination is not found, and for this reason the frame is forwarded via all the ports that are in forwarding state except that by which it has arrived. Obviously, it would not be sent via the port of the link (63), though it would via that of (64), with the broadcast control list containing the identifiers A and B (66).
When this frame arrives at the station (61), it will be immediately eliminated by the broadcast control since one of the identifiers of the list coincides with the identifier of the station (A). In this way, packet duplicates are avoided by means of using lists with a number of inputs equal to the perimeter of the loop, two in this case, as shown in
Presented below is an example of embodiment of the filtering table with the specifications VLAN ID and input port. Let there be the following table, in which, for simplicity, the processing of ports is reduced to a list of ports by which the frame complying with the input specifications has to be sent.
Let us assume that frames with the following characteristics are processed: A first frame processed has the destination address 07:08:76:45:66:22, VLAN ID 2 and input port 1. In this case the address coincides with the first entry of the table but this entryis not applied since the VLAN ID and the input port do not coincide. The fourth input is indeed applied since all the values coincide, with which the frame will be sent via port 2. The second frame has as its destination address 01:01:01:01:01:01, VLAN ID 5 and input port 3. In this case, the values of VLAN ID and input port coincide with those of the second entry, but this entryis not applied since the destination address does not coincide. As the rest of the entriesare also not applied, the frame will be processed as if it had an unknown destination, with which it will be sent via all the ports less the one via which it arrived. The fram number three the destination address is 35:23:2F:48:76:31, VLAN ID 2 and input port 4. In this case, the address and the VLAN ID in the third entrycoincide, but this entrywill not be applied since the input port does not coincide. As the rest of the entriesare also not applied, the frame will be processed as if it had an unknown destination, with which it will be sent via all the ports less the one via which it arrived.
In the following example of embodiment, some positions of the table contain a value that corresponds to the first new value introduced in the section on description of the invention, from this moment on, the value “all”. Let there be the following table, in which, for simplicity, the processing of ports is reduced to a list of ports by which the frame complying with the entry specifications has to be sent.
The first entrywill be applied to all frames having destination address 07:08:76:45:66:22 and VLAN ID 6, independently of the input port. The second entrywill be applied to all frames having VLAN ID 4 and input port 2, independently of the destination address. The third input will be applied to all frames having destination address 35:23:2F:48:76:31 and input port 3, independently of VLAN ID. The fourth input will be applied to all frames having destination address 06:33:43:73:32:18 independently of their VLAN ID and of their the input port (note that this case is equivalent to one of standard 802.1D).
In the following example of embodiment, some of the positions of the filtering table contain the new value already presented earlier as value “not found” and which in the section on description of the invention is referred to as second new value.
In this case the first entry will be applied to all frames having destination address 07:08:76:45:66:22, VLAN ID 6 and as far as the input port is concerned it has to have a value “not found”, in other words, a value which is not found in any of the port specifications of the remaining entries(excepting those with port “not found”), with the result that the input port for which this specification is applied is any one apart from 2 and 3. The second entry will be applied to all frames having VLAN ID 4 and input port 2, and whose destination address is not 07:08:76:45:66:22, nor 35:23:2F:48:76:31, nor 06:33:43:73:32:18, in other words, any destination address except those contained in the remaining entries. The third entry will be applied to all frames having destination address 35:23:2F:48:76:31, input port 3 and a VLAN ID that is not 6, nor 4 nor 2. The fourth entry will be applied to all frames having destination address 06:33:43:73:32:18 and a VLAN ID that is not 6 nor 4 nor 2 and an input port that is not 2 or 3. The fifth entry will be applied to all frames having VLAN ID 2 and input port 3, and whose destination address is not 07:08:76:45:66:22, nor 35:23:2F:48:76:31, nor 06:33:43:73:32:18, in other words, any destination address except those contained in the remaining entries. And finally the sixth entry will be applied to all frames for which none of the above inputs is applied.
Described below is an example of embodiment in which a point-multipoint link is used equivalent to other point-point links, for packets which have to be sent to various stations.
Let us assume the configuration that can be seen in
As far as the filtering tables are concerned, in this example of embodiment there exists an entry to be applied when the destination address is not found for any VLAN ID and input port, in such a way that the unknown address packets are sent via all the ports associated with primary ports, as shown in the following table, in which for reasons of simplicity the ports via which the frame has to be sent are indicated in the processing field, with the ports being identified with the same reference as the corresponding link:
Where said table complies with standard IEEE 802.1D.
In the same way there could also be an entry in the filtering table for addresses representing all accessible stations (broadcast), as shown below:
In this table it can be seen that appearing among the list of ports are those associated with the links (72, 73, 74 and 75) but link (76) does not appear, since it is not a primary link, thereby avoiding packet duplication.
However, in certain cases it can be advisable to modify this table. If there are no more links than those named, in a stable situation the ports (72, 73, 74 and 75) will be in a forwarding state. A management process can then be used to replace those ports with the equivalent point-multipoint port (76) leaving the table as shown:
In cases in which the sending by a single link is more efficient than sending by more than one, this operation can greatly increase the general performance of the system, as shown in
Described below is the risk of duplication of packets for those whose destination is unknown for all switches. In terms of those originating in the station (67), there does not exist any risk since the link (76) is not associated with any primary link in the stations (68, 69, 70 and 71), due to being an incoming link only, and therefore the packets arriving via the link (76) will be treated by the stations receiving them as coming from the links (72, 73, 74 and 75), due to which they will in no case be forwarded, as established by the standard.
With regard to packets of unknown destination sent by the stations (68, 69, 70 and 71), duplicates will be avoided thanks to broadcast control, with a list containing two positions being sufficient, as shown in
In a second example of embodiment where a point-multipoint link is used for packets destined for various stations, one starts with the same distribution of stations and links, with the proviso that there exists a further link between two stations, as shown in
1. That in the spanning tree protocol the new link (82) is discarded. In this case the ports of the station (67) are not affected and the situation is analogous to the previous example.
2. That the spanning tree protocol in the station (71) determines that the port corresponding to the link (75) has to be in blocking state, with the port corresponding to the same link in the station (67) being in forwarding state. The situation in this station would be analogous to the previous example. In the station (71), moreover, all the packets sent by the station (67) via the link (76) will be eliminated on being received, since they will be processed as coming from the link (75), which has the corresponding port in blocking state. The packets which have to be sent from the station (67) to (71) will not use a direct link but will instead pass through the station (70) following the links (74) and (82) or the links (76) and (82).
3. That the spanning tree protocol in station (67) determines that the port corresponding to the link (75) remains in blocking state, with the port corresponding to the same link in the station (71) being in forwarding state. In that case there exist two possibilities in station (67):
a. A first option, the more conservative, would consist of blocking the link (76) due to not having all its equivalent links in forwarding state. In that case, the process which replaced the primary ports for this link in the filtering table will have to restore the table to its original state, in other words, as shown in table 6, though the link (75) would not be used due to being in blocking state.
b. If the use of all the primary links instead of the point-multipoint link implies a serious degradation of the performance of the system (due to having to use three links instead of one for the sending of a packet destined for all accessible stations), the port (76) can be kept in forwarding state and the filtering table would not be modified. In this case, packet duplication is avoided simply by sending a notification from the station (67) to (71) so that the latter ignores the packets arriving via the link (75). This would also include those arriving via the link (76) since they are treated in the station (71) as if they had come from the station (67).
In another example of embodiment, as shown in
The bus (88) which communicates with the stations (83, 84, 85, 86 and 87) can be compared to a two-way multipoint link (90) among all the stations of a transmission medium (89), as can be seen in
The link (90) would obviously be considered primary in all the stations, and on the ports associated with it the spanning tree protocol would be applied normally.
As far as broadcast control is concerned, its use would be unnecessary since there are no redundant links.
In terms of the filtering table, if it is required to be completely equivalent to a table of standard IEEE 802.1D, the dynamic entriesestablished by learning would simply be made to contain the value “all” in the input port and VLAN ID specifications, proceeding in the same way as with regard to static inputs and in no case using the value “not found”. In this way a typical table could be like the one shown below:
Number | Date | Country | Kind |
---|---|---|---|
P200301780 | Jul 2003 | ES | national |
The present application is a Continuation of co-pending PCT Application No. PCT/ES2004/000291, filed Jun. 22, 2004, which in turn, claims priority from Spanish Application Serial No. 200301780, filed Jul. 28, 2003. Applicants claim the benefits of 35 U.S.C. § 120 as to the PCT application and priority under 35 U.S.C. § 119 as to said Spanish application, and the entire disclosures of both applications are incorporated herein by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/ES04/00291 | Jun 2004 | US |
Child | 11342317 | Jan 2006 | US |