Method and apparatus for avoiding packet loss on a CSMA/CD-type local area network using receive-sense-based jam signal
Assignee3Com Corporation
InventorsWilliam P. Sherer, Richard A. Gahan, John F. Hickey
Life of this patent
Estimating the term…
Abstract
An Ethernet network or other CSMA/CD network includes a hub that is modified to generate a jamming signal on a communication line when a packet received over that line is directed to an unavailable destination. The destination may be unavailable due to full transmit buffers, full receive buffers, or congestion in other parts of the hub architecture. Jamming is detected by the source node as a collision and causes retransmission of the packet from the source node. The decision to jam may include a determination of the packet's priority which may be determined based on the packet's destination or source address.
Claims20
In a carrier-sense/collision-detect network, a method for avoiding packet loss at a receiving node comprising the steps of:
- reading a packet header as soon as a packet is beginning to be received at a receive port;
- reading a destination address in said packet header;
- using said destination address to determine a destination path of said packet;
- detecting whether said destination path is available to receive said packet;
- if the destination path is available, receiving said packet at said receive port normally;
- and
- if the destination path is unavailable, causing a collision at said receive port so that the packet will be retransmitted by a transmitting node.
A carrier sense/collision detect hub comprising;
- a plurality of ports capable of transmitting and receiving data from remote stations;
- a plurality of adaptors, one for each port, for controlling signal and data exchange over said ports;
- a plurality of shared buffer memories for buffering data received on said ports or waiting to be transmitted on said ports;
- a hub controller;
- means in said hub controller for reading the destination address of a data packet received on one of said ports;
- look-up means for using said destination address to look up a destination path of said data packet;
- means for detecting whether said destination path of said data packet is available;
- and
- jamming means for causing a collision at said one of said ports in response to destination path being unavailable.
A hub for use with a plurality of CS/CD stations comprising:
- a plurality of multiple media access controllers, MMACs, each MMAC capable of transmitting and receiving data on a plurality of ports;
- a plurality of shared buffer memories, one for each MMAC, for buffering data received on said ports or waiting to be transmitted on said ports;
- a hub controller;
- a look-up memory connected to said hub controller;
- a data bus for transmitting data among said MMACs and said hub controller;
- a status bus for transmitting control information among said MMACs and said hub controller;
- means in said hub controller for reading the destination address of a data packet received on one of said ports;
- means for using said destination address to look up in said look-up memory a destination path of said data packet;
- means for detecting whether said destination path of said data packet is available;
- jamming means for causing a collision at said one of said ports if said destination path is not available.
A hub controller for use in CSMA/CD network-hub comprising:
- a bus interface for communicating control information and data to a plurality of port adaptors over a bus, said port adaptors including a transmit buffer and a receive buffer, including means for receiving a signal indicating a packet is being received at one of said port adaptors and means for communicating a jam request signal to one of said port adaptors;
- a destination address look-up memory interface for storing and retrieving a plurality of destination address destination paths in a destination address look-up memory;
- a look-up engine means for polling said plurality of port adaptors to determine if any of said port adaptors contains a packet that requires a look-up and then performing a look-up in said look-up memory to determine the destination path through said hub of said packet;
- means for determining the status of said destination path;
- means for generating a jam request to said receive port if said destination path is not available;
- a per-packet engine means for determining in a fair manner which receive port buffer will be connected to said bus;
- a burst level engine means for initiating data transfers between a receive port and a transmit port;
- and
- a link table memory interface for storing and retrieving link table entries, said link table entries indicating a link between a receive port and a transmit port.
A multiple port controller for use in CSMA/CD network hub comprising:
- a plurality of port connectors providing connection to a plurality of ports each capable of connecting with a CSMA/CD channel;
- a bus interface for communicating control information and data among a plurality of multiple port controllers and a hub controller over a bus;
- a shared buffer memory interface for storing and retrieving packets received on said ports in a shared buffer memory;
- means for transmitting a signal via said bus interface indicating a packet is being received at one of said ports;
- means for receiving a jam request signal over said bus from said hub controller;
- and
- means for generating a jam packet in response to said jam request signal.
Dependencies are inferred from the claim text.