Full-duplex operation requires concurrent implementation of
the optional flow-control capability that allows a receiving node (such as a
network switch port) that is becoming congested to request the sending node
(such as a file server) to stop sending frames for a selected short period of
time. Control is MAC-to-MAC through the use of a pause frame that is
automatically generated by the receiving MAC. If the congestion is relieved
before the requested wait has expired, a second pause frame with a zero
time-to-wait value can be sent to request resumption of transmission. An
overview of the flow control operation is shown in Figure 7-10.
Figure 7-10 An Overview of the IEEE 802.3 Flow Control
Sequence
The full-duplex operation and its companion flow control
capability are both options for all Ethernet MACs and all transmission rates.
Both options are enabled on a link-by-link basis, assuming that the associated
physical layers are also capable of supporting full-duplex operation.
Pause frames are identified as MAC control frames by an
exclusive assigned (reserved) length/type value. They are also assigned a
reserved destination address value to ensure that an incoming pause frame is
never forwarded to upper protocol layers or to other ports in a switch.
Frame Reception
Frame reception is essentially the same for both
half-duplex and full-duplex operations, except that full-duplex MACs must have
separate frame buffers and data paths to allow for simultaneous frame
transmission and reception.
Frame reception is the reverse of frame transmission. The
destination address of the received frame is checked and matched against the
station's address list (its MAC address, its group addresses, and the broadcast
address) to determine whether the frame is destined for that station. If an
address match is found, the frame length is checked and the received FCS is
compared to the FCS that was generated during frame reception. If the frame
length is okay and there is an FCS match, the frame type is determined by the
contents of the Length/Type field. The frame is then parsed and forwarded to the
appropriate upper layer.
|