WO1996038792A1 - Monitoring and control of data flow in a computer network device - Google Patents

Monitoring and control of data flow in a computer network device Download PDF

Info

Publication number
WO1996038792A1
WO1996038792A1 PCT/EP1996/002338 EP9602338W WO9638792A1 WO 1996038792 A1 WO1996038792 A1 WO 1996038792A1 EP 9602338 W EP9602338 W EP 9602338W WO 9638792 A1 WO9638792 A1 WO 9638792A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
port
computer network
network device
ports
Prior art date
Application number
PCT/EP1996/002338
Other languages
French (fr)
Inventor
Tadhg Creedon
Anne O'connell
Eugene O'neill
Vincent Gavin
John Hickey
Richard Gahan
William Paul Sherer
Original Assignee
3Com Ireland
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
Application filed by 3Com Ireland filed Critical 3Com Ireland
Priority to GB9725276A priority Critical patent/GB2317542B/en
Priority to AU61237/96A priority patent/AU6123796A/en
Priority to US08/973,177 priority patent/US6101554A/en
Publication of WO1996038792A1 publication Critical patent/WO1996038792A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Definitions

  • the present invention relates to apparatus for monitoring and controlling data flow in a computer network device.
  • Computer networks are well known and basically there are two popular types i.e. a token ring network and an ethernet network. Such networks are now well defined. In other words, in order to have compatible equipment and software certain features have to be present in order to comply with the standard. It is known to divide up a large network using devices called bridges and in ethernet technology a bridge is a defined device having defined characteristics. However, we have in the past modified such devices as that they retain the defined operations of a bridge but also, within the device, handle data in a different manner so as to economize on memory. In our terrninology a modified bridge is termed a switch.
  • the present invention proposes apparatus for monitoring and controlling data flow in a computer network device having a plurality of ports, the apparatus including control means for directly linking ports together on the basis of additional information stored in the control means whereby incoming packets are linked directly to an output port to achieve high performance.
  • the additional information is stored in look-up table means additional to the normal CAM or equivalent mechanism.
  • the look-up table means could be in the form of one large table or a plurality of smaller tables. Each table is addressed using separate processing.
  • Fig. 1 shows a diagrammatic lay out of the structure of a device according to the present invention
  • Fig. 2 shows a representation of one part of a device as shown in Fig. 1;
  • Fig. 3 shows diagrammatically a typical burst of data for transmission between ports in the device shown in Fig. 1.
  • Fig. 1 The preferred embodiment of the present invention is shown in Fig. 1 and will be seen to comprise a multi-port switch having ports 0 to n to which devices such as computer terminals, servers, printers and " modems may be attached.
  • a data bus and a control bus Within the switch there is a data bus and a control bus. although for convenience, only a single bus is indicated in the drawing.
  • Each port is connected to the data and control buses. It is common to select one particular port to connect to rest of network. This port is known as the downlink port.
  • each port is provided with transmit and receive buffers 4 in the form of memory devices.
  • the control device 10 consists of look-up tables which are written into and read from under the control of three separate processing elements.
  • One of the look-up tables is basically a modified content addressable memory (CAM) 15 or equivalent mechanism for storing MAC addresses and associated port numbers in a conventional manner.
  • the CAM is used to store information associated with each MAC address, such as port number, age, type etc.
  • control device 10 Operation of the control device 10 is based upon a link table 16 which contains information relating to each of the ports of the switch and this table 16 is shown in more detail in Fig. 2. There is also a small down link table 17 and the inter-relationship between the three tables 15, 16 and 17 will also be described.
  • the lookup machine 20 in the control device 10 scans each receive port, whose port enable bit in the link table is set, for lookup request flags. On finding a lookup request, the lookup process is carried out by the lookup engine. This causes the source and destination addresses to be read from port 0 and stored by the control device. The lookup engine will determine the destination port for the packet, and write the destination port, a multicast/broadcast indicator and a link request flag into the link table. It also causes the lookup request flag to be cleared in port 0.
  • the link engine on finding the link request flag set in the link table, will decide if the destination port is busy or not. If not, it sets a burst request flag in the link table. If it is busy, it does not set the bit in the link table, but sets a flag in the store Rx column and causes the packet to be stored at port 0 until the destination port becomes free, whereupon the link engine will then set the burst request flag.
  • the burst engine on seeing the burst request flag bit set, then permits port 0 to transmit to the destination port via the switch data bus the packet stored in its transmit memory.
  • the preferred form of the burst is shown in Figure 3.
  • the link engine clears the task table of the entries relating to the source port in question. After each engine is finished its link it moves on to the next port. It is thus apparent that all processing engines are independent but act sequentially by passing a request on to the next engine by placing flags at the appropriate location in the link table. Also, the packet is not sent to a central store. Rather, it remains at the source port and, under the control of the burst engine, passes along the switch bus once to the destination port.
  • control unit 10 While the basic operation described above relates to the situation where both the source MAC address and destination MAC address are known to the control unit 10, it also applies to situations where the destination address is not known. This is because all unknown destination addresses are sent to the downlink port.
  • the control unit keeps track of device MAC addresses and corresponding ports using a CAM in a conventional manner although hefe it is proposed that all destination addresses not on a port of the switch will be designated as having the downlink port as their associated port.
  • the link engine clears the link table for that entry.
  • the link table is also provided with indications for "cut through” operation.
  • the link engine 21 can determine whether cut-through operation is appropriate having regard to the source and destination ports and if it is appropriate it places a flag in the cut-through column.
  • the link table has a column indicating whether or not the requested transmission is of a broadcast or multicast packet.
  • the ports of the switch be allocated an additional address indicating that devices attached thereto should be grouped together for operational purposes. These groups of device we will call work groups (WG).
  • Each port is given a work group number and as the device attached to a port wishes to communicate with another device, the packet has associated with it the work group number allocated to the port to which the source device is connected.
  • the work group of the source port is also transmitted as shown in Figure 3.
  • For multicast/unicast packets only those destination ports whose work group matches will accept the packet.
  • For unicast packets only the destination port which matches the destination port and work group on the switch bus will accept the packet.
  • the use of work groups enables virtual networks to be set up within one hardware network. This avoids devices not in the work groups having to deal with broadcast messages not of interest to them.

Abstract

Apparatus for monitoring and controlling data flow in a computer network device having a plurality of parts comprises control means for directly linking ports together on the basis of additional information stored in the control means whereby incoming packets are linked directly to an output port to achieve high performance. The additional information is stored in one or more look-up tables additional to the normal CAM with the or each table addressed by separate processing. This allows the implementation to be in hardware rather than in software.

Description

MONITORING AND CONTROL OF DATA FLOW IN A COMPUTER NETWORK DEVICE
The present invention relates to apparatus for monitoring and controlling data flow in a computer network device.
Computer networks are well known and basically there are two popular types i.e. a token ring network and an ethernet network. Such networks are now well defined. In other words, in order to have compatible equipment and software certain features have to be present in order to comply with the standard. It is known to divide up a large network using devices called bridges and in ethernet technology a bridge is a defined device having defined characteristics. However, we have in the past modified such devices as that they retain the defined operations of a bridge but also, within the device, handle data in a different manner so as to economize on memory. In our terrninology a modified bridge is termed a switch.
In modern networks, more and more control of data flowing in the network is required in order to avoid bottle-necks which cause delays. There is thus a need for a high performance, low cost switch or bridge.
The present invention proposes apparatus for monitoring and controlling data flow in a computer network device having a plurality of ports, the apparatus including control means for directly linking ports together on the basis of additional information stored in the control means whereby incoming packets are linked directly to an output port to achieve high performance.
Preferably, the additional information is stored in look-up table means additional to the normal CAM or equivalent mechanism. The look-up table means could be in the form of one large table or a plurality of smaller tables. Each table is addressed using separate processing.
This arrangement with its system of tables is ideal for implementation in hardware (e.g. in silicon), rather than in software, thus allowing for low cost implementation.
In order that the present invention be more readily understood an embodiment thereof will now be described by way of example with reference to accompanying drawings, in which: - Fig. 1 shows a diagrammatic lay out of the structure of a device according to the present invention;
Fig. 2 shows a representation of one part of a device as shown in Fig. 1; and
Fig. 3 shows diagrammatically a typical burst of data for transmission between ports in the device shown in Fig. 1.
The preferred embodiment of the present invention is shown in Fig. 1 and will be seen to comprise a multi-port switch having ports 0 to n to which devices such as computer terminals, servers, printers and "modems may be attached. Within the switch there is a data bus and a control bus. although for convenience, only a single bus is indicated in the drawing. Each port is connected to the data and control buses. It is common to select one particular port to connect to rest of network. This port is known as the downlink port.
As will be seen from Fig. l, each port is provided with transmit and receive buffers 4 in the form of memory devices.
Traffic through the switch is controlled by a control device generally indicated by the reference numeral 10 which will be described in detail later. The control device is connected to the data and control buses and also communicates with a switch management entity in the form of a processor 11 and memory 12. The control device 10 will now be described in more detail. It consists of look-up tables which are written into and read from under the control of three separate processing elements. One of the look-up tables is basically a modified content addressable memory (CAM) 15 or equivalent mechanism for storing MAC addresses and associated port numbers in a conventional manner. The CAM is used to store information associated with each MAC address, such as port number, age, type etc. Operation of the control device 10 is based upon a link table 16 which contains information relating to each of the ports of the switch and this table 16 is shown in more detail in Fig. 2. There is also a small down link table 17 and the inter-relationship between the three tables 15, 16 and 17 will also be described.
Let us assume there are 29 ports in the switch and that the device attached to port 0 wishes to cornmunicate with another device in the network.
As soon as the packet stated being received by port 0, a lookup request flag is written into the memory section of port 0.
The lookup machine 20 in the control device 10 scans each receive port, whose port enable bit in the link table is set, for lookup request flags. On finding a lookup request, the lookup process is carried out by the lookup engine. This causes the source and destination addresses to be read from port 0 and stored by the control device. The lookup engine will determine the destination port for the packet, and write the destination port, a multicast/broadcast indicator and a link request flag into the link table. It also causes the lookup request flag to be cleared in port 0.
The link engine, on finding the link request flag set in the link table, will decide if the destination port is busy or not. If not, it sets a burst request flag in the link table. If it is busy, it does not set the bit in the link table, but sets a flag in the store Rx column and causes the packet to be stored at port 0 until the destination port becomes free, whereupon the link engine will then set the burst request flag. The burst engine, on seeing the burst request flag bit set, then permits port 0 to transmit to the destination port via the switch data bus the packet stored in its transmit memory. The preferred form of the burst is shown in Figure 3.
Once the transmission is concluded, which is determined by the burst engine, the link engine clears the task table of the entries relating to the source port in question. After each engine is finished its link it moves on to the next port. It is thus apparent that all processing engines are independent but act sequentially by passing a request on to the next engine by placing flags at the appropriate location in the link table. Also, the packet is not sent to a central store. Rather, it remains at the source port and, under the control of the burst engine, passes along the switch bus once to the destination port.
While the basic operation described above relates to the situation where both the source MAC address and destination MAC address are known to the control unit 10, it also applies to situations where the destination address is not known. This is because all unknown destination addresses are sent to the downlink port. The control unit keeps track of device MAC addresses and corresponding ports using a CAM in a conventional manner although hefe it is proposed that all destination addresses not on a port of the switch will be designated as having the downlink port as their associated port.
The above description applies to unicast traffic. In the case of broadcast or multicast traffic the operation is slightly different. For a port wishing to send a broadcast or multicast packet, this request is noted by the look-up engine 20 which sets not only a link request flag but also a multicast/broadcast request flag. Once all destination ports are ready to receive the packet, the link engine sets the burst flag and the burst engine then causes the packet to be transmitted once on to the switch data bus from where it is received simultaneously by all the destination ports.
Once the broadcast has taken place, the burst request having been removed, the link engine clears the link table for that entry.
The link table is also provided with indications for "cut through" operation. The link engine 21 can determine whether cut-through operation is appropriate having regard to the source and destination ports and if it is appropriate it places a flag in the cut-through column. As mentioned above, the link table has a column indicating whether or not the requested transmission is of a broadcast or multicast packet. To facilitate handling of such requests, we propose that the ports of the switch be allocated an additional address indicating that devices attached thereto should be grouped together for operational purposes. These groups of device we will call work groups (WG).
Each port is given a work group number and as the device attached to a port wishes to communicate with another device, the packet has associated with it the work group number allocated to the port to which the source device is connected. When me packet is transmitted across the switch bus, the work group of the source port is also transmitted as shown in Figure 3. For multicast/unicast packets, only those destination ports whose work group matches will accept the packet. For unicast packets, only the destination port which matches the destination port and work group on the switch bus will accept the packet. The use of work groups enables virtual networks to be set up within one hardware network. This avoids devices not in the work groups having to deal with broadcast messages not of interest to them.

Claims

CLAIMS :
1. A computer network device comprising a plurality of ports each arranged to be connected to external apparatus, and a bus coupling the ports together in order to provide data flow between selected ports wherein each port is provided with storage means for storing data to be transmitted to another port via the data bus and for indicating the desire for such transmision and wherein a control device is provided which comprises means for recognising the desire of a port to transmit data, means for determining the destination port of the transmitted data and means for controlling access of the port to the bus for transmission of the data until such time as the destination port is available to receive such data.
2. A computer network device of claim 1, wherein the control device includes look-up means for monitoring the ports for the indication of the desire to transmit data and generating a transmit request flag, link means responsive to the presence of a transmit request flag for storing the destination port or ports to which data should be transmitted, and further means for monitoring the status of destination ports and for permitting transmission of the data on the bus to the or each destination port.
3. A computer network device of claim 2, wherein the further means is arranged to permit transmission of data for a predetermined period of time.
4. A computer network device of claim 3, wherein the further means is arranged to permit a plurality of transmissions of data, each for said predetermined period of time, until all data stored at the transmitting port has been transitted.
5. A computer network device of claims 2, 3 or 4, wherein the look-up means, link means and further means are arranged to operate sequentially, and once having completed a task, return to an initial state.
6. A computer network device of any of claims any 2 to 5 and comprising a look-up table for storing the results of the operation of the look-up means, the link means and the further means.
PCT/EP1996/002338 1995-05-31 1996-05-30 Monitoring and control of data flow in a computer network device WO1996038792A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
GB9725276A GB2317542B (en) 1995-05-31 1996-05-30 Monitoring and control of data flow in a computer network device
AU61237/96A AU6123796A (en) 1995-05-31 1996-05-30 Monitoring and control of data flow in a computer network de vice
US08/973,177 US6101554A (en) 1995-05-31 1996-05-30 Apparatus for controlling data flow using lookup tables to link incoming packets directly to output ports

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9510935.1 1995-05-31
GBGB9510935.1A GB9510935D0 (en) 1995-05-31 1995-05-31 Monitoring and control of data flow in a computer network device

Publications (1)

Publication Number Publication Date
WO1996038792A1 true WO1996038792A1 (en) 1996-12-05

Family

ID=10775246

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP1996/002338 WO1996038792A1 (en) 1995-05-31 1996-05-30 Monitoring and control of data flow in a computer network device

Country Status (4)

Country Link
US (1) US6101554A (en)
AU (1) AU6123796A (en)
GB (2) GB9510935D0 (en)
WO (1) WO1996038792A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101554A (en) * 1995-05-31 2000-08-08 3Com Ireland Apparatus for controlling data flow using lookup tables to link incoming packets directly to output ports
US6289387B1 (en) * 1997-08-05 2001-09-11 Nec Corporation Remote module control system for controlling module disposed at remote place which accommodates line/trunk circuit and control method thereof
EP0860958B1 (en) * 1997-02-11 2003-04-23 Alcatel Canada Inc. Virtual network architecture
US7024508B2 (en) 2002-07-18 2006-04-04 Vega Grieshaber Kg Bus station with integrated bus monitor function
EP1892885A1 (en) 2002-07-18 2008-02-27 VEGA Grieshaber KG Bus station with an integrated bus monitor function

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6549938B1 (en) * 1998-12-10 2003-04-15 Nokia Corporation System and method for prioritizing multicast packets in a network service class utilizing a priority-based quality of service
US6789116B1 (en) * 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US6606317B1 (en) * 1999-09-09 2003-08-12 Harris Corporation Dual key controlled content addressable memory for accessing packet switch data buffer for multicasting data packets
GB2368228B (en) * 2000-10-18 2003-07-23 3Com Corp Network unit with address cache for frequently occuring network conversations
GB2371705B (en) * 2001-01-30 2003-04-23 3Com Corp Network switch with mutually coupled look-up engine and network processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140585A (en) * 1990-07-19 1992-08-18 Kabushiki Kaisha Toshiba Star local-area network system
WO1993003439A1 (en) * 1991-07-26 1993-02-18 Tandem Computers Incorporated Apparatus and method for frame switching
EP0556148A1 (en) * 1992-01-10 1993-08-18 Digital Equipment Corporation Scheme for interlocking a line card to an address recognition engine

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9510935D0 (en) * 1995-05-31 1995-07-26 3Com Ireland Monitoring and control of data flow in a computer network device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5140585A (en) * 1990-07-19 1992-08-18 Kabushiki Kaisha Toshiba Star local-area network system
WO1993003439A1 (en) * 1991-07-26 1993-02-18 Tandem Computers Incorporated Apparatus and method for frame switching
EP0556148A1 (en) * 1992-01-10 1993-08-18 Digital Equipment Corporation Scheme for interlocking a line card to an address recognition engine

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101554A (en) * 1995-05-31 2000-08-08 3Com Ireland Apparatus for controlling data flow using lookup tables to link incoming packets directly to output ports
EP0860958B1 (en) * 1997-02-11 2003-04-23 Alcatel Canada Inc. Virtual network architecture
US6289387B1 (en) * 1997-08-05 2001-09-11 Nec Corporation Remote module control system for controlling module disposed at remote place which accommodates line/trunk circuit and control method thereof
US7024508B2 (en) 2002-07-18 2006-04-04 Vega Grieshaber Kg Bus station with integrated bus monitor function
EP1892885A1 (en) 2002-07-18 2008-02-27 VEGA Grieshaber KG Bus station with an integrated bus monitor function

Also Published As

Publication number Publication date
US6101554A (en) 2000-08-08
GB2317542B (en) 2000-03-29
GB9725276D0 (en) 1998-01-28
GB2317542A (en) 1998-03-25
GB9510935D0 (en) 1995-07-26
AU6123796A (en) 1996-12-18

Similar Documents

Publication Publication Date Title
US5864535A (en) Network server having dynamic load balancing of messages in both inbound and outbound directions
US6320859B1 (en) Early availability of forwarding control information
US6151323A (en) Method of supporting unknown addresses in an interface for data transmission in an asynchronous transfer mode
US5923660A (en) Switching ethernet controller
USRE40467E1 (en) Method and apparatus for managing the flow of data within a switching device
US5764634A (en) Lan switch with zero latency
US5195181A (en) Message processing system having separate message receiving and transmitting processors with message processing being distributed between the separate processors
US6236658B1 (en) Method and apparatus for message routing, including a content addressable memory
US4797880A (en) Non-blocking, self-routing packet switch
EP0537408A1 (en) Routing in a network of bridge-connected LAN Segments
JPH077524A (en) Method for accessing of communication subscriber to address identifier
JPH08502613A (en) Network station with multiple network addresses
US6101554A (en) Apparatus for controlling data flow using lookup tables to link incoming packets directly to output ports
US6163541A (en) Method for selecting virtual channels based on address priority in an asynchronous transfer mode device
US5146560A (en) Apparatus for processing bit streams
US6208662B1 (en) Method for distributing and recovering buffer memories in an asynchronous transfer mode edge device
US5677910A (en) High performance two-port transport LAN bridge
US20060165055A1 (en) Method and apparatus for managing the flow of data within a switching device
US7142515B2 (en) Expandable self-route multi-memory packet switch with a configurable multicast mechanism
GB2321820A (en) A method for dynamically allocating buffers to virtual channels in an asynchronous network
JPH0225579B2 (en)
JP3278831B2 (en) Packet processing device
JPH1023059A (en) Inter-lan connection device
GB2324001A (en) A method for transmitting multi-media traffic in an emulated local area network
JPH09186713A (en) Lan concentrator

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA GB JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

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

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

Ref document number: 08973177

Country of ref document: US

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA