1 / 38

Course Overview and Introduction

This course provides an in-depth treatment of computer networking topics, including design, protocols, resource allocation, and naming. Students will gain hands-on experience with tools and analysis of real network traces. The course emphasizes re-evaluating design decisions and adapting protocols to changing requirements. The instructor, Nick Feamster, will guide students through lectures, readings, and discussions on current events in networking. The course components include problem sets, hands-on assignments, quizzes, a project, and collaboration policies.

kylec
Download Presentation

Course Overview and Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Course Overview and Introduction CS 4251: Computer Networking IINick FeamsterSpring 2008

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

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

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

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

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

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

  8. Networking in Current Events Threats to the Internet’s naming system “Network Neutrality”

  9. 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?

  10. 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?

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

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

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

  14. 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?

  15. Overview of Course Content

  16. Themes • Routing: Trees and Paths • The Protocol Stack: Protocols and Layering • Resource Allocation • Naming • Trust • Other themes • Hierarchy • Caching • Randomization

  17. Georgia Tech The Internet: A Network of Networks 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) Abilene Comcast AT&T Cogent

  18. 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:Adversarialenvironment

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

  20. Tree Forming and Route Finding

  21. Computing Routes • To deal with large scale, Internet routing employs hierarchy • Internet Service Providers connect to one another with interdomainrouting protocols (BGP) • ISPs have business relationships with one another • ISPs have PoPs that are connected with intradomain routing protocols

  22. 192.168.1.51 192.168.1.52 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 68.211.6.120:50878 Home Network Internet 68.211.6.120:50879 (more on NATs in lecture 17)

  23. Challenge: Scale

  24. The Protocol Stack

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

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

  27. Layering Mechanism: Encapsulation • This can be more complex • Example: Network layers can be encapsulated within another network layer User A User B Application(message)Transport(segment)Network(datagram)Link (frame) Get index.html Connection ID Source/Destination Link Address

  28. email WWW phone... SMTP HTTP RTP... TCP UDP… IP ethernet PPP… CSMA async sonet... copper fiber radio... 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” Applications Technology

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

  30. Resource Sharing

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

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

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

  34. 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?

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

  36. 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)

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

  38. 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?

More Related