Download Overview - Computer Science Division

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Net neutrality law wikipedia , lookup

AppleTalk wikipedia , lookup

TCP congestion control wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

Peering wikipedia , lookup

Internet protocol suite wikipedia , lookup

RapidIO 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

Net bias wikipedia , lookup

IEEE 1355 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

Peer-to-peer wikipedia , lookup

Deep packet inspection wikipedia , lookup

Packet switching 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
Logistics
• Instructor
Yan Chen ([email protected]),
Office Hours: Th. 2-4pm or by appointment, Rm
L459, Tech Inst.
• TA
Yan Gao ([email protected])
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
– TCP stack
21%
– IP routing
12%
7%
• 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/c
s340-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
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
• protocols control sending,
receiving of msgs
– e.g., TCP, IP, HTTP, FTP
• Internet: “network of
networks”
router
server
workstation
mobile
local ISP
– loosely hierarchical
regional ISP
– public Internet versus private
intranet
• communication
infrastructure enables
distributed applications:
– Web, email, games, ecommerce, database., voting,
file (MP3) sharing
company
network
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/
Backbone (Teleglobe)
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. BitTorrent, eDonkey, 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, 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
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-andForward Networks)
• No dedicated allocation or resource reservation
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
• 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
• 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
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
• 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)