CS 3214 Computer Systems Godmar Back Lecture 23
Announcements Project 5 due Dec 8 Exercise 10 handed out Exercise 11 coming before Thanksgiving CS 3214 Fall 2010
NETWORKING Part 1 CS 3214 Fall 2010 Some of these slides are substantially derived from slides provided by Jim Kurose & Keith Ross. Copyright on this material is held by Kurose & Ross. Used with permission. The textbook is Computer Networking: A Top Down Approach Featuring the Internet Jim Kurose, Keith Ross, Addison-Wesley, July 2004Computer Networking: A Top Down Approach Featuring the Internet Jim Kurose, Keith Ross, Addison-Wesley, July 2004
CS 3214 Fall 2010 The Internet: “nuts and bolts” view millions of connected computing devices: hosts = end systems running network apps communication links –fiber, copper, radio, satellite –transmission rate = bandwidth routers: forward packets local ISP company network regional ISP router workstation server mobile
CS 3214 Fall 2010 The Internet: “nuts and bolts” view protocols control sending, receiving of msgs –e.g., TCP, IP, HTTP, FTP, PPP Internet: “network of networks” –loosely hierarchical –public Internet versus private intranets –Internet vs internet Internet standards –RFC: Request for comments –IETF: Internet Engineering Task Force local ISP company network regional ISP router workstation server mobile
CS 3214 Fall 2010 Network Virginia Source: Sean Gillespie
CS 3214 Fall 2010 “Real” Internet delays and routes > traceroute traceroute to ( ), 30 hops max, 38 byte packets 1 Gates-rtr.Stanford.EDU ( ) ms ms ms 2 bbr2-rtr.Stanford.EDU ( ) ms ms ms 3 border2-rtr.Stanford.EDU ( ) ms ms ms 4 g1.ba21.b sfo01.atlas.cogentco.com ( ) ms ms ms 5 g1-1.core02.sfo01.atlas.cogentco.com ( ) ms ms ms 6 p14-0.core01.dca01.atlas.cogentco.com ( ) ms ms ms 7 p2-0.core01.iad01.atlas.cogentco.com ( ) ms ms ms 8 lambdanet.iad01.atlas.cogentco.com ( ) ms ms ms 9 LON-2-pos210.uk.lambdanet.net ( ) ms ms ms 10 DUS-2-pos700-0.de.lambdanet.net ( ) ms ms ms 11 DUS de.lambdanet.net ( ) ms ms ms 12 titanic.luka.de ( ) ms ms ms traceroute: from host in Silicon Valley (keeda.stanford.edu) to host in Frankfurt, Germany (
CS 3214 Fall 2010 The Internet: a service view communication infrastructure enables distributed applications: –Web, , games, e- commerce, file sharing communication services provided to apps: –Connectionless unreliable –Connection-oriented reliable
CS 3214 Fall 2010 A closer look at network structure: network edge: applications and hosts network core: –routers –network of networks access networks, physical media: communication links
CS 3214 Fall 2010 The network edge: end systems (hosts): –run application programs –e.g. Web, –at “edge of network” client/server model –client host requests, receives service from always-on server –e.g. Web browser/server; client/server peer-peer model: – minimal (or no) use of dedicated servers –e.g. Gnutella, KaZaA
CS 3214 Fall 2010 Connection-oriented service Goal: data transfer between end systems handshaking: setup (prepare for) data transfer ahead of time –Hello, hello back human protocol –set up “state” in two communicating hosts TCP - Transmission Control Protocol –Internet’s connection- oriented service TCP service [RFC 793] reliable, in-order byte- stream data transfer –loss: acknowledgements and retransmissions flow control: –sender won’t overwhelm receiver congestion control: –senders “slow down sending rate” when network congested
CS 3214 Fall 2010 Connectionless service Goal: data transfer between end systems –same as before! UDP - User Datagram Protocol [RFC 768]: –connectionless –unreliable data transfer –no flow control –no congestion control TCP-friendliness App’s using TCP: HTTP (Web), ssh (remote login), SMTP ( ), Bittorrent (file-sharing), XMPP (instant messenging) App’s using UDP: streaming media, teleconferencing, DNS, Internet telephony
CS 3214 Fall 2010 The Network Core the fundamental question: how is data transferred through net? –circuit switching: dedicated circuit per call: telephone net –packet-switching: data sent thru net in discrete “chunks” How are the network’s resources shared?
CS 3214 Fall 2010 What’s a protocol? a human protocol and a computer network protocol: Hi Got the time? 2:00 TCP connection req TCP connection response Get time
CS 3214 Fall 2010 Services vs Protocols (horizontal component) Layer k may interact with peer layer k only via protocols
CS 3214 Fall 2010 message segment datagram frame source application transport network link physical HtHt HnHn HlHl M HtHt HnHn M HtHt M M destination application transport network link physical HtHt HnHn HlHl M HtHt HnHn M HtHt M M network link physical link physical HtHt HnHn HlHl M HtHt HnHn M HtHt HnHn HlHl M HtHt HnHn M HtHt HnHn HlHl M HtHt HnHn HlHl M router switch Encapsulation
CS 3214 Fall 2010 TCP/IP Reference Model
CS 3214 Fall 2010 TCP/IP Reference Model See:
CS 3214 Fall 2010 TCP/IP Hourglass View UDP Ethernet IP WirelessATM TCP NFSDNSFTPHTTP Host-To-Network Internet Application Transport
CS 3214 Fall 2010 Typical Implementation may cross multiple boundaries! User App Socket Network Device IP Layer TCP Layer user Kernel: “top-half” Kernel: “sw interrupt” Kernel: “hw interrupt”