IP Address & Routing

60
IP Addresses Struktur IP address Classful IP addresses Batasan dan Masalah dg Clasful IP Addresses • Subneting • CIDR IP version 6 Addressing

description

Teori dasar tentang IP Address dan Routing

Transcript of IP Address & Routing

Page 1: IP Address & Routing

IP Addresses

• Struktur IP address• Classful IP addresses• Batasan dan Masalah dg Clasful IP Addresses• Subneting• CIDR• IP version 6 Addressing

Page 2: IP Address & Routing

IP Addresses

Page 3: IP Address & Routing

IP Addresses

Page 4: IP Address & Routing

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

Page 5: IP Address & Routing

Notasi Dotted Decimal

• IP addresses ditulis dalam bentuk dotted decimal notation

• Tiap byte diidentikasikan dengan nomor decimal dalam range [0 … 255]

• Contoh:

Page 6: IP Address & Routing

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

Page 7: IP Address & Routing

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

Page 8: IP Address & Routing

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”

Page 9: IP Address & Routing

Cara Lama: Kelas Address Internet

Page 10: IP Address & Routing

Cara Lama: Kelas Address Internet

• Address yang lain : Multicast addresses

Page 11: IP Address & Routing

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

Page 12: IP Address & Routing

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)

Page 13: IP Address & Routing

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)

Page 14: IP Address & Routing

Masalah Dengan Classful IP Addresses

• Problem 5. Internet memerlukan address lebih dari 32-bit

– Fix#3: IP version 6

Page 15: IP Address & Routing

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

Page 16: IP Address & Routing

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

Page 17: IP Address & Routing

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

Page 18: IP Address & Routing

Addressing Plan Tipikal utk Organisasi

• Tiap jaringan layer-2 (Ethernet, FDDI) dialokasikan subnet address

Page 19: IP Address & Routing

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

Page 20: IP Address & Routing

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

Page 21: IP Address & Routing

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)

Page 22: IP Address & Routing

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

Page 23: IP Address & Routing

CIDR: Ukuran Prefix vs Ukuran Jaringan

Page 24: IP Address & Routing

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

Page 25: IP Address & Routing

CIDR dan Informasi Routing

Page 26: IP Address & Routing

CIDR dan Informasi Routing

Page 27: IP Address & 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

Page 28: IP Address & Routing

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

Page 29: IP Address & Routing

Header IPv6

Page 30: IP Address & Routing

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

Page 31: IP Address & Routing

Notasi Address IPv6

Page 32: IP Address & Routing

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

Page 33: IP Address & Routing

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

Page 34: IP Address & Routing

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

Page 35: IP Address & Routing

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

Page 36: IP Address & Routing

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

Page 37: IP Address & Routing

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

Page 38: IP Address & Routing

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)

Page 39: IP Address & Routing

Autonomous System (AS)

Page 40: IP Address & Routing

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)

Page 41: IP Address & Routing

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

Page 42: IP Address & Routing

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

Page 43: IP Address & Routing

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

Page 44: IP Address & Routing

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)

Page 45: IP Address & Routing

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

Page 46: IP Address & Routing

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

Page 47: IP Address & Routing

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

Page 48: IP Address & Routing

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

Page 49: IP Address & Routing

Operasi dari Link State Routing Protocol

Page 50: IP Address & Routing

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

Page 51: IP Address & Routing

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

Page 52: IP Address & Routing

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

Page 53: IP Address & Routing

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

=

=

Page 54: IP Address & Routing

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!

Page 55: IP Address & Routing

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

Page 56: IP Address & Routing

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:

Page 57: IP Address & Routing

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

Page 58: IP Address & Routing

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

Page 59: IP Address & Routing

Contoh : Distance Vector Algorithm

X Z12

7

Y

Page 60: IP Address & Routing

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