View
216
Download
0
Tags:
Embed Size (px)
Citation preview
1
Declarative TransportA Customizable Transport Service for the Future Internet
Karim MattarIbrahim Matta
John DayVatche IshakianGonca Gursun
Department of Computer ScienceBoston University
2
A Quote
TCP is a kludge and it is one heck of a thesis generator!
-- John Day
3
A Question
What is inherently so difficult about designing transport solutions?
4
Current Internet Architecture is Misleading
ApplicationTransport
Network
LinkPhysical
ApplicationTransport
Network
LinkPhysical
Let us consider an alternate organizing structure…
5
Recursive Internet Architecture (RINA)
BA C N-level DI F
(N-1)-level DI Fs
shared state
applicationprocesses
I PC process(sender/ receiver)
I PC process(sender/ receiver)
I PC process(sender/ receiver/ proxy)
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.
End Host End HostRouter
6
Functions within a RINA Layer
routing, monitoring,resource allocation, access control, etc.
I PC
Transfer
I PCControl I PC Management
Delimiting
Transfer
Relaying/ Muxing
PDU Protection
DTSV RI B
7
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.
8
Quick Questions
What is transport state?
Isn’t that a lot of state to be maintained by the nodes in the network?
9
Recursive Internet Architecture (RINA)
BA C N-level DI F
(N-1)-level DI Fs
shared state
applicationprocesses
I PC process(sender/ receiver)
I PC process(sender/ receiver)
I PC process(sender/ receiver/ proxy)
borderrouters
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.
ISP-wide DIF
10
Decomposing Transport Solutions
Transport Packet
Info that is independent from the user’s data
(e.g., win size, rtt estimate)
Info that must be sentwith the user’s data
(e.g., checksum, seqnum)
11
Decomposing Transport Solutions
Data TransferProtocol
(DTP)Transport
Data TransferControl Protocol
(DTCP)
ManagementProtocol
This is independent from any implementation
Only transport control and management information need to be manipulated declaratively
12
P2 System and NDLog
MUX
Queue
UDP Rx
CC Rx
ACK
Demux
Rule strands specifying protocol behavior
Join Project Aggregate
Join Select Project
Relation A Relation CRelation B
Queue
Retry
CC Tx
UDP Tx
Demux
Local
Remote
Net
wo
rk In
Netw
ork O
ut
Insert Insert Insert
T. Condie, J. Hellerstein, P. Maniatis, S. Rhea, and T. Roscoe. Finally, a Use for Componentized Transport Protocols. In HotNets-IV, November 2005.
13
Transport Policies in P2
Source Destination
Seqnums Sent
11
1213
10
Sack{11,13}
Selective Acks
14
Transport Policies in P2
Source Destination
Seqnums Sent
1213
10
11
Cumulative Acks
CumAck{12}
15
Transport Policies in P2
Source Destination
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.
Seqnums Sent
1213
10
11
Acks Sent10
Smart Acks
Cellular Channel
CumAck{12}
CumAck{10}
16
Transport Policies in P2
Source Destination
Local Retransmission
H. Balakrishnan, S. Seshan, E. Amir, and R. H. Katz. Improving TCP/IP Performance over Wireless Networks. In ACM MOBICOM, November 1995.
Seqnums Sent
1213
10
11
Seqnums Sent
1213
10
11
Local Retransmission
CumAck{12}
Pkt{13}
17
5
Transport Policies in P2
Source Destination
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.
Min BW10
Rate Control
minBW
Min BW5
Min BW8
Rate14
18
Transport Policies in P2
A
R4
R3
R2
R1
Source
J. Byers, G. Kwon, M. Luby, and M. Mitzenmacher. Fine-grained Layered multicast with STAIR. IEEE/ACM Trans. Netw., 14(1):81-93, 2006.
Multicast
B
S
Receiver (b)
Receiver (b)
Receiver (b)
Receiver (b+e)
Streamsb
Streamsb+e
Streamsb+eb
19
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