WO2000011842A1 - Method for packet switching - Google Patents

Method for packet switching Download PDF

Info

Publication number
WO2000011842A1
WO2000011842A1 PCT/GB1999/002696 GB9902696W WO0011842A1 WO 2000011842 A1 WO2000011842 A1 WO 2000011842A1 GB 9902696 W GB9902696 W GB 9902696W WO 0011842 A1 WO0011842 A1 WO 0011842A1
Authority
WO
WIPO (PCT)
Prior art keywords
port
data packet
data
address
end station
Prior art date
Application number
PCT/GB1999/002696
Other languages
French (fr)
Inventor
Martin Roderick Lea
Original Assignee
Madge Networks Limited
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from GBGB9818022.7A external-priority patent/GB9818022D0/en
Application filed by Madge Networks Limited filed Critical Madge Networks Limited
Publication of WO2000011842A1 publication Critical patent/WO2000011842A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing

Definitions

  • the present invention relates to a method of transferring data between first and second end stations via a communications network.
  • the point-to-point network is configured so that there can be only one path between any two points in the network. This is achieved using a "Spanning Tree Protocol" in which the switching nodes communicate to transfer status data indicating the current status of links in the network. Each switching node uses this information to determine a route through the network which links all the switching nodes. Any links not on the determined route are then disabled by having one of the switching nodes on the link block a respective input/output port.
  • the disabled links are used to provide redundancy should any of the active links fail.
  • the status data transferred between the switching nodes is updated accordingly.
  • the switching nodes then determine a new route and the network is reconfigured.
  • Transfer of data between end stations is controlled by having each switching node maintain a record of which destinations are associated with each of the ports of the node. Accordingly, when a switching node first receives a data packet, it will determine the source address of the data and store this along with an indication of the port on which the data was received, in an address list. The switching node then examines the destination address and compares this to the current address list . If the destination address matches a stored address, the data is transferred to the next switching node via the associated port . With only one route between any two points in the network, the stored address lists are used to define a path through the network for a given destination address. Accordingly, the data is transferred by transferring the data between nodes, until the intended destination is reached.
  • a copy of the data is transferred from the switching node via every port, other than the one via which it was received. Accordingly, copies of the data will propagate through the network until a copy reaches its destination.
  • the destination end station When the destination end station generates response data which is transferred to the original source end station, this can follow the path that was defined by the data packet which successfully reached the destination.
  • the path is initially determined by having the transmitting end station generate a first data packet including the address of a second desired destination end station but no routing information. This is transferred to a first switching node which modifies the packet by adding in path data which includes an indication of the address of the switching node, along with an indication of the port via which the data packet was received. The data packet is then copied and transferred to each adjacent switching node via the remaining ports.
  • Each of these adjacent switching nodes similarly updates the path data with its own address and transfers copies of the packet to further switching nodes.
  • the second end station will receive a number of copies of the packet, each copy having path data representing a respective path through the network.
  • the second end station selects one of the data packets and hence the path defined therein.
  • the second end station then generates a response data packet including a copy of the respective path data, which is transferred to the first end station along the defined path. This is achieved by passing the data packet sequentially to each switching node indicated in the path data until it reaches the first end station.
  • this can extract the path data and add it to any subsequent data packets that are transferred.
  • the switching nodes of the network communicate with each other so that one or more paths between the network ports are always defined. Data can then be transferred between the end stations via these pre-defined paths.
  • the paths are defined by the network independently of the end stations, the end stations themselves do not require any details of the path. Accordingly, the end stations need only include information concerning the intended destination of the data in the data packet .
  • the end stations can continue to transfer data packets via the network without making any alterations to the destination information. These data packets will automatically be transferred via the new paths. Due to the speed with which the new paths are defined, the chances of losing data is minimal.
  • a further advantage of the present invention is that multiple paths can be defined, thereby allowing the data to be spread between different paths to increase the effective bandwidth available for the data transfer.
  • the method further comprises the step of causing the first end station to include the address of the second port in the at least one data packet .
  • This allows the network to transfer the data packet to the second port along one of the defined paths without having to determine the destination port address.
  • the network may be configured to transfer the data in accordance with the second end station address or other destination information.
  • the method further comprises causing the first end station to determine the port address of the second port using a source routing protocol. It will however be realised that any suitable method of determining the second port address may be used.
  • the method of implementing the source routing protocol comprises the steps of causing the first end station to generate and transfer an explorer data packet to the first port; causing the first port to add its port address to the explorer data packet in the form of path data; transferring copies of the explorer data packet from the first port to each other port via respective ones of the one or more determined paths; and, causing each other port to add its port address to the path data of the respective copy of the explorer data packet and to output the copy of the data packet from the network.
  • This is preferable to the prior art source routing implementations as the explorer data packet is copied only to each port along respective paths and not throughout the entire network, thereby reducing network traffic.
  • any suitable method of transferring the data packet may be used.
  • the method typically further comprises causing the second end station to determine the path data stored in the copy of the explorer data packet, the path data indicating the first port address, the second port address and an address representative of the network; causing the second end station to generate a response data packet including the path data; and causing the network to transfer the response data packet to the first end station, via one of the one or more determined paths, in accordance with the path data.
  • This allows the first and second end stations to define path data for all subsequent data to be transferred.
  • the path data only includes the first and second port address, as well as the network address, the transfer of data across network appears to be only a two stage hop to the destination end station. Thus, if a fault occurs and the path is changed, this does not effect the path data provided in the data packets which are transferred. This allows the end stations to continue a source routing type of operation without having to determine a modified path.
  • the first end station does not include the address of the second port in the data packet to be transferred, for example in the case in which the end station operates in accordance with a transparent bridging protocol, then an alternative method of determining which defined path the data is to be transferred along must be used.
  • the network typically includes at least one store for storing an indication of the address of each end station along with the respective port address, the method further comprising the steps of causing the first end station to include the address of the second end station in the at least one data packet; and causing at least the first port to determine the second port address from the store, the data being transferred in accordance with the second port address .
  • the method then further comprises causing the first port to add path data to the data packet, the path data indicating the first and second port addresses and a network address only.
  • each switching node on the respective path could determine the second port address from the second end station address, as required.
  • each switching node includes a number of switching node ports, the network ports being respective ones of the switching node ports, although any suitable means of connecting the end stations to the network could be used.
  • the end station may be a computer, a LAN, or any suitable communications device.
  • Figure 2 shows one of the switching nodes of the LAN of Figure 1 in greater detail
  • Figure 3a shows an example of a data packet suitable for use with a source routing protocol
  • Figure 3b shows an example of a data packet suitable for use with a transparent bridging protocol
  • Figure 3c shows an example of a modified source routing protocol data packet, modified for transfer over the LAN of Figure 1;
  • Figure 4 shows an example of a path look-up table stored in the switching nodes of Figure 1.
  • FIG. 1 shows a LAN 1 formed from a number of switching nodes 4a, 4b, 4c, 4d, 4e, 4f, 4g, 4h, 4i.
  • Each switching node 4 has a number of ports 2 which are used to couple the switching nodes 4a, 4b, 4c, 4d, 4e, 4f, 4g, 4h, 4i together via respective connections 3.
  • Some of the switching nodes 4a, 4b, 4c, 4g, 4h, 4i also have respective ports 12a, 12b, 12c, 12g, 12h, 12i which are used for coupling end stations 5,6,7 to the LAN 1.
  • Each port 2,12 will include a port controller (not shown) which is used to configure the port for communication with the respective device to which it is connected.
  • the end stations coupled to the ports 12 include transparent bridging end stations 5, which operate in accordance with the transparent bridging protocol, source routing end stations 6, which operate in accordance with a source routing protocol and "Multigig" end stations 7, which are capable of operating in accordance with either the transparent bridging or source routing protocols.
  • Each end station 5,6,7 includes a respective end station port (not shown) for coupling the end station to the network.
  • the end station may take the form of a personal computer, a file server, a communications network or the like.
  • the LAN generally also includes a router 8, which is used for coordinating the transfer of data between the different end stations 5,6,7 and which is coupled to the network via one of the switching nodes 4d.
  • the port controller of the respective port 12 determines the protocol with which the end station 5,6,7 can communicate and configures the port accordingly.
  • the port controller also sends an indication of the nature of the respective end station 5,6,7 to the router 8. This information is then used to coordinate the transfer of data between end stations such that two end stations will always attempt to communicate using the same protocol.
  • data is transferred between the end stations 5,6,7, using respective paths that connect the ports 12. These paths are determined by the switching nodes 4 , independently of the presence of end stations 5,6,7, by having the switching nodes 4 communicate with each other, as will be explained in more detail below.
  • data packets generated by each end station 5,6,7 can be transferred to the respective port 12 including an indication of the intended data packet destination.
  • the data packet is then automatically transferred via one of the determined paths, to the intended destination port 12, in accordance with destination information.
  • data can be transferred between end stations 5,6,7 without the end station having any details of the actual path taken through the LAN 1.
  • the paths are determined using a protocol such as the OSPF (Open Shortest Path First) protocol. This is achieved by causing the switching nodes 4 to communicate with each other to determine the current topology of the network. The switching nodes then use this information to determine the preferred path or paths between any two given ports 12. Information defining these paths is then stored in each switching node 4.
  • OSPF Open Shortest Path First
  • FIG. 2 An example of a switching node 4, which is suitable for use as one of the switching nodes 4a, 4b, 4c, 4g, 4h, 4i, used in the LAN 1, is shown in Figure 2.
  • This comprises a receive interface 20 and a transmit interface 21 both of which are coupled to the number of ports 2,12 via a bus 22.
  • the transmit and receive interfaces are coupled to each other by a connection 23, as well as via a buffer memory 24.
  • Operation of the switching node 4 is controlled by a processor 25, which is coupled to the transmit and receive interfaces 20,21 as well as the buffer memory 24.
  • Also coupled to the processor 25 is a buffer memory 26 which stores path data defining the number of paths through the network, as well as an indication of the address of each port 12a, 12b, 12c, 12g, 12h, 12i on the network.
  • the switching nodes 4d, 4e, 4f are similar to the above design but with a port 2 instead of the port 12.
  • the switching node 4 receives a data packet at a respective port 2,12, the data packet is transferred via the bus 22, to the receive interface 20, which acts to determine the intended data packet destination.
  • the first destination type is the processor 25 of the switching node itself. These data packets originate from the communication between end station to determine the paths. In this case the receive interface 20 removes the packet header and passes the payload onto the processor 25 for further processing. Alternatively, the data packet is intended for transfer to an external destination, such as an alternative switching node 4 or an end station, 5,6,7. In this case the receive interface uses destination information contained within the data packet to determine the intended destination of the data packet . An indication of the port 2,12 via which the data packet is to be output is then obtained from the memory 26, as will be described in more detail below. The data packet is then output to the respective port 2,12 via the transmit interface 21.
  • the switching nodes 4 it is necessary for the switching nodes 4 to determine the topology of the network. This is achieved by having the processor 25, of each switching node 4, periodically generate a "hello" data packet. These are transferred out of the respective ports 2, to adjacent switching nodes.
  • the adjacent switching nodes 4 analyse the received "hello" data packet to determine which switching nodes they are directly connected to and the status of the respective connections 3. Thus in the present example, the switching node 4a would determine that it is connected to switching nodes 4b, 4d. Each switching node 4 then generates a link state advertisement which indicates the current status of the immediately adjacent switching nodes 4 and the respective connections 3.
  • the status of each connection 3 and each switching node 4 is typically provided in the form of a cost indication which represents the ability of a connection and/or switching node to transfer data. Thus a low cost indicates the ability to transfer a large amount of data rapidly, i.e. a high bandwidth connection, whereas a higher cost would represent a lower bandwidth connection.
  • link state advertisements from different switching nodes are then typically combined to form link state data packets which are flooded across the network.
  • the packet is transferred via the receiving interface 20 to the processor 25, which examines the link state advertisements contained in the packet and removes any which are beyond a certain age or which have been superseded by subsequent advertisements.
  • the processor 25 uses the data contained in the link state advertisements to update details of the current network topology which are stored in the memory 26 in the form of a topology look-up table.
  • the topology LUT indicates the address and cost indication of each switching node 4, along with the cost indication of the respective connections 3.
  • the switching nodes 4 then apply a predetermined algorithm to determine a number of paths between each of the ports 12.
  • the path(s) are determined in accordance with the cost information to ensure that the path(s) has the best transfer rate available. Details of the path are then stored in the form of a path look-up table in the memory 26.
  • FIG. 4 An example of a suitable path LUT is shown in Figure 4 in which there is a port address field 60 which includes the address of each possible port 12, along with an associated switching node field 61 which indicates the switching node 4 to which the data packet should be output to reach the respective port.
  • a port address field 60 which includes the address of each possible port 12
  • an associated switching node field 61 which indicates the switching node 4 to which the data packet should be output to reach the respective port.
  • the switching nodes may determine that the best path between the port 12b and the port 12i is via switching nodes 4b, 4e, 4f, 4i. Accordingly, the path LUT of switching node 4b will indicate the switching node 4e in the switching node field 61 associated with the port address field 60 which contains the port address 12i, as shown in Figure 4.
  • the path LUT of the switching node 4b indicates that the switching node 4e for the destination port 4h.
  • the switching node field would include multiple switching node addresses.
  • two paths may be determined between the nodes 12b and 12g, the paths being via the switching nodes 4b, 4a, 4d, 4g and via the switching nodes 4b, 4e, 4d, 4g respectively.
  • the switching node field 61 of the switching node 4b indicates that the switching nodes 4a and 4e are associated with the destination port 12g.
  • each path would generally be defined for identical cost routes.
  • the number of data packets transferred via each path would be maintained approximately equally. This is achieved because only the switching node at the fork in the path has any control over which path is taken. Accordingly, in the present example the switching node 4b would transfer half the data packets to the switching node 4a and the remaining data packets to the switching node 4e. The switching nodes 4e and 4a then transfer the data to the next end station in the respective paths in the normal way.
  • the topology LUT stored by each switching node 4 will be identical.
  • each switching node 4 will determine the same paths between the ports 12. Because of this, each switching node can simply determine the route along which data is to be sent from an indication of the destination port 12. The manner in which this information is presented to the switching nodes 4 of the LAN 1 will vary depending on the nature of the data packet to be transferred.
  • the LAN 1 is configured to transfer data packets generated in accordance with either the transparent bridging or source routing protocols, and each case will now be discussed separately.
  • the data packets will be as shown in Figure 3a.
  • the data packet 50 comprises a packet header 51, including a destination address field 52, a source address field 53 and a path data field 54, along with a payload 55, which contains the data to be transferred.
  • the source end station 7 will generate an explorer data packet, which may contain data to be transferred to the destination end station 6.
  • This explorer data packet will include the address of the end station 6 in the destination address field 52 and the address of the source end station 7 in the source address field 53. There will be no data stored in the path data field 54.
  • the explorer data packet is transferred via the port 12b to the switching node 4b.
  • the receiving interface 20 of the switching node 4b will decode the information contained in the packet header and transfer the data packet to the buffer memory 24.
  • the processor 25 will determine that there is no information provided in the path data field 54. Accordingly, the processor 25 will modify the path data field to include details of the port address 12b.
  • the processor determines from the path LUT the paths to each port on the network 12a, 12c, 12g, 12h, 12i (other than the port 12b) and copies the data packet, via the transmit interface 21 and the respective ports 2, to the ports 12a, 12c, 12g, 12h, 12i along the respective path (s) .
  • the path data field 54 of the data packet is modified with the respective port address 12a, 12c, 12g, 12h, 12i and a general LAN address representative of the LAN 1.
  • the data packet is then output from the port. In this manner, the data packet is transferred via the defined routes to each port and hence to each end station coupled to the network. If the data packet is received by an end station which is not the intended destination address, the end station will simply discard the data packet. However, when the data packet is received by the intended destination end station 6, this will decode the data and generate a response data packet . This includes a copy of the path data from the received data packet in its own path data field. Accordingly, the path data has an indication of the port addresses 12b, 12i and the address of the LAN 1.
  • the response data packet is transferred via the port 12i to the switching node 4i, the processor of which detects the path data and determines that the data packet is to be transferred to the port 12b. This information is used to access the path LUT, allowing the data packet to be transferred along the determined path.
  • This process is repeated by each switching node 4i, 4f, 4e, 4b, as described above, until the data packet is output from port 12b to the source end station 7. This removes the path data from the response data packet and copies this information into every subsequent data packet to be transferred to the respective destination end station 6. This allows the switching nodes to automatically transfer the data to the desired output port 12i, and hence to the destination end station 6 .
  • FIG. 3a An example of a transparent bridging protocol data packet 40 is shown in Figure 3a and this comprises a packet header 41, including a destination address field 42 and a source address field 43, and a payload 44, which contains the data to be transferred. It will be realised that the data packets do not include an indication of the ports via which the data should be sent. Accordingly, it is necessary for this information to be derived by the switching nodes 4 of the LAN 1.
  • the processor 25 extracts the destination address from the destination address field 42 and transfers this to the router 8.
  • the router 8 includes an indication of which end stations 5,6,7 are coupled to which ports 12 uses this to look up the address of the destination port 12.
  • the router 8 indicates the destination port as being the port 12h.
  • the modified data packet which is shown in Figure 3c, is modified to include a path data field 45.
  • the path data field will include an indication of the source port 12b, the destination port 12h and the address of the LAN 1. Accordingly, the modified data packet can then be transferred via as described above with respect to source routing.
  • the processor 25 Upon receipt of the packet by the switching node 4h, the processor 25 will determine that the data packet is to be output on the port 12h. Accordingly, it will cause the transmit interface to strip the path data field from the data packet, and then output the data packet, in its unmodified state, from the port 12h.
  • each switching node 4 may include a look-up table indicating the port 12 via which a data packet should be output for each given end station address.
  • each switching node may obtain this information from the route 8, as required.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to a method of transferring data packets between first and second end stations (5, 6, 7) coupled to respective first and second ports (12) of a communications network (1). The network has a number of switching nodes (4) which interconnect the ports (12). The switching nodes cooperate independently of the end stations (5, 6, 7) to determine one or more paths between the ports (12). The method of transferring data packets includes causing the first end station (5, 6, 7) to generate at least one data packet including destination information, and causing the switching nodes (4) to transfer the at least one data packet to the second port (12) via one of the one or more paths which are determined in accordance with the destination information.

Description

METHOD FOR PACKET SWITCHING
The present invention relates to a method of transferring data between first and second end stations via a communications network.
Communication between end stations coupled to a point-to-point type communication network is achieved by establishing a path through the network which links the two end stations. In the majority of these networks, such paths are established and maintained by using either Transparent Bridging or Source Routing type protocols.
In transparent bridging, the point-to-point network is configured so that there can be only one path between any two points in the network. This is achieved using a "Spanning Tree Protocol" in which the switching nodes communicate to transfer status data indicating the current status of links in the network. Each switching node uses this information to determine a route through the network which links all the switching nodes. Any links not on the determined route are then disabled by having one of the switching nodes on the link block a respective input/output port.
The disabled links are used to provide redundancy should any of the active links fail. When such a fault occurs, the status data transferred between the switching nodes is updated accordingly. The switching nodes then determine a new route and the network is reconfigured.
Transfer of data between end stations is controlled by having each switching node maintain a record of which destinations are associated with each of the ports of the node. Accordingly, when a switching node first receives a data packet, it will determine the source address of the data and store this along with an indication of the port on which the data was received, in an address list. The switching node then examines the destination address and compares this to the current address list . If the destination address matches a stored address, the data is transferred to the next switching node via the associated port . With only one route between any two points in the network, the stored address lists are used to define a path through the network for a given destination address. Accordingly, the data is transferred by transferring the data between nodes, until the intended destination is reached.
If the destination address does not match a stored address, a copy of the data is transferred from the switching node via every port, other than the one via which it was received. Accordingly, copies of the data will propagate through the network until a copy reaches its destination. When the destination end station generates response data which is transferred to the original source end station, this can follow the path that was defined by the data packet which successfully reached the destination.
Unfortunately when a fault occurs, it can take some time for the network to reconfigure. During this time the address lists reflect paths that no longer exist and any data that is transferred will therefore be lost. Accordingly, the lists must be recalculated by repeating the procedure described above, which causes further delays in communication between the end stations. In contrast to this, source routing is used on networks which include multiple routes through the network between any two destinations. This is achieved by having the end stations store an indication of the intended path through the network in the data which is to be transferred.
The path is initially determined by having the transmitting end station generate a first data packet including the address of a second desired destination end station but no routing information. This is transferred to a first switching node which modifies the packet by adding in path data which includes an indication of the address of the switching node, along with an indication of the port via which the data packet was received. The data packet is then copied and transferred to each adjacent switching node via the remaining ports.
Each of these adjacent switching nodes similarly updates the path data with its own address and transfers copies of the packet to further switching nodes.
Eventually, the second end station will receive a number of copies of the packet, each copy having path data representing a respective path through the network. The second end station selects one of the data packets and hence the path defined therein. The second end station then generates a response data packet including a copy of the respective path data, which is transferred to the first end station along the defined path. This is achieved by passing the data packet sequentially to each switching node indicated in the path data until it reaches the first end station.
Once the response data packet is received by the first end station, this can extract the path data and add it to any subsequent data packets that are transferred.
Unfortunately, this suffers from the disadvantage that should a fault occur along the path, the data will be lost. The transmitting end station will only detect this when it does not receive an expected response from the destination end station. At this point the transmitting end station must then repeat the above mentioned procedure to establish an alternative path through the network. This takes time and can result in the loss of significant amounts of data. In accordance with a first aspect of the present invention, we provide a method of transferring data packets between first and second end stations coupled to respective first and second ports of a communications network, the network having a number of switching nodes which interconnect the ports, wherein the switching nodes cooperate independently of the end stations to determine one or more paths between the ports, the method comprising the steps of: causing the first end station to generate at least one data packet including destination information; and, causing the switching nodes to transfer the at least one data packet to the second port via one of the one or more determined paths in accordance with the destination information.
In the present invention, the switching nodes of the network communicate with each other so that one or more paths between the network ports are always defined. Data can then be transferred between the end stations via these pre-defined paths. As the paths are defined by the network independently of the end stations, the end stations themselves do not require any details of the path. Accordingly, the end stations need only include information concerning the intended destination of the data in the data packet .
As a result of this, if a fault occurs, such as a switching node failing, the remaining switching nodes automatically define alternative paths through the network which avoid the fault. Typically this will occur within a few milliseconds of the fault occurring. With the new paths being defined independently of the end stations, the end stations can continue to transfer data packets via the network without making any alterations to the destination information. These data packets will automatically be transferred via the new paths. Due to the speed with which the new paths are defined, the chances of losing data is minimal.
This is in complete contrast to the source routing and transparent bridging techniques in which new paths are only determined during the transfer of end station data packets through the network, which can take up to several seconds.
A further advantage of the present invention is that multiple paths can be defined, thereby allowing the data to be spread between different paths to increase the effective bandwidth available for the data transfer.
Typically the method further comprises the step of causing the first end station to include the address of the second port in the at least one data packet . This allows the network to transfer the data packet to the second port along one of the defined paths without having to determine the destination port address. Alternatively however, the network may be configured to transfer the data in accordance with the second end station address or other destination information.
In one example, the method further comprises causing the first end station to determine the port address of the second port using a source routing protocol. It will however be realised that any suitable method of determining the second port address may be used.
Preferably the method of implementing the source routing protocol comprises the steps of causing the first end station to generate and transfer an explorer data packet to the first port; causing the first port to add its port address to the explorer data packet in the form of path data; transferring copies of the explorer data packet from the first port to each other port via respective ones of the one or more determined paths; and, causing each other port to add its port address to the path data of the respective copy of the explorer data packet and to output the copy of the data packet from the network. This is preferable to the prior art source routing implementations as the explorer data packet is copied only to each port along respective paths and not throughout the entire network, thereby reducing network traffic. However, any suitable method of transferring the data packet may be used.
Once the second end station receives the copy of the explorer data packet output from the second port, the method typically further comprises causing the second end station to determine the path data stored in the copy of the explorer data packet, the path data indicating the first port address, the second port address and an address representative of the network; causing the second end station to generate a response data packet including the path data; and causing the network to transfer the response data packet to the first end station, via one of the one or more determined paths, in accordance with the path data. This allows the first and second end stations to define path data for all subsequent data to be transferred. Furthermore, as the path data only includes the first and second port address, as well as the network address, the transfer of data across network appears to be only a two stage hop to the destination end station. Thus, if a fault occurs and the path is changed, this does not effect the path data provided in the data packets which are transferred. This allows the end stations to continue a source routing type of operation without having to determine a modified path.
If the first end station does not include the address of the second port in the data packet to be transferred, for example in the case in which the end station operates in accordance with a transparent bridging protocol, then an alternative method of determining which defined path the data is to be transferred along must be used.
In this case, the network typically includes at least one store for storing an indication of the address of each end station along with the respective port address, the method further comprising the steps of causing the first end station to include the address of the second end station in the at least one data packet; and causing at least the first port to determine the second port address from the store, the data being transferred in accordance with the second port address . Typically the method then further comprises causing the first port to add path data to the data packet, the path data indicating the first and second port addresses and a network address only. Alternatively, each switching node on the respective path could determine the second port address from the second end station address, as required. Typically each switching node includes a number of switching node ports, the network ports being respective ones of the switching node ports, although any suitable means of connecting the end stations to the network could be used. It will be realised that the end station may be a computer, a LAN, or any suitable communications device.
Examples of the present invention will now be described with reference to the accompanying drawings, in which: - Figure 1 shows in schematic form a LAN operating in accordance with an example of the present invention;
Figure 2 shows one of the switching nodes of the LAN of Figure 1 in greater detail;
Figure 3a shows an example of a data packet suitable for use with a source routing protocol;
Figure 3b shows an example of a data packet suitable for use with a transparent bridging protocol ;
Figure 3c shows an example of a modified source routing protocol data packet, modified for transfer over the LAN of Figure 1; and,
Figure 4 shows an example of a path look-up table stored in the switching nodes of Figure 1.
Figure 1 shows a LAN 1 formed from a number of switching nodes 4a, 4b, 4c, 4d, 4e, 4f, 4g, 4h, 4i. Each switching node 4 has a number of ports 2 which are used to couple the switching nodes 4a, 4b, 4c, 4d, 4e, 4f, 4g, 4h, 4i together via respective connections 3. Some of the switching nodes 4a, 4b, 4c, 4g, 4h, 4i, also have respective ports 12a, 12b, 12c, 12g, 12h, 12i which are used for coupling end stations 5,6,7 to the LAN 1. Each port 2,12 will include a port controller (not shown) which is used to configure the port for communication with the respective device to which it is connected.
The end stations coupled to the ports 12 include transparent bridging end stations 5, which operate in accordance with the transparent bridging protocol, source routing end stations 6, which operate in accordance with a source routing protocol and "Multigig" end stations 7, which are capable of operating in accordance with either the transparent bridging or source routing protocols. Each end station 5,6,7 includes a respective end station port (not shown) for coupling the end station to the network. In each case, the end station may take the form of a personal computer, a file server, a communications network or the like. The LAN generally also includes a router 8, which is used for coordinating the transfer of data between the different end stations 5,6,7 and which is coupled to the network via one of the switching nodes 4d.
When an end station 5,6,7 is initially coupled to one of the ports 12a, 12b, 12c, 12g, 12h, 12i of the switching nodes 4a, 4b, 4c, 4d, 4e, 4f, 4g, 4h, the port controller of the respective port 12 determines the protocol with which the end station 5,6,7 can communicate and configures the port accordingly. The port controller also sends an indication of the nature of the respective end station 5,6,7 to the router 8. This information is then used to coordinate the transfer of data between end stations such that two end stations will always attempt to communicate using the same protocol.
In use, data is transferred between the end stations 5,6,7, using respective paths that connect the ports 12. These paths are determined by the switching nodes 4 , independently of the presence of end stations 5,6,7, by having the switching nodes 4 communicate with each other, as will be explained in more detail below. As a result, data packets generated by each end station 5,6,7 can be transferred to the respective port 12 including an indication of the intended data packet destination. The data packet is then automatically transferred via one of the determined paths, to the intended destination port 12, in accordance with destination information. As a result, data can be transferred between end stations 5,6,7 without the end station having any details of the actual path taken through the LAN 1.
The paths are determined using a protocol such as the OSPF (Open Shortest Path First) protocol. This is achieved by causing the switching nodes 4 to communicate with each other to determine the current topology of the network. The switching nodes then use this information to determine the preferred path or paths between any two given ports 12. Information defining these paths is then stored in each switching node 4.
An example of a switching node 4, which is suitable for use as one of the switching nodes 4a, 4b, 4c, 4g, 4h, 4i, used in the LAN 1, is shown in Figure 2. This comprises a receive interface 20 and a transmit interface 21 both of which are coupled to the number of ports 2,12 via a bus 22. The transmit and receive interfaces are coupled to each other by a connection 23, as well as via a buffer memory 24. Operation of the switching node 4 is controlled by a processor 25, which is coupled to the transmit and receive interfaces 20,21 as well as the buffer memory 24. Also coupled to the processor 25 is a buffer memory 26 which stores path data defining the number of paths through the network, as well as an indication of the address of each port 12a, 12b, 12c, 12g, 12h, 12i on the network.
It will be realised that the switching nodes 4d, 4e, 4f, are similar to the above design but with a port 2 instead of the port 12. In use, when the switching node 4 receives a data packet at a respective port 2,12, the data packet is transferred via the bus 22, to the receive interface 20, which acts to determine the intended data packet destination.
In general , there are two types of data packet destination. The first destination type is the processor 25 of the switching node itself. These data packets originate from the communication between end station to determine the paths. In this case the receive interface 20 removes the packet header and passes the payload onto the processor 25 for further processing. Alternatively, the data packet is intended for transfer to an external destination, such as an alternative switching node 4 or an end station, 5,6,7. In this case the receive interface uses destination information contained within the data packet to determine the intended destination of the data packet . An indication of the port 2,12 via which the data packet is to be output is then obtained from the memory 26, as will be described in more detail below. The data packet is then output to the respective port 2,12 via the transmit interface 21.
Operation of the switching nodes 4 to determine the number of paths will now be described.
Firstly, it is necessary for the switching nodes 4 to determine the topology of the network. This is achieved by having the processor 25, of each switching node 4, periodically generate a "hello" data packet. These are transferred out of the respective ports 2, to adjacent switching nodes.
The adjacent switching nodes 4 analyse the received "hello" data packet to determine which switching nodes they are directly connected to and the status of the respective connections 3. Thus in the present example, the switching node 4a would determine that it is connected to switching nodes 4b, 4d. Each switching node 4 then generates a link state advertisement which indicates the current status of the immediately adjacent switching nodes 4 and the respective connections 3. The status of each connection 3 and each switching node 4 is typically provided in the form of a cost indication which represents the ability of a connection and/or switching node to transfer data. Thus a low cost indicates the ability to transfer a large amount of data rapidly, i.e. a high bandwidth connection, whereas a higher cost would represent a lower bandwidth connection.
A number of link state advertisements from different switching nodes are then typically combined to form link state data packets which are flooded across the network. Upon receiving a link state data packet, the packet is transferred via the receiving interface 20 to the processor 25, which examines the link state advertisements contained in the packet and removes any which are beyond a certain age or which have been superseded by subsequent advertisements.
The processor 25 uses the data contained in the link state advertisements to update details of the current network topology which are stored in the memory 26 in the form of a topology look-up table. The topology LUT indicates the address and cost indication of each switching node 4, along with the cost indication of the respective connections 3. The switching nodes 4 then apply a predetermined algorithm to determine a number of paths between each of the ports 12. The path(s) are determined in accordance with the cost information to ensure that the path(s) has the best transfer rate available. Details of the path are then stored in the form of a path look-up table in the memory 26.
An example of a suitable path LUT is shown in Figure 4 in which there is a port address field 60 which includes the address of each possible port 12, along with an associated switching node field 61 which indicates the switching node 4 to which the data packet should be output to reach the respective port. Thus, each switching node 4 in the path will simply transfer the data packet to the next switching node 4 in the path until the destination is reached.
Thus, in the present example, the switching nodes may determine that the best path between the port 12b and the port 12i is via switching nodes 4b, 4e, 4f, 4i. Accordingly, the path LUT of switching node 4b will indicate the switching node 4e in the switching node field 61 associated with the port address field 60 which contains the port address 12i, as shown in Figure 4.
Similarly, the best route between the ports 12b and 12h is via the switching nodes 4b, 4e, 4h. Accordingly, the path LUT of the switching node 4b indicates that the switching node 4e for the destination port 4h. In the case in which a number of paths are defined between respective ports 12, the switching node field would include multiple switching node addresses. Thus, for example, two paths may be determined between the nodes 12b and 12g, the paths being via the switching nodes 4b, 4a, 4d, 4g and via the switching nodes 4b, 4e, 4d, 4g respectively. In this case, the switching node field 61 of the switching node 4b indicates that the switching nodes 4a and 4e are associated with the destination port 12g. Multiple paths would generally be defined for identical cost routes. In operation the number of data packets transferred via each path would be maintained approximately equally. This is achieved because only the switching node at the fork in the path has any control over which path is taken. Accordingly, in the present example the switching node 4b would transfer half the data packets to the switching node 4a and the remaining data packets to the switching node 4e. The switching nodes 4e and 4a then transfer the data to the next end station in the respective paths in the normal way. It will be realised that as the link state advertisements are flooded through the network, the topology LUT stored by each switching node 4 will be identical. Furthermore, as each switching node 4 uses the same algorithm, each switching node 4 will determine the same paths between the ports 12. Because of this, each switching node can simply determine the route along which data is to be sent from an indication of the destination port 12. The manner in which this information is presented to the switching nodes 4 of the LAN 1 will vary depending on the nature of the data packet to be transferred.
In the present example the LAN 1 is configured to transfer data packets generated in accordance with either the transparent bridging or source routing protocols, and each case will now be discussed separately. In the case of source routing, the data packets will be as shown in Figure 3a. In this case, the data packet 50 comprises a packet header 51, including a destination address field 52, a source address field 53 and a path data field 54, along with a payload 55, which contains the data to be transferred.
Operation of the LAN 1 to transfer data between source routing type end stations 6,7 will now be described. This will follow the example given above in which data is to be transferred between the end station 7 coupled to the port 12b (hereinafter referred to as the source end station 7) and the end station 6 coupled to the port 12i (hereinafter referred to as the destination end station 6) .
Initially the source end station 7 will generate an explorer data packet, which may contain data to be transferred to the destination end station 6. This explorer data packet will include the address of the end station 6 in the destination address field 52 and the address of the source end station 7 in the source address field 53. There will be no data stored in the path data field 54. The explorer data packet is transferred via the port 12b to the switching node 4b. The receiving interface 20 of the switching node 4b will decode the information contained in the packet header and transfer the data packet to the buffer memory 24. Concurrently, the processor 25 will determine that there is no information provided in the path data field 54. Accordingly, the processor 25 will modify the path data field to include details of the port address 12b. The processor then determines from the path LUT the paths to each port on the network 12a, 12c, 12g, 12h, 12i (other than the port 12b) and copies the data packet, via the transmit interface 21 and the respective ports 2, to the ports 12a, 12c, 12g, 12h, 12i along the respective path (s) .
Upon reaching a switching node having a port 12, the path data field 54 of the data packet is modified with the respective port address 12a, 12c, 12g, 12h, 12i and a general LAN address representative of the LAN 1. The data packet is then output from the port. In this manner, the data packet is transferred via the defined routes to each port and hence to each end station coupled to the network. If the data packet is received by an end station which is not the intended destination address, the end station will simply discard the data packet. However, when the data packet is received by the intended destination end station 6, this will decode the data and generate a response data packet . This includes a copy of the path data from the received data packet in its own path data field. Accordingly, the path data has an indication of the port addresses 12b, 12i and the address of the LAN 1.
The response data packet is transferred via the port 12i to the switching node 4i, the processor of which detects the path data and determines that the data packet is to be transferred to the port 12b. This information is used to access the path LUT, allowing the data packet to be transferred along the determined path.
This process is repeated by each switching node 4i, 4f, 4e, 4b, as described above, until the data packet is output from port 12b to the source end station 7. This removes the path data from the response data packet and copies this information into every subsequent data packet to be transferred to the respective destination end station 6. This allows the switching nodes to automatically transfer the data to the desired output port 12i, and hence to the destination end station 6 .
An example of a transparent bridging protocol data packet 40 is shown in Figure 3a and this comprises a packet header 41, including a destination address field 42 and a source address field 43, and a payload 44, which contains the data to be transferred. It will be realised that the data packets do not include an indication of the ports via which the data should be sent. Accordingly, it is necessary for this information to be derived by the switching nodes 4 of the LAN 1.
In the preferred example of the present invention, when a switching node 4 receives a transparent bridging data packet, the processor 25 extracts the destination address from the destination address field 42 and transfers this to the router 8. The router 8 includes an indication of which end stations 5,6,7 are coupled to which ports 12 uses this to look up the address of the destination port 12.
Thus in the example described above, if the data is to be transferred from the source end station 7, coupled to the port 12b, to the destination end station 5, coupled to the port 12h, then the router 8 indicates the destination port as being the port 12h.
This information is then transferred back to the processor 25 which causes the transmit interface 21 to modify the data packet prior to output from the switching node 4. The modified data packet, which is shown in Figure 3c, is modified to include a path data field 45. The path data field will include an indication of the source port 12b, the destination port 12h and the address of the LAN 1. Accordingly, the modified data packet can then be transferred via as described above with respect to source routing.
Upon receipt of the packet by the switching node 4h, the processor 25 will determine that the data packet is to be output on the port 12h. Accordingly, it will cause the transmit interface to strip the path data field from the data packet, and then output the data packet, in its unmodified state, from the port 12h.
It will be realised however that the transfer of the transparent bridging type data packets could be achieved in a number of alternative ways. For example, each switching node 4 may include a look-up table indicating the port 12 via which a data packet should be output for each given end station address. Alternatively, each switching node may obtain this information from the route 8, as required.

Claims

1. A method of transferring data packets between first and second end stations coupled to respective first and second ports of a communications network, the network having a number of switching nodes which interconnect the ports, wherein the switching nodes cooperate independently of the end stations to determine one or more paths between the ports, the method comprising the steps of: causing the first end station to generate at least one data packet including destination information; and, causing the switching nodes to transfer the at least one data packet to the second port via one of the one or more determined paths in accordance with the destination information.
2. A method according to claim 1, the method further comprising the step of : causing the first end station to include the address of the second port in the at least one data packet .
3. A method according to claim 1 or claim 2, the method further comprising the step of: causing the first end station to determine the port address of the second port using a source routing protocol .
4. A method according to claim 3 , wherein the method of implementing the source routing protocol comprises the steps of: causing the first end station to generate and transfer an explorer data packet to the first port; causing the first port to add its port address to the explorer data packet in the form of path data; transferring copies of the explorer data packet from the first port to each other port via respective ones of the one or more determined paths; and, causing each other port to add its port address to the path data of the respective copy of the explorer data packet and to output the copy of the data packet from the network .
5. A method according to claim 4, wherein the second end station receives the copy of the explorer data packet output from the second port, the method further comprising: causing the second end station to determine the path data stored in the copy of the explorer data packet, the path data indicating the first port address, the second port address and an address representative of the network; causing the second end station to generate a response data packet including the path data; and, causing the network to transfer the response data packet to the first end station, via one of the one or more determined paths, in accordance with the path data.
6. A method according to claim 1, wherein the network includes at least one store for storing an indication of the address of each end station along with the respective port address, the method further comprising the steps of: causing the first end station to include the address of the second end station in the at least one data packet; and, causing at least the first port to determine the second port address from the store, the data being transferred in accordance with the second port address.
7. A method according to claim 6, wherein the method further comprises causing the first port to add path data to the data packet, the path data indicating the first and second port addresses and a network address only.
8. A method according to any of the preceding claims, wherein each switching node includes a number of switching node ports, the network ports being respective ones of the switching node ports.
PCT/GB1999/002696 1998-08-18 1999-08-16 Method for packet switching WO2000011842A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GBGB9818022.7A GB9818022D0 (en) 1998-08-18 1998-08-18 Communications network
GB9818022.7 1998-08-18
GBGB9904151.9A GB9904151D0 (en) 1998-08-18 1999-02-23 Communications network
GB9904151.9 1999-02-23

Publications (1)

Publication Number Publication Date
WO2000011842A1 true WO2000011842A1 (en) 2000-03-02

Family

ID=26314230

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1999/002696 WO2000011842A1 (en) 1998-08-18 1999-08-16 Method for packet switching

Country Status (2)

Country Link
GB (1) GB9904151D0 (en)
WO (1) WO2000011842A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008157644A2 (en) * 2007-06-18 2008-12-24 Qualcomm Incorporated Communication link allocation based on dynamic trend analysis

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0537408A1 (en) * 1991-10-14 1993-04-21 International Business Machines Corporation Routing in a network of bridge-connected LAN Segments
US5721819A (en) * 1995-05-05 1998-02-24 Silicon Graphics Corporation Programmable, distributed network routing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0537408A1 (en) * 1991-10-14 1993-04-21 International Business Machines Corporation Routing in a network of bridge-connected LAN Segments
US5721819A (en) * 1995-05-05 1998-02-24 Silicon Graphics Corporation Programmable, distributed network routing

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TSUNG-YUAN TAI ET AL: "LAN INTERCONNECTION: A TRANSPARENT, SHORTEST-PATH APPROACH", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMMUNICATIONS,US,NEW YORK, IEEE, vol. 3, 23 June 1991 (1991-06-23) - 26 June 1991 (1991-06-26), pages 1666-1670, XP000277596, ISBN: 0-7803-0006-8 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008157644A2 (en) * 2007-06-18 2008-12-24 Qualcomm Incorporated Communication link allocation based on dynamic trend analysis
WO2008157644A3 (en) * 2007-06-18 2009-02-19 Qualcomm Inc Communication link allocation based on dynamic trend analysis
US8817809B2 (en) 2007-06-18 2014-08-26 Qualcomm Incorporated Communication link allocation based on dynamic trend analysis

Also Published As

Publication number Publication date
GB9904151D0 (en) 1999-04-14

Similar Documents

Publication Publication Date Title
EP0937353B1 (en) Routing in a multi-layer distributed network element
EP0518581B1 (en) Routing in communications networks
US6578086B1 (en) Dynamically managing the topology of a data network
US6014380A (en) Mechanism for packet field replacement in a multi-layer distributed network element
US6714549B1 (en) High resiliency network infrastructure
EP0836781B1 (en) Method and apparatus for synchronizing data transmission with on-demand links of a network
US7778204B2 (en) Automatic maintenance of a distributed source tree (DST) network
US8315188B2 (en) Topology database synchronization
US20010044842A1 (en) Communication system, communication control method and control program storage medium
JPH05199229A (en) Router using multiple-hop transfer message enabling bridge-type data transfer
JPH09130401A (en) System and method of scanning atm network on basis of forward and inverse virtual connection labels
JPH10336249A (en) Internet protocol repeating network
JP2003218901A (en) Frame relay system, frame relaying apparatus, relaying apparatus, and network
AU764270B2 (en) Distributed switch and connection control arrangement and method for digital communications network
GB2356110A (en) Stacked network devices including a protocol engine and distributed trunk ports
JP3449541B2 (en) Data packet transfer network and data packet transfer method
US6438133B1 (en) Load balancing mechanism for a translational bridge environment
EP2122925A1 (en) Method, bridge and computer network for calculating a spanning tree based on link state advertisements (lsa)
US6407985B1 (en) Load sharing over blocked links
US6654369B1 (en) Method for directing the route of a cell transmitting a network
US7333509B1 (en) Cell relay using the internet protocol
Cisco Understanding Token Ring Switching
WO2000011842A1 (en) Method for packet switching
Cisco Understanding Token Ring Switching
Cisco Understanding Token Ring Switching

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)

Free format text: (EXCEPT AE, AG, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BY, BZ, CA, CH, CN, CR, CU, CZ, DE, DK, DM, DZ,EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS, JP, KE, KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, MZ, NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, SK, SL, TJ, TM, TR, TT, TZ, UA, UG, UZ, VN, YU, ZA, ZW, EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, IT, LU, MC, NL, PT, SE, TR))