the internet: packet switching and other big ideas

45
The Internet: Packet Switching and Other Big Ideas Ian Foster

Upload: others

Post on 18-Dec-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

The Internet:Packet Switching and

Other Big Ideas

Ian Foster

Recall:The Internet

2

19694 nodes

2004100s of millions

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

4

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.

9

DatagramDiagram

10

Scalable Infrastructure

Scaling the Internet reliably and efficiently to hundreds of millions of nodes

Routing

Naming

Email

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

14

Routing Strategies

Fixed

Flooding

Random

Adaptive

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

16

Sample AS

17

Directed Graph of

AS

18

Performance Criteria

Used for selection of route

Minimum hop

Least cost

19

Fixed RoutingTables

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

21

Flooding Example

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

28

Isolated Adaptive Routing

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

36

Example of Dijkstra’s Algorithm

37

IRP and ERP

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

44

Routing Using Subnets

45

Summary: Routing

Further reading: William Stallings,Data and Computer Communications

Routing Information Protocol: http://www.faqs.org/rfcs/rfc1058.html