Some of what you describe could be symptoms of a broadcast storm / bridging loop. Some additional information about the network would be helpfull.
How many hubs/switches do you have, and how are they connected? If you have more than two, is there anywhere that they may have a parallel connection (two connections between the two or more hubs/switches?
If they are switches or bridged hubs, check to see that "Spanning Tree" is enabled on all of them (switches and bridges). Spanning Tree will break the loop by temporarily disabling one of the redundant connections (but will re-enable the connection if the other one drops).
Another potential source is someone that is dialing-up one branch of the network from the same broadcast domain. Is anyone complaining that their dial-up connection is acting funny?
It can also happen that some component has failed or is failing, and putting out a steady stream of garbage traffic. Since you mentioned that you must reboot the servers to clear the condition, the network segmant containing the servers would be a good place to start looking.
Do you have access to a network analyzer? Can you capture the traffic stream to look at it?
If you have a computer running Sun Solaris, you can enter the command 'snoop <interface identifier>' and see the traffic (requires root privilages). There are many options for this command, check the man pages.
Good Luck
Scott