430 likes | 557 Views
Welcome to CS 340 Introduction to Computer Networking. Overview. Course Administrative Trivia Internet Architecture Network Protocols Network Edge A taxonomy of communication networks. Course Overview. Top-down Intro Networking Class Application down to physical layer Topics to Cover
E N D
Overview • Course Administrative Trivia • Internet Architecture • Network Protocols • Network Edge • A taxonomy of communication networks Some slides are in courtesy of J. Kurose and K. Ross
Course Overview • Top-down Intro Networking Class • Application down to physical layer • 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 • Small Class • More attention to each student
People • Instructor Aleksandar Kuzmanovic (akuzma@northwestern.edu), Office Hours: Th. 10am-12 or by appointment, Rm L457, Tech, 2145 Sherian Rd. • TA: Ao-Jan Su (ajsu@northwestern.edu) Office Hours: TBA, Rm 2-211, Ford, 2133 Sheridan Road
Prerequisites • A LOT OF WORK – Heavy Projects - but it’s worth! • Build a TCP stack and a Web server that runs on it • IP routing • Required: CS311 (data structures) and CS213 (Intro to Computer Systems) • Highly Recommended: OS or having some familiarity with Unix systems programming, preferably in C or C++ • Minet is in C++ • BUILDING software is 50% of the grade of this class
Course Materials • Computer Networking: A Top-Down Approach Featuring the Internet, Third Edition, James Kurose and Keith Ross, Addison Wesley, 2005 • TCP/IP Illustrated, Volume I: The Protocols, Richard Stevens, Addison Wesley, 1994 • See course webpage and syllabus for other recommended books and references
Grading • Homeworks (4 sets) 10% • Projects 50% • Web client/server 10% • TCP stack 25% • IP routing 15% • Midterm 20% • Final 20% • Exams in-class, closed-book; Final may be take-home! • Late policy: 10% each day after the due date • No cheating
Communication • Web page: http://www.cs.nwu.edu/~akuzma/classes/cs340-w07/ • Recitation: Wed., 5:30-7pm, Room: Tech M-120. • 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 emails to instructor and TA for questions inappropriate in newsgroup
Overview • Course administrative trivia • Internet Architecture • Network Protocols • Network Edge • A taxonomy of communication networks
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) router workstation server mobile local ISP regional ISP company network What’s the Internet: “nuts and bolts” view
Network Components (Examples) Links Interfaces Switches/routers Ethernet card Large router Fibers Wireless card Coaxial Cable Telephone switch
communication infrastructure enables distributed applications: Web, email, games, e-commerce, database., voting, file (MP3) sharing protocolscontrol sending, receiving of msgs e.g., TCP, IP, HTTP, FTP Internet: “network of networks” loosely hierarchical What’s the Internet: “nuts and bolts” view router workstation server mobile local ISP regional ISP company network
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. 1981 213 Oct. 1984 1,024 Dec. 1987 28,174 Oct. 1990 313,000 Oct. 1993 2,056,000 Apr. 1995 5,706,000 Jan. 1997 16,146,000 Jan. 1999 56,218,000 Jan. 2001 109,374,000 Jan 2003 171,638,297 Data available at: http://www.isc.org/
Overview • Course administrative trivia • Internet Architecture • Network Protocols • Network Edge • A taxonomy of communication networks
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 What’s a protocol? protocols define format, order of msgs sent and received among network entities, and actions taken on msg transmission, receipt
a human protocol and a computer network protocol: TCP connection response Get http://www.cs.nwu.edu Got the time? 2:00 <file> time What’s a protocol? Hi TCP connection req Hi
Overview • Course administrative trivia • Internet Architecture • Network Protocols • Network Edge • A taxonomy of communication networks
End systems (hosts): run application programs e.g. Web, email at “edge of network” Client/server model client host requests, receives service from always-on server e.g. Web browser/server; email client/server Peer-to-peer model: minimal (or no) use of dedicated servers e.g. Gnutella, KaZaA The Network Edge
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: Connection-oriented 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 (email) App’s using UDP: streaming media, teleconferencing, DNS, Internet telephony Network Edge: Connectionless Service
Overview • Course administrative trivia • Internet Architecture • Network Protocols • Network Edge • A taxonomy of communication networks
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: Communication Networks SwitchedCommunication Network BroadcastCommunication Network Packet-SwitchedCommunication Network Circuit-SwitchedCommunication Network TDM FDM Datagram Network Virtual Circuit Network
Broadcast vs. Switched Communication Networks • Broadcast communication networks • Information transmitted by any node is received by every other node in the network • Examples: usually in LANs (Ethernet) • 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
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: Communication Networks SwitchedCommunication Network BroadcastCommunication Network Packet-SwitchedCommunication Network Circuit-SwitchedCommunication Network TDM FDM Datagram Network Virtual Circuit Network
End-end resources reserved for “call” Link bandwidth, switch capacity Three phases circuit establishment data transfer circuit termination Dedicated resources + Guaranteed performance - no sharing Circuit-Switched Network
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
Example: 4 users FDM frequency time TDM frequency time Circuit Switching: FDM and TDM
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: Communication Networks SwitchedCommunication Network BroadcastCommunication Network Packet-SwitchedCommunication Network Circuit-SwitchedCommunication Network TDM FDM Datagram Network Virtual Circuit Network
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 – no guarantees! Header Data Trailer
Sequence of A & B packets does not have fixed pattern statistical multiplexing. In TDM each host gets same slot in revolving TDM frame. D E Packet Switching: Statistical Multiplexing 10 Mbs Ethernet C A statistical multiplexing 1.5 Mbs B queue of packets waiting for output link
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! Packet Switching versus Circuit Switching N users 1 Mbps link
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) Packet Switching versus Circuit Switching
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: Communication Networks SwitchedCommunication Network BroadcastCommunication Network Packet-SwitchedCommunication Network Circuit-SwitchedCommunication Network TDM FDM Datagram Network Virtual Circuit Network
Datagram Packet Switching • Each packet is independently switched • Each packet header contains destination address which determines next hop • Routes may change during session • E.g., post-office analogy • No resources are pre-allocated (reserved) in advance • Example: IP networks
Packet 1 Packet 1 Packet 1 Packet 2 Packet 2 Packet 2 Packet 3 Packet 3 Packet 3 Timing of Datagram Packet Switching Host 1 Host 2 Node 1 Node 2 propagation delay between Host 1 and Node 2 transmission time of Packet 1 at Host 1 processing delay of Packet 1 at Node 2
Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Host E Node 7 Node 6 Node 4
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: Communication Networks SwitchedCommunication Network BroadcastCommunication Network Packet-SwitchedCommunication Network Circuit-SwitchedCommunication Network TDM FDM Datagram Network Virtual Circuit Network
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 • Features • Guarantees in-sequence delivery of packets (+) • However, packets from different virtual circuits may be interleaved (+) • Requires per-flow state in the network (-)
Virtual-Circuit Packet Switching • Communication with virtual circuits takes place in three phases • VC establishment • data transfer • VC disconnect • Note: packet headers don’t need to contain the full destination address of the packet
Packet 1 Packet 1 Packet 1 Packet 2 Packet 2 Packet 2 Packet 3 Packet 3 Packet 3 Timing of Virtual-Circuit Packet Switching Host 1 Host 2 Node 1 Node 2 propagation delay between Host 1 and Node 1 VC establishment Data transfer VC termination
Virtual-Circuit Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Host E Node 7 Node 6 Node 4
Summary • Course Administrative Trivia • Internet Architecture, Protocols and Taxonomy • Seven handouts • Syllabus, Project 1, and its complementary materials • Project 1 out • If you don’t have a TLAB account contact Christopher Bachmann (root@eecs.northwestern.edu). • To enter the TLAB classroom (Tech F-252), contact Carol Surma (carol@ece.northwestern.edu). • Find partner (groups of 2 preferred) • Recitation on Wednesday (01/10) on UNIX programming and project 1