Title: Course Overview and Introduction
1Course Overview and Introduction
- CS 4251 Computer Networking IINick
FeamsterSpring 2008
2Goals
- 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
3Goals
- 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
4Logistics
- 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
5Who 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
6Overview 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
7Lecture Structure User-Generated
- One strongly positive review of last years
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
8Networking in Current Events
Threats to the Internets naming system
Network Neutrality
9Other Things Youll 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?
10Still More Things Youll Learn
- How many bits can you push over a physical
channel? - How can you use encoding to increase this?
- Whats inside a router?
- Function, power issues, trends (e.g.,
programmability) - Performance guarantees (e.g., telephony, video)?
- Can a networks resources be subdivided?
11Still More Things Youll 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 whats wrong?
- Social networks?
12Class 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
13Collaboration 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.
14Who 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?
15Overview of Course Content
16Themes
- Routing Trees and Paths
- The Protocol Stack Protocols and Layering
- Resource Allocation
- Naming
- Trust
- Other themes
- Hierarchy
- Caching
- Randomization
17The Internet A Network of Networks
Autonomous Systems (ASes)
Abilene
Comcast
ATT
Cogent
- 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)
18Challenges
- 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
19Trends 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
20Tree Forming and Route Finding
21Computing 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
22Gateways 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
68.211.6.12050878
Home Network
Internet
68.211.6.12050879
(more on NATs in lecture 17)
23Challenge Scale
24The Protocol Stack
25Protocols 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
26Layering
- 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
27Layering Mechanism Encapsulation
User A
User B
Application(message)Transport(segment)Networ
k(datagram)Link (frame)
Get index.html
Connection ID
Source/Destination
Link Address
- This can be more complex
- Example Network layers can be encapsulated
within another network layer
28The Internet Protocol Stack
- Need to interconnect many existing networks
- Hide underlying technology from applications
- Decisions
- Network provides minimal functionality
- IP as the Narrow waist
Applications
Technology
29The 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
30Resource Sharing
31Resource Sharing
- How? Multiplexing
- Switched network
- Party A gets resources sometimes
- Party B gets them sometimes
- Interior nodes (Routers or Switches)
arbitrate access to resources
32Circuit 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
33Resource 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
34Circuit 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?
35Packet 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
36Resource Sharing Packet Switching
- Statistical multiplexing
- Switches arbitrate between inputs
- Can send from any input thats ready
- Links are never idle when traffic to send
- Efficiency!
- Requires buffering/queues
- Implies a service model/discipline (Lecture 21)
37Delay 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
38Forwarding 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?