BGP Basic — Kupas Tuntas Routing Dynamic BGP

IDNIC Training

Ghifari Nur
netSHOOT
11 min readMar 25, 2021

--

Photo by Telia Carrier

Korelasi BGP pada Internet

BGP itu jaringan komunikasi berskala global yang tersusun dari banyak Autonomous System.

Autonomous System (AS)

itu satu beberapa network yang berada di bawah satu “Technical Admin”, bisa perusahaan atau provider

Technial Admin

Semua aspek dari pengelolaan network seperti routing, policies, register, dkk

BGP routing

Protocol routing yang menghubungkan antar AS dalam jaringan internet/global

BGP Membentuk Infrastruktur Internet

Infrastruktur internet terbentuk dari kumpulan interkoneksi antar AS. Fungsi AS digunakan sebagai no ID untuk mewakili semua aspek dari pengadaan network. Contoh 133827 (UII), 7713 (TELIN).

Jika ingin punya AS sendiri, maka perlu daftar ke RIR/IDNIC dan berlangganan service IP Transit ke ISP/NAP untuk konfigursi BGP.

Catatan: setiap AS terdaftar di NIR dan RIR

BGP Overview

BGP

salah satu routing protocol EGP terstandarisasi dan didesain untuk pertukaran informasi prefix, routing, dan reachablility antar AS dalam jaringan internet.

BGP sebagai satu-satunya InterAS routing protocol, digunakan untuk saling bertukar informasi routing antar AS, dan memberikan infomrasi mengenai AS path topology.

Why We Need BGP?

  • Internet ngga dapat di “build” dengan IGP (RIP, OSPF, EIGRP)
  • Router yang terhubung dalam jaringan global tidak dimiliki pihak yang sama
  • Besarnya prefix yang harus di handle (>900.000 IPv4 dan > 128.000 IPv6)

Kapan Kita Pakai BGP?

Topologi 1

ada redundansi link dan router

Butuh apa aja sih dalam BGP?

  • Backup router yang terhubung ke ISP
  • Butuh Traffic balancing/Load balancing
  • Butuh Traffic sharing/Load sharing (80/20)

Topologi ini berarti membutuhkan BGP

Topologi 2

ada redundansi ISP (1 dan 2) dan router client side

Masalah:

  • IP Publik mana yang akan dipakai?
  • Akses internet client jika salah satu ISP down?
  • Akses IP publik server jika salah satu ISP down?

Solusi:

  • Kita perlu IP public
  • Kita perlu AS number

Maka perlu routing BGP

Why we use BGP?

  • Saat AS berperan sebagai transit AS (ISP/NAP)
  • Kebutuhan IP publik yang terasosiasi dengan institusi kita
  • AS terkoneksi ke beberapa AS lain sebagai upstream (multihoming) dan perlu manipulasi traffic inbound dan outbound

Why we not use BGP?

  • End client masih menggunakan single-home AS
  • Adanya keterbatasan resource pada router (CPU, Memory, Power, dll)
  • Ngga ada SDM network yang paham BGP route filtering dan path selection process

BGP Routing feature

BGP bekerja dengan memetakan tabel prefix (IP network) yang menuju ke jaringan yang dapat dicapat dari neighbor AS (dest AS)

  • Open Standart Routing Protocol
  • Didesain sebagai inter AS domain routing dan huge inter-network seperti internet
  • Berjalan menggunakan port TCP 179
  • Metric=atribute
  • Melakukan update tabel prefix secara incremental dan trigger
  • Menggunakan pemilihan path berdasarkan routing polocies/organization’s business requirement
  • Support FLSM, VLSM, CIDR concepts
  • Path vector routing protocols

AS System

AS adalah kelompok yang berada dalam satu kontrol adminstratif atau domain yang melakukan advertise routing policy ke internet.

AS diperlukan jika network kita ingin terkoneksi ke lebih dari satu network lain yang berbeda technical adm dan berbeda rotuing polocies.

Secara umum anggota AS adalah ISP/provider/instansi yang mempunyai koneksi independen ke multiple network.

Mirip IP public, AS bisa didapat jika register ke NIR (IDNIC)

AS Number

Dulu ada 16 bit, sekarang udah menjadi 32 bit

Ada 2 tipe AS Number:

  1. Public
  2. Private

Kalian bisa cek disini

https://bgp.he.net/cc

Path Vector Routing Protocol

Algoritma routing yang digunakan untuk terkoneksi dengan network pada AS lain dengan cara mendefinisika jalur routing dari AS yang dilewati mulai dari source AS sampai dest AS

BGP Routing Method Selection

Proses pertukaran informasi prefix antar AS dalam BGP.

Contoh: customer punya AS1 dan memiliki IP publik. Customer terkoneksi dengan dua ISP AS number (2 dan 3). Customer bisa terhubung ke internet dengan dua ISP tersebut.

  • Customer menggunakan BGP untuk advertise ip publiknya ke ISP 1 dan 2
  • Bagaimana kita menerima prefix yang di advertise?

Default Route

Customer hanya menerima 1 prefix default route (0.0.0.0/0) dan mengadvertise IP publiknya ke masing-masing ISP

Kelebihan: Resource consumption router customer rendah.

Kekurangan: Customer ngga tahu best path dari masing-masing ISP, sehingga mungkin terjadi non-optimal routing.

Partial Routing

Customer menerima prefix default route dan beberapa specific prefix route.

Kelebihan: Customer bisa menentuka jalur routing decision berdasarkan specific routing tersebut, Mengurangi potensi non-optimal routing, Resource consumption terjaga stabil

Kekurangan: Pemilihan jalur best-path terbatas,

Complete/Full Routing

Customer menerima seluruh prefix ISP 1 dan 2. Customer juga mengadvertise IP publik ke masing-masing ISP.

Kelebihan: Customer bisa menentukan jalur routing decisions terbaik yang berdasarkan table routing tersebut.

Kekurangan: Router customer akan menggunakan resource yang sangat tinggi untuk menangani prefix yang di advertise ISP (biasanya router powerfull yang dipakai perusahaan)

BGP Connection Topologies

Single Homed

Keterangan:

  • Customer menggunakan 1 ISP (Single)
  • Customer menggunakan 1 link (Homed)

Customer terkoneksi dengan satu ISP dan single link

Dual Homed

Topologi 1
Topologi 2
Topologi 3

Keterangan:

  • Customer menggunakan 1 ISP
  • Customer menggunakan dual link, single router (topo 1)
  • Customer menggunakan dual link, single router, ISP dual router (topo 2)
  • Customer menggunakan dual link, dual router, ISP dual router (topo 3)

Customer terkoneksi dengan satu ISP dan dua/lebih link

Single Multihomed

Topologi 1
Topologi 2

Keterangan:

  • Customer menggunakan 2 ISP
  • Customer menggunakan single router dan single link ke dua ISP (topo 1)
  • Customer menggunakan dual router dan single link ke dua ISP (topo 2)

Customer terkoneksi dengan dua/lebih ISP dan single link

Dual Multihomed

Topologi 1
Topologi 2
Topologi 3

Keterangan:

  • Customer menggunakan 2 ISP
  • Customer menggunakan single router dan dual link pada masing-masing ISP (topo 1)
  • Customer menggunakan dual router, dual link pada masing-masing ISP (topo 2)
  • Customer menggunakan dual router, dual link pada masing-masing ISP dengan mode cross-link (topo 3)

Customer terkoneksi dengan dua/lebih ISP dan dual/lebih link

Routing BGP

  • BGP menggunakan AS untuk menghubungkan antar AS lain
  • BGP didesain untuk menyediakan interdomain routing sys
  • BGP memberikan garansi loop-free dalam proses pertukana routing info
  • BGP secara mendasar memiliki perbedaan mendasar dengan routing IGP (BGP merupakan policy based routing protocol, melakukan pengaturan traffic menggunakan path attribute)

BGP Config

Cisco IOS

  • Cek IP Address setiap interface
  • Aktifkan BGP
  • BGP router ID
  • Pembentukan neighbor peer (router tetangga)
  • Mengarahkan source dari loopback (optional)
  • Verifikasi

Advertise Network

Masuk terlbeih dahulu ke # router bgp [number]

  • Metode network advertise
  • Metode redistribute (kalau sudah punya IGP routing seperti OSPF, RIP, IS-IS, EIGRP)
  • Verifikasi
  • Refresh koneksi BGP

MikroTik

  • Cek IP Address setiap interface
  • Aktifkan BGP

Instance di mikrotik udah default, bisa diedit/ditambah

  • Pembentukan neighbor peer
  • Verifikasi

Advertise Network

  • Metode network
  • Metode redistribute
  • Verifikasi

Jenis BGP

iBGP (Internal BGP)

Sebuah sesi BGP yang terbentuk antar beberapa router dalam satu AS number yang sama.

  • Masing-masing router saling bertukan infomrasi prefix yang disimpan masing-masing router.
  • Tidak harus “direct connect”
  • Harus full mesh

eBGP (External BGP)

Sebuah sesi BGP yang terbentuk antar dua router atau lebih yang terjadi antar dua AS number yang berbeda

  • Bekerja dengan membetuk sesi router yang berbeda
  • Masing-masing router saling bertukar infomrasi prefix yang disimpan pada masing-masing router
  • Menggunakan komneksi “direct connect” PtP router

eBGP Multihop

Berfungsi untuk mengubah nilai eBGP TTL supaya mendukung multihop

  • eBGP secara default menggunakan dua router yang terkoneksi secara langsung
  • Router eBGP secara default menggunakan mekanisme TTL of one
Cisco eBGP Multihop
MikroTik eBGP Multihop

BGP Neighbor Adjacency

  • Idle

Router akan melakukan pengencekan tabel routing untuk mencari jalur neighbornya

  • Connect

Router telah terkoneksi dengan neighbor dan melakukan TCP 3WHS

  • Active

Router menggunakan TCp untuk peer dengan neighbor, jika gagal conectet, ada Retry reset dan BGP akan kembali connect state

  • Open Sent

Router akan mengirimkan pesan yang berisi parameter BGP untuk terkoneksi dengan neighbor

  • Open Confirm

Router menerima konfirmasi dari neighbor untuk memulai BGP session

  • Established

Siap bertukar prefix

BGP Message

Open

Message awal dari sebuah BGP dan berisikan informasi yang dibutuhkan untuk membangun sesi BGP

  • Version
  • My AS
  • Hold Time
  • BGP Identifier
  • Optional Paramenters

Update

Berisi update path info. Setiap satu update message berisi satu path info. Jika router melakukan update multiple path, maka router harus mengirim multiple update message (perubahan)

Keepalive

Hanya berisi message header untuk melakukan pengecekan neighbor relationship. Dikirm secara periodik dengan interval 60s

Notification

Message yang akan dikirim jika terjadi error pada sebuah sesi BGP. Berisi field jenis error yang terjadi untuk mempermudah troubleshoot

BGP Attribute & Path Selection

Parameter yang digunakan BGP sebagai metric untuk menentukan jalur terbaik

Pembagian BGP Attributes

  • Well-Known Mandatory (AS Path, Next Hop, Origin)
  • Well-Known Discretionary (Local Preference, Automic Agregate)
  • Optional Transitive (Community, Aggregator)
  • Optional Non-Transitve (Multi-exit-discriminator/MED)

Well-Known Attribute

Attribute yang semua router BGP pasti support dan mengenali attributenya

  • Harus dikenali oleh semua router BGP yang terkoneksi
  • Informasi attrib ute tersebut akan disebarkan ke router yang menjadi neighbor

AS Path Attribute

Attribute yang digunakan untuk menunjukkan informasi router dari source AS sampai dest AS. Termasuk dalam Well-known Mandatory

Penggunaan:

  1. Sebagai mekanisme loop detection
  2. Digunakan sebagai path metric untuk rekayasa jalur (AS Path Prepend)
  • AS Path Loop Detection
Loop detection in action

Prefix 180.10.0.0/16 tidak diterima atau di reject oelh AS100 karena AS 100 sudah memiliki prefix tersebut didalam AS-Path nya

  • AS Path Prepend

Modifikasi AS-Path Att untuk memanipulasi jalur path BGP

Next Hop Attribute

Alamat IP pada router yang harus digunakan sebagai next hop untuk mencapat tujuan yang terdapat dalam prefix update. Termasuk Well-Known Mandatory

  • iBGP Next-Hop Self

Proses “memaksa” router iBGP untuk memodifikasi Next-Hop attribute sebelum di advertise ke router peer iBGP

Origin Attribute

Attribute BGP yang digunakan untuk menampilkan informasi darimana route berasal. Termasuk Well-Known Mandatory

Jenis origin att:

  • iBGP att — Berasal dari route yang diadvertise iBGP
  • EGP att — Berasal dari route yang diadvertise EGP
  • Incomplete — Berasal dari route yang didistribute ke BGP

Local Preference Attribute

Attribute yang digunakan untuk menginformasi semua router BGP dalam satu AS untuk menentukan jalur upstream (OUTBOUND) yang lebih prefer jika terdapat dua jalur outbound atau lebih. Termasuk Well-Known Discretionary Att

.

Optional Path Attribute

Atribut yang tidak semua router BGP support dan mengenali attribute nya

Digunakan dalam implementasi BGP tertentu (private) dan di set untuk tidak dikenali oleh umum

Optional yang yang telah di set akan diinfomasikan ke neighbor untuk di set parameter yang sama

  • Optional Transitive Att — Jika neighbor tidak mengenali/support, akan tetap diteruskan ke hop BGP lainnya
  • Optional Non Transitive Att — Jika neighbor tidak mengenali/support, akan di drop dan tidak diteruskan ke hop BGP lainnya

Community Attribute

Mekanisme untuk melakukan tagging/pengelompokan pada beberapa jenis route

Beberapa jenis pada community att:

  1. Internet
  2. No-Adv
  3. No-Export
  4. Local-AS
  • BGP Att Path Selection
BGP Att path selection

BGP Filtering

Metode filter dalam BGP yang digunakan untuk mengontrol informasi update BGP baik inbound/outbound berdasarkan informasi routing, path, maupun community

BGP Route Filtering

Metode untuk klasifikasi route yang akan diadvertise/diterima dari neighbor. Route filtering digunakan untuk memanipulasi traffic flows, mengurangi penggunaan resource atau alasan security

BGP AS Path Filtering

Metode filter dengan menggunakan as-path access list untuk menentukan jalur outbound, dengan AS path filter kita dapat menentukan apakah prefix dari AS neighbor diterima atau tidak

Menggunakan REGEXP sebagai parameter AS route filter

BGP Prefix List

Metode filter dengan mengelompokkan IP Address sebagai adv route list yang diproses berdasarkan nilai urutan (sequence) yang lebih kecil menjadi prioritas

BGP Max Prefix

Metode untuk menentukan Berapa banyak prefix network maksimal yang diizinkan setiap neighbor peer BGP yang bisa diterima local router

Komponen

Tips Konfigurasi BGP

  • Pastikan spesifikasi router telah sesuai dengan kebutuhan
  • Router yang akan peering telah dikonfigurasi dengan benar dan siap menjalankan BGP (Port dan ACL) karena akan dipublish ke publik
  • Pastikan koneksi antar router telah terbentuk dengan baik tanpa ada gangguan pada media koneksinya. Di coba speed test
  • Pastikan router tidak melakukan blokir TCP 179 inbound dan outbound
  • Pastikan router tidak kehabisan resource dan siap menerima prefix besar ketika BGP establish
  • Pastikan BGP filter dan attribute telah di set terlebih dahulu sebelum BGP di establish untuk menghindari adv prefix bogon/sampah
  • Setelah semua berjalan dengan baik, sesi BGP peering siap dijalankan

--

--

netSHOOT
netSHOOT

Digital publications that discuss the everyday configuration and troubleshoot network devices and server

Ghifari Nur
Ghifari Nur

cheerful engineer with his notes