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

IS-IS Fundamentals

3 Comments

*Recommended pre-learning this article: OSPF

Introduction

IS-IS (atau ISIS) adalah singkatan dari Intermediate System-to-Intermediate System, salah satu dari Link State Routing Protocol (saingannya OSPF inih)

Intermediate System (IS) itu sendiri adalah Router…jadi Router-ke-Router

Klo OSPF pake metode TCP/IP-nya IETF (now you know why OSPF popular), sedangkan ISIS pake metode OSI (ISO/IEC 10589:2002)

Masi ada ga ini orang? Masi…in fact, masi banyak yang make…terutama Service Provider

ISIS di develop bukan dengan TCP/IP…jadi secara teori, algoritma ISIS tidak berubah ketika migrasi dari IPv4 ke IPv6 (beda dengan OSPF…ada OSPFv3 untuk IPv6)

Which is….quite reliably for ISP (ISIS hanya memodifikasi TLV – Type Length Value, nanti dibawah dijelasin)

ISIS memakai service OSI Layer 2 yang bernama CLNS (ConnectionLess Network Service) untuk adjacency-nya (kek service-nya IP dan UDP…connectionless)

Didalam CLNS ini terdapat CLNP (ConnectionLess Network Protocol….ini IP Protocol-nya ISIS)

Trus CLNP-nya dikirim dengan format NSAP (Network Service Access Point…ini IP addressing-nya versi ISIS)

Loh…sebenernya dia pake Layer 3 ga sih?!? Well, untuk adjacency ISIS pake Layer 2 ga kaya OSPF pake Layer 3, jadi ip route-nya di “carry” oleh Layer 2

=========================

ISIS Domain that called “level”

ISIS punya konsep mirip OSPF dalam membuat suatu domain

Klo OSPF punya istilah namanya “area“, klo ISIS namanya “level

Hanya saja ISIS Cuma punya 2 level: Level 1 dan Level 2 (level 0 buat ES (End System) ke IS dan level 3 buat external route ga kepake di Cisco)

Kita liat bedanya dengan OSPF dari gambar dibawah

Klo OSPF, untuk menghubungkan inter-area kita punya ABR (Area Boundary Router), dimana dia letaknya “ditengah2” dua area

Klo ISIS, untuk menghubungkan inter-level, kita perlu L2L1 link (routernya ga perlu berada di dua area)

Dan, ISIS ga perlu kek OSPF yang semua router harus konek ke area backbone (area 0) yang sama

Ga perlu lagi pake Virtual-Link untuk “extend” area 0/backbone

Jadi, kita bisa bikin ISIS Router itu ada di level 1, level 2 (ini kek area backbone-nya ISIS), atau yang bisa 2-2nya alias L2L1 router (default-nya ini)

Level 1 hanya bisa konek ke Level 1, Level 2 juga begitu, yang bisa 2-2nya Cuma Level 2-Level 1 Router

By default, L2L1 router hanya akan meng-import route dari L2 router, tapi ga akan mengimport dari L1 Router (ga ngasi informasi rute dari L1 network yang lain)

Nah, jadi…lebih sedikit LSP yang dikirim (ISIS version of LSA) dari pada OSPF

Klo lebih sedikit trus impactnya??…ISIS ga ada “customized” area kek Stub dan NSSA

===============================

ISIS Addressing that called NSAP

Contoh: 49.0002.0010.0100.1001.0010.00

Now let me explain:

NSAP addressing structure: AFI.Area ID.System ID.NSEL

  • AFI (Authority and Format Identifier): nilainya fix (bisa 39, 45, 47, atau 49)

    Karena kita setting ISIS buat Internal Gateway Protocol (IGP), dimana kita setting sendiri…makanya nilainya 49

    Bisa ga kita setting beda sendiri?? Sebenernya bisa…cuma ini kek IP Private dan Public, IP Private ga bole masuk ke internet bukan?!?!

    Nah, tau kan kenapa ISIS address depannya hamper selalu “49”

  • Area ID: ini buat nentuin, router kita ada di level 2 (0002) apa level 1 (0001)

    AFI dan Area ID ini disebut IDP (Initial Domain Part)

    contoh IDP itu kek 47.0005 itu buat U.S Civilian Government dan 47.0006 buat U.S D.o.D (department of defence)…yup, ISIS dipake di U.S Goverment

  • System ID: ini mac-address atau ip address yang “dipaksain” masuk sini (nanti dibawah tak jelasin)
  • NSEL (NSAP Selector): klo ISIS dijalanin di Router valuenya harus 0 (00), value selain itu berarti bukan IS (Intermediate System/Router)

    NSEL dengan value 0 disebut NET (Network Entity Title), System ID dan NSEL ini disebut DSP (Domain Selector Part)

Ini diagram lebih detail-nya

Nah, bagaimana klo kita mau pake IP untuk dijadiin System ID…

Contoh: IP address 10.1.2.3

1st step: tambahin jadi tiga digit untuk tiap octet, contoh: 010.001.002.003

2nd step: geser titiknya supaya jadi 3 octet (IP address kan 4 octet), contoh: 0100.0100.2003

3rd step: pasang deh…49.0002.
0100.0100.2003.00

Pasangnya dimana? pasang di konfigurasi ISIS NET (router id-nya ISIS)

Jadi ISIS carry informasi NSAP dan ip route2 itu pake Layer 2

*For Futher Learning: kemampuan intelgensia L3 yang bisa pilih best route atau shortest path tetapi running under L2 protocol yang dipunyai ISIS inilah yang dipake untuk teknologi IEEE 802.1aq alias Shortest Path Bridging (SPB) berikut konco2-nya seperti TRILL (Transparent Interconnection of Lots of Links) dan Cisco FabricPath (by this article came up…Nexus Only), teknologi yang akan/sedang menggantikan STP (Spanning-Tree Protocol) dengan kelemahannya yang selalu nge-blok sebuah port untuk menghindari loop…which make that blocked link became Under-Utilized Link

=============================

ISIS PDU (Protocol Data Unit)

ISIS punya beberapa PDU (packet klo di OSPF)

Hello PDU:

  • ESH (End System Hello), dari end system ke IS, ga digunain di IP network
  • ISH (IS Hello), untuk discover IS
  • IIH (IS to IS Hello), untuk perform adjacency

Link State PDU/Packet (LSP): buat tuker2an LSDB, ini LSU (Link State Update) versi ISIS

Dalam LSP ini terdapat TLV (LSA-nya ISIS), hanya saja bedanya klo di OSPF LSA itu dibagi menjadi beberapa tipe (which is why OSPF can be customized into different area such as stub and nssa), sedangkan TLV alias LSA-nya ISIS ini hanya di extend (value-nya aja diganti/ditambah sesuai dengan kebutuhan)

Contoh kita mau nambahin kapabilitas untuk IPv6…tinggal tambahin value 141 (0x8d) dan 142 (0x8e), untuk ISIS dengan dual environment (pake TCP/IP) pake 131 (0x83)

Sequence Number PDU (SNP): buat singkronisasi database

Partial SNP (PSNP): untuk ACK dan kirim informasi database yang hilang

Complete SNP (CSNP): untuk mendeskripsikan database yang sudah komplit

=================================

Designated IS (DIS)

Masalah di ISIS sama dengan OSPF…begitu ketemu multi-access network, broadcast flood…

Klo di OSPF ada namanya DR/BDR…klo di IS ada namanya DIS…but no Backup DIS

Mekanismenya:

  • Hanya Router2 yang adjacency yang boleh ikutan pemilihan DIS
  • Highest Interface Priority (Cisco default for Level 1 and Level 2 is 64)
  • Klo sama, yang dipilih adalah SNPA (SubNetwork Point of Attachment) yang paling tinggi
    • LAN: SNPA à Mac-address
    • WAN (Frame-Relay): SNPA à DLCI

*btw…ISIS ga kenal konsep NBMA kek di Frame-Relay…so kita harus konfig pake point-to-point dengan sub-interface

Di OSPF ga ada mekanisme konfigurasi untuk mengganti DR/BDR secara otomatis, harus di shutdown dulu itu DR/BDR

Di ISIS ada mekanisme untuk langsung ganti DIS pada saat itu juga, namanya Preemptive

============================

Reference:

IS-IS overview @http://en.wikipedia.org/wiki/IS-IS

IS-IS Cisco White Paper @http://www.cisco.com/en/US/products/ps6599/products_white_paper09186a00800a3e6f.shtml#wp39303

CLNS and CLNP discussion @https://supportforums.cisco.com/discussion/10529716/skinny-clns-vs-clnp

CLNS and CLNP difference @http://www.nexthop.me/2014/05/16/clns-and-clnp-what-is-the-difference/ *note: di web ini, CLNS adanya di Layer 3 sedangkan di literature lain itu CLNS ada di Layer 2

RFC 1706 – NSAP @https://www.ietf.org/rfc/rfc1706.txt

ISIS Basic Configuration and NSAP Addressing @http://rekrowten.wordpress.com/2013/09/30/learn-is-is-basic-configuration-part-1/

ISIS Hello PDU @http://rekrowten.wordpress.com/2013/11/04/learn-is-is-hello-and-dead-interval-part-6/

Cisco ISIS TLV @http://www.cisco.com/c/en/us/support/docs/ip/integrated-intermediate-system-to-intermediate-system-is-is/5739-tlvs-5739.html

TLV Hostname @http://inetzeroblog.com/isis-training-and-junos-configuratio/

Complete list of ISIS TLV @http://www.iana.org/assignments/isis-tlv-codepoints/isis-tlv-codepoints.xhtml

Deploying Cisco Service Provider Network Routing – SPROUTE (642-882).pdf

Building Scalable Cisco Networks (Cisco Press) ebook (buku CCNP yang lama – BSCI)

Older Entries