home *** CD-ROM | disk | FTP | other *** search
/ ftp.intel.com / 2015-02-03.ftp.intel.com.tar / ftp.intel.com / Pub / papers / compcon95.txt < prev    next >
Text File  |  2010-04-27  |  18KB  |  414 lines

  1. World Wide Web Network Traffic Patterns
  2.  
  3. Jeff Sedayao
  4.  
  5. Intel Corporation, 2250 Mission College Blvd
  6.  
  7. Santa Clara, CA 95052
  8.  
  9. Abstract
  10.  
  11. The World Wide Web (WWW) generates a significant and 
  12. growing portion of traffic on the Internet. With the click of 
  13. a mouse button, a person browsing on the WWW can gen-
  14. erate megabytes of multimedia network traffic. WWW's 
  15. growth and possible network impact merit a study of its 
  16. traffic patterns, problems, and possible changes. This 
  17. paper attempts to characterize World Wide Web traffic pat-
  18. terns. First, the Web's HyperText Transfer Protocol 
  19. (HTTP) is reviewed, with particular attention to latency 
  20. factors. User access patterns and file size distribution are 
  21. then described. Next, the HTTP design issues are dis-
  22. cussed, followed by a section on proposed revisions. Bene-
  23. fits and drawbacks to each of the proposals are covered. 
  24. The paper ends with pointers toward more information on 
  25. this area.
  26.  
  27. 1.0    Introduction
  28.  
  29. The World Wide Web [1] has been called the "killer app" 
  30. of the Internet. Whole new businesses are being created to 
  31. make advertising and information available on the Web. 
  32. World Wide Web traffic is growing at the rate of over 20% 
  33. PER MONTH [2]. With such an incredible growth rate, it 
  34. is becomes critical for network engineers and technology 
  35. managers to understand the impact of World Wide Web 
  36. traffic on networks. In fact, some network administrators 
  37. fear the World Wide Web because they fear its traffic 
  38. implications. 
  39.  
  40.  This paper attempts to characterize the network impact of 
  41. the Web. The first section reviews the HyperText Transfer 
  42. Protocol (HTTP) [3], the protocol used by the World Wide 
  43. Web. User access patterns are also covered. The next sec-
  44. tion examines the issues caused by HTTP and the use of 
  45. the Web. The last major section of the paper describes cur-
  46. rent attempts to deal with those Web traffic issues.
  47.  
  48. 2.0    World Wide Web Traffic 
  49. Characteristics
  50.  
  51. To understand the World Wide Web's traffic characteris-
  52. tics, a brief understanding of the HyperText Transfer Pro-
  53. tocol (HTTP), the protocol used by WWW, is necessary. 
  54. HTTP is designed to be a simple request/response proto-
  55. col. A client opens up a connection to the server, sends a 
  56. request, gets a response, and then closes down the connec-
  57. tion. Two key elements are the Uniform Resource Locator 
  58. (URL) [4] and the method. The URL is a construct that 
  59. provides information on the network location of some 
  60. document on the Internet, including what server it lives on 
  61. and how to access it. The method describes a specific 
  62. action for a server to take. 
  63.  
  64.  The most common HTTP request (and the one we will 
  65. focus on) uses the "GET" method. A client first sets up a 
  66. connection (usually through TCP [5]) to the target Web 
  67. server. Next, the client sends GET (the method) followed 
  68. by a series of definitions of what data formats it will 
  69. accept. The server processes the request and sends a 
  70. "meta-description" of the document to the client, followed 
  71. by the document itself. The document (also known as a 
  72. page) can be a variety of things. It can be a form, an 
  73. image, text, or a video or audio clip. After receiving the 
  74. information, the connection is closed. 
  75.  
  76.  What happens on the packet level with a Get Request? 
  77. Pamanabhan and Mogul [6] describe this in their study of 
  78. HTTP. The client opens the TCP connection, resulting in 
  79. an exchange of packets between client and server. That is 
  80. one round trip. The HTTP request is then sent and docu-
  81. ments received. This is the second round trip. For each 
  82. URL retrieved, there are two round trips between the cli-
  83. ent and server. 
  84.  
  85. WWW documents may contain "inline images". These are 
  86. images within a document. Web browsers process these 
  87. images in the following way. First, they send a GET 
  88. request for the document. Then they must send another 
  89. HTTP GET request for each unique image. Thus a docu-
  90. ment (also known as a page) will see 2n + 2 packet round 
  91. trips, where n is the number of unique images in that docu-
  92. ment. 
  93.  
  94.  This is only HTTP generated traffic. Another study of 
  95. Web traffic [7] notes that Domain Name Service [8] 
  96. (DNS) queries are also made on each HTTP request. A cli-
  97. ent needs to do a DNS name to address lookup on each 
  98. URL. It does this to obtain the network address of the 
  99. server it must access. The server, in turn, may look up the 
  100. name associated with the client's network address and 
  101. then look up the name to verify that the name is associated 
  102. with that network address. All three DNS requests can 
  103. result in packet round trips between the client network and 
  104. the server network. The following is a summary of the 
  105. steps in a single HTTP request:
  106.  
  107. 1. DNS name to address lookup.
  108.  
  109. 2. Connection set up.
  110.  
  111. 3. DNS address to name lookup.
  112.  
  113. 4. DNS name to address lookup.
  114.  
  115. 5. Send HTTP request and received page.
  116.  
  117.  Each of these can result in packet round trips. Some, like 
  118. steps 1, 4, and 5, can result in more than one packet round 
  119. trips. 
  120.  
  121.  What are typical WWW access patterns? We looked at 
  122. records of WWW activity at Intel over 32 weeks. The 
  123. most common type of document or object is the Graphic 
  124. Interchange Format [9] (GIF). This makes sense because 
  125. GIFs are used as inline images in Web documents. The 
  126. mean size of a GIF file is about 17005 bytes, and with a 
  127. median size of 4513 bytes. GIF files also generated most 
  128. of the WWW traffic into Intel, followed by MPEG files (a 
  129. video format). MPEG files averaged 609146 bytes in size. 
  130. This indicates a traffic distribution that is greatly skewed 
  131. between many small objects (GIFs) and a number of very 
  132. large objects (MPEG videos). 
  133.  
  134. 3.0    Traffic Issues
  135.  
  136. To discuss traffic issues, we need to define two terms - 
  137. bandwidth and latency. Bandwidth is the amount of data 
  138. that can be moved through a network link during a given 
  139. time. It is usually described in units of bits/second. 
  140. Latency is the time it takes data to travel from a given 
  141. point in a network to another given point in the network. It 
  142. is usually described in units of seconds or milliseconds. 
  143. The lower limit to any network latency is governed by the 
  144. speed of light. The network latency between San Fran-
  145. cisco and New York will never be less than 13.7 millisec-
  146. onds, now matter how big the network bandwidth on a 
  147. connection between the two cities. 
  148.  
  149.  One of the things that a first time Web user notices is that 
  150. when he clicks on an anchor (indicating a hypertext link), 
  151. he never knows how long it will take to load that page. 
  152. The page may be a short page, or it may be a long page 
  153. filled with in-lined images. This is because Web Page 
  154. authors rarely indicate the size of the page pointed to by 
  155. the anchor. Many WWW users find it disturbing when 
  156. they have to wait unpredictable amounts of time for pages 
  157. to load. From a network perspective, the result is also a 
  158. bursty unpredictable traffic mix. As described above, traf-
  159. fic varies between small objects (mostly) and very large 
  160. objects. 
  161.  
  162.  The HTTP protocol has a number of problems. It was 
  163. designed to be as stateless as possible. GET requests are 
  164. treated independently by an HTTP server. This makes 
  165. HTTP servers easier to write. Unfortunately, this also 
  166. brings in a number of inefficiences and leaves HTTP per-
  167. formance dependent on network latency. For each HTTP 
  168. request, a minimum of two round trips is necessary. With 
  169. worse case DNS lookups, up to five round trip times could 
  170. be needed for the HTTP request. Spero's analysis of HTTP 
  171. [10] concludes that the two Round Trip Times (RTT) form 
  172. the lower bound for the total transaction time of an HTTP 
  173. request. No matter how big the network bandwidth is 
  174. between client and server, the network latency between 
  175. client and server determines minimum time to process a 
  176. request. 
  177.  
  178.  Inline images make the problem even worse. For each 
  179. page with inline images, a separate HTTP request must be 
  180. made for the page and then for each unique image. Thus a 
  181. single document could have from 1 to any number of 
  182. HTTP requests associated with it. The minimum time to 
  183. load the document would be (2n + 2) * latency, where n is 
  184. the number images in the page. This can also be expressed 
  185. as (n + 1) * RTT. 
  186.  
  187.  A TCP feature called "slow-start" [11] causes inefficient 
  188. use of available network bandwidth. Slow start is a feature 
  189. of TCP that causes the amount of data sent to be small and 
  190. then increase. A TCP connection will first send a small 
  191. amount of data. As acknowledgements of packets come in, 
  192. the window gets bigger and bigger. Unfortunately, most 
  193. HTTP connections are very short lived. The most common 
  194. object is a GIF file (median size of 4513 bytes). Many 
  195. TCP connections used in HTTP will not be at full throttle 
  196. before they are terminated. 
  197.  
  198.  While GIFs generate the most traffic, MPEG video clips 
  199. generate the next most traffic. This skewing of traffic 
  200. between lots of small images and fewer but very large 
  201. video clips presents a difficult challenge for network 
  202. administrators. HTTP wants both low latency yet high 
  203. bandwidth networks. Network bandwidth can be increased 
  204. (often at very high cost), but there are absolute lower 
  205. bounds on latency. 
  206.  
  207.  A final inefficiency involves TCP protocol states on the 
  208. server. TCP specifications require that a system that has 
  209. closed a connection maintain connection information for 
  210. four minutes [5]. The large number of connections could 
  211. cause a server to have its connections table filled with 
  212. "TIME-WAIT" state connections.
  213.  
  214. 4.0    Proposed Solutions
  215.  
  216. The problems described above have been widely dis-
  217. cussed. A number of solutions have been proposed. This 
  218. section discusses the pro's and con's of a number of solu-
  219. tions.
  220.  
  221. 4.1    Be Careful and Smart with Cache
  222.  
  223.  This solution [7] proposes that Web page authors, Net-
  224. work administrators, and WWW browser authors do a 
  225. number of things to minimize the number of TCP connec-
  226. tions necessary and thus minimize transaction time. Web 
  227. authors can keep in-lined images to a minimum and make 
  228. pages that are cachable. Network administrators can set up 
  229. Proxy Caching Servers [12]. Proxy Caching Servers get 
  230. Web information on behalf of clients. They cache pages, 
  231. so that if a page or URL has been requested before, a client 
  232. can immediately get the cached page rather than waiting to 
  233. get it from the Internet. It is also a good idea to deploy 
  234. caching DNS servers on or near the caching servers. This 
  235. will reduce the latencies involved with DNS lookups. Web 
  236. Browsers can cache pages and images. Many browsers do 
  237. just that, reducing the amount of network traffic and time 
  238. needed to load a page. 
  239.  
  240.  These ideas have a number of benefits. They can be done 
  241. immediately and effectively with existing software and 
  242. protocols. There are a few drawbacks to consider. Caching 
  243. doesn't work for dynamically changing data like stock 
  244. quotes (stock quotes are a very popular use of WWW) 
  245. Also, these strategies don't address the fundamental prob-
  246. lems with HTTP. Items that are not cached will still be 
  247. affected by network latencies and will experience extra 
  248. delay caused by looking through a cache and going 
  249. through the proxy server. 
  250.  
  251. 4.2    Parallel GETs
  252.  
  253.  Another performance-enhancing tactic is for browsers to 
  254. send out GETs for inline images without waiting for the 
  255. initial GET to complete. The GETs are basically processed 
  256. in parallel as data comes in. This is a big advantage over 
  257. browsers that wait for each in-lined image to complete 
  258. before getting another one. But like the previous idea, it 
  259. doesn't deal with the fundamental problems of HTTP. 
  260. Total transaction time will still have a lower bound of (n + 
  261. 1)*RTT , where n is the number of images in a document. 
  262. In fact, it can make matters worse for Web servers and 
  263. proxy caching servers. Many server implementations 
  264. spawn a process for each URL. Instead of processes being 
  265. smoothly created one after another, large batches of pro-
  266. cesses are created almost simultaneously. This process 
  267. burstiness can really impact a server. 
  268.  
  269. 4.3    URNs
  270.  
  271.  Uniform Resource Names (URNs) [13] are constructs 
  272. under development by the Internet Engineering Task Force 
  273. (IETF). They are unique and permanently assigned names 
  274. for resources. URNs map to a number of URLs. A browser 
  275. or proxy server could permanently cache a number of 
  276. URNs. It potentially could look for and access the URL 
  277. that had the smallest network latency. 
  278.  
  279.  URNs are coming, and they will offer better caching per-
  280. formance. Still, for uncached URNs, the HTTP protocol 
  281. problems have not been solved. Doing the URN to URL 
  282. mappings will add latency to HTTP requests. Also, while 
  283. URNs are coming, the infrastructure for resolving URNs 
  284. is not yet available. 
  285.  
  286. 4.4    GETLIST and GETALL
  287.  
  288.  Pamanabhan and Mogul [6] propose two new methods. 
  289. GETLIST would get a list of URLs. GETALL would get 
  290. all the URLs (images) in-lined in a page. These two meth-
  291. ods solve the connection problem by transferring all the 
  292. needed URLs in one connection. If images were already 
  293. cached, the GETLIST method would be used to get only 
  294. the images needed. These two methods would create 
  295. longer lived connections and reduce both the number and 
  296. the relative cost of setting up a connection. Some draw-
  297. backs to this approach are that changes in existing WWW 
  298. servers and clients would have to be made. Also, adding 
  299. these commands would make clients and servers more 
  300. complex, as much more state would have to be managed. 
  301.  
  302. 4.5    HTTP Session Layer
  303.  
  304.  Spero [14] proposes adding a session layer to HTTP in a 
  305. new protocol called HTTP-NG (HTTP Next Generation). 
  306. This session layer would divide a connection into different 
  307. channels. Control messages (HTTP requests and meta-
  308. information) would flow over a control channel. As in the 
  309. previous suggestion, this proposal solves connection prob-
  310. lems by adding complexity and state to clients and servers. 
  311. There would also be issues with transition, although Spero 
  312. proposes a solution using intermediary proxy servers. 
  313. Other people are working on session layer based solutions 
  314. [15].
  315.  
  316. 4.6    MIME Multipart Documents
  317.  
  318.  HTTP wraps data objects in the MIME [16] multimedia 
  319. mail format. One suggestion for eliminating the multiple 
  320. connection problem is to transfer a document and all its 
  321. images in a multipart MIME type. This could be done in 
  322. one connection. This is an elegant solution, but like all the 
  323. solutions, it has a few drawbacks. While WWW servers 
  324. and browsers are already supposed to be capable of doing 
  325. this, few of the popular browsers and servers are. Two 
  326. other problems with this scheme need to be considered 
  327. [17]: (1) MIME encoding will roughly double the number 
  328. of bytes used sent and (2) by loading in a complete docu-
  329. ment, there is no way to stop already cached images or 
  330. documents from being reloaded (unlike the GETLIST/
  331. GETALL proposal).
  332.  
  333. 5.0    Conclusion
  334.  
  335. HTTP and patterns of World Wide Web use create a num-
  336. ber of challenges to network infrastructure. This paper has 
  337. covered WWW traffic patterns, the issues raised, and pos-
  338. sible solutions to those problems. Work on this issue is 
  339. ongoing. One of the best places to monitor WWW traffic 
  340. developments is on the Web itself. In particular, discus-
  341. sions on solving HTTP problems can be examined at the 
  342. HTTP-WG mail archives (URL http://www.ics.uic.edu/
  343. pub/ietf/http/hypermail).
  344.  
  345. 6.0    References
  346.  
  347. [1] Tim Berners-Lee, R. Cailiau, A. Luotonen, H. Nielsen, 
  348. and A. Secret. The World Wide Web. Communications 
  349. of the ACM. 37(8):76-82, August 1994. 
  350.  
  351. [2] Tony Rutkowski. Internet Traffic. URL ftp://
  352. ftp.isoc.gov/isoc/charts/traffic4.ppt, December 10, 
  353. 1994. 
  354.  
  355. [3] Tim Berners-Lee. Hypertext Transfer Protocol 
  356. (HTTP). Internet Draft draft-ietf-iir-http-00.txt, IETF. 
  357. Novermber, 1993. This is working draft. 
  358.  
  359. [4] T. Berners-Lee, L. Masinter & M. McCahill. Uniform 
  360. Resource Locators (URL). RFC 1738. December, 
  361. 1994. 
  362.  
  363. [5] Jon. B. Postel. Transmission Control Protocol. RFC 
  364. 793. September, 1981. 
  365.  
  366. [6] Venkata N. Padmanabhhan and Jeffrey C. Mogul. 
  367. Improving HTTP Latency. Proceedings of the Second 
  368. International World-Wide Web Conference, pages 995-
  369. 1005, Chicago, October 1994. 
  370.  
  371. [7] Jeff Sedayao. Mosaic will kill my Network! Proceed-
  372. ings of the Second International World-Wide Web Con-
  373. ference, pages 1029-1038. Chicago, October 1994. 
  374.  
  375. [8] P. Mockapetris. Domain names - concepts and facili-
  376. ties. RFC 1034. November 1987. 
  377.  
  378. [9] CompuServe, Incorporated. Graphic Interchange For-
  379. mat Standard. 1987. 
  380.  
  381. [10] Simon E. Spero. Analysis of HTTP Performance 
  382. Problems. URL http://elanor.oit.unc.edu/http-
  383. prob.html, July 1994. 
  384.  
  385. [11] Van Jacobsen. Congestion Avoidance and control. 
  386. Proceedings of SIGCOMM `88 Symposium on Com-
  387. munications Architectures and Protocols. pages 314-
  388. 329. Stanford, CA, August 1988. 
  389.  
  390.  [12] Kevin Altis and Ari Luotonen. World Wide Web 
  391. Proxies. Proceedings of the First International 
  392. World-Wide Web Conference. Geneva, April 1994. 
  393.  
  394.  [13] K. Sollins, L. Masinter. Functional Requirements for 
  395. Uniform Resource Names. RFC 1737. December 
  396. 1994. 
  397.  
  398.  [14] Simon E. Spero. Progress on HTTP-NG. URL http://
  399. www11.w3.org/hypertext/WWW/Protocols/HTTP-
  400. NG/http-ng-status.html. 
  401.  
  402.  [15] Dave Raggett. Minutes from the December 1994 San 
  403. Jose IETF (HTTP BOF). URL http://
  404. www.ics.uci.edu/pub/ietf/http/minutes-SJ.txt 
  405.  
  406.  [16] N. Borenstein and N. Feed. MIME (Multipurpose 
  407. Internet Mail Extensions) Part One: Mechanisms for 
  408. Specifying and Describing the Format of Internet 
  409. Message Bodies. RFC 1521. September 1993. 
  410.  
  411.  [17] Mitra. "Re: HTTP: T-T-T-Talking about MIME Gen-
  412. eration". URL http://www.ics.uci.edu/pub/ietf/http/
  413. hypermail/ 
  414.