[Sis-csi] Green book thoughts

Scott Burleigh Scott.Burleigh at jpl.nasa.gov
Tue Apr 18 11:18:11 EDT 2006


Keith Hogie wrote:

> More thoughts about Keith Scott, and Scott Burleigh's comments
> inline below.
>
> Scott Burleigh wrote:
>
>> Scott, Keith L. wrote:
>>
>>> Keith,
>>>
>>> I've integrated most of this into the document, but I have a few issues
>>> inline.
>>>
>>>> -----Original Message-----
>>>> From: sis-csi-bounces at mailman.ccsds.org 
>>>> [mailto:sis-csi-bounces at mailman.ccsds.org] On Behalf Of Keith Hogie
>>>> Sent: Thursday, March 30, 2006 12:48 PM
>>>> To: sis-csi at mailman.ccsds.org
>>>> Subject: [Sis-csi] Green book thoughts
>>>
>>>> 4.4 Automated Data Forwarding
>>>>
>>>>  Not sure if the SLE reference really fits here.  That is a
>>>> reference to the old circuit switch concept and not routing
>>>> based on addresses in packets.  SLE doesn't do IP packet
>>>> forwarding and doesn't apply in an end-to-end IP architecture
>>>> does it
>>>>   
>>>
>>> I think the data forwarding part of SLE here (as opposed to the service
>>> management part) is just a tunneling mechanism like GRE.  Its inclusion
>>> allows the space (data) link protocol to be terminated somewhere else
>>> besides the ground station.  That's how many agencies are set up to
>>> operate now, and they'll probably continue with it until they can get
>>> equipment at the ground stations to terminate the space data links AND
>>> something to provide reliability, or ate least comprehensive data
>>> accounting.
>>
> SLE is not really like GRE.  GRE operates at the network layer
> as part of the packet routing process and simply forwards packets
> one-by-one.  SLE is a tunnel operating above the transport layer
> and has TCP acknowledgments.  It also is related to the legacy
> "circuit" concept where there is only one hop beyond the ground
> station.  At the last SCAWG there was a discussion about being
> able to forward data received with errors.  You can do that with
> SLE but it only applies to the first hop from the ground station.
> If packets are forwarding across multiple space links based on
> IP addresses, you cannot forward errored data.  At some point we
> need to decide if we are moving to packet forwarding or staying with
> the circuit model.

We probably don't have to make a decision between one or the other.  
There's no real reason the infrastructure can't support both, if 
missions are willing to pay for both.

Suppose what you're transmitting is CFDP PDUs wrapped in UDP datagrams 
in IP packets, within AOS frames.  When the ground station receives one 
such AOS frame it can either (a) extract the IP packet from the frame 
and forward it (acting as an IP router) or else (b) simply copy the 
frame (acting as a repeater) onto a TCP/IP connection to a mission ops 
center [that is, SLE], where upon receipt the IP packet is extracted 
from the frame and forwarded -- i.e., the IP router is at the MOC rather 
than at the station.  You've got an AOS "circuit" and an IP router in 
either case; it's just a question of where you terminate the circuit and 
where you place the router.

> There are already many stations that forward IP packets directly
> and things like "reliability" and "data accounting" are not a
> problem.  The concept of "networking" in space means that some
> of the legacy notions of moving data over a single link from
> the control center to a spacecraft need to change.  A packet
> forwarding model has some significant differences from the
> current circuit model.

I suspect the reason "reliability" and "data accounting" are not a 
problem in these cases is that missions have chosen not to worry about 
them, since IP won't provide them anyway.  That is very likely the right 
model, but it will remain a mission choice so long as missions are in 
the driver's seat.  If we want to encourage that model, we'll need to 
convince the missions that we've got an alternative way of providing 
comparable performance -- here, completeness of data.

Missions that have got zero interest in completeness of data return will 
of course be somewhat easier to convince.  Probably part of the 
difference in our views here is that JPL has had very few such missions, 
while I gather from what you say below that Goddard has had a good 
many.  I suspect that's why we come to such different conclusions about 
the utility of just providing UDP/IP service and letting the 
applications worry about everything else.

>>>> 4.6 Transport layer
>>>>
>>>>  --- insert after first paragraph ---
>>>>
>>>>  UDP provides a data delivery very similar to standard
>>>> TDM and CCSDS packet delivery systems that are currently
>>>> used for space communication.  It's unreliable delivery
>>>> attribute means that it does not utilize any process,
>>>> such as acknowledgments, for determining if the data
>>>> gets to its destination.  Reliable delivery can be
>>>> implemented over UDP in the application layer if desired
>>>> with applications such as CFDP.  
>>>
>>> This is true, but I don't want to give mission software people the
>>> impression that they can just hack up reliability on a per-application
>>> basis.
>>
> But mission people can do whatever reliability they want on
> a per-application basis.  That is one of the great features
> of layers and the Internet.  The only people that need to agree
> on an end-to-end reliable transfer protocol are the two end systems
> (e.g. satellite and control center).  On the current Internet there
> are all sorts of different reliable data delivery options that
> co-exist.  They are both TCP and UDP based.
>
>> Absolutely.  That would be a serious blow to interoperability and 
>> low-cost mission software development, just as abandoning TCP in the 
>> terrestrial Internet would be.  A huge step backward.
>
> The big interoperability comes from using IP everywhere and does
> not require TCP at all.  The Internet has both TCP and UDP
> traffic flowing over it all the time.  Things like voice and video
> and my son's Game Boy use UDP for all sorts of streaming operations.
> TCP is the wrong answer for many data flows.  We don't want to
> abandon TCP but we also cannot mandate only TCP.  All current
> space missions operate in a UDP-like mode and there are many good
> reasons for that.

All current deep space missions have operated in a UDP-like mode (with 
manually commanded retransmission as necessary) up until Deep Impact and 
MESSENGER, which use the standardized retransmission protocol provided 
by CFDP rather than mission-specific retransmission procedures.  One of 
the principal reasons for that was perhaps the absence of any alternative.

Maybe all current near-earth missions also operate in a UDP-like mode, 
for which I would guess there are many good reasons.  But TCP/IP 
apparently works fine over near-earth space links, so the absence of any 
alternative would not seem to be one of those reasons.

>>>  CFDP is sort of a special case and I'm not sure how well even
>>> it would play in a mixed envrionment (that is, I'm not sure if CFDP
>>> implements TCP-friendly congestion control).
>>
>> It does not.  There is no congestion control in the CFDP design.
>
> I don't see CFDP as a special case.  That is exactly the mode that
> lots of missions want to use and will continue to use.  It works
> very well for space communications across a dedicated RF link.  I
> realize that UDP file transfer mechanisms have potential for
> flooding a network and that CFDP does not specify any flow control.
> But missions do have a very strong flow control in that they
> have a fixed upper limit on their RF transmission rate.

Sure.  But flow control is different from congestion control.  So long 
as we don't have a true network, but only pairwise links between 
spacecraft and their ground stations, we have got no routers and 
therefore can have no congested routers.  When we start deploying a 
real, honest-to-gosh network in cislunar space, that will probably change.

> When a satellite turns on its power hungry transmitter,
> it wants to be able to fill the RF link with data and does not
> want to worry about flow control by any protocol.  Especially
> any protocol that might require a two-way link.  The bandwidth
> of the link has been set during mission design and the software
> wants to allocate it among things like housekeeping data and
> science data.  Satellites do not operate in a highly interactive
> or whimsical nature like people surfing the Internet.  They
> have much more highly planned and predictable data transfers.

Sure, we've done things that way for many years.  I don't think you'll 
be able to extend that model to in-space routers in a cost-effective 
manner, though.

> Also, as propagation delays get longer, it becomes even more
> important to use UDP based protocols because you cannot get
> any interactive flow control information.  Also with the current
> high downlink rates and very low uplink rates UDP works much
> better to allow missions to shove data down and not need to
> have ACKs coming back up.  Things like TDRSS demand access are
> another reason for using UDP.  DAS only gives you a one-way
> link so you have to use something like CFDP over UDP.

Yes, TCP breaks down.  That's exactly why we've been putting so much 
thought into the DTN architecture, which is designed to give users 
comparable service in a standardized, reusable, scalable infrastructure 
for operations over these problematic links.  The point is to save the 
space program money by not requiring every mission to roll their own 
non-interoperable custom solutions to these problems.

Scott




More information about the Sis-CSI mailing list