The New Web: Characterizing AJAX Traffic Fabian Schneider fabian@net.t-labs.tu-berlin.de Sachin Agarwal Tansu Alpcan Anja Feldmann Technische Universtit¨ at Berlin Deutsche Telekom Laboratories Passive and Active Measurement Conference 2008/04/29 Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 1 / 16
Introduction AJAX AJAX vs. normal Web browsing Get requests (a) Classic User responses over HTTP Web browsing Browser Output Get reply Screen data over (DOM) Web- HTTP User server Web browser User Get requests (b) AJAX enabled responses over HTTP JavaScript Web browsing Browser Engine Output (Client side) Get reply Screen data over (DOM) Pre-fetch Web- HTTP server User Cache JavaScript-enabled-browser (e.g. Firefox, IE, Safari) Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 2 / 16
Introduction Motivation Motivation • Network traffic generation has to be realistic for networking experiments • Real-world traffic characteristics change with the applications used • Need to check if traffic models are still applicable, on a regular basis ⇒ Do new Web applications change the characteristics? • We picked four popular representative of AJAX apps and studied their traffic: • Google Maps • Google Mail • gmx.de (popular German webmailer) • lokalisten.de (popular German social network) Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 3 / 16
Introduction Outline Outline 1 How AJAX applications work 2 Analysis approach 3 Measurement results 4 Conclusions Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 4 / 16
How AJAX applications work Google Maps internals A brief overview of Google Maps internals Google Maps . . . • Is an AJAX application • Prefetches tiles • Opens multiple TCP connections to various different servers • Uses Cookies to identify users • Transfers data via persistent and pipelined HTTP Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 5 / 16
How AJAX applications work Google Maps internals Challenges of identifying Google Maps related traffic Identifying Google Maps related traffic by: • Server IP’s: not precise enough • Server name: very costly • URL prefix: good enough " / " (general) " /kh " (satellite) " /maps " (meta) " /mt " (map) " /mapfiles " (meta) " /mld " (route planning) " /intl " (meta) " /mapstt " (traffic) " /favicon.ico " (general) Table: URL prefixes used in Google Maps requests. We found similar methodologies for the other three AJAX applications. Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 6 / 16
Analysis approach Traces Trace-based analysis • Three HTTP (Port 80) full packet traces: MWN-05 1 : Munich, 2.5 TB, 24 h, weekday MWN-07: Munich, 2.4 TB, 32 h, weekend LBNL-07: Berkeley, 214 GB, 9h, weekday • Two environments: • Large scientific user populations, including student housing • High bandwidth internet access • Analysis Procedure: • Bro for TCP stream reassembly and HTTP protocol analysis • Extract one-line summaries per HTTP request/reply pair 1 Google Maps started in 2005 nine month before the trace Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 7 / 16
Analysis approach Selecting AJAX traffic Selecting AJAX traffic • Identifying the complete AJAX-based traffic is not possible by looking a the request/response stream only • Need to chose Web applications that are AJAX-enabled • We chose the 4 most popular AJAX applications that we found in our traces: • Google Maps • Google Mail All-HTTP • gmx.de (popular German webmailer) • lokalisten.de (popular German social network) Our 4 AJAX • Compare AJAX vs. All-HTTP traffic apps Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 8 / 16
Measurement results Results Results • Parameters studied (more in paper): • Number of bytes transfered (HTTP payload) • Number of HTTP requests • Inter-request-times • Reported results are consistent over all data sets • Results presented as CCDF and PDF • Colors used: red/pink All-HTTP green Google Maps Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 9 / 16
Measurement results Bytes per connection (HTTP payload) Bytes per connection (HTTP payload) All-HTTP: 90% of the 100% Connections transfer less P[HTTP payload data [bytes] > u] 10% than ~45k 1% 0 . 1% MWN−07 All−HTTP 0 . 01% 0 . 001% 1 10 100 1K 10K 100K 1M 10M 100M u [bytes] Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 10 / 16
Measurement results Bytes per connection (HTTP payload) Bytes per connection (HTTP payload) AJAX Apps: 100% most connections transfer more bytes P[HTTP payload data [bytes] > u] than ALL-HTTP 10% 1% All-HTTP: largest 0 . 1% MWN−07 All−HTTP connections MWN−07 Google Maps transfer an 0 . 01% MWN−07 Google Mail order of MWN−07 GMX magnitude MWN−07 lokalisten 0 . 001% more bytes 1 10 100 1K 10K 100K 1M 10M 100M u [bytes] Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 10 / 16
Measurement results Session Tracking Session Tracking • Session: set of connections related to a user browsing on a webpage • AJAX traffic: • Track the cookie of connections to the entry pages • Connections with the same user identification cookie are grouped into a session • All-HTTP traffic: • All connections where the 3-tuple (server IP, server Port, client IP) is identical are group into a session • For both All-HTTP and AJAX sessions, an inactivity timeout of 10 minutes was applied Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 11 / 16
Measurement results Bytes per session (HTTP payload) Bytes per session (HTTP payload) 0.25 0.25 MWN−07 All−HTTP MWN−07 Google Maps MWN−07 Remaining 3 0.20 0.20 PDF with logarithmic x-axis: 0.15 0.15 probability interprete as smoothed histogram with logarithmic bin sizes 0.10 0.10 0.05 0.05 10kB 0.0 0.0 1 1 10 10 100 100 1K 1K 10K 10K 100K 100K 1M 1M 10M 100M 10M 100M 1G 1G HTTP payload data [bytes] Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 12 / 16
Measurement results Bytes per session (HTTP payload) Bytes per session (HTTP payload) 0.25 0.25 MWN−07 All−HTTP MWN−07 Google Maps MWN−07 Remaining 3 0.20 0.20 AJAX Apps: 0.15 0.15 probability transfer more 0.10 0.10 bytes per session 0.05 0.05 10kB 0.0 0.0 1 1 10 10 100 100 1K 1K 10K 100K 10K 100K 1M 1M 10M 100M 10M 100M 1G 1G HTTP payload data [bytes] Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 12 / 16
Measurement results Requests per session Requests per session All-HTTP: significantly less requests per session CCDF 100% 10% P[#HTTP requests > u] 1% 0 . 1% MWN−07 All−HTTP MWN−07 Google Maps 0 . 01% MWN−07 Google Mail MWN−07 GMX 0 . 001% MWN−07 lokalisten.de 1 10 100 1K 10K u [#requests] Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 13 / 16
Measurement results Requests per session Requests per session All-HTTP: significantly less requests per session CCDF PDF 100% MWN−07 All−HTTP 0.6 0.6 MWN−07 Google Maps 10% MWN−07 Remaining 3 P[#HTTP requests > u] LBNL−07 Google Maps 0.4 0.4 probability 1% 0 . 1% MWN−07 All−HTTP 0.2 0.2 MWN−07 Google Maps 0 . 01% MWN−07 Google Mail MWN−07 GMX 0 . 001% MWN−07 lokalisten.de 0.0 0.0 1 10 100 1K 10K 1 1 10 10 100 100 1K 1K 10K 10K u [#requests] #HTTP requests All-HTTP: 50% of the sessions consist of only two requests Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 13 / 16
Measurement results Inter-Request-Times Inter-Request-Times Automated User induced MWN−07 All−HTTP 0.20 0.20 MWN−05 All−HTTP MWN−07 Google Maps LBNL−07 Google Maps 0.15 0.15 probability 0.10 0.10 0.05 0.05 1sec 0.0 0.0 1 µ s 1 µ s 10 µ s 10 µ s 100 µ s 100 µ s 1ms 1ms 10ms 10ms 100ms 100ms 1s 1s 10s 10s 100s 100s 1000s 1000s inter request times Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 14 / 16
Measurement results Inter-Request-Times Inter-Request-Times Automated User induced MWN−07 All−HTTP 0.20 0.20 MWN−05 All−HTTP MWN−07 Google Maps LBNL−07 Google Maps 0.15 0.15 AJAX Apps: probability AJAX Apps: shift 0.10 0.10 reduction of towards user induced automated requests requests 0.05 0.05 1sec 0.0 0.0 1 µ s 1 µ s 10 µ s 10 µ s 100 µ s 1ms 100 µ s 1ms 10ms 10ms 100ms 100ms 1s 1s 10s 10s 100s 100s 1000s 1000s inter request times Fabian Schneider (TU Berlin/DT Labs) The New Web: Characterizing AJAX Traffic PAM 2008 14 / 16
Recommend
More recommend