Transcript ppt - NOISE
Course Overview and
Introduction
CS 4251: Computer Networking II
Nick Feamster
Spring 2008
Goals
• You have presumably already learned the
basics, so we will focus on…
• Depth
– More in-depth treatment of various topics
• Hands-on experience and skills
– Testbeds: Emulab, PlanetLab, VINI
– Tools: Scriptroute, Click, XORP
– Analysis of real traces
Goals
• Design Experience and Insights
– `Internet was based on design priorities
• Applications and requirements have changed
• You will gain experience re-evaluating design
decisions and changing protocols
– Many recurring design “tricks”
• Tree forming
• Layering
• Resource allocation and sharing
• Naming
Logistics
• Course Web page
– http://www.gtnoise.net/classes/cs4251/fall_2008/
– Check this page regularly for updates to the syllabus,
assignments, readings, etc.
• Course mailing list
– Sign up now/today if you are not already on it
– http://www.gtnoise.net/mailman/listinfo/cs4251
Who Am I?
• Nick Feamster
– Assistant Professor
– Networking: Operations and Security
• Office: Klaus 3348
• Email address: on web page;
use subject “CS 4251”
• Office Hours: Wednesday, 2-3 p.m., by appt
Overview of Lectures
• Holistic approach
• Lectures organized by theme
–
–
–
–
Tree forming/path finding
Layering
Resource allocation and sharing
Naming
• Textbook reading, research papers, “current events”
– Read the readings before class!
– Historically, many things covered in class that are not in texts
Lecture Structure: User-Generated
• One strongly positive review of last year’s
course: “just in time” topics
• This year: Formalize this notion
– Every Friday: Post a link to the course wiki (link soon)
with a paper and one-line topic summary
– Voting over weekend
– Discuss paper in second half of Wednesday lecture
• I will do this, too
Networking in Current Events
Threats to the Internet’s
naming system
“Network Neutrality”
Other Things You’ll Learn
• How does BitTorrent find your file?
• How does the Georgia Tech wireless network
allow you to “roam” across campus with the
same IP address?
• How do ISPs connect to one another?
– Protocols, Economics, …
• What could you do with two (or more) Internet
connections at home?
Still More Things You’ll Learn
• How many bits can you push over a physical
channel?
– How can you use encoding to increase this?
• What’s inside a router?
– Function, power issues, trends (e.g., programmability)
• Performance guarantees (e.g., telephony,
video)?
• Can a network’s resources be subdivided?
Still More Things You’ll Learn
• Are we running out of IP addresses? Who
cares, and how can we combat this?
• How do we reduce power utilization in data
centers?
• What are the bad guys doing?
• Can we stop unwanted traffic?
• How do we make it easier to run the network?
• How do we make the network go faster?
• Why is it so hard to figure out what’s wrong?
• Social networks…?
Class Components and Grading
• Problem sets (20%)
– Paper and pencil
– First assignment: September 3
• Hands-on Assignments (30%)
– Experience with tools and traces
• 2 Quizzes (25%)
– Quiz: March 3
– Final: will set date soon (perhaps last week of class)
• 1 Project (25%)
– TBD. Work in groups. Programming/analysis/etc.
– Most likely: Pict from a list, or propose your own
• Late policy: Maximum of 72 hours late
throughout the term
Collaboration Policy
• See the Georgia Tech Honor Code
• Working together on assignments is fine, but you
must turn in your own assignments, and
ultimately write your own code, analysis, etc.
Who are you?
• Why are you taking this class?
– What do you hope to learn?
– (What have you learned already)
• What do you want out of a class project?
• Did you take 3251?
Overview of Course Content
Themes
•
•
•
•
•
Routing: Trees and Paths
The Protocol Stack: Protocols and Layering
Resource Allocation
Naming
Trust
• Other themes
– Hierarchy
– Caching
– Randomization
The Internet: A Network of Networks
Autonomous
Systems
(ASes)
Abilene
Comcast
AT&T
Cogent
Georgia
Tech
• Interconnected of the Internet Service Providers (ISPs) provide data
communications services
– Networks are connected using routers that support communication in a
hierarchical fashion
– Often need other special devices at the boundaries for security,
accounting, …
• Hosts and networks have to follow a common set of rules (protocols)
Challenges
• Scale: 100,000,000s
of hosts
• Heterogeneity:
– 25,000+ administrative domains (competing!)
– Thousands of applications
– Lots of users
• Diversity of network technologies and media
• Security: Adversarial environment
Trends and Open Problems
• Reducing power consumption
– E.g., in data centers
• Making networks easier to manage
• Improving trust/identity in networks
– Spam, phishing attacks, etc.
• Policy-related issues (net neutrality)
• Programmability in routers/switches
Tree Forming and Route Finding
Computing Routes
• To deal with large scale, Internet routing
employs hierarchy
• Internet Service Providers connect to one
another with interdomain routing protocols
(BGP)
– ISPs have business relationships with one another
• ISPs have PoPs that are connected with
intradomain routing protocols
Gateways: Routers and Switches
• Interconnect nodes to nodes
– And networks to networks
• No state about ongoing connections
– Stateless packet switches
• We can also think of your home router/NAT as
performing the function of a gateway
192.168.1.51
Home
Network
192.168.1.52
68.211.6.120:50878
68.211.6.120:50879
(more on NATs in lecture 17)
Internet
Challenge: Scale
The Protocol Stack
Protocols: Interconnection
• The syntax and semantics by which hosts and
nodes agree on how to talk
– Must be standardized and agreed upon by all parties
– Standardization process
• IETF Requests for Comments (RFC)
• De-facto standards
• Format of messages
• Expectations for message delivery
Layering
• Helps manage complexity
• Each layer:
– Relies on services from layer below
– Provides services to layer above
• For example: IP (network) layer
– IP relies on connectivity to next hop, access to
medium
– IP provides a datagram service
• Best effort delivery
• Packets may be lost, corrupted, reordered, etc.
– Layers on top of IP (e.g., TCP) may guarantee
reliable, in-order delivery
Layering Mechanism: Encapsulation
User A
User B
Application
(message)
Get index.html
Transport
(segment)
Connection ID
Network
(datagram)
Source/Destination
Link (frame)
Link Address
• This can be more complex
• Example: Network layers can be encapsulated within
another network layer
The Internet Protocol Stack
• Need to interconnect many existing networks
• Hide underlying technology from applications
• Decisions
– Network provides minimal functionality
– IP as the “Narrow waist”
email WWW phone...
SMTP HTTP RTP...
Applications
TCP UDP…
IP
ethernet PPP…
CSMA async sonet...
copper fiber radio...
Technology
The “Narrow Waist”
• Facilitates interconnection and interoperability
• IP over anything, anything over IP
– Has allowed for much innovation both above and
below the IP layer of the stack
– Any device with an IP stack can “get on the Internet”
• Drawback: very difficult to make changes to IP
Resource Sharing
Resource Sharing
• How? Multiplexing
– Switched network
– Party “A” gets resources sometimes
– Party “B” gets them sometimes
• Interior nodes (“Routers” or “Switches”) arbitrate
access to resources
Circuit Switching
• Resources are reserved
• Source first establishes a connection (circuit) to
the destination
• Source sends the data over the circuit
– Constant transmission rate
• Example: telephone network
– Early early versions: Human-mediated switches.
– Early versions: End-to-end electrical connection
– Today: Virtual circuits or lambda switching
Resource Sharing in
Circuit-Switched Networks
• Frequency-Division Multiplexing (FDM)
– Link dedicates a frequency to each
connection
– Width of this frequency band is called
“bandwidth”
– We will discuss the capacity in Lecture 10
• Time-Division Multiplexing
– Each circuit gets all of the bandwidth on a
link for brief periods of time
Circuit Switching
• Advantages
– Fast and simple data transfer, once the circuit
has been established
– Predictable performance since the circuit
provides isolation from other users
• Guaranteed bandwidth
• Disadvantages
– What about bursty traffic?
– Users with differing needs for bandwidth
– What if all resources are allocated?
Packet Switching
• Resources are not reserved
• Packets are self-contained
– Each has a destination address
– Source may have to break up single message
• Each packet travels independently to the
destination host
– Routers and switches use the address in the packet
to determine how to forward the packets
Resource Sharing: Packet Switching
• Statistical multiplexing
• Switches arbitrate between inputs
• Can send from any input that’s ready
–
–
–
–
Links are never idle when traffic to send
Efficiency!
Requires buffering/queues
Implies a service model/discipline (Lecture 21)
Delay in Packet Switched Networks
• Four contributors to hop-by-hop delay
– Processing: Lookup, etc. (Lectures 6 and 7)
– Queueing: Time the packet must wait before being
transmitted (Lecture 21)
– Transmission: time to push the packet onto the link
– Propagation: time for the packet to propagate from A
to B
• End-to-end performance metric: throughput
– What (else) affects throughput
Forwarding: Packet-Switched Networks
• Each packet contains a destination in the header
– Much like a postal address on an envelope
• Each hop (“router” or “switch”) inspects the
destination address to determine the next hop
• Will a packet always take the same path?
• How do the hops know how to forward packets?