310 likes | 429 Views
Chapter 1 Review. Csc4220/6220 Computer Networks Instructor: Akshaye Dhawan. Network Core. 2 ways of transferring data thru the core: a. Circuit Switching b. Packet Switching Circuit Switching : Dedicated resources per ‘call’. How do we divide resources? a. TDM b. FDM. Example:.
E N D
Chapter 1 Review Csc4220/6220 Computer Networks Instructor: Akshaye Dhawan
Network Core • 2 ways of transferring data thru the core: a. Circuit Switching b. Packet Switching • Circuit Switching : Dedicated resources per ‘call’. How do we divide resources? a. TDM b. FDM
Example: 4 users FDM frequency time TDM frequency time Circuit Switching: FDM and TDM
Packet Switching • Resources shared as needed • aka. Statistical multiplexing • Advantages: 1. More users 2. Great for bursty traffic patterns • Disadvantage: No guarantees. Congestion issues.
Packet-switching: store-and-forward L R R R • Takes L/R seconds to transmit (push out) packet of L bits on to link or R bps • Entire packet must arrive at router before it can be transmitted on next link: store and forward • delay = 3L/R Example: • L = 7.5 Mbits • R = 1.5 Mbps • delay = 15 sec
Network Taxonomy Packet-switched networks Circuit-switched networks FDM TDM Datagram Networks Networks with VCs Telecommunication networks • Datagram network is not either connection-oriented • or connectionless. • Internet provides both connection-oriented (TCP) and • connectionless services (UDP) to apps.
Access Networks and Physical Media • Dialup • ADSL – Asymmetric. Why? • Still use phone line. Distance between ISP and user reduced. • Coaxial cable • LAN’s • Wireless LAN’s
Physical Media • Twisted Pair • Coaxial Cable • Fiber • Radio • ISP structuring model
transmission A propagation B nodal processing queueing Delays • 1. nodal processing: • check bit errors • determine output link • 2. queueing • time waiting at output link for transmission • depends on congestion level of router
transmission A propagation B nodal processing queueing 4. Propagation delay: • d = length of physical link • s = propagation speed in medium (~2x108 m/sec) • propagation delay = d/s 3. Transmission delay: • R=link bandwidth (bps) • L=packet length (bits) • time to send bits into link = L/R Note: s and R are very different quantities!
Total delay • dproc = processing delay • typically a few microsecs or less • dqueue = queuing delay • depends on congestion • dtrans = transmission delay • = L/R, significant for low-speed links • dprop = propagation delay • a few microsecs to hundreds of msecs
Queuing delay • R=link bandwidth (bps) • L=packet length (bits) • a=average packet arrival rate traffic intensity = La/R • La/R ~ 0: average queueing delay small • La/R -> 1: delays become large • La/R > 1: more “work” arriving than can be serviced, average delay infinite!
application transport network link physical Internet protocol stack • application: supporting network applications • FTP, SMTP, STTP • transport: host-host data transfer • TCP, UDP • network: routing of datagrams from source to destination • IP, routing protocols • link: data transfer between neighboring network elements • PPP, Ethernet • physical: bits “on the wire”
Architectures for Applications • Client-server • Peer-to-peer (P2P) • Hybrid of client-server and P2P
Socket Model • process sends/receives messages to/from its socket • socket analogous to door • sending process shoves message out door • sending process relies on transport infrastructure on other side of door which brings message to socket at receiving process Addressing needs: IP address (host) + Port (process)
Main services needed from Transport Layer • Data Loss • Timing • Band Width
Internet transport protocols services UDP service: • unreliable data transfer between sending and receiving process • does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee Q: why bother? Why is there a UDP? TCP service: • connection-oriented: setup required between client and server processes • reliable transport between sending and receiving process • flow control: sender won’t overwhelm receiver • congestion control: throttle sender when network overloaded • does not provide: timing, minimum bandwidth guarantees
HTTP • Non Persistent -At most one object is sent over a TCP connection. • Persistent - Multiple objects can be sent over single TCP connection between client and server. Persistent without pipelining: • client issues new request only when previous response has been received • one RTT for each referenced object Persistent with pipelining: • default in HTTP/1.1 • client sends requests as soon as it encounters a referenced object • as little as one RTT for all the referenced objects
HTTP contd • Packet Types (Request, Response) • Methods (GET, POST etc.) • Response codes
Add ons • Cookies • Way of adding some ‘state’ • Advantages? • Disadvantages/Concerns?
Caching • How to cache? • Why should we cache? • Caching issues. Keeping cache coherent? (Conditional GET) origin server Proxy server HTTP request HTTP request client HTTP response HTTP response HTTP request HTTP response client origin server
Email • User agents • Mail servers • SMTP – steps, contrast with HTTP • SMTP Headers • MIME
Mail access protocols • POP – download and keep • POP – download and delete • POP Is stateless across sessions • IMAP – everything organized and stored at server. • Keeps state across sessions
DNS • Name -> IP address mapping • What other services? • Model: Distributed Hierarchical
Root DNS Servers org DNS servers edu DNS servers com DNS servers poly.edu DNS servers umass.edu DNS servers pbs.org DNS servers yahoo.com DNS servers amazon.com DNS servers Distributed, Hierarchical Database
Structure • Root servers • TLD servers • Authoritative servers. • Also, Local Name Server
Querying root DNS server 2 • Iterative • Recursive • DNS caching, updating cache (TTL) 3 TLD DNS server 4 5 6 7 1 8 gaia.cs.umass.edu
P2P • Centralized Directory – Napster Model • Full y Distributed – Gnutella model • Gnutella – Overlay network, limited flooding? • How does a peer join/leave a distributed Network?
P2P • Kazaa – Group leader model • Distinguish between powerful/less powerful peers • Graph model: Connected Dominating Set
Socket Programming • Socket Programming with TCP • Socket Programming with UDP