Home

ROUTING in a Nutshell

3 Comments

Berawal dari request temen gw…yang belum paham betul tentang routing protocol, so I made this article

———————————————————-

Alkisah…ada 3 Router: Router A, Router B, dan Router C

Masing2 router punya hapalan (rute) klo mau jalan ke bandung lewat mana (interface/physical port) …klo mau jalan ke Jakarta lewat mana

Tapi ketika router A mau pergi ke jalan Y atau ke Router C…there is a problem…

So…Router pada dasarnya hanya tau network2 yang hanya terhubung langsung dengannya, klo yang tidak terhubung langsung maka mereka butuh bantuan dan uluran tangan kita…masih banyak anak2 terlantar yang harus kita tolong *ngaco blas*

Nah, oleh karena itu ada beberapa metode routing yang bisa dipakai:

  • Static Routing
  • Dynamic Distance Vector Routing Protocol
  • Dynamic Link-State Routing Protocol
  • Path-Vector Protocol (khusus yang punya ilmu kanuragan tingkat tinggi)
  • Multicast (ini juga harus punya ilmu kanuragan tinggi, ga dibahas disini…klik link nya aja)

And lets explain them briefly one by one

——————————————————–

Static

Singkatnya…router2 ini disuruh “menghapal” apa yang diperintahkan oleh tuannya (Network Admin/Engineer)

————————————————————–

Dynamic Distance Vector

Wkwkwk, pertama kali mereka akan “kenalan” satu sama lain, yang namanya kenalan pasti pake Bahasa sama, nanti ga nyambung.

Setelah kenalan baru deh tuker2an rute…

Contoh protocol Distance Vector adalah RIP (Routing Information Protocol), Special mention adalah EIGRP (yang akan kita bahas belakangan) yang juga termasuk dalam jenis Distance Vector Protocol

———————————————————-

Dynamic Link State

Lets take a look again at Distance Vector picture above…si Router A bilang “oh, klo mau ke Y dan Z tinggal minta ama router B“. si Router A dan Router C tidak pernah saling mengenal satu sama lain

This is called “Routing by Rumors“, beda dengan Link State…

This is called Flooding, jadi semua Router akan mengenal satu sama lain

Dan disini pula permasalahan link-state (klo lu pake router tipe lama), akan sangat berat (makan process dan RAM) klo satu area ada beberapa puluh router

Lu bayangin aja…

lu masuk ruangan pesta ulang tahun, lu cuma kenal temen lu yang ulang tahun, trus lu mesti kenalan satu-satu sama temennya temen lu trus apalin muka sama namanya

Contoh protocol link-state adalah OSPF (Open Shortest Path First)
dan IS-IS (intermediate system-to-intermediate system)

Perbedaan kedua hewan ini adalah:

  • OSPF dibentuk dengan metode TCP/IP, IS-IS dengan metode OSI
  • So, OSPF heavily reliant on IP (ganti versi IP, OSPF-nya juga ganti)
  • IS-IS ga perduli dengan IP, yang di routing adalah mac-address (lets say it that way)
  • Algorithma IS-IS ini dipake di Data Center buat load-balancing Layer 2 (switch biasa kaga bisa, nanti ada looping, makanya ada STP)

Persamaannya, konsep isolasi area yang tidak ditemukan di Distance Vector, bayangin klo ada router yang link-nya “flapping” (idup-mati terus), seperti dibawah ini

Klo ada area, update dan singkronisasinya hanya per-area saja

Dalam OSPF, ada beberapa konsep Area (klo di IS-IS sistemnya “level”, level 1 dan level 2):

  • Backbone Area alias Area 0: wajib kudu harus mesti…semua area lain (contoh area 1 mau konek ke area 2) harus konek ke backbone area dulu

    contoh dari firewall.cx

  • Normal Area: area lain selain area 0
  • Stub Area: normal area yang ga ada “sambungan”nya lagi..

    Area 11 adalah contoh stub, karena “dibelakang” area 11 ga ada sambungan ke area lain (AREA loh ya…bukan router lain dalam satu area)

    Trus klo ada sambungan jadi gimana? Bukannya point pertama…semua harus konek ke backbone dulu baru bisa konek?

    Contoh…area 2 konek ke area 1, ga langsung ke area 0 (backbone)

    Virtual-link adalah teknologi semacam “tunneling” khusus OSPF

  • NSSA Area: klo ada area stub, tapi dibelakangnya ada area lain, BUT…area tsb. bukan OSPF

    Jadi, klo lu liat gambar diatas, lu pengen area 2 dibikin Stub, cuma ga stub2 amat *hah?*, masi ada external link kesono…makanya namanya NSSA (Not-so-stubby area)

Nah, disitu kita liat ada ABR dan ASBR, apaan sih itu

  • ABR (Area Boundary Router): Router OSPF yang satu “kaki”nya konek ke area A, satunya lagi konek ke area lain (contoh diatas)
  • ASBR (Autonomous System Boundary Router): bedanya dengan ABR adalah, satu kakinya bukan ke OSPF, tapi ke external link (RIP, EIGRP, Static, dll)

Nah, untuk Router OSPF bisa mengetahui mana yang area 0, mana yang stub, mana yang NSSA, dll…diperlukanlah LSA (Link State Advertisement)

Dalam OSPF terdapat beberapa type LSA yang bisa dikeluarkan…tergantung kebutuhannya, Lets take a look at this map to explain my analogy

Anggeplah 1 pulau itu 1 area..

Bagaimana agar mereka punya ID masing2 (router-ID)? LSA type 1

Bagaimana agar mereka (router) kenal satu sama lain di satu pulau yang sama (Network)? LSA type 2

Bagaimana agar pulau jawa tau mereka punya channel ke pulau Sumatra (Summary)? LSA type 3

Bagaimana agar pulau jawa tau bahwa mereka punya external link via Sumatra (Summary ASB)? LSA type 4

Bagaimana agar pulau Sumatra tau mereka punya external link ke singapur trus ngasi tau ke pulau jawa (AS External)? LSA type 5

Bagaimana agar setiap pulau punya jalur sendiri untuk mengirim barang secara serentak (multicast)? LSA type 6

Dan bagaimana agar pulau jawa tau bahwa mereka punya external link tanpa perlu mengetahui semua rute di Sumatra (NSSA)? LSA type 7

Satu lagi, bagaimana agar setiap pulau tau bahwa mereka bisa pake pesawat terbang bukan mobil atau kapal (IPv6)? LSA type 8

So…LSA akan dibuat tergantung kebutuhan, notice…semenjak ada PIM (protocol independent multicast) dan IPv6, M-OSPF alias LSA type 6 ga kepake lagi

Untuk IS-IS klo dijelasin kepanjangan disini, link artikel gue tentang IS-IS

—————————————————————

Special Mention

Path Vector

There’s only 1 protocol exist…BGP (Border Gateway Protocol), previously…there is EGP (emang gua pikirin *ehem* Exterior Gateway Protocol)

Mostly exist in Service Provider (but not limited to)

RIP, OSPF, EIGRP, and IS-IS are called IGP (Interior Gateway Protocol)

What is the common thing between those protocols? Klo uda “sepakat” ke suatu link (kek mau ke Link A lewat LAMBAT.NET)…semua pasti lewat sana, dan LAMBAT.NET pasti akan kasi ke PUTUS NYAMBUNG.NET langsung karena metric/jarak nya lebih kecil daripada harus belok dulu ke MUKE GILE.NET

Nah, BGP disebut path vector protocol karena path traffic-nya bisa kita “arahin” sesuai keinginan kita…segala macam routing policy yang tidak bisa diterapkan di IGP (contohnya Filtering Route yang tidak flexible) bisa diterapkan di BGP

That’s the BGP in a nutshell (to make this article short enough)

Advanced Distance Vector

Satu2nya yang menyandang predikat ini adalah EIGRP (enhanced interior gateway routing protocol)

That backup route system is called DUAL (Diffusing Update Algorithm), here’s how its work

  • R1 to R5 via R2 is 10 (4 + 6)…R2 the shortest route
  • R1 to R5 via R3 is 16 (11 + 5)
  • R1 to R5 via R4 is 15 (4 + 11)

EIGRP called shortest route a.k.a main route the Successor, and the backup link is Feasible Successor

In order to be Feasible Successor…EIGRP has a formula

Advertised distance (reported from neighbor) value must be lower than Successor value

So, if Successor value is 10 (via R2), then…

  • R3 to R5 is 5…R3 is the backup link
  • R4 to R5 is 11

While OSPF has mapping of whole area routers (which is good in term of finding best route), EIGRP still has to trust neighboring routers about topology (typical Distance Vector, which OSPF bad in term of memory processing)

Why R3 has to be the backup link, when the calculation is like this

  • R1-R3-R5 = 16
  • R1-R4-R5 = 15..this should be the backup route, but no, right?

So…EIGRP can fight well comparing with OSPF in memory and processing, BUT not in term of algorithm provided for finding best route and alternative route

———————————

Well, that’s it folks…hope you understand this article and see you soon

My other article

Penjelasan tentang OSPF

Penjelasan tentang LSA

Penjelasan tentang BGP

Penjelasan tentang EIGRP

Penjelasan tentang IS-IS

Penjelasan tentang Routing Protocol

Penjelasan tentang Distance Vector

Penjelasan tentang Link-State

Penjelasan tentang Multicast

Network Basic Theory 6 (Network Protocol)

Leave a comment

Uuuu Yeaaa…Its gonna be long way from here

Network Layer dari OSI model ini menjelaskan tentang pengalamatan dan prosesnya yang memungkinkan Transport Layer untuk mem-packaged data dan di transport ke tujuan. Encapsulasi di network layer memungkinkan konten dari paket data di kirimkan ke jaringan dengan overhead minimum

Garis besarnya seperti ini

Dalam Network layer kita akan membahas tentang Internet Protocol (IP)…yaitu IPv4

Besok2 (lagi siapin materi) kita akan bahas IPv6 …plus konfigurasinya

Kenapa kita akan bahas IPv6….karena IPv4 alamatnya SUDAH HABIS (ya…lo ga sala baca..bukan AKAN HABIS…tapi SUDAH HABIS, makanya banyak perusahaan2 ISP mencanangkan IPv6 Ready, atau IPv6 to IPv4 conversion, untuk itu perlu pembahasan IPv6 secara mendalam…gw juga pengen bahas IPv6 di thesis gw sih, entah 1-2 taun lagi IPv4 uda obsolete..gw sendiri ga tau kapan…)

Reminder…When We talking about Network Layer…MAINLY WE TALK ABOUT ‘IP’

The Characteristic of Network Layer (IP) :

Hmm…Connectionless…berarti berbeda donk dengan TCP? TCP kan reliable…bisa dikatakan connection-oriented betul ga ?? koq digabung sih dengan IP ?? TCP/IP ??

Jadi…TCP/IP protocol itu bisa dibilang…protocol yang menyediakan Connection-Oriented/Connectionless protocol…gitu…

Contoh nyatanya kek kirim paket lewat Tiki/JNE/DHL…kita kirim paket BESERTA alamat, tapi pihak Tiki/JNE/DHL ga akan ngecek dulu alamatnya exist ga…

————————————————————————————————————————————–

The mission of Layer 3 is to transport the packets between the hosts while placing as little burden on the network as possible. Layer 3 is not concerned with or even aware of the type of communication contained inside of a packet. This responsibility is the role of the upper layers as required. The upper layers can decide if the communication between services needs reliability and if this communication can tolerate the overhead reliability requires.

————————————————————————————————————————————–

IP kadang disebut sebagai unreliable protocol (kebalikan dari TCP), tapi unreliable disini artinya adalah IP ga punya capabilitas untuk memanage atau merecover data (entah undelivered atau corrupt)…This IP even doesn’t give a damn about what shit in the package they’re carrying !!

Salah satu ciri dari IPv4 adalah Independensi dari Media penghantar (contoh dibawah)

Tetapi ada catatan khusus untuk Network Layer, yaitu Maximum size dari PDU yang akan di transport oleh media2 penghantar nya, karakteristik ini yang disebut Maximum Transmission Unit (MTU).

Bagian dari control komunikasi antara Data Link Layer dan Network Layer adalah establishment dari maximum size paket itu. Data Link mengirimkan MTU ke Network Layer, lalu Network Layer menentukan seberapa besar untuk menciptakan paketnya

Dalam kasus2 tertentu, contohnya Intermediary Device (which is usually router), akan butuh untuk memecah paket ketika ingin mem-forward data dari satu media ke media yang lain dengan MTU yang lebih kecil. Proses ini dinamakan FRAGMENTASI (FRAGMENTATION)

Proses Encapsulasi di Transport-Network layer :

Transport Layer menambahkan segment untuk host penerima bisa nyusun lagi paket yang sudah dipecah2 tadi (dikasih nomor urut ceritanya)

Network Layer menambahkan Header(Packages) supaya paket bisa di kirimkan sampai ketujuan

————————————————————————————————————————————–

IPv4 Header Fields

  1. Ver. = it’s the Internet Protocol version…value di blok ini diisi oleh nilai 4…merujuk ke IPv4 (IP, IPv2, IPv3 ga kita bahas…ga penting)
  2. IHL = Internet Header Length : karena IPv4 header bisa mengandung banyak option…IHL inilah yang men-spesifikasikan header length nya (apa aja ini ? entah la…gw bacanya si gitu)
  3. ToS = Type of Service…if your brain is smart…yaa..dis is QoS alias Quality of Service, disini tempat bit2 penanda prioritas packet
  4. Packet Length = Besar packet, termasuk data itu sendiri
  5. Identification = field ini digunakan terutama untuk mengidentifikasi fragment dari original IP datagram (Some experimental work has suggested using the ID field for other purposes, such as for adding packet-tracing information to datagrams in order to help trace back datagrams with spoofed source addresses)
  6. Flag = mengidentifikasi fragment apakah perlu di fragment lagi ato tidak (di pecah lagi ato tidak), gunanya adalah..klo kita kirim paket data trus error/putus/ga nyampe, maka dikasi FLAG untuk dikasih opsi apakah mau dipecah lagi menjadi bagian yang lebih kecil apa kaga (It can also be used for Path MTU Discovery, either automatically by the host IP software, or manually using diagnostic tools such as ping or traceroute.)
  7. Fragment Offset = setelah ditentukan FLAG nya (bit 1 : di fragment, bit 2 : jangan di fragment), disinilah fungsi untuk membolehkan receiver menentukan tempat dari fragment2 tertentu di original fragment datagram jika fragment akan di pecah atau tidak
  8. Time-to-Live (TTL) = disini tempat counting packet, berapa banyak hop lagi sebelum paket ini dibuang/sampe ke tempatnya (berapa meter lagi sebelum paket nya nyampe, disini meterannya ^_^)
  9. Protocol = disini tempat packet ini adalah TCP kah, UDP kah, ICMP kah (1=icmp, 6=TCP, 11=UDP), untuk lebih jelas lihat wikipedia list of protocol IP
  10. Header Checksum = untuk menentukan ini packet header error apa engga, ada perhitungan matematika sendiri bagaimana packet dikatakan error atau engga, liat di Wikipedia.org/ipv4 deh
  11. Source Address = alamat asal packet
  12. Destination Address = alamat tujuan packet
  13. Option = Option ga pernah dibahas di CCNA, ga penting, dan ga “laku” juga ini option..haha
  14. Padding = kurang ada pengetahuan soal ini…

*Path MTU Discovery = Path MTU Discovery (PMTUD) is a standardized technique in computer networking for determining the maximum transmission unit (MTU) size on the network path between two Internet Protocol (IP) hosts, usually with the goal of avoiding IP fragmentation. PMTUD is performed by routers in Internet Protocol Version 4 (IPv4) while in IPv6 this function has been delegated to the end points of a communications session (taken from Wikipedia.org)

IPv4 Versi Wikipedia:

Contoh packet dari IPv4 (biar tambah ngerti)

Dividing Network

  1. Divide by Place (Geographic)

2. Divide by Purpose (Tujuan / Kesamaan bidang kerja)

3. Divide by Ownership

Common issues with large networks are:

  • Performance degradation
  • Security issues
  • Address Management

Salah satu penyebab jaringan lambat adalah traffic yang padat, terutama pada *broadcast message. Biasanya, sebuah host mem-broadcast sebuah pesan dimana informasi tentang host tujuan alamatnya tidak ada dalam network dia

“eh…switch…kirim pesan ke host C donk” kata host A

“bentar gw kirim….EH !!…host C ga ada di network kita, gw broadcast aja ya…sapa tau ada yang respon “kenal” ama ni orang(host C maksudnya)” kata switch

“cui….dari paket broadcast yang lo kirim, host2 di network kita ga ada yang tau, gw sih tau….kebetulan host C ada di network tetangga sebelah ni, gw kirim ya…” kata router

*A broadcast is a message sent from one host to all other hosts on the network

For example:

Routing – Bagaimana Packet kita di handling

Gw jelasin pake gambar aja…biar enak ada bayangannya gituh…

  1. Inisialisasi

  2. Switch mencari alamat, apakah terhubung langsung dengan dia atau tidak (tetanggaan)

  3. Ternyata paket yang dikirim bukan tetangga / network yang sama, dikirimlah paket itu ke gateway

  4. Di gateway / router, dicari…apakah host yang dicari terkonek dengan gateway / router ga ?? klo ga…terusin ke router / gateway lain

  5. Jika match…maka dikirim ke host yang bersangkutan

  6. Paket sampai…langsung di teruskan ke layer atasnya

Klo di windows kita kira2 gimana sih gambarannya ?? nih dia…

Untuk mengetahui IP Address, subnet mask, gateway dari computer kita, ketik di command prompt ipconfig

Catatan : kita akan bahas lebih lanjut tentang IP dan SUBNET MASK…kira2 2 artikel lagi deh….wkwkw..panjang soalnya (sekalian ngerapihin artikel tentang subnet mask dan VLSM yang kemaren2 gw post)

Klo mau lihat route2 apa aja yg ditempuh oleh computer kita ke network, bisa ke command prompt ketik netstat –r atau route print

*passstii banyakkk yang mesti dibaca pas ketik route / netstat -r…wkwkwkkw

Contoh lagi : Jika paket datang ke router dengan tujuan ip 10.1.1.55, router forward ke next hop-router (hop = loncat…ke router selanjutnya) yang masi terasosiasi dengan network 10.1.1.0, jika 10.1.1.0 ga ada tapi 10.1.0.0 ada, paket dikasi ke network tersebut (10.1.0.0)

Urutannya seperti ini:

  1. 10.1.1.0
  2. 10.1.0.0
  3. 10.0.0.0
  4. 0.0.0.0 (Default route if configured)
  5. Dropped

Packet forwarding dalam router

1. Router membuka encapsulasi layer 2

2. Router melihat destination IP

3. Router melihat database, apakah destination IP ada dalam table database alamat router

4. Network 10.1.2.0 ada dalam routing table

5. Router men-encapsulasi lagi packet nya

6. Dikirim deh…

Menggunakan Default Route:

———————————————————————————————————————————————-

Routing

Dilihat dari gambar2 diatas…bisa disimpulkan bahwa…routing bertugas untuk meneruskan packet dari host ke destination (dimana biasanya host dan destination berada dalam network yang berbeda, jika dalam network yang sama hanya diperlukan switch)

Routing (kerjaan si Router J ) berada di Layer 3…so..its worth reading (no…MUST read !! hahah)

Untuk lebih jelas tentang routing…ini link2 nya (bikinan gua) :

perkenalan router

sekilas tentang routing protocol

perbedaan Routing (beserta konfigurasi2 awalnya)

sekilas tentang routing protocol

link2 diatas masi acak2an..belum banyak visualisasi…nanti gw benerin koq…sabar yaa…

sebenernya teori2 Routing tuh harusnya dijelasin disini

Cuma karena banyak (dan gw males juga..heheh) gw skip…nanti pas routing2an gw jelasin (postingan gw yg lama2 ituh sebenernya uda ada)

untuk nge test TCP/IP jalan atau engga (kasarnya sih…untuk ngetes LAN Card lo konek ke mainboard apa engga…

masuk ke command prompt –> ketik ping 127.0.0.1  (alamat IP untuk local loopback)