Topics

TCP/IP Over Packet

"k7udr" <bhhoyer@...>
 

Questions that came in via email. Thanks to John for responding

Is it possible to use TCP-IP over ax25 with large MTU ?

The UDR56K implements the Linux AX.25 stack using a socket interface. Each AX.25 frame may carry a payload of up to 256 octets. (http://www.tapr.org/pub_ax25.html 2.5.5) This comes with an overhead of up to 76 octets, and is exclusive of bit-stuffing (2.2.6) which translates to about 21 frames per second in continuous, unconnected mode under perfect conditions, e.g. no packet loss.

Sometimes when describing TCP/IP or UDP/IP circuits, the MSS (Maximum Segment Size - http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Maximum_segment_size) is mislabeled MTU. The MTU is governed by the transport, in this case AX.25, or 256 octets per frame. However, the Linux protocol stack will allow a larger MSS, which is fragmented over multiple AX.25 frames. (Source code http://www.cs.albany.edu/~sdc/Linux/linux/net/ax25/ax25_out.c). TCP/IP allows a MSS of 65000+ octets, but this number is impractical for any reasonable network. An MSS of 65000 over AX.25 would fragment into 256 frames or more than 10 seconds transmission under ideal 56 kbps conditions and could require a retry on a single bit error. An IP MTU is the MSS + Header (>=20 Octets) and in most AX.25 circuits the IP MTU is kept to a modest 512 octets or 2 AX.25 frames. The optimum IP MTU on the UDR56K-4 may or may not be a higher number and will require experimentation by the amateur community to come up with a specific recommendation.

What is the net throughput in tcp/ip ?

At 1:1 IP to AX.25 MTU (no fragmentation) one would see speeds approaching 31 kbps using UDP over AX.25, this would vary +/- depending on fragmentation (to lower header count under IP) and packet loss, and acknowledgement time for TCP. The radio is specified with a tx/rx turnaround at < 1.5 ms.

If your interest is truly TCP/IP you may also want to consider using the D-STAR Data Mode. It encapsulates Ethernet frames in a D-STAR packet. http://www.jarl.com/d-star/shogen.pdf 2.1 - This would provide 4.3 1430 (MSS) data per second (UDP) or approximately 49 kbps. (58% improvement).

We also believe there is room for a yet to be determined protocol that might have up to a 7000 octet MTU, basically raw IP with a few sync bits, which would approach 56 kbps of UDP on a loss less circuit.

"Steve" <ve7cbh@...>
 

Your comment about D-star DD for TCP/IP interests me. Being a D-star newby, how difficult will it be to setup a TCP/IP bridge between two network segments (on the same subnet)using the UDR?

Steve
VE7CBH

--- In UniversalDigitalRadio@..., "k7udr" <bhhoyer@...> wrote:

Questions that came in via email. Thanks to John for responding

Is it possible to use TCP-IP over ax25 with large MTU ?

The UDR56K implements the Linux AX.25 stack using a socket interface. Each AX.25 frame may carry a payload of up to 256 octets. (http://www.tapr.org/pub_ax25.html 2.5.5) This comes with an overhead of up to 76 octets, and is exclusive of bit-stuffing (2.2.6) which translates to about 21 frames per second in continuous, unconnected mode under perfect conditions, e.g. no packet loss.

Sometimes when describing TCP/IP or UDP/IP circuits, the MSS (Maximum Segment Size - http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Maximum_segment_size) is mislabeled MTU. The MTU is governed by the transport, in this case AX.25, or 256 octets per frame. However, the Linux protocol stack will allow a larger MSS, which is fragmented over multiple AX.25 frames. (Source code http://www.cs.albany.edu/~sdc/Linux/linux/net/ax25/ax25_out.c). TCP/IP allows a MSS of 65000+ octets, but this number is impractical for any reasonable network. An MSS of 65000 over AX.25 would fragment into 256 frames or more than 10 seconds transmission under ideal 56 kbps conditions and could require a retry on a single bit error. An IP MTU is the MSS + Header (>=20 Octets) and in most AX.25 circuits the IP MTU is kept to a modest 512 octets or 2 AX.25 frames. The optimum IP MTU on the UDR56K-4 may or may not be a higher number and will require experimentation by the amateur community to come up with a specific recommendation.

What is the net throughput in tcp/ip ?

At 1:1 IP to AX.25 MTU (no fragmentation) one would see speeds approaching 31 kbps using UDP over AX.25, this would vary +/- depending on fragmentation (to lower header count under IP) and packet loss, and acknowledgement time for TCP. The radio is specified with a tx/rx turnaround at < 1.5 ms.

If your interest is truly TCP/IP you may also want to consider using the D-STAR Data Mode. It encapsulates Ethernet frames in a D-STAR packet. http://www.jarl.com/d-star/shogen.pdf 2.1 - This would provide 4.3 1430 (MSS) data per second (UDP) or approximately 49 kbps. (58% improvement).

We also believe there is room for a yet to be determined protocol that might have up to a 7000 octet MTU, basically raw IP with a few sync bits, which would approach 56 kbps of UDP on a loss less circuit.

"John D. Hays" <john@...>
 

You will be able to use DD on the UDR either as an Ethernet bridge (with TCP/IP as the encapsulated protocol) or setup each UDR as a router with the DD bridge between them. 

The router approach is better if you need to manage traffic due to link speed.

We'll have application notes for this at release, but yes you can bridge networks over DD.  


John D. Hays
K7VE
PO Box 1223, Edmonds, WA 98020-1223 
  





On Thu, May 30, 2013 at 10:18 AM, Steve <ve7cbh@...> wrote:
 

Your comment about D-star DD for TCP/IP interests me. Being a D-star newby, how difficult will it be to setup a TCP/IP bridge between two network segments (on the same subnet)using the UDR?

Steve
VE7CBH