Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1951)

Side by Side Diff: src/http/docs/http.rst

Issue 4940041: HTTP Traffic Generator
Patch Set: updated based on Tom's review. Created 12 years, 11 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 .. include:: replace.txt
2
3 HTTP Traffic Generator
4 ------------
5
6 HTTP traffic generator is one traffic model to generate web-like traffic and hav e different options to tune and generate HTTP traffic.
7
8 This model was developed by·
9 `the ResiliNets research group <http://www.ittc.ku.edu/resilinets>`_
10 at the University of Kansas.··
11
12 Overview
13 *********************
14 ·
15 The implementation of HTTP traffic generator composes mainly four parts:
16 ·
17 1. Client
18 2. Server
19 3. Runtime Variable
20 4. Distribution Generation (Notification to Statistics Research, Bell Labs, Luc ent Technologies and The University of North Carolina at Chapel Hill)
21 ·
22 The major classes include:·
23 ·
24 Class http::HttpClient implements the functions needed to initiate the transpor t connections to the HTTP server and the random variables generation functions
25
26 Class http::HttpServer implements the functions to receive the connection from HTTP clients and establish the connection, receive HTTP packets received by the HTTP client
27
28 Class http::HttpDistribution implements functions to take use of the distributi on functions generated parameters and use them in the·
29
30 Class http::HTTPRandomVariableBase defines the major distribution functions to generate the parameters used in the HTTP traffic model
31
32 Class http::RuntimeVariable is used to save the random variables generated by t he HTTPRandomVariableBase and save in the RuntimeVariable table entries. They w ill be used by both HTTP clients and servers.
33
34 Class http::HttpSeqHeader is the header to distinguish different transport segm ents from a single HTTP packet
35
36 When the traffic generator starts, the http client initialize connections to ht tp server, after the connection has established,
37 the client calls the distribution generation module and generates empirical par ameters involved with http operation. For example,
38 request size, response size, request gap time, server delay time, total objects per page, total pages per web session. All those
39 parameters will be saved in runtime variable model, which can be accessed by bo th the http client and server. Based on the parameters
40 saved in runtime variable, the client and server will generate http traffic whi ch can represent real-world http traffic.
41
42 This traffic generator is capable of generating both HTTP 1.0 traffic and HTTP 1.1 traffic. When HTTP 1.0 mode is used, each http request
43 will wait until the previous http transaction is over, while HTTP 1.1 will do p ipelining, which means it sends multiple http requests·
44 without waiting for previous responses; however, parallel connections is not ye t supported.
45
Nicola Baldo 2012/07/25 09:00:43 Any detailed info on the statistical model that is
46 Work Modes
47 *****************
48
49 There are two working modes: automatic and manual. When automatic mode is used, it generates the variables based
50 on predefined distribution functions. While the manual mode will need the users to pass in variables for the
51 model to generate HTTP traffic.
52
53 This module does not use the built in tracing module of ns-3, it generated its own files to record the parameters generated from
54 distribution functions as well as the simulation results. The reason for this choice is that some of the metrics we use cannot be represented
55 by the ns-3 built in tracing module. For example, the Web Page Delivery Delay needs to identify the time it takes a whole HTTP object·
56 to deliver to the destination. The build tracing module in ns-3 can only monit or the time it takes for the single transport segment to reach
57 the destination. This is the reason we choose to use the text-based tracing of the module. Furthermore, the tracing module is carefully tested·
58 and validated.·
59
60 There are two metrics to record the results:
61 1. Object Delivery Ratio (ODR)
62 2. Web Page Delivery Delay
63
64 Notes:
65 The time recorded as parameters are all in milliseconds
66
67 HTTP Instructions
68 *****************
69
70 To have a node run HTTP, the easiest way would be to use the ClickInternetStackH elper
Nicola Baldo 2012/07/25 09:00:43 ClickInternetStackHelper???
71 class in your simulation script. For instance::
72
73 HttpHelper http;
74 http.Install (http, adhocNodes);
75
76 The example scripts inside ``src/http/examples/`` demonstrate the use of HTTP ba sed nodes
77 in different scenarios. The helper source can be found inside ``src/http/helper/ http-helper.{h,cc}``
78
79 Examples
80 ********
81
82 The example can be found in ``src/http/examples/``:
83
84 * http.cc use HTTP as traffic generator. This example uses basic settings to ma ke it simple to use. Advanced settings have been commented out.
85
86
87 Validation
Nicola Baldo 2012/07/25 09:00:43 I would call this just "Testing".
88 **********
89
90 This model has been tested as follows:
91
92 * Unit tests have been written to verify the internals of DSR. This can be found in ``src/http/test/http-test-suite.cc``. These tests verify whether the methods inside DSR module which deal with packet buffer, headers work correctly.
Nicola Baldo 2012/07/25 09:00:43 DSR?
93 * Simulation cases similar to [1] have been tested and have comparable results.
Nicola Baldo 2012/07/25 09:00:43 "have comparable results" with what? [1] seems to
94 * Random variable validation cases have been conducted to fit the proposed distr ibution function for each http parameter
Nicola Baldo 2012/07/25 09:00:43 this sentence is not clear, and what you do is not
95 ··
96 References
97 **********
98
99 [1] BibTeX for the http performance paper:·
100 @inproceedings{cheng:2011:PCO,
101 Address = {Las Vegas, NV},
102 Author = {Yufei Cheng and Egemen K. \c{C}etinkaya and James P.G. Sterben z},
103 Booktitle = {Proceedings of the International Telemetering Conference ({ ITC})},
104 Month = {October},
105 Title = {Performance Comparison of Routing Protocols for Transactional T raffic over Aeronautical Networks},
106 Year = {2011}}
107
OLDNEW

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b