* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download and packet switching - Computer Science Division
Survey
Document related concepts
Net neutrality law wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Internet protocol suite wikipedia , lookup
Asynchronous Transfer Mode wikipedia , lookup
Zero-configuration networking wikipedia , lookup
Piggybacking (Internet access) wikipedia , lookup
Network tap wikipedia , lookup
Distributed firewall wikipedia , lookup
Computer network wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Airborne Networking wikipedia , lookup
Routing in delay-tolerant networking wikipedia , lookup
Deep packet inspection wikipedia , lookup
Transcript
Welcome to CS 340 Introduction to Computer Networking 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 ([email protected]), Office Hours: Th. 10am-12 or by appointment, Rm L457, Tech, 2145 Sherian Rd. • TA: Ao-Jan Su ([email protected]) 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/cs340w07/ • 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 What’s the Internet: “nuts and bolts” view • Millions of connected computing devices: hosts, end-systems – PCs, servers – PDAs, phones, toasters, shoes router server workstation mobile local ISP running network apps regional ISP • Communication links – Fiber, cable, radio, satellite – Residential access: modem, DSL, cable modem, satellite – Transmission rate = bandwidth • Routers: forward packets (chunks of data) company network Network Components (Examples) Links Interfaces Fibers Ethernet card Switches/routers Large router Wireless card Coaxial Cable Telephone switch What’s the Internet: “nuts and bolts” view • communication infrastructure enables distributed applications: – Web, email, games, ecommerce, database., voting, file (MP3) sharing router server regional ISP – e.g., TCP, IP, HTTP, FTP – loosely hierarchical mobile local ISP • protocols control sending, receiving of msgs • Internet: “network of networks” workstation 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 1000000000 Oct. 1984 1,024 100000000 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 10000000 1000000 100000 10000 1000 100 10 1 1981 1984 1987 1990 1993 1996 1999 2002 Data available at: http://www.isc.org/ Overview • Course administrative trivia • Internet Architecture • Network Protocols • Network Edge • A taxonomy of communication networks What’s a protocol? human protocols: network protocols: • “what’s the time?” • machines rather than humans • “I have a question” • introductions … specific msgs sent … specific actions taken when msgs received, or other events • 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 TCP connection req Hi TCP connection response Got the time? Get http://www.cs.nwu.edu 2:00 <file> 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, 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 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 connectionoriented service TCP service [RFC 793] • reliable, in-order bytestream 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 (email) 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 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 Switched Communication Network Circuit-Switched Communication Network TDM FDM Broadcast Communication Network Packet-Switched Communication Network 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 Switched Communication Network Circuit-Switched Communication Network TDM FDM Broadcast Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network 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 Example: FDM 4 users frequency time TDM frequency time 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 Switched Communication Network Circuit-Switched Communication Network TDM FDM Broadcast Communication Network Packet-Switched Communication Network Datagram Network Virtual Circuit Network Packet Switching • Data is sent as formatted bit-sequences (Packets) • Packets have the following structure: Header Data Trailer – 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! Packet Switching: Statistical Multiplexing 10 Mbs Ethernet A B statistical multiplexing C 1.5 Mbs queue of packets waiting for output link D E Sequence of A & B packets does not have fixed pattern statistical multiplexing. In TDM each host gets same slot in revolving TDM frame. Packet Switching versus Circuit Switching Packet switching allows more users to use network! • 1 Mbit link • Each user: – 100 kbps when “active” – active 10% of time N users • Circuit-switching: – 10 users • Packet switching: – with 35 users, probability > 10 active less than .0004 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) 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 Switched Communication Network Circuit-Switched Communication Network TDM FDM Broadcast Communication Network Packet-Switched Communication Network 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 Timing of Datagram Packet Switching Host 1 transmission time of Packet 1 at Host 1 Node 1 Packet 1 Host 2 Node 2 propagation delay between Host 1 and Node 2 Packet 2 Packet 1 Packet 3 processing delay of Packet 1 at Node 2 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3 Datagram Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Node 6 Node 4 Node 7 Host E 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 Switched Communication Network Circuit-Switched Communication Network TDM FDM Broadcast Communication Network Packet-Switched Communication Network 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 1. VC establishment 2. data transfer 3. VC disconnect • Note: packet headers don’t need to contain the full destination address of the packet Timing of Virtual-Circuit Packet Switching Host 1 Node 1 Host 2 Node 2 propagation delay between Host 1 and Node 1 VC establishment Packet 1 Packet 2 Packet 1 Data transfer Packet 3 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3 VC termination Virtual-Circuit Packet Switching Host C Host D Host A Node 1 Node 2 Node 3 Node 5 Host B Node 6 Node 4 Node 7 Host E 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 ([email protected]). – To enter the TLAB classroom (Tech F-252), contact Carol Surma ([email protected]). – Find partner (groups of 2 preferred) • Recitation on Wednesday (01/10) on UNIX programming and project 1