ECE 4605 Edgar Duskin Ifiok Udowana

Slides:



Advertisements
Similar presentations
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
Advertisements

TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Guide to TCP/IP, Third Edition
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
Configuring a Router with RIP Basic Configuration and Show Commands.
1 TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
1 CS 4396 Computer Networks Lab Transmission Control Protocol (TCP) Part I.
Instructor: Sam Nanavaty TCP/IP protocol. Instructor: Sam Nanavaty Version – Allows for the evolution of the protocol IHL (Internet header length) – Length.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
1 Transport Control Protocol. 2 Header Identifies the port number of a source application program. Used by the receiver to reply. (16-bit). Identifies.
Madhusudhan Shyamlal CISC 856 Computer & Information Sciences Thanks to Dr.Paul Amer Nasif Ekiz Ertugrul Yilmaz.
Netprog: TCP Details1 TCP Details Introduction to Networking John Otto TA Jan 31, 2007 Recital 4.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
Lecture 23: Network Primer 7/15/2003 CSCE 590 Summer 2003.
CSCE 515: Computer Network Programming TCP Details Wenyuan Xu Department of Computer Science and Engineering.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Transport Layer TCP and UDP IS250 Spring 2010
Gursharan Singh Tatla Transport Layer 16-May
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 12 Transmission Control Protocol (TCP) Basics.
Module A Panko and Panko Business Data Networks and Security, 9 th Edition © 2013 Pearson.
COMT 4291 Communications Protocols and TCP/IP COMT 429.
Computer & Information Sciences University of Delaware
2: Transport Layer 21 Transport Layer 2. 2: Transport Layer 22 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transmission Control Protocol
More on TCP Acknowledgements Sequence Number Field Initial Sequence Number Acknowledgement Number Field.
SELECTIVE ACKNOWLEDGEMENT (SACK) DUPLICATE SELECTIVE ACKNOWLEDGMENT
ECE 8990 Advanced Computer Network SystemsMississippi State University Comparison of TCP SACK and TCP Peach Sriram Rajan Vijaykumar Rajaram.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
Internet Networking recitation #11
© Jörg Liebeherr (modified by Malathi Veeraraghavan) 1 Overview Formats, Data Transfer, etc. Connection Management.
UDP & TCP Where would we be without them!. UDP User Datagram Protocol.
Guide to TCP/IP Fourth Edition
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
Other Methods of Dealing with Congestion
TCP Selective Acknowledgement Options
Chapter 3 Transport Layer
TCP Lecture 4.
Internet Networking recitation #9
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 full duplex data:
Introduction to Networks
Introduction to Networking Recital 4
Transmission Control Protocol (TCP)
5. End-to-end protocols (part 1)
Transmission Control Protocol (TCP)
Transport Layer.
TCP.
Process-to-Process Delivery
TCP.
© 2003, Cisco Systems, Inc. All rights reserved.
TCP.
Introduction of Transport Protocols
TCP - Part I Karim El Defrawy
Hojun Lee TCP enhancements Hojun Lee 11/8/2018.
Transmission Control Protocol (TCP)
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
CS4470 Computer Networking Protocols
TCP Details.
Other Methods of Dealing with Congestion
Fast Retransmit Sender Receiver
Other Methods of Dealing with Congestion
Internet Networking recitation #10
TCP - Part I Relates to Lab 5. First module on TCP which covers packet format, data transfer, and connection management.
Transport Layer 9/22/2019.
Presentation transcript:

ECE 4605 Edgar Duskin Ifiok Udowana RFC 2018: TCP-SACK ECE 4605 Edgar Duskin Ifiok Udowana

Introduction What is TCP-SACK? Why is TCP-SACK needed? A mechanism to overcome the poor performance TCP can experience with multiple lost packets. Why is TCP-SACK needed? Regular TCP forces sender to wait a full round trip time to find out about a lost packet. With cumulative acknowledgements, multiple dropped segments degrades throughput.

Current TCP Example Packets 3 and 5 (of a 7 packet sequence) lost 1 2 3 4 6 5 7 Packets 3 and 5 (of a 7 packet sequence) lost After retransmitting 3, sender had to wait an entire RTT to know about the next missing packet

TCP-SACK Concepts Works by including information on correctly received packets in the TCP option header. Sender doesn’t wait full RTT to know about next lost packet.

Sender sends a 25 packet sequence 5, 9, and 17 are lost TCP-SACK Example Sender sends a 25 packet sequence 5, 9, and 17 are lost Receiver sends back a normal ACK 5, but will include blocks of contiguous data: (1-4) (6-8) (10-17) (18-25)

Implementation How is TCP-SACK implemented? 16 bit SRC Port 16 bit DST Port How is TCP-SACK implemented? SACK uses the options field for block data Does not remove or change the meaning of the ACK field 32 bit sequence number 32 bit ACK number HL resvd flags 16 bit window size 16 bit TCP checksum 16 bit urgent pointer Options (40 bytes) Data

Implementation (cont’d) Each block definition is 8 bytes. Length is 1 byte Kind (TCP option type identifier) is 1 byte n blocks will have a length of 8*n+2 bytes With a 40 byte Options header, only 4 blocks can really be defined. Kind=5 Length (n) Left edge of 1st block (32 bits) Right edge of 1st block (32 bits) … Left edge of nth block (32 bits) Right edge of nth block (32 bits) TCP-SACK Option Fields

TCP SACK-Permitted Option Field Interoperability How does TCP-SACK work with other hosts? SACK employs a TCP-SACK permitted option to determine if SACK can be used in a TCP connection. Receiver sends with SYN packet in handshake If the sender is SACK-capable, SACK options will be used. 2 bytes long Kind=4 Length=2 TCP SACK-Permitted Option Field

Results & Performance RFC 2018 focuses primarily on the implementation details of TCP-SACK in the TCP header. Assuming that SACK had the entire options field, it could consolidate up to 4 ACKs. On lossy lines, SACK would allow the sender to repacket and resend the missing packets at once.

TCP-SACK EXAMPLE 5000 5500 (LOST) 6000 6500 7000 7500 8000 8500 TRIG. SEGMENT ACK FIRST BLOCK SECOND BLOCK THIRD BLOCK LEFT EDGE RIGHT LEFT EDGE RIGHT EDGE 5000 5500 (LOST) 6000 6500 7000 7500 8000 8500

Problems with RFC 2018 Does not really explain what the sender should do once it receives the SACK options. Focused more on the implementation details rather than algorithms and actual performance of TCP-SACK.

Questions? How many TCP options are usually implemented? What exactly does the sender once it receives SACK options? What is the disadvantage of making the right edge of the blocks the last segment of the contiguous data? If there is space for only one block options, how does the performance of TCP-SACK compare to the regular TCP? How many options out there are more important than TCP-SACK option? Are dropped packets one of the biggest problems in today’s TCP performance?