SlideShare a Scribd company logo
Week 3 
Building a network 
Supporting applications
Agenda 
• Building a network 
• Network basics 
• Distance Vector routing 
• Link State routing 
• Supporting applications
Addresses 
• What are the advantages/drawbacks of 
hierarchical versus flat addresses ?
Port-station tables 
• What are the advantages/drawbacks of this 
approach ? 
• How to deal with mobile devices ? 
• What about multihomed devices ?
Label switching 
• What are the advantages/drawbacks of this 
approach ? 
• How to create the virtual circuits 
automatically ?
Source routing 
• What are the advantages/drawbacks of this 
approach ?
Datagram mode 
• Early work on this concept that lead to the 
current Internet was done in France 
• Cyclades project lead by Louis Pouzin 
http://goo.gl/lwdlwS
Agenda 
• Building a network 
• Network basics 
• Distance Vector routing 
• Link State routing 
• Supporting applications
Distance vectors 
l How to deal with link failures ? 
C 
A B C 
D E 
D E
How to react ? 
All routes that use a failed link are advertised with 
an infinite cost 
C 
Routing table 
B : 0 [Local] 
A : ¥ 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : ¥ 
C : ¥ 
E : ¥ 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A : 2 [West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 1 [East] 
C : 2 [East] 
B : 2 [North] 
A=0;B=¥;C=¥;D=1;E=¥
Reception of DV 
Received(Vector V[],link l) 
{ /* received vector from link l */ 
for each destination=d in V[] 
{ 
if (d isin R[]) 
{ if ( ((V[d].cost+l.cost) < R[d].cost) OR 
( R[d].link == l) ) 
{ /* better route or change to current route */ 
R[d].cost=V[d].cost+l.cost; 
R[d].link=l; 
} 
} 
else 
{ /* new route */ 
R[d].cost=V[d].cost+l.cost; 
R[d].link=l; 
} 
} 
Why ?
Example 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : ¥ 
C : ¥ 
E : ¥ 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
Routing table 
B : 0 [Local] 
A : ¥ 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
A B C 
A=0;B=¥;C=¥;D=1;E=¥ 
D E 
A : 2 [West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 1 [East] 
C : 2 [East] 
B : 2 [North] 
D must removes all the routes learned from 
North that are announced with an ∞ cost
Example 
C 
Routing table 
B : 0 [Local] 
A : ¥ 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : ¥ 
C : ¥ 
E : ¥ 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A : 2 [West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 1 [East] 
C : 2 [East] 
B : ¥ 
D=0;B= ¥;A=1;C=2;E=11
Example 
C 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : ¥ 
C : 3 [South] 
E : 2 [South] 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A : 2 [West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 1 [East] 
C : 2 [East] 
B : ¥ 
Routing table 
B : 0 [Local] 
A : ¥ 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
B=0;A=¥;C=1;E=1;D=2 
B=0;A=¥;C=1;E=1;D=2
Example 
C 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : ¥ 
C : 3 [South] 
E : 2 [South] 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A : ¥¥ 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 1 [East] 
C : 2 [East] 
B : ¥ 
Routing table 
B : 0 [Local] 
A : ¥ 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
E=0;A=2;D=1;C=1;B=1 
E=0;A=2;D=1;C=1;B=1 
E=0;A=2;D=1;C=1;B=1
Example 
C 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : ¥ 
C : 3 [South] 
E : 2 [South] 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A: 3 [South-West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 1 [East] 
C : 2 [East] 
B : 2 [East] 
Routing table 
B : 0 [Local] 
A : 3 [South] 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
A=1;B=2;C=2;D=1;E=1 
• Everything is ok ?
Another failure 
C 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : 3 [South] 
C : 3 [South] 
E : 2 [South] 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A: 3 [South-West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 1 [East] 
C : 2 [East] 
B : 2 [East] 
Routing table 
B : 0 [Local] 
A : 3 [South] 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
A=1;B=¥;C=¥;D=1;E=¥
Another failure 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A: 3 [South-West] 
B : 1 [West] 
C 
Routing table 
B : 0 [Local] 
A : 3 [South] 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
A B C 
A=0;D=1;B=3;C=3;E=2 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : 3 [South] 
C : 3 [South] 
E : 2 [South] 
D E 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : ¥ 
C : ¥ 
B : ¥ 
But A could also send its distance vector before D
Another failure 
D updates its routing table 
C 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : 3 [South] 
C : 3 [South] 
E : 2 [South] 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A: 3 [South-West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 3 [North] 
C : 4 [North] 
B : 4 [North] 
Routing table 
B : 0 [Local] 
A : 3 [South] 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
D=0;A=1;E=3;C=4;B=4
Another failure 
C 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : 5 [South] 
C : 5 [South] 
E : 4 [South] 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A: 3 [South-West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 3 [North] 
C : 4 [North] 
B : 4 [North] 
Routing table 
B : 0 [Local] 
A : 3 [South] 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
A=0;D=1;B=5;C=5;E=4
Another failure 
C 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : 5 [South] 
C : 5 [South] 
E : 4 [South] 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A: 3 [South-West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 5[North] 
C : 6 [North] 
B : 6 [North] 
Routing table 
B : 0 [Local] 
A : 3 [South] 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
A=1;D=0;B=6;C=6;E=5 
• This problem is called counting to infinity 
• How can we prevent it ?
Another failure 
Split horizon 
Split horizon with poisoning
Split horizon 
A B C 
E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : 3 [South] 
C : 3 [South] 
E : 2 [South] 
D E 
• A will not pollute D’s routing table 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A: 3 [South-West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 1 [East] 
C : 2 [East] 
B : 2 [East] 
Routing table 
B : 0 [Local] 
A : 3 [South] 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
A=0
Split horizon (2) 
D can also send its distance vector 
C 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
E : ¥ 
C : ¥ 
B : ¥ 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A: 3 [South-West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : ¥ 
C : ¥ 
B : ¥ 
Routing table 
B : 0 [Local] 
A : 3 [South] 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
D=0;B=¥;C=¥;E=¥ 
Does split horizon allows to avoid all counting to 
infinity problems ?
Limitations 
C 
E 
Routing table 
A : 0 [ Local ] 
B : ¥¥ 
C : ¥¥ 
E : ¥¥ 
A B C 
E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
A : 2 [West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
A : 2 [North] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
B : 0 [Local] 
A : 1 [West] 
C : 1 [East] 
E : 1 [South] 
A=2;B=1; C=0;E=¥ 
A=¥;B=0; C=1;E=¥ 
A=¥;B=0; C=1;E=¥
Limitations 
C 
E 
E will send its own distance vector 
B will discover a new route 
towards A via E and will advertise 
it to C 
New count to infinity problem 
Routing table 
A : 0 [ Local ] 
B : ¥¥ 
C : ¥¥ 
E : ¥¥ 
A B C 
E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
A : 2 [West] 
B : 1 [West] 
Routing table after B’s vector 
E : 0 [Local] 
A : ¥ 
C : 1 [North-East] 
B : 1 [North] 
Routing table after C’s vector 
E : 0 [local] 
A : 3 [North-East] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
B : 0 [Local] 
A : 1 [West] 
C : 1 [East] 
E : 1 [South] 
A=¥;B=0; C=1;E=¥ 
A=2;B=1; C=0;E=¥
Operational issue 
Operation 
At each expiration of its 30-sec timer, each router 
sends its distance vector and restarts its timer 
Problem 
After a power failure, all routers might restart at 
same time and have synchronised timers 
Each router will need to process bursts of DV 
messages
Agenda 
• Building a network 
• Network basics 
• Distance Vector routing 
• Link State routing 
• Supporting applications
How to set link costs ? 
• By manual configuration 
• Based on link bandwidth 
• By measurements
What is the role of 
• Sequence number in link state packets 
• How to deal with wrap around ? 
• Age field in link state packets 
• CRC in link state packets
Two way connectivity 
check 
C 
Links 
A-B, B-A : 1 
B-E, E-B : 1 
B-C, C-B : 1 
E-D, D-E : 1 
E-C, C-E : 1 
A-D, D-A : 1 
LSPs 
E-0 [D:1];[B:1];[C:1] 
A-0 [D:1];[B:1] 
B-0 [A:1] [C:1] [E:1] 
C-0 [B:1] [E:1] 
D-0 [A:1] [E:1] 
Links 
A-B, B-A : 1 
B-E, E-B : 1 
B-C, C-B : 1 
E-D, D-E : 1 
E-C, C-E : 1 
A-D, D-A : 1 
A B C 
D E 
D E 
Links 
A-B, B-A : 1 
B-E, E-B : 1 
B-C, C-B : 1 
E-D, D-E : 1 
E-C, C-E : 1 
A-D, D-A : 1 
LSPs 
E-0 [D:1];[B:1];[C:1] 
A-0 [D:1];[B:1] 
B-0 [A:1] [C:1] [E:1] 
C-0 [B:1] [E:1] 
D-0 [A:1] [E:1] 
LSPs 
E-0 [D:1];[B:1];[C:1] 
A-0 [D:1];[B:1] 
B-0 [A:1] [C:1] [E:1] 
C-0 [B:1] [E:1] 
D-0 [A:1] [E:1] 
Links 
A-B, B-A : 1 
B-E, E-B : 1 
B-C, C-B : 1 
E-D, D-E : 1 
E-C, C-E : 1 
A-D, D-A : 1 
Links 
A-B, B-A : 1 
B-E, E-B : 1 
B-C, C-B : 1 
E-D, D-E : 1 
E-C, C-E : 1 
A-D, D-A : 1 
LSPs 
E-1 [D:1];[C:1] 
A-0 [D:1];[B:1] 
B-0 [A:1] [C:1] [E:1] 
C-0 [B:1] [E:1] 
D-0 [A:1] [E:1] 
LSPs 
E-0 [D:1];[B:1];[C:1] 
A-0 [D:1];[B:1] 
B-0 [A:1] [C:1] [E:1] 
C-0 [B:1] [E:1] 
D-0 [A:1] [E:1] 
LSP : E-1 [D:1];[C:1] 
LSP : E-1 [D:1];[C:1] 
• A link is only considered useable only if 
both directions have been advertised
Transient problems 
when a link fails 
A B 
C 100 D 
A's FIB 
B : East 
C : South 
D : East 
D's FIB 
A : North 
B : North 
C : North 
C's FIB 
A : North 
B : North 
D : North 
B's FIB 
A : West 
C : West 
D : South 
A and B are not yet 
aware of failure 
Packets will be lost
A detects the failure 
A B 
C 100 D 
A's FIB 
B : East 
C : South 
D : East 
D's FIB 
A : North 
B : North 
C : North 
C's FIB 
A : North 
B : North 
D : North 
B's FIB 
A : West 
C : West 
D : South 
B not yet aware of failure 
A cannot reach B/D 
Packets continue to be lost
A recomputes Dijkstra 
and sends LSP 
A B 
A:1 C=1 
C 100 D 
A's FIB 
B : South 
C : South 
D : South 
D's FIB 
A : North 
B : North 
C : North 
C's FIB 
A : North 
B : North 
D : North 
B's FIB 
A : West 
C : West 
D : South 
B not yet aware of failure 
A loops towards B/D 
Packets continue to be lost
B detects the failure 
A B 
A:1 C=1 
C 100 D 
A's FIB 
B : South 
C : South 
D : South 
D's FIB 
A : North 
B : North 
C : North 
C's FIB 
A : North 
B : North 
D : North 
B's FIB 
A : West 
C : West 
D : South 
B cannot reach A/C 
A loops towards B/D 
Packets continue to be lost
B recomputes Dijkstra 
and sends its LSP 
A B 
B:1 D=1 
C 100 D 
A's FIB 
B : South 
C : South 
D : South 
D's FIB 
A : North 
B : North 
C : North 
C's FIB 
A : North 
B : North 
D : North 
B's FIB 
A : South 
C : South 
D : South 
B cannot reach A/C 
A loops towards B/D 
Packets continue to be lost
C recomputes Dijkstra 
A B 
C 100 D 
A's FIB 
B : South 
C : South 
D : South 
D's FIB 
A : North 
B : North 
C : North 
C's FIB 
A : North 
B : East 
D : East 
B's FIB 
A : South 
C : South 
D : South 
B loops towards A/C 
A can reach everyone 
Packets continue to be lost
D recomputes Dijkstra 
A B 
C 100 D 
A's FIB 
B : South 
C : South 
D : South 
D's FIB 
A : West 
B : North 
C : West 
C's FIB 
A : North 
B : East 
D : East 
B's FIB 
A : South 
C : South 
D : South 
B can reach everyone 
A can reach everyone 
Network has been updated
Router failures 
• Planned failures 
• Router reboot to upgrade OS 
• Sudden failure 
• due to power outage, software or 
hardware crash
Agenda 
• Building a network 
• Supporting applications 
• Transport services 
• Reliable transport protocols
Connectionless 
Source Provider Destination 
DATA.request(S,D,"M") 
DATA.indication(S,D,"M") 
Time
Connection oriented 
Source Network provider Destination 
CONNECT.request 
CONNECT.indication 
CONNECT.confirm 
Source considers 
connection open 
CONNECT.response 
Destination considers 
connection open
Data transfer 
Message mode 
Source Provider Destination 
CONNECT.request 
CONNECT.indication 
CONNECT.confirm 
CONNECT.response 
DATA.request("A") DATA.ind("A") 
DATA.request("BCD") DATA.ind("BCD") 
DATA.request("EF") DATA.ind("EF")
Data transfer 
Stream mode 
Source Provider Destination 
CONNECT.request 
CONNECT.indication 
CONNECT.confirm 
CONNECT.response 
DATA.request("AB") DATA.ind("A") 
DATA.request("CD") 
DATA.ind("B") 
DATA.request("EF") DATA.ind("C") 
DATA.ind("DEF")
Abrupt release 
Source Provider Destination 
Connection opened Connection opened 
DISCONNECT.req(abrupt) 
DISCONNECT.indication 
DATA.request("A") 
DATA.request("B") 
DATA.indication("A") 
DATA.request("C")
Graceful release 
Source Provider Destination 
Connection opened Connection opened 
DISCONNECT.req(graceful) 
DATA.request("C") 
DISCONNECT.ind(graceful) 
DATA.request("A") 
DATA.request("B") 
DATA.indication("A") 
DATA.indication("B") 
Source->Destination 
connection closed 
DATA.indication("C") 
DATA.request("D") 
DATA.indication("D") 
DISCONNECT.req(graceful) 
DISCONNECT.ind(graceful) Connection closed 
Connection closed
Transport services 
useable on Internet 
• TCP : Connection oriented, bytestream 
• UDP : Connectionless
Agenda 
• Building a network 
• Supporting applications 
• Transport services 
• Reliable transport protocols
Multiplexing 
• How to multiplex data coming from 
multiple applications ?
Reliable transport 
• How to establish a connection ?
Reliable transport 
protocols 
• How to reliably transport data ?
Reliable transport 
• How to terminate a transport connection ?

More Related Content

Similar to 3 network-transport

2 reliability-network
2 reliability-network2 reliability-network
2 reliability-network
Olivier Bonaventure
 
Part7-routing.pptx
Part7-routing.pptxPart7-routing.pptx
Part7-routing.pptx
Olivier Bonaventure
 
Part6-network-routing.pptx
Part6-network-routing.pptxPart6-network-routing.pptx
Part6-network-routing.pptx
Olivier Bonaventure
 
0580 w11 qp_22
0580 w11 qp_220580 w11 qp_22
0580 w11 qp_22King Ali
 
0580_w11_qp_22
0580_w11_qp_220580_w11_qp_22
0580_w11_qp_22
King Ali
 
Traversing Practical part 1
Traversing Practical part 1Traversing Practical part 1
Traversing Practical part 1
Bahzad5
 
0580 s10 qp_23
0580 s10 qp_230580 s10 qp_23
0580 s10 qp_23King Ali
 
0580 s10 qp_23
0580 s10 qp_230580 s10 qp_23
0580 s10 qp_23King Ali
 
0580 s10 qp_23
0580 s10 qp_230580 s10 qp_23
0580 s10 qp_23King Ali
 
routing algorithm
routing algorithmrouting algorithm
routing algorithm
AnusuaBasu
 
0580_s10_qp_23
0580_s10_qp_230580_s10_qp_23
0580_s10_qp_23
King Ali
 
0580_w08_qp_02
0580_w08_qp_020580_w08_qp_02
0580_w08_qp_02
King Ali
 
0580 s11 qp_22
0580 s11 qp_220580 s11 qp_22
0580 s11 qp_22King Ali
 
3D Geometry Theory 11
3D Geometry Theory 113D Geometry Theory 11
3D Geometry Theory 11
Lakshmikanta Satapathy
 
0580 s06 qp_2
0580 s06 qp_20580 s06 qp_2
0580 s06 qp_2King Ali
 
0580 s07 qp_2
0580 s07 qp_20580 s07 qp_2
0580 s07 qp_2King Ali
 

Similar to 3 network-transport (16)

2 reliability-network
2 reliability-network2 reliability-network
2 reliability-network
 
Part7-routing.pptx
Part7-routing.pptxPart7-routing.pptx
Part7-routing.pptx
 
Part6-network-routing.pptx
Part6-network-routing.pptxPart6-network-routing.pptx
Part6-network-routing.pptx
 
0580 w11 qp_22
0580 w11 qp_220580 w11 qp_22
0580 w11 qp_22
 
0580_w11_qp_22
0580_w11_qp_220580_w11_qp_22
0580_w11_qp_22
 
Traversing Practical part 1
Traversing Practical part 1Traversing Practical part 1
Traversing Practical part 1
 
0580 s10 qp_23
0580 s10 qp_230580 s10 qp_23
0580 s10 qp_23
 
0580 s10 qp_23
0580 s10 qp_230580 s10 qp_23
0580 s10 qp_23
 
0580 s10 qp_23
0580 s10 qp_230580 s10 qp_23
0580 s10 qp_23
 
routing algorithm
routing algorithmrouting algorithm
routing algorithm
 
0580_s10_qp_23
0580_s10_qp_230580_s10_qp_23
0580_s10_qp_23
 
0580_w08_qp_02
0580_w08_qp_020580_w08_qp_02
0580_w08_qp_02
 
0580 s11 qp_22
0580 s11 qp_220580 s11 qp_22
0580 s11 qp_22
 
3D Geometry Theory 11
3D Geometry Theory 113D Geometry Theory 11
3D Geometry Theory 11
 
0580 s06 qp_2
0580 s06 qp_20580 s06 qp_2
0580 s06 qp_2
 
0580 s07 qp_2
0580 s07 qp_20580 s07 qp_2
0580 s07 qp_2
 

More from Olivier Bonaventure

Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
Olivier Bonaventure
 
Part10-router.pptx
Part10-router.pptxPart10-router.pptx
Part10-router.pptx
Olivier Bonaventure
 
Part1-Intro-Apps.pptx
Part1-Intro-Apps.pptxPart1-Intro-Apps.pptx
Part1-Intro-Apps.pptx
Olivier Bonaventure
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
Olivier Bonaventure
 
Part2-Apps-Security.pptx
Part2-Apps-Security.pptxPart2-Apps-Security.pptx
Part2-Apps-Security.pptx
Olivier Bonaventure
 
Part11-lan.pptx
Part11-lan.pptxPart11-lan.pptx
Part11-lan.pptx
Olivier Bonaventure
 
Part5-tcp-improvements.pptx
Part5-tcp-improvements.pptxPart5-tcp-improvements.pptx
Part5-tcp-improvements.pptx
Olivier Bonaventure
 
Part8-ibgp.pptx
Part8-ibgp.pptxPart8-ibgp.pptx
Part8-ibgp.pptx
Olivier Bonaventure
 
Part4-reliable-tcp.pptx
Part4-reliable-tcp.pptxPart4-reliable-tcp.pptx
Part4-reliable-tcp.pptx
Olivier Bonaventure
 
Part1-Intro-Apps.pptx
Part1-Intro-Apps.pptxPart1-Intro-Apps.pptx
Part1-Intro-Apps.pptx
Olivier Bonaventure
 
Part2-Apps-Security.pptx
Part2-Apps-Security.pptxPart2-Apps-Security.pptx
Part2-Apps-Security.pptx
Olivier Bonaventure
 
Part4-reliable-tcp.pptx
Part4-reliable-tcp.pptxPart4-reliable-tcp.pptx
Part4-reliable-tcp.pptx
Olivier Bonaventure
 
Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
Olivier Bonaventure
 
A personal journey towards more reproducible networking research
A personal journey towards more reproducible networking researchA personal journey towards more reproducible networking research
A personal journey towards more reproducible networking research
Olivier Bonaventure
 
Part 12 : Local Area Networks
Part 12 : Local Area Networks Part 12 : Local Area Networks
Part 12 : Local Area Networks
Olivier Bonaventure
 
Part 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGPPart 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGP
Olivier Bonaventure
 
Part 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGPPart 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGP
Olivier Bonaventure
 
Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6
Olivier Bonaventure
 
Part 8 : TCP and Congestion control
Part 8 : TCP and Congestion controlPart 8 : TCP and Congestion control
Part 8 : TCP and Congestion control
Olivier Bonaventure
 
Part 7 : HTTP/2, UDP and TCP
Part 7 : HTTP/2, UDP and TCPPart 7 : HTTP/2, UDP and TCP
Part 7 : HTTP/2, UDP and TCP
Olivier Bonaventure
 

More from Olivier Bonaventure (20)

Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
 
Part10-router.pptx
Part10-router.pptxPart10-router.pptx
Part10-router.pptx
 
Part1-Intro-Apps.pptx
Part1-Intro-Apps.pptxPart1-Intro-Apps.pptx
Part1-Intro-Apps.pptx
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
 
Part2-Apps-Security.pptx
Part2-Apps-Security.pptxPart2-Apps-Security.pptx
Part2-Apps-Security.pptx
 
Part11-lan.pptx
Part11-lan.pptxPart11-lan.pptx
Part11-lan.pptx
 
Part5-tcp-improvements.pptx
Part5-tcp-improvements.pptxPart5-tcp-improvements.pptx
Part5-tcp-improvements.pptx
 
Part8-ibgp.pptx
Part8-ibgp.pptxPart8-ibgp.pptx
Part8-ibgp.pptx
 
Part4-reliable-tcp.pptx
Part4-reliable-tcp.pptxPart4-reliable-tcp.pptx
Part4-reliable-tcp.pptx
 
Part1-Intro-Apps.pptx
Part1-Intro-Apps.pptxPart1-Intro-Apps.pptx
Part1-Intro-Apps.pptx
 
Part2-Apps-Security.pptx
Part2-Apps-Security.pptxPart2-Apps-Security.pptx
Part2-Apps-Security.pptx
 
Part4-reliable-tcp.pptx
Part4-reliable-tcp.pptxPart4-reliable-tcp.pptx
Part4-reliable-tcp.pptx
 
Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
 
A personal journey towards more reproducible networking research
A personal journey towards more reproducible networking researchA personal journey towards more reproducible networking research
A personal journey towards more reproducible networking research
 
Part 12 : Local Area Networks
Part 12 : Local Area Networks Part 12 : Local Area Networks
Part 12 : Local Area Networks
 
Part 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGPPart 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGP
 
Part 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGPPart 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGP
 
Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6
 
Part 8 : TCP and Congestion control
Part 8 : TCP and Congestion controlPart 8 : TCP and Congestion control
Part 8 : TCP and Congestion control
 
Part 7 : HTTP/2, UDP and TCP
Part 7 : HTTP/2, UDP and TCPPart 7 : HTTP/2, UDP and TCP
Part 7 : HTTP/2, UDP and TCP
 

Recently uploaded

6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 
Fundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptxFundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptx
manasideore6
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
drwaing
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
NidhalKahouli2
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
aqil azizi
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
zwunae
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
anoopmanoharan2
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
symbo111
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
Kamal Acharya
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
AJAYKUMARPUND1
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
SamSarthak3
 
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABSDESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
itech2017
 

Recently uploaded (20)

6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 
Fundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptxFundamentals of Induction Motor Drives.pptx
Fundamentals of Induction Motor Drives.pptx
 
digital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdfdigital fundamental by Thomas L.floydl.pdf
digital fundamental by Thomas L.floydl.pdf
 
basic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdfbasic-wireline-operations-course-mahmoud-f-radwan.pdf
basic-wireline-operations-course-mahmoud-f-radwan.pdf
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdfTutorial for 16S rRNA Gene Analysis with QIIME2.pdf
Tutorial for 16S rRNA Gene Analysis with QIIME2.pdf
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
Pile Foundation by Venkatesh Taduvai (Sub Geotechnical Engineering II)-conver...
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdfAKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
AKS UNIVERSITY Satna Final Year Project By OM Hardaha.pdf
 
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABSDESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
DESIGN AND ANALYSIS OF A CAR SHOWROOM USING E TABS
 

3 network-transport

  • 1. Week 3 Building a network Supporting applications
  • 2. Agenda • Building a network • Network basics • Distance Vector routing • Link State routing • Supporting applications
  • 3. Addresses • What are the advantages/drawbacks of hierarchical versus flat addresses ?
  • 4. Port-station tables • What are the advantages/drawbacks of this approach ? • How to deal with mobile devices ? • What about multihomed devices ?
  • 5. Label switching • What are the advantages/drawbacks of this approach ? • How to create the virtual circuits automatically ?
  • 6. Source routing • What are the advantages/drawbacks of this approach ?
  • 7. Datagram mode • Early work on this concept that lead to the current Internet was done in France • Cyclades project lead by Louis Pouzin http://goo.gl/lwdlwS
  • 8. Agenda • Building a network • Network basics • Distance Vector routing • Link State routing • Supporting applications
  • 9. Distance vectors l How to deal with link failures ? C A B C D E D E
  • 10. How to react ? All routes that use a failed link are advertised with an infinite cost C Routing table B : 0 [Local] A : ¥ C : 1 [East] E : 1 [South] D : 2 [South] D E Routing table A : 0 [ Local ] D : 1 [South] B : ¥ C : ¥ E : ¥ A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A : 2 [West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 1 [East] C : 2 [East] B : 2 [North] A=0;B=¥;C=¥;D=1;E=¥
  • 11. Reception of DV Received(Vector V[],link l) { /* received vector from link l */ for each destination=d in V[] { if (d isin R[]) { if ( ((V[d].cost+l.cost) < R[d].cost) OR ( R[d].link == l) ) { /* better route or change to current route */ R[d].cost=V[d].cost+l.cost; R[d].link=l; } } else { /* new route */ R[d].cost=V[d].cost+l.cost; R[d].link=l; } } Why ?
  • 12. Example Routing table A : 0 [ Local ] D : 1 [South] B : ¥ C : ¥ E : ¥ Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] Routing table B : 0 [Local] A : ¥ C : 1 [East] E : 1 [South] D : 2 [South] A B C A=0;B=¥;C=¥;D=1;E=¥ D E A : 2 [West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 1 [East] C : 2 [East] B : 2 [North] D must removes all the routes learned from North that are announced with an ∞ cost
  • 13. Example C Routing table B : 0 [Local] A : ¥ C : 1 [East] E : 1 [South] D : 2 [South] D E Routing table A : 0 [ Local ] D : 1 [South] B : ¥ C : ¥ E : ¥ A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A : 2 [West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 1 [East] C : 2 [East] B : ¥ D=0;B= ¥;A=1;C=2;E=11
  • 14. Example C D E Routing table A : 0 [ Local ] D : 1 [South] B : ¥ C : 3 [South] E : 2 [South] A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A : 2 [West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 1 [East] C : 2 [East] B : ¥ Routing table B : 0 [Local] A : ¥ C : 1 [East] E : 1 [South] D : 2 [South] B=0;A=¥;C=1;E=1;D=2 B=0;A=¥;C=1;E=1;D=2
  • 15. Example C D E Routing table A : 0 [ Local ] D : 1 [South] B : ¥ C : 3 [South] E : 2 [South] A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A : ¥¥ B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 1 [East] C : 2 [East] B : ¥ Routing table B : 0 [Local] A : ¥ C : 1 [East] E : 1 [South] D : 2 [South] E=0;A=2;D=1;C=1;B=1 E=0;A=2;D=1;C=1;B=1 E=0;A=2;D=1;C=1;B=1
  • 16. Example C D E Routing table A : 0 [ Local ] D : 1 [South] B : ¥ C : 3 [South] E : 2 [South] A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A: 3 [South-West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 1 [East] C : 2 [East] B : 2 [East] Routing table B : 0 [Local] A : 3 [South] C : 1 [East] E : 1 [South] D : 2 [South] A=1;B=2;C=2;D=1;E=1 • Everything is ok ?
  • 17. Another failure C D E Routing table A : 0 [ Local ] D : 1 [South] B : 3 [South] C : 3 [South] E : 2 [South] A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A: 3 [South-West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 1 [East] C : 2 [East] B : 2 [East] Routing table B : 0 [Local] A : 3 [South] C : 1 [East] E : 1 [South] D : 2 [South] A=1;B=¥;C=¥;D=1;E=¥
  • 18. Another failure Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A: 3 [South-West] B : 1 [West] C Routing table B : 0 [Local] A : 3 [South] C : 1 [East] E : 1 [South] D : 2 [South] A B C A=0;D=1;B=3;C=3;E=2 D E Routing table A : 0 [ Local ] D : 1 [South] B : 3 [South] C : 3 [South] E : 2 [South] D E Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : ¥ C : ¥ B : ¥ But A could also send its distance vector before D
  • 19. Another failure D updates its routing table C D E Routing table A : 0 [ Local ] D : 1 [South] B : 3 [South] C : 3 [South] E : 2 [South] A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A: 3 [South-West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 3 [North] C : 4 [North] B : 4 [North] Routing table B : 0 [Local] A : 3 [South] C : 1 [East] E : 1 [South] D : 2 [South] D=0;A=1;E=3;C=4;B=4
  • 20. Another failure C D E Routing table A : 0 [ Local ] D : 1 [South] B : 5 [South] C : 5 [South] E : 4 [South] A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A: 3 [South-West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 3 [North] C : 4 [North] B : 4 [North] Routing table B : 0 [Local] A : 3 [South] C : 1 [East] E : 1 [South] D : 2 [South] A=0;D=1;B=5;C=5;E=4
  • 21. Another failure C D E Routing table A : 0 [ Local ] D : 1 [South] B : 5 [South] C : 5 [South] E : 4 [South] A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A: 3 [South-West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 5[North] C : 6 [North] B : 6 [North] Routing table B : 0 [Local] A : 3 [South] C : 1 [East] E : 1 [South] D : 2 [South] A=1;D=0;B=6;C=6;E=5 • This problem is called counting to infinity • How can we prevent it ?
  • 22. Another failure Split horizon Split horizon with poisoning
  • 23. Split horizon A B C E Routing table A : 0 [ Local ] D : 1 [South] B : 3 [South] C : 3 [South] E : 2 [South] D E • A will not pollute D’s routing table Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A: 3 [South-West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 1 [East] C : 2 [East] B : 2 [East] Routing table B : 0 [Local] A : 3 [South] C : 1 [East] E : 1 [South] D : 2 [South] A=0
  • 24. Split horizon (2) D can also send its distance vector C D E Routing table A : 0 [ Local ] D : 1 [South] E : ¥ C : ¥ B : ¥ A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A: 3 [South-West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : ¥ C : ¥ B : ¥ Routing table B : 0 [Local] A : 3 [South] C : 1 [East] E : 1 [South] D : 2 [South] D=0;B=¥;C=¥;E=¥ Does split horizon allows to avoid all counting to infinity problems ?
  • 25. Limitations C E Routing table A : 0 [ Local ] B : ¥¥ C : ¥¥ E : ¥¥ A B C E Routing table C : 0 [Local] E : 1 [South-West] A : 2 [West] B : 1 [West] Routing table E : 0 [Local] A : 2 [North] C : 1 [North-East] B : 1 [North] Routing table B : 0 [Local] A : 1 [West] C : 1 [East] E : 1 [South] A=2;B=1; C=0;E=¥ A=¥;B=0; C=1;E=¥ A=¥;B=0; C=1;E=¥
  • 26. Limitations C E E will send its own distance vector B will discover a new route towards A via E and will advertise it to C New count to infinity problem Routing table A : 0 [ Local ] B : ¥¥ C : ¥¥ E : ¥¥ A B C E Routing table C : 0 [Local] E : 1 [South-West] A : 2 [West] B : 1 [West] Routing table after B’s vector E : 0 [Local] A : ¥ C : 1 [North-East] B : 1 [North] Routing table after C’s vector E : 0 [local] A : 3 [North-East] C : 1 [North-East] B : 1 [North] Routing table B : 0 [Local] A : 1 [West] C : 1 [East] E : 1 [South] A=¥;B=0; C=1;E=¥ A=2;B=1; C=0;E=¥
  • 27. Operational issue Operation At each expiration of its 30-sec timer, each router sends its distance vector and restarts its timer Problem After a power failure, all routers might restart at same time and have synchronised timers Each router will need to process bursts of DV messages
  • 28. Agenda • Building a network • Network basics • Distance Vector routing • Link State routing • Supporting applications
  • 29. How to set link costs ? • By manual configuration • Based on link bandwidth • By measurements
  • 30. What is the role of • Sequence number in link state packets • How to deal with wrap around ? • Age field in link state packets • CRC in link state packets
  • 31. Two way connectivity check C Links A-B, B-A : 1 B-E, E-B : 1 B-C, C-B : 1 E-D, D-E : 1 E-C, C-E : 1 A-D, D-A : 1 LSPs E-0 [D:1];[B:1];[C:1] A-0 [D:1];[B:1] B-0 [A:1] [C:1] [E:1] C-0 [B:1] [E:1] D-0 [A:1] [E:1] Links A-B, B-A : 1 B-E, E-B : 1 B-C, C-B : 1 E-D, D-E : 1 E-C, C-E : 1 A-D, D-A : 1 A B C D E D E Links A-B, B-A : 1 B-E, E-B : 1 B-C, C-B : 1 E-D, D-E : 1 E-C, C-E : 1 A-D, D-A : 1 LSPs E-0 [D:1];[B:1];[C:1] A-0 [D:1];[B:1] B-0 [A:1] [C:1] [E:1] C-0 [B:1] [E:1] D-0 [A:1] [E:1] LSPs E-0 [D:1];[B:1];[C:1] A-0 [D:1];[B:1] B-0 [A:1] [C:1] [E:1] C-0 [B:1] [E:1] D-0 [A:1] [E:1] Links A-B, B-A : 1 B-E, E-B : 1 B-C, C-B : 1 E-D, D-E : 1 E-C, C-E : 1 A-D, D-A : 1 Links A-B, B-A : 1 B-E, E-B : 1 B-C, C-B : 1 E-D, D-E : 1 E-C, C-E : 1 A-D, D-A : 1 LSPs E-1 [D:1];[C:1] A-0 [D:1];[B:1] B-0 [A:1] [C:1] [E:1] C-0 [B:1] [E:1] D-0 [A:1] [E:1] LSPs E-0 [D:1];[B:1];[C:1] A-0 [D:1];[B:1] B-0 [A:1] [C:1] [E:1] C-0 [B:1] [E:1] D-0 [A:1] [E:1] LSP : E-1 [D:1];[C:1] LSP : E-1 [D:1];[C:1] • A link is only considered useable only if both directions have been advertised
  • 32. Transient problems when a link fails A B C 100 D A's FIB B : East C : South D : East D's FIB A : North B : North C : North C's FIB A : North B : North D : North B's FIB A : West C : West D : South A and B are not yet aware of failure Packets will be lost
  • 33. A detects the failure A B C 100 D A's FIB B : East C : South D : East D's FIB A : North B : North C : North C's FIB A : North B : North D : North B's FIB A : West C : West D : South B not yet aware of failure A cannot reach B/D Packets continue to be lost
  • 34. A recomputes Dijkstra and sends LSP A B A:1 C=1 C 100 D A's FIB B : South C : South D : South D's FIB A : North B : North C : North C's FIB A : North B : North D : North B's FIB A : West C : West D : South B not yet aware of failure A loops towards B/D Packets continue to be lost
  • 35. B detects the failure A B A:1 C=1 C 100 D A's FIB B : South C : South D : South D's FIB A : North B : North C : North C's FIB A : North B : North D : North B's FIB A : West C : West D : South B cannot reach A/C A loops towards B/D Packets continue to be lost
  • 36. B recomputes Dijkstra and sends its LSP A B B:1 D=1 C 100 D A's FIB B : South C : South D : South D's FIB A : North B : North C : North C's FIB A : North B : North D : North B's FIB A : South C : South D : South B cannot reach A/C A loops towards B/D Packets continue to be lost
  • 37. C recomputes Dijkstra A B C 100 D A's FIB B : South C : South D : South D's FIB A : North B : North C : North C's FIB A : North B : East D : East B's FIB A : South C : South D : South B loops towards A/C A can reach everyone Packets continue to be lost
  • 38. D recomputes Dijkstra A B C 100 D A's FIB B : South C : South D : South D's FIB A : West B : North C : West C's FIB A : North B : East D : East B's FIB A : South C : South D : South B can reach everyone A can reach everyone Network has been updated
  • 39. Router failures • Planned failures • Router reboot to upgrade OS • Sudden failure • due to power outage, software or hardware crash
  • 40. Agenda • Building a network • Supporting applications • Transport services • Reliable transport protocols
  • 41. Connectionless Source Provider Destination DATA.request(S,D,"M") DATA.indication(S,D,"M") Time
  • 42. Connection oriented Source Network provider Destination CONNECT.request CONNECT.indication CONNECT.confirm Source considers connection open CONNECT.response Destination considers connection open
  • 43. Data transfer Message mode Source Provider Destination CONNECT.request CONNECT.indication CONNECT.confirm CONNECT.response DATA.request("A") DATA.ind("A") DATA.request("BCD") DATA.ind("BCD") DATA.request("EF") DATA.ind("EF")
  • 44. Data transfer Stream mode Source Provider Destination CONNECT.request CONNECT.indication CONNECT.confirm CONNECT.response DATA.request("AB") DATA.ind("A") DATA.request("CD") DATA.ind("B") DATA.request("EF") DATA.ind("C") DATA.ind("DEF")
  • 45. Abrupt release Source Provider Destination Connection opened Connection opened DISCONNECT.req(abrupt) DISCONNECT.indication DATA.request("A") DATA.request("B") DATA.indication("A") DATA.request("C")
  • 46. Graceful release Source Provider Destination Connection opened Connection opened DISCONNECT.req(graceful) DATA.request("C") DISCONNECT.ind(graceful) DATA.request("A") DATA.request("B") DATA.indication("A") DATA.indication("B") Source->Destination connection closed DATA.indication("C") DATA.request("D") DATA.indication("D") DISCONNECT.req(graceful) DISCONNECT.ind(graceful) Connection closed Connection closed
  • 47. Transport services useable on Internet • TCP : Connection oriented, bytestream • UDP : Connectionless
  • 48. Agenda • Building a network • Supporting applications • Transport services • Reliable transport protocols
  • 49. Multiplexing • How to multiplex data coming from multiple applications ?
  • 50. Reliable transport • How to establish a connection ?
  • 51. Reliable transport protocols • How to reliably transport data ?
  • 52. Reliable transport • How to terminate a transport connection ?

Editor's Notes

  1. Pseudocode Every N seconds: for each link=l { /* one different vector for each link */ Vector=null; for each destination=d in R[] { if (R[d].link&amp;lt;&amp;gt;l) { Vector=Vector+Pair(d,R[d].cost); } } Send(Vector); }
  2. The Synchronization of Periodic Routing Messages , Floyd, S., and Jacobson, V. IEEE/ACM Transactions on Networking, V.2 N.2, p. 122-136, April 1994.