networking — network layer · networking — network layer three concepts • naming • a way to...

127
Networking — Network layer Three concepts Naming A way to identify the source/destination E.g., house address Routing Finding “how to” move towards the destination E.g., which airplane should the stuff go on Forwarding Actually “moving” towards the destination E.g., Using airplane/truck/rail

Upload: others

Post on 12-Mar-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networking—Networklayer

Threeconcepts

• Naming

• Awaytoidentifythesource/destination• E.g.,houseaddress

• Routing• Finding“howto”movetowardsthedestination

• E.g.,whichairplaneshouldthestuffgoon

• Forwarding• Actually“moving”towardsthedestination

• E.g.,Usingairplane/truck/rail

Page 2: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Forwarding

Page 3: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Forwarding

Letscomeupwithanapproach?GeneralizeEthernetideas?

Page 4: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Forwarding

Page 5: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:Broadcast

Networklayer—Forwarding

Page 6: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:Broadcast

• Sendtoeverybody

Networklayer—Forwarding

Page 7: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:Broadcast

• Sendtoeverybody• Goods

Networklayer—Forwarding

Page 8: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:Broadcast

• Sendtoeverybody• Goods

• Oh,well,simplicity

Networklayer—Forwarding

Page 9: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:Broadcast

• Sendtoeverybody• Goods

• Oh,well,simplicity

• Not-so-goods

Networklayer—Forwarding

Page 10: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:Broadcast

• Sendtoeverybody• Goods

• Oh,well,simplicity

• Not-so-goods• Oh,well,everythingelse

Networklayer—Forwarding

Page 11: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:Broadcast

• Sendtoeverybody• Goods

• Oh,well,simplicity

• Not-so-goods• Oh,well,everythingelse

• Bandwidthoverheads

Networklayer—Forwarding

Page 12: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Forwarding

Page 13: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:TimedivisionMultiplexing

Networklayer—Forwarding

Page 14: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:TimedivisionMultiplexing

• Eachsource-destinationpairassignedatimeslot

Networklayer—Forwarding

Page 15: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:TimedivisionMultiplexing

• Eachsource-destinationpairassignedatimeslot

• Cansenddataonlyduringthatslot

Networklayer—Forwarding

Page 16: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:TimedivisionMultiplexing

• Eachsource-destinationpairassignedatimeslot

• Cansenddataonlyduringthatslot

• Goods

Networklayer—Forwarding

Page 17: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:TimedivisionMultiplexing

• Eachsource-destinationpairassignedatimeslot

• Cansenddataonlyduringthatslot

• Goods• Nocollisions

Networklayer—Forwarding

Page 18: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:TimedivisionMultiplexing

• Eachsource-destinationpairassignedatimeslot

• Cansenddataonlyduringthatslot

• Goods• Nocollisions

• Not-so-goods

Networklayer—Forwarding

Page 19: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:TimedivisionMultiplexing

• Eachsource-destinationpairassignedatimeslot

• Cansenddataonlyduringthatslot

• Goods• Nocollisions

• Not-so-goods• Underutilizationofresources

Networklayer—Forwarding

Page 20: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Forwarding

Page 21: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:FrequencydivisionMultiplexing

Networklayer—Forwarding

Page 22: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:FrequencydivisionMultiplexing

• Eachsource-destinationpairassignedasubsetofresources

Networklayer—Forwarding

Page 23: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:FrequencydivisionMultiplexing

• Eachsource-destinationpairassignedasubsetofresources• Canuseonly“assigned”resources(e.g.,bandwidth)

Networklayer—Forwarding

Page 24: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:FrequencydivisionMultiplexing

• Eachsource-destinationpairassignedasubsetofresources• Canuseonly“assigned”resources(e.g.,bandwidth)

• Goods

Networklayer—Forwarding

Page 25: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:FrequencydivisionMultiplexing

• Eachsource-destinationpairassignedasubsetofresources• Canuseonly“assigned”resources(e.g.,bandwidth)

• Goods• Predictableperformance

Networklayer—Forwarding

Page 26: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:FrequencydivisionMultiplexing

• Eachsource-destinationpairassignedasubsetofresources• Canuseonly“assigned”resources(e.g.,bandwidth)

• Goods• Predictableperformance

• Not-so-goods

Networklayer—Forwarding

Page 27: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:FrequencydivisionMultiplexing

• Eachsource-destinationpairassignedasubsetofresources• Canuseonly“assigned”resources(e.g.,bandwidth)

• Goods• Predictableperformance

• Not-so-goods• Underutilizationofresources

Networklayer—Forwarding

Page 28: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Forwarding

Page 29: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2and3:CircuitSwitching

Networklayer—Forwarding

Page 30: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2and3:CircuitSwitching

• Sourceestablishesconnection

Networklayer—Forwarding

Page 31: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2and3:CircuitSwitching

• Sourceestablishesconnection• Resourcesalongthepatharereserved

Networklayer—Forwarding

Page 32: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2and3:CircuitSwitching

• Sourceestablishesconnection• Resourcesalongthepatharereserved

• Sourcesendsdata

Networklayer—Forwarding

Page 33: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2and3:CircuitSwitching

• Sourceestablishesconnection• Resourcesalongthepatharereserved

• Sourcesendsdata• Transmitdatausingthereservedresources

Networklayer—Forwarding

Page 34: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2and3:CircuitSwitching

• Sourceestablishesconnection• Resourcesalongthepatharereserved

• Sourcesendsdata• Transmitdatausingthereservedresources

• Sourcetearsdownconnection

Networklayer—Forwarding

Page 35: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2and3:CircuitSwitching

• Sourceestablishesconnection• Resourcesalongthepatharereserved

• Sourcesendsdata• Transmitdatausingthereservedresources

• Sourcetearsdownconnection• Freeresourcesforotherstouse

Networklayer—Forwarding

Page 36: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Forwarding

Page 37: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

CircuitSwitching

Networklayer—Forwarding

Page 38: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

CircuitSwitching

• Goods:

Networklayer—Forwarding

Page 39: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

CircuitSwitching

• Goods:• Predictableperformance

Networklayer—Forwarding

Page 40: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

CircuitSwitching

• Goods:• Predictableperformance

• Reliabledelivery

Networklayer—Forwarding

Page 41: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

CircuitSwitching

• Goods:• Predictableperformance

• Reliabledelivery• Simpleforwardingmechanism

Networklayer—Forwarding

Page 42: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

CircuitSwitching

• Goods:• Predictableperformance

• Reliabledelivery• Simpleforwardingmechanism

• Not-so-goods

Networklayer—Forwarding

Page 43: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

CircuitSwitching

• Goods:• Predictableperformance

• Reliabledelivery• Simpleforwardingmechanism

• Not-so-goods• Resourceunderutilization

Networklayer—Forwarding

Page 44: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

CircuitSwitching

• Goods:• Predictableperformance

• Reliabledelivery• Simpleforwardingmechanism

• Not-so-goods• Resourceunderutilization• Blockedconnections

Networklayer—Forwarding

Page 45: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

CircuitSwitching

• Goods:• Predictableperformance

• Reliabledelivery• Simpleforwardingmechanism

• Not-so-goods• Resourceunderutilization• Blockedconnections• Connectionsetupoverheads

Networklayer—Forwarding

Page 46: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

CircuitSwitching

• Goods:• Predictableperformance

• Reliabledelivery• Simpleforwardingmechanism

• Not-so-goods• Resourceunderutilization• Blockedconnections• Connectionsetupoverheads• Per-connectionstateinswitches(scalabilityproblem)

Networklayer—Forwarding

Page 47: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Forwarding

Page 48: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt4:PacketSwitching

Networklayer—Forwarding

Page 49: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt4:PacketSwitching

• Dividethemessageintopackets

Networklayer—Forwarding

Page 50: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt4:PacketSwitching

• Dividethemessageintopackets

• Putdestinationaddressintheheaderofeachpacket

Networklayer—Forwarding

Page 51: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt4:PacketSwitching

• Dividethemessageintopackets

• Putdestinationaddressintheheaderofeachpacket• Justlikeshippingstuff

Networklayer—Forwarding

Page 52: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt4:PacketSwitching

• Dividethemessageintopackets

• Putdestinationaddressintheheaderofeachpacket• Justlikeshippingstuff

• Eachdevicestoresa“look-uptable”

Networklayer—Forwarding

Page 53: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt4:PacketSwitching

• Dividethemessageintopackets

• Putdestinationaddressintheheaderofeachpacket• Justlikeshippingstuff

• Eachdevicestoresa“look-uptable”• Whatsthenexthoptowardsthedestination?

Networklayer—Forwarding

Page 54: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt4:PacketSwitching

• Dividethemessageintopackets

• Putdestinationaddressintheheaderofeachpacket• Justlikeshippingstuff

• Eachdevicestoresa“look-uptable”• Whatsthenexthoptowardsthedestination?

• Destinationreceivesthepacket(s)

Networklayer—Forwarding

Page 55: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt4:PacketSwitching

• Dividethemessageintopackets

• Putdestinationaddressintheheaderofeachpacket• Justlikeshippingstuff

• Eachdevicestoresa“look-uptable”• Whatsthenexthoptowardsthedestination?

• Destinationreceivesthepacket(s)• Andreconstructsthemessage

Networklayer—Forwarding

Page 56: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Forwarding

Page 57: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitchedforwarding

Networklayer—Forwarding

Page 58: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitchedforwarding

• Hop-by-hopforwarding

Networklayer—Forwarding

Page 59: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitchedforwarding

• Hop-by-hopforwarding• Eachrouterhasa“look-uptable”(forwardinginformationbase)

Networklayer—Forwarding

Page 60: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitchedforwarding

• Hop-by-hopforwarding• Eachrouterhasa“look-uptable”(forwardinginformationbase)

• Whatshouldbestoredinthistable?

Networklayer—Forwarding

Page 61: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitchedforwarding

• Hop-by-hopforwarding• Eachrouterhasa“look-uptable”(forwardinginformationbase)

• Whatshouldbestoredinthistable?

Networklayer—Forwarding

Page 62: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitchedforwarding

• Hop-by-hopforwarding• Eachrouterhasa“look-uptable”(forwardinginformationbase)

• Whatshouldbestoredinthistable?

• Prefix-basedforwarding(longest-prefixmatching)

Networklayer—Forwarding

Page 63: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitchedforwarding

• Hop-by-hopforwarding• Eachrouterhasa“look-uptable”(forwardinginformationbase)

• Whatshouldbestoredinthistable?

• Prefix-basedforwarding(longest-prefixmatching)

• Mapsprefixestothenext-hop

Networklayer—Forwarding

Page 64: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Forwarding

Page 65: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitching

Networklayer—Forwarding

Page 66: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitching

• Goods:

Networklayer—Forwarding

Page 67: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitching

• Goods:• Noresourceunderutilization

Networklayer—Forwarding

Page 68: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitching

• Goods:• Noresourceunderutilization

• Asourcecansendmoreifothersdon’tuseresources

Networklayer—Forwarding

Page 69: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitching

• Goods:• Noresourceunderutilization

• Asourcecansendmoreifothersdon’tuseresources

• Noblockedconnectionproblem

Networklayer—Forwarding

Page 70: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitching

• Goods:• Noresourceunderutilization

• Asourcecansendmoreifothersdon’tuseresources

• Noblockedconnectionproblem• Noper-connectionstate

Networklayer—Forwarding

Page 71: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitching

• Goods:• Noresourceunderutilization

• Asourcecansendmoreifothersdon’tuseresources

• Noblockedconnectionproblem• Noper-connectionstate• Noset-upcost

Networklayer—Forwarding

Page 72: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitching

• Goods:• Noresourceunderutilization

• Asourcecansendmoreifothersdon’tuseresources

• Noblockedconnectionproblem• Noper-connectionstate• Noset-upcost

• Not-so-goods:

Networklayer—Forwarding

Page 73: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitching

• Goods:• Noresourceunderutilization

• Asourcecansendmoreifothersdon’tuseresources

• Noblockedconnectionproblem• Noper-connectionstate• Noset-upcost

• Not-so-goods:• Packetheaderoverhead

Networklayer—Forwarding

Page 74: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

PacketSwitching

• Goods:• Noresourceunderutilization

• Asourcecansendmoreifothersdon’tuseresources

• Noblockedconnectionproblem• Noper-connectionstate• Noset-upcost

• Not-so-goods:• Packetheaderoverhead• Networkfailuresbecomeaproblem

Networklayer—Forwarding

Page 75: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networking—Networklayer

Threeconcepts

• Naming

• Awaytoidentifythesource/destination• E.g.,houseaddress

• Routing• Finding“howto”movetowardsthedestination

• E.g.,whichairplaneshouldthestuffgoon

• Forwarding• Actually“moving”towardsthedestination

• E.g.,Usingairplane/truck/rail

Page 76: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Example

C

1

23

17

B

A

Dest.

Page 77: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

Page 78: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Letscomeupwitharoutingscheme

Networklayer—Routing

Page 79: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

Page 80: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

Awantsto

findapathto

Dest.

{(A,0)}

Page 81: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

Awantsto

findapathto

Dest.

{(A,0)}

Awantstofinda

pathtoDest.

{(A,0),(B,2)}

Page 82: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

Awantsto

findapathto

Dest.

{(A,0)}

Awantstofinda

pathtoDest.

{(A,0),(B,2)}

Awantstofinda

pathtoDest.

{(A,0),(C,7)}

Page 83: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

Awantsto

findapathto

Dest.

{(A,0)}

Awantstofinda

pathtoDest.

{(A,0),(B,2)}

Awantstofinda

pathtoDest.

{(A,0),(C,7)}

Pathto

Dest.

{(A,0),(B,2),

(D,3)}

Page 84: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

Awantsto

findapathto

Dest.

{(A,0)}

Awantstofinda

pathtoDest.

{(A,0),(B,2)}

Awantstofinda

pathtoDest.

{(A,0),(C,7)}

Pathto

Dest.

{(A,0),(B,2),

(D,3)}

Pathto

Dest.

{(A,0),(C,7),

(D,1)}

Page 85: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

Awantsto

findapathto

Dest.

{(A,0)}

Awantstofinda

pathtoDest.

{(A,0),(B,2)}

Awantstofinda

pathtoDest.

{(A,0),(C,7)}

Pathto

Dest.

{(A,0),(B,2),

(D,3)}

Awantstofinda

pathtoDest.

{(A,0),(B,2),(C,1)}

Pathto

Dest.

{(A,0),(C,7),

(D,1)}

Page 86: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

Awantsto

findapathto

Dest.

{(A,0)}

Awantstofinda

pathtoDest.

{(A,0),(B,2)}

Awantstofinda

pathtoDest.

{(A,0),(C,7)}

Pathto

Dest.

{(A,0),(B,2),

(D,3)}

Awantstofinda

pathtoDest.

{(A,0),(B,2),(C,1)}

Pathto

Dest.

{(A,0),(C,7),

(D,1)}Path

toDest.

{(A,0),(B,2),

(C,1),

(D,1)}

Page 87: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

Page 88: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:DynamicSourceRouting

Networklayer—Routing

Page 89: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:DynamicSourceRouting

• BroadcastaRouteRequestPacketfordestinationd

Networklayer—Routing

Page 90: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:DynamicSourceRouting

• BroadcastaRouteRequestPacketfordestinationd• PutsourceIDinthepacketheader

Networklayer—Routing

Page 91: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:DynamicSourceRouting

• BroadcastaRouteRequestPacketfordestinationd• PutsourceIDinthepacketheader

• Ateachrouter

Networklayer—Routing

Page 92: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:DynamicSourceRouting

• BroadcastaRouteRequestPacketfordestinationd• PutsourceIDinthepacketheader

• Ateachrouter• Ifapathnotknowntothedestination

Networklayer—Routing

Page 93: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:DynamicSourceRouting

• BroadcastaRouteRequestPacketfordestinationd• PutsourceIDinthepacketheader

• Ateachrouter• Ifapathnotknowntothedestination

• Putits{ID,cost}inthepacketheader

Networklayer—Routing

Page 94: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:DynamicSourceRouting

• BroadcastaRouteRequestPacketfordestinationd• PutsourceIDinthepacketheader

• Ateachrouter• Ifapathnotknowntothedestination

• Putits{ID,cost}inthepacketheader• BroadcasttheRouteRequestPacket

Networklayer—Routing

Page 95: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:DynamicSourceRouting

• BroadcastaRouteRequestPacketfordestinationd• PutsourceIDinthepacketheader

• Ateachrouter• Ifapathnotknowntothedestination

• Putits{ID,cost}inthepacketheader• BroadcasttheRouteRequestPacket

• Else

Networklayer—Routing

Page 96: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:DynamicSourceRouting

• BroadcastaRouteRequestPacketfordestinationd• PutsourceIDinthepacketheader

• Ateachrouter• Ifapathnotknowntothedestination

• Putits{ID,cost}inthepacketheader• BroadcasttheRouteRequestPacket

• Else• RespondwithaRouteReplypacket

Networklayer—Routing

Page 97: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:DynamicSourceRouting

• BroadcastaRouteRequestPacketfordestinationd• PutsourceIDinthepacketheader

• Ateachrouter• Ifapathnotknowntothedestination

• Putits{ID,cost}inthepacketheader• BroadcasttheRouteRequestPacket

• Else• RespondwithaRouteReplypacket• Putknownpathinthepacketheader

Networklayer—Routing

Page 98: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt1:DynamicSourceRouting

• BroadcastaRouteRequestPacketfordestinationd• PutsourceIDinthepacketheader

• Ateachrouter• Ifapathnotknowntothedestination

• Putits{ID,cost}inthepacketheader• BroadcasttheRouteRequestPacket

• Else• RespondwithaRouteReplypacket• Putknownpathinthepacketheader

• Challenge?

Networklayer—Routing

Page 99: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

Page 100: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

{(A-B,0),

(A-C,7)}

Page 101: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

{(A-B,0),

(A-C,7)}

{(A-B,2),

(B-C,1),

(B-D,3)}

Page 102: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

{(A-B,0),

(A-C,7)}

{(A-B,2),

(B-C,1),

(B-D,3)}

{(A-C,7),

(B-C,1)}

Page 103: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

{(A-B,0),

(A-C,7)}

{(A-B,2),

(B-C,1),

(B-D,3)}

{(A-C,7),

(B-C,1)}

{(B-D,3),

(C-D,1)}

Page 104: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

{(A-B,0),

(A-C,7)}

{(A-B,2),

(B-C,1),

(B-D,3)}

{(A-C,7),

(B-C,1)}

{(B-D,3),

(C-D,1)}

{(A-B,0),

(A-C,7)}

Page 105: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

{(A-B,0),

(A-C,7)}

{(A-B,2),

(B-C,1),

(B-D,3)}

{(A-C,7),

(B-C,1)}

{(B-D,3),

(C-D,1)}

{(A-B,0),

(A-C,7)}

{(B-D,3),

(C-D,1)}

Page 106: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

C

1

23

17

B

A

Dest.

{(A-B,0),

(A-C,7)}

{(A-B,2),

(B-C,1),

(B-D,3)}

{(A-C,7),

(B-C,1)}

{(B-D,3),

(C-D,1)}

{(A-B,0),

(A-C,7)}

{(B-D,3),

(C-D,1)}

{(A-C,7),

(B-C,1)}

Page 107: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

Page 108: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:LinkStateRouting

Networklayer—Routing

Page 109: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:LinkStateRouting

• Eachroutermaintainsitslocal“linkstate”(LS)

Networklayer—Routing

Page 110: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:LinkStateRouting

• Eachroutermaintainsitslocal“linkstate”(LS)

• Eachrouterperiodically“floods”itsLS

Networklayer—Routing

Page 111: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:LinkStateRouting

• Eachroutermaintainsitslocal“linkstate”(LS)

• Eachrouterperiodically“floods”itsLS• AndforwardsalltheLSreceivedfromotherrouters

Networklayer—Routing

Page 112: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:LinkStateRouting

• Eachroutermaintainsitslocal“linkstate”(LS)

• Eachrouterperiodically“floods”itsLS• AndforwardsalltheLSreceivedfromotherrouters

• Atonepoint

Networklayer—Routing

Page 113: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:LinkStateRouting

• Eachroutermaintainsitslocal“linkstate”(LS)

• Eachrouterperiodically“floods”itsLS• AndforwardsalltheLSreceivedfromotherrouters

• Atonepoint• Everyrouterknowstheentiretopology

Networklayer—Routing

Page 114: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:LinkStateRouting

• Eachroutermaintainsitslocal“linkstate”(LS)

• Eachrouterperiodically“floods”itsLS• AndforwardsalltheLSreceivedfromotherrouters

• Atonepoint• Everyrouterknowstheentiretopology

• Runashortestpathalgorithm(e.g.,Dijkstra)locally

Networklayer—Routing

Page 115: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:LinkStateRouting

• Eachroutermaintainsitslocal“linkstate”(LS)

• Eachrouterperiodically“floods”itsLS• AndforwardsalltheLSreceivedfromotherrouters

• Atonepoint• Everyrouterknowstheentiretopology

• Runashortestpathalgorithm(e.g.,Dijkstra)locally

• Findpathtothedestination

Networklayer—Routing

Page 116: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:LinkStateRouting

• Eachroutermaintainsitslocal“linkstate”(LS)

• Eachrouterperiodically“floods”itsLS• AndforwardsalltheLSreceivedfromotherrouters

• Atonepoint• Everyrouterknowstheentiretopology

• Runashortestpathalgorithm(e.g.,Dijkstra)locally

• Findpathtothedestination

• Moreimportantly,findnext-hoptothedestination

Networklayer—Routing

Page 117: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt2:LinkStateRouting

• Eachroutermaintainsitslocal“linkstate”(LS)

• Eachrouterperiodically“floods”itsLS• AndforwardsalltheLSreceivedfromotherrouters

• Atonepoint• Everyrouterknowstheentiretopology

• Runashortestpathalgorithm(e.g.,Dijkstra)locally

• Findpathtothedestination

• Moreimportantly,findnext-hoptothedestination

• Challenge?

Networklayer—Routing

Page 118: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Networklayer—Routing

Page 119: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:DistanceVectorRouting

Networklayer—Routing

Page 120: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:DistanceVectorRouting

• Eachrouter

Networklayer—Routing

Page 121: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:DistanceVectorRouting

• Eachrouter• maintainsits“currentdistancetodestination”

Networklayer—Routing

Page 122: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:DistanceVectorRouting

• Eachrouter• maintainsits“currentdistancetodestination”

• Periodicallyannouncesittoallitsneighbors

Networklayer—Routing

Page 123: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:DistanceVectorRouting

• Eachrouter• maintainsits“currentdistancetodestination”

• Periodicallyannouncesittoallitsneighbors• Updateitslocaltable

Networklayer—Routing

Page 124: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:DistanceVectorRouting

• Eachrouter• maintainsits“currentdistancetodestination”

• Periodicallyannouncesittoallitsneighbors• Updateitslocaltable

• d(A,dest)=min{d(A,neighbor)+d(neighbor,dest)}

Networklayer—Routing

Page 125: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:DistanceVectorRouting

• Eachrouter• maintainsits“currentdistancetodestination”

• Periodicallyannouncesittoallitsneighbors• Updateitslocaltable

• d(A,dest)=min{d(A,neighbor)+d(neighbor,dest)}

• {dest—distance,neighbor-that-minimizes-distance}

Networklayer—Routing

Page 126: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding

Attempt3:DistanceVectorRouting

• Eachrouter• maintainsits“currentdistancetodestination”

• Periodicallyannouncesittoallitsneighbors• Updateitslocaltable

• d(A,dest)=min{d(A,neighbor)+d(neighbor,dest)}

• {dest—distance,neighbor-that-minimizes-distance}

• Broadcasttoallitsneighbors

Networklayer—Routing

Page 127: Networking — Network layer · Networking — Network layer Three concepts • Naming • A way to identify the source/destination • E.g., house address • Routing • Finding