Download presentation
Presentation is loading. Please wait.
1
EE228A Project, Fall 2000 Yunfei Deng, Kenneth Cheung, Daniil Khidekel Professor Jean Walrand 12/5/2000 Modular TCP
2
Outline TCP basics New Challenges at Internet Era Transport Protocol Design Modular TCP Issues in Implementation Summary
3
Development of TCP Stream Data Transfer on IP Connection based Reliable delivery by retransmissions In order delivery Flow control Congestion Control Extensions, T/TCP etc.
4
New Challenges Vast Internet resources and users Various kinds of contents: multimedia Various conditions of Internet connections, from High-speed Broadband access to slow modem Various requirements on quality of transportation: timing, ordering, and integrity
5
Examples A FTP program: may retransmit received but dropped out-of-order data, add traffic into network A Stock quote program for Day-trader: only the newest correct quotes are meaningful Online Video playing: lost tolerable, timing is important, out-of-order frames might be useful
6
Current Status Existing TCP not suitable UDP is not enough Various Protocols built on top of UDP: RTSP, SRDP Opportunity in extending TCP Network Link IP TCP UDP RSTP …
7
Transport Protocol Design Reliability on- demand Constraints on ordering Flow Control Congestion Control Applications involved Network Link IP UDP RSTP … Reliability Congestion control (M)TCP
8
Modular TCP Key idea: Application Level Framing (ALF), D.Clark 1990, M.I.T. Goals: must-have congestion control, on-demand reliability control, on- demand ordering constraints Compatible with TCP Based on existing TCP/IP implementations
9
ADU in Modular TCP ADU: Application Data Unit MTCP deals with ADU from Applications Different ADU types: Reliable, In-Order Reliable, Out-of-Order OK. Unreliable, In-Order Unreliable, Out-of-Order OK.
10
Begin the connection Add Modular TCP options into TCP header: {MTCP option kind, requested ADU Policy} When send SYN to initialize connection, mark MTCP option in the header as “MTCP supported”, also in replies Use Modular TCP only when both sides support it, otherwise use traditional TCP
11
During the connection More ADU options in TCP header un-favored Additional ADU header after TCP header: {name, seq#, range, options} ADU Policies: Reliable, In-Order delivery Reliable, Out-of-Order delivery Unreliable, In-Order delivery Unreliable, Out-of-Order delivery Mixture delivery
12
During the connection (cont’d) More About mixture ADU types: Conservative approach: use the most constrained level of delivery More complex scheme: permit various types of ADU in the same connection, but need additional semantics defining the ordering constraints between different types of ADU
13
Sender of the connection Sender receives ADUs from Applications ADU Fragmentation, Packet queuing, … Sender keeps the sliding window proceeding with the coming ACKs Reaction of lost packet: Reliable ADU packets need to be retransmitted Unreliable ADU packets don’t need to retransmitted, but need congestion control
14
Receiver of the connection Calculate checksum, Acknowledgement Queue partial ADU packets Re-organize the packets into ADUs Delivery to Applications In-Order required: queue/drop out-of- order ADUs Out-of-Order OK.: instantaneous delivery to application
15
Acknowledgements TCP’s positive cumulative ACK scheme doesn’t work for unreliable ADUs SACK: Selective Acknowledgement Selectively acknowledge non-contiguous blocks of data not covered by the Cumulative Acknowledgement field Update Cumulative ACK field when ADU delivered (reliable or unreliable) or dropped (unreliable)
16
Flow and Congestion Control SACK for all types of ADU Use SACK info to detect lost, congestion Apply normal TCP slow start, congestion avoidance, fast recovery
17
ECN
18
Implementation Modular TCP linux
19
Summary
20
Thank You!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.