CSE534 Fundamentals$of$Networking$ Intro…
Transcript of CSE534 Fundamentals$of$Networking$ Intro…
![Page 1: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/1.jpg)
CSE 534 Fundamentals of Networking Intro + Undergrad Overview
1
Vyas Sekar Stony Brook University
Based in part on content borrowed from: Aditya Akella, Samir Das, Nick McKeown, Don Porter, ScoL Shenker, Ion Stoica
![Page 2: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/2.jpg)
IntroducNon • Me = Vyas Sekar
• Best way to reach me – vyas@cs – (Email to setup Nme before coming to my office Rm 2424)
• TentaNve Office Hours: Mon 5:30 – 6:30
• TA: TBD
• Course webpage hLp://www.cs.stonybrook.edu/~vyas/teaching/CSE_534/Spring13/
Keep checking for updates!
2
![Page 3: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/3.jpg)
Class ExpectaNons
• Not a theory class (don’t get mislead by “Fundamentals”)
• Expect to write code – All three projects will involve wriNng code – All three projects involve use real n/w tools
• We assume you have UG networks/systems background 3
![Page 4: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/4.jpg)
Goals
• How does the Internet work? – Architecture, protocols, systems
• Get familiar with current Internet research – CriNcally read research papers
• Where is it headed?
• Understand soluNons in context – Goals (e.g., performance, security, scalability) – AssumpNons (e.g., technology, economics)
4
![Page 5: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/5.jpg)
Grading
• 25% Midterm
• 25% Final
• 30% Projects: Three projects – To be done in groups of 3
• 10% Discussion/parNcipaNon
– Expect pop quizzes
• 10% Homeworks/paper summaries – To be done alone
5
![Page 6: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/6.jpg)
LogisNcs
• How to submit paper reviews hLps://docs.google.com/spreadsheet/viewform?formkey=dGpLaEdOdHA2azJ3OUlKWVk2dEFNRXc6MQ
• Class discussion
hLps://piazza.com/stonybrook/spring2013/cse534/home
• Project submissions (TBD)
• All links from course homepage
6
![Page 7: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/7.jpg)
Waitlist
• Wait for 2-‐3 classes to see what happens
• Do well on pop quiz J
7
![Page 8: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/8.jpg)
Outline
• Preliminaries
• Undergrad overview
• How to read a paper
• QuesNons
8
![Page 9: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/9.jpg)
Key concepts • Layering
• Packet vs. Circuit switching
• Basics of Layer2
• Basics of rouNng protocols
• Brief history of the Internet
9
![Page 10: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/10.jpg)
Network Communication: Lots of Functions Needed
• Links • Multiplexing • Routing • Addressing/naming (locating peers) • Reliability • Flow control • Fragmentation How do you implement these functions? Key: Layering and protocols
![Page 11: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/11.jpg)
OSI vs. IP Layering
11
This is the Title of the Book, eMatter EditionCopyright © 2008 O’Reilly & Associates, Inc. All rights reserved.
Overview of Network Stack | 267
At each layer, numerous protocols are available. At the lowest level, where interfacesexchange data, the protocol in use is predetermined. A driver for that protocol isassociated with the interface, and all data that comes in on the interface is assumedto follow the protocol (i.e., Ethernet); if it doesn’t, errors are reported and no com-munication takes place.
But once the driver has to hand over data to a higher layer, a choice of protocolsensues. Should data at L3 be handled by IPv4, IPv6, IPX (the Novell NetWare proto-col), DECnet, or some other network-layer protocol? And a similar choice must bemade going from L3 to L4, where TCP, UDP, ICMP, and other protocols reside.
This chapter deals with the lower three layers and briefly touches on the fourth one.
An individual package of transmitted data is commonly called a frame on the linklayer, L2; a packet on the network layer; a segment on the transport layer; and amessage on the application layer.
The layers are often called the network stack, because communication travels downthe layers until it is physically transmitted across the wire (or wireless bands) andthen travels back up. Headers are also added and removed in a LIFO manner.
The Big PictureFigure 13-2 builds on the TCP/IP model in Figure 13-1. Figure 13-2 shows whichchapter covers each interface between adjacent layers. Some of these interfaces involvecommunication down the stack, whereas others involve communication upward:
Going up in the stack (for receiving a message)This chapter describes how ingress traffic is handed to the right protocol han-dler. (The meaning of ptype_base and ptype_all will become clear in the section“Protocol Handler Organization.”)
Figure 13-1. OSI and TCP/IP models
Application7
Presentation6
Session5
Transport4
Network3
Data link2
Physical1
OSI
Application
Transport (TCP/UDP/...)
Internet (IPv4, IPv6)
Link layer orHost-to-network(Ethernet, . . . )
TCP/IP
5
4
3
1/2
Message
Segment
Datagram/packet
Frame
![Page 12: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/12.jpg)
What is Layering?
• A way to deal with complexity – Add multiple levels of abstraction – Each level encapsulates some key functionality – And exports an interface to other components
• Layering: Modular approach to implementing network functionality by introducing abstractions
• Challenge: how to come up with the “right” abstractions?
![Page 13: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/13.jpg)
Power of Layering
• Solution: Intermediate layer that provides a single abstraction for various network technologies – O(1) work to add app/media – variation on “add another level of indirection”
SMTP SSH NFS
802.11 LAN
Coaxial cable
Fiber optic
Application
Transmission Media
HTTP
Intermediate layer
![Page 14: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/14.jpg)
Layering vs Not Layering
• Layer N may duplicate layer N-1 functionality – E.g., error recovery
• Layers may need same info (timestamp, MTU)
• Strict adherence to layering may hurt performance
• Some layers are not always cleanly separated – Inter-layer dependencies in implementations for performance reasons – Many cross-layer assumptions, e.g. buffer management
• Layer interfaces are not really standardized. – It would be hard to mix and match layers from independent
implementations, e.g., windows network apps on unix (w/o compatibility library)
![Page 15: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/15.jpg)
Key concepts • Layering
• Packet vs. Circuit switching
• Basics of Layer2
• Basics of rouNng protocols
• Brief history of the Internet
15
![Page 16: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/16.jpg)
Circuit Switching
• Source first establishes a circuit to destination – Switches along the way stores info about connection
• Possibly allocate resources • Different srs-dst’s get different paths
• Source sends the data over the circuit – No address required since path is established beforehand
• The connection is explicitly set up and torn down
• Switches use TDM (digital) or FDM (analog) to transmit data from various circuits
![Page 17: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/17.jpg)
Circuit Switching Discussion
• Positives – Fast and simple data transfer, once the circuit has been
established – Predictable performance since the circuit provides isolation from
other users • E.g. guaranteed max bandwidth
• Negatives – How about bursty traffic
• Circuit will be idle for significant periods of time • Also, can’t send more than max rate
– Circuit set-up/tear down is expensive – Also, reconfiguration is slow
• Fast becoming a non-issue
![Page 18: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/18.jpg)
Packet Switching
• Packet-switching: Benefits – Ability to exploit statistical multiplexing – More efficient bandwidth usage
• Packet switching: Concerns – Needs to buffer and deal with congestion: – More complex switches – Harder to provide good network services (e.g.,
delay and bandwidth guarantees)
![Page 19: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/19.jpg)
Key concepts • Layering
• Packet vs. Circuit switching
• Basics of Layer2
• Basics of rouNng protocols
• Brief history of the Internet
19
![Page 20: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/20.jpg)
Ethernet History
• Originally designed for a shared wire (e.g., coax cable)
• Each device listens to all traffic – Hardware filters out traffic intended for other hosts
• I.e., different desNnaNon MAC address – Can be put in “promiscuous” mode, and record everything (called a network sniffer)
• Sending: Device hardware automaNcally detects if another device is sending at same Nme – Random back-‐off and retry
![Page 21: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/21.jpg)
Early compeNNon
• Token-‐ring network: Devices passed a “token” around – Device with the token could send; all others listened
• Send latencies increased proporNonally to the number of hosts on the network – Even if they weren’t sending anything (sNll have to pass the token)
• Ethernet has beLer latency under low contenNon and beLer throughput under high
![Page 22: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/22.jpg)
Token ring
Source: hLp://www.datacoLage.com/nch/troperaNon.htm
![Page 23: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/23.jpg)
Shared vs Switched
Source: hLp://www.industrialethernetu.com/courses/401_3.htm
![Page 24: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/24.jpg)
Key concepts • Layering
• Packet vs. Circuit switching
• Basics of Layer2
• Basics of rouAng protocols
• Brief history of the Internet
24
![Page 25: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/25.jpg)
Distance-Vector Routing
• Idea – At any time, have cost/next hop of best known path to destination – Use cost ∞ when no path known
• Initially – Only have entries for directly connected nodes
A
E!
F!
C
D
B
2!
3!
6!
4!
1!
1!
1!
3!
Initial Table for A Dest Cost Next
Hop A 0 A B 4 B C ∞ – D ∞ – E 2 E F 6 F
![Page 26: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/26.jpg)
Distance-Vector Update
• Update(x,y,z) d ← c(x,z) + d(z,y) # Cost of path from x to y with first hop z if d < d(x,y)
# Found better path return d,z # Updated cost / next hop
else return d(x,y), nexthop(x,y) # Existing cost / next hop
x!
z!
y!
c(x,z)!d(z,y)!
d(x,y)!
![Page 27: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/27.jpg)
Link State Protocol Concept
• Every node gets complete copy of graph – Every node “floods” network with data about
its outgoing links • Every node computes routes to every
other node – Using single-source, shortest-path algorithm
• Process performed whenever needed – When connections die / reappear
![Page 28: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/28.jpg)
Sending Link States by Flooding
• X Wants to Send Information – Sends on all outgoing
links • When Node B
Receives Information from A – Send on all links other
than A
X A
C B D (a)
X A
C B D (b)
X A
C B D (c)
X A
C B D (d)
![Page 29: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/29.jpg)
Comparison of LS and DV Algorithms
Message complexity • LS: with n nodes, E links,
O(nE) messages • DV: exchange between
neighbors only O(E)
Speed of Convergence • LS: Complex computation
– But…can forward before computation
– may have oscillations • DV: convergence time varies
– may be routing loops – count-to-infinity problem – (faster with triggered
updates)
Space requirements: – LS maintains entire
topology – DV maintains only neighbor
state
![Page 30: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/30.jpg)
Inter-domain Routing: Hierarchy
• “Flat” routing not suited for the Internet – Doesn’t scale with network size
• Storage à Each node cannot be expected to store routes to every destination (or destination network)
• Convergence times increase • Communication à Total message count increases
– Administrative autonomy • Each internetwork may want to run its network independently
– E.g hide topology information from competitors
• Solution: Hierarchy via autonomous systems
![Page 31: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/31.jpg)
Internet’s Hierarchy
• What is an Autonomous System (AS)? – A set of routers under a single technical
administration • Use an interior gateway protocol (IGP) and common metrics
to route packets within the AS • Connect to other ASes using gateway routers • Use an exterior gateway protocol (EGP) to route packets to
other AS’s – IGP: OSPF, RIP (last class) – Today’s EGP: BGP version 4 – Similar to an “inter-network”
• Could also be a group of internetworks owned by a single commercial entity
![Page 32: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/32.jpg)
An example
Intra-AS routing algorithm + Inter-AS routing algorithm à Forwarding table
3b 3a
3c 1c
1a
1b
1d
2a
2c
2b AS 2 AS 3
AS 1
![Page 33: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/33.jpg)
Key concepts • Layering
• Packet vs. Circuit switching
• Basics of Layer1/Layer2
• Basics of rouNng protocols
• Brief history of the Internet
33
![Page 34: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/34.jpg)
34
The ARPANet
• Paul Baran – RAND Corp, early 1960s – Communications networks
that would survive a major enemy attack
• ARPANet: Research vehicle for “Resource Sharing Computer Networks” – 2 September 1969: UCLA
first node on the ARPANet – December 1969: 4 nodes
connected by phone lines
SRI 940
UCLA Sigma 7
UCSB IBM 360
Utah PDP 10
IMPs
BBN team that implemented the interface message processor
![Page 35: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/35.jpg)
History of the Internet
• 70’s: started as a research project, 56 kbps, < 100 computers
• 80-83: ARPANET and MILNET split, • 85-86: NSF builds NSFNET as backbone, links 6
Supercomputer centers, 1.5 Mbps, 10,000 computers • 87-90: link regional networks, NSI (NASA), ESNet (DOE),
DARTnet, TWBNet (DARPA), 100,000 computers • 90-92: NSFNET moves to 45 Mbps, 16 mid-level networks • 94: NSF backbone dismantled, multiple private backbones • Today: backbones run at >100 Gbps, >700 millions
computers in >200 countries
![Page 36: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/36.jpg)
36
![Page 37: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/37.jpg)
37
![Page 38: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/38.jpg)
Outline
• Preliminaries
• Undergrad overview
• How to read a paper
• QuesNons
38
![Page 39: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/39.jpg)
Quick survey?
• How many of you have read a research paper?
• How many read the Keshav paper posted?
39
![Page 40: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/40.jpg)
Three-‐pass approach
• Pass1: The skim – Read abstract, intro, conclusions, secNon Ntles
• Pass2: Grasp technical content – Main thrust + supporNng evidence
• Pass3: Virtually re-‐implement the paper – Challenge/QuesNon every assumpNon
40
![Page 41: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/41.jpg)
Five Cs to summarize the paper
• Category: What type of paper is this? A measurement paper? An analysis of an exisNng system? A descripNon of a research prototype?
• Context: Which other papers is it related to? Which theoreNcal bases were used to analyze the problem?
• Correctness: Do the assumpNons appear to be valid?
• ContribuAons: What are the paper’s main contribuNons?
• Clarity: Is the paper well wriLen?
41
![Page 42: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/42.jpg)
WriNng your review • Did you like this paper?
– Why? 1-‐2 sentences.
• What problem is this paper solving? – 2-‐3 sentences.
• What are the strengths of this paper? – 3-‐4 sentences.
• What are the main weaknesses in the paper? – 3-‐4 sentences.
• What would you do differently? Are there assumpNons you disagree with? Do you see ideas for future work or improving the soluNon? – 5-‐6 sentences
42
![Page 43: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/43.jpg)
Outline
• Preliminaries
• Undergrad overview
• How to read a paper
• Ques4ons/Discussion
43
![Page 44: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/44.jpg)
Why is networking cool?
• The Internet is on every top-‐100 invenNons list
• Real arNfact – Can measure/build things – Can impact the real world
• Interdisciplinary: Systems, Theory, Economics, Security.. • High impact! – Many of the most cited papers in CS are in networkin – We will read many of them!
44
![Page 45: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/45.jpg)
Why is networking uncool?
• IdenNty crisis: What is networking? – Protocol formats? – Boxes in the network? – Theory of rouNng/queueing?
• Is it a “discipline”? – What are the open problems in this field?
• SNll relaNvely young à “Problem domain”
45
![Page 46: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/46.jpg)
What makes networking challenging? • Asynchronous (speed of light)
• Things fail
• Diversity
• Need consensus across principals/domains
• Growth, unforseen apps
46
![Page 47: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/47.jpg)
Example of Layering
• Software and hardware for communication between two hosts
• Advantages: – Simplifies design and implementation – Easy to modify/evolve
Link hardware
Host-‐to-‐host connecNvity
ApplicaNon-‐to-‐applicaNon channels
ApplicaNon semanNcs
![Page 48: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/48.jpg)
48
![Page 49: CSE534 Fundamentals$of$Networking$ Intro…](https://reader031.fdocuments.in/reader031/viewer/2022022714/621a344971fd9b01ad6c176f/html5/thumbnails/49.jpg)
Switching in the Telephone Network