NetworkLayer2 09
NetworkLayer2 09
Routing
Hendrawan
hend@telecom.ee.itb.ac.id
Routing Paket IP
• Ada dua bagian routing paket IP
– Bagaimana meneruskan paket dari interface input ke interface
output pada suatu router (“IP forwarding”)?
– Bagaimana mencari dan men-setup rute (“Routing algorithm”)
TO NEXT HOP C D
A -
D D
B B
E E
C C E
X D E
D C
A B E
E B
X C TO NEXT HOP
A B
E
B B
E
E E C B
X C D D B
E -
X B
TO NEXT HOP TO NEXT HOP TO NEXT HOP
A C A A A B
B C B D B B
C C C - C C
D C D D D -
E C E D E B
X - X X X C
Algoritma Routing IP
• Konsep berikut sangat penting untuk memahami
routing pada jaringan IP:
– Autonomous system
– interdomain vs. intradomain routing
– Distance vector vs. link state routing algorithms
Autonomous Systems
• Suatu autonomous system adalah region dari
Internet yang diatur (administered) oleh satu
entitas
• Gateway-to-Gateway Protocol
(GGP) • Open Shortest Path First
(OSPF)
• Jika bagian dari arah tdk benar, routing mungkin tdk benar sampai
algoritma routing re-converged
Distance Vector vs. Link State Routing
• Distance Vector
– Seseorang akan menuju suatu tempat
dibekali informasi arah yg harus diambil
(lurus, kiri, kanan) pd setiap persimpangan
– Berjalan baik kalau semua jalan tidak ada yg
ditutup. Bermasalah kalau ternyata ada jalan
yg ditutup (biasa di Indonesia!)
• Link State
– Seseorang akan menuju suatu tempat
dibekali dg peta
– Jika ada suatu jalan ditutup bisa mencari
alternatif lain
Routing adalah subjek yg sangat kompleks dan mempunyai
banyak aspek. Disini, kita hanya fokus pd hal-hal dasar saja.
Masalahnya
“A” “B”
RR2
2
RR11 RR44
1 1 4
R1 R2 R4 R6
2 2 3
2
R7 3
R5 2
R3 4 B
R8
Contoh Jaringan
Dlm contoh sederhana ini, solusi jelas dari inspeksi gambar
1 1 4
R1 R2 R4 R6
2 2 3
2
R7 3
R5 2
R3 4 B
R8
Lalu bagaimana dg jaringan ini...!?
The public Internet in 1999
Learn more at
http://www.lumeta.com
Teknik 1: Pendekatan Naif
Flood! -- Router meneruskan paket ke semua port
kecuali ingress port
R1
Keuntungan:
Sederhana.
Semua tujuan di jaringan dp dicapai
Kerugian:
Sejumlah router menerima multiple paket
Paket dp berputar-putar dlm loop selamanya
Tdk efisien
Spanning Trees
Objektif:
Cari biaya route terendah dari tiap (R1, …, R7) ke R8
1 1 4
R1 R2 R4 R6
2 2 3
2
R7 3
R5 2
R3 4
R8
Spanning Trees
1 1 4
R1 R2 R4 R6
3
2 2
2
2
R7 3
R5
4
R3 R8
• Event:
– Biaya suatu link berubah
– Suatu node menerima message
Biaya Link Berubah dg m
Biaya Link Berubah dg m
Operasi pada node v
1. Entries pd kolom ke-m dari distance table diubah dg
perubahan (jika link putus (down), = )
2. Utk semua tujuan d:
Hitung minx Dv(m,x):
(a) Jika tdk ada perubahan dari nilai minx Dv(d,x)
sebelumnya
Do nothing
(b) Jika Dv(d, m) = minx Dv (d,x)
Ubah entry pd baris ke-d dari tabel routing ke
(m, Dv(d, m)), dan kirim messages [d, Dv(d, m)] ke
semua tetangga
Node v Menerima Message [d, Dw(d)]
Node v Menerima Message [d, Dw(d)]
Operasi pd node v
1. Jika d = v, abaikan message
2. Jika d v, maka
Dv(d,w) = Dw(d) + c(w,v)
Hitung minx Dv(d,x):
Jika tdk ada perubahan, do nothing
Jika Dv(d,w) = minx Dv(d,x), maka
Ubah entry pd baris ke-d dari tabel routing ke
(d,Dv(d,w)) dan kirim message [d, Dv(d,w)] ke semua
tetangga
Distance Table: Contoh
1 cost to destination via
B C E
7 D () A B D
A 8 2
1 A 1 14 5
E D
2
B 7 8 5
destination
E D
D (C,D) = c(E,D) + minw {D (C,w)}
= 2+2 = 4 C 6 9 4
E D
D (A,D) = c(E,D) + min {D (A,w)}
w D 4 11 2
= 2+3 = 5 loop!
E B
D (A,B) = c(E,B) + minw{D (A,w)}
= 8+6 = 14
loop!
Distance Table Memberikan Routing
Table
cost to destination via
E Outgoing link
D () A B D to use, cost
A 1 14 5 A A,1
B 7 8 5 B D,5
destination
destination
C 6 9 4 C D,4
D 4 11 2 D D,4
Y
2 1
X Z
7
Contoh: Distance Vector Algorithm
Y
2 1
X Z X Z
7 D (Y,Z) = c(X,Z) + minw{D (Y,w)}
= 7+1 = 8
X Y
D (Z,Y) = c(X,Y) + minw {D (Z,w)}
= 2+1 = 3
Distance Vector: link cost changes
Perubaan link cost:
• node mendeteksi perubahan local 1
Y
link cost 4 1
• updates distance table X Z
50
• Jika cost menubah cost path
terendah, beritahu tetangga
algorithm
terminates
“good
news
travels
fast”
Distance Vector: link cost changes
Perubahan link cost:
60
• good news travels fast Y
4 1
• bad news travels slow -
X Z
“count to infinity” problem! 50
algorithm
continues
on!
Masalah dg Bellman-Ford
“Bad news travels slowly”
1 1 1
R1 R2 R3 R4
60
Y
4 1
X Z
50
algorithm
terminates
Link State Routing
• Tiap node harus
– menemukan tetangga-tetangganya
– mengukur delay (=cost) ke tetangga-tetangganya
– membroadcast paket dg informasi ini ke semua node lain
– menghitung lintasan terpendek ke setiap router yg lain
• Jaminan konvergen
Link-State Routing Algorithm
Dijkstra’s algorithm Notasi:
• topologi jar, link costs • c(i,j): link cost dari node i
diketahui ke semua node ke j. cost tak hingga jika
– dilaksanakan via “link state bukan tetangga langsung
broadcast”
• D(v): harga cost lintasan
– semua node memp. info sama
saat ini dari sumber ke
• hitung lintasan least cost dari tujuan. V
satu node (‘source”) ke semua
node lain • p(v): node sebelumnya
sepanjang lintasan, yaitu
– memberikan tabel routing table
utk node tsb. selanjutnya v
• iterative: setelah k iterasi, • N: set dari node least cost
tahu least cost path ke k tujuan path diketahui secara pasti
Dijsktra’s Algorithm
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) = infty
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
Contoh: Dijkstra’s algorithm
Step start N D(B),p(B) D(C),p(C) D(D),p(D) D(E),p(E) D(F),p(F)
0 A 2,A 5,A 1,A infinity infinity
1 AD 2,A 4,D 2,D infinity
2 ADE 2,A 3,E 4,E
3 ADEB 3,E 4,E
4 ADEBC 4,E
5 ADEBCF
5
3
B C 5
2
A 2 1 F
3
1 2
D E
1