183
ali.dmohammadi ali.dmohammadi @gmail.com @gmail.com Network Layer Network Layer 4- 4-1 Network Layer Computer Networks Computer Networks Shahrood University of Technology Shahrood University of Technology Department of Computer Engineering & IT Department of Computer Engineering & IT

Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

Embed Size (px)

Citation preview

Page 1: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-11

Network Layer

Computer NetworksComputer Networks

Shahrood University of TechnologyShahrood University of TechnologyDepartment of Computer Engineering & ITDepartment of Computer Engineering & IT

Page 2: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-33

Chapter 4 OutlineChapter 4 Outline

4.1 Introduction and Network Service Models4.2 Routing Principles4.3 Hierarchical Routing4.4 The Internet (IP) Protocol4.5 Routing in the Internet4.6 What’s Inside a Router4.7 IPv64.8 Multicast Routing4.9 Mobility

Page 3: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-44

Network Layer FunctionsNetwork Layer Functions

transport packet from sending to receiving hosts

network layer protocols in every host, router

three important functions: path determination: route

taken by packets from source to dest. (Routing Algorithms)

forwarding: move packets from router’s input to appropriate router output

call setup: some network architectures require router call setup along path before data flows

application

transportnetworkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

networkdata linkphysical

application

transportnetworkdata linkphysical

Page 4: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-55

Network Service ModelNetwork Service Model

Q: What service model for “channel” transporting packets from sender to receiver?

Services guaranteed bandwidth? preservation of inter-

packet timing (no jitter)? loss-free delivery? in-order delivery? congestion feedback to

sender?

virtual circuitor

datagram?

The most important abstraction provided

by network layer:

Page 5: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-66

Virtual circuitsVirtual circuits

call setup, teardown for each call before data can flow each packet carries VC identifier (not destination host ID) every router on source-destination path maintains “state”

for each passing connection transport-layer connection only involved two end systems

Link and router resources (bandwidth, buffers) may be allocated to VC

to get circuit-like performance.

“source-to-destination path behaves much like telephone circuit”

performance-wise network actions along source-to-destination path

Page 6: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-77

Virtual Circuits: Signaling ProtocolsVirtual Circuits: Signaling Protocols

used to setup, maintain teardown VC used in ATM, frame-relay, X.25 not used in today’s Internet

1. Initiate call

2. Incoming call3. Accept call

4. Call connected5. Data flow begins

6. Receive data

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

Page 7: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-88

Datagram networks: Datagram networks: the Internet modelthe Internet model

1. Send Data

2. Receive Data

application

transportnetworkdata linkphysical

application

transportnetworkdata linkphysical

no call setup at network layer routers: no state about end-to-end connections

no network-level concept of “connection” packets forwarded using destination host address

packets between same source-destination pair may take different paths

Page 8: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-99

Network Layer Service Models:Network Layer Service Models:

Internet model being extended: Integrated services, Differentiated Services Chapter 6

NetworkArchitecture

Internet

ATM

ATM

ATM

ATM

ServiceModel

best effort

CBR

VBR

ABR

UBR

Bandwidth

none

constantrateguaranteedrateguaranteed minimumnone

Loss

no

yes

yes

no

no

Order

no

yes

yes

yes

yes

Timing

no

yes

yes

no

no

Congestionfeedback

no (inferredvia loss)nocongestionnocongestionyes

no

Guarantees ?

CB

R:

Const

ant

bit

rate

VB

R:

Vari

able

bit

rate

AB

R:

Availa

ble

bit

rate

UB

R:

Unsp

eci

fied b

it r

ate

Page 9: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-1010

QoS FactorsQoS Factors

Timing Connection Establishment Delay End-To-End Delay

Connection Establishment Failure Probability Throughput or Bandwidth Guarantee Ordering Preservation Congestion Indication (Control) Bit-Error rate or Packet-Loss Rate Control Protection Priority Resilience (Return Back to Normal Operation).

Page 10: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-1111

Service ClasesService Clases

Guaranteed Quality of Service Predictive Quality of Service Best Effort Quality of Service

Guaranteed Quality of Service Predictive Quality of Service Best Effort Quality of Service

Page 11: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-1212

Guaranteed QoSGuaranteed QoS

Specified through QoS parameter values deterministic statistical

Single value - average (threshold, target) Pair of values - interval Triple of values – max., mean, min.

Specified through QoS parameter values deterministic statistical

Single value - average (threshold, target) Pair of values - interval Triple of values – max., mean, min.

Page 12: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-1313

Predictable ServicePredictable Service

Parameter bounds based on history, that is, past network behavior.

Parameter values are measured, and certain statistical analyses may be carried out

Parameter bounds based on history, that is, past network behavior.

Parameter values are measured, and certain statistical analyses may be carried out

Page 13: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-1414

Best Effort ServicesBest Effort Services

No guarantees of quality, no QoS parameter values UDP/IP

Partial guarantees, some QoS parameter values are given. TCP/IP

No guarantees of quality, no QoS parameter values UDP/IP

Partial guarantees, some QoS parameter values are given. TCP/IP

Page 14: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-1515

Datagram or VC Network: why?Datagram or VC Network: why?

Internet data exchange among

computers “elastic” service, no

strict timing req. “smart” end systems

(computers) can adapt, perform

control, error recovery simple inside

“network”, complexity at “edge”

many link types different characteristics uniform service is

difficult

ATM evolved from telephony human conversation:

strict timing, reliability requirements

need for guaranteed service

“dumb” end systems telephones complexity inside

network

Page 15: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-1616

Active Queue Management (AQM)Active Queue Management (AQM)

Performance Degradation in current TCP Congestion Control Multiple packet loss Low link utilization Congestion collapse

The role of the router (i.e., network) Control congestion effectively with a network Allocate bandwidth fairly

Page 16: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-1717

Buffering in IP routersBuffering in IP routers

Buffer size Space for bursts of

packets Latency

Router

Internet Router

NetworkInterface

NetworkInterface

Dropping packets When? What?

Page 17: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-1818

FIFO Queueing in the RouterFIFO Queueing in the Router(Drop Tail)(Drop Tail)

Single queue maintained

NetworkInterface

NetworkInterface

Page 18: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-1919

FIFO Queueing in the Router FIFO Queueing in the Router (Drop Tail)(Drop Tail)

Single queue maintained Dequeue from head

NetworkInterface

NetworkInterface

Page 19: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-2020

FIFO Queueing in the Router FIFO Queueing in the Router (Drop Tail)(Drop Tail)

Single queue maintained Dequeue from head Enqueue at tail

NetworkInterface

NetworkInterface

Page 20: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-2121

FIFO Queueing in the Router FIFO Queueing in the Router (Drop Tail)(Drop Tail)

Single queue maintained Dequeue from head Enqueue at tail When full

NetworkInterface

NetworkInterface

Page 21: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-2222

FIFO Queueing in the Router FIFO Queueing in the Router (Drop Tail)(Drop Tail)

Single queue maintained Dequeue from head Enqueue at tail When full drop arriving packet (drop-tail)

NetworkInterface

NetworkInterface

Page 22: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-2323

Active Queue ManagementActive Queue Management

Goals:

Better congestion notification for responsive flows (i.e. TCP)

Maintain shorter queues

Fairness in drops (proportional)

Page 23: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-2424

RED OperationRED Operation

Page 24: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-2525

Time

Max Queue Size

Active Queue ManagementActive Queue ManagementRandom Early Detection (RED)Random Early Detection (RED)

Max Threshold

Min Threshold

Forced drop

Probabilistic drops

No drops

Drop probability

Average queue length

Page 25: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-2626

Chapter 4 OutlineChapter 4 Outline

4.1 Introduction and Network Service Models4.2 Routing Principles

Link state routing Distance vector routing

4.3 Hierarchical Routing4.4 The Internet (IP) Protocol4.5 Routing in the Internet4.6 What’s Inside a Router4.7 IPv64.8 Multicast Routing4.9 Mobility

Page 26: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-2727

RoutingRouting

Graph abstraction for routing algorithms:

graph nodes are routers

graph edges are physical links link cost: delay, $

cost, or congestion level

Goal: determine “good” path

(sequence of routers) thru network from source to

dest.

“good” path: typically means minimum

cost path other definitions possible

A F

D

C

E

B

1

1

1

2

2

2

53

53

Routing protocol

Abstract model of a network

Page 27: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-2828

Routing Algorithm ClassificationsRouting Algorithm Classifications

1. Global: all routers have complete

topology, link cost info “link state” algorithms

2. Decentralized: router knows physically-

connected neighbors, link costs to neighbors

iterative process of computation, exchange of info with neighbors

“distance vector” algorithms

1. Static: routes update slowly

over time

2. Dynamic: routes update more

quickly periodic update in response to link

cost changes

Page 28: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-2929

A Link-State Routing AlgorithmA Link-State Routing Algorithm

Dijkstra’s algorithm (global) net topology, link costs known to all

nodes accomplished via “link state

broadcast” all nodes have same information

computes least cost paths from one node (‘source”) to all other nodes gives routing table for that node

iterative: after k iterations, know least cost path to k destinations.

Page 29: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-3030

Notation:Notation:

N: set of nodes whose least cost path definitively known

c(i,j): link cost from node i to j. cost infinite if not direct neighbors

p(v): nodes along path from source to v

D(v): current value of cost of path from source to destination v.

N: A, B, C, D, E, F

C(A,C)=5; C(C,A)=5C(B,D)=2; C(D,B)=3…

Source=Ap(F): A-D-E-FD(F)=4

A F

D

C

E

B

1

1

1

2

2

2

53

53

5

3

Example:

Page 30: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-3131

1 Initialization: 2 N = {A} 3 for all nodes v 4 if v adjacent to A 5 then D(v) = c(A,v) 6 else D(v) = infinity 7 8 Loop 9 find w not in N such that D(w) is a minimum 10 add w to N 11 update D(v) for all v adjacent to w and not in N: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N

Dijsktra’s AlgorithmDijsktra’s Algorithm

v

w

D(v) c(w,v)

D(w)

A

n(n+1)/2)times

n =

num

ber

of

nodes

(exce

pt

the s

ourc

e)

Page 31: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-3232

Dijkstra’s Algorithm: exampleDijkstra’s Algorithm: example

computes least cost paths from node A to all other nodes

Step012345

start NA

ADADE

ADEBADEBC

ADEBCFADEBCF

D(B),p(B)2,A-B2,A-B2,A-B2,A-B2,A-B2,A-B

D(C),p(C)5,A-C

4,A-D-C3,A-D-E-C3,A-D-E-C3,A-D-E-C3,A-D-E-C

D(D),p(D)1,A-D1,A-D1,A-D1,A-D1,A-D1,A-D

D(E),p(E)infinity

2,A-D-E2,A-D-E2,A-D-E2,A-D-E2,A-D-E

D(F),p(F)infinityinfinity

4,A-D-E-F4,A-D-E-F4,A-D-E-F4,A-D-E-F

A F

D

C

E

B

1

1

1

2

2

2

53

53

D(v): Distance (cost) of A to v.P(v): nodes along path fromA to v.

Page 32: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-3434

D

C

B

A

0

1

1

1+e

e

e

1

0 0

Fig. a- Initial routing

Dijkstra’s Algorithm: discussion2Dijkstra’s Algorithm: discussion2

Oscillations possibility: Suppose link costs are equal to

the load carried on the link, or the delay that experienced.

Link costs are not symmetric, c(A,B) equals c(B,A) only if the load on both directions on the AB link is the same.

Nodes B and D originates a unit of traffic destined for A.

Node C originates e unit for A.

Page 33: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-3535

… oscillations possible: Algorithm is run: C

determines (Fig. a) the clockwise path to A has a cost of 1, while the counterclockwise path to A has a cost of 1 + e. Hence C ’s least-cost path to A is now clockwise.

Similarly, B determines that its new least-cost path to A is also clockwise, resulting in costs shown in Fig. b.

Discussion2 (cont.)Discussion2 (cont.)

D

C

B

A

1+e00

0

1

2+e

Fig. b- B, C find better path to A is clockwise

1

e

1

D

C

B

A

0

1

1

1+e

e

e

1

0 0

Fig. a- Initial routing

Page 34: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-3636

… oscillations possible:

When algorithm is run next, nodes B, C, and D all detect a zero-cost path to A in the counterclockwise direction, and all route their traffic to the counterclockwise routes.

The next time the LS algorithm is run, B, C, and D all then route their traffic to the clockwise routes.

Discussion2 (cont.)Discussion2 (cont.)

D

C

B

A

1+e00

0

1

2+e

11

e

Fig. c- B, C, D find better path to A is counterclockwise

D

C

B

A

01+e1

2+e

0

0

11

e

Fig. d- B, C, D find better path to A is clockwise

Page 35: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-3737

  To prevent such oscillations: Solution1 :link costs not depend on the amount of traffic carried ,an

unacceptable solution since one goal of routing is to avoid highly congested (for example, high-delay) links.

Solution2 :all routers do not run the LS algorithm at the same time (a reasonable solution). Routers run the LS algorithm with the same periodicity, the

execution instance of the algorithm would not be the same at each node.

Researchers have noted: Routers in the Internet can self-synchronize among themselves. That is, even though they initially execute the algorithm with the same period but at different instants of time, the algorithm execution instance can eventually become, and remain, synchronized at the routers.

Avoid such self-synchronization: Introduce randomization into the period between execution instants of the algorithm at each node.

Dijkstra’s Algorithm: discussion2Dijkstra’s Algorithm: discussion2

Page 36: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-3838

Distance Vector Routing Algorithm Distance Vector Routing Algorithm (Decentralized)(Decentralized)

Iterative: continues until no

nodes exchange info. self-terminating: no

“signal” to stop

Asynchronous: nodes need not

exchange info/iterate in lock step!

distributed: each node

communicates only with directly-attached neighbors

Distance Table data structure each node has its own:

row for each possible destinationcolumn for each directly-attached neighbor to node

example: in node X, for dest. Y via neighbor Z: DX(Y,Z)

distance from X to Y, via Z as next hop

D (Y,Z)X

c(X,Z) + min {D (Y,w)}Z

w=

Page 37: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-3939

Distance Table: exampleDistance Table: example

Bw

=

2

D

CB

A

E1

7

1

8

2source

ABCD

A

1764

B

1489

11

D

5542

c(E,B) + min {D (A,w)}=8 + 6 = 14

ED (A,B)=

A

E B

D (A,C)B

D

C

…c(E,B)

E’s neighborB’s neighbor

neighbor: j

dest

inat

ion:

i

D(i, j)E

Distance table:

Page 38: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-4040

Distance table gives routing tableDistance table gives routing table

D ()

A

B

C

D

A

1

7

6

4

B

14

8

9

11

D

5

5

4

2

E

cost to destination via

des

tina

tion

A

B

C

D

A,1

D,5

D,4

D,4

Outgoing link to use, cost

des

tina

tion

Distance table Routing tableof node E

D ()E

Page 39: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-4141

Distance Vector Routing: overviewDistance Vector Routing: overview

Iterative, asynchronous: each local iteration caused by:

local link cost change message from neighbor:

its least cost path change from neighbor

Distributed: each node notifies

neighbors only when its least cost path to any destination changes

neighbors then notify their neighbors if necessary

wait for (change in local link cost or message from neighbor)

recompute distance table

if least cost path to any destination has changed,

notify neighbors

Each node:

Page 40: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-5050

Chapter 4 OutlineChapter 4 Outline

4.1 Introduction and Network Service Models4.2 Routing Principles4.3 Hierarchical Routing4.4 The Internet (IP) Protocol4.5 Routing in the Internet4.6 What’s Inside a Router4.7 IPv64.8 Multicast Routing4.9 Mobility

Page 41: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-5151

Hierarchical RoutingHierarchical Routing

scale: with 200 million destinations (hosts):

can’t store all dest’s in routing tables (memory limitation)!

routing table exchange would leave no bandwidth left for sending data packets!

DV algorithm that iterated among large number of routers never converge!

administrative autonomy:

internet = network of networks

each network admin may want to control routing in its own network

The routing study thus far was idealized all routers identical network “flat”… not true in practice

Page 42: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-5252

Hierarchical RoutingHierarchical Routing

aggregate routers into regions, “autonomous systems” (AS)

routers in same AS run same routing protocol “intra-AS” routing

protocol routers in different AS

can run different intra-AS routing protocol

special routers in AS run intra-AS routing

protocol with all other routers in AS

also responsible for routing to destinations outside AS run inter-AS routing

protocol with other gateway routers

gateway routers

Page 43: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-5353

Intra-AS and Inter-AS routingIntra-AS and Inter-AS routingGateways:

•perform inter-AS routing amongst themselves•perform intra-AS routers with other routers in their AS

Inter/intra-AS routing in

gateway A.c

C

A

B

C.b

A.aA.c

B.a

a b

ad

bc

ac

b

▪Routers in an AS have information about routing paths within that AS.

Intra-ASIntra-ASRouting Routing

AlgorithmAlgorithm

Inter-ASInter-ASRouting Routing

AlgorithmAlgorithm

Routing TableRouting Table

DLDL DLDL DLDL

PHLPHLPHLPHL PHL To/from B.a and A.aTo/from A.b

To/from A.d

Page 44: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-5454

Intra-AS and Inter-AS routingIntra-AS and Inter-AS routing

Host2

C

A

B

Intra-AS routingwithin AS A

Intra-AS routingwithin AS B

Host1

ab

ad

bc

ac

b

C.b

A.a

B.aInter-A

S routin

g

between A and

BA.c

Page 45: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-5555

Chapter 4 outlineChapter 4 outline

4.1 Introduction and Network Service Models4.2 Routing Principles4.3 Hierarchical Routing4.4 The Internet (IP) Protocol

4.4.1 IPv4 addressing 4.4.2 Moving a datagram from source to destination 4.4.3 Datagram format 4.4.4 IP fragmentation 4.4.5 ICMP: Internet Control Message Protocol 4.4.6 DHCP: Dynamic Host Configuration Protocol 4.4.7 NAT: Network Address Translation

4.5 Routing in the Internet4.6 What’s Inside a Router4.7 IPv64.8 Multicast Routing4.9 Mobility

Page 46: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-5656

The Internet Network layerThe Internet Network layer

Host, Router network-layer-functions:

forwardingtable

Routing protocols•path selection•RIP, OSPF, BGP

IP protocol•addressing conventions•datagram format•packet handling conventions

ICMP protocol•error reporting•router “signaling”

Transport layer: TCP, UDP

Link layer

physical layer

Netw

ork

layer

ICMP: Internet Control Message Protocol, RFC792

Page 47: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-5757

Internet Routing ProtocolInternet Routing Protocol Intra-AS: administrator responsible for choice of

routing algorithm within network Also known as Interior Gateway Protocols (IGP) Most common Intra-AS routing protocols:

RIP: Routing Information Protocol (RFCs1058,2453)– It is a distance vector protocol.– Routing updates are exchanged between neighbors app. Every 30sec.

OSPF: Open Shortest Path First (RFC2328) (Open Spec.) IGRP: Interior Gateway Routing Protocol (Cisco

proprietary)– These are link-state protocol that uses flooding of link information and a

Dijkstra least-cost path algorithm.

Intra-AS: administrator responsible for choice of routing algorithm within network Also known as Interior Gateway Protocols (IGP) Most common Intra-AS routing protocols:

RIP: Routing Information Protocol (RFCs1058,2453)– It is a distance vector protocol.– Routing updates are exchanged between neighbors app. Every 30sec.

OSPF: Open Shortest Path First (RFC2328) (Open Spec.) IGRP: Interior Gateway Routing Protocol (Cisco

proprietary)– These are link-state protocol that uses flooding of link information and a

Dijkstra least-cost path algorithm.

Inter-AS: unique standard for inter-AS routing: BGP (RFC1771) Inter-AS: unique standard for inter-AS routing: BGP (RFC1771)

Page 48: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-5858

IP Addressing: IntroductionIP Addressing: Introduction

IP address: 32-bit identifier for host, router interface

interface: connection between host/router and physical link router’s typically have

multiple interfaces host may have multiple

interfaces IP addresses associated

with each interface

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Page 49: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-5959

IP AddressingIP Addressing

IP address: network part (high

order bits) host part (low order

bits) What’s a network ?

(from IP address perspective) device interfaces with

same network part of IP address

can physically reach each other without intervening router

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

network consisting of 3 IP networks

LAN

Page 50: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-6060

IP AddressingIP Addressing

How to find the networks?

Detach each interface from router, host

create “islands of isolated networks

223.1.1.1

223.1.1.3

223.1.1.4

223.1.2.2223.1.2.1

223.1.2.6

223.1.3.2223.1.3.1

223.1.3.27

223.1.1.2

223.1.7.0

223.1.7.1223.1.8.0223.1.8.1

223.1.9.1

223.1.9.2

Interconnected system consistingof six networks.

Page 51: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-6161

Getting a datagram from source to dest.Getting a datagram from source to dest.

IP datagram:

miscfields

sourceIP addr

destIP addr data

datagram remains unchanged, as it travels source to destination

addr fields of interest here

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

EB

Dest. Net. Next Router Nhops

223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

forwarding table in A

Page 52: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-6262

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27 EB

Getting a datagram from source to Getting a datagram from source to dest.dest.

Starting at A, send IP datagram addressed to B:

look up net. address of B in forwarding table

find B is on same net. as A link layer will send datagram

directly to B inside link-layer frame B and A are directly

connected

Dest. Net. Next Router Nhops

223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

miscfields223.1.1.1223.1.1.3data

forwarding table in A

A

Page 53: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-6363

Getting a datagram from source to Getting a datagram from source to dest.dest.

Dest. Net. Next Router Nhops

223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2

Starting at A, dest. E: look up network address of

E in forwarding table E on different network

A, E not directly attached

routing table: next hop router to E is 223.1.1.4

link layer sends datagram to router 223.1.1.4 inside link-layer frame

datagram arrives at 223.1.1.4

continued…..

miscfields223.1.1.1223.1.2.3 data

forwarding table in A

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27 E

A

B

Page 54: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-6464

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

A

EB

Getting a datagram from source to dest.Getting a datagram from source to dest.

Arriving at 223.1.4, destined for 223.1.2.2

look up network address of E in router’s forwarding table

E on same network as router’s interface 223.1.2.9 router, E directly

attached link layer sends datagram

to 223.1.2.2 inside link-layer frame via interface 223.1.2.9

datagram arrives at 223.1.2.2

miscfields223.1.1.1223.1.2.3 data Dest. Net Router Nhops Interface

223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9

223.1.3 - 1 223.1.3.27

forwarding table in router

Page 55: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-6565

Private or Non-Routable addressesPrivate or Non-Routable addresses

Some addresses are reserved for use on local networks that are not connected to the Internet

Routers do not consider these addresses to be valid Internet addresses, and will not route a packet to any of them

These addresses may be used on private internets not directly connected to the Internet.

10.0.0.0/8 10.0.0.0 to 10.255.255.255 172.16.0.0/12 172.16.0.0 to 172.31.255.255 192.168.0.0/16 192.168.0.0 to

192.168.255.255

Page 56: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-6666

IP Addresses: Class-fullIP Addresses: Class-full

given notion of “network”, let’s re-examine IP addresses:

“class-full” addressing:

0 network host

110 network host

A

10 network hostB

C

D

class1.0.0.0 to127.255.255.255

128.0.0.0 to191.255.255.255

192.0.0.0 to223.255.255.255

224.0.0.0 to239.255.255.255

32 bits

1110 multicast address

E 240.0.0.0 to255.255.255.2551111 reserved

format range

Page 57: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-6767

Class-full SummaryClass-full Summary

Address Class

ApplicationNumber of Network

Bits

Number of Host Bits

Decimal Address Range

Number of Networks

Number of Possible

Host

Class ALarge

Networks8 bits 24 bits 1 - 126 126 16,777,214

Class BMedium-

sized 16 bits 16 bits 128 - 191 65,534 65,534

Class CSmall

Networks24 bits 8 bits 192 - 223 2,097,152 254

The Class System

Page 58: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-6868

Address depletionAddress depletion

In 1991 IAB identified 3 dangers Running out of class B addresses Increase in nets has resulted in routing table

explosion Increase in net/hosts exhausting 32 bit address

space Four strategies to address

Creative address space allocation {RFC 2050} Private addresses {RFC 1918}, Network Address

Translation (NAT) {RFC 1631} Classless InterDomain Routing (CIDR) {RFC 1519} IP version 6 (IPv6) {RFC 1883}

Page 59: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-6969

Creative IP address allocationCreative IP address allocation

Class A addresses 64 – 127 reserved Handle on individual basis

Class B only assigned given a demonstrated need

Class C divided up into 8 blocks allocated to regional

authorities 208-223 remains unassigned and unallocated

Three main registries handle assignments APNIC – Asia & Pacific www.apnic.net ARIN – N. & S. America, Caribbean & sub-Saharan

Africa www.arin.net RIPE – Europe and surrounding areas www.ripe.net

Page 60: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-7070

Private IP AddressesPrivate IP Addresses

IP addresses that are not globally unique, but used exclusively in an organization

Three ranges: 10.0.0.0 - 10.255.255.255 a single class A net 172.16.0.0 - 172.31.255.255 16 contiguous class Bs 192.168.0.0 – 192.168.255.255 256 contiguous class

Cs Connectivity provided by Network Address

Translator (NAT) translates outgoing private IP address to Internet IP

address, and a return Internet IP address to a private address

Only for TCP/UDP packets

Page 61: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-7171

Several Addresses within the classes are reserved for special use. 0.0.0.0 :Source IP Addr. Just after Boot network part of dest. Addr.= 0 :Source and

Destination are in same network. Dest. Addr.=255.255.255.255 :Broadcast

in Sender’s network. host part of Dest.=111… : Broadcast in

destination network. Dest. Addr. = 127.anything : Loop Back

Special Purpose IP AddressesSpecial Purpose IP Addresses

Page 62: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-7272

Address Block Present Use Reference0.0.0.0/8 "This" Network [RFC1700, page 4] 10.0.0.0/8 Private-Use Networks [RFC1918] 14.0.0.0/8 Public-Data Networks [RFC1700, page 181] 24.0.0.0/8 Cable Television Networks 39.0.0.0/8 Reserved, subject to allocation [RFC1797] 127.0.0.0/8 Loop back [RFC1700, page 5] 128.0.0.0/16 Reserved but subject to allocation 169.254.0.0/16 Link Local – 172.16.0.0/12 Private-Use Networks [RFC1918] 191.255.0.0/16 Reserved but subject to allocation – 192.0.0.0/24 Reserved but subject to allocation – 192.0.2.0/24 Test-Net 192.88.99.0/24 6to4 Relay Anycast [RFC3068] 192.168.0.0/16 Private-Use Networks [RFC1918]198.18.0.0/15 Network Interconnect Device Benchmark Testing [RFC2544] 223.255.255.0/24 Reserved but subject to allocation – 224.0.0.0/4 Multicast [RFC3171] 240.0.0.0/4 Reserved for Future Use [RFC1700]

Special Purpose Addresses-ListSpecial Purpose Addresses-List

Page 63: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-7373

Class Inter Domain Routing Class Inter Domain Routing (CIDR)(CIDR)

Many organization have > 256 computers but few have more than several thousand

Instead of giving class B (16384 nets) give sufficient contiguous class C addresses to satisfy needs < 256 addresses assign 1 class C … < 8192 addresses assign 32 contiguous

Class C nets

Page 64: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-7474

IP addressing: CIDRIP addressing: CIDR

Classful addressing: inefficient use of address space, address space exhaustion e.g., class B net allocated enough addresses for 65K hosts,

even if only 2K hosts in that network

CIDR: Classless Inter Domain Routing (RFC1519) network portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in network

portion of address

11001000 00010111 00010000 00000000

networkpart

hostpart

200.23.16.0/23

Page 65: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-7575

Bit Masks and Subnet MasksBit Masks and Subnet Masks

In a production environment this prefix typically varies in length from 8 to 30 bits

/30 yields two usable hosts and is used for WAN connections

/16 = 255.255.0.0/17 = 255.255.128.0/18 = 255.255.192.0/19 = 255.255.224.0/20 = 255.255.240.0/21 = 255.255.248.0/22 = 255.255.252.0/23 = 255.255.254.0

/16 = 255.255.0.0/17 = 255.255.128.0/18 = 255.255.192.0/19 = 255.255.224.0/20 = 255.255.240.0/21 = 255.255.248.0/22 = 255.255.252.0/23 = 255.255.254.0

/24 = 255.255.255.0 /25 = 255.255.255.128 /26 = 255.255.255.192/27 = 255.255.255.224/28 = 255.255.255.240/29 = 255.255.255.248/30 = 255.255.255.252/31 = not usable/32 = not usable

/24 = 255.255.255.0 /25 = 255.255.255.128 /26 = 255.255.255.192/27 = 255.255.255.224/28 = 255.255.255.240/29 = 255.255.255.248/30 = 255.255.255.252/31 = not usable/32 = not usable

/8 = 255.0.0.0/9 = 255.128.0.0/10 = 255.192.0.0/11 = 255.224.0.0/12 = 255.240.0.0/13 = 255.248.0.0/14 = 255.252.0.0/15 = 255.254.0.0

/8 = 255.0.0.0/9 = 255.128.0.0/10 = 255.192.0.0/11 = 255.224.0.0/12 = 255.240.0.0/13 = 255.248.0.0/14 = 255.252.0.0/15 = 255.254.0.0

Page 66: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-7676

Network Prefix Equivalent Number of Class Addresses Number of Hosts

/27 1/8th of a Class C 32

/26 1/4th of a Class C 64

/25 1/2 of a Class C 128

/24 1 Class C 256

/23 2 Class C 512

/22 4 Class C 1,024

/21 8 Class C 2,048

/20 16 Class C 4,096

/19 32 Class C 8,192

/18 64 Class C 16,384

/17 128 Class C 32,768

/16 256 Class C or 1 Class B 65,536

/15 512 Class C or 2 Class B 131,072

/14 1,024 Class C or 4 Class B 262,144

/13 2048 Class C or 8 Class B 524,288

/12 4096 Class C or 16 Class B 1,048,576

/11 8192 Class C or 32 Class B 2,097,152

/10 16384 Class C or 64 Class B 4,194,304

/9 32768 Class C or 128 Class B 8,388,608

/8 65,536 Class C or 256 Class B or 1 Class A 16,777,216

Prefix Equivalents

Page 67: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-7777

ProtocolsProtocols

Class-full Routing Protocols

Classless Routing Protocol

RIP version1 RIP version2

IGPR EIGPR

EGP OSPF

BGP3 BGP4

IS-IS

Page 68: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-7878

ExamplesExamples

Page 69: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-7979

IP addresses: how to get one?IP addresses: how to get one?

Q: How does host get IP address?

IP addr. is configures into host by admin. in a file Wintel: control-panel->network-

>configuration->tcp/ip->properties UNIX: /etc/rc.config

DHCP: Dynamic Host Configuration Protocol (RFC2131): dynamically get address from as server “plug-and-play”

Page 70: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-8080

Subnetting (Extended Network Subnetting (Extended Network Prefix)Prefix)

Q: How an organization gets network part of IP addr?A: It gets allocated portion of its ISP’s address

space.

ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20

Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….

Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23

The ISP divides the block into 8 smaller addr. blocks (subnets) and gives them to 8

organization.

The ISP have been allocated the address block

Page 71: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-8181

Hierarchical addressing: route aggregationHierarchical addressing: route aggregation

Hierarchical addressing allows efficient advertisement of routing information:

“Send me anythingwith addresses beginning 200.23.16.0/20”

200.23.16.0/23200.23.16.0/23

200.23.18.0/23200.23.18.0/23

200.23.30.0/23200.23.30.0/23

Organization 0

Organization 7Internet

Organization 1

ISP2 “Send me anythingwith addresses beginning 199.31.0.0/16”

200.23.20.0/23200.23.20.0/23Organization 2

...

...

199.31.0.0/16

route aggregation or route summarization.

ISP1

200.23.16.0/20

Page 72: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-8282

Hierarchical addressing: more specific routesHierarchical addressing: more specific routes

“Send me anythingwith addresses beginning 200.23.16.0 /20”

200.23.16.0/23200.23.16.0/23

200.23.18.0/23200.23.18.0/23

200.23.30.0/23200.23.30.0/23

ISP1

Organization 0

Organization 7 Internet

Organization 1 ISP2“Send me anythingwith addresses beginning 199.31.0.0/16or 200.23.18.0 /23”

200.23.20.0/23Organization 2

...

...

23 bits

20 bits

ISP2 has a more specific route to Organization 1The routers in Internet use a longest prefix matching rule, and route toward ISP2, as it advertises the longest (more specific) address prefix that matches the destination address. 

Page 73: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-8383

Subnet Mask-1Subnet Mask-1

A subnet mask is applied to the host bits to determine how the network is subnetted, e.g. if the host is: 137.138.28.228, and the subnet

mask is 255.255.255.0 then the right hand 8 bits are for the host (255 is decimal for all bits set in an octet)

Host addresses of all bits set or no bits set, indicate a broadcast, i.e. the packet is sent to all hosts.

Page 74: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-8484

Subnet Mask-2Subnet Mask-2

ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20ISP’s subnet mask 11111111 11111111 11110000 00000000 255.255.240.0

Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….

Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23 Or’s subnet mask 11111111 11111111 11111110 00000000 255.255.254.0

Network part of an IP address= subnet mask & IP addressNetwork part of an IP address= subnet mask & IP address

Page 75: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-8585

IP addressing: ICANNIP addressing: ICANN

Q: How does an ISP get block of addresses?

A: ICANN: Internet Corporation for Assigned

Names and Numbers allocates addresses manages DNS assigns domain names, resolves disputes

Page 76: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-8686

CIDR: Subneting Example CIDR: Subneting Example

You are assigned the CIDR address 200.32.108.0 /22 and you must support the network shown in the diagram. Create an addressing scheme that will meet the diagram

requirements.

100 computers

100 computers

100 computers

300 computers

Page 77: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-8787

Given the CIDR address 200.32.108.0 /22 How many Class C networks do we have? 3 classes How many host addresses do we have? 4x254

addresses What is the largest LAN requirement? 300 addresses

Host required - 300, 100, 100, 100, and 3 WAN links

CIDR: Subneting Example CIDR: Subneting Example (Questions)(Questions)

Page 78: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-8888

200.32.108.0 200.32. 110.0

0 0

0 0255 255

255 255

200.32. 109.0 200.32. 111.0

Page 79: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-8989

200.32. 110.0

0 0

0 0255 255

255 255

300

hos

ts

200

.32.

108

.0 /2

3

200.32.108.0

200.32. 109.0

200.32. 111.0

Page 80: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-9090

0 0

0 0255 255

255 255

300

hos

ts

200

.32.

108

.0 /2

3127

128

100

hos

ts

200

.32.

110

.0 /2

5

100

hos

ts

200

.32.

110

.128

/25

200.32.108.0 200.32. 110.0

200.32. 109.0

200.32. 111.0

Page 81: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-9191

0 0

0 0255 255

255 255

300

hos

ts

200

.32.

108

.0 /2

3127

128

100

hos

ts

200

.32.

110

.0 /2

5

100

hos

ts

200

.32.

110

.128

/25

127

128

100

hos

ts

200

.32.

111

.0 /2

5

200.32.108.0 200.32. 110.0

200.32. 109.0 200.32. 111.0

Page 82: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-9292

0 0

0 0255 255

255 255

300

hos

ts

200

.32.

108

.0 /2

3127

128

100

hos

ts

200

.32.

110

.0 /2

5

100

hos

ts

200

.32.

110

.128

/25

127

128

100

hos

ts

200

.32.

111

.0 /2

5

191192

223

224

248

247

243252

251244

WAN links /30

240239

200.32.108.0 200.32. 110.0

200.32. 109.0 200.32. 111.0

Page 83: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-9393

CIDR: Subneting Example CIDR: Subneting Example (Results)(Results)

Given the CIDR address 200.32.108.0 /22

200.32.108.0 /23

200.32.110.0 /25200.32.110.128 /25

200.32.111.0 /25

200.32.111.240 /30

200.32.111.244 /30

2 Class C’s

1/2 Class C1/2 Class C

1/2 Class C

100 computers

100 computers

300 computers

100 computers

200.32.111.248 /30

Page 84: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-9494

Company XYZ needs to address 400 hosts. Its ISP gives them two contiguous Class C addresses:

207.21.54.0/24 207.21.55.0/24

Company XYZ can use a prefix of 207.21.54.0 /23 to supernet these two contiguous networks. (Yielding 510 hosts)

207.21.54.0 /23 207.21.54.0/24 207.21.55.0/24

23 bits in common

Supernetting Example-1Supernetting Example-1

Page 85: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-9595

Supernetting Example-2Supernetting Example-2

addressing authority of ISP,include XYZ, be advertized to Internet as a single supernt

Page 86: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-9696

CIDR and the ProviderCIDR and the Providerexample of route aggregation

advertising address: a.b.c.d/x

Page 87: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-9797

IP datagram format datagram format

ver length

32 bits

data (variable length,typically a TCP

or UDP segment)

16-bit identifier

Checksum: 1’s add of 16bits words in header

time tolive

32 bit source IP address

IP protocol versionNumber[4bits]

header length (bytes)[4bits]

max numberremaining hops

(decremented at each router)

fragmentation/Reassembly/DF, MF Flags

total datagramlength (bytes)

upper layer protocolto deliver payload to(rfc 1700)

head.len

“type” ofservice

“type” of data: Priority [3bits]Delay[1bit]

Throughput[1bit]Reliability[1bit]

flags fragment offset

upper layer

32 bit destination IP address

Options (if any)

e.g. timestamp,record routetaken, specifylist of routers to visit.

how much overhead with TCP?

20 bytes of TCP 20 bytes of IP = 40 bytes +

app layer overhead

A packet is unique in Internet by:Id + S. IP Add + D. IP Add + Upper L.

1 :ICMP6 :TCP17 :UDP

Page 88: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-9898

IP Fragmentation & ReassemblyIP Fragmentation & Reassembly

network links have MTU (max.transfer size) - largest possible link-level frame.

different link types, different MTUs

large IP datagram divided (“fragmented”) within net

one datagram becomes several datagrams

“reassembled” only at final destination

IP header bits used to identify, order related fragments

reassembly

fragmentation: in: one large datagramout: 3 smaller datagrams

Page 89: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-9999

IP Fragmentation and ReassemblyIP Fragmentation and Reassembly

ID=x

offset=0

fragflag=0

length=4000

ID=x

offset=0

fragflag=1

length=1500

ID=x

offset=1480

fragflag=1

length=1500

ID=x

offset=2960

fragflag=0

length=1040

One large datagram becomes3 smaller datagrams.

Example 4000 byte

datagram MTU = 1500

bytes

0……….3979data

20 Byte

4000 Bytes

0……….1479

1480…2959

Page 90: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-105105

DHCP: Dynamic Host Configuration Protocol: Dynamic Host Configuration Protocol

Goal: allow host to dynamically obtain its IP address from network server when it joins networkCan renew its lease on address in useAllows reuse of addresses (only hold address while connected an “on”Support for mobile users who want to join network (more shortly)

DHCP overview: host broadcasts “DHCP discover” msg DHCP server responds with “DHCP offer” msg host requests IP address: “DHCP request” msg DHCP server sends address: “DHCP ack” msg

Page 91: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-106106

DHCP client-server scenarioDHCP client-server scenario

223.1.1.1

223.1.1.2

223.1.1.3

223.1.1.4 223.1.2.9

223.1.2.2

223.1.2.1

223.1.3.2223.1.3.1

223.1.3.27

DHCP server

arriving DHCP client needsaddress in thisnetwork

A

BE

Page 92: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-107107

DHCP client-server scenarioDHCP client-server scenario

DHCP server: 223.1.2.5arriving client

time

DHCP discover

src : 0.0.0.0, 68 dest.: 255.255.255.255,67yiaddr: 0.0.0.0transaction ID: 654

DHCP offer

src: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 654Lifetime: 3600 secs

DHCP request

src: 0.0.0.0, 68 dest:: 255.255.255.255, 67yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs

DHCP ACK

src: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs

Page 93: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-108108

NAT: Network Address TranslationNAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

local network(e.g., home network)

10.0.0/24

rest ofInternet

Datagrams with source or destination in this networkhave 10.0.0/24 address for

source, destination (as usual)

All datagrams leaving localnetwork have same single source

NAT IP address: 138.76.29.7,different source port numbers

Page 94: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-109109

NAT: Network Address TranslationNAT: Network Address Translation

Motivation: local network uses just one IP address as far as outside word is concerned: no need to be allocated range of addresses from

ISP: - just one IP address is used for all devices can change addresses of devices in local network

without notifying outside world can change ISP without changing addresses of

devices in local network devices inside local net not explicitly

addressable, visible by outside world (a security plus).

Page 95: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-110110

NAT: Network Address TranslationNAT: Network Address Translation

Implementation: NAT router must:

outgoing datagrams: replace (source IP address, port #) of every outgoing datagram to (NAT IP address, new port #). . . remote clients/servers will respond using (NAT IP

address, new port #) as destination addr.

remember (in NAT translation table) every (source IP address, port #) to (NAT IP address, new port #) translation pair

incoming datagrams: replace (NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table

Page 96: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-111111

NAT: Network Address TranslationNAT: Network Address Translation

10.0.0.1

10.0.0.2

10.0.0.3

S: 10.0.0.1, 3345D: 128.119.40.186, 80

1

10.0.0.4

138.76.29.7

1: host 10.0.0.1 sends datagram to 128.119.40, 80

NAT translation tableWAN side addr LAN side addr

138.76.29.7, 5001 10.0.0.1, 3345…… ……

S: 128.119.40.186, 80 D: 10.0.0.1, 3345

4

S: 138.76.29.7, 5001D: 128.119.40.186, 80

2

2: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,updates table

S: 128.119.40.186, 80 D: 138.76.29.7, 5001

3

3: Reply arrives dest. address: 138.76.29.7, 5001

4: NAT routerchanges datagramdest addr from138.76.29.7, 5001 to 10.0.0.1, 3345

Page 97: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-112112

NAT: Network Address TranslationNAT: Network Address Translation

16-bit port-number field: 60,000 simultaneous connections with a

single LAN-side address! NAT is controversial:

routers should only process up to layer 3 violates end-to-end argument

NAT possibility must be taken into account by app designers, eg, P2P applications

address shortage should instead be solved by IPv6

Page 98: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-113113

Chapter 4 OutlineChapter 4 Outline

4.1 Introduction and Network Service Models4.2 Routing Principles4.3 Hierarchical Routing4.4 The Internet (IP) Protocol4.5 Routing in the Internet

4.5.1 Intra-AS routing: RIP and OSPF 4.5.2 Inter-AS routing: BGP

4.6 What’s Inside a Router?4.7 IPv64.8 Multicast Routing4.9 Mobility

Page 99: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-114114

Routing in the Internet Routing in the Internet (RC1812) Requirements for IP Version 4 RoutersRequirements for IP Version 4 Routers

The Global Internet consists of Autonomous Systems (AS) interconnected with each other: Stub AS: small corporation: one connection to other

AS’s Multihomed AS: large corporation (no transit): multiple

connections to other AS’s Transit AS: provider, hooking many AS’s together

Two-level routing: Intra-AS: administrator responsible for choice of routing

algorithm within network Inter-AS: unique standard for inter-AS routing: BGP

(RFC1771)

Page 100: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-115115

Internet AS HierarchyInternet AS Hierarchy

Intra-AS border (exterior gateway) routers

Inter-AS (interior gateway) routers

C

A B

C.b

A.aA.c

B.a

a b

ad

bc

ac

b

Page 101: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-116116

Intra-AS RoutingIntra-AS Routing

Also known as Interior Gateway Protocols (IGP) Most common Intra-AS routing protocols:

RIP: Routing Information Protocol

OSPF: Open Shortest Path First

IGRP: Interior Gateway Routing Protocol (Cisco proprietary)

Page 102: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-117117

RIP ( Routing Information Protocol) ( Routing Information Protocol)

Distance vector algorithm Included in BSD-UNIX Distribution in 1982 Distance metric: # of hops (max = 15 hops)

Can you guess why?

Distance vectors: exchanged among neighbors every 30 sec via Response Message (also called advertisement)

Each advertisement: list of up to 25 destination nets within AS

Page 103: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-118118

RIP: ExampleRIP: Example

Destination Network Next Router Num. of hops to dest. w A 2

y B 2 z B 7

x -- 1…. …. ....

C

Routing table in D

w x yzz

A D B

Page 104: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-119119

RIP: ExampleRIP: Example

Destination Network Next Router Num. of hops to dest. w A 2

y B 2 z B A 7 5

x -- 1…. …. ....Routing table in D

Dest Next hops w - - x - - z C 4 …. … ...

Advertisementfrom A to D

w x yzz

A D B

Page 105: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-120120

RIP: Link Failure and RecoveryRIP: Link Failure and Recovery

If no advertisement heard after 180 sec --> neighbor/link declared dead routes via neighbor invalidated new advertisements sent to neighbors neighbors in turn send out new advertisements

(if tables changed) link failure info quickly propagates to entire net poison reverse used to prevent ping-pong loops

(infinite distance = 16 hops)

Page 106: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-121121

RIP Table processingRIP Table processing

RIP routing tables managed by application-level process called route-d (daemon)

advertisements sent in UDP packets, periodically repeated

physical

link

network forwarding (IP) table

Transprt (UDP)

routed

physical

link

network (IP)

Transprt (UDP)

routed

forwardingtable

Page 107: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-122122

RIP Table example (continued)RIP Table example (continued)

Router: giroflee.eurocom.fr

Three attached class C networks (LANs) Router only knows routes to attached LANs Default router used to “go up” Route multicast address: 224.0.0.0 Loopback interface (for debugging)

Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 127.0.0.1 127.0.0.1 UH 0 26492 lo0 192.168.2. 192.168.2.5 U 2 13 fa0 193.55.114. 193.55.114.6 U 3 58503 le0 192.168.3. 192.168.3.5 U 2 25 qaa0 224.0.0.0 193.55.114.6 U 3 0 le0 default 193.55.114.129 UG 0 143454

Page 108: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-123123

OSPF (Open Shortest Path First) (Open Shortest Path First)

“open”: publicly available Uses Link State algorithm

LS packet dissemination Topology map at each node Route computation using Dijkstra’s algorithm

OSPF advertisement carries one entry per neighbor router

Advertisements disseminated to entire AS (via flooding) Carried in OSPF messages directly over IP (rather than

TCP or UDP

Page 109: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-124124

OSPF “advanced” features (not in RIP)OSPF “advanced” features (not in RIP)

Security: all OSPF messages authenticated (to prevent malicious intrusion)

Multiple same-cost paths allowed (only one path in RIP)

For each link, multiple cost metrics for different TOS (e.g., satellite link cost set “low” for best effort; high for real time)

Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology

data base as OSPF Hierarchical OSPF in large domains.

Page 110: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-125125

Hierarchical OSPFHierarchical OSPF

Page 111: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-126126

Hierarchical OSPFHierarchical OSPF

Two-level hierarchy: local area, backbone. Link-state advertisements only in area each nodes has detailed area topology; only know

direction (shortest path) to nets in other areas. Area border routers: “summarize” distances to

nets in own area, advertise to other Area Border routers.

Backbone routers: run OSPF routing limited to backbone.

Boundary routers: connect to other AS’s.

Page 112: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-127127

Inter-AS routing in the Internet: Inter-AS routing in the Internet: BGP

Figure 4.5.2-new2: BGP use for inter-domain routing

AS2 (OSPF

intra-AS routing)

AS1

(RIP intra-AS routing) BGP

AS3 (OSPF intra-AS

routing)

BGP

R1 R2

R3

R4

R5

Page 113: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-128128

Internet inter-AS routing: BGPInternet inter-AS routing: BGP

BGP (Border Gateway Protocol): the de facto standard

Path Vector protocol: similar to Distance Vector protocol each Border Gateway broadcast to

neighbors (peers) entire path (i.e., sequence of AS’s) to destination

BGP routes to networks (ASs), not individual hosts

E.g., Gateway X may send its path to dest. Z:

Path (X,Z) = X,Y1,Y2,Y3,…,Z

Page 114: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-129129

Internet inter-AS routing: BGPInternet inter-AS routing: BGP

Suppose: gateway X send its path to peer gateway W W may or may not select path offered by X

cost, policy (don’t route via competitors AS), loop prevention reasons.

If W selects path advertised by X, then:Path (W,Z) = w, Path (X,Z)

Note: X can control incoming traffic by controlling it route advertisements to peers: e.g., don’t want to route traffic to Z -> don’t advertise any routes to Z

Page 115: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-130130

BGP: controlling who routes to youBGP: controlling who routes to you

A,B,C are provider networks X,W,Y are customer (of provider networks) X is dual-homed: attached to two networks

X does not want to route from B via X to C .. so X will not advertise to B a route to C

Figure 4.5- BGPnew : a simple BGP scenario

A

B

C

W X

Y

legend: provider network

customer network

Page 116: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-131131

BGP: controlling who routes to youBGP: controlling who routes to you

A advertises to B the path AW B advertises to W the path BAW Should B advertise to C the path BAW?

No way! B gets no “revenue” for routing CBAW since neither W nor C are B’s customers

B wants to force C to route to w via A B wants to route only to/from its customers!

A

B

C

W X

Y

legend: provider network

customer network

Page 117: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-132132

BGP operationBGP operation

Q: What does a BGP router do? Receiving and filtering route advertisements

from directly attached neighbor(s). Route selection.

To route to destination X, which path )of several advertised) will be taken?

Sending route advertisements to neighbors.

Page 118: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-133133

BGP messagesBGP messages

BGP messages exchanged using TCP. BGP messages:

OPEN: opens TCP connection to peer and authenticates sender

UPDATE: advertises new path (or withdraws old)

KEEPALIVE keeps connection alive in absence of UPDATES; also ACKs OPEN request

NOTIFICATION: reports errors in previous msg; also used to close connection

Page 119: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-134134

Why different Intra- and Inter-AS routing ?Why different Intra- and Inter-AS routing ?

Policy: Inter-AS: admin wants control over how its traffic

routed, who routes through its net. Intra-AS: single admin, so no policy decisions

needed

Scale: hierarchical routing saves table size, reduced

update trafficPerformance: Intra-AS: can focus on performance Inter-AS: policy may dominate over performance

Page 120: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-135135

Chapter 4 OutlineChapter 4 Outline

4.1 Introduction and Network Service Models

4.2 Routing Principles4.3 Hierarchical Routing4.4 The Internet (IP) Protocol4.5 Routing in the Internet4.6 What’s Inside a Router?4.7 IPv64.8 Multicast Routing4.9 Mobility

Page 121: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-136136

Router Architecture OverviewRouter Architecture Overview

Two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) switching datagrams from incoming to outgoing link

Page 122: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-137137

Input Port FunctionsInput Port Functions

Decentralized switching: given datagram dest., lookup output

port using routing table in input port memory

goal: complete input port processing at ‘line speed’

queuing: if datagrams arrive faster than forwarding rate into switch fabric

Physical layer:bit-level reception

Data link layer:e.g., Ethernetsee chapter 5

Page 123: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-138138

Input Port QueuingInput Port Queuing

Fabric slower that input ports combined -> queueing may occur at input queues

Head-of-the-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward

queueing delay and loss due to input buffer overflow!

Page 124: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-139139

Three Types of Switching FabricsThree Types of Switching Fabrics

Page 125: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-140140

Switching Via MemorySwitching Via Memory

First generation routers: packet copied by system’s (single) CPU speed limited by memory bandwidth (2 bus crossings per datagram)

InputPort

OutputPort

Memory

System Bus

Modern routers: input port processor performs lookup, copy into memory

Cisco Catalyst 8500

Page 126: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-141141

Switching Via a BusSwitching Via a Bus

datagram from input port memory to output port memory via a

shared bus bus contention: switching speed

limited by bus bandwidth 1 Gbps bus, Cisco 1900: sufficient

speed for access and enterprise routers (not regional or backbone)

Page 127: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-142142

Switching Via An Interconnection NetworkSwitching Via An Interconnection Network

overcome bus bandwidth limitations Banyan networks, other interconnection nets

initially developed to connect processors in multiprocessor

Advanced design: fragmenting datagram into fixed length cells, switch cells through the fabric.

Cisco 12000: switches Gbps through the interconnection network

Page 128: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-143143

Output PortsOutput Ports

Buffering required when datagrams arrive from fabric faster than the transmission rate

Scheduling discipline chooses among queued datagrams for transmission

Page 129: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-144144

Output port queuingOutput port queuing

buffering when arrival rate via switch exceeds output line speed

queueing (delay) and loss due to output port buffer overflow!

Page 130: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-145145

Chapter 4 OutlineChapter 4 Outline

4.1 Introduction and Network Service Models

4.2 Routing Principles4.3 Hierarchical Routing4.4 The Internet (IP) Protocol4.5 Routing in the Internet4.6 What’s Inside a Router?4.7 IPv64.8 Multicast Routing4.9 Mobility

Page 131: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-146146

IPv6

Initial motivation: 32-bit address space completely allocated by 2008.

Additional motivation: header format helps speed

processing/forwarding header changes to facilitate QoS new “anycast” address: route to “best” of

several replicated servers IPv6 datagram format:

fixed-length 40 byte header no fragmentation allowed

Page 132: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-147147

IPv6 Header (Cont)IPv6 Header (Cont)

Priority: identify priority among datagrams in flowFlow Label: identify datagrams in same “flow.” (concept of“flow” not well defined).Next header: identify upper layer protocol for data

Page 133: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-148148

Other Changes from IPv4Other Changes from IPv4

Checksum: removed entirely to reduce processing time at each hop

Options: allowed, but outside of header, indicated by “Next Header” field

ICMPv6: new version of ICMP additional message types, e.g. “Packet Too

Big” multicast group management functions

Page 134: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-149149

Transition From IPv4 To IPv6Transition From IPv4 To IPv6

Not all routers can be upgraded simultaneous no “flag days” How will the network operate with mixed IPv4

and IPv6 routers? Two proposed approaches:

Dual Stack: some routers with dual stack (v6, v4) can “translate” between formats

Tunneling: IPv6 carried as payload in IPv4 datagram among IPv4 routers

Page 135: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-150150

Dual Stack ApproachDual Stack Approach

IPv6 IPv6 IPv6 IPv6IPv4 IPv4

Flow: XSrc: ADest: F

data

Flow: ??Src: ADest: F

data

Src:ADest: F

data

A-to-B:IPv6

Src:ADest: F

data

B-to-C:IPv4

B-to-C:IPv4

B-to-C:IPv6

A B C D E F

Page 136: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-151151

Tunneling-AnalogyTunneling-Analogy

IPv6 IPv6 IPv6 IPv6

tunnelLogical view:A B E F

Analogy:

Page 137: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-152152

Tunneling-Physical ViewTunneling-Physical View

Physical view:

IPv6 IPv6 IPv6 IPv6IPv4 IPv4

Flow: XSrc: ADest: F

data

Flow: XSrc: ADest: F

data

Flow: XSrc: ADest: F

data

Src:BDest: E

Flow: XSrc: ADest: F

data

Src:BDest: E

A-to-B:IPv6

E-to-F:IPv6

B-to-C:IPv6 inside

IPv4

B-to-C:IPv6 inside

IPv4

A B C D E F

IPv6 IPv6 IPv6 IPv6

tunnelLogical view:A B E F

Page 138: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-153153

Differentiated services are intended to enable deployment of scalable service discrimination in the Internet.

Architecture is separated into two major components, one of which is fairly well-understood and the other of which is just beginning to be understood.

Decision is made to separate the forwarding and routing components (as in original design of Internet).

Packet forwarding is the relatively simple task that needs to be performed on a per-packet basis as quickly as possible.

Forwarding uses the packet header to find an entry in a routing table that determines the packet's output interface.

Routing sets the entries in that table and may need to reflect a range of transit and other policies as well as to keep track of route failures.

RFC2474: Differentiated Services Field (DS : Differentiated Services Field (DS Field) in the IPv4 and IPv6 HeadersField) in the IPv4 and IPv6 Headers

Page 139: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-154154

Routing tables are maintained as a background process to the forwarding task. Further, routing is the more complex task and it has continued to evolve over the past 20 years.

Analogously, the differentiated services architecture contains two main components.

One is the fairly well-understood behavior in the forwarding path and the other is the more complex and still emerging background policy and allocation component that configures parameters used in the forwarding path.

The forwarding path behaviors include the differential treatment an individual packet receives, as implemented by queue service disciplines and/or queue management disciplines.

These per-hop behaviors are useful and required in network nodes to deliver differentiated treatment of packets no matter how we construct end-to-end or intra-domain services.

Focus is on the general semantics of the behaviors rather than the specific mechanisms used to implement them since these behaviors will evolve less rapidly than the mechanisms.

RFC2474 (cont)RFC2474 (cont)

Page 140: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-155155

Chapter 4 roadmapChapter 4 roadmap

4.1 Introduction and Network Service Models

4.2 Routing Principles4.3 Hierarchical Routing4.4 The Internet (IP) Protocol4.5 Routing in the Internet4.6 What’s Inside a Router?4.7 IPv64.8 Multicast Routing4.9 Mobility

Page 141: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-156156

Multicast: one sender to many receiversMulticast: one sender to many receivers

Multicast: act of sending datagram to multiple receivers with single “transmit” operation analogy: one teacher to many students

Question: how to achieve multicast

Multicast via unicast

source sends N unicast datagrams, one addressed to each of N receivers

multicast receiver (red)

not a multicast receiver (red)

routersforward unicastdatagrams

Page 142: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-157157

Multicast: one sender to many receiversMulticast: one sender to many receivers

Multicast: act of sending datagram to multiple receivers with single “transmit” operation analogy: one teacher to many students

Question: how to achieve multicast

Network multicast Router actively

participate in multicast, making copies of packets as needed and forwarding towards multicast receivers

Multicastrouters (red) duplicate and forward multicast datagrams

Page 143: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-158158

Multicast: one sender to many receiversMulticast: one sender to many receivers

Multicast: act of sending datagram to multiple receivers with single “transmit” operation analogy: one teacher to many students

Question: how to achieve multicast

Application-layer multicast

end systems involved in multicast copy and forward unicast datagrams among themselves

Page 144: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-159159

Internet Multicast Service ModelInternet Multicast Service Model

multicast group concept: use of indirection hosts addresses IP datagram to multicast group routers forward multicast datagrams to hosts

that have “joined” that multicast group

128.119.40.186

128.59.16.12

128.34.108.63

128.34.108.60

multicast group

226.17.30.197

Page 145: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-160160

Multicast groupsMulticast groups

class D Internet addresses reserved for multicast:

host group semantics:o anyone can “join” (receive) multicast groupo anyone can send to multicast groupo no network-layer identification to hosts of

members needed: infrastructure to deliver mcast-addressed

datagrams to all hosts that have joined that multicast group

Page 146: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-161161

Joining a multicast group: two-step processJoining a multicast group: two-step process

local: host informs local mcast router of desire to join group: IGMP (Internet Group Management Protocol)

wide area: local router interacts with other routers to receive mcast datagram flow many protocols (e.g., DVMRP, MOSPF, PIM)

IGMPIGMP

IGMP

wide-areamulticast

routing

Page 147: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-162162

IGMP: Internet Group Management ProtocolIGMP: Internet Group Management Protocol

host: sends IGMP report when application joins mcast group IP_ADD_MEMBERSHIP socket option host need not explicitly “unjoin” group when

leaving router: sends IGMP query at regular intervals

host belonging to a mcast group must reply to query

query report

Page 148: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-163163

IGMPIGMP

IGMP version 1 router: Host

Membership Query msg broadcast on LAN to all hosts

host: Host Membership Report msg to indicate group membership randomized delay

before responding implicit leave via no

reply to Query RFC 1112

IGMP v2: additions include

group-specific Query Leave Group msg

last host replying to Query can send explicit Leave Group msg

router performs group-specific query to see if any hosts left in group

RFC 2236

IGMP v3: under development as Internet draft

Page 149: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-164164

Multicast Routing: Problem StatementMulticast Routing: Problem Statement

Goal: find a tree (or trees) connecting routers having local mcast group members tree: not all paths between routers used source-based: different tree from each sender to rcvrs shared-tree: same tree used by all group members

Shared tree Source-based trees

Page 150: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-165165

Approaches for building multicast treesApproaches for building multicast trees

Approaches: source-based tree: one tree per source

shortest path trees reverse path forwarding

group-shared tree: group uses one tree minimal spanning (Steiner) center-based trees

…we first look at basic approaches, then specific protocols adopting these approaches

Page 151: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-166166

Shortest Path TreeShortest Path Tree

mcast forwarding tree: tree of shortest path routes from source to all receivers Dijkstra’s algorithm

R1

R2

R3

R4

R5

R6 R7

21

6

3 4

5

i

router with attachedgroup member

router with no attachedgroup member

link used for forwarding,i indicates order linkadded by algorithm

LEGENDS: source

Page 152: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-167167

Reverse Path ForwardingReverse Path Forwarding

if (mcast datagram received on incoming link on shortest path back to center)

then flood datagram onto all outgoing links else ignore datagram

rely on router’s knowledge of unicast shortest path from it to sender

each router has simple forwarding behavior:

Page 153: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-168168

Reverse Path Forwarding: exampleReverse Path Forwarding: example

• result is a source-specific reverse SPT– may be a bad choice with asymmetric links

R1

R2

R3

R4

R5

R6 R7

router with attachedgroup member

router with no attachedgroup member

datagram will be forwarded

LEGENDS: source

datagram will not be forwarded

Page 154: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-169169

Reverse Path Forwarding: pruningReverse Path Forwarding: pruning

forwarding tree contains subtrees with no mcast group members no need to forward datagrams down subtree “prune” msgs sent upstream by router with no

downstream group members

R1

R2

R3

R4

R5

R6 R7

router with attachedgroup member

router with no attachedgroup member

prune message

LEGENDS: source

links with multicastforwarding

P

P

P

Page 155: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-170170

Shared-Tree: Steiner TreeShared-Tree: Steiner Tree

Steiner Tree: minimum cost tree connecting all routers with attached group members

problem is NP-complete excellent heuristics exists not used in practice:

computational complexity information about entire network needed monolithic: rerun whenever a router needs

to join/leave

Page 156: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-171171

Center-based treesCenter-based trees

single delivery tree shared by all one router identified as “center” of tree to join:

edge router sends unicast join-msg addressed to center router

join-msg “processed” by intermediate routers and forwarded towards center

join-msg either hits existing tree branch for this center, or arrives at center

path taken by join-msg becomes new branch of tree for this router

Page 157: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-172172

Center-based trees: an exampleCenter-based trees: an example

Suppose R6 chosen as center:

R1

R2

R3

R4

R5

R6 R7

router with attachedgroup member

router with no attachedgroup member

path order in which join messages generated

LEGEND

21

3

1

Page 158: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-173173

Internet Multicasting Routing: DVMRPInternet Multicasting Routing: DVMRP

DVMRP: distance vector multicast routing protocol, RFC1075

flood and prune: reverse path forwarding, source-based tree RPF tree based on DVMRP’s own routing tables

constructed by communicating DVMRP routers no assumptions about underlying unicast initial datagram to mcast group flooded

everywhere via RPF routers not wanting group: send upstream

prune msgs

Page 159: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-174174

DVMRP: continued…DVMRP: continued…

soft state: DVMRP router periodically (1 min.) “forgets” branches are pruned: mcast data again flows down unpruned branch downstream router: reprune or else continue to

receive data routers can quickly regraft to tree

following IGMP join at leaf odds and ends

commonly implemented in commercial routers Mbone routing done using DVMRP

Page 160: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-175175

TunnelingTunneling

Q: How to connect “islands” of multicast routers in a “sea” of unicast routers?

mcast datagram encapsulated inside “normal” (non-multicast-addressed) datagram

normal IP datagram sent thru “tunnel” via regular IP unicast to receiving mcast router

receiving mcast router unencapsulates to get mcast datagram

physical topology logical topology

Page 161: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-176176

PIM: Protocol Independent MulticastPIM: Protocol Independent Multicast

not dependent on any specific underlying unicast routing algorithm (works with all)

two different multicast distribution scenarios :

Dense: group members

densely packed, in “close” proximity.

bandwidth more plentiful

Sparse: # networks with group

members small wrt # interconnected networks

group members “widely dispersed”

bandwidth not plentiful

Page 162: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-177177

Consequences of Sparse-Dense Dichotomy:Consequences of Sparse-Dense Dichotomy:

Dense group membership by

routers assumed until routers explicitly prune

data-driven construction on mcast tree (e.g., RPF)

bandwidth and non-group-router processing profligate

Sparse: no membership until

routers explicitly join receiver- driven

construction of mcast tree (e.g., center-based)

bandwidth and non-group-router processing conservative

Page 163: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-178178

PIM- Dense ModePIM- Dense Mode

flood-and-prune RPF, similar to DVMRP but

underlying unicast protocol provides RPF info for incoming datagram

less complicated (less efficient) downstream flood than DVMRP reduces reliance on underlying routing algorithm

has protocol mechanism for router to detect it is a leaf-node router

Page 164: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-179179

PIM - Sparse ModePIM - Sparse Mode

center-based approach router sends join msg

to rendezvous point (RP) intermediate routers

update state and forward join

after joining via RP, router can switch to source-specific tree increased performance:

less concentration, shorter paths

R1

R2

R3

R4

R5

R6R7

join

join

join

all data multicastfrom rendezvouspoint

rendezvouspoint

Page 165: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-180180

PIM - Sparse ModePIM - Sparse Mode

sender(s): unicast data to RP,

which distributes down RP-rooted tree

RP can extend mcast tree upstream to source

RP can send stop msg if no attached receivers “no one is listening!”

R1

R2

R3

R4

R5

R6R7

join

join

join

all data multicastfrom rendezvouspoint

rendezvouspoint

Page 166: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-181181

Chapter 4 roadmapChapter 4 roadmap

4.1 Introduction and Network Service Models

4.2 Routing Principles4.3 Hierarchical Routing4.4 The Internet (IP) Protocol4.5 Routing in the Internet4.6 What’s Inside a Router?4.7 IPv64.8 Multicast Routing4.9 Mobility

Page 167: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-182182

What is mobility?What is mobility?

spectrum of mobility, from the network perspective:

no mobility high mobility

mobile user, usingsame access point

mobile user, passing through multiple access point while maintaining ongoing connections (like cell phone)

mobile user, connecting/ disconnecting from network using DHCP.

Page 168: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-183183

Mobility: VocabularyMobility: Vocabulary

home network: permanent “home” of mobile(e.g., 128.119.40/24)

Permanent address: address in home network, can always be used to reach mobilee.g., 128.119.40.186

home agent: entity that will perform mobility functions on behalf of mobile, when mobile is remote

wide area network

correspondent

Page 169: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-184184

Mobility: more vocabularyMobility: more vocabulary

Care-of-address: address in visited network.(e.g., 79,129.13.2)

wide area network

visited network: network in which mobile currently resides (e.g., 79.129.13/24)

Permanent address: remains constant (e.g., 128.119.40.186)

home agent: entity in visited network that performs mobility functions on behalf of mobile.

correspondent: wants to communicate with mobile

Page 170: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-185185

How do How do youyou contact a mobile friend: contact a mobile friend:

search all phone books?

call her parents? expect her to let you

know where he/she is?

I wonder where Ali moved to?

Consider friend frequently changing addresses, how do you find her?

Page 171: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-186186

Mobility: approachesMobility: approaches

Let routing handle it: routers advertise permanent address of mobile-nodes-in-residence via usual routing table exchange. routing tables indicate where each mobile

located no changes to end-systems

Let end-systems handle it: indirect routing: communication from

correspondent to mobile goes through home agent, then forwarded to remote

direct routing: correspondent gets foreign address of mobile, sends directly to mobile

Page 172: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-187187

Mobility: approachesMobility: approaches

Let routing handle it: routers advertise permanent address of mobile-nodes-in-residence via usual routing table exchange. routing tables indicate where each mobile

located no changes to end-systems

let end-systems handle it: indirect routing: communication from

correspondent to mobile goes through home agent, then forwarded to remote

direct routing: correspondent gets foreign address of mobile, sends directly to mobile

not scalable

to millions of mobiles

Page 173: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-188188

Mobility: registrationMobility: registration

End result: Foreign agent knows about mobile Home agent knows location of mobile

wide area network

home network

visited network

1

mobile contacts foreign agent on entering visited network

2

foreign agent contacts home agent home: “this mobile is resident in my network”

Page 174: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-189189

Mobility via Indirect RoutingMobility via Indirect Routing

wide area network

homenetwork

visitednetwork

3

2

41

correspondent addresses packets using home address of mobile

home agent intercepts packets, forwards to foreign agent

foreign agent receives packets, forwards to mobile

mobile replies directly to correspondent

Page 175: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-190190

Indirect Routing: commentsIndirect Routing: comments

Mobile uses two addresses: permanent address: used by correspondent

(hence mobile location is transparent to correspondent)

care-of-address: used by home agent to forward datagrams to mobile

foreign agent functions may be done by mobile itself triangle routing: correspondent-home-network-

mobile inefficient when correspondent, mobile are in same network

Page 176: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-191191

Forwarding datagrams to remote mobileForwarding datagrams to remote mobile

Permanent address: 128.119.40.186

Care-of address: 79.129.13.2

dest: 128.119.40.186

packet sent by correspondent

dest: 79.129.13.2 dest: 128.119.40.186

packet sent by home agent to foreign agent: a packet within a packet

dest: 128.119.40.186

foreign-agent-to-mobile packet

Page 177: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-192192

Indirect Routing: moving between networksIndirect Routing: moving between networks

suppose mobile user moves to another network registers with new foreign agent new foreign agent registers with home agent home agent update care-of-address for mobile packets continue to be forwarded to mobile

(but with new care-of-address) Mobility, changing foreign networks

transparent: on going connections can be maintained!

Page 178: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-193193

Mobility via Direct RoutingMobility via Direct Routing

wide area network

homenetwork

visitednetwork

4

2

41correspondent requests, receives foreign address of mobile

correspondent forwards to foreign agent

foreign agent receives packets, forwards to mobile

mobile replies directly to correspondent

3

Page 179: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-194194

Mobility via Direct Routing: commentsMobility via Direct Routing: comments

overcome triangle routing problem non-transparent to correspondent:

correspondent must get care-of-address from home agent What happens if mobile changes networks?

Page 180: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-195195

Mobile IPMobile IP

RFC 3220 has many features we’ve seen:

home agents, foreign agents, foreign-agent registration, care-of-addresses, encapsulation (packet-within-a-packet)

three components to standard: agent discovery registration with home agent indirect routing of datagrams

Page 181: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-196196

Mobile IP: agent discoveryMobile IP: agent discovery

agent advertisement: foreign/home agents advertise service by broadcasting ICMP messages (typefield = 9)

RBHFMGV bits reserved

type = 16

type = 9 code = 0 = 9

checksum = 9

router address

standard ICMP fields

mobility agent advertisement

extension

length sequence #

registration lifetime

0 or more care-of-addresses

0 8 16 24

R bit: registration required

H,F bits: home and/or foreign agent

Page 182: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-197197

Mobile IP: registration exampleMobile IP: registration example

visited network: 79.129.13/24 home agent

HA: 128.119.40.7foreign agent

COA: 79.129.13.2 COA: 79.129.13.2

….

ICMP agent adv. Mobile agent MA: 128.119.40.186

registration req.

COA: 79.129.13.2 HA: 128.119.40.7 MA: 128.119.40.186 Lifetime: 9999 identification:714 ….

registration req.

COA: 79.129.13.2 HA: 128.119.40.7 MA: 128.119.40.186 Lifetime: 9999 identification: 714 encapsulation format ….

registration reply

HA: 128.119.40.7 MA: 128.119.40.186 Lifetime: 4999 Identification: 714 encapsulation format ….

registration reply

HA: 128.119.40.7 MA: 128.119.40.186 Lifetime: 4999 Identification: 714 ….

time

Page 183: Ali.dmohammadi @gmail.com Network Layer ali.dmohammadi @gmail.com Network Layer 4-1 Network Layer Computer Networks Shahrood University of Technology Department

[email protected]@gmail.com Network Layer Network Layer 4-4-198198

Network Layer: summaryNetwork Layer: summary

What we’ve covered: network layer services routing principles: link state

and distance vector hierarchical routing IP Internet routing protocols RIP,

OSPF, BGP what’s inside a router? IPv6 mobility