locked
Alternatives to TCP for IP VHF link RRS feed

All replies

  • TCP works very well as long as you have a good connection.  TCP has performance issues when packets get lost and have to get resent.  If you have a good connection then TCP is the best way.  RS232 is speed limited to 38,400 and should be used to send large files.  For large files, USB is a better.  You could use TCP over USB.

    jdweng

    Sunday, February 16, 2014 10:18 PM
  • I am really mostly on software side development. But app will work over VHF IP radio like Thales 9310 or Harris rf-7800. Some people were telling me that TCP is not the way to go. They tell me to look into protocols like P_MULL or RDP-RFC 1151. I work in C#, so off course I need some kind of library. I think TCP should be fine, but would like to get second opinion on all this.
    Monday, February 17, 2014 6:20 AM
  • Hello,

    Thank you for your post.

    I am afraid that the issue is out of support range of VS General Question forum which mainly discusses the usage issue of Visual Studio IDE such as WPF & SL designer, Visual Studio Guidance Automation Toolkit, Developer Documentation and Help System and Visual Studio Editor.

    I am moving your question to the moderator forum ("Where is the forum for..?"). The owner of the forum will direct you to a right forum.

    Best regards,


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Monday, February 17, 2014 8:05 AM
  • I've never use 1151 (RDP) but reading the specification it looks like it is for an application that has a long delay.  You have a slow serial interface which isn't exactly the same, but could lead to similar issues.  TCP starts having issues when packets get resent.  Usually if an ack isn't sent with in 3-5 seconds another packet is sent.  The retries with TCP creates creates additional traffic on the connection which slow the interface even more until the connection gets so slow no traffic get sent.  You can adjust the retry time in TCP based on the spped of the conneciton.

    I was a network engieer for 5 years where we were sending TCP over a radio link and RS-232 interfaces. We never solved all the TCP drop packets issues.   Our software had bugs that were difficult to find and nobody wanted to spend the money to investigate all the issues.  Instead we just resent the data as a new data packet  instead of relying on the TCP retries.  We were only sending short messages.  if your network is reliable then TCP is the best method.

    You can send UDP and impliment your own ack messages at the application layer instead of the transport layer as TCP does,


    jdweng

    Monday, February 17, 2014 10:32 AM
  • I am using .NET/C#. I do not see how to modify retry time and number of retries? Can you point me where to look?

    Tuesday, February 18, 2014 2:57 PM
  • I looks like you have to use the iphlpapi.dll.  Either go to www.pinvoke.net or see codeproiject below

    http://www.codeproject.com/Articles/4298/Getting-active-TCP-UDP-connections-on-a-box


    jdweng

    Tuesday, February 18, 2014 3:52 PM