Welcome to CS 340 Introduction to Computer Networking
Some slides are in courtesy of J. Kurose and K. Ross Overview Course Administrative Trivia Internet Architecture Network Protocols Network Edge A taxonomy of communication networks
Top-down Intro Networking Class –Application down to physical layer Small Class –More attention to each student Topics to Cover –Overview of Internet architecture, protocols –Network applications (HTTP, FTP) and programming –Transport (TCP, UDP), congestion/flow control –Network (IP), routing, multicast –Data Link, error handling, LAN, wireless Course Overview
Logistics Instructor Yan Chen Office Hours: Th. 2-4pm or by appointment, Rm 330, 1890 Maple Ave. TA Ashish Gupta Office Hours: Tu. and Th. 11am - noon(12pm), Rm 240, Maple
Prerequisites A LOT OF WORK – Heavy Projects –Build a TCP stack and a Web server that runs on it –IP routing Required: CS311 (data structure) Highly Recommended: OS or having some familiarity with Unix systems programming, preferably in C or C++ –Minet is in C++ / STL –BUILDING software is 50% of the grade of this class
Course Materials Computer Networking: A Top-Down Approach Featuring the Internet, Second Edition, James Kurose and Keith Ross, Addison Wesley, 2002Computer Networking: A Top-Down Approach Featuring the Internet TCP/IP Illustrated, Volume I: The Protocols, Richard Stevens, Addison Wesley, 1994TCP/IP Illustrated, Volume I: The Protocols See course webpage and syllabus for other recommended books and references
Grading Homeworks (4 sets) 10% Projects 50% –Web client/server10% –TCP stack25% –IP routing15% Midterm 20% Final 20% –Exams in-class, closed-book, non-cumulative Late policy: 10% each day after the due date No cheating
Communication Web page: Recitation: Wed., 4-5pm, Room 381, 1890 Maple. –TA lectures on the homework and projects, and help to prepare the exams. Newsgroup are available –cs.340.annouce (course announcement) –cs.340.discuss (posting Q & A) Send s to instructor and TA for questions inappropriate in newsgroup
Overview Course administrative trivia Internet Architecture Network Protocols Network Edge A taxonomy of communication networks
What’s the Internet: “nuts and bolts” view Millions of connected computing devices: hosts, end-systems –PCs, servers –PDAs, phones, toasters, shoes running network apps Communication links –Fiber, cable, radio, satellite –Residential access: modem, DSL, cable modem, satellite –Transmission rate = bandwidth Routers: forward packets (chunks of data) local ISP company network regional ISP router workstation server mobile
Network Components (Examples) Fibers Coaxial Cable LinksInterfacesSwitches/routers Ethernet card Wireless card Large router Telephone switch
What’s the Internet: “nuts and bolts” view protocols control sending, receiving of msgs –e.g., TCP, IP, HTTP, FTP Internet: “network of networks” –loosely hierarchical –public Internet versus private intranet communication infrastructure enables distributed applications: –Web, , games, e- commerce, database., voting, file (MP3) sharing local ISP company network regional ISP router workstation server mobile
History of the Internet 70’s: started as a research project, 56 kbps, < 200 computers 80-83: ARPANET and MILNET split 85-86: NSF builds NSFNET as backbone, links 6 Supercomputer centers, 1.5 Mbps, 10,000 computers 87-90: link regional networks, NSI (NASA), ESNet(DOE), DARTnet, TWBNet (DARPA), 100,000 computers 90-92: NSFNET moves to 45 Mbps, 16 mid-level networks 95: NSF backbone dismantled, multiple private backbones Today: backbones run at 10 Gbps, close to 200 millions computers in 150 countries
Growth of the Internet Number of Hosts on the Internet: Aug Oct ,024 Dec ,174 Oct ,000 Oct ,056,000 Apr ,706,000 Jan ,146,000 Jan ,218,000 Jan ,374,000 Jan ,638,297 Data available at:
Backbone (Teleglobe)
Overview Course administrative trivia Internet Architecture Network Protocols Network Edge A taxonomy of communication networks
What’s a protocol? human protocols: “what’s the time?” “I have a question” introductions … specific msgs sent … specific actions taken when msgs received, or other events network protocols: machines rather than humans all communication activity in Internet governed by protocols protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt
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
Overview Course administrative trivia Internet Architecture Network Protocols Network Edge A taxonomy of communication networks
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-to-peer model: – minimal (or no) use of dedicated servers –e.g. Gnutella, KaZaA
Network Edge: 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
Network Edge: Connectionless Service Goal: data transfer between end systems –same as before! UDP - User Datagram Protocol [RFC 768]: Internet’s connectionless service –unreliable data transfer –no flow control –no congestion control App’s using TCP: HTTP (Web), FTP (file transfer), Telnet (remote login), SMTP ( ) App’s using UDP: streaming media, teleconferencing, DNS, Internet telephony
Overview Course administrative trivia Internet Architecture Network Protocols Network Edge A taxonomy of communication networks
The fundamental question: how is data transferred through net (including edge & core)? Communication networks can be classified based on how the nodes exchange information: A Taxonomy of Communication Networks Communication Networks Switched Communication Network Broadcast Communication Network Circuit-Switched Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network TDM FDM
Broadcast communication networks –Information transmitted by any node is received by every other node in the network Examples: usually in LANs (Ethernet, Wavelan) –Problem: coordinate the access of all nodes to the shared communication medium (Multiple Access Problem) Switched communication networks –Information is transmitted to a sub-set of designated nodes Examples: WANs (Telephony Network, Internet) –Problem: how to forward information to intended node(s) This is done by special nodes (e.g., routers, switches) running routing protocols Broadcast vs. Switched Communication Networks
The fundamental question: how is data transferred through net (including edge & core)? Communication networks can be classified based on how the nodes exchange information: A Taxonomy of Communication Networks Communication Networks Switched Communication Network Broadcast Communication Network Circuit-Switched Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network TDM FDM
Circuit-Switched Network End-end resources reserved for “call” Link bandwidth, switch capacity Three phases 1.circuit establishment 2.data transfer 3.circuit termination Dedicated resources + Guaranteed performance - no sharing
Circuit Switching Examples Telephone networks ISDN (Integrated Services Digital Networks) network resources (e.g., bandwidth) divided into “pieces” Pieces allocated to calls Resource piece idle if not used by owning call (no sharing) Dividing link bandwidth into “pieces” –frequency division –time division
Circuit Switching: FDM and TDM FDM frequency time TDM frequency time 4 users Example:
The fundamental question: how is data transferred through net (including edge & core)? Communication networks can be classified based on how the nodes exchange information: A Taxonomy of Communication Networks Communication Networks Switched Communication Network Broadcast Communication Network Circuit-Switched Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network TDM FDM
Packet Switching Data is sent as formatted bit-sequences (Packets) Packets have the following structure: –Header and Trailer carry control information (e.g., destination address, check sum) Each packet traverses the network from node to node along some path (Routing) At each node the entire packet is received, stored briefly, and then forwarded to the next node (Store-and- Forward Networks) No dedicated allocation or resource reservation HeaderData Trailer
Packet Switching: Statistical Multiplexing Sequence of A & B packets does not have fixed pattern statistical multiplexing. In TDM each host gets same slot in revolving TDM frame. A B C 10 Mbs Ethernet 1.5 Mbs D E statistical multiplexing queue of packets waiting for output link
Packet Switching versus Circuit Switching 1 Mbit link Each user: –100 kbps when “active” –active 10% of time Circuit-switching: –10 users Packet switching: –with 35 users, probability > 10 active less than.0004 Packet switching allows more users to use network! N users 1 Mbps link
Packet Switching versus Circuit Switching Great for bursty data –resource sharing –simpler, no call setup Excessive congestion: packet delay and loss –protocols needed for reliable data transfer, congestion control Q: How to provide circuit-like behavior? –bandwidth guarantees needed for audio/video apps –still an unsolved problem (chapter 6)
The fundamental question: how is data transferred through net (including edge & core)? Communication networks can be classified based on how the nodes exchange information: A Taxonomy of Communication Networks Communication Networks Switched Communication Network Broadcast Communication Network Circuit-Switched Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network TDM FDM
Datagram Packet Switching Each packet is independently switched –Each packet header contains destination address which determines next hop –Routes may change during session No resources are pre-allocated (reserved) in advance Example: IP networks
Packet 1 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3 Timing of Datagram Packet Switching Packet 1 Packet 2 Packet 3 processing delay of Packet 1 at Node 2 Host 1Host 2 Node 1Node 2 propagation delay between Host 1 and Node 2 transmission time of Packet 1 at Host 1
Datagram Packet Switching Host A Host B Host E Host D Host C Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7
The fundamental question: how is data transferred through net (including edge & core)? Communication networks can be classified based on how the nodes exchange information: A Taxonomy of Communication Networks Communication Networks Switched Communication Network Broadcast Communication Network Circuit-Switched Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network TDM FDM
Virtual-Circuit Packet Switching Hybrid of circuit switching and packet switching –All packets from one packet stream are sent along a pre-established path (= virtual circuit) –Each packet carries tag (virtual circuit ID), tag determines next hop Guarantees in-sequence delivery of packets However, packets from different virtual circuits may be interleaved Example: ATM (Asynchronous Transfer Mode) networks
Virtual-Circuit Packet Switching Communication with virtual circuits takes place in three phases 1.VC establishment 2.data transfer 3.VC disconnect Note: packet headers don’t need to contain the full destination address of the packet
Packet 1 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3 Timing of Virtual-Circuit Packet Switching Packet 1 Packet 2 Packet 3 Host 1Host 2 Node 1Node 2 propagation delay between Host 1 and Node 1 VC establishment VC termination Data transfer
Virtual-Circuit Packet Switching Host A Host B Host E Host D Host C Node 1 Node 2 Node 3 Node 4 Node 5 Node 6 Node 7
Summary Course Administrative Trivia Internet Architecture, Protocols and Taxonomy Eight handouts –Syllabus, Project 1, and its complementary materials Project 1 out –If you don’t have a TLAB account and a keycard to get into the lab, fill the form. –Find partner (groups of 2 preferred) Recitation tomorrow on UNIX programming and project 1