Download presentation
Presentation is loading. Please wait.
Published byMarilynn Allen Modified over 8 years ago
1
“Real” Internet delays and routes What do “real” Internet delay & loss look like? Traceroute program: provides delay measurement from source to router along end-end Internet path towards destination. For all i: sends three packets that will reach router i on path towards destination router i will return packets to sender sender times interval between transmission and reply. 3 probes
2
“Real” Internet delays and routes 1 1890mpl-idf-vln-122.northwestern.edu (129.105.100.1) 0.287 ms 0.211 ms 0.193 ms 2 lev-mdf-6-vln-54.northwestern.edu (129.105.253.53) 0.431 ms 0.315 ms 0.321 ms 3 abbt-mdf-1-vln-902.northwestern.edu (129.105.253.222) 0.991 ms 0.950 ms 1.151 ms 4 abbt-mdf-4-ge-0-1-0.northwestern.edu (129.105.253.22) 1.659 ms 1.255 ms 1.520 ms 5 starlight-lsd6509.northwestern.edu (199.249.169.6) 1.713 ms 1.368 ms 1.278 ms 6 206.220.240.154 (206.220.240.154) 1.284 ms 1.204 ms 1.279 ms 7 206.220.240.105 (206.220.240.105) 2.892 ms 2.003 ms 2.808 ms 8 202.112.61.5 (202.112.61.5) 116.475 ms 196.663 ms 241.792 ms 9 sl-gw25-stk-1-2.sprintlink.net (144.223.71.221) 145.502 ms 150.033 ms 151.715 ms 10 sl-bb21-stk-8-1.sprintlink.net (144.232.4.225) 166.762 ms 177.180 ms 166.235 ms 11 sl-bb21-hk-2-0.sprintlink.net (144.232.20.28) 331.858 ms 340.613 ms 346.332 ms 12 sl-gw10-hk-14-0.sprintlink.net (203.222.38.38) 346.842 ms 356.915 ms 366.916 ms 13 sla-cent-3-0.sprintlink.net (203.222.39.158) 482.426 ms 495.908 ms 509.712 ms 14 202.112.61.193 (202.112.61.193) 515.548 ms 501.186 ms 509.868 ms 15 202.112.36.226 (202.112.36.226) 537.994 ms 561.658 ms 541.695 ms 16 shnj4.cernet.net (202.112.46.78) 451.750 ms 263.390 ms 342.306 ms 17 hzsh3.cernet.net (202.112.46.134) 349.855 ms 366.082 ms 380.849 ms 18 zjufw.zju.edu.cn (210.32.156.130) 350.693 ms 394.553 ms 366.636 ms 19 * * * 20 * * * 21 www.zju.edu.cn (210.32.0.9) 353.623 ms 397.532 ms 396.326 ms traceroute: zappa.cs.nwu.edu to www.zju.edu.cn Three delay measements from Zappa.cs.cs.nwu.edu to 1890mpl-idf-vln-122.northwestern.edu * means no reponse (probe lost, router not replying) trans-oceanic link
3
Packet loss queue (aka buffer) preceding link in buffer has finite capacity packet arriving to full queue dropped (aka lost) lost packet may be retransmitted by previous node, by source end system, or not at all A B packet being transmitted packet arriving to full buffer is lost buffer (waiting area)
4
Throughput throughput: rate (bits/time unit) at which bits transferred between sender/receiver instantaneous: rate at given point in time average: rate over longer period of time server, with file of F bits to send to client link capacity R s bits/sec link capacity R c bits/sec server sends bits (fluid) into pipe pipe that can carry fluid at rate R s bits/sec) pipe that can carry fluid at rate R c bits/sec)
5
Throughput (more) R s < R c What is average end-end throughput? R s bits/sec R c bits/sec R s > R c What is average end-end throughput? R s bits/sec R c bits/sec link on end-end path that constrains end-end throughput bottleneck link
6
Throughput: Internet scenario 10 connections (fairly) share backbone bottleneck link R bits/sec RsRs RsRs RsRs RcRc RcRc RcRc R per-connection end-end throughput: min(R c,R s,R/10) in practice: R c or R s is often bottleneck
7
Protocol “Layers” Networks are complex! r many “pieces”: m hosts m routers m links of various media m applications m protocols m hardware, software Question: Is there any hope of organizing structure of network? Or at least our discussion of networks?
8
Why layering? Dealing with complex systems: r Explicit structure allows identification, relationship of complex system’s pieces m layered reference model for discussion r Modularization eases maintenance, updating of system m change of implementation of layer’s service transparent to rest of system m e.g., change in gate procedure doesn’t affect rest of system r Layering considered harmful?
9
Internet protocol stack r application: supporting network applications m FTP, SMTP, HTTP r transport: host-host data transfer m TCP, UDP r network: routing of datagrams from source to destination m IP, routing protocols r link: data transfer between neighboring network elements m PPP, Ethernet r physical: bits “on the wire” application transport network link physical
10
Layering: logical communication application transport network link physical application transport network link physical application transport network link physical application transport network link physical network link physical Each layer: r distributed r “entities” implement layer functions at each node r entities perform actions, exchange messages with peers
11
Layering: logical communication application transport network link physical application transport network link physical application transport network link physical application transport network link physical network link physical data E.g.: transport r take data from app r add addressing, reliability check info to form “datagram” r send datagram to peer r wait for peer to ack receipt r analogy: post office data transport ack
12
Layering: physical communication application transport network link physical application transport network link physical application transport network link physical application transport network link physical network link physical data
13
Protocol layering and data Each layer takes data from above r adds header information to create new data unit r passes new data unit to layer below application transport network link physical application transport network link physical source destination M M M M H t H t H n H t H n H l M M M M H t H t H n H t H n H l message segment datagram frame
14
Summary r Network access and physical media r Internet structure and ISPs r Delay & loss in packet-switched networks r Protocol layers, service models r More depth, detail to follow!
15
Application Layer Our goals: r conceptual, implementation aspects of network application protocols m transport-layer service models m client-server paradigm m peer-to-peer paradigm r learn about protocols by examining popular application-level protocols m HTTP m FTP m SMTP / POP3 / IMAP m DNS r programming network applications m socket API
16
Some network apps r e-mail r web r instant messaging r remote login r P2P file sharing r multi-user network games r streaming stored video (YouTube) r voice over IP r real-time video conferencing r cloud computing r … r
17
Creating a network app write programs that m run on (different) end systems m communicate over network m e.g., web server software communicates with browser software No need to write software for network-core devices m network-core devices do not run user applications m applications on end systems allows for rapid app development, propagation application transport network data link physical application transport network data link physical application transport network data link physical
18
18 Outline r Principles of network applications m App architectures m App requirements r Web and HTTP r FTP
19
19 Application architectures r Client-server r Peer-to-peer (P2P) r Hybrid of client-server and P2P
20
Client-server architecture server: m always-on host m permanent IP address m server farms for scaling clients: m communicate with server m may be intermittently connected m may have dynamic IP addresses m do not communicate directly with each other client/server
21
Pure P2P architecture r no always-on server r arbitrary end systems directly communicate r peers are intermittently connected and change IP addresses highly scalable but difficult to manage peer-peer 21
22
Hybrid of client-server and P2P Skype m voice-over-IP P2P application m centralized server: finding address of remote party: m client-client connection: direct (not through server) Instant messaging m chatting between two users is P2P m centralized service: client presence detection/location user registers its IP address with central server when it comes online user contacts central server to find IP addresses of buddies 22
23
23 Outline r Principles of network applications m App architectures m App requirements r Web and HTTP r FTP
24
24 Processes communicating Process: program running within a host. r within same host, two processes communicate using inter-process communication (defined by OS). r processes in different hosts communicate by exchanging messages Client process: process that initiates communication Server process: process that waits to be contacted r Note: applications with P2P architectures have client processes & server processes
25
25 Sockets r process sends/receives messages to/from its socket r socket analogous to door m sending process shoves message out door m sending process relies on transport infrastructure on other side of door which brings message to socket at receiving process process TCP with buffers, variables socket host or server process TCP with buffers, variables socket host or server Internet controlled by OS controlled by app developer r API: (1) choice of transport protocol; (2) ability to fix a few parameters (lots more on this later)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.