Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #27332

Re: Embedded Ethernet

From Joe Chisolm <jchisolm6@earthlink.net>
Subject Re: Embedded Ethernet
Newsgroups comp.arch.embedded
References <oq3bj1$btg$1@dont-email.me> <WNWdnXHLauJvy1jEnZ2dnUU7-UednZ2d@earthlink.com> <oq417s$h39$1@dont-email.me> <oq5bf9$94c$1@dont-email.me> <oqk614$3eo$1@dont-email.me>
Message-ID <Ac6dnVHQjO4txlPEnZ2dnUU7-WWdnZ2d@earthlink.com> (permalink)
Date 2017-09-29 09:41 -0500

Show all headers | View raw


On Thu, 28 Sep 2017 20:06:15 -0500, Les Cargill wrote:

> David Brown wrote:
>> On 23/09/17 00:01, pozz wrote:
>>> Il 22/09/2017 20:31, Joe Chisolm ha scritto:
>>>> On Fri, 22 Sep 2017 17:52:01 +0200, pozz wrote:
>>>>
>>>>> There are many MCUs with embedded Ethernet (MAC). It seems most
>>>>> of
>>> the
>>>>> open-source examples are lwip-based.
>>>>>
>>>>> I have to design a board with one RS485 port and one Ethernet
>>> port. It
>>>>> could be seen as a serial-to-Ethernet converter, where the
>>> protocol on
>>>>> RS485 is proprietary. On Ethernet side I will contact a server
>>> (cloud)
>>>>> with a protocol that must be defined.
>>>>>
>>>>> At the moment, I don't need to implement a server, only a
>>>>> simple
>>> client.
>>>>>
>>>>> Do you suggest some hw/fw platforms that you think are better
>>>>> than
>>> others?
>>>>
>>>> How are you connecting to this "cloud" server?  Simple TCP or
>>>> UDP
>>> or is it
>>>> some type of web services?
>>> I can choose. I know UDP is much smaller than TCP, but I should
>>> add some TCP-features on top of UDP: mainly ack and
>>> retransmissions. So I can argue TCP is overall better than UDP.
>>
>> You certainly /can/ argue that!  TCP/IP has many advantages over
>> UDP. The key ones are that it saves you worrying about reinventing
>> the wheel here.  With UDP, you never know if your data got
>> transferred - so you need application layers to handle that.
> 
> I just last week had to put a dead man timer in a client to
> detect whether the server had gone offline using TCP.
> 
> You'll end up rippling the protocol up to the app
> layer no matter what :) You'll get a more performant
> system with UDP.
> 
> <snip>

+1

UDP is very applicable in many situations and many times much better
than TCP.  Unless you understand the pitfalls of TCP, it can bite you
in the ass.  You have to understand when you need blocking vs
non-blocking.  Delay tolerance and the list goes on.  With UDP you 
have to understand, and plan for, the lost packet.  Though this is
not as prevelant as it was many years ago.  Understand your network
environment, LAN only vs satellite WAN.

Consider the case where the TCP implementation has minimal buffering
or the app is pushing.  The app writes 3 buffers to the TCP socket.
The receive window is large enough for all 3 writes so you have 3
segments in flight.  Segment 1 gets the ACK and then the remote system
catches fire and dies a horiable death.  The client has to wait some
long time for a normal TCP timeout and then the question is "what of
the 3 buffers did the remote get"

If a simple UDP send/ack the client knows.  As previously mentioned
you also have the case of the client does not care if a packet is lost.

No one size fits all apps.  TCP has it's place and so does UDP.   

-- 
Chisolm
Republic of Texas

Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Embedded Ethernet pozz <pozzugno@gmail.com> - 2017-09-22 17:52 +0200
  Re: Embedded Ethernet mmm <m.colandrea@libero.it> - 2017-09-22 18:00 +0200
  Re: Embedded Ethernet David Brown <david.brown@hesbynett.no> - 2017-09-22 20:27 +0200
    Re: Embedded Ethernet pozz <pozzugno@gmail.com> - 2017-11-17 10:25 +0100
      Re: Embedded Ethernet Theo Markettos <theom+news@chiark.greenend.org.uk> - 2017-11-17 10:39 +0000
        Re: Embedded Ethernet pozz <pozzugno@gmail.com> - 2017-11-17 12:25 +0100
      Re: Embedded Ethernet "Boudewijn Dijkstra" <sp4mtr4p.boudewijn@indes.com> - 2017-11-17 11:36 +0100
        Re: Embedded Ethernet pozz <pozzugno@gmail.com> - 2017-11-17 12:54 +0100
      Re: Embedded Ethernet David Brown <david.brown@hesbynett.no> - 2017-11-17 15:23 +0100
      Re: Embedded Ethernet Mikko OH2HVJ <mikko.syrjalahti@nospam.fi> - 2017-11-18 11:29 +0200
  Re: Embedded Ethernet Joe Chisolm <jchisolm6@earthlink.net> - 2017-09-22 13:31 -0500
    Re: Embedded Ethernet pozz <pozzugno@gmail.com> - 2017-09-23 00:01 +0200
      Re: Embedded Ethernet raimond.dragomir@gmail.com - 2017-09-22 22:38 -0700
        Re: Embedded Ethernet raimond.dragomir@gmail.com - 2017-09-22 22:41 -0700
      Re: Embedded Ethernet David Brown <david.brown@hesbynett.no> - 2017-09-23 12:02 +0200
        Re: Embedded Ethernet Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-23 06:32 -0400
          Re: Embedded Ethernet Dimiter_Popoff <dp@tgi-sci.com> - 2017-09-23 15:31 +0300
            Re: Embedded Ethernet Phil Hobbs <pcdhSpamMeSenseless@electrooptical.net> - 2017-09-25 13:07 -0400
              Re: Embedded Ethernet Robert Wessel <robertwessel2@yahoo.com> - 2017-09-25 15:31 -0500
                Re: Embedded Ethernet Dimiter_Popoff <dp@tgi-sci.com> - 2017-09-27 01:50 +0300
          Re: Embedded Ethernet Les Cargill <lcargill99@comcast.com> - 2017-09-28 20:07 -0500
        Re: Embedded Ethernet upsidedown@downunder.com - 2017-09-23 14:48 +0300
        Re: Embedded Ethernet Les Cargill <lcargill99@comcast.com> - 2017-09-28 20:06 -0500
          Re: Embedded Ethernet Joe Chisolm <jchisolm6@earthlink.net> - 2017-09-29 09:41 -0500
          Re: Embedded Ethernet upsidedown@downunder.com - 2017-09-30 18:49 +0300
        Re: Embedded Ethernet pozz <pozzugno@gmail.com> - 2017-10-12 11:26 +0200
          Re: Embedded Ethernet David Brown <david.brown@hesbynett.no> - 2017-10-12 12:46 +0200
          Re: Embedded Ethernet Joe Chisolm <jchisolm6@earthlink.net> - 2017-10-12 10:49 -0500
      Re: Embedded Ethernet Grant Edwards <invalid@invalid.invalid> - 2017-09-23 20:40 +0000
        Re: Embedded Ethernet Joe Chisolm <jchisolm6@earthlink.net> - 2017-09-23 19:24 -0500
          Re: Embedded Ethernet David Brown <david.brown@hesbynett.no> - 2017-09-24 13:28 +0200
  Re: Embedded Ethernet Les Cargill <lcargill99@comcast.com> - 2017-09-22 21:12 -0500
  Re: Embedded Ethernet Tauno Voipio <tauno.voipio@notused.fi.invalid> - 2017-09-24 11:01 +0300
  Re: Embedded Ethernet pozz <pozzugno@gmail.com> - 2017-10-16 14:10 +0200
    Re: Embedded Ethernet David Brown <david.brown@hesbynett.no> - 2017-10-16 15:10 +0200
      Re: Embedded Ethernet pozz <pozzugno@gmail.com> - 2017-10-16 17:54 +0200
        Re: Embedded Ethernet David Brown <david.brown@hesbynett.no> - 2017-10-16 23:45 +0200
          lwip/httpd: how to return dynamic data [was Re: Embedded Ethernet] pozz <pozzugno@gmail.com> - 2017-11-13 12:11 +0100
            Re: lwip/httpd: how to return dynamic data [was Re: Embedded Ethernet] David Brown <david.brown@hesbynett.no> - 2017-11-13 14:14 +0100

csiph-web