Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.arch.embedded > #25626
| From | Morten Reistad <first@last.name.invalid> |
|---|---|
| Newsgroups | comp.arch.embedded |
| Subject | Re: UDP Terminal Protocol |
| Date | 2016-12-24 16:10 +0100 |
| Organization | Me, Myself and I |
| Message-ID | <aof2jd-m4b.ln1@sambook.reistad.name> (permalink) |
| References | <7phv4cd0dickoubm7k7rud6or7vtnft8rb@4ax.com> <o2p3bs$7fc$1@reader1.panix.com> <qs535ctbk361kav29rjd236dat22mo199e@4ax.com> |
In article <qs535ctbk361kav29rjd236dat22mo199e@4ax.com>, Robert Wessel <robertwessel2@yahoo.com> wrote: >On Tue, 13 Dec 2016 15:16:12 +0000 (UTC), Grant Edwards ><invalid@invalid.invalid> wrote: > >>On 2016-12-13, Robert Wessel <robertwessel2@yahoo.com> wrote: >> >>> OTOH, it's clear that a number of people have implemented a UDP-based >>> protocol for handling the sort of things often done with a serial >>> console attached to a device. This has a number of advantages - you >>> can fake UPD over Ethernet with very little code, especially if you >>> define away things like fragmentation and options. A simplified >>> TELNET-ish protocol on top of that would be pretty simple, you just >>> need some basic packet sequencing and acknowledgements. >> >>I know of people who have implemented that on top of IP rather than >>UDP. They call it TCP. ;) > > >Well, yes, but the point is that TCP is a fair chunk of code, and for >this function it has to go in a spot where it's less than convenient >to update. Hence the desire for maximum simplicity. I used TFTP as >an example, since it solves a similar problem (and you could >certatinly trivially implemented a TCP version of TFTP), with similar >constraints. A rudimentary "simple-tcp" that is not quite compliant with TCP but will interoperate with one that is is not much code. You will have to handle a connection or maybe a handful, but not very many. You will have to do retransmissions, but you can back off to a constant, semi-high value (like 6 seconds) on the second attempt. You can deny all options, and stay with a small window of a few k, and send 512 bytes or less. That should reduce the requirements to a few hundred lines of code beyond implementing UDP. You can also have a very rudimentary telnet negotiation, basically enforcing a standard set of options and accepting nothing else. >>> IOW, something with a relationship to TELNET sort of like TFTPs >>> relationship to FTP. >> >>Just use a raw TCP connection. There's no need to implement the TELNET >>protocol at all. The Unix command line client will skip all the >>handshaking stuff if you use a non-standard port. Or you can use >>netcat. Or any number of terminal emulators or COM port redirectors >>that support raw TCP connections. > > >Given how little TELNET actually does (or at least, needs to do), if >you have TCP, there would be no really issue implementing that. Raw >TCP is obviously an option, but again, the incremental cost to do >actual TELNET is low. And as I said, if you have TCP, why not just do >this with HTTP, and really make things convenient for people. > > >>If you're on a local Ethernet segment, just use raw UDP. I've been >>using both those approaches for close to 20 years, and have never had >>any problems. > > >Yet what exactly is the protocol? How many characters can you put in >a packet? Any sequencing or recovery? Acknowledgements? Checksums >on or off? With UDP (and a bit of consideration at the protocol >layer), you can even avoid any IP configuration requirements (at least >on a single LAN) by doing everything with broadcasts. You probably have to have some default IP address, which you can change. Making a simple udp one-shot protocol to set such options should be easy. >I've simply never implemented anything with UDP that didn't take error >handling into account - is the common practice just to assume that you >will not lose/reorder/duplicate/mangle any packing so long as you're >on a local segment? Again, TFTP addresses those issues, at least as >they apply to its requirements. > > >>> OTOH, despite looking, I just don't see any standards for doing that >>> sort of thing. Am I just missing it? Is there a defacto standard >>> even if there's no RFC? >> >>If you want something reliable that works over WANs, use TCP: it's the >>only way you're going to dependably make anything work through a >>firewall. > > >Sure, no disagreement there. And no, operation over WANs is not a >prime consideration, although it certainly wouldn't hurt if it could, >even if the user had to deal with firewall issues, or set up a relay >server of some sort. But the scope would be within a data-center, or >perhaps campus (assuming at least real IP address assignment - without >that, local LAN). Remember the idea here is to replace a serial >console port. A "simple-TCP" will handle this, and you could make a udp simple config-setter like the ones digium does for the iaxys should be an afternoon's work. >>If you're going to assume local Ethernet, you can just use UDP. You will be amazed on how much chatter, duplications and other stuff I have found on ethernets. -- mrr
Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2016-12-13 04:23 -0600
Re: UDP Terminal Protocol Dimiter_Popoff <dp@tgi-sci.com> - 2016-12-13 17:10 +0200
Re: UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2016-12-14 13:33 -0600
Re: UDP Terminal Protocol Grant Edwards <invalid@invalid.invalid> - 2016-12-13 15:16 +0000
Re: UDP Terminal Protocol upsidedown@downunder.com - 2016-12-13 18:51 +0200
Re: UDP Terminal Protocol Grant Edwards <invalid@invalid.invalid> - 2016-12-13 21:13 +0000
Re: UDP Terminal Protocol Clifford Heath <no.spam@please.net> - 2016-12-14 09:05 +1100
Re: UDP Terminal Protocol Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2016-12-13 13:23 -0800
Re: UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2016-12-14 13:28 -0600
Re: UDP Terminal Protocol Don Y <blockedofcourse@foo.invalid> - 2016-12-14 15:29 -0700
Re: UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2016-12-15 00:34 -0600
Re: UDP Terminal Protocol Don Y <blockedofcourse@foo.invalid> - 2016-12-15 01:10 -0700
Re: UDP Terminal Protocol Les Cargill <lcargill99@comcast.com> - 2016-12-15 21:52 -0600
Re: UDP Terminal Protocol Don Y <blockedofcourse@foo.invalid> - 2016-12-15 22:00 -0700
Re: UDP Terminal Protocol Paul Rubin <no.email@nospam.invalid> - 2016-12-14 15:22 -0800
Re: UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2016-12-15 00:00 -0600
Re: UDP Terminal Protocol antispam@math.uni.wroc.pl - 2016-12-15 01:49 +0000
Re: UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2016-12-15 00:17 -0600
Re: UDP Terminal Protocol Grant Edwards <invalid@invalid.invalid> - 2016-12-15 02:06 +0000
Re: UDP Terminal Protocol Paul Rubin <no.email@nospam.invalid> - 2016-12-14 21:09 -0800
Re: UDP Terminal Protocol Grant Edwards <invalid@invalid.invalid> - 2016-12-15 17:38 +0000
Re: UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2016-12-14 23:58 -0600
Re: UDP Terminal Protocol Les Cargill <lcargill99@comcast.com> - 2016-12-15 21:49 -0600
Re: UDP Terminal Protocol Morten Reistad <first@last.name.invalid> - 2016-12-24 16:10 +0100
Re: UDP Terminal Protocol Grant Edwards <invalid@invalid.invalid> - 2016-12-24 18:53 +0000
Re: UDP Terminal Protocol Theo Markettos <theom+news@chiark.greenend.org.uk> - 2016-12-25 13:45 +0000
Re: UDP Terminal Protocol Don Y <blockedofcourse@foo.invalid> - 2016-12-25 11:44 -0700
Re: UDP Terminal Protocol Don Y <blockedofcourse@foo.invalid> - 2016-12-13 12:53 -0700
Re: UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2016-12-14 14:03 -0600
Re: UDP Terminal Protocol Don Y <blockedofcourse@foo.invalid> - 2016-12-14 15:09 -0700
Re: UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2016-12-15 00:50 -0600
Re: UDP Terminal Protocol Don Y <blockedofcourse@foo.invalid> - 2016-12-15 11:01 -0700
Re: UDP Terminal Protocol Morten Reistad <first@last.name.invalid> - 2017-01-15 16:08 +0100
Re: UDP Terminal Protocol upsidedown@downunder.com - 2016-12-15 15:08 +0200
Re: UDP Terminal Protocol wzab01@gmail.com - 2016-12-14 13:16 -0800
Re: UDP Terminal Protocol upsidedown@downunder.com - 2016-12-15 12:56 +0200
Re: UDP Terminal Protocol Don Y <blockedofcourse@foo.invalid> - 2016-12-15 11:06 -0700
Re: UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2016-12-26 16:34 -0600
Re: UDP Terminal Protocol upsidedown@downunder.com - 2016-12-27 07:45 +0200
Re: UDP Terminal Protocol Don Y <blockedofcourse@foo.invalid> - 2016-12-26 23:00 -0700
Re: UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2017-01-03 18:48 -0600
Re: UDP Terminal Protocol Les Cargill <lcargill99@comcast.com> - 2016-12-15 21:42 -0600
Re: UDP Terminal Protocol Robert Wessel <robertwessel2@yahoo.com> - 2016-12-26 17:21 -0600
csiph-web