Web page – Html –base file – Objects (first DNS) First get html file Then browser reads the html and gets the objects
Tcp: syn Tcp: syn+ack Tcp: ack Google server laptop Tcp: http: request GET / Tcp: ack Tcp: http: reply Tcp: ack Have html, detect URLs to 2 jpeg Persistent Non- persistent -Serial -Parallel
Tcp: syn Tcp: syn+ack Tcp: ack Google server laptop Tcp: http: request GET / Tcp: ack Tcp: http: reply Tcp: ack Get html with URLs to 2 jpeg Persistent Non- persistent -Serial -Parallel
Tcp: syn Tcp: syn+ack Tcp: ack Google server laptop Tcp: http: request GET / Tcp: ack Tcp: http: reply Tcp: ack Got html with URLs to 2 jpeg Persistent – keep the TCP connection open after getting an object Non- persistent -Serial -Parallel Assume jpeg are on the same server Tcp: ack Tcp: data Cwnd=1*MSS Cwnd=2*MSS Cwnd=4*MSS Slow start Cwnd ++ for each ack Tcp: http: request GET /pic1.jpeg Tcp: http: request GET /pic2.jpeg
Tcp: syn Tcp: syn+ack Tcp: ack Google server laptop Tcp: http: request GET / Tcp: ack Tcp: http: reply Tcp: ack Got html with URLs to 2 jpeg Persistent – keep the TCP connection open after getting an object Non- persistent -Serial -Parallel Assume jpeg are on the same server Tcp: ack Tcp: data Cwnd=1*MSS Cwnd=2*MSS Cwnd=4*MSS Slow start Cwnd ++ for each ack Tcp: http: request GET /pic1.jpeg Tcp: http: request GET /pic2.jpeg Got Tcp: data Got 4RTT to get web page
Tcp: syn Tcp: syn+ack Tcp: ack Google server laptop Tcp: http: request GET / Tcp: ack Tcp: http: reply Got html with URLs to 2 jpeg Non- persistent -Serial -Parallel Assume jpeg are on the same server Tcp: ack Tcp: data Tcp: http: request GET /pic1.jpeg Tcp: http: request GET /pic2.jpeg Got Tcp: data Got 6RTT to get web page Tcp: syn Tcp: syn+ack Tcp: ack Tcp: syn Tcp: syn+ack Tcp: ack Assume DNS cache have all ip addresses
Tcp: syn Tcp: syn+ack Tcp: ack Google server laptop Tcp: http: request GET / Tcp: ack Tcp: http: reply Got html with URLs to 2 jpeg Non- persistent -Serial -Parallel Assume jpeg are on the same server Tcp: ack Tcp: data Tcp: http: request GET /pic1.jpeg Tcp: http: request GET /pic2.jpeg Got Tcp: data Got 4RTT to get web page Tcp: syn Tcp: syn+ack Tcp: ack Tcp: syn Tcp: syn+ack Tcp: ack Assume DNS cache have all ip addresses
Tcp: syn Tcp: syn+ack Tcp: ack Google server laptop Tcp: http: request GET / Tcp: ack Tcp: http: reply Got html with URLs to 2 jpeg Non- persistent -Serial -Parallel Assume jpeg are on the same server Tcp: ack Tcp: data Tcp: http: request GET /pic1.jpeg Tcp: http: request GET /pic2.jpeg Got Tcp: data Got 2RTTg + max(2RTTg, 2RTTf) Tcp: syn Tcp: syn+ack Tcp: ack Tcp: syn Tcp: syn+ack Tcp: ack RTTg RTTf How long until something appears on the browser? = 2RTTg Assume DNS cache have all ip addresses
Tcp: syn Tcp: syn+ack Tcp: ack Google server laptop Tcp: http: request GET / Tcp: ack Tcp: http: reply Got html with URLs to 2 jpeg Non- persistent -Serial -Parallel Assume jpeg are on the same server Tcp: ack Tcp: data Tcp: http: request GET /pic1.jpeg Tcp: http: request GET /pic2.jpeg Got Tcp: data Got 2RTTg + max(2RTTg, 2RTTf) Tcp: syn Tcp: syn+ack Tcp: ack Tcp: syn Tcp: syn+ack Tcp: ack RTTg RTTf How long until something appears on the browser? = 2RTTg DNS is empty DNS = 3RTT (root+TLD+google) DNS = 2RTT (TLD+facebook)
Tcp: syn Tcp: syn+ack Tcp: ack Google server laptop Tcp: http: request GET / Tcp: ack Tcp: http: reply Got html with URLs to 2 jpeg pic.google.com/pic1.jpeg Non- persistent -Serial -Parallel Assume jpeg are on the same server Tcp: ack Tcp: data Tcp: http: request GET /pic1.jpeg Tcp: http: request GET /pic2.jpeg Got Tcp: data Got 3RTT + 2RTT + 2RTT + 2RTT Tcp: syn Tcp: syn+ack Tcp: ack Tcp: syn Tcp: syn+ack Tcp: ack RTT RTTf DNS cache is empty DNS = 3RTT (root+TLD+google) DNS = 2RTT (TLD+facebook) DNS =1RTT (google) 1 st DNS Base html DNS for Get
Tcp: syn Tcp: syn+ack Tcp: ack Google server laptop Tcp: http: request GET / Tcp: ack Tcp: http: reply Got html with URLs to 2 jpeg pic.google.com/pic1.jpeg Non- persistent -Serial -Parallel Assume jpeg are on the same server Tcp: ack Tcp: data Tcp: http: request GET /pic1.jpeg Tcp: http: request GET /pic2.jpeg Got Tcp: data Got RTTroot + RTTtld + RTTg + 2RTTg + max( RTTtld + RTTf + 2RTTf, RTTg + 2RTTg) Tcp: syn Tcp: syn+ack Tcp: ack Tcp: syn Tcp: syn+ack Tcp: ack RTT RTTf DNS cache is empty DNS = 3RTT (root+TLD+google) DNS = 2RTT (TLD+facebook) DNS =1RTT (google) 1 st DNS Base html DNS for Get