| |
EA2CMN > AX25 01.10.94 10:08l 208 Lines 8917 Bytes #-11687 (0) @ EU
BID : 41779_EA2CMN
Read: DJ9SS DB9CP DL2NAT DK9OS DG6MAY DG2MNF DG1MTG DH1NFJ GUEST
Subj: AX.25 Doc : Part 8/9
Path: DB0KCP<DB0MWS<DB0RBS<DB0PSC<DB0GE<LX0PAC<ON7RC<ON5VL<ON1KGX<ON1KEZ<
F6KIF<F6ABJ<F6PTT<F5MSQ<F8REF<F6KBN<F8KOP<F5RJI<F8KKA<F1ONT<F1HAQ<
F6FBB<F5JGK<EB2CYQ<EA2CMO<EA2CMN
Sent: 940927/1457Z @:EA2CMN.EAZ.ESP.EU #:41779 [Zaragoza] Bid:41779_EA2CMN FBB5
De : EA2CMN@EA2CMN.EAZ.ESP.EU
A : AX25@EU
AX25.DOC PART 8/9
AX.25 Amateur Packet-Radio Link-Layer Protocol
Version 2.0 October 1984
2.4.3.5 Collision Recovery
2.4.3.5.1 Collisions in a Half-Duplex Environment
Collisions of frames in a half-duplex environment are
taken care of by the retry nature of the T1 timer and
retransmission count variable. No other special action needs to
be taken.
2.4.3.5.2 Collisions of Unnumbered Commands
If sent and received SABM or DISC command frames are the
same, both DXEs should send a UA response at the earliest
opportunity, and both devices should enter the indicated state.
If sent and received SABM or DISC commands are different,
both DXEs should enter the disconnected state and transmit a DM
frame at the earliest opportunity.
2.4.3.5.3 Collision of a DM with a SABM or DISC
When an unsolicited DM response frame is sent, a
collision between it and a SABM or DISC may occur. In order to
prevent this DM from being misinterpreted, all unsolicited DM
frames should be transmitted with the F bit set to zero. All
SABM and DISC frames should be sent with the P bit set to one.
This will prevent any confusion when a DM frame is received.
2.4.3.6 Connectionless Operation
In Amateur Radio, there is an additional type of
operation that is not feasible using level 2 connections. This
operation is the round table, where several amateurs may be
engaged in one conversation. This type of operation cannot be
accommodated by AX.25 link-layer connections.
The way round-table activity is implemented is
technically outside the AX.25 connection, but still using the
AX.25 frame structure.
AX.25 uses a special frame for this operation, called the
Unnumbered Information (UI) frame. When this type of operation
is used, the destination address should have a code word
installed in it to prevent the users of that particular round
table from seeing all frames going through the shared RF medium.
An example of this is if a group of amateurs are in a round-table
discussion about packet radio, they could put PACKET in the
destination address, so they would receive frames only from
others in the same discussion. An added advantage of the use of
AX.25 in this manner is that the source of each frame is in the
source address subfield, so software could be written to
automatically display who is making what comments.
Since this mode is connectionless, there will be no
requests for retransmissions of bad frames. Collisions will also
occur, with the potential of losing the frames that collided.
2.4.4 Procedures for Information Transfer
Once a connection has been established, as outlined
above, both devices are able to accept I, S, and U frames.
2.4.4.1 Sending I Frames
Whenever a DXE has an I frame to transmit, it will send
the I frame with N(S) of the control field equal to its current
send state variable V(S). Once the I frame is sent, the send
state variable is incremented by one. If timer T1 is not
running, it should be started. If timer T1 is running, it should
be restarted.
The DXE should not transmit any more I frames if its send
state variable equals the last received N(R) from the other side
of the link plus seven. If it were to send more I frames, the
flow control window would be exceed, and errors could result.
If a DXE is in a busy condition, it may still send I
frames as long as the other device is not also busy.
If a DXE is in the frame-rejection mode, it will stop
sending I frames.
2.4.4.2 Receiving I Frames
2.4.4.2.1
If a DXE receives a valid I frame (one with a correct FCS
and whose send sequence number equals the receiver's receive
state variable) and is not in the busy condition, it will accept
the received I frame, increment its receive state variable, and
act in one of the following manners:
1. If it has an I frame to send, that I frame may be sent with the
transmitted N(R) equal to its receive state variable V(R) (thus
acknowledging the received frame). Alternately, the device may
send a RR frame with N(R) equal to V(R), and then send the I
frame.
2. If there are no outstanding I frames, the receiving device will
send a RR frame with N(R) equal to V(R). The receiving DXE may
wait a small period of time before sending the RR frame to be sure
additional I frames are not being transmitted.
2.4.4.2.2
If the DXE is in a busy condition, it may ignore any
received I frames without reporting this condition other than
repeating the indication of the busy condition.
If a busy condition exists, the DXE receiving the busy
condition indication should poll the sender of the busy
indication periodically until the busy condition disappears.
A DXE may poll the busy DXE periodically with RR or RNR
frames with the P bit set to one.
The reception of I frames that contain zero-length
information fields shall be reported to the next level but no
information field will be transferred.
2.4.4.3 Reception of Out of Sequence Frames
When an I frame is received with a correct FCS, but its
send sequence number, N(S), does not match the current receiver's
receive state variable, the frame should be discarded. A REJ
frame shall be sent with a receive sequence number equal to one
higher (modulo 8) than the last correctly received I frame if an
uncleared N(S) sequence error condition has not been previously
established. The received state variable and poll bit of the
discarded frame should be checked and acted upon, if necessary,
before discarding the frame.
2.4.4.4 Reception of Incorrect Frames
When a DXE receives a frame with an incorrect FCS, an
invalid frame, or a frame with an improper address, that frame
shall be discarded.
2.4.4.5 Receiving Acknowledgement
Whenever an I or S frame is correctly received, even in a
busy condition, the N(R) of the received frame should be checked
to see if it includes an acknowledgement of outstanding sent I
frames. The T1 timer should be cancelled if the received frame
actually acknowledges previously unacknowledged frames. If the
T1 timer is cancelled and there are still some frames that have
been sent that are not acknowledged, T1 should be started again.
If the T1 timer runs out before an acknowledgement is received,
the device should proceed to the retransmission procedure in
2.4.4.9.
2.4.4.6 Receiving Reject
Upon receiving a REJ frame, the transmitting DXE will set
its send state variable to the same value as the REJ frame's
received sequence number in the control field. The DXE will then
retransmit any I frame(s) outstanding at the next available
opportunity conforming to the following:
1. If the DXE is not transmitting at the time, and the channel
is open, the device may commence to retransmit the I
frame(s) immediately.
2. If the DXE is operating on a full-duplex channel
transmitting a UI or S frame when it receives a REJ frame,
it may finish sending the UI or S frame and then retransmit
the I frame(s).
3. If the DXE is operating in a full-duplex channel
transmitting another I frame when it receives a REJ frame,
it may abort the I frame it was sending and start
retransmission of the requested I frames immediately.
4. The DXE may send just the one I frame outstanding, or it may
send more than the one indicated if more I frames followed
the first one not acknowledged, provided the total to be
sent does not exceed the flow-control window (7 frames).
If the DXE receives a REJ frame with the poll bit set, it
should respond with either a RR or RNR frame with the final bit
set before retransmitting the outstanding I frame(s).
2.4.4.7 Receiving a RNR Frame
Whenever a DXE receives a RNR frame, it shall stop
transmission of I frames until the busy condition has been
cleared. If timer T1 runs out after the RNR was received, the
waiting acknowledgement procedure listed in 2.4.4.9, below,
should be performed. The poll bit may be used in conjunction
with S frames to test for a change in the condition of the
busied-out DXE.
END AX25.DOC PART 8/9
----------------------
73's Nacho EA2CMN @EA2CMN.EAZ.ESP.EU
QTH: Zaragoza (Spain)
[27-Sep-1994 - 15:57]
Read previous mail | Read next mail
| |