IP Address & Routing

Post on 08-Aug-2015

48 views 7 download

Tags:

description

Teori dasar tentang IP Address dan Routing

Transcript of IP Address & Routing

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