Title: The Internet: Packet Switching and Other Big Ideas
1The InternetPacket Switching and Other Big Ideas
2RecallThe Internet
1969 4 nodes
2004 100s of millions
3RecallBig Ideas Underlying the Internet
- Packet switching
- Flexible, robust, efficient (in the network)
- Enabled by smart terminals
- End-to-end arguments in system design
- E.g., reliable in-order delivery via TCP
- Rough consensus and running code
- As a means of creating and evolving a complex
artifact
4(No Transcript)
5Or?
- Metcalfes Law
- Utility of a network of N entities scales as
number of potential connections, i.e., as N2 - Reeds Law
- Utility scales as the number of potential
subgroups, i.e., as 2N
6Or?
- 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 Internets three virtues a. No one owns
it b. Everyone can use it c. Anyone can
improve it
http//www.worldofends.com/
7Or? (Bradners 10 Critical Choices)
- 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
8Or? (Tim OReilly)
- 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.
9DatagramDiagram
10Scalable Infrastructure
- Scaling the Internet reliably and efficiently to
hundreds of millions of nodes - Routing
- Naming
- Email
- Search
- Concepts
- Hierarchy (abstraction)
- Soft state
- Big central systems! (e.g., Google)
11Routing in Packet Switched Network
- Complex, crucial aspect of packet-switched
networks - Characteristics required
- Correctness
- Simplicity
- Robustness
- Stability
- Fairness
- Optimality
- Efficiency
12Routing
- End systems and routers maintain routing tables,
which indicate next router to which datagram
should be sent - Static
- May contain alternative routes
- Dynamic
- Flexible response to congestion and errors
13Network Information Source and Update Timing
- Routing decisions usually based on knowledge of
network (not always) - Distributed routing
- Nodes use local knowledge
- May collect info from adjacent nodes
- May collect info from all nodes on a potential
route - Central routing
- Collect info from all nodes
- Update timing
- When is network info held by nodes updated
- Fixed - never updated
- Adaptive - regular updates
14Routing Strategies
- Fixed
- Flooding
- Random
- Adaptive
15Fixed 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
16Sample AS
17Directed Graph of AS
18Performance Criteria
- Used for selection of route
- Minimum hop
- Least cost
19Fixed RoutingTables
20Flooding
- 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
21Flooding Example
22Properties of Flooding
- All possible routes are tried
- Very robust
- At least one packet will have taken minimum hop
count route - Can be used to set up virtual circuit
- All nodes are visited
- Useful to distribute information (e.g. routing)
23AdaptiveUnstructured Multicast
Application overlay
D
E
C
A
B
D
Base overlay
E
C
A
B
D
Physical topology
E
C
A
B
UMM A dynamically adaptive, unstructured
multicast overlay M. Ripeanu et al.
24Random 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
25Adaptive 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
26Adaptive Routing - Advantages
- Improved performance
- Aid congestion control
- Complex system
- May not realize theoretical benefits
27Classification
- Based on information sources
- Local (isolated)
- Route to outgoing link with shortest queue
- Can include bias for each destination
- Rarely used - do not make use of easily available
info - Adjacent nodes
- All nodes
28Isolated Adaptive Routing
29ARPANET Routing StrategiesFirst 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
30ARPANET Routing Strategies2nd Generation (1979)
- Uses delay as performance criterion
- Delay measured directly
- Uses Dijkstras algorithm
- Good under light and medium loads
- Under heavy loads, little correlation between
reported delays and those experienced
31ARPANET Routing Strategies3rd Generation (1987)
- Link cost calculations changed
- Measure average delay over last 10 seconds
- Normalize based on current value and previous
results
32Least Cost Algorithms
- Basis for routing decisions
- Can 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
different - E.g. length of packet queue
33Dijkstras Algorithm Definitions
- Find shortest paths from given source node to all
other nodes, by developing paths in order of
increasing path length - N set of nodes in the network
- s source node
- T set of nodes so far incorporated by the
algorithm - w(i, j) link cost from node i to node j
- w(i, i) 0
- w(i, j) ? if the two nodes are not directly
connected - w(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
34Dijkstras 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) minL(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
35Dijkstras 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
36Example of Dijkstras Algorithm
37IRP and ERP
38Autonomous Systems (AS)
- Group of routers
- Exchange information
- Common routing protocol
- Set of routers and networks managed by single
organization - A connected network
- There is at least one route between any pair of
nodes
39Interior 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
40Border 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
41BGP 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 internetworked LANs
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
44Routing Using Subnets
45Summary Routing
- Further reading William Stallings,Data and
Computer Communications - Routing Information Protocol http//www.faqs.org/
rfcs/rfc1058.html