Materi ini sebenarnya sudah pernah saya tuliskan di blog pribadi saya.
Namun bagi sebagian orang mengaku masih sulit memahaminya, maka saya
coba ulas lagi disini secara lebih perlahan, berharap agar lebih mudah
dipahami.
Jadi, kali ini kita tidak akan langsung belajar
konfigurasi routing, melainkan hanya mempelajari ip routing saja. IP
routing adalah proses forwarding IP packet yang dilakukan oleh router.
Berikut 3 hal yang akan kamu pahami di setelah materi ip routing kali ini:
Memahami topologi sederhana beda network
Mempelajari cara kerja router
Menganalisa perpindahan packet ke network yang berbeda
Di akhir materi nanti juga akan saya sediakan beberapa soal untuk mengevaluasi pemahaman kamu mengenai ip routing.
Mari kita mulai materinya.
A. Terminologi Routing
Ada beberapa istilah yang perlu kita sepakati pemakaiannya di materi kali ini. Tadi saya katakan:
IP routing (aktifitas forwarding ip packet)
yang dilakukan oleh router (perangkat yang merouting), dan
IP packet (anggaplah seperti surat di analogi kantor pos).
Router
yang dimaksud adalah kata kerja. Perangkat apapun yang bisa bertugas
merouting, bisa firewall, bisa komputer, bisa switch. Tapi tetap kita
akan belajar dengan router yang selama ini kita kenal.
Jadi secara
ringkas, ip adalah routed protocol, sedangkan RIP, EIGRP, OSPF, dsb
adalah routing protocol. Objeknya adalah ip packet, pelakunya adalah
router.
Selain itu, ada 2 teknik dalam merouting, yaitu statis dan
dinamis. Jika statis dilakukan manual, dinamis routing berarti router
saling bertukar informasi routing mereka.
B. Pemahaman Dasar Routing
Saya ingatkan lagi materi dasar jaringan internetwork dimana router berperan merouting packet dari sebuah network yang berbeda ke tujuan yang berbeda network pula.
Note:
Teknik konfigurasi routing dibawah tidak perlu kamu pahami saat ini
juga. Saya hanya menjelaskan gambaran umum cara kerja router saja dan
gambaran networknya.
Ini 3 hal yang harus diketahui oleh router dalam tugasnya merouting packet:
Melihat network dari tujuan sebuah paket ip
Rute menuju remote network dan memilih rute mana yang terbaik
Memaintain tabel routing
1. Router Hanya Melihat Network Address
Router
engga peduli mengenai host, alamat ip address host tersebut dan dimana
lokasinya. Router cuma melihat alamat network sebuah paket, dan rute
mana yang terbaik menuju network tersebut.
Perhatikan topologi berikut ini.
Gambar 1: Topologi A – Local Network RoutingPertanyaannya, router menerima packet dengan alamat tujuan 192.168.100.10, kemana packet akan diforward?
Saya
yakin dengan mudah kamu bisa menjawab, packet akan diforward ke
interface Ethernet0/2 (karena di topologi seperti itu), ya kan?
Ngomong-ngomong,
router engga tau bentuk topologi yang kita buat diatas seperti apa. Dia
hanya melihat tabel routingnya. Cara melihatnya di router Cisco IOS
dengan perintah #show ip route:
Router01#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
[output cut]
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/8 is directly connected, Ethernet0/0
L 10.0.0.1/32 is directly connected, Ethernet0/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.0.0/16 is directly connected, Ethernet0/1
L 172.16.0.1/32 is directly connected, Ethernet0/1
192.168.100.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.100.0/24 is directly connected, Ethernet0/2
L 192.168.100.1/32 is directly connected, Ethernet0/2
Router#
(Akan lebih mengerti kalau kamu ikuti materi ini sembari praktek, gunakan packet tracer saja)
Yes,
packet dengan tujuan 192.168.100.10 akan diforward melalui interface
Ethernet0/2. Perhatikan disitu ada flag C yaitu directly connected,
router bisa langsung memforward packet tersebut.
Transmisi packet akan berhasil dengan syarat client-client diatas sudah mengkonfigurasi gateway. Silakan baca fungsi gateway kalau belum paham.
Melihat tabel routing
Sekarang
pertanyaannya, gimana kalau ada packet dengan alamat tujuan
10.100.10.19? Ke interface mana packet tersebut akan diteruskan?
Ingat,
router tidak peduli dengan alamat 10.100.10.19, dia hanya peduli di
network mana alamat tersebut, kalau ada di routing tablenya, maka bisa
dikirimkan.
Kalau kita hitung, berarti kan 10.100.10.19 berada di
network 10.0.0.0/8, ya kan? atau belum paham? Kalau belum silakan balik
ke materi IP address dan silakan belajar subnetting terlebih dahulu.
Nah
di topologi kan tidak ada host dengan alamat 10.100.10.19. Tapi fokus
kita disini adalah routernya, router tidak peduli dengan host itu ada
atau tidak. Network dari packet tersebut ada di tabel routing. Itu
intinya.
Proses selanjutnya seperti apa.. akan kita bahas dibawah.
IOS router versi 15 dan /32 di tabel routing
Satu
lagi, di IOS versi 15, router menambahkan alamat interfacenya sendiri
di tabel routing seperti contoh diatas: 10.0.0.1/32 directly connected
ke interface Ethernet0/0.
Tujuannya agar proses routing lebih
efektif karena dia tinggal menforward packet tersebut ke interfacenya
sendiri. Kita juga lebih gampang mengetahui kalau router punya ip
interface di network tersebut.
2. Memilih Rute Terbaik
Satu
lagi contoh, berdasarkan tabel routing dibawah ini. Jika ada packet
dengan alamat tujuan 192.168.2.108, ke interface mana packet tersebut
akan diforward?
Router02#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
[output cut]
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/30 is directly connected, Serial1/0
L 192.168.1.2/32 is directly connected, Serial1/0
192.168.2.0/24 is variably subnetted, 10 subnets, 2 masks
C 192.168.2.0/27 is directly connected, Loopback0
L 192.168.2.1/32 is directly connected, Loopback0
C 192.168.2.32/27 is directly connected, Loopback1
L 192.168.2.33/32 is directly connected, Loopback1
C 192.168.2.64/27 is directly connected, Loopback2
L 192.168.2.65/32 is directly connected, Loopback2
C 192.168.2.96/27 is directly connected, Loopback3
L 192.168.2.97/32 is directly connected, Loopback3
C 192.168.2.128/27 is directly connected, Loopback4
L 192.168.2.129/32 is directly connected, Loopback4
[output cut]
Perhatikan,
tabel routing cisco IOS menampilkan network classfull dan dibawahnya
adalah network-network yang sudah disubnet, jadi lebih enak ngelihatnya,
ya kan?
Lalu, ke interface mana packet tadi akan diforward?
Serius.. kalau kamu masih bingung menjawabnya, silakan pelajari materi subnetting yang sudah kita bahas sebelumnya.
Rute menuju remote network
Contoh-contoh
diatas semuanya masih local network, alias terhubung langsung ke
router. Jika seperti itu, kita bahkan tidak perlu mengkonfigurasi
routing apapun karena router sudah tau rute menuju network tersebut.
Sekarang kita kembangkan topologinya seperti berikut ini.
Gambar 2: Topologi B – Remote Network RoutingSilakan
diperhatikan, network 192.168.2.96/27 dan lainnya adalah remote network
bagi Router01, karena tidak terhubung langsung dengannya. Begitu juga
network 172.16.0.0/16 bagi Router02 dan seterusnya.
Sekarang
pertanyaannya, jika router01 menerima packet dari PC02 dengan alamat
tujuan 192.168.2.77, kemana packet akan diteruskan?
Ingat, router diatas itu tidak paham seperti apa wujud topologi yang kita buat. Sehingga jawabannya, tentu: tergantung tabel routing.
Nah
karena tidak terhubung langsung, network address dari 192.168.2.77
belum ada di tabel routing Rourter01 (tabelnya routingnya masih sama
dengan output show ip route diatas yang pertama kali).
Sehingga harus kita konfigurasi, dari topologi kita paham kalau tujuan paket tersebut terhubung ke router02.
Cara
meroutingnya ada 2, dengan static routing, atau dynamic routing. Saya
contohkan dengan static routing, ingat saja 2 hal ini:
Alamat network yang ingin dirouting (yang akan ditambahkan ke tabel routing).
Rute menuju alamat network tersebut.
Ingat, Router02 pun harus tau rute menuju ke PC02 (si pengirim paket) agar paket tersebut bisa reply.
Berikut konfigurasi di Router01:
R1(config)#ip route 192.168.2.0 255.255.255.128 192.168.1.2
R1(config)#do show ip route
[output cut]
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/8 is directly connected, Ethernet0/0
L 10.0.0.1/32 is directly connected, Ethernet0/0
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C 172.16.0.0/16 is directly connected, Ethernet0/1
L 172.16.0.1/32 is directly connected, Ethernet0/1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/30 is directly connected, Serial1/0
L 192.168.1.1/32 is directly connected, Serial1/0
192.168.2.0/25 is subnetted, 1 subnets
S 192.168.2.0 [1/0] via 192.168.1.2
192.168.100.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.100.0/24 is directly connected, Ethernet0/2
L 192.168.100.1/32 is directly connected, Ethernet0/2
R1(config)#
Lho,
kok dikonfigurasi dengan subnet mask 255.255.255.128 (/25)? Saya
summari agar mencakup semua alamat loopback0 sampai loopback4 router02.
Sekarang konfigurasi di Router02:
R2(config)#ip route 172.16.0.0 255.255.0.0 192.168.1.1
R2(config)#do show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
[output cut]
S 172.16.0.0/16 [1/0] via 192.168.1.1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/30 is directly connected, Serial1/0
L 192.168.1.2/32 is directly connected, Serial1/0
192.168.2.0/24 is variably subnetted, 10 subnets, 2 masks
C 192.168.2.0/27 is directly connected, Loopback0
L 192.168.2.1/32 is directly connected, Loopback0
C 192.168.2.32/27 is directly connected, Loopback1
L 192.168.2.33/32 is directly connected, Loopback1
C 192.168.2.64/27 is directly connected, Loopback2
L 192.168.2.65/32 is directly connected, Loopback2
C 192.168.2.96/27 is directly connected, Loopback3
L 192.168.2.97/32 is directly connected, Loopback3
C 192.168.2.128/27 is directly connected, Loopback4
L 192.168.2.129/32 is directly connected, Loopback4
192.168.100.0/24 is variably subnetted, 4 subnets, 2 masks
C 192.168.100.0/25 is directly connected, Loopback88
L 192.168.100.1/32 is directly connected, Loopback88
C 192.168.100.128/25 is directly connected, Loopback99
L 192.168.100.129/32 is directly connected, Loopback99
R2(config)#
Selesai,
sekarang PC02 sudah bisa berkomunikasi ke network 192.168.2.0/25 yang
terhubung ke Router02. Silakan coba sendiri di lab masing-masing.
Ini rangkumannya:
Router bekerja berdasarkan tabel routing.
Entri di tabel routing tersebut bisa ditambahkan (dikonfigurasi) baik secara statis maupun dinamis.
Isi tabel routing: alamat networknya, dan rute menuju alamat network tersebut.
Bahasan konfigurasi ini akan kita bahas lebih lanjut di bab berikutnya. Sekarang cukup pahami konsep dasarnya.
Route path selection
Ada kondisi dimana terdapat beberapa network tapi pathnya berbeda. Seperti berikut ini.
Gambar 3: Route SelectionPC02
ingin mengirim packet ke alamat 192.168.100.10. Sesampainya di
Router01, ke interface mana kah paket tersebut akan diforward?
Ini akan kita bahas nanti, namun jika kamu penasaran, silakan dipraktekkan dengan skenario sebagai berikut:
Di router01: konfigurasi routing ke 192.168.100.0/24, arahkan ke interface serial1/0 atau 192.168.1.2.
Hapus
konfigurasi nomer 1, di router01: konfigurasi routing ke
192.168.100.0/25 dan 192.168.100.128/25, arahkan ke interface serial1/0
atau 192.168.2.
Test ping dan tracreoute dari PC02 ke alamat 192.168.100.10 setelah skenario 1 dan skenario 2.
*note: interface lo88 router02 adalah: 192.168.100.10/25.
Nah,
itu masih di Router01 (kamu coba sendiri), sekarang kita lihat sedikit
di router02. Bagaimana jika router02 menerima packet dengan alamat
tujuan 192.168.100.10?
Ke interface mana packet tersebut akan diforward? (misal yang mengirim packet adalah interface loopback 0).
Berikut tabel routingnya:
R2#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
[output cut]
S 10.0.0.0/8 [1/0] via 192.168.1.1
S 172.16.0.0/16 [1/0] via 192.168.1.1
192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.1.0/30 is directly connected, Serial1/0
L 192.168.1.2/32 is directly connected, Serial1/0
192.168.2.0/24 is variably subnetted, 10 subnets, 2 masks
C 192.168.2.0/27 is directly connected, Loopback0
L 192.168.2.1/32 is directly connected, Loopback0
C 192.168.2.32/27 is directly connected, Loopback1
L 192.168.2.33/32 is directly connected, Loopback1
C 192.168.2.64/27 is directly connected, Loopback2
L 192.168.2.65/32 is directly connected, Loopback2
C 192.168.2.96/27 is directly connected, Loopback3
L 192.168.2.97/32 is directly connected, Loopback3
C 192.168.2.128/27 is directly connected, Loopback4
L 192.168.2.129/32 is directly connected, Loopback4
192.168.100.0/24 is variably subnetted, 5 subnets, 3 masks
S 192.168.100.0/24 [1/0] via 192.168.1.1
C 192.168.100.0/25 is directly connected, Loopback88
L 192.168.100.10/32 is directly connected, Loopback88
C 192.168.100.128/25 is directly connected, Loopback99
L 192.168.100.138/32 is directly connected, Loopback99
R2#
Setelah
dicoba, packet diteruskan ke interface loopback88, bukan ke interface
s1/0 atau via 192.168.1.1 (router01) untuk menuju PC03.
R2#traceroute 192.168.100.10 source lo 0
Type escape sequence to abort.
Tracing the route to 192.168.100.10
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.100.10 4 msec 4 msec *
R2#
Kenapa packet dikirimkan ke interface loopback88?
Dalam membangun routing tabel, 3 faktor berikut yang menentukan:
Administrative distance: tingkat kepercayaan rute, semakin kecil nilainya, maka rute tersebut semakin diutamakan.
Metric: oleh routing protocol sendiri, punya metric masing-masing.
Prefix length: prefix length terpanjang akan menjadi prioritas.
Dah,
ini akan kita bahas di lain kesempatan. Sebagai catatan, berikut adalah
nilai default administrative distance routing protocol di cisco.
Routing Protocol
AD Value
Connected
0
Static
1
eBGP
20
EIGRP (internal)
90
IGRP
100
OSPF
110
IS-IS
115
RIP
120
EIGRP (external)
170
iBGP
200
EIGRP summary route
5
3. Memaintain Routing Table
Satu lagi sebelum kita bahas tentang proses ip routing. Tadi saya katakan, ada 2 teknik membangun atau mengkonfigurasi routing:
Static
routing: admin sendiri yang mengkonfigurasi secara manual alamat
network, rute menuju alamat network tersebut, dan metricnya.
Dynamic routing: router akan saling bertukar informasi routingnya ke router tetangganya.
Juga akan kita bahas nanti. Intinya ketika belajar, mulai dari static routing terlebih dahulu.
Saya ingatkan lagi, jika kamu belum pernah belajar konfigurasi routing sama sekali, tidak perlu khawatir, intinya kamu cukup pahami beberapa point besarnya:
Router tidak tau bentuk topologi, router cuma melihat tabel routingnya.
Router
tidak peduli alamat ip dan lokasi host ada dimana, dia hanya perlu tahu
alamat networknya (maka kamu perlu paham subnetting).
Kalau
network tersebut terhubung langsung dengannya, tidak perlu konfigurasi
apa-apa, router sudah tau rute menuju network tersebut.
Sebaliknya, kalau tujuan paketnya ada di remote network, maka tabel routing perlu dibuat, dengan static atau dynamic routing.
C. Proses IP Routing
Semoga
dari penjelasan singkat diatas kamu sudah punya bayang-bayang dengan
routing. Topologi yang akan kita gunakan untuk mempelajari proses ip
routing kali ini jauh lebih sederhana.
Gambar 4: Belajar IP RoutingKita
akan mencoba mengirim paket ICMP dari Host-A (192.168.1.2) ke Host-B
(192.168.2.2) dan memperhatikan proses routing packet hingga reply
kembali ke Host-A.
Alamat MAC masing-masing NIC perangkat sengaja
dicantumkan karena nanti kita akan mengamati proses ARP juga. Kemudian,
di router tidak ada konfigurasi routing apapun karena kedua network
terhubung langsung.
Let’s begin.
1. Membentuk packet ICMP
Host-A
akan membuat paket ICMP echo request yang nantinya akan ditempatkan di
IP packet, berisi 192.168.1.2 sebagai source address dan 192.168.2.2
sebagai destination address.
Gambar 4: Packet ICMPTerlihat di gambar bahwa IP packetnya berisi protocol 1 (icmp) beserta alamat sumber dan tujuannya. Di materi ip address sudah pernah kita bahas tentang ini.
2. Apakah tujuan paket berada di local network atau remote network?
Masih
berada di layer network dengan IP protocol, Host-A akan mencari tahu,
apakah alamat 192.168.1.2 berada satu network dengannya, atau berada di
network berbeda?
Maka dia akan membandingkan dengan alamat ip nya sendiri dan subnet masknya.
Gambar 5: Membandingkan network tujuan paketHost-A
dengan ip address 192.168.1.1 di subnet mask 255.255.255.0, berarti
alamat ip yang satu network dengannya adalah 192.168.1.1 sampai
192.168.1.254.
Maka diketahui bahwa 192.168.1.2 berada di remote network.
3. Tujuan paket berada di remote network, kirim ke gateway!
Host-A
sudah mendaftarkan alamat 192.168.1.1 (interface e0/0 router). Saya
tidak ingin membuat kamu pusing, tapi coba perhatikan output dari route -ndari Host-A tersebut.
Karena
komputer juga memiliki kapabilitas untuk merouting (bisa static, isa
dynamic). Sehingga gateway dipertimbangkan sebagai rute (default route).
Sederhananya,
jika tidak ada rute menuju paket 192.168.1.2 tadi, maka packet akan
dibuang. Tidak jadi dikirimkan. Dalam hal ini paket akan dikirim ke
gateway.
Agar
packet bisa dikirimkan ke alamat gateway (192.168.1.1), maka Host-A
harus mengetahui alamat hardware (MAC: media access control) dari
interface e0/0 router.
Masih ingat kan materi enkapsulasi deenkapsulasi TCP/IP?
Perangkat
hanya bisa berkomunikasi dan saling bertransmisi data melalui hardware,
layer 2 dan layer 1. Makanya packet tersebut perlu dibungkus dulu
menjadi frame.
Sekali lagi dan perlu diingat, packet icmp yang
tadi udah berisi ip address sumber dan tujuan, akan dibungkus ke dalam
frame, dimana frame juga harus berisi alamat sumber dan tujuan, tapi
alamat hardware.
Dibungkus
ke dalam frame, isinya IP packet yang data payloadnya adalah ICMP.
Source address frame: 0C:0C:99:49:CA:00 eth0 Host-A, destination address
frame: aabb.cc00.0100 eth0/0 Router.
Gambar 6: Frame dari Host-A ke e0/0 RouterAda
perbedaan antara frame dan packet. Alamat packet dari awal biasanya
tidak berubah (kecuali ada translasi). Sedangkan alamat frame, selalu
alamat perangkat di transit, tidak pernah lompat.
Misal rutenya Bogor (sumber) -> Cianjur -> Padalarang -> Bandung (tujuan).
Maka
isi alamat sumber dan tujuan packet selalu Bogor dan Bandung. Sedangkan
alamat framenya bisa Bogor -> Cianjur, Cianjur -> Padalarang, dan
seterusnya.
5. Memanfaatkan address resolution protocol (ARP)
Balik
lagi ke proses tadi, packet sudah dibungkus jadi frame dan ingin
dikirimkan ke interface e0/0 router. Bagaimana cara mengetahui alamat
hardware interface e0/0 router tersebut?
Maka digunakanlah ARP atau address resolution protocol, fungsinya untuk menerjemahkan alamat IP menjadi alamat hardware.
Alamat
IP nya kan sudah diketahui, yaitu alamat gateway (e0/0 router). Maka
host A tinggal menyebar pesan ARP melalui interface eth0 nya berisi
“siapa yang tahu alamat hardware dari 192.168.1.1?”
Gambar 7: ARP broadcast dari Host-ACoba
perhatikan, pesan ARP tersebut dikirimkan secara broadcast ke alamat
ff:ff:ff:ff…, alias layer 2 broadcast. Ini sudah kita bahas juga di
jenis-jenis traffic jaringan komputer. [Baca broadcast traffic].
Andaikata
NIC eth0 host-A diatas terhubung ke switch, maka pesan broadcast
tersebut kaan diteruskan juga oleh switch. [Ingat materi dasar broadcast domain].
Kembali
ke proses tadi, router yang merasa bahwa alamat 192.168.1.1 adalah
miliknya, dia membalas pesan ARP tersebut dengan pesan “oh 192.168.1.1
itu gue, alamat hardwarenya aabb.cc00.0100”.
Gambar 8: ARP reply oleh Router
6. Alamat MAC disimpan ke tabel arp (cache)
Bayangkan
jika setiap kali ingin mengirim frame, tiap perangkat harus nanya-nanya
dulu berapa alamat hardware alamat si IP sekian? Tentu tidak efektif.
Tidak
hanya tabel routing (alamat network), alamat mac pun ada tabelnya, tapi
secara default tidak permanen, ada jangka waktunya. Sering disebut
dengan arp cache atau mac address table jika di switch.
Kembali ke proses, maka Host-A akan menyimpan alamat hardware ethernet0/0 Router di tabel arp nya.
gns3@Host-A:~$ arp -a
? (192.168.1.1) at aa:bb:cc:00:01:00 [ether] on eth0
Begitu juga dengan Router, alamat hardware ether0 dari Host-A akan disimpan ke tabel arp nya.
Router#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.1.1 - aabb.cc00.0100 ARPA Ethernet0/0
Internet 192.168.1.2 67 0c0c.9949.ca00 ARPA Ethernet0/0
Internet 192.168.2.1 - aabb.cc00.0110 ARPA Ethernet0/1
Internet 192.168.2.2 66 0c0c.99d5.d900 ARPA Ethernet0/1
Oh ya, sampai di step ini, router belum mengetahui alamat hardware Host-B (192.168.2.2).
Lihat
bahwa disitu ada kolom “Age (min)” yaitu jangka waktu cache yang saya
katakan tadi. Tanda (-) berarti alamat interface router itu sendiri,
yaitu 192.168.1.1:aabb.cc00.0100 dan 192.168.2.1:aabb.cc00.0110.
Sekarang, frame tadi sudah siap untuk ditransmisikan oleh Host-A — dan sedang dalam perjalan ke ethernet0/0 router 🛫🛫
Melalui media — layer 1 physical, dalam hal ini kabel UTP.
(Lama yee)
7. Pemeriksaan frame (FCS: Frame Check Sequence)
Masih
panjang prosesnya. Ketika mengirim frame, dua perangkat yang berada
dalam satu collision domain yang sama (eth0 host-A dan eth0/0 router)
akan menjalankan CRC (cyclic redundancy check) dan hasilnya akan
dicocokkan field FCS (frame check squence).
Jika FCS tidak sesuai,
maka frame akan didiscard saat itu juga. Tidak ada error recovery di
layer 2, hal ini cuma ada di transport layer. Jika CRC sudah sesuai,
maka alamat tujuan di frame akan dibandingkan dengan:
Apakah mac address tersebut adalah interface router?
Mac address adalah alamat broadcast dari subnet dimana interface router berada di subnet tersebut juga.
Mac address tersebut adalah alamat multicast dimana router juga termasuk dari multicast tersebut.
Dalam hal ini, alamat tujuan frame tadi diketahui adalah alamat interface e0/0 router.
Maka sekarang router akan mengekstrak (deenkapsulasi) / membuka bungkusan frame tersebut sehingga menyisakan ip packet.
8. Pemeriksaan packet
Sampailah
kita pada tahap kinerja router yang kita bahas di awal. Disini, router
memeriksa alamat tujuan dari packet (yang dibongkar dari frame tadi).
Router memeriksa keberadaan network dari alamat tujuan packet (192.168.2.2 – Host-B) tersebut di tabel routingnya.
Gambar 9: Router memeriksa tabel routingTernyata
alamat network tujuan packet (192.168.2.2) sudah terdaftar di tabel
tabel routing (192.18.2.0/24) dan terhubung secara langsung ke interface
ethernet0/1.
Berarti paket bisa dikirimkan.
9. (lagi) Framing packet di router
Packet
pertama tadi sudah didapat dari bongkaran frame yang diterima dari
Host-A, ternyata penerimanya bukan router tersebut, tapi router bisa
membantu memforwardnya karena alamat tujuan packet ada di tabel routing.
Maka sama seperti proses tadi, router pun membungkus kembali packet tadi dengan frame yang berbeda.
Alamat sumber dan tujuan packet tetap sama, yaitu Host-A ke Host-B, tidak berubah.
Packet
dienkapsulasi kedalam frame dengan alamat sumber (ethernet0/1
router: aabb.cc00.0110) dan alamat tujuan (eth0
Host-B: 0C:0C:99:D5:D9:00)
Gambar 9: Frame dari Router ke Host-B(Klik gambar untuk memperbesar, periksa alamat ip, dan alamat frame, bandingkan dengan topologi diatas).
Ini masih mengirim packet ya. Sehingga icmp payloadnya masih echo request, belum reply.
10. (lagi lagi) Router harus tau alamat hardware Host-B
Syarat transmisi frame tadi tidak berubah. Router pun tetap harus tahu berapa alamat hardware eth0 Host-B. Mari kita lihat:
Router#show ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.168.1.1 - aabb.cc00.0500 ARPA Ethernet0/0
Internet 192.168.1.2 0 0c0c.9949.ca00 ARPA Ethernet0/0
Internet 192.168.2.1 - aabb.cc00.0510 ARPA Ethernet0/1
Internet 192.168.2.2 0 0c0c.99d5.d900 ARPA Ethernet0/1
Router#
Masih ada. Tapi kok age nya 0 menit?
Artinya
decremental counting terhadap alamat hardware Host-A dan Host-B tidak
berjalan. Hal ini dikarenakan ada transmisi antara Host-A dan Host-B
yang sedang berjalan secara konstan.
(Saya sedang pinging Host-A dan Host-B juga sebaliknya).
Okay,
karena alamat frame (0c0c.99d5.d900 Host-B) sudah terdaftar di tabel
arp router, maka frame sudah bisa dikirim. Inget, isinya packet, yang
berisi icmp, yang berisi echo request payload.
11. Host-B menerima frame dan memeriksanya
Sampailah
frame tadi ke eth0 Host-B. Oleh host-B, dilakukan pemeriksaan frame CRC
seperti sebelumnya. Jika hasilnya sesuai dengan field FCS, maka
dilanjutkan dengan pemeriksaan alamat frame.
Frame pun dibongkar untuk melihat isi packet dan protocol serta data yang terkandung didalamnya.
12. Packet diterima oleh Host-B
Dari
pemeriksaan frame, Host-B menyadari bahwa tujuan packet adalah dirinya
sendiri (192.168.2.2). Dari protocol yang ada didalam packet, ditemukan
adanya pesan ICMP request.
Sampai disini, Host-B bekerja di
network layer. Protocol ICMP memiliki echo request dan echo reply (ini
yang harus dihandle oleh host-B).
13. Giliran Host-B, mengirim ICMP echo reply
Oh
ya, ketika sebuah sudah sampai ke penerima, ada juga pengecekan CRC
seperti di frame tadi. Namun lagi lagi, kalau terdapat error, packet
akan didiscard. Sebag di layer network tidak ada error recovery layaknya
transport layer.
Sampai disini, Host-B membuat packet baru,
dengan protocol ICMP, didalamnya payload echo reply, alamat tujuan pun
diganti dengan 192.168.1.1 (host-A).
Sampai disini, Host-B membuat
packet baru, dengan protocol ICMP, didalamnya payload echo reply,
alamat tujuan pun diganti dengan 192.168.1.1 (host-A).
14. Membandingkan alamat tujuan paket dengan network sendiri
Sama
seperti proses diawal tadi, Host-B pun tetap harus memeriksa apakah
alamat (192.168.2.1), satu network dengannya, atau tidak.
Gambar 10: Host-B membandingkan alamat tujuan paketKarena alamat tujuan packet berada di remote network, maka Host-B pun harus mengirimkannya ke gateway.
Kalau
Host-B tidak mengkonfigurasi gateway (atau gatewaynya salah), atau
tidak ada satupun rute menuju 192.168.1.2 di tabel routingnya (sama
kayak router), maka packet tidak bisa pulang.
Tidak ada echo reply, dalam hal ini Host-A akan menerima pesan ICMP time out.
15. Mencari tau alamat hardware gateway
Harus
lewat gateway dulu kan, berarti alamat hardware ethernet0/1 router
(gateway) juga harus diketahui oleh Host-B, agar frame bisa
ditransmisikan.
gns3@Host-B:~$ arp -a
? (192.168.2.1) at aa:bb:cc:00:05:10 [ether] on eth0
Ternyata
alamat hardware ethernet0/1 router sudah ada di tabel ARP Host-B. Maka
frame bisa dikirim. Jika tidak, maka Host-B akan membroadcast pesan ARP
seperti diatas.
16. dst, hingga packet ICMP reply sampai ke Host-A
Frame
dikirim dari eth0 Host-B: 0C:0C:99:D5:D9:00 ke ethernet0/1
Router: aabb.cc00.0110, berisi packet dengan source Host-A: 192.168.2.2
dan destination Host-B: 192.168.1.1
Router menerima packet dari Host-B di interface e0/1 nya.
Frame diperiksa, run CRC, dan dibongkar, lalu dilihat alamat tujuan packet tersebut.
Alamat tujuan packet adalah 192.168.2.1, bukan router.
Sekarang
tugas router meneruskan packet, dilakukan pemeriksaan tabel routing,
dan network 192.168.2.1 terhubung langsung ke interface ethernet0/0
(192.168.1.0).
Packet (tidak diubah), pun dibungkus kedalam
frame. Alamat sumber frame yaitu ethernet0/0 router, dan alamat
tujuannya adalah eth0 (192.168.1.2 Host-A).
Selama alamat
hardware dari 192.168.1.2 Host-A masih ada di tabel ARP router, maka
frame bisa dikirim. Jika tidak, router juga akan mengirim pesan ARP.
Frame diterima oleh Host-A, run CRC. Lalu dibongkar, frame dibuang, menyisakan ip packet.
IP packet diperiksa, diketahui bahwa Host-A adalah penerima packet tersebut. Maka Host-A menerima packet icmp reply.
Gambar 11: Host-A menerima ICMP echo replySelesai, panjang juga kan..
Simpulan
Demikian
materi proses ip routing kali ini. Hal ini sangat penting untuk kamu
pahami sebagai fundamental routing switching (iya, switching juga, yang
akan kita bahas nanti).
Alamat sumber dan tujuan packet tidak akan berubah (kecuali ada address translation), hingga packet tersebut sampai ke tujuan.
Begitu juga dengan protocol yang ada di dalam (IP) packet tersebut.
Sedangkan alamat frame terus berubah sesuai collision domainnya (dua node di sebuah link).
Packet
icmp [echo request] butuh icmp [echo reply] maka packet tersebut tidak
cukup jika hanya sampai tujuan, harus bisa kembali juga.
IP
routing terjadi di network layer, pengirimannya berdasarkan tabel
routing (di router), termasuk juga gateway (di end device).
Framing terjadi di data link layer, pengirimannya berdasarkan tabel mac address atau tabel ARP.
# Evaluasi Pemahaman IP Routing
Lah.. gimana ini. Tadi kan sudah kesimpulan.
Sesuai janji saya di awal materi, kita akan menjawab beberapa soal untuk mengevaluasi pemahaman ip routing.
Soal-soal
berikut tidak sulit, tapi kamu harus benar-benar bisa menjawabnya.
Sebab sebagai dasar ip routing adalah satu pondasi penting pemahaman
jaringan komputer.
Let’s begin.
Soal IP routing #1
Router
R1 menerima packet dengan source address 172.16.12.99 dan destination
address 192.168.47.108. Apa yang dilakukan router R1 terhadap paket
tersebut?
Soal 1 ip routingJika
kamu menjawab “paket diterima oleh router R1 (berasal dari) interface
Serial0/0, namun karena tidak ada satupun rute menuju network
192.168.47.0/24 (dengan asumsi clasfull), maka paket dibuang/didiscard”.
Maka jawaban kamu sempurna!
Oh
ya, kalau dari tabel routing diatas terdapat [Codes *] alias candidate
default, alias default gateway (seperti di end device), maka paket tadi
akan dikirimkan kemari.
Terlepas paket tersebut (pada akhirnya)
sampai atau tidak ke tujuannya, yang terpenting adalah router sudah
memforwardnya sesuai tabel routingnya.
Soal IP routing #2
Sekarang,
ada 2 buah LAN network, terhubung oleh satu buah link WAN network
dengan serial link. Di LAN R2 terdapat WebServer dan ingin diakses oleh
Host2 yang berada di LAN R1.
Soal 2 ip routingDari gambar sudah terlihat jelas bahwa:
Frame pertama: mac address asal nya adalah e0 Host2, mac address tujuannya adalah e0/1 R1.
Alamat tujuan paket adalah alamat WebServer dan alamat asal paket adalah Host2.
Nomor port di header segment (inget layer transport, protocol data unitnya adalah segment), adalah TCP port 80 alias HTTP.
Soal IP routing #3
Sekarang
kita kembangkan lagi topologinya. Ada server web dan server DNS
terhubung di LAN R2. Juga di LAN sudah terdapat masing-masing sebuah
switch. Bagaimana prosesnya jika Host1 ingin mengakses web server
(ngonfig.net)?
Soal 3 ip routingKalau
kamu mengira Host1 akan langsung memframing IP packet yang berisi
protocol HTTP/HTTPS (TCP port 80 atau 443), maka jawabannya tersebut
salah.
Host1 harus tahu dulu ip dari ngonfig.net. Karena tidak ada koneksi host-to-host dengan nama domain.
Maka host1 terlebih dahulu membuat packet yang mengandung segment dengan protocol UDP port 53 di headernya.
DNS server akan menjawab paket tersebut dan memberitahu IP dari server ngonfig.net
Host1 mengirim paket HTTP (TCP port 80) request (ada 3 way handshake dulu, ya kan), karena HTTP menggunakan TCP.
Silakan kamu jabarkan prosesnya.
Bagaimana prosesnya ketika Host1 mengirim DNS request pertama kali, dia akan membuat frame kan?
Lalu
mengirimkannya ke e0 yang terhubung ke Sw1, bagaimana jika Sw1 juga
tidak tahu alamat hardware e0 (gatewaynya Host1)? Ke interface mana saja
pesan arp tersebut (ikutan) disebar?
… dah
Sekian materi kali ini. Saya harap gampang dipahami. Jika belum, jangan sungkan-sungkan memberi komentar dibawah.
Bagikan jika bermanfaat.
Tidak ada komentar:
Posting Komentar