National Aeronautics and Space Administration Licklider Transmission Protocol (LTP): An Overview Scott Burleigh Jet Propulsion Laboratory California Institute of Technology 24 July 2007 11/6/2015

Download Report

Transcript National Aeronautics and Space Administration Licklider Transmission Protocol (LTP): An Overview Scott Burleigh Jet Propulsion Laboratory California Institute of Technology 24 July 2007 11/6/2015

National Aeronautics and Space Administration
Licklider Transmission Protocol (LTP):
An Overview
Scott Burleigh
Jet Propulsion Laboratory
California Institute of Technology
24 July 2007
11/6/2015
1
National Aeronautics and Space Administration
What it is
• A retransmission protocol for delay-tolerant reliable
communication between two adjacent points in a network.
• Descended from the acknowledged transmission procedures of
CFDP, the CCSDS (Consultative Committee for Space Data
Systems) File Delivery Protocol.
• Originally designed to serve as a “convergence-layer” protocol
for the interplanetary leg(s) of an end-to-end path in a delaytolerant network (DTN).
– Runs just above link layer, e.g., CCSDS Telemetry/Telecommand.
• May also be useful for some kinds of terrestrial applications,
running above UDP/IP.
11/6/2015
2
National Aeronautics and Space Administration
Where it fits in
file transfer, messaging, etc.
application
Bundle Protocol: routing, custody transfer
LTP
point-to-point
reliability
(convergence-layer adapters)
TCP
IP
PPP, Ethernet,
802.11, SONET…
LTP
point-to-point
reliability
CCSDS
TM/TC
CCSDS
Prox-1
In DTN stack for space network
11/6/2015
UDP
IP
PPP, Ethernet, 802.11, SONET…
Stand-alone, for terrestrial apps
3
National Aeronautics and Space Administration
Chronology
• Late 2000 – initial LTP design drafts circulated within DTN team.
• February 2002 – CFDP approved by CCSDS.
• December 2003 – Mani Ramadas (Ohio University) volunteers to
work on an Internet Draft for LTP.
• March 2004 – Stephen Farrell (Trinity College, Dublin) joins up.
• 12 May 2004 – first LTP Internet Draft posted.
• Summer of 2004 – Stephen writes first implementation in C++.
• 19 August 2005 – Mani releases reference implementation in
Java.
• 1 December 2006 – Chris Krupiarz (Johns Hopkins University
Applied Physics Lab) reports on MESSENGER flight software
testbed exercise of an LTP implementation in C.
11/6/2015
4
National Aeronautics and Space Administration
Features
• Can handle very large bandwidth-delay product.
• Tolerates lengthy, irregular interruption of link without data loss.
– No reliance on stability of round-trip time.
• Minimizes overhead on low-capacity and/or asymmetric links.
– Selective NAKs. Aggregation of small client service data units into
larger blocks, acknowledged at block granularity.
• Accelerated retransmission: multiple checkpoints per
transmitted block, or interim reports prior to reception of
checkpoint.
• Partial reliability: checkpointing and retransmission for only the
first N bytes of a block, and N can be zero.
• Extension mechanism is built into the specification.
– Currently defined extension segments implement security.
11/6/2015
5
National Aeronautics and Space Administration
How it works
• A block of client service data to be transmitted is divided into
segments. When the segments are transmitted, some are
flagged as checkpoints. When a checkpoint is received, the
receiver returns a report of cumulative reception for that block.
– Reports acknowledge checkpoints and either signal successful
reception or else trigger retransmission.
– Reports are explicitly acknowledged. Reports and checkpoints are
on timers, are retransmitted if not acknowledged.
• Known changes in remote peer’s transmission state may
dynamically revise timers.
• Deferred transmission. Multiple transmissions between two
peers may be in progress concurrently.
11/6/2015
6
National Aeronautics and Space Administration
OWLT
deliver block to client
timeout
interval
deliver block to client
deliver block to client
deliver block to client
timeout
interval
no mutual visibility
(timer
suspended)
11/6/2015
7
National Aeronautics and Space Administration
Timer revision (1 of 3)
(A)
transmit
original
segment
(D)
receive
ACK
(sender)
Original
countdown
timer
(receiver)
OWLT
(S) remote
engine
suspends
transmission
OWLT
(R) remote
engine
resumes
transmission
(C)
transmit
ACK
(B)
receive
original
segment,
queue ACK
queuing (etc.) margin time
signal propagation time
11/6/2015
delay for suspended transmission
8
National Aeronautics and Space Administration
Timer revision (2 of 3)
(A)
transmit
original
segment
(D)
receive
ACK
(sender)
Original
countdown
timer
(receiver)
OWLT
OWLT
(C)
transmit
ACK
(S) remote
engine
suspends
transmission
(R) remote
engine
resumes
transmission
(B)
receive
original
segment,
queue ACK
queuing (etc.) margin time
signal propagation time
11/6/2015
delay for suspended transmission
9
National Aeronautics and Space Administration
Timer revision (3 of 3)
(A)
transmit
original
segment
(D)
receive
ACK
(D’)
receive
ACK
(sender)
Original
countdown
timer
OWLT
(S) remote
engine
suspends
transmission
(receiver)
adjusted
countdown
timer
OWLT
OWLT
OWLT
(C)
transmit
ACK
(B)
receive
original
segment,
queue ACK
11/6/2015
(R) remote
engine
resumes
transmission
(C’)
transmit
ACK
queuing (etc.) margin time
signal propagation time
delay for suspended transmission
10
National Aeronautics and Space Administration
LTP vs TCP (1 of 2)
TCP
LTP
architectural
elements
One durable, unbounded
connection per pair of ports.
“Window” is buffer of bytes in
transit on connection.
One temporary, bounded session
per transmission unit. “Block” is
buffer of bytes in transit within
session.
acknowledgments
ACKs on ranges of bytes in
window; SACK optional.
Selective NAKs on ranges of bytes
in block.
configuration of
communication
Connections are dynamically
opened, parameters negotiated.
No connection protocol.
Parameters are managed and
asserted.
demux
Port number. Different port number
at receiver for each connection.
Session number. Any number of
sessions may be delivering to the
same client.
concurrency
Number of concurrent open
connections is typically limited by
number of FDs.
Number of concurrently open
sessions is limited by available
space, possibly management.
11/6/2015
11
National Aeronautics and Space Administration
LTP vs TCP (2 of 2)
TCP
LTP
sites of
retransmission
End-to-end. Retransmission sites
are co-located with applications.
Point-to-point. Retransmission
sites are co-located with routers.
delivery order
Bytes delivered in-order within
connection.
Bytes delivered in-order within
session, but sessions may
complete out of order.
timers
Timeout interval computed from
RTT history.
Timeout interval computed from
known OWLT and link state
schedule.
flow control
Number of unacknowledged bytes
in buffer is limited by each
connection’s window size.
Number of unacknowledged bytes
in all blocks may be limited by max
number of sessions.
congestion control
Control window size for each
connection; slow start, AIMD.
No congestion control; bundle
protocol may do rate control.
11/6/2015
12
National Aeronautics and Space Administration
Status of specifications
• Three LTP Internet Drafts began IRSG review in April:
– "Licklider Transmission Protocol - Motivation", 4-Apr-07, <draft-irtf-dtnrg-ltpmotivation-04.txt>
– "Licklider Transmission Protocol - Specification", 4-Apr-07, <draft-irtf-dtnrgltp-06.txt>
– "Licklider Transmission Protocol - Extensions", 5-Apr-07, <draft-irtf-dtnrg-ltpextensions-05.txt>
11/6/2015
13
National Aeronautics and Space Administration
Implementations
• Stephen Farrell’s implementation in C++
• Mani Ramadas’s implementation in Java
• Chris Krupiarz’s implementation in C, now being extended at
JPL
• Successful interoperation tests between C++ and Java
implementations at November 2006 IETF meeting in San Diego:
–
–
–
–
11/6/2015
nominal operation in both directions
successful operation in both directions with segment drops
red/green in both directions
red/green with drops in C++ Java direction
14
National Aeronautics and Space Administration
Tracking the work
• Home page
– http://masaka.cs.ohiou.edu/ltp/
• Mailing list
– http://irg.cs.ohiou.edu/mailman/listinfo/ltp/
11/6/2015
15
National Aeronautics and Space Administration
Acknowledgment
Part of this work was carried out at the Jet Propulsion Laboratory,
California Institute of Technology, under a contract with the National
Aeronautics and Space Administration.
11/6/2015
16