the present invention will for convenience be described in the context of a switch which has a multiplicity of ports for receiving packets from a corresponding variety of sources and which provides packets in time shared fashion to a dbus , typically a 64 - bit wide bus operating at 33 megahertz . in an example of this context , an access controller for the bus allows packets in to defined time slots and normally allows , for n ports , 1 / n of the available bandwidth to each port . in the particular example to be described , the switch has thirty - two ports of which a selected minority , typically but not necessarily four , of the ports are trunked ports which are dedicated to the downlink and receive data from a single , higher speed link . in practice , the invention can be embodied as a plug - in card which couples to a multiplicity of ports on a network device such as a multi - port switch . nevertheless , this context for the present invention is only given by way of example . the common features of contexts in which the invention has utility are a high speed link from which packets need to be evenly distributed to a multiplicity of packet queues while ensuring that packets which have the same selected address data , such as the same source address or the same source address and destination address combination , always go to the same traffic queue and that the temporal ordering of packets having a given address , according to the relevant selection criterion , is required to be preserved in the respective traffic queue . as remarked previously , it is simple to ensure , ignoring the foregoing requirement , that packets received over a single high speed link are distributed evenly to a multiplicity of traffic queues . a round robin distribution scheme be sufficient . however , a round robin scheme cannot guarantee the temporal ordering of packets having the same selected address data and it is inevitable to find , if one ensures that the packets with the same selected address data go to the same queue , that there will be in practice serious imbalance in the lengths of the queues . the effect is acerbated in the particular context mentioned , because each traffic queue will be allotted the same bandwidth on the dbus . in some circumstances , a hashing function which is operative only on source addresses ( sa ) of packets may be used for demultiplexing the packets from the high speed link . however , if the source of packets is a file server , all the source addresses will hash to the same number and all the packets will be sent to the same queue . for that reason it is in general desirable to have a menu of hashing functions , some of which at least rely on a source address / destination address combination or at least data not confined to a source address or part of it . fig1 shows schematically the relevant part of a downlink which incorporates the invention . as will be apparent , part of the downlink ( and particularly parts 11 to 17 ) is organised in accordance with known practice , the invention includes a monitoring scheme which enables an improvement in the packet distribution that can be achieved by the dedicated ports . in fig1 the reference 10 illustrates a very high speed serial data link , typically operating at a rate well in excess of 1 gigabit per second . the serial data is deserialised by a deserialiser 11 , which provides packet data , typically in blocks of parallel data , to a demultiplexer 13 which is controlled by select hash logic 12 to direct packets to any one of a dedicated multiplicity of ports , which in this example are represented by fifos 14 a to 14 d . this is not the only arrangement that could be devised , and in particular the deserialiser may be applied to outputs that are in effect plugged into standard ports of a multi - port switch . the fifos may be constituted by a fixed space allotted to each fifo in a static ram , pointers defining the head ( write ) end and tail ( read ) end of each fifo . the architecture is not essential , provided that the ports can each form a queue of packets in the order in which that port receives the packets . for example , the packets may be directed by way of a bus to a buffer memory and queues of packets may then essentially be defined by a queue or queues of pointers , each of the pointers defining an address for a respective buffer in the buffer memory . these modifications will be obvious to those skilled in the art ; for the purpose of the present invention it is only necessary that for each relevant port or channel there is defined a respective queue of packets . other ports for the downlink , not connected to the high speed link 10 , are shown as the ports 14 e to 14 f . in a typical example the downlink may have twenty - four ports of which four are constituted by the ports 14 a to 14 d and the other twenty are merely represented in this example by the ports 14 e and 14 f . as briefly indicated previously , the fifos 14 a to 14 d and the relevant fifos ( not shown ) for the other ports 14 e and 14 f can provide packets to a dbus 15 , which in this example is a 64 - bit wide data bus operating at 33 megahertz . an access controller 16 for the bus may define , in this example , twenty - four time slots which are evenly allocated to the packet queues , whereby if any queue has a packet to send the access controller allocates that packet to the respective time slot . in this scheme , any of the n ports is accorded 1 / n of the bandwidth available on the bus 15 . the select hash logic 12 applies to selected address data of each packet a hashing function which reduces that selected data to a short address word that controls the demultiplexer 13 . in the particular example , the hash result is a 2 - bit word that defines four possible outputs or channels from the demultiplexer . each of the four possibilities for the address word is associated with one of the ‘ ports ’ 14 a to 14 d . a typical hash function , performing for example an exclusive - or operation on alternate bits on a source address , will hash the selected address data always to the same 2 - bit word so that packets coming in over the high speed link 10 will always be directed to the same one of the fifos 14 a to 14 d . a simple hashing scheme of this nature will avoid the loss of temporal ordering of a round robin scheme but owing to the comparatively small number of addresses to which the selected address data can be reduced by hashing , a hashing scheme is liable in general to produce an imbalance in the lengths of the packet queues in the trunked ports . the actions of receiving packets , applying a selected hash function and distributing packets to queues are summarized in stages 100 to 102 of fig2 . one provision on which the invention relies is a menu or variety of hash functions which can be selected for use by the select hash logic 12 . the number and particular nature of the hash functions are not important provided that there are at least some which will hash a given source address or source address / destination address combination to a different respective one of the packet queues . in practice , there may be four selectable hash functions which may be selected for use either on the source address or on the source address / destination address combination of the packets . in effect this gives eight different hash functions . these may be stored in a hash memory 18 associated with a cpu 17 and be selected for application to the hash logic 12 by the cpu . alternatively they may be stored in external memory 19 associated with the microprocessor ( cpu ) 17 . before the remainder of the particular downlink is described and in particular before there is discussion of the monitoring process of the present invention , it may be remarked that on start - up it would be normal for the cpu 17 to select some default hash function for application to the select hash logic 12 and for the packets incoming on link 10 to be distributed to the queues in fifos 14 a to 14 d in accordance with that default function until a statistic analysis as described hereinafter has been completed . the present invention includes a function , shown as address read 20 , which will read the address data of all the packets which are received by the fifos 14 a to 14 d , that is to say all the packets which have been received over the high speed link 10 . the precise point at which the address data of the packets are read is not important , they may for example be read on transmission from the fifos to the bus 15 . as shown they are read from the packets &# 39 ; output by the serialiser 11 . all that is required is that there be available to monitoring hash logic 21 the same address data that is available to select hash logic 12 . the monitoring hash logic 21 can perform on the available address data of the packets received by fifos 14 a to 14 d any of the hashing functions which the select hash logic 12 can perform on the packets before those packets are demultiplexed to the fifos 14 a to 14 d . the purpose of the monitoring hash logic 21 is to develop for a given source address or source address / destination address combination the same hashed address word as is obtained from select hash logic 12 so that an addresser 22 can perform the same distribution responsive to the hashed address word as the demultiplexer 13 . however , in response to each hashed address , addresser 22 merely provides an incrementing signal to the respective counter 23 a to 23 d . these counters 23 a to 23 d can be reset by the cpu 17 and on command from the cpu can provide the respective accumulative count for storage in the memory 19 . it is therefore the monitoring hash logic 21 is programmed with the same hashing function as the select hash logic 12 , the distribution of incrementing pulses to the counters 23 a to 23 d will correspond to the distribution of packets to the fifos 14 a to 14 d . the purpose of the monitoring scheme is , while the distribution of packets to the fifos 14 a to 14 d proceeds , to gauge the effect of different hashing functions on the same traffic . thus , in some selectable monitoring period ( which may be a few seconds ), a count of the packets distributed to the fifos 14 a to 14 d is accumulated in the respective counters 23 a to 23 d . accordingly , while the actual distribution of the packets in accordance with the hash functions selected and applied to select hash logic 12 proceeds , the microprocessor 17 applies trial hash functions in turn to the monitoring hash logic 21 , during successive and selectable periods . therefore at the end of a cycle of operation there will be a plurality , typically eight , of sets of counts ( typically four in a set ) which represent the distribution of packets to the fifos 14 a to 14 d that would have occurred if the respective hashing functions had actually been in use on the traffic received . the operation is summarized in stages 103 to 106 of fig2 . such results are susceptible of automated analysis ( stage 107 ) under programmed control because it is necessary only to determine which set provides the most even distribution of packets . this can readily be achieved by computing the mean of the four counts in a set and then computing the ‘ best ’ hash function ( stage 108 ) in accordance with any suitable criterion , such as the least sum of the squares of the deviation of the counts from the computed mean , however some other criterion , such as the set which has the least maximum deviation from the computed mean could be used if desired . it is furthermore a straightforward matter to program the cpu to substitute , for the default hashing function in select hash logic 12 , the hash function which gives the best distribution of packets to the fifos 14 a to 14 d in accordance with the statistical analysis obtained by the monitoring process . the invention relies in the existing embodiment on a multiplicity of predetermined hash functions . a possible modification is to achieve the multiplicity of hash functions by successive modification of a basic hash function and the term ‘ multiplicity of hash functions ’ is intended to relate to the use of a single basic hash function which may be successively or progressively modified to provide different hash results .