[Sis-csi] Green book thoughts

Scott Burleigh Scott.Burleigh at jpl.nasa.gov
Wed Apr 19 21:06:00 EDT 2006


Lee.Neitzel at EmersonProcess.com wrote:

> As you know, there are significant fixed and variable costs associated 
> with design, implementation, testing, and deployment of each layer 
> protocol.
>
In my mind, this is the key point in this discussion.

Keith H. is clearly right that UDP is entirely entirely appropriate for 
applications where data completeness is not important.  He's also 
clearly right that UDP and UDP-like transmission has historically been 
used for operations of nearly all spacecraft mission (that I can think 
of), where all communications have been between The Spacecraft and The 
Ground.  I agree with him and with David that the simplicity of that 
model in that environment has proven to be very valuable, even though it 
means that -- if you care about data completeness -- you need some sort 
of manual command procedure to effect the retransmission of data that 
got lost or corrupted in transmission from the spacecraft to the ground.

The question, I think, is whether or not that model is appropriate for 
communications among the elements of a cislunar network, such as the 
fleet of Constellation vehicles.  The topology we're contemplating in 
that environment would not be pairwise communication between The 
Spacecraft and The Ground, but rather multi-hop communication through 
relays (e.g., relay satellites) functioning as IP routers.

Again, if data completeness is not important then UDP is perfectly 
adequate for conveying data throughout that network.  But if data 
completeness is important some of the time, then one or more 
retransmission mechanisms are needed in the protocols; I haven't yet 
heard anyone suggest that manually commanded retransmission would be a 
cost-effective way of assuring completeness of data exchange among 
multiple surface rovers and orbiters at the moon.

As Lloyd points out, UDP is a terrific platform for building new 
protocols on: it imposes little overhead, it does message delimitation, 
it provides port numbers for multiplexing of higher-layer protocols, it 
provides checksums (if you want them), and the standard socket library 
makes implementation very straightforward.  But there are significant 
fixed and variable costs associated with the design, implementation, 
testing, and deployment of each layer of protocol.  I would say that's 
particularly true of protocols that do retransmission, which if done 
well is not as easy as it sounds.  This suggests that if an existing, 
proven transport protocol provides retransmission then you should use it 
rather than reinvent retransmission yourself, unless you've got a good 
reason not to.

I think we all agree that there are some good reasons not to use TCP in 
all cases where you need a retransmitting protocol, so there are clearly 
cases where it makes more sense to use something else -- very likely 
something built on top of UDP, because UDP is such a fine platform for 
building new protocols on.  But it remains true that each such new 
protocol costs money.  If retransmission were reinvented in every 
application-layer protocol flown on every spacecraft:

a.    Each one would impose significant additional mission cost.

b.   Some of them would have bugs that wouldn't be found in testing 
prior to flight, imposing significant additional mission risk.

c.   None of them would be interoperable.  In order to interoperate, 
spacecraft would have to fly multiple protocols at this layer of the 
stack, further increasing mission cost and complexity (and therefore risk).

d.   Each one would pose a potential congestion threat to the network 
since, as experience in the Internet has shown us, retransmission 
procedures that aren't carefully designed with congestion in mind will 
increase it.  And congestion will indeed be possible, because this is a 
network, with routers and "trunk lines", and not just a set of pairwise 
communication links.

So in this architecture document I think we want *not* to encourage 
every flight software manager to look at each mission as yet another 
opportunity to demonstrate what fools the designers of TCP were.  The 
architecture needs to support the insertion of alternatives to TCP where 
they are needed, but the fewer the better.  Suppose we leave it at that?

Scott
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ccsds.org/pipermail/sis-csi/attachments/20060419/8e3cd7e8/attachment.html


More information about the Sis-CSI mailing list