48
CMSC417 Computer Networks Prof. Ashok K. Agrawala © 2017 Ashok Agrawala September 18, 2018 Fall 2018 CMSC417 1

Computer Networks - UMD

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computer Networks - UMD

CMSC417

Computer Networks Prof. Ashok K. Agrawala

© 2017 Ashok Agrawala

September 18, 2018Fall 2018 CMSC417 1

Page 2: Computer Networks - UMD

Fall 2018 2CMSC417

Message, Segment, Packet, and Frame

Page 3: Computer Networks - UMD

IP Addresses

IP address formats.

Fall 2018 CMSC417 3

Page 4: Computer Networks - UMD

IP Address and a 24-bit Subnet Mask

4

00001100 00100010 10011110 00000101

12 34 158 5

11111111 11111111 11111111 00000000

255 255 255 0

Address

MaskFall 2018 CMSC417

Page 5: Computer Networks - UMD

Classless Inter-Domain Routing (CIDR)

5

IP Address : 12.4.0.0 IP Mask: 255.254.0.0

00001100 00000100 00000000 00000000

11111111 11111110 00000000 00000000

Address

Mask

for hosts Network Prefix

Use two 32-bit numbers to represent a network.

Network number = IP address + Mask

Written as 12.4.0.0/15Fall 2018 CMSC417

Page 6: Computer Networks - UMD

Routing

September 18 6CMSC417 Set 6

Page 7: Computer Networks - UMD

Routing Algorithms• The Optimality Principle

• Shortest Path Routing

• Flooding

• Distance Vector Routing

• Link State Routing

• Hierarchical Routing

• Broadcast Routing

• Multicast Routing

• Routing for Mobile Hosts

• Routing in Ad Hoc NetworksSeptember 18 CMSC417 Set 6 7

Page 8: Computer Networks - UMD

What is Routing?

•A famous quotation from RFC 791“A name indicates what we seek.An address indicates where it is.A route indicates how we get there.”

-- Jon Postel

September 18 9CMSC417 Set 6

Page 9: Computer Networks - UMD

Routing vs. Forwarding• Routing: control planeo Computing paths the packets will followo Routers talking amongst themselveso Individual router creating a forwarding table

• Forwarding: data planeo Directing a data packet to an outgoing linko Individual router using a forwarding table

September 18 10CMSC417 Set 6

Page 10: Computer Networks - UMD

Data and Control Planes

Switching

Fabric

Processor

Line card

Line card

Line card

Line card

Line card

Line card

data plane

control plane

September 18 11CMSC417 Set 6

Page 11: Computer Networks - UMD

Router Physical Layout

Juniper T series

Cisco 12000

Switch

Linecards

September 18 12CMSC417 Set 6

Page 12: Computer Networks - UMD

Line Cards (Interface Cards, Adaptors)• Interfacing oPhysical link

oSwitching fabric

• Packet handlingoPacket forwarding

oDecrement time-to-live

oBuffer management

oLink scheduling

oPacket filtering

oRate limiting

oPacket marking

oMeasurement

to/from link

to/from switch

lookup

Rec

eiv

e

Tran

smit

September 18 13CMSC417 Set 6

Page 13: Computer Networks - UMD

Switching Fabric

• Deliver packet inside the routeroFrom incoming interface to outgoing interface

oA small network in and of itself

• Must operate very quicklyoMultiple packets going to same outgoing interface

oSwitch scheduling to match inputs to outputs

• Implementation techniquesoBus, crossbar, interconnection network, …

oRunning at a faster speed (e.g., 2X) than links

oDividing variable-length packets into fixed-size cells

September 18 14CMSC417 Set 6

Page 14: Computer Networks - UMD

Packet Switching

R1Link 1

Link 2

Link 3

Link 4

Link 1, ingress Link 1, egress

Link 2, ingress Link 2, egress

Link 3, ingress Link 3, egress

Link 4, ingress Link 4, egress

ChooseEgress

ChooseEgress

ChooseEgress

ChooseEgress

“4”

“4”

September 18 15CMSC417 Set 6

Page 15: Computer Networks - UMD

Router Processor• So-called “Loopback” interface

o IP address of the CPU on the router

• Interface to network administratorsoCommand-line interface for configuration

oTransmission of measurement statistics

• Handling of special data packetsoPackets with IP options enabled

oPackets with expired Time-To-Live field

• Control-plane softwareo Implementation of the routing protocols

oCreation of forwarding table for the line cards

September 18 16CMSC417 Set 6

Page 16: Computer Networks - UMD

Where do Forwarding Tables Come From?

• Routers have forwarding tables that map IP prefix to outgoing links

• Entries can be statically configured (e. g. “map 12.34.158.0/24 to Serial0/0.1”)

• But, this doesn’t adapt oTo failures

oTo new equipment

oTo the need to balance load

• That is where routing protocols come in

September 18 17CMSC417 Set 6

Page 17: Computer Networks - UMD

Computing Paths Between Routers

• Routers need to know two thingsoWhich router to use to reach a destination prefixoWhich outgoing interface to use to reach that router

How do you know how to forward packets toward z?

12.34.158.0/24

Interface along the path to z

u z

Router z that can reach destination

September 18 18CMSC417 Set 6

Page 18: Computer Networks - UMD

Fairness vs. Efficiency

Network with a conflict between fairness and efficiency.

September 18 CMSC417 Set 6 19

Page 19: Computer Networks - UMD

The Optimality Principle

CMSC417 Set 6

Each portion of a best path is also a best path; the union of them to

a router is a tree called the sink tree

Network Sink tree of best paths to router B

B

Best means

fewest

hops in the

example

Page 20: Computer Networks - UMD

Computing the Shortest Paths

September 18 21CMSC417 Set 6

(assuming you already know the topology)

Page 21: Computer Networks - UMD

Shortest-Path Routing• Path-selection model

oDestination-based

o Load-insensitive (e.g., static link weights)

oMinimum hop count or sum of link weights

3

2

2

1

1

4

1

4

5

3September 18 22CMSC417 Set 6

Page 22: Computer Networks - UMD

Shortest-Path Problem • Given: network topology with link costsoc(x,y): link cost from node x to node y

o Infinity if x and y are not direct neighbors

• Compute: least-cost paths to all nodesoFrom a given source u to all other nodes

op(v): predecessor node along path from source to v

3

2

2

1

1

4

1

4

5

3

u

v

p(v)

September 18 23CMSC417 Set 6

Page 23: Computer Networks - UMD

Dijkstra’s Shortest-Path Algorithm

• Iterative algorithm: after k iterations, know least-cost path to k nodes

• S: nodes whose least-cost path definitively knowno Initially, S = {u} where u is the source node

oAdd one node to S in each iteration

• D(v): current cost of path from source to node v• Initially, D(v) = c(u,v) for all nodes v adjacent to u

• … and D(v) = ∞ for all other nodes v

• Continually update D(v) as shorter paths are learned

September 18 24CMSC417 Set 6

Page 24: Computer Networks - UMD

Dijsktra’s Algorithm1 Initialization:

2 S = {u}

3 for all nodes v

4 if (v is adjacent to u)

5 D(v) = c(u,v)

6 else D(v) = ∞

7

8 Loop

9 find w not in S with the smallest D(w)

10 add w to S

11 update D(v) for all v adjacent to w and not in S:

12 D(v) = min{D(v), D(w) + c(w,v)}

13 until all nodes in SSeptember 18 25CMSC417 Set 6

Page 25: Computer Networks - UMD

Dijkstra’s Algorithm Example

3

2

2

1

1

4

1

4

5

3

3

2

2

1

1

4

1

4

5

3

3

2

2

1

1

4

1

4

5

3

3

2

2

1

1

4

1

4

5

3September 18 26CMSC417 Set 6

Page 26: Computer Networks - UMD

Dijkstra’s Algorithm Example

3

2

2

1

1

4

1

4

5

3

3

2

2

1

1

4

1

4

5

3

3

2

2

1

1

4

1

4

5

3

3

2

2

1

1

4

1

4

5

3September 18 27CMSC417 Set 6

Page 27: Computer Networks - UMD

Shortest-Path Tree

Shortest-path tree from u

Forwarding table at u

3

2

2

1

1

4

1

4

5

3

u

v

w

x

y

z

s

t

v (u,v)

w (u,w)

x (u,w)

y (u,v)

z (u,v)

link

s (u,w)

t (u,w)

September 18 28CMSC417 Set 6

Page 28: Computer Networks - UMD

Shortest Path Algorithm

CMSC417 Set 6

A network and first five steps in computing the shortest paths from A to D. Pink arrows show the sink tree so far.

September 18 29

Page 29: Computer Networks - UMD

Shortest path

Dijkstra's algorithm to compute the shortest path through a graph.

5-8 top

September 18 CMSC417 Set 6 30

Start with the sink, all other nodes are unreachable

Page 30: Computer Networks - UMD

Shortest path (2)

Dijkstra's algorithm to compute the shortest path through a graph.

5-8

bottom

September 18 CMSC417 Set 6 31

Relaxation step. Lower distance to nodes linked to newest member of the sink tree

Find the lowest distance, add it to the sink tree, and repeat until done

Page 31: Computer Networks - UMD

Learning the Topology

September 18 32CMSC417 Set 6

(by the routers talking among themselves)

Page 32: Computer Networks - UMD

Link-State Routing

• Each router keeps track of its incident linksoWhether the link is up or down

oThe cost on the link

• Each router broadcasts the link state to give every router a complete view of the graph

• Each router runs Dijkstra’s algorithm to compute the shortest ptahs and construct the forwarding Example protocolsoOpen Shortest Path First (OSPF)

o Intermediate System – Intermediate System (IS-IS)

September 18 33CMSC417 Set 6

Page 33: Computer Networks - UMD

Link State RoutingEach router must do the following:

1. Discover its neighbors, learn their network address.

2. Measure the delay or cost to each of its neighbors.

3. Construct a packet telling all it has just learned.

4. Send this packet to all other routers.

5. Compute the shortest path to every other router.

September 18 CMSC417 Set 6 34

Page 34: Computer Networks - UMD

Learning about the Neighbors

(a) Nine routers and a LAN. (b) A graph model of (a).

September 18 CMSC417 Set 6 35

Page 35: Computer Networks - UMD

Measuring Line Cost

A subnet in which the East and West parts are connected by two lines.

September 18 CMSC417 Set 6 36

Page 36: Computer Networks - UMD

Detecting Topology Changes

• BeaconingoPeriodic “hello” messages in both directionsoDetect a failure after a few missed “hellos”

• Performance trade-offsoDetection speedoOverhead on link bandwidth and CPUoLikelihood of false detection

“hello”

September 18 37CMSC417 Set 6

Page 37: Computer Networks - UMD

Broadcasting the Link State

Flooding1. Node sends link-state information out its links2. The next node sends out all of its links,

• except the one where the information arrived

X A

C B D

(a)

X A

C B D

(b)

X A

C B D

(c)

X A

C B D

(d)September 18 38CMSC417 Set 6

Page 38: Computer Networks - UMD

Broadcasting the Link State

• Reliable flooding: Ensure all nodes receive link-state information, and that they use the latest version

• Challenges• Packet loss

• Out-of-order arrival

• Solutions• Acknowledgments and retransmissions

• Sequence numbers

• Time-to-live for each packet

September 18 39CMSC417 Set 6

Page 39: Computer Networks - UMD

Building Link State Packets

(a) A subnet. (b) The link state packets for this subnet.

September 18 CMSC417 Set 6 40

Page 40: Computer Networks - UMD

Distributing the Link State Packets

The packet buffer for router B in the previous slide

September 18 CMSC417 Set 6 41

Page 41: Computer Networks - UMD

When to Initiate Flooding

• Topology changeo Link or node failureo Link or node recovery

• Configuration change, link cost change

• Periodicallyo Refresh the link-state informationo Typically (say) 30 minuteso Corrects for possible corruption of the data

September 18 42CMSC417 Set 6

Page 42: Computer Networks - UMD

When the Routers Disagree

(during transient periods)

September 18 43CMSC417 Set 6

Page 43: Computer Networks - UMD

Convergence• Getting consistent routing information to all nodes (e. g. all

nodes having the same link-state database)

• Consistent forwarding after convergenceo All nodes have the same link-state database

o All nodes forward packets on shortest paths

o The next router on the path forwards to the next hop

3

2

2

1

1

4

1

4

5

3September 18 44CMSC417 Set 6

Page 44: Computer Networks - UMD

Transient Disruptions

Detection delayo A node does not detect a failed link immediately

o … and forwards data packets into a “blackhole”

o Depends on timeout for detecting lost hellos

3

2

2

1

1

4

1

4

5

3

September 18 45CMSC417 Set 6

Page 45: Computer Networks - UMD

Transient Disruptions

Inconsistent link-state databaseo Some routers know about failure before others

o The shortest paths are no longer consistent

o Can cause transient forwarding loops

3

2

2

1

1

4

1

4

5

3

3

2

2

1

1

4

1

4 3

September 18 46CMSC417 Set 6

Page 46: Computer Networks - UMD

Convergence Delay

• Sources of convergence delayo Detection latencyo Flooding of link-state informationo Shortest-path computationo Creating the forwarding table

• Performance during convergence periodo Lost packets due to blackholes and TTL expiryo Looping packets consuming resourceso Out-of-order packets reaching the destination

• Very bad for VoIP, online gaming, and video

September 18 47CMSC417 Set 6

Page 47: Computer Networks - UMD

Reducing Convergence Delay

• Faster detectiono Smaller hello timerso Link-layer technologies that can detect failures

• Faster floodingo Flooding immediatelyo Sending link-state packets with high-priority

• Faster computationo Faster processors on the routerso Incremental Dijkstra’s algorithm

• Faster forwarding-table update via data structures that support incremental updates

September 18 48CMSC417 Set 6

Page 48: Computer Networks - UMD

Scaling Link-State Routing• Overhead of link-state routingo Flooding link-state packets throughout the network

o Running Dijkstra’s shortest-path algorithm

• Introducing hierarchy through “areas”

Area 0

Area 1 Area 2

Area 3 Area 4

areaborderrouter

September 18 49CMSC417 Set 6