Welcome to CS 340
Introduction to
Some slides are in courtesy of J. Ku rose and K. Ross
Overview
• Course Administrative Trivia
• Internet Architecture • Network Protocols
• Network Edge
• 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 ([email protected]),
Office Hours: Th. 2-4pm or by appointment, Rm L459, Tech Inst.
• TA
Yan Gao ([email protected])
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
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
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
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)
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
Overview
• Course administrative trivia
• Internet Architecture
• Network Protocols • Network Edge
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)
Network Components
(Examples)
Fibers
Coaxial Cable
Links Interfaces Switches/routers
Ethernet card
Wireless card
Large router
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, email, games,
e-commerce, database., voting, file (MP3) sharing
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
Overview
• Course administrative trivia • Internet Architecture
• Network Protocols
• Network Edge
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
What’s a protocol?
a human protocol and a computer network protocol:
Hi
Hi
Got the time?
2:00
TCP connection req
TCP connection response
Get http://www.cs.nwu.edu
<file>
Overview
• Course administrative trivia • Internet Architecture
• Network Protocols
• Network Edge
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
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
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,
Overview
• Course administrative trivia • Internet Architecture
• Network Protocols • Network Edge
• 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 DatagramNetwork Virtual Circuit Network
• 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
• 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 DatagramNetwork 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
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
Circuit Switching: FDM and TDM
FDM
frequency
time TDM
frequency
time
• 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 DatagramNetwork 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
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
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
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
• 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 DatagramNetwork 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
Packet 1 Packet 2 Packet 3 Packet 1 Packet 2 Packet 3
Timing of Datagram Packet Switchi
ng
Packet 1 Packet 2 Packet 3 processing delay of Packet 1 at Node 2Host 1 Host 2
Node 1 Node 2 propagation delay between Host 1 and Node 2 transmission
Datagram Packet Switching
Host A
Host B
Host E Host D Host C
Node 1 Node 2
Node 3
Node 4
Node 5
• 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 DatagramNetwork 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
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
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 1 Host 2
Node 1
Node 2
Virtual-Circuit Packet Switching
Host A
Host B
Host E Host D Host C
Node 1 Node 2
Node 3
Node 4
Node 5
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.