MAC ARCHITECTURE

Abstract: A network device comprising a media access control unit for receiving and transmitting data from and to the network characterised in that a media access control unit receiving means is provided separately for a media access control unit transmitting means.

Description: MAC Architecture The present invention relates to the architecture of media access control (MAC) units in networking devices. As is well known, in a computer network users are able to communicate with each other via the network, which typically comprises one or more communication hubs to which the users are connected. There are a number of well known different types of hub for providing communication with such a network, for instance repeaters, bridges and switches. Each such device has a plurality of ports to which users may connect and the communication hub provides connections between the various ports in order that users can communicate with each other. Different types of communication hub, such as those just mentioned, provide this communication between ports in differing ways, although this is not important to the present invention. However, for completeness, it is mentioned that repeaters simply retransmit on every port all communications received on any port while bridges decide on the basis of what the intended destination of a particular communication is which port to transmit the communication to. Associated with the core devices in such communication hubs, which provide the basic functions just described, there are provided media access control (MAC) units which control the reception and transmission of data on the network. Typically it has been known to provide a single MAC which includes the ability to control both the transmission and the reception for a particular communication hub. The present invention relates to the architecture of a MAC provided in situations such as just described, and in particular provides an architecture in which the parts of the MAC which deal with transmission of data are provided separately from those parts of the MAC which deal with reception. The advantage of this approach is that it is possible to optimize the design of each part for the particular design in question. Also, because of the separation of the parts of the MAC, in the arrangement of the present invention it is only necessary to repeat the parts of the MAC which are required. In an example embodiment of this invention in which a plurality of repeater cores are integrated together, instead of providing a complete MAC for each repeater core it is necessary only to provide a receive MAC for each of the repeaters while a single transmit MAC can deal with the overall device. In another example a workgroup switch (bridge per port) is dedicated for use with a single server and multiple clients. In this configuration the vast majority of communication is dialogues between the server and a multiplicity of client ports so the hub throughput is limited to that of the server port. The server port however can only carry on a dialogue with one client port at a time and thus a single transmit MAC is provided and shared between all client ports. This would reduce bandwidth for client to client communications, but such communications are typically rare or non-existent, and should therefore not need significant bandwidth. A second transmit MAC is provided for the server port. Such arrangements have particular advantages because in a complete MAC, the transmit side takes up more size and cost than the receive side and therefore a considerable saving in the size and cost of the device can be achieved by not repeating the provision of the transmit MAC more than is necessary. In communication hubs in computer networks it is also a standard procedure to collect statistics relating to the communications which pass through the hub and the MACs are additionally responsible for supplying details of the received and transmitted communications for the purpose of statistics collection. In a further preferred arrangement according to this invention, there is provided a single statistics collection arrangement which collects statistics from the plurality of transmit and/or receive MACs. MACs are additional responsible for deciding if a particular packet is addressed to the devices they are associated with, and thus if it should be stored for processing. In a particularly preferred arrangement in this invention a single buffer memory means is provided, the resources of which are dynamically allocated to the plurality of receive MACs for the reception of appropriate communications. This invention will be better understood from the following description of a preferred embodiment by way of example and with reference to the accompanying drawings in which:- Figure 1 is a block diagram of an arrangement embodying me present invention; and Figure 2 is a block diagram illustrating in more detail a portion of Figure 1. In the following, an embodiment of this invention is described in the context of a repeater for use in networks of the above discussed type. In particular it is in the context of a repeater device in which there are four repeaters integrated together. The operational details of such a repeater are discussed in a co-pending application and therefore will not be given in full here. It is to be understood however that the description herein in this context is merely by way of example and the principles of this invention are applicable to other types of network device. Figure 1 illustrates schematically portions of the above-mentioned exemplary arrangement necessary for the understanding of this invention. In particular Figure 1 illustrates the operation of a repeater device which comprises 4 repeater kemals 10. The device also has a plurality of ports 12 by way of which it may be connected to various users and these are connected to the repeater kemals 10 by way of a switch matrix 14. It is sufficient for present purposes to understand that switch matrix 14 is capable of connecting any of ports 12 to any of repeater kemals 10. The repeater devices of this embodiment are designed to be connected in a stack or cascade with other devices of the same type, and therefore there are additionally provided four cascade ports 16 to which the repeater kemals 10 also transmit information, and there is a management cascade port 17 which, when the devices are stacked together, provides facilities for management of the stack overall. In this arrangement there is provided a single transmit MAC (hereafter abbreviated to Tx MAC) 18 as illustrated by switch 19, the Tx MAC 18 may operate in conjunction with any of the repeater kemals 10 and the management cascade port 17. Thus Tx MAC 18 operates in place of the transmit part of the MAC which would conventionally be provided with each of the repeater kemals 10. It is possible to have such an arrangement because data which is being transmitted by the repeater device is fully managed and therefore Tx MAC 18 can be managed accordingly. This is therefore particularly efficient in terms of costs of producing the device, as it is not necessary to provide a repeated number of the transmit functions of a MAC. As illustrated in Figure 1 there is also provided a repeater management subsystem 20, details of which are illustrated schematically in Figure 2. This subsystem is responsible for monitoring the traffic on the network while maintaining statistics for each repeater kemal 10 and also providing feedback to control the configuration of the repeater and the repeater ports in the system. As is apparent from Figure 2, in this embodiment certain portions are duplicated according to the number of repeater kemals in the system, while other portions are provided only once in the system as a whole. .As can be seen there are provided five receive MACs (hereafter abbreviated Rx MACs) 22. In this arrangement this means there is one Rx MAC for each repeater kemal 10 and an additional Rx MAC for handling the management cascade ports 17. The Rx MAC is a basic implementation of the receive part of a normal MAC. Part of the function of the Rx MAC in this embodiment is to operate in parallel with the statistics gathering portions illustrated in Figure 2 which are not described in detail here. Briefly however there are provided statistics gathering facilities for dealing with the communications which pass through all the repeaters and for storing these statistics in conformity with standard systems for network statistics gathering. For example standard RMON and or IEEE repeater statistics may be collected. Further details of this are described in the above-mentioned co- pending application. As is well known, one of the functions of the receive portion of a normal MAC is to decide whether the particular device with which it is associated should actually receive and process an incoming data packet. That is, the MAC decides whether or not the package is addressed to its associated device. When the MAC is associated with a repeater or other communications device within a network environment it is the case that the majority of packets passing through the device are not addressed to the device in question as they are communications between users on die network. However, for management purposes it is possible to send communications to a switching device, for instance to instruct it to alter its configuration, or to interrogate it regarding its stored statistics, and also for monitoring purposes (the device may wish to receive all packets passing through the repeater, or some portion with particular addresses). In the arrangement according to the present invention therefore the Rx MAC 22 must be capable of identifying whether a data packet received by one of the repeater kemals 10 is actually addressed to the repeater device itself. Typically, therefore a MAC has associated with it a memory means into which packets which are addressed to the device in question can be read for processing by the device. In the present invention, it has been found that it is not necessary to provide independent memory means for each Rx MAC, and there is provided a single memory means which services all of the Rx MACs 22 as described in the following. In order that the common memory means 24 can be properly managed, when an Rx MAC 22 decides that a received packet should be stored in the memory for processing by the device it allocates a priority level to the packet in question. There are in general three types of packet for which the Rx MAC may decide that the repeater device itself should receive it. Firstly, the packet may be a communication addressed specifically to the repeater device in question, for instance from a management system as mentioned above. Secondly, the packet may be a multicast or broadcast packet for which the repeater device is one of the intended recipients. Thirdly, when the MAC is being used for monitoring or routing purposes, the packet may be one that is to be monitored, either because it is addressed to a particular address or all packets are being monitored (promiscuous mode). The Rx MAC in this embodiment assigns a high priority to the first type of packet and a low priority to the second and third types. The memory means 24 is defined as a "ring" of buffers arranged to contain received ethemet frames with a "watermark" to flag when the ring is more than a predefined fraction full. It is typically implemented in hardware, and can be configured to support a number of different ring sizes, for instance 16, 32, 64, 256 entries. The ring is formed through an array of "descriptor blocks", one for each buffer in the ring. These are treated as a circular ring containing a head and tail location (which is typically held in the ASIC on which the repeater device is implemented). Received frames are added to the head of the queue while the processor removes frames from the tail of the queue. Associated with the memory means 24 there is a buffer allocating component which is accessed by each of die Rx MACs when it is desired to obtain a buffer. A buffer request may be made to the receive ring by any of the Rx MACs at any time. The buffer allocation component deals with buffer requests from the MACs in a sequential fashion. When a request is made, the Rx MAC indicates ώe priority level, as discussed above, of the packet in question. The buffer allocation component allocates a frame to a requesting MAC depending on the state of the ring at the time the request is processed and the priority of the request. For a low priority request a buffer will be allocated to the requesting MAC for reception of the packet in question, provided there are at least a predefined number of unused buffers in the ring. (A figure of 8 unused buffers is appropriate for use in an implementation where there are 32 buffers in the ring.) For a high priority request the buffer allocation component will allocate a buffer to the receiving MAC if there is at least one free buffer. The head and tail pointers for the buffer ring are maintained in hardware, and the pointers can be checked on a request for a buffer to see how full the ring is. If a requesting Rx MAC is granted access to a buffer in the memory means 24, it downloads the packet in question to the buffer. If the request is denied the Rx MAC discards the frame in question. If an Rx MAC requests the buffer for a packet and die request is denied, the MAC sets a "missed packet" flag. This enables the statistics collection and the processor to keep track of how many packets which should be received are not being received and therefore assess the operation of the system. However, the above mentioned priority arrangement means that the majority of packets which are specifically addressed to the computer device in question are properly received. There has therefore been described above a particular embodiment of me present invention in which separate Tx and Rx MACs have been provided. In particular there are provided only the required number of each type of MAC and therefore there is no redundant hardware provided in me system as a whole. Also there has been described a particular arrangement by way of which the plurality of Rx MACs can deal with packets which should be received by the device itself.

Claims: CLAIMS: 1. A network device comprising a media access control unit for receiving and transmitting data from and to die network characterised in that a media access control unit receiving means is provided separately for a media access control unit transmitting means. 2. A network device according to claim 1, wherein there are a different number of transmitting means to the number of receiving means. 3. A network device according to claim 2, wherein there are fewer transmitting means than receiving means. 4. A network device according to claim 1, 2 or 3 wherein there is provided a single statistics collection arrangement for collecting statistics from the transmit and receive media access control units.

Inventors: GORMAN PETER, LAW DAVID, OVERS PATRICK, STAPLETON NICHOLAS, WILSON PETER, GORMAN, PETER, LAW, DAVID, OVERS, PATRICK, STAPLETON, NICHOLAS, WILSON, PETER
Applicants: 3COM IRELAND, GORMAN PETER, LAW DAVID, OVERS PATRICK, STAPLETON NICHOLAS, WILSON PETER, GORMAN, PETER, LAW, DAVID, OVERS, PATRICK, STAPLETON, NICHOLAS, WILSON, PETER
Application year: 1997
Main classification: H04L12
IPC codes: H04L12