[nos-bbs] Use of AX25 T2 to reduce transmitted datagram count

(Skip) K8RRA k8rra at ameritech.net
Thu Nov 1 00:28:35 EDT 2007


Hi again from Michigan...
I have a pretty esoteric [or nit-pickin' ?] issue in hand.
If it can be duplicated by others, I'd be interested.

The use of AX25 T2 is intended to reduce traffic activity by delaying
acknowledgment of datagram receipt in order to combine it with the next
regular "I" datagram.  The default value is 1000ms (1 second).  In my
recent cases, I set T2=2000 and that is a bit less than 50% of SRTT for
the link I am studying.  In theory, the net saving is one small packet
including all the time required to dispatch such a packet.  A reasonable
design I think.

I now have many cases where I can show regular ack datagrams being sent
over a months time at the time of AX25 T2 when no other traffic is ready
to send.  Thus I know the T2 timer is working.

I now have some cases where I can show a missing ack datagram at T2 time
when another "I" datagram is about to be sent.  Thus I know that packet
formation is considering the T2 timer while working to send a datagram.

Here is the problem:  I have a few cases where delay in sending the next
packet after T2 expires is large enough to cause SRTT to expire on the
remote station and thus initiate a retry.  This results in receiving a
duplicate datagram and next result is a REJ datagram sent by my station.
The example is based on a VC connection.  This is a great waste of time
& a big retry bloat.

Here are the times involved - based on the time stamp seen in the trace.
  a) The initial datagram NS=6 is received at time 0 seconds
  b) T2 expires but no ACK goes out at 2 seconds
  c) The next outgoing packet with NR=7 departs at time 4 seconds
  d) The duplicate datagram NS=6 is received at time 4 seconds
  e) The REJ is sent out at time 4 seconds
Admittedly, the time resolution is a bit crude, but the sequence is OK.

The concern I have is for the time lag between step b) and c) above.  I
argue that if a separate "RR NR=7" packet had gone out at step b) above
there would have been enough time for the remote station to receive and
process the information thus eliminating the duplicate at step d).

The datagram sent at step c) is encapsulated TCP/IP.  Specifically, the
datagram in c) is in response to a duplicate previously sent by the IP
network layer -- but that is another story completely.

I have reduced T2 to 700, but this is not a comfortable solution.  I
have attached the trace [annotated by myself] to show the detail.  My
next step is to examine the system to find if my configuration has
impact on the 2-second delay between T2 expiration and "send" the next
"I" packet.  Any help from my peers will be very welcome!

73
de [George (Skip) VerDuin] K8RRA k
-------------- next part --------------

Wed Oct 31 14:50:48 2007 - vhf sent:                                             >6>
KISS: Port 0 Data
AX25: K8RRA-1->WA8RSA I NR=6 NS=6 pid=IP
IP: len 40 44.102.132.20->44.102.1.250 ihl 20 ttl 124 prot TCP
TCP: 79->13314 Seq x7bd09001 Ack xaa25dc33 ACK Wnd 5840

Wed Oct 31 14:50:50 2007 - vhf recv:                                       <6<
KISS: Port 0 Data
AX25: WA8RSA->K8RRA-1 I NR=6 NS=6 pid=IP
IP: len 80 44.102.132.1->44.102.132.20 ihl 20 ttl 224 prot TCP
TCP: 25->1025 Seq xb48b8001 Ack x786e2001 ACK PSH Wnd 2048 Data 40
0000  220 HamGate.Ottawa.ampr.org SMTP ready..

Wed Oct 31 14:50:50 2007 - vhf recv:
KISS: Port 0 Data
AX25: WA8RSA->K8RRA-1 RR NR=7

>>>>>>>>>>>>>>>>> Right here at 14:50:52 is a missing transmission?
    AX25 T2 = 2001    is used to delay stand-alone response by 2 sec.
    This appears to be about 50% of SRTT at the moment.
    K8RRA should send "RR NR=7" by itself?
    Instead, another 2 seconds elapse before NR=7 goes out as part of next:

Wed Oct 31 14:50:54 2007 - vhf sent:                                            >7>
KISS: Port 0 Data
AX25: K8RRA-1->WA8RSA I NR=7 NS=7 pid=IP
IP: len 40 44.102.132.20->44.102.1.250 ihl 20 ttl 124 prot TCP
TCP: 79->13314 Seq x7bd09001 Ack xaa25dc33 ACK Wnd 5840

Wed Oct 31 14:50:54 2007 - vhf recv:                                       <6<
KISS: Port 0 Data
AX25: WA8RSA->K8RRA-1 I(P) NR=7 NS=6 pid=IP                   <<< VC: AX.25 repeat
IP: len 80 44.102.132.1->44.102.132.20 ihl 20 ttl 224 prot TCP
TCP: 25->1025 Seq xb48b8001 Ack x786e2001 ACK PSH Wnd 2048 Data 40
0000  220 HamGate.Ottawa.ampr.org SMTP ready..

Wed Oct 31 14:50:54 2007 - vhf sent:
KISS: Port 0 Data
AX25: K8RRA-1->WA8RSA REJ(F) NR=7

>>>>>>>>>>>>>>>> Now you see that RRA has rejected NS=6 repeated by SRTT timer.
    At least I believe SRTT is the most likely...:-)

Wed Oct 31 14:50:57 2007 - vhf recv:
KISS: Port 0 Data
AX25: WA8RSA->K8RRA-1 RR NR=0

Wed Oct 31 14:50:59 2007 - vhf sent:                                            >0>
KISS: Port 0 Data
AX25: K8RRA-1->WA8RSA I NR=7 NS=0 pid=IP
IP: len 40 44.102.132.20->44.102.132.1 ihl 20 ttl 124 prot TCP
TCP: 1025->25 Seq x786e2001 Ack xb48b8001 ACK Wnd 5840


More information about the nos-bbs mailing list