+ All Categories
Home > Documents > Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Date post: 27-Mar-2015
Category:
Upload: audrey-crabtree
View: 223 times
Download: 2 times
Share this document with a friend
Popular Tags:
44
Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008
Transcript
Page 1: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Course Overview and Introduction

CS 4251: Computer Networking IINick FeamsterSpring 2008

Page 2: 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

Page 3: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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

Page 4: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Logistics

• Course Web page– http://www.gtnoise.net/classes/cs4251/spring_2008/– Check this page regularly for updates to the syllabus,

assignments, readings, etc.

• Course mailing list– Sign up now/today– http://www.gtnoise.net/mailman/listinfo/cs4251

Page 5: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Who Am I?

• Nick Feamster– Assistant Professor– Networking: Operations and Security

• Office: Klaus 3348• Email: on web page, use “CS 4251”• Office Hours: Monday, 2-4 p.m.

Page 6: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Overview of Lectures

• Holistic approach• Various “themes” recur throughout

– Tree forming/path finding– Layering– Resource allocation and sharing– Naming

• Textbook reading, plus some research (and other) papers– Read the readings before class!

Page 7: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Things You’ll Learn

• How does BitTorrent find your file?

• How does the GT wireless network allow you to “roam” across campus with the same IP address?

• How do ISPs connect to one another?– Interconnection: Protocols and business

• What could you do with two (or more) Internet connections at home?

Page 8: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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?

• Can you guarantee performance or service for certain types of applications (e.g., telephony, video)?

• Can a network’s resources be subdivided?

Page 9: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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…?

Page 10: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Grading

• 3 Problem sets (20%)– Paper and pencil

• 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.

• Late policy: Maximum of 72 hours late throughout the term

Page 11: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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.

Page 12: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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?

Page 13: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.
Page 14: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Key Concepts in Networking

• Protocols• Tree formation/Route Finding• Layering• Resource allocation and sharing• Naming

• Lots of minor recurring themes– Hierarchy– Caching– Randomization

Page 15: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

GeorgiaTech

The Internet: A Network of Networks

Comcast

Abilene

AT&T Cogent

Autonomous Systems (ASes)

• 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)

Page 16: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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

Page 17: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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

Page 18: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Layering• Key technique for managing 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

Page 19: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Layering: Encapsulation

• This can be more complex• Example: Network layers can be encapsulated within another

network layer

Get index.html

Connection ID

Source/Destination

Link Address

User A User B

Application(message)

Transport(segment)

Network(datagram)

Link (frame)

Page 20: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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”

Technology

Applications email WWW phone...

SMTP HTTP RTP...

TCP UDP…

IP

ethernet PPP…

CSMA async sonet...

copper fiber radio...

Page 21: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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

Page 22: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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

Page 23: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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

Page 24: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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

Page 25: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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?

Page 26: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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

Page 27: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Sharing in Packet-Switched Networks

• 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)

Page 28: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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

Page 29: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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?

Page 30: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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

Page 31: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

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

Home Network Internet

192.168.1.51

192.168.1.52

68.211.6.120:50878

68.211.6.120:50879

(more on NATs in lecture 17)

Page 32: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Naming

Client Local DNS resolver

root, .edu

troll-gw.gatech.edu

www.cc.gatech.eduNS troll-gw.gatech.edu

www.cc.gatech.edu

NS burdell.cc.gatech.edu

A 130.207.7.36

burdell.cc.gatech.edu

Recursive query

Iterative queries

Note the diversity of Georgia Tech’s authoritative nameservers

• Example: DNS– Maps names to IP addresses– Hierarchical

Page 33: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

“This set of goals might seem to be nothing more than a checklist of all the desirable network features. It is important to understand that these goals are in order of importance, and an entirely different network architecture would result if the order were changed.”

The Internet’s “Design Goals”

• Interconnection/Multiplexing• Resilience/Survivability • Heterogeneity

– Different types of services– Different types of networks

• Distributed management• Cost effectiveness• Ease of attachment• Accountability

Page 34: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Survivability

• Network should continue to work, even if some devices fail, are compromised, etc.

How well does the current Internet support survivability?

Page 35: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Distributed Management

• Addressing (ARIN, RIPE, APNIC, etc.)– Though this was recently threatened.

• Naming (DNS)• Routing (BGP)

Many examples:

No single entity in charge. Allows for organic growth, scalable management.

Tradeoff: No one party has visibility/control

Page 36: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Heterogeneous Services

• TCP/IP designed as a monolithic transport– TCP for flow control, reliable delivery– IP for forwarding

• Became clear that not every type of application would need reliable, in-order delivery– Example: Voice and video over networks– Example: DNS– Why don’t these applications require reliable, in-order

delivery?– Narrow waist: allowed proliferation of transport protocols

Page 37: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Accountability

• Note: Accountability mentioned in early papers on TCP/IP, but not prioritized

• Datagram networks make accounting tricky– Circuit-switched networks are easier to bill– Payments/billing on the Internet is much less precise

Tradeoff: Broken payment models and incentives.

Page 38: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

So…what has changed?

• Security and Accountability • Availability• Mobility• Scaling • Management• Support for disconnected/intermittent operation

(e.g., in developing regions)• …

Would you make the same decisions about layering, resource sharing, protocol semantics and agreements, etc.?

Page 39: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Security

February 2000 March 2006

Lectures 23-25

Page 40: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Scaling Lecture 13 and others

Page 41: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Availability

Is it possible to get to “5 nines” of availability?If so, how?

Lecture 5 and others

Page 42: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Mobility

…and social networking.

Lectures 13, 18, 28, …

Page 43: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Management

• Maintaining availability and correcting problems requires constant vigilance, intuition, etc.

• Failures at various layers can make things hard

Lecture 25

Page 44: Course Overview and Introduction CS 4251: Computer Networking II Nick Feamster Spring 2008.

Connectivity in Developing Regions

• Challenges– Power– Management– High cost and scarcity of upstream connectivity– Little-to-no wired infrastructure


Recommended