IP Addresses
• Struktur IP address• Classful IP addresses• Batasan dan Masalah dg Clasful IP Addresses• Subneting• CIDR• IP version 6 Addressing
IP Addresses
IP Addresses
Apakah IP address?
• IP address adalah address global unik untuk interface suatu jaringan
• Sebuah IP address:– adalah 32 bit identifier– mengkodekan nomor jaringan (network prefix) dan
nomor host/host number
Notasi Dotted Decimal
• IP addresses ditulis dalam bentuk dotted decimal notation
• Tiap byte diidentikasikan dengan nomor decimal dalam range [0 … 255]
• Contoh:
Network Prefix dan Host Number
• Network prefix mengidentifikasikan suatu jaringan dan host number mengidentifikasikan suatu host spesifik (kenyataannya suatu interface pada jaringan)
• Bagaimana kita tahu berapa panjang network prefix?– Network prefix secara implisit didefinisikan (lihat class-
based addressing)– Network prefix diindikasikan dengan netmask
Contoh
• Contoh: ellington.cs.virginia.edu
• Network id : 128.143.0.0• Host id : 137.144• Network mask : 255.255.0.0 atau ffff0000• Prefix Notation : 128.143.137.144/16
> Network prefix panjang 16 bit
Cara Lama : Classful IP Addresses
• Saat address Internet distandarkan (awal 80-an), address Internet dibagi dlm 4 kelas:– Class A : Network prefix 8 bit– Class B : Network prefix 16 bit– Class C : Network prefix 24 bit– Class D : Multicast– Class E : Eksperimen
• Tiap IP address memp satu kunci yg mengidentifikasi kelas– Class A : IP address mulai dg “0”– Class B : IP address mulai dg “10”– Class C : IP address mulai dg “110”– Class D : IP address mulai dg “1110”– Class E : IP address mulai dg “11110”
Cara Lama: Kelas Address Internet
Cara Lama: Kelas Address Internet
• Address yang lain : Multicast addresses
Masalah Dengan Classful IP Addresses
• Skim classful address original punya sejumlah masalah
• Problem 1. Terlalu sedikit network addresses untuk jaringan-jaringan yang besar– Address Class A dan Class B telah lenyap
• Problem 2. Hierarki 2 tingkat tidak sesuai untuk jaringan besar dengan address Class A dan Class B– Fix#1: Subnetting
Masalah Dengan Classful IP Addresses
• Problem 3. Tidak fleksibel. Misalkan perusahaan memerlukan 2000 address– Address class A dan B berlebihan (overkill!)– Address class C tidak mencukupi (memerlukan 10
address class C)
– Fix#2: Clasless Interdomain Routing (CIDR)
Masalah Dengan Classful IP Addresses
• Problem 4. Tabel Routing Membengkak. Routing pada backbone Internet memerlukan satu entry untuk tiap network address. Pada 1993 ukuran tabel routing mulai melebihi kapasitas router
– Fix#2: Clasless Interdomain Routing (CIDR)
Masalah Dengan Classful IP Addresses
• Problem 5. Internet memerlukan address lebih dari 32-bit
– Fix#3: IP version 6
Subnetting
• Problem. Organisasi memp. Multiple network yang di-manage secara independen– Solusi 1: alokasikan satu atau
lebih address class C utk tiap jaringan
• Sulit di-manage• Dari luar organisasi, tiap
jaringan harus addressable
– Solusi 2: tambah level hierarki dari IP addressing
Idea Dasar Subnetting
• Pecah bagian host number dari IP address kedalam subnet number dan host number (lebih kecil)
• Hasil: hierarki 3-layer
• Lalu:– Subnet dapat secara bebas dialokasikan dlm organisasi– Secara internal, subnet diperlakukan sbg jaringan terpisah– Struktur subnet tidak terlihat dari luar organisasi
Subnet Masks
• Router dan host menggunakan extended network prefix (subnet mask) untuk identifikasi awal host number
– Ada berbagi cara subnetting. Subnetting dengan mask 255.255.255.0 cukup umum
Addressing Plan Tipikal utk Organisasi
• Tiap jaringan layer-2 (Ethernet, FDDI) dialokasikan subnet address
Keuntungan Subnetting
• Dengan subnetting IP address menggunakan hierarki 3-layer– Network– Subnet– Host
• Meningkatkan efisiensi IP address dengan tdk mengkonsumsi keseluruhan address class B dan C untuk tiap jaringan fisik
• Mengurangi kompleksitas router. Karena eksternal router tidak mengetahui mengenai subnetting, kompleksitas tabel routing pada eksternal router dikurangi
• Cat. Panjang subnet mask tidak perlu sama untuk tiap subnetworks
CIDR - Classless Interdomain Routing
• Router Backbone IP memp. Satu entry tabel routing untuk tiap network address:– Dengan subnetting, router backbone hanya perlu tahu satu
entry untuk tiap jaringan class A, B atau C– Dapat diterima untuk jaringan class A dan B
• 27 = 128 jaringan class A• 214 = 16.384 jaringan class B
– Tetapi tidak dapat diterima untuk jaringan class C• 221 = 2.097.152 jar class C
• Pada 1993, ukuran tabel routing mulai melewati kemampuan router
• Konsekuensi: Pengalokasian IP address class-based harus ditinggalkan
CIDR - Classless Interdomain Routing
• Tujuan:– Restrukturisasi pengalokasian IP address utk meningkatkan
efisiensi– Routing hierarki untuk meminimumkan entries tabel routing
• CIDR - Classless Interdomain Routing meninggalkan idea kelas
• Konsep: panjang network id (prefix) pada IP address dibuat sembarang
• Konsekuensi: Router mempromosikan IP address dan panjang prefix (prefix menggantikan subnet mask)
Contoh CIDR
• Notasi CIDR untuk network address192.0.2.0/18
– “18” menyatakan bhw 18 bit pertama adalah bagian network dari address (dan 14 bit tersedia untuk address host spesifik)
• Bagian network disebut prefix
• Mis. Suatu site memerlukan address network dengan 1000 address
• Dg CIDR, network dialokasikan blok kontinyu 1024 address dengan prefix 22-bit
CIDR: Ukuran Prefix vs Ukuran Jaringan
CIDR dan Pengalokasian Address
• Backbone ISP mendapatkan blok besar dari IP addresses space dan merelokasikan bagian dari blok address ke pelanggannya
Contoh:• Mis. ISP memp. Blok address 206.0.64.0/18,
merepresentasikan 16.384 (214) IP addresses• Mis. Suatu client memerlukan 800 host addresses• Dengan classful addresses: perlu mengalokasikan address
class B (dan menyia-nyiakan ~ 64.700 addresses) atau 4 individual class C (dan mengintrodusir 4 route baru dalam tabel routing Internet global)
• Dengan CIDR, alokasikan /22 blok mis. 206.0.68.0/22 dan alokasikan blok 1.024 (210) IP addresses
CIDR dan Informasi Routing
CIDR dan Informasi Routing
CIDR dan Routing
• CIDR addressing memungkinkan skim routing hierarkis
• Router backbone dapat memperlakukan semua address dengan prefix identik secara sama
• Routing table lookup: look up entry dengan prefix terpanjang
IPv6 - IP Version 6
• IP Version 6– Penerus dari versi saat ini IPv4– Spesifikasi diselesaikan 1994– Membuat perbaikan IPv4 (bukan perubahan
revolusioner)
• Satu (bukan satu-satunya) fitur IPv6 peningkatan signifikan IP address 128 bit (16 byte)– IPv6 akan menyelesaiakan masalah dg IP addressing
Header IPv6
Perbandingan Address IPv6 vs IPv4
• IPv4 mempunyai maksimum
– 232 ~ 4 milyar addresses
• IPv6 mempunyai maksimum
– 2128 = (232)4 ~ 4 milyar x 4 milyar x 4 milyar x 4 milyar address
Notasi Address IPv6
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”)
• IP forwarding dilaksanakan oleh IP (pada OS Kernel)
• Algoritma routing dijalankan oleh proses user-level
Forwarding Datagram
A E
X C D
B
EE
E
E
EE
A C
B C
C C
TO NEXT HOP
D C
E C
X -
A A
B D
C -
TO NEXT HOP
D D
E D
X X
A B
B B
C B
TO NEXT HOP
D B
E -
X B
A B
B B
C C
TO NEXT HOP
D -
E B
X C
A -
B B
C C
TO NEXT HOP
D C
E B
X C
A A
B -
C D
TO NEXT HOP
D D
E E
X D
Forwarding Datagram
• Paket biasanya diteruskan (forwarding) kesejumlah router sebelum mencapai host tujuan
• IP forwarding dilaksanakan atas dasar hop-by-hop
yaitu tdk ada yg tahu rute yg lengkap. Tujuan forwarding adalah membawa paket IP lebih dekat ke tujuan
Prinsip Utama dari IP Forwarding
• Setiap datagram IP memuat IP address dari host tujuan
• network prefix dari IP address secara unik mengidentifikasi satu jaringan fisik yang merupakan bagian dari Internet yang lebih besar
• Semua host dan router yang mempunyai network prefix yang sama terhubung pada jaringan fisik yang sama dan dapat secara langsung berkomunikasi dengan mengirimkan frame MAC layer
• Setiap jaringan fisik dari Internet mempunyai paling sedikit satu router, yang juga dihubungkan pada paling sedikit satu jaringan fisik lain
IP Forwarding
• Baik router maupun host mempunyai satu tabel routing
• Namun host tidak meneruskan paket dari interface input ke interface output
• Untuk setiap paket IP, terjadi lookup tabel routing– Mencari matching host address
– Mencari matching network address
– Mencari default entry
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
• Contoh dari autonomous region adalah:– Jaringan kampus ITB
– Jaringan backbone MCI
– Internet Service Provider Regional
• Routing dilaksanakan secara berbeda dalam autonomous system (intradomain routing) dan antara autonomous system (interdomain routing)
Autonomous System (AS)
Interdomain dan Intradomain Routing
Intradomain Routing• Routing di dalam suatu AS• Mengabaikan Internet di luar
AS• Protokol untuk Intradomain
routing juga disebut Interior Gateway Protocol atau IGP
• Protokol yang populer– RIP (sederhana, lama)
– OSPF (lebih baik)
Interdomain Routing• Routing antara AS• Mengasumsikan Internet terdiri
dari sekumpulan interkoneksi AS• Normalnya, ada satu dedicated
router pd tiap AS yg menangani trafik interdomain
• Protokol utk interdomain routing disebut Exterior Gateway Protocol atau EGP
• Protokol routing:– EGP– BGP (lebih baru)
Komponen dari Algoritma Routing
1. Prosedur utk mengirimkan dan menerima reachability information mengenai jaringan ke router lain
2. Prosedur utk mengkalkulasi rute optimal– Rute-rute dikalkulasi menggunakan shortest path algorithm:
• Tujuan: Diberikan suatu jaringan dimana tiap link dialokasikan suatu cost. Cari lintasan dg cost paling rendah antara dua jaringan dengan cost minimum
3. Prosedur utk mencapai dan mempromosikan perubahan topologi
Pendekatan Shortest Path Routing
Ada dua algoritma dasar routing pada Internet
1. Distance Vector Routing• Tiap node mengetahui “distance” (=cost) ke tetangga-tetangga
langsung yg terhubung• Suatu node mengirimkan secara periodik satu list dari routing
update ke tetangga-tetangganya• Jika semua node memperbaharui “distance” mereka, tabel
routing akhirnya akan konvergen• Node baru akan mempromosikan dirinya ke tetangga-
tetangganya
Pendekatan Shortest Path Routing
2. Link State Routing• Tiap node mengetahui “distance” ke tetangga-tetangganya• Informasi “distance” (=link state) di broadcast ke semua node
pada jaringan• Tiap node mengkalkulasi tabel routing secara independen
Algoritma-Algoritma Routing pada Internet
Distance Vector
• Routing Information Protocol (RIP)
• Gateway-to-Gateway Protocol (GGP)
• Exterior Gateway Protocol (EGP)
• Interior Gateway Routing Protocol (IGRP)
Link State
• Intermediate System - Intermediate System (IS-IS)
• Open Shortest Path First (OSPF)
Distance Vector vs. Link State Routing
• Dg distance vector routing, tiap node hanya mempunyai informasi hop berikutnya
• Distance vector membuat
keputusan routing yg buruk jika
arah-arah tdk secara lengkap benar
(mis karena node down)
• Jika bagian dari arah tdk benar, routing mungkin tdk benar sampai algoritma routing re-converged
Distance Vector vs. Link State Routing
• Pd link state routing, tiap node mempunyai peta yg lengkap dari topologi
• Jika suatu node gagal (fail), tiap node dp mengkalkulasi rute baru
• Kesulitan: Semua node perlu mempunyai pandangan yg konsisten thd jaringan
Contoh Distance Vector vs. Link State di NYC
• Arah dari suatu rumah di NYC (116W 13rd St) ke National History Museum
• Tipe arah distance vector
• Arah yg diberikan akan sempurna jika semua bagian dari rute beroperasi
• Tapi coba jika misalkan W81 St ditutup!• Link state routing dp dibandingkan dg membawa peta. Dg peta
arah dp dihitung ulang pd tiap belokan
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
• Broadcast dp dilaksanakan dg flooding
• Lintasan terpendek dp dihitung dg algoritma Dijkstra
• Tiap node memerlukan informasi topologi yg lengkap
• Link state information harus di sebarkan ke semua node
• Jaminan konvergen
Operasi dari Link State Routing Protocol
A Link-State Routing Algorithm
Dijkstra’s algorithm• topologi jar, link costs diketahui
ke semua node– dilaksanakan via “link state
broadcast”
– semua node memp. info sama
• hitung lintasan least cost dari satu node (‘source”) ke semua node lain– memberikan tabel routing table
utk node tsb.
• iterative: setelah k iterasi, tahu least cost path ke k tujuan
Notasi:• c(i,j): link cost dari node i ke
j. cost tak hingga jika bukan tetangga langsung
• D(v): harga cost lintasan saat ini dari sumber ke tujuan. V
• p(v): node sebelumnya sepanjang lintasan, yaitu selanjutnya v
• N: set dari node least cost 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
Step012345
start NA
ADADE
ADEBADEBC
ADEBCF
D(B),p(B)2,A2,A2,A
D(C),p(C)5,A4,D3,E3,E
D(D),p(D)1,A
D(E),p(E)infinity
2,D
D(F),p(F)infinityinfinity
4,E4,E4,E
A
ED
CB
F
2
2
13
1
1
2
53
5
Distance Vector Routing Algorithm
iterative:• continues until no nodes
exchange info.
• self-terminating: no “signal” to stop
asynchronous:• nodes need not exchange
info/iterate in lock step!
distributed:• each node communicates
only with directly-attached neighbors
Distance Table data structure • each node has its own• row for each possible destination• column for each directly-attached
neighbor to node• example: in node X, for dest. Y via
neighbor Z:
D (Y,Z)X
distance from X toY, via Z as next hop
c(X,Z) + min {D (Y,w)}Z
w
=
=
Distance Table: example
A
E D
CB7
8
1
2
1
2
D ()
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
Ecost to destination via
dest
inat
ion
D (C,D)E
c(E,D) + min {D (C,w)}D
w== 2+2 = 4
D (A,D)E
c(E,D) + min {D (A,w)}D
w== 2+3 = 5
D (A,B)E
c(E,B) + min {D (A,w)}B
w== 8+6 = 14
loop!
loop!
Distance table gives routing table
D ()
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
Ecost to destination via
dest
inat
ion
A
B
C
D
A,1
D,5
D,4
D,2
Outgoing link to use, cost
dest
inat
ion
Distance table Routing table
Distance Vector Routing: overview
Iterative, asynchronous: each local iteration caused by:
• local link cost change • message from neighbor: its
least cost path change from neighbor
Distributed:• each node notifies neighbors
only when its least cost path to any destination changes– neighbors then notify
their neighbors if necessary
wait for (change in local link cost of msg from neighbor)
recompute distance table
if least cost path to any dest
has changed, notify neighbors
Each node:
Distance Vector Algorithm:
At all nodes, X:
1 Initialization: 2 for all adjacent nodes v: 3 D (*,v) = infty /* the * operator means "for all rows" */ 4 D (v,v) = c(X,v) 5 for all destinations, y 6 send min D (y,w) to each neighbor /* w over all X's neighbors */
XX
Xw
Distance Vector Algorithm (cont.):8 loop 9 wait (until I see a link cost change to neighbor V 10 or until I receive update from neighbor V) 11 12 if (c(X,V) changes by d) 13 /* change cost to all dest's via neighbor v by d */ 14 /* note: d could be positive or negative */ 15 for all destinations y: D (y,V) = D (y,V) + d 16 17 else if (update received from V wrt destination Y) 18 /* shortest path from V to some Y has changed */ 19 /* V has sent a new value for its min DV(Y,w) */ 20 /* call this received new value is "newval" */ 21 for the single destination y: D (Y,V) = c(X,V) + newval 22 23 if we have a new min D (Y,w)for any destination Y 24 send new value of min D (Y,w) to all neighbors 25 26 forever
w
XX
XX
X
w
w
Contoh : Distance Vector Algorithm
X Z12
7
Y
Contoh: Distance Vector Algorithm
X Z12
7
Y
D (Y,Z)X
c(X,Z) + min {D (Y,w)}w=
= 7+1 = 8
Z
D (Z,Y)X
c(X,Y) + min {D (Z,w)}w=
= 2+1 = 3
Y
Top Related