From Traffic Measurement to From Traffic Measurement to Realistic Workload Generation Realistic Workload Generation Felix Hernandez- -Campos Campos Felix Hernandez Ph. D. Candidate Ph. D. Candidate Dept. of Computer Science Dept. of Computer Science Univ. of North Carolina at Chapel Hill Univ. of North Carolina at Chapel Hill Joint work with Joint work with F. Donelson Smith and Kevin Jeffay F. Donelson Smith and Kevin Jeffay WISP November 12, 2004 WISP November 12, 2004
Problem Formulation Problem Formulation • Evaluating network protocols and mechanisms Evaluating network protocols and mechanisms • requires careful experimentation requires careful experimentation • A critical element of these experiments is the traffic A critical element of these experiments is the traffic • workload workload – What is a What is a realistic realistic workload? workload? – • Given a packet header trace Given a packet header trace T T , extract a set of , extract a set of • features that describes the traffic, and regenerate this features that describes the traffic, and regenerate this * T * traffic accordingly, collecting a new trace T traffic accordingly, collecting a new trace * are T * – What kind of analysis will demonstrate that What kind of analysis will demonstrate that T T and and T are – close enough ? ? close enough 2 2
Testbed Example Example Testbed 100 1000 1000 1000 100 100 1000 1000 1000 100 Mbps Mbps Mbps Mbps Mbps Mbps Mbps Mbps Mbps Mbps Ethernet Ethernet Ethernet Switch Switch Switch Router Router Router Router Traffic Traffic Traffic Traffic Generators Generators Generators Generators • Make generated traffic look like UNC edge link Make generated traffic look like UNC edge link • – Evaluate accuracy and impact of available bandwidth Evaluate accuracy and impact of available bandwidth – estimation techniques estimation techniques – Evaluate performance and impact of high Evaluate performance and impact of high- -speed TCP speed TCP – flavors flavors 3 3
Traffic Generation Traffic Generation State- -of of- -the the- -Art Art State • Open Open- -loop loop • – Large number of sophisticated models Large number of sophisticated models – » Packet Packet- -level modeling level modeling » – But TCP is a closed But TCP is a closed- -loop protocol loop protocol – » Open Open- -loop traffic generation breaks reliability, flow loop traffic generation breaks reliability, flow » control, and congestion control control, and congestion control • Closed Closed- -loop loop • – The idea is to simulate the behavior of The idea is to simulate the behavior of – users/applications users/applications » Source Source- -level modeling level modeling » * = T * » T T = = f(S) f(S) and and T = g(S) g(S) => study => study S S , , f f and and g g » 4 4
Different Views of Internet Traffic Different Views of Internet Traffic Abstract Source- -level Modeling level Modeling Abstract Source UNC Internet Aggregate Packet Arrival Level time Per-Flow Filtering Single-Flow Packet Arrivals DATA DATA DATA DATA Abstract from UNC from Internet UNC from Inet Our Approach Source Level 2,500 bytes 4,800 bytes 800 b 1,800 b Request URL HTML Source Req. Image Application Level ( e.g. , web traffic) 5 5
Client- -Server Applications Server Applications Client Persistent HTTP Example Persistent HTTP Example Epoch 1 Epoch 2 Epoch 3 HTTP HTTP HTTP Request 3 Request 2 Request 1 TIME 329 b 356 b BROWSER 403 b 329 b 403 b 356 b 0.12 3.12 secs secs SERVER 803 b 25,821 b 1,198 b 803 b 25,821 b 1,198 b HTTP HTTP HTTP Response 1 Response 2 Response 3 Document 1 Document 2 • We call pairs of We call pairs of ADUs ADUs that carry a request/response that carry a request/response • exchange an epoch epoch exchange an • Quiet times Quiet times are also part of the workload of TCP are also part of the workload of TCP • 6 6
Client- -Server Applications Server Applications Client SMTP and NNTP Examples SMTP and NNTP Examples Email HELO MAIL RCPT DATA Message SMTP 77 b 75b 6b 22,568 b 32 b 77 b 75b 6b 22,568 b 32 b TIME SENDER SMTP 44b 44b 93 b 191 b 59b 38b 50b 93 b 191 b 59b 38b 50b RECEIVER 250 Ok 220 Host 250 Domain 250 Ok 250 Ok 250 Ok Info Info MODE GROUP GROUP READER unc.help unc.test XOVER ARTICLE n NNTP 5.02 secs TIME 13 b 19 b 15 b 15 b 13 b 19 b 15 b 15 b 12 b 12 b READER NNTP 1056 bytes 53 b 42 b 42 b 32 b 32 b 1056 bytes 53 b 42 b 42 b 32 b 32 b SERVER 200 News unc.support 224 data 220 n < id1 > article Srv 5.7b1 status [ header n ] retrieved [ article ] 200 News unccs.test Service status 7 7
Sequential A- -b b- -t Model t Model Sequential A • Abstract source Abstract source- -level model for describing the level model for describing the • workload of TCP connections workload of TCP connections • Each connection is summarized using a Each connection is summarized using a connection connection • ≥ 1 n ≥ vector of the form of the form C C i = ( e e 1 , e e 2 ,…, e e n ) with n 1 vector i = ( 1 , 2 ,…, n ) with epochs epochs – Each epoch has the form Each epoch has the form e e j = ( a a j , ta ta j , b b j , tb tb j ) – j = ( j , j , j , j ) • Connection vectors can be extracted from TCP Connection vectors can be extracted from TCP • segment header traces segment header traces – Sequence number directionality, timing analysis, write size Sequence number directionality, timing analysis, write size – and packet size interactions and packet size interactions – O O ( ( n log n n log n ) + ) + O O ( ( n n * * W W ) ) – 8 8
Beyond the Client- -Server Model Server Model Beyond the Client Icecast – – Internet Radio Internet Radio Icecast Request 100 105 48 21 100 34 108 msecs. msecs. ms. ms. msecs. ms. msecs. TIME 392b 392b PLAYER SERVER 1671b 217b 1253b 1686b 432b 863b 863b 2442b 436b 1671b 217b 1253b 1686b 432b 2442b 436b Audio Frames • Server PUSH applications do not follow the Server PUSH applications do not follow the • traditional client- -server model server model traditional client • The sequential a The sequential a- -b b- -t model is still applicable t model is still applicable • – Make Make a a i and tb tb i zero – i and i zero 9 9
Beyond the Client- -Server Model Server Model Beyond the Client NNTP in Stream- -Mode and Mode and BitTorrent BitTorrent NNTP in Stream CHECK CHECK < id2 > < id4 > MODE CHECK CHECK TAKETHIS < id2 > STREAM < id1 > < id3 > [ article ] NNTP 13 b 41 b 41 b 43 b 41 b 15,678 bytes 13 b 41 b 41 b 43 b 41 b 15,678 bytes PEER NNTP TIME 52 b 43 b 49 b 42 b 51 b 49 b 52 b 43 b 49 b 42 b 51 b 49 b PEER 201 Server 203 438 238 438 438 Ready StreamOK don’t send don’t don’t send < id2 > send send < id1 > < id3 > < id4 > BitTorrent Unchoke Request Piece Piece Piece Piece Protocol Bitfield Interested Piece m i j k l 68 b 657 b 17b 5b 16397 b 16397 b 68 b 657 b 5b 16397 b 16397 b 17b 5b 16397 b 16397 b 5b 16397 b 16397 b PEER A TIME PEER B 68 b 657 b 5b 17b 17b 17b 17b 16397 b 68 b 657 b 5b 17b 17b 17b 17b 16397 b BitTorrent Interested Request Request Piece Protocol Piece j Piece k m Bitfield Request Request Piece i Piece l 10 10
Concurrent A- -b b- -t Model t Model Concurrent A • Some connections are said to exhibit Some connections are said to exhibit data exchange data exchange • concurrency concurrency • Two reasons: Two reasons: • – Increasing performance Increasing performance – – Enabling natural concurrency Enabling natural concurrency – • Concurrent a Concurrent a- -b b- -t model describes each side of the t model describes each side of the • connection separately connection separately (( a a 1 , ta ta 1 ), ( a a 2 , ta ta 2 ),…, ( a a n , ta ta n )) (( 1 , 1 ), ( 2 , 2 ),…, ( n , n )) (( b b 1 , tb tb 1 ), ( b b 2 , tb tb 2 ),…, ( b b m , tb tb m )) (( 1 , 1 ), ( 2 , 2 ),…, ( m , m )) • Concurrency can be detected with high probability Concurrency can be detected with high probability • – p.seqno p.seqno > > q.ackno q.ackno and and q.seqno q.seqno > > p.ackno p.ackno – – O( O( n n * * W W ) ) – 11 11
12 12
Source- -Level Trace Replay Level Trace Replay Source Traffic Generation in Lab Testbed Testbed Traffic Generation in Lab Anonymized Packet Source-level Trace: Processing Header Trace Set of Connection Vectors Source-level Performance Workload Partitioning Metrics TESTBED Traffic Traffic Generators Generators Synthetic Packet Header Trace 13 13
14 14
15 15
Recommend
More recommend