Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Networking Philosopher’s Problem

Similar presentations


Presentation on theme: "The Networking Philosopher’s Problem"— Presentation transcript:

1 The Networking Philosopher’s Problem
Jennifer Rexford Computer Science Department Princeton University

2 The Internet: An Exciting Time
One of the most influential inventions A research experiment that escaped from the lab … to be a global communications infrastructure Ever wider reach Today: 1.7 billion users Tomorrow: more users, computers, sensors Near-constant innovation Apps: Web, P2P, social networks, virtual worlds Links: optics, WiFi, cellular, WiMax, …

3 So, why every two years, when I teach graduate networking, I have all sorts of angst...

4 What is Networking?

5 A Plethora of Protocol Acronyms?
WAP SNMP IPX SIP PPP MAC FTP LLDP UDP HIP ICMP OSPF RTP IMAP IGMP BGP HTTP ECN PIM RED ARP IP TCP RIP MPLS RTCP SMTP BFD CIDR Red: network layer Green: transport layer Purple: application layer Blue: routing Orange: enterprise/edge networks Black: other stuff Most have three or four letters, except IP has just two. But IP is special, as it is the center of the known universe. RTSP NNTP TLS NAT SACK STUN SSH DNS DHCP VTP VLAN LDP POP LISP TFTP

6 A Heap of Header Formats?
Header formats have gotten more colorful in recent years (I am old enough to remember when they were in black and white, and courier font), but they are still awfully boring. Zzzzz… Have you seen the lego version of the IP and TCP header?

7 TCP/IP Header Formats in Lego

8 A Big Bunch of Boxes? Load balancer Label Switched Router Switch
Scrubber Repeater Gateway Bridge Intrusion Detection System Route Reflector Deep Packet Inspection DHCP server Packet shaper Firewall Ask yourself what is the real difference between these components? Do we need to think of them as distinct? Can a common piece of hardware support many of these functions? Do ever need to do more than one of these functions at the same time and place? NAT Hub Packet sniffer DNS server WAN accelerator Base station Proxy

9 A Ton of Tools? arpwatch tcpdump syslog wget nslookup traceroute trat
snort nmap whois ipconfig rancid ntop bro net-snmp dig ping iperf wireshark NDT dummynet mrtg

10 What Do Peers in Other Fields Say?
“You networking people are very curious.  You really love your artifacts.” “In my college networking class I fell asleep at the start of the semester when the IP header was on the screen, and woke up at the end of the semester with the TCP header on the screen.” “Networking is all details and no principles.” Is networking “just the (arti)facts”?

11 An Application Domain? All of the next few slides have an element of truth in them. These are perfectly reasonable ways to think of networking as a “domain” rather than a “discipline”.

12 Application Domain for Theory?
Algorithms and data structures Control theory Queuing theory Optimization theory Game theory and mechanism design Formal methods Information theory Cryptography Programming languages Graph theory Algos and data structures: data plane (longest-prefix match, packet classification), control plane (Dijkstra, Bellman-Ford, spanning tree), DHT, … Control theory: TCP, load-sensitive routing Queuing theory: justification for packet switching (i.e., studying statistical multiplexing) Optimization: design/analysis of protocols like TCP congestion control, tuning protocols for traffic engineering Game theory: interdomain routing, sharing CPU/bandwidth/power in mobile ad hoc networks Formal methods: design and validation of protocols Info theory: inference of network properties from limited measurements Crypto: secure protocols, analysis of security properties of new/existing protocols PL: configuration languages, software-defined networking Graph theory: graph algorithms, metrics for characterizing topologies

13 Application Domain for Systems?
Distributed systems Operating systems Computer architecture Software engineering Distributed systems: how different from networking? Evolved somewhat separately. DS assumes underlying connectivity of some sort. Yet, common issues, and they are more mature than we are. Operating systems: end-host networking stack Computer architecture: network interface card, router hardware, etc. Software engineering: protocol design, understanding requirements, …

14 An Exercise in Entrepreneurship?
Identify a need or desirable capability Whether previously known or not Invent a new feature or system that provides it Determine how it fits in the existing network Build and/or evaluate your solution Pitch or $ell the problem and solution to others Whether to investors or a program committee Bask in glory, or lick your wounds

15 What Peers in Other Fields Say?
“Networking papers are strange.  They have a lot of text.” “What are the top ten classic problems in networking?  I would like to solve one of them and submit a paper to SIGCOMM.” After hearing that we don't have such a list: "Then how do you consider networking a discipline?” “So, these networking research people today aren't doing theory, and yet they aren't the people who brought us the Internet.  What exactly are they doing?” “Networking is an opportunistic discipline.” Is networking a problem domain or a scholarly discipline?

16 What Do We Teach Networking Students?

17 How Practitioners Learn Networking
Certification courses On how to configure specific pieces of equipment “On the job” training Aka “trial by fire”

18 How Colleges Teach Networking
Undergraduates: how the Internet works Graduates: read the 20 “best” papers Few general principles, little “hands-on” experience (I’m as guilty as anyone) “There is a tendency in our field to believe that everything we currently use is a paragon of engineering, rather than a snapshot of our understanding at the time.  We build great myths of spin about how what we have done is the only way to do it to the point that our universities now teach the flaws to students (and professors and textbook authors) who don't know better.” -- John Day No need to be too apologetic here. This is a reflection of where we are as a field. The key point is not that we should feel bad about this, but rather than we should not be satisfied with the current state of our understanding.

19 Now That I’ve Bummed You Out…
Or, Why Should You Stay in This Field? These next few slides take the critiques in the previous slides and give them a positive spin. It’s not that the earlier slides were wrong, so much as there being an upside to all this…

20 So, Why is Networking Cool?
Tangible, relates to reality Can measure/build things (we do “love our artifacts”) Can truly effect far-reaching change in the real world Inherently interdisciplinary Well-motivated problems + rigorous solution techniques Interplay with policy, economics, and social science Widely-read papers Many of the most cited papers in CS are in networking Congestion control, distributed hash tables, resource reservation, self-similar traffic, multimedia protocols,… Three of top-ten CS authors (Shenker, Jacobson, Floyd) So, somebody is interested in reading this stuff…  The point about widely-read papers is meant to be somewhat glib. High citation count doesn’t necessary mean important or deep – just that the field is large (and perhaps, as is true in networking, interdisciplinary). Or, maybe the networking field is just a large cult, where we all cite each others. ;)

21 So, Why is Networking Cool? (Cont)
Young, relatively immature field Great if you like to make order out of chaos Tremendous intellectual progress is still needed You can help decide what networking really is Defining the problem is a big part of the challenge Recognizing a need, formulating a well-defined problem … is at least as important as solving the problem… Lots of platforms for building your ideas Programmability: Click, OpenFlow/NOX, NetFPGA Routing software: Quagga, XORP, and Bird Testbeds: Emulab, PlanetLab, Orbit, GENI, … Measurements: RouteViews, traceroute, Internet2, … The “lots of platforms” is relevant to the course, where we will leverage these platforms to Do Great Things.

22 But, That Doesn’t Say What Networking Really Is

23 Maybe networking is defined more by the questions we ask, than the techniques we use

24 Decomposition of Function
How to Design and operate components and protocols That can be used and combined in many ways To do many things Definition and placement of function What to do, and where to do it The “division of labor” Between the host, network, and management systems Across multiple concurrent protocols and mechanisms How do we know if we got it right? Soul searching? A proof or analysis? A prototype?

25 Today’s Divisions of Labor
End host and the network Packet switching Best-effort delivery Fixed end-points with IP addresses Protocol layers IP as the center of the universe IP above the link layer IP below transport and application network UDP TCP Data Link Physical Applications

26 Today’s Divisions of Labor
Network elements Data plane: packets Control plane: events Management: policies Administrative domains Autonomous Systems Destination IP prefixes Policy-based path-vector routing “d: path (2,1)” “d: path (1)” 2 3 1 data traffic data traffic d

27 Beyond Today’s Division of Labor

28 Between Hosts and the Network
Networked services hosted in data centers Web sites, social networks, video streaming, online gaming, virtual worlds, ... Replicated on servers in multiple data centers Churn from mobile users, migrating VMs, failures, … Time to rethink Naming and addressing Early vs. late binding Server and network load balancing End-host network stack and socket API data centers . . . . servers Internet clients

29 Between Network and Management
Smart management, dumb network Dumb management, smart network Network elements talk amongst themselves Adapting automatically measure control

30 Between Administrative Domains
Evolvable Protocols (under-specified, programmable) ? Programmability determines the space in which the economic incentives play out. The programmability plus the incentives determines whether/what X-ities can be satisfied. We’re starting to see some work in this space, though admittedly focused on analyzing existing systems moreso than designing systems that identify the right programming model. Autonomy (autonomous parties, with different economic objectives) Global Properties (stability, scalability, reliability, security, managability, …) Can we have all three? Under what conditions?

31 Conclusion Networking is cool But the field is immature Please help!
Real, important problems Opportunities for impact Inherently interdisciplinary But the field is immature More of a “domain” than a “discipline” Still searching for its intellectual center Please help! Master a discipline and apply it to networking Define what the networking “discipline” really is

32 Random Advice on Being an Effective Graduate Student


Download ppt "The Networking Philosopher’s Problem"

Similar presentations


Ads by Google