the internet: packet switching and other big ideas
TRANSCRIPT
3
Recall:“Big Ideas” Underlying the Internet
Packet switchingFlexible, robust, efficient (in the network)
Enabled by “smart terminals”
End-to-end arguments in system designE.g., reliable in-order delivery via TCP
Rough consensus and running codeAs a means of creating and evolving a complex artifact
5
Or?
Metcalfe’s LawUtility of a network of N entities scales as number of potential connections, i.e., as N2
Reed’s LawUtility scales as the number of potential subgroups, i.e., as 2N
6
Or?
The Internet isn't complicated
The Internet isn't a thing. It's an agreement.
The Internet is stupid.
Adding value to the Internet lowers its value.
All the Internet's value grows on its edges.
The Internet’s three virtues:a. No one owns itb. Everyone can use itc. Anyone can improve it
http://www.worldofends.com/
Or? (Bradner’s 10 Critical Choices) 7
1) Make it all work on top of existing networks
2) Use packets, not circuits.
3) Create a (decentralized) ``routing'' function
4) Split Transmission Control Protocol (TCP) & Internet Protocol (IP)
5) ARPA funds UC Berkeley to put TCP/IP into Unix
6) CSNET, an early network used by universities, connects with the ARPANET
7) NSF requires users of the NSFNET to use TCP/IP
8) International telecommunications standards bodies reject TCP/IP, then create a separate standard called OSI
9) NSF creates an ``Acceptable Use Policy'' restricting NSFNET use to noncommercial activities
10) Once things start to build, government stays mostly out of the way
8
Or? (Tim O’Reilly)
I really believe we really are moving to a very, very different computing paradigm where applications actually live on the network. I mean, where exactly does Google live? It lives obviously on Google's bank of servers, but it also lives in a PC-based application.
10
Scalable Infrastructure
Scaling the Internet reliably and efficiently to hundreds of millions of nodes
Routing
Naming
Search
ConceptsHierarchy (=abstraction)
Soft state
Big central systems! (e.g., Google)
11
Routing in Packet Switched Network
Complex, crucial aspect of packet-switched networks
Characteristics requiredCorrectness
Simplicity
Robustness
Stability
Fairness
Optimality
Efficiency
12
Routing
End systems and routers maintain routing tables, which indicate next router to which datagram should be sent
Static May contain alternative routes
DynamicFlexible response to congestion and errors
13
Network Information Source and Update Timing
Routing decisions usually based on knowledge of network (not always)
Distributed routingNodes use local knowledge
May collect info from adjacent nodes
May collect info from all nodes on a potential route
Central routingCollect info from all nodes
Update timingWhen is network info held by nodes updated
Fixed - never updated
Adaptive - regular updates
15
Fixed Routing
Single permanent route for each source to destination pair
Determine routes using a least cost algorithm
Route fixed, at least until a change in network topology
20
Flooding
No network info required
Packet sent by node to every neighbor
Incoming packets retransmitted on every link except incoming link
Eventually a number of copies will arrive at destination
Each packet is uniquely numbered so duplicates can be discarded
Nodes can remember packets already forwarded to keep network load in bounds
Can include a hop count in packets
22
Properties of Flooding
All possible routes are triedVery robust
At least one packet will have taken minimum hop count route
Can be used to set up virtual circuit
All nodes are visitedUseful to distribute information (e.g. routing)
23
0
50
100
150
200
250
300
350
400
0 50 100 150 200IP delay (ms)
Ove
rlay
dela
y (m
s) .
AdaptiveUnstructured Multicast
“UMM: A dynamically adaptive, unstructured multicast overlay”
M. Ripeanu et al.
A
E
B
D
C
A’
E’
B’
D’
C’
A”
E”
B”
D”
C”
Applicationoverlay
Baseoverlay
Physicaltopology
0
2
4
6
8
10
024
048
072
096
012
0014
4016
8019
2021
6024
0026
4028
8031
2033
6036
0038
40
Time (sec)
RD
P
0
2
4
6
8
10
12
Max
xim
umlin
k st
ress
.
MaxRDP95% RDP90%RDPStress
10 nodes fail then
rejoin 900s later
RDP=1
RDP=2
24
Random Routing
Node selects one outgoing path for retransmission of incoming packet
Selection can be random or round robin
Can select outgoing path based on probability calculation
No network info needed
Route is typically not least cost nor minimum hop
25
Adaptive Routing
Used by almost all packet switching networks
Routing decisions change as conditions on the network change
Failure
Congestion
Requires info about network
Decisions more complex
Tradeoff between quality of network info and overhead
Reacting too quickly can cause oscillation
Too slowly may not be relevant
26
Adaptive Routing - Advantages
Improved performance
Aid congestion control
Complex systemMay not realize theoretical benefits
27
Classification
Based on information sourcesLocal (isolated)
Route to outgoing link with shortest queue
Can include bias for each destinationRarely used - do not make use of easily available info
Adjacent nodes
All nodes
29
ARPANET Routing Strategies:First Generation (1969)
Distributed adaptive
Estimated delay as performance criterion
Bellman-Ford algorithm
Node exchanges delay vector with neighbors
Update routing table based on incoming info
Doesn't consider line speed, just queue length
Queue length not a good measurement of delay
Responds slowly to congestion
30
ARPANET Routing Strategies:2nd Generation (1979)
Uses delay as performance criterion
Delay measured directly
Uses Dijkstra’s algorithm
Good under light and medium loads
Under heavy loads, little correlation between reported delays and those experienced
31
ARPANET Routing Strategies:3rd Generation (1987)
Link cost calculations changed
Measure average delay over last 10 seconds
Normalize based on current value and previous results
32
Least Cost Algorithms
Basis for routing decisionsCan minimize hop with each link cost 1
Can have link value inversely proportional to capacity
Given network of nodes connected by bi-directional links
Each link has a cost in each direction
Define cost of path between two nodes as sum of costs of links traversed
For each pair of nodes, find a path with the least cost
Link costs in different directions may be differentE.g. length of packet queue
33
Dijkstra’s Algorithm Definitions
Find shortest paths from given source node to all other nodes, by developing paths in order of increasing path lengthN =set of nodes in the networks = source nodeT = set of nodes so far incorporated by the algorithmw(i, j) = link cost from node i to node j
w(i, i) = 0w(i, j) = ∞ if the two nodes are not directly connectedw(i, j) ≥ 0 if the two nodes are directly connected
L(n) = cost of least-cost path from node s to node n currently known
At termination, L(n) is cost of least-cost path from s to n
34Dijkstra’s Algorithm Method
Step 1 [Initialization] T = {s} Set of nodes so far incorporated consists of only source node
L(n) = w(s, n) for n ≠ s
Initial path costs to neighboring nodes are simply link costs
Step 2 [Get Next Node]Find neighboring node not in T with least-cost path from s
Incorporate node into T
Also incorporate the edge that is incident on that node and a node in T that contributes to the path
Step 3 [Update Least-Cost Paths]L(n) = min[L(n), L(x) + w(x, n)] for all n ∉ T
If latter term is minimum, path from s to n is path from s to x concatenated with edge from x to n
Algorithm terminates when all nodes have been added to T
35
Dijkstra’s Algorithm Notes
At termination, value L(x) associated with each node x is cost (length) of least-cost path from s to x.
In addition, T defines least-cost path from s to each other node
One iteration of steps 2 and 3 adds one new node to T
Defines least cost path from s to that node
38
Autonomous Systems (AS)
Group of routers
Exchange information
Common routing protocol
Set of routers and networks managed by single organization
A connected networkThere is at least one route between any pair of nodes
39
Interior Router Protocol (IRP)
Passes routing information between routers within AS
May be more than one AS in internet
Routing algorithms and tables may differ between different AS
Routers need some info about networks outside their AS
Uses exterior router protocol (ERP)
IRP needs detailed model
ERP supports summary information on reachability
40
Border Gateway Protocol
Internet BGP routing tables number more than 90,000 routes
BGP uses many route parameters, called attributes, to define routing policies and maintain a stable routing environment
41
BGP Routing Information Exchange
Within AS, router builds topology picture using IGP
Router issues Update message to other routers outside AS using BGP
These routers exchange info with other routers in other AS
Routers must then decide best routes
42Classless Interdomain Routing:Used by BGP to reduce table sizes
E.g., an ISP owns the IP address block 195.10.x.x from the Class C address space
This block consists of 256 Class C address blocks, 195.10.0.x through 195.10.255.x.
ISP assigns Class C block to each customer
Without CIDR, the ISP would advertise 256 Class C address blocks to its BGP peers
With CIDR, BGP can supernet the address space and advertise one block, 195.10.x.x.
This block is the same size as a traditional Class B address block (thus class distinctions are rendered obsolete)
43Subnets and Subnet Masks
Allow arbitrary complexity of internetworkedLANs within organization
Insulate overall internet from growth of network numbers and routing complexity
Site looks to rest of internet like single network
Each LAN assigned subnet number
Host portion of address partitioned into subnet number and host number
Local routers route within subnetted network
Subnet mask indicates which bits are subnet number and which are host number