Transport Protocol Enhancements for Thin Streams Magda El Zarki Prof. of CS Univ. of CA, Irvine

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Advertisements

Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
CCNA – Network Fundamentals
Transmission Control Protocol (TCP)
Guide to TCP/IP, Third Edition
Transport Layer3-1 TCP. Transport Layer3-2 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection.
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 16 Omar Meqdadi Department of Computer Science and Software Engineering University.
1 Transport Layer Lecture 9 Imran Ahmed University of Management & Technology.
TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
1 689 Lecture 2 Review of Last Lecture Networking basics TCP/UDP review.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
2: Application Layer 1 1DT066 Distributed Information System Chapter 3 Transport Layer.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
Process-to-Process Delivery:
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
1 Transport Layer Computer Networks. 2 Where are we?
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
CECS 474 Computer Network Interoperability Notes for Douglas E. Comer, Computer Networks and Internets (5 th Edition) Tracy Bradley Maples, Ph.D. Computer.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
Transport Layer: UDP, TCP
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
CSE679: Computer Network Review r Review of the uncounted quiz r Computer network review.
Paper Review: Latency Evaluation of Networking Mechanisms for Game Traffic Jin, Da-Jhong.
Considerations of SCTP Retransmission Delays for Thin Streams Jon Pedersen 1, Carsten Griwodz 1,2 & Pål Halvorsen 1,2 1 Department of Informatics, University.
Improving application layer latency for reliable thin-stream By: Joel Fichter & Andrew Sitosky Src:
Copyright © Lopamudra Roychoudhuri
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
1 TCP Timeout And Retransmission Chapter 21 TCP sets a timeout when it sends data and if data is not acknowledged before timeout expires it retransmits.
Computer Networks23-1 PART 5 Transport Layer. Computer Networks23-2 Position of Transport Layer Responsible for the delivery of a message from one process.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
ECE 4110 – Internetwork Programming
Prof. Younghee Lee 1 1 Computer Networks u Lecture 5: Transport services and protocols Prof. Younghee Lee * Some part of this teaching materials are prepared.
Transport Layer: Sliding Window Reliability
1 Computer Communication & Networks Lecture 23 & 24 Transport Layer: UDP and TCP Waleed Ejaz
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 3: Transport.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
CSEN 404 Transport Layer II Amr El Mougy Lamia AlBadrawy.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
Ch 3. Transport Layer Myungchul Kim
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
Ch23 Ameera Almasoud 1 Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007.
Chapter 9: Transport Layer
TCP - Part II.
DMET 602: Networks and Media Lab
Fast Retransmit For sliding windows flow control we waited for a timer to expire before beginning retransmission of a packet TCP uses an additional mechanism.
Instructor Materials Chapter 9: Transport Layer
Introduction to Networks
PART 5 Transport Layer Computer Networks.
Magda El Zarki Professor, ICS UC, Irvine
Transport Layer Unit 5.
Transport Layer Our goals:
Process-to-Process Delivery:
Process-to-Process Delivery: UDP, TCP
Transport Layer 9/22/2019.
Presentation transcript:

Transport Protocol Enhancements for Thin Streams Magda El Zarki Prof. of CS Univ. of CA, Irvine

Game Traffic – A Thin Stream What is a THIN stream? Thin streams have very small packet sizes and very high inter packet arrivals (IAT)

Thin Stream Traffic – Packet Size

Thin Streams - IAT

Transport Protocols User Datagram Protocol (UDP) Send a message (datagram) and forget about it No guaranteed delivery No guaranteed ordering Transmission Control Protocol (TCP) Guaranteed, in-order stream of data from one host to another

Bits Source PortDestination Port 32-63LengthChecksum 64+Data UDP Segment Layout – Header 8bytes

TCP In comparison to UDP, TCP offers: A connection-oriented services with bi-directional (full-duplex) communication Reliable transmission of messages in each direction Congestion avoidance, using variable rate transmission In order, and non-duplicate delivery of information Applications place the data bytes into an outgoing buffer The buffer is streamed in the form of segments to the receiver At the receiver, the segments are dismantled and the data is stored in a buffer byte by byte, and pushed to the application.

Bits Source PortDestination Port 32-63Sequence Number (SN) 64-95Acknowledgement Number (ACK) Data Offset Not Used FlagsReceive Window ChecksumUrgent Pointer Options (Optional) , 224+, etc. Data Layout of a TCP Segment – Header 20-40bytes

Thin Streams and UDP Works for some traffic types that do not need high reliability. Games, other than FPS, with lower latency constraints, may prefer not to use UDP because of out of order delivery and packet losses. Sometimes used by games in conjunction with a middleware layer that adds TCP like behavior to the packet stream. UDT and ENet are such examples.

Thin Streams and TCP Why wont TCP work? Game packets are very small, overhead of TCP is very high in comparison -> A very high percentage of the observed traffic in traces is overhead – ACKS and headers 1.In-order processing of packets causes additional delays 2.Congestion control unnecessary as game traffic is application-limited (the application is very light load). 3.Fast-retransmit, a method to counter delays with retransmissions, ineffective with game traffic as inter- arrival times (IAT) between packets is very long.

Avg. Latency of dropped/lost packets Is the minimum delay for one retransmission when IAT is very low. RTT – Transmission Time and time to receive ACK

Increased latency caused by Packet Losses that trigger control mechanisms

Increased jitter caused by Packet Losses that trigger control mechanisms

Nagle’s Algorithm – not suited for Thin Streams Aim to conserve bandwidth. Data only delayed if there are unACKed segments for the connection

Thin Streams and TCP – What can be Done Modifications to TCP parameters/thresholds to avoid latencies caused by congestion control and retransmission mechanisms Adding class distinctions to the traffic flow to identify different packet types for preferential treatment

1. In-Order Delivery Packets wont be delivered to the application until all previous packets have been received and delivered Retransmission and re-ordering due to a loss increases latency In some games, players will often perform many fast actions in sequence. Each action is often an incremental update on previous state Throwing away a delayed packet is a viable option as you only want to see the present view and not what it was a second or two ago. It will cause jerkiness. However, in many games, actions do need to be seen in succession as it could impact game play.

2. Congestion Control Congestion control policy is designed for greedy traffic streams that have to be network limited By contrast, thin streams are application limited When there is no action on the link, i.e., the IAT > RTO (timeout), TCP sets the congestion window (amount of traffic a sender may send - cwnd) = 2 and keeps it there so long as this condition doesn’t change– this is called restart after idle period policy prevents an application from suddenly dumping a large burst of traffic into the network after a period of silence. Cwnd at the old value does not reflect current network conditions - may have changed For games that means e.g., a player could suddenly have three actions: “sneak,” “move,” and “attack’’ and only two will go out and 3 rd has to wait for window to increase – long delay!

Congestion Control and Thin Streams

3. Fast Retransmit - Loss Recovery To detect a loss in TCP: 1.Retransmission timer expires (RTO) 2.Fast retransmit – triggered by 3 duplicate ACKs of same packet Because of high IAT, not enough traffic during RTO period. Means that fast retransmit will never be triggered. SACK - Selective repeat – sends ACK for each received data packet. No waiting for duplicate ACKs recommend that every network game employing TCP should guarantee the SACK option is enabled at both ends.

Duplicate Packet Definition The definition of a series of duplicate acks is strict in that each ack packet must not contain data, must have the same receiver window size, and must have the same acknowledgement sequence number. By this definition, if a receiving host sends a data packet to a sender that is waiting for more duplicate acks in that connection, the count of duplicate acks will be reset to zero. Thus, the fast retransmit mechanism will not be triggered unless the counting of duplicate acks is not interrupted, even if sufficient duplicate acks are released. Most duplicate ack accumulations are interrupted by data packets sent from the game clients. This happens because game traffic is bi- directional, so the game clients may have data to release before sufficient duplicate acks are generated

IAT vs RTO-RTT

Proposed TCP enhancements 1.Simple tweaks to some TCP calculations to bypass or change some actions if a thin stream is detected. 2.Break down the data into different types of streams and tailor the packet handling to attain the best possible transport strategies for each one.

1. Thin Stream Detection The thin-stream detection mechanism must be able to dynamically detect the current properties of a stream. The application should not have to be aware of the detection mechanism, nor have to feed data about its transmission rate to the network stack; it should be transparent to the application. Should not introduce any new mechanism. The chosen approach is based on an already existing counter of unacknowledged packets. Mechanism effect: If ( tcp_stream_is_thin) { apply modifications } else { use normal TCP }

What enhancements do we want for thin stream traffic? Removal of exponential backoff: To prevent an exponential increase in retransmission delay for a repeatedly lost packet, the exponential factor is removed. Faster Fast Retransmit: Instead of waiting for 3 duplicate ACKs before sending a fast retransmission, we retransmit after receiving only one. Redundant Data Bundling: Data is copied (bundled) from the unacknowledged packets in the send buffer into the next packet if space is available

Bundling of Data

Performance

2. Using content classification For MMORPGs, the authors classify game messages generated by players into three types: move, attack, and talk messages. Move messages report position updates when an avatar moves or goes to a new area. Since only the latest location in the game play matters, the server simply discards out-of-date move messages. Attack messages correspond to an avatar’s combat actions when it engages in fights with opponents. Such messages cannot be lost because each action will have some impact on the target. However, if several successive attack messages describe the same combat action against the same target, out-of-order arrivals of these messages can be tolerated. Talk messages convey the contents of conversations between players. Must be transmitted in order and reliably.

Transport Options for Different Content Multi-streaming: With this option, different types of game messages can be put into separate streams, each of which processes the messages independently. Optional Ordering: Can reduce the latency overhead because it allows some types of messages to be processed at the receiver as soon as they are received without being buffered if their preceding messages have not arrived. Optional Reliability: With this option, messages that do not require reliable transmission can simply be ignored if they are lost in the network.

Content-based transport strategies MRO Strategy: MRO only uses multi-streaming (M); that is, it guarantees transmission reliability (R) as well as packet ordering (O) for a particular traffic type. Under this strategy, game messages are classified into traffic types, e.g., move, attack, and talk. Separate streams are used to handle each. MR Strategy: MR implements both multi-streaming (M) and optional ordering (O). This strategy provides two kinds of streams: ordered streams and unordered streams. M Strategy: M combines all three options, that is, multi- streaming (M), optional ordering (O), and optional reliability (R). Under this strategy, there are three kinds of streams: ordered and reliable streams (OR), unordered and reliable (R) streams, and unordered and unreliable streams.

Evaluate the effect of the three content-based strategies on a live trace of Angel’s Love P MRO implements the MRO strategy, which puts move, attack, and talk messages into three separate ordered and reliable streams (OR). P MR is based on the MR strategy. It transmits move and attack messages via two unordered and reliable (R) streams individually, while talk messages are put into one ordered and reliable stream (RO). P M employs the M strategy, which transmits move messages via one unordered and unreliable stream, attack messages via one unordered and reliable (R) stream, and talk messages via one ordered and reliable (RO) stream.

Compare to TCP, UDP, SCTP - Latency Used traces of Angel’s Love, a mid-scale, TCP-based MMORPG on a test bed in a lab.

Jitter Performance

References ``On the challenge and design of transport protocols for MMORPGs,’’ Chen-Chi Wu, Kuan-Ta Chen, Chih-Ming Chen, Polly Huang, Chin-Laung Lei, Multimedia Tools and Appl. (2009) 45:7–32. ``TCP Enhancements for Interactive Thin-Stream Applications,’’ Andreas Petlund, Kristian Evensen, Carsten Griwodz, Pål Halvorsen, in Proceedings of NOSSDAV ’08, Braunschweig, Germany, ``The Fun of using TCP for an MMORPG,’’ Carsten Griwodz, Pål Halvorsen, in Proceedings of NOSSDAV ’06 Newport, Rhode Island, USA, ``Latency Evaluation of Networking Mechanisms for Game Traffic,’’ Szabolcs Harcsik, Andreas Petlund, Carsten Griwodz, Pål Halvorsen, in Proceedings of NetGames’07, Melbourne, Australia, September 19-20,