440 likes | 455 Views
This course provides an overview of computer networking and covers topics such as internet architecture, network protocols, network applications, transport, data link, and more.
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
Logistics • Instructor Yan Chen (ychen@cs.northwestern.edu), Office Hours: Th. 2-4pm or by appointment, Rm L459, Tech Inst. • TA Yan Gao (ygao@cs.northwestern.edu) Office Hours: TBA, Rm 2-207, Ford Center.
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) • CS 213 or (ECE 205+ECE 231) • Highly Recommended: OS or having some familiarity with Unix systems programming, preferably in C or C++ • Minet is in C++ / STL • BUILDING software is 40% 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, 2002 • TCP/IP Illustrated, Volume I: The Protocols, Richard Stevens, Addison Wesley, 1994 • See course webpage and syllabus for other recommended books and references
Grading • Class attendance and discussion 10% • Homework (4 sets) 10% • Projects 40% • Web client/server 7% • TCP stack 21% • IP routing 12% • 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: http://www.cs.northwestern.edu/~ychen/classes/cs340-w06/ • Recitation: TBD. • TA lectures on the homework and projects, and help to prepare the exams. • Newsgroup is available • cs.340 (posting Q & A for homework & projects) • Send emails to instructor and TA for questions inappropriate in newsgroup
Project 1 Out Today • Electrical submission due 11:59pm, 1/18 • Project description • Six additional handout materials online • Minet Sockets • The TLab Cluster • The Minet TCP/IP Stack • Sockets in a Nutshell • UNIX System Programming on a Nutshell • Useful UNIX Tools
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
protocolscontrol 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, email, games, e-commerce, database., voting, file (MP3) sharing What’s the Internet: “nuts and bolts” view router workstation server mobile local ISP regional ISP company network
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. BitTorrent, eDonkey, 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, 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
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 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 • 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 • 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 • 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 • 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)