Transcript Slides

Declarative Transport
A Customizable Transport Service for the Future Internet
Karim Mattar
Ibrahim Matta
John Day
Vatche Ishakian
Gonca Gursun
Department of Computer Science
Boston University
1
A Quote
TCP is a kludge and it is one heck of a thesis generator!
-- John Day
2
A Question
What is inherently so difficult about designing transport
solutions?
3
Current Internet Architecture is Misleading
Application
Transport
Network
Link
Physical
Application
Transport
Network
Link
Physical
Let us consider an alternate organizing structure…
4
Recursive Internet Architecture (RINA)
application
processes
IPC process
(sender/receiver)
IPC process
(sender/receiver/proxy)
IPC process
(sender/receiver)
shared state
A
B
C
N-level DIF
(N-1)-level DIFs
End Host
Router
End Host
J. Day, I. Matta, and K. Mattar. Networking is IPC: A Guiding Principle to a Better
Internet. In Re-Architecting the Internet (ReArch), December 2008.
5
Functions within a RINA Layer
IPC
IPC
IPC Management
Transfer Control
Delimiting
routing, monitoring,
resource allocation,
access control, etc.
Transfer
Relaying/Muxing
PDU Protection
DTSV
RIB
6
Key Insight from RINA
Transport is a service provided by all nodes in the
network to support applications. Transport state is
distributed. It can be collected, stored, manipulated
and queried by all nodes.
7
Quick Questions
What is transport state?
Isn’t that a lot of state to be maintained by the nodes
in the network?
8
Recursive Internet Architecture (RINA)
application
processes
IPC process
(sender/receiver)
IPC process
(sender/receiver/proxy)
IPC process
(sender/receiver)
shared state
A
B
border
routers
C
N-level DIF
(N-1)-level DIFs
ISP-wide DIF
J. Day, I. Matta, and K. Mattar. Networking is IPC: A Guiding Principle to a Better
Internet. In Re-Architecting the Internet (ReArch), December 2008.
9
Decomposing Transport Solutions
Transport Packet
Info that must be sent
with the user’s data
(e.g., checksum, seqnum)
Info that is independent
from the user’s data
(e.g., win size, rtt estimate)
10
Decomposing Transport Solutions
Transport
Data Transfer
Protocol
(DTP)
Data Transfer
Control Protocol
(DTCP)
Management
Protocol
This is independent from any implementation
Only transport control and management information need to
be manipulated declaratively
11
Network In
P2 System and NDLog
Rule strands specifying protocol behavior
UDP Rx
Join
Select
Project
Demux
CC Rx
Remote
ACK
Insert
Project
Aggregate
Insert
Insert
Retry
CC Tx
Queue
Demux
Queue
Relation A
Relation B
Relation C
UDP Tx
Network Out
MUX
Join
Local
T. Condie, J. Hellerstein, P. Maniatis, S. Rhea, and T. Roscoe. Finally, a Use for
Componentized Transport Protocols. In HotNets-IV, November 2005.
12
Transport Policies in P2
Selective Acks
Seqnums Sent
10
11
12
13
Source
Sack{11,13}
Destination
13
Transport Policies in P2
Cumulative Acks
Seqnums Sent
10
11
12
13
Source
CumAck{12}
Destination
14
Transport Policies in P2
Smart Acks
Seqnums Sent
10
11
Acks Sent
10
Cellular Channel
12
13
CumAck{12}
Source
Destination
CumAck{10}
Ack Regulator
Mun Choon Chan and Ramachandran Ramjee. TCP/IP Performance over 3G Wireless Links
with Rate and Delay Variation. In ACM MOBICOM, September 2002.
15
Transport Policies in P2
Local Retransmission
Seqnums Sent
10
11
12
13
Seqnums Sent
10
11
12
13
CumAck{12}
Source
Destination
Pkt{13}
Local Retransmission
H. Balakrishnan, S. Seshan, E. Amir, and R. H. Katz. Improving TCP/IP Performance over
Wireless Networks. In ACM MOBICOM, November 1995.
16
Transport Policies in P2
Rate Control
Rate
14
5
Source
Min BW
8
Min BW
5
Min BW
10
Destination
minBW
N. Riga, I. Matta, A. Medina, C. Partridge, and J. Redi. JTP: An Energy-conscious
Transport Protocol for Multi-hop Wireless Networks. In CoNEXT, December 2007.
17
Transport Policies in P2
Multicast
Streams
b
A
Streams
b+e
b
Source
S
Streams
b+e
R1 Receiver (b)
R2 Receiver (b)
R3 Receiver (b)
B
R4 Receiver (b+e)
J. Byers, G. Kwon, M. Luby, and M. Mitzenmacher. Fine-grained Layered multicast with
STAIR. IEEE/ACM Trans. Netw., 14(1):81-93, 2006.
18
Final Thoughts
Extensions to NDLog:
(1) support for timers
(2) support for transactions
Some open problems:
(1) trade-off between maintaining state at the nodes
or passing it in headers
(2) selection of optimal locations for maintaining
transport state
19