Download presentation
Presentation is loading. Please wait.
1
Anue Systems contribution to TR 30.3 1 v1.0 - 20050426 Telecommunications Industry AssociationTR-30.3/11-08-xxx Arlington, VA August xx, 2011
2
2 Adding TCP to TIA-921B Problem Statement / Overview Proposed Solution / Purpose How to add TCP? L5-L7, what version, options and implementation? Limitations Discussion Anue Systems contribution to TR 30.3
3
3 Problem Statement / Overview Our current model has “Firehose” packet generators. The packet generators just replay the packets as read from PCAP files, with minimal adjustment for rate and burstiness. This means that the packet generators do not react when packets are lost. This is not realistic. In a real situation, most interfering streams would automatically slow down to try and reduce the the cause of packet loss. Lost packets in a stream of interest can make it difficult to analyze stream quality. This is mainly of interest for OTT (over the top) video since it is carried in TCP (IPTV is generally carried over UDP). This makes it more difficult to use the simulator Have to “tune” the simulation parameters Anue Systems contribution to TR 30.3
4
4 CORE-to-LAN Simulation Model (from TR30_3_Liaison_to_ITU-T_SG12 January 2011) Anue Systems contribution to TR 30.3
5
5 Proposed Solution & Purpose Add TCP to the TIA-921B simulation model We have discussed doing this in the past This presentation proposes implementation details to spark discussion. Purpose: (twofold) Add realism to the interfering streams Show more realistic effect of congestion on OTT video Anue Systems contribution to TR 30.3
6
6 How to add TCP? Simulator is object oriented C++ We have PCAP generators and monitors Add two new objects to our simulation TCPServer TCPClient The client connects to the server Data can flow in both directions TCP’s flow control provides congestion avoidance Anue Systems contribution to TR 30.3
7
7 CORE-to-LAN Simulation Model (from TR30_3_Liaison_to_ITU-T_SG12 January 2011) TCP Server TCP Server TCP Client TCP Client Anue Systems contribution to TR 30.3
8
8 Details, Details, Details….. But, this creates more questions How to model the L5-L7 behavior? What data to use for TCP payload? What TCP version to use? What TCP options to support? What implementation to start from? Anue Systems contribution to TR 30.3
9
9 How to model L5-L7 behavior? Proposal: Focus on bulk data transfer Divide into two sub-cases (possibly simultaneous): Download from server to client: Client connects to server and downloads a file. Upload from client to server: Client connects to server and uploads a file. Ignore “interactive” TCP sessions That is not the focus of our work (sorry Nagle) In the future we could allow more complex sequences Anue Systems contribution to TR 30.3
10
10 L5 (sockets layer) (Credit: http://edn.embarcadero.com/article/26022) Anue Systems contribution to TR 30.3
11
11 What data to use for TCP payload? Proposal: Read L5 data from files (can be whatever we want) Specify parameters in simparam files Filename Bit rate for transmission of data Number of repetitions Repetition rate Alternative: Parse and interpret our existing PCAP files But must infer L5 behavior (heuristics?) Anue Systems contribution to TR 30.3
12
12 Save TCP streams in PCAP format Facilitate debug and analysis with wireshark. Anue Systems contribution to TR 30.3
13
13 What TCP version to use? A number of TCP versions exist: BSD variants:Tahoe, Reno, Vegas, New Reno Linux variants: BIC, CUBIC MS: BSD, Compound TCP For our work, we care mainly about the changes to congestion avoidance Anue Systems contribution to TR 30.3
14
14 What options to support? Window Size settings? Selective acknowledgement? Window scaling? MSS? Proposal: Focus on Window Size first, scaling second. Others only as needed. Anue Systems contribution to TR 30.3
15
15 What implementation to start from? Most well documented (4.4BSD-Lite: ca 1995) W. Richard Stevens, TCP/IP Illustrated series I propose to use this as a starting point for our work Add enhancements as needed Advantages are simplicity, availability of source code, speed of development, and widely studied (and improved upon). Anue Systems contribution to TR 30.3
16
16 TCP/IP Illustrated (vol 1) Volume 1 has detailed explanations: Ch 17: Overview of TCP Ch 18: Connection Establish & Termination Ch 19: Interactive (nagling) Ch 20: Bulk xfer (sliding window, slow start) Ch 21: Timeout & Retransmit (fast recovery) Ch 22: Persist Timer (silly window) Ch 23: Keepalive Ch 24: Future stuff Anue Systems contribution to TR 30.3
17
17 TCP/IP Illustrated (vol 2) Volume 2 has source code: Ch 24: TCP packet format Ch 25: TCP Timers Ch 26: TCP Output Ch 27: TCP Functions Ch 28&29: TCP Input Ch 30: TCP User requests Anue Systems contribution to TR 30.3
18
18 Other examples to refer to Ns2 (good reference, widely studied) Omnet (good, but restrictive license for commercial use) Opnet (good but source not available) Linux source code (good but complex) Other embedded systems source code and books. Anue Systems contribution to TR 30.3
19
19 Limitations Although packets will contain L2 and L3 protocol fields, the simulation will not make use of these fields. As with the current simulation, servers will support a single client. We will model multiple streams by having multiple servers. Need to define how to get “raw” video data Need to define how to model adaptive L5 behavior (like Silverlight) Anue Systems contribution to TR 30.3
20
20 Discussion Anue Systems contribution to TR 30.3 Question: Does this seem like a reasonable approach? Work estimate: Approximately one month (goal -- August meeting in Arlington).
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.