Buyukweb
BGP ve Routing: İnternet Yönlendirme Protokolleri Rehberi

BGP ve Routing: İnternet Yönlendirme Protokolleri Rehberi

BGP nedir, internetin yönlendirme omurgası nasıl çalışır? Static/Dynamic routing, IGP (RIP, OSPF, IS-IS, EIGRP) vs EGP (BGP), AS numarası, iBGP/eBGP, BGP attributes, best path seçimi, IXP, transit/peering, RPKI, RTBH DDoS savunması, FRRouting/BIRD örnekleri ve multi-homed datacenter perspektifi.

Büyükweb Editör EkibiHosting, Sunucu ve Sistem Yönetimi Editörü27 dakika okuma

BGP ve Routing: İnternet Yönlendirme Protokolleri Rehberi

İnternet, milyonlarca farklı ağın birbirini "duyduğu" tek bir küresel mesh değildir. Aksine, on binlerce farklı Autonomous System (AS), kendi içlerinde ve birbirleriyle "hangi IP bloğu hangi yönden gelir" bilgisini paylaşır. Bu paylaşımı yapan protokol ailesine routing protokolleri denir; ve internetin omurgasını ayakta tutan ana protokol BGP-4 (Border Gateway Protocol versiyon 4, RFC 4271)'tür. Bir paket Bursa'daki bir veri merkezinden Tokyo'daki bir kullanıcıya 80-130 milisaniyede ulaşabiliyorsa, bunun mimarisinde BGP'nin AS_PATH attribute'u, best path selection algoritması, transit ve peering ilişkileri vardır.

Bu rehber routing dünyasını teorik tanımlamalardan başlayıp pratik kurumsal kararlara kadar bütünsel anlatır: statik ve dinamik yönlendirme arasındaki fark, IGP (Interior Gateway Protocol) ailesindeki RIP / OSPF / IS-IS / EIGRP protokolleri, EGP (Exterior Gateway Protocol) olarak BGP'nin tek hakim olması, AS numaralarının nasıl tahsis edildiği, iBGP ile eBGP farkı, BGP attribute'ları (AS_PATH, LOCAL_PREF, MED, NEXT_HOP, ORIGIN, Community), best path selection adımları, Internet Exchange Point (IXP) ve peering ekonomisi, RPKI ile BGP prefix hijacking koruması, Remotely Triggered Black Hole (RTBH) DDoS mitigation tekniği, FRRouting / BIRD / GoBGP / ExaBGP gibi Linux BGP daemon'ları ve son olarak Buyukweb gibi multi-homed Tier 3 veri merkezi perspektifinden müşterilerinizin nereye konumlandığı.

Buyukweb perspektifi: Bursa Pendc Tier 3 veri merkezimiz çoklu taşıyıcı (multi-homed) bağlantı altyapısı üzerinde çalışır. Bu mimari, müşterilerimizin doğrudan BGP komşuluğu kurmasına gerek bırakmadan, datacenter düzeyinde fiber redundancy ve DDoS L3/L4/L7 koruma sağlar. VDS müşterileri normal şartlarda kendi AS numarası getirmez — IP'leri datacenter blokumuzdan tahsis edilir ve trafiği bizim BGP altyapımız taşır. Fiziksel dedicated sunucu alan kurumsal müşteriler ise teorik olarak kendi /24 IPv4 veya /48 IPv6 prefix'ini kendi AS numarası altında ilan ettirebilir; bu senaryo özel mühendislik koordinasyonu gerektirir. DDoS saldırılarında RTBH ve carrier blackhole community'leri kavramsal olarak uygulanabilir; pratik uygulama için 0850 302 60 70 üzerinden teknik ekibimizle planlama yapılır.

Routing Nedir? Bir Paketin Yolculuğu

Ağ paketlerinin kaynak IP'den hedef IP'ye ulaşması, her ara router'da bir karar verilen bir zincir reaksiyonudur. Bir paket bir router'a geldiğinde, router şu işlemleri yapar:

  1. Routing table sorgulanır — paketin hedef IP'si tabloda hangi prefix'e en iyi eşleşiyor?
  2. Longest prefix match uygulanır — birden fazla eşleşme varsa en spesifik (en uzun prefix) seçilir.
  3. Next-hop belirlenir — paket hangi komşu router'a iletilecek?
  4. Outgoing interface seçilir — fiziksel arayüze yazılır.
  5. TTL (Time To Live) bir azaltılır; 0'a inerse paket düşürülür ve ICMP TTL exceeded gönderilir.
Routing Table örneği (Linux ip route show):

default via 10.0.0.1 dev eth0           metric 100
10.0.0.0/8 dev eth0  scope link         metric 100
192.0.2.0/24 via 10.0.0.5 dev eth0      metric 50
198.51.100.0/24 via 10.0.0.5 dev eth0   metric 50
2001:db8::/32 via fe80::1 dev eth0      metric 100

Longest Prefix Match — Pratik Örnek

Diyelim ki router'a 198.51.100.42 hedefli paket geldi. Routing table'da iki kayıt var:

  • 198.51.100.0/24 → next-hop 10.0.0.5
  • 198.51.0.0/16 → next-hop 10.0.0.9

İkisi de eşleşir, ama /24 daha spesifik (longest prefix) olduğu için /24 seçilir. Paket 10.0.0.5'e yönlendirilir.

Metric — Birden Fazla Aynı Prefix İçin Tiebreaker

Aynı prefix'i birden fazla protokol veya kaynak ilan edebilir (örneğin OSPF ile öğrenilen + statik tanımlanan aynı /24). Bu durumda administrative distance ve metric kullanılır:

Tipik administrative distance değerleri (düşük = öncelikli):
Directly connected      0
Static route            1
eBGP                    20
Internal EIGRP          90
IGRP                   100
OSPF                   110
IS-IS                  115
RIP                    120
External EIGRP         170
Internal iBGP          200
Unknown / Floating     255

Aynı protokol içinden gelen birden fazla path için ise metric karşılaştırılır (OSPF cost, BGP attribute'ları, RIP hop count gibi).

Static Routing vs Dynamic Routing

İki temel yaklaşım vardır: rotaları manuel olarak tanımlamak (static) veya rotaları dinamik bir protokolle otomatik öğrenmek (dynamic).

Static Routing — Manuel Tanımlama

# Linux statik rota ekleme
ip route add 10.10.0.0/16 via 192.168.1.1
ip route add default via 192.168.1.1

# Kalıcı yapılandırma (Netplan, Ubuntu 18+)
# /etc/netplan/01-routes.yaml
network:
  ethernets:
    eth0:
      routes:
        - to: 10.10.0.0/16
          via: 192.168.1.1
        - to: 0.0.0.0/0
          via: 192.168.1.1

Avantajlar: Basit, öngörülebilir, kaynak harcamaz (CPU/RAM minimum), saldırı yüzeyi yok (protokol mesajı kabul etmez).

Dezavantajlar: Manuel yönetim, link arızasında otomatik failover yok, ölçeklenmez (50+ rota manuel tutulmaz).

Ne zaman kullanılır:

  • Tek VDS / tek public IP
  • Küçük edge router, 2-3 sunuculu lab
  • Stub network (tek bir upstream'den paket alan dal)
  • Default route + birkaç özel rota

Dynamic Routing — Otomatik Protokol

Dinamik protokoller, router'lar arasında topoloji bilgisini paylaşır ve değişikliklere otomatik tepki verir. Link arızası, yeni rota eklenmesi veya metric değişimi protokolün convergence süresi içinde tüm ağa yayılır.

Avantajlar: Otomatik failover, ölçeklenebilirlik (yüzlerce rota dakikada güncellenir), policy uygulama (route filter, weight, community).

Dezavantajlar: Karmaşıklık, CPU/RAM kullanımı, yanlış konfigürasyonun ağ çapında etki yapma riski, güvenlik (authentication şart).

Ne zaman kullanılır:

  • 5+ router olan kurumsal ağ
  • Multi-site VPN/MPLS
  • Internet edge (BGP zorunlu)
  • ISP / hosting altyapısı

IGP Protokolleri — İç Ağ Yönlendirme

IGP (Interior Gateway Protocol) tek bir Autonomous System içindeki router'ların birbirleriyle konuştuğu protokollerdir. Dört ana IGP vardır.

RIP — Routing Information Protocol

RIP, distance-vector ailesinin klasik temsilcisidir. RFC 2453 (RIPv2) ile tanımlanmıştır. Her 30 saniyede tüm routing table'ı tüm komşulara broadcast eder.

Versiyon RFC Protokol Adres Ailesi Authentication
RIPv1 RFC 1058 Classful IPv4 Yok
RIPv2 RFC 2453 Classless (CIDR) IPv4 MD5 var
RIPng RFC 2080 Classless IPv6 IPsec ile

Bellman-Ford algoritması: Her router en kısa yolu hop count'a göre hesaplar.

Sınırlamalar (RIP'i artık niye az kullanıyoruz):

  • Maksimum 15 hop — 16. hop "unreachable" kabul edilir, böylece büyük ağlar yapılamaz.
  • Yavaş convergence — link arızasında 3-6 dakika sürebilir; modern uygulamalar için kabul edilemez.
  • Count-to-infinity problem — döngüsel topoloji feedback'i. Split horizon ve route poisoning gibi workaround'lar var ama yetersiz.
  • Bandwidth verimsizliği — her 30 saniyede tüm table broadcast (büyük ağda hat doldurur).

Pratik tavsiye: Sadece legacy uyumluluk için RIP. Yeni kurulumda kullanılmaz; OSPF veya IS-IS tercih edilir.

OSPF — Open Shortest Path First

OSPF, link-state ailesinin altın standardıdır. RFC 2328 (OSPFv2, IPv4) ve RFC 5340 (OSPFv3, IPv6) ile tanımlanır. Her router komşularıyla kendi tüm bağlantılarını paylaşır; tüm router'lar aynı topoloji haritasına sahip olur ve her biri Dijkstra (SPF) algoritması ile en kısa yolu hesaplar.

OSPF temel kavramlar:

Router ID         Her OSPF router'ı için benzersiz 32-bit kimlik
Area              Ağı segmentlere böler; Area 0 = backbone, herkes ona bağlanır
DR / BDR          Multi-access ağlarda seçilen "yönetici" router
LSA (Link State Advertisement)  Topoloji bilgisini taşıyan paket
  Type 1: Router LSA
  Type 2: Network LSA
  Type 3: Summary LSA (inter-area)
  Type 4: ASBR Summary
  Type 5: External LSA (otantik dış kaynak)
  Type 7: NSSA External
ABR (Area Border Router)        İki area arasında köprü
ASBR (Autonomous System Boundary Router)  OSPF dışı kaynaktan rota alır
Cost / Metric     auto-cost reference-bandwidth / link bandwidth

OSPF'in detaylı yapılandırması ve FRRouting örnekleri için ayrı rehberimiz OSPF dinamik yönlendirme rehberi içerir. Burada sadece kavramsal yer vermekteyiz.

Avantajlar: Hızlı convergence (saniyenin altında), açık standart, geniş donanım/yazılım desteği, area mantığıyla ölçeklenir.

Dezavantajlar: CPU/RAM yükü yüksek (büyük topolojide LSA database büyür), area tasarımı dikkat ister.

IS-IS — Intermediate System to Intermediate System

IS-IS de link-state protokolüdür; OSI Layer 2 üzerinde çalışır (IP üzerinde değil) ve CLNS (ConnectionLess Network Service) packet'leri kullanır. ISO 10589'da tanımlanmıştır; RFC 1195 ile IP entegrasyonu eklendi (Integrated IS-IS).

IS-IS dual-stack üstünlüğü:

OSPFv2 (IPv4) + OSPFv3 (IPv6) — iki ayrı protokol process
IS-IS — tek protokol, multi-topology IPv4 + IPv6 birlikte

IS-IS, büyük internet servis sağlayıcılarının (Tier-1 ISP'ler) ana omurgada yaygın olarak kullandığı protokoldür. Hızlı convergence, geniş ölçeklenebilirlik (binlerce router) ve dual-stack tek topoloji yönetimi sunduğu için tercih edilir.

Ne zaman kullanılır:

  • Büyük ISP omurgası
  • Çok büyük kurumsal ağlar (1000+ router)
  • IPv4 ve IPv6 entegre yönetim gereken altyapı

Buyukweb gibi datacenter operatörleri için IS-IS bazen internal core'da kullanılır, ancak ortalama kurumsal müşteri için OSPF yeterli.

EIGRP — Enhanced Interior Gateway Routing Protocol

EIGRP, distance-vector ve link-state hibridi olarak tanımlanan bir protokoldür. Başlangıçta bir ağ ekipmanı üreticisinin tescilli protokolüydü; 2013'te RFC 7868 ile açık standart oldu.

DUAL (Diffusing Update Algorithm): Loop-free best path hesaplama, hızlı convergence için.

EIGRP metric formülü (default K değerleri ile):

Metric = bandwidth * 256 + delay * 256

Bandwidth = (10^7 / minimum bandwidth in Kbps)
Delay = sum of delays / 10

EIGRP, multi-vendor heterojen ortamlarda yaygın değildir; daha çok tek vendor'lı kurumsal ağlarda görülür. Linux FRRouting, EIGRP'i 7.x sürümlerden itibaren destekler.

Karşılaştırma — IGP Hızlı Bakış:

Özellik RIP OSPF IS-IS EIGRP
Tip Distance Vector Link State Link State Hibrid (DUAL)
Algoritma Bellman-Ford Dijkstra (SPF) Dijkstra (SPF) DUAL
Max hop 15 Sınırsız Sınırsız 100 (default)
Convergence Dakikalar Saniye altı Saniye altı Saniye altı
Open standard Evet Evet Evet Evet (2013'ten beri)
IPv6 RIPng (ayrı) OSPFv3 (ayrı) Multi-topology EIGRPv6
Tipik kullanım Legacy Kurumsal ISP omurga Tek vendor LAN

EGP — BGP Tek Hakim

EGP (Exterior Gateway Protocol) farklı Autonomous System'lerin birbirleriyle konuştuğu protokoldür. Pratikte tek hakim BGP-4 (RFC 4271)'tür. Adından "EGP" olarak söz edilse de tarihsel başka EGP protokoller (örneğin "EGP" adında RFC 904) artık kullanılmıyor.

Autonomous System (AS) Nedir?

AS (Autonomous System), tek bir yönetimsel politika altında çalışan IP ağıdır. Bir ISP, büyük bir bulut sağlayıcı, bir CDN, bir üniversite veya bir Tier 3 datacenter kendi AS'sini işletir. AS kavramı RFC 1930'da tanımlanmıştır.

Tipik AS örnekleri:

ISP                 — Ulusal ve Tier-1 servis sağlayıcılar (ulaşım için omurga)
Hyperscaler         — Ticari bulut sağlayıcılarının kendi AS'leri
CDN                 — Büyük içerik dağıtım ağları (anycast tabanlı global ağlar)
Datacenter operatör — Bağımsız Tier 3 / Tier 4 datacenter'lar
IXP                 — Internet Exchange Point'in kendi AS'si var
Kurumsal            — Çok lokasyonlu büyük kurumlar (banka, üniversite)

AS Numarası (ASN)

Her AS, tekil bir ASN (Autonomous System Number) ile tanımlanır. İki numara aralığı vardır:

16-bit ASN (1 - 65535) — eski standart, RFC 1771:

  • 1 - 64511: Public ASN (genel internet ilanı için, RIR'lar tahsis eder)
  • 64512 - 65534: Private ASN (kurum içi kullanım, internet'te ilan edilmez)
  • 65535: Reserved (özel use)

32-bit ASN (4-byte ASN, RFC 6793) — modern standart:

  • 65536 - 4199999999: Public 32-bit ASN
  • 4200000000 - 4294967294: Private 32-bit ASN
  • 4294967295: Reserved

Public ASN tahsisi RIR (Regional Internet Registry) kuruluşları üzerinden yapılır:

RIR Bölge
RIPE NCC Avrupa, Orta Doğu, Orta Asya (Türkiye dahil)
ARIN Kuzey Amerika
APNIC Asya Pasifik
LACNIC Latin Amerika ve Karayipler
AfriNIC Afrika

Türk şirketleri kendi public ASN almak istediğinde RIPE NCC üzerinden bir LIR (Local Internet Registry) sponsor ile başvurur. Yıllık üyelik ücreti ve teknik gerekçe (multi-homed bağlantı, kendi IP bloğu) gerekir.

BGP — Border Gateway Protocol

BGP, AS'ler arasında NLRI (Network Layer Reachability Information) alışverişi yapan path-vector protokolüdür. TCP 179 portu üzerinden çalışır.

BGP temel akış:

1. İki AS'in router'ı arasında TCP 179 bağlantı kurulur
2. OPEN message ile AS numarası, capability negotiation
3. UPDATE message ile prefix + attribute ilanı
4. KEEPALIVE her 60 saniyede (default)
5. NOTIFICATION hata durumunda
6. Withdrawal: prefix kaldırıldığında WITHDRAWN_ROUTES alanı

eBGP vs iBGP

eBGP (External BGP)farklı AS'ler arasında çalışır. AS_PATH her hop'ta uzar.

iBGP (Internal BGP)aynı AS içinde çalışır. AS_PATH değişmez (loop önleme nedeniyle iBGP komşusundan alınan prefix başka iBGP komşusuna ilan edilmez).

iBGP loop önleme: iBGP'den alınan rota, başka bir iBGP komşusuna iletilmez.

Sonuç: iBGP komşuları arasında "full mesh" gerekir
  N router için N*(N-1)/2 BGP session

100 router → 4950 session. Pratik değil.

Çözümler:
1. Route Reflector (RR)            — RFC 4456
   Tek bir merkez RR, iBGP rotalarını "yansıtır"; client'lar tam mesh
   olmadan rota alır
2. Confederation                   — RFC 5065
   Tek bir AS'i içeride alt-AS'lere böler; alt-AS'ler arası eBGP-benzeri
3. Hibrit kombinasyon

BGP Attribute'ları

Her BGP rotası, yönlendirme kararını etkileyen attribute'larla beraber gelir:

Attribute Tip Açıklama
AS_PATH Well-known mandatory Geçtiği AS dizilimi (loop önleme)
NEXT_HOP Well-known mandatory Bir sonraki hop IP
ORIGIN Well-known mandatory IGP / EGP / Incomplete (rota nereden kaynaklandı)
LOCAL_PREF Well-known discretionary iBGP içinde tercih (sadece kendi AS içinde)
MED (Multi-Exit Discriminator) Optional non-transitive eBGP içinde "bana giriş için tercih edilecek link" hint
ATOMIC_AGGREGATE Well-known discretionary Rota aggregate edildi işareti
AGGREGATOR Optional transitive Aggregate yapan router ID + AS
COMMUNITY Optional transitive 32-bit etiketleme (RFC 1997)
EXTENDED COMMUNITIES Optional transitive 64-bit genişletilmiş tag (RFC 4360)
LARGE COMMUNITIES Optional transitive 12-byte (RFC 8092), 32-bit ASN için

BGP Best Path Selection Algoritması

Bir BGP router aynı prefix için birden fazla path alırsa, "en iyi"yi seçmek için adımları sırayla uygular. Standart 7-adımlı (RFC) ve genişletilmiş ekipman implementasyonunda 10-13 adımlı algoritmalar vardır. Sıra kritik:

1. WEIGHT             (lokal, vendor-specific, en yüksek kazanır)
2. LOCAL_PREF         (en yüksek kazanır)
3. Locally originated (network, redistribute, aggregate)
4. AS_PATH uzunluğu   (en kısa kazanır)
5. ORIGIN tipi        (IGP < EGP < Incomplete)
6. MED                (en düşük kazanır, sadece aynı AS'den gelen path'lerde)
7. eBGP > iBGP        (eBGP path tercih edilir)
8. IGP metric         (next-hop'a en düşük IGP cost)
9. Router ID          (en düşük kazanır)
10. Cluster list      (en kısa kazanır, RR senaryosunda)
11. Neighbor IP       (en düşük kazanır, son tiebreaker)

Pratik etki: LOCAL_PREF ve AS_PATH günlük trafik mühendisliğinin temel kontrolleridir. LOCAL_PREF iBGP içinde "biz bu çıkışı tercih edelim" der; AS_PATH uzatma (prepending) ise dış dünyada "bu yoldan gelmeyin" demenin standart yolu.

Route Filtering ve Route-Map

BGP'de hangi prefix'lerin komşuya ilan edileceğini veya hangi prefix'lerin kabul edileceğini kontrol etmek için filtreler kullanılır:

  • prefix-list — IP/prefix bazlı filtre (en yaygın)
  • route-map — koşul + aksiyon dizilimi (set/match)
  • AS-PATH filter — regex ile AS_PATH eşleştirme
  • community filter — community değerine göre
# FRRouting örnek konfigürasyon
ip prefix-list ONLY-MINE seq 10 permit 192.0.2.0/24

route-map UPSTREAM-OUT permit 10
 match ip address prefix-list ONLY-MINE
 set community 64512:100
!
router bgp 64512
 neighbor 203.0.113.1 remote-as 65000
 address-family ipv4 unicast
  network 192.0.2.0/24
  neighbor 203.0.113.1 route-map UPSTREAM-OUT out
  neighbor 203.0.113.1 prefix-list DEFAULT-ROUTE in
 exit-address-family

BGP Communities

Community, bir prefix'e takılan 32-bit tag'tir. Operatörler community'leri "policy haritası" gibi kullanır. İki tür:

Well-known communities (RFC 1997):

  • NO_EXPORT (65535:65281) — kabul edildiği AS'in dışına ilan edilmez
  • NO_ADVERTISE (65535:65282) — başka hiçbir BGP komşusuna ilan edilmez
  • NO_EXPORT_SUBCONFED (65535:65283) — confederation içinde de export edilmez

Custom communities — operatör tarafından tanımlı. Örneğin "64512:666" RTBH blackhole tetikleyici olarak kullanılabilir; "64512:1000" trafik mühendisliği prepending için kullanılabilir. Her ISP/datacenter kendi community haritasını yayınlar.

Route Aggregation ve Summarization

BGP'de yüzlerce küçük /24'ü tek bir /16 ilanına özetlemek, routing table'da yer tutmaz, filtre performansını arttırır ve flap'lerin etkisini azaltır:

# 256 adet /24 yerine tek /16 ilan
router bgp 64512
 address-family ipv4 unicast
  aggregate-address 192.0.0.0/16 summary-only

summary-only flag'i bireysel /24'leri suppress eder. Aggregate edilen rotalar ATOMIC_AGGREGATE ve AGGREGATOR attribute'larını taşır.

Internet Exchange Point (IXP) ve Peering

Internet'te trafik üç şekilde aktarılır:

Transit

Transit, küçük bir ISP'nin daha büyük bir ISP'ye tüm internet trafiği için para ödeyerek bağlanması'dır. Transit sağlayıcı, müşterisine "full table" BGP ilan eder (tipik 900.000+ IPv4 prefix, 200.000+ IPv6 prefix).

[Küçük datacenter AS64512]
       │
       │ (full transit, $X / Mbps)
       ▼
[Tier 2 ISP AS65000]
       │
       │ (peering veya alt-transit)
       ▼
[Tier 1 ISP AS200]
       │
       │ (settlement-free peering)
       ▼
[Tier 1 ISP AS300]

Settlement-Free Peering

İki AS, trafik dengeleri yakın olduğunda birbirleriyle ücretsiz peering yapar. Sadece kendi müşteri prefix'lerini birbirine ilan ederler. Transit fatura ödenmez.

Internet Exchange Point (IXP)

IXP, birden fazla AS'in tek bir L2 switching fabric'inde buluştuğu fiziksel ortamdır. Üyeler IXP içinde çift taraflı peering kurar, böylece her birinin trafiği IXP üzerinden direkt akar (transit ücretsiz, latency düşük).

Türkiye'de:
- TRIX Istanbul    — Türkiye'nin ana IXP'si

Avrupa'da büyük IXP'ler:
- AMS-IX           Amsterdam, Hollanda
- DE-CIX           Frankfurt, Almanya
- LINX             Londra, İngiltere
- France-IX        Paris, Fransa

Bir IXP'ye katılım, port ücreti + fiziksel kurulum maliyeti içerir. Aktif peering müzakeresi (mutual benefit) gerekir.

Multi-Homing

Multi-homing, iki veya daha fazla farklı ISP'den BGP almak demektir. Avantajları:

  • Redundancy — bir ISP arızalanırsa diğeri ayakta kalır
  • Performance — best path selection ile en hızlı yol kullanılır
  • Traffic engineering — LOCAL_PREF + AS_PATH prepending ile yönlendirme kontrolü
  • Provider independence — tek bir ISP'ye bağımlı değilsiniz
[Bizim AS64512]
   /      \
  /        \
[ISP-A]    [ISP-B]
 AS100      AS200
   \        /
    \      /
   [Internet]

Inbound trafik kontrol: AS_PATH prepending
  ISP-A'ya: ilan "64512 64512 64512" (3 kez prepend)
  ISP-B'ye: ilan "64512" (tek)
  → Çoğu trafik ISP-B'den gelir

Outbound trafik kontrol: LOCAL_PREF
  ISP-A'dan gelen prefix → local-pref 200
  ISP-B'den gelen prefix → local-pref 100
  → Outbound çoğu ISP-A'dan gider

Buyukweb gibi datacenter operatörleri kendi multi-homed yapısını işletir. Müşterilerimiz veri merkezine bağlandığında, datacenter'ın multi-homed üst yapısından otomatik faydalanır (kendi BGP kurmasına gerek kalmadan).

RPKI — BGP'de Güvenlik Katmanı

BGP, tasarımı gereği "söz veriyor": "Ben AS64512'yim ve 192.0.2.0/24 prefix'i bana ait" der; karşı taraf inanır. Bu, BGP prefix hijacking saldırılarına açık bir yüzey yaratır. Tarihte birçok büyük olay yaşandı (sonraki bölümde anlatılıyor).

RPKI (Resource Public Key Infrastructure), RFC 6480 ile tanımlanan kriptografik güvenlik katmanıdır.

Çalışma Prensibi

1. IP bloğu sahibi (örneğin Buyukweb), bir ROA (Route Origin Authorization)
   imzalar:
     "AS64512, 192.0.2.0/24 prefix'ini ilan etmeye yetkilidir.
      Max prefix length: /24"

2. ROA, RIR'ın (RIPE NCC, ARIN, vb) RPKI repository'sine yüklenir.

3. BGP router'lar (validator ile birlikte) RPKI repository'sini periyodik
   olarak indirir.

4. Gelen BGP UPDATE için validation yapılır:
   - Valid    — ROA'ya uyuyor
   - Invalid  — bir ROA var ama AS veya prefix uyuşmuyor (REDDEDİLİR)
   - NotFound — hiç ROA yok (genelde kabul edilir, gri bölge)

RPKI Validator'lar

  • Routinator (NLnet Labs) — Rust ile yazılmış, modern, hızlı
  • OctoRPKI — Go ile yazılmış, hafif, CDN şirketi kökenli açık kaynak
  • RPKI Validator (FORT Project) — Java, RIPE NCC tarafından desteklenir
# Linux'ta Routinator kurulum (özet)
apt install routinator
routinator-init --accept-arin-rpa
systemctl enable --now routinator
routinator vrps  # Validated ROA Payload listesi

ASPA — AS Path Authorization

RFC 9582 ASPA (Autonomous System Provider Authorization) 2024 sonrasında olgunlaştı. ROA prefix güvenliği sağlarken, ASPA AS_PATH'in güvenliğini sağlar: "AS64512'nin upstream'i AS65000 ve AS65010'dur" gibi.

BGPsec — Tam Path İmza

RFC 8205 BGPsec, her hop'un AS_PATH'i kriptografik olarak imzalamasını öngörür. Yüksek CPU yükü ve operasyonel karmaşıklık nedeniyle yaygın olarak deploy edilmedi. ASPA daha pratik bir alternatif olarak konumlanıyor.

Tarihteki Ünlü BGP Olayları

BGP'nin güvenlik zayıflığı, internetin tarihinde dramatik olaylara neden olmuştur. Aşağıdaki örnekler kavramsaldır ve okuyucunun BGP riskini anlamasına yardımcıdır:

2008 — Bir ülke ISP'sinin video platformu /24'ünü ilan etmesi

Bir ülkenin ulusal ISP'si, bir global video paylaşım platformunun bir IP bloğunu iç ağ filtreleme amacıyla kendi AS'inden ilan etti. Filtre yanlış konfigüre edildi, ilan ülke dışına da sızdı ve global BGP best path selection, daha spesifik (/24) ilanı tercih etti. Sonuç: dünya çapında 2 saat erişim kesintisi. Ders: prefix filtering ve max-prefix limit önemli.

2018 — DNS sağlayıcı IP bloğu hijack ile kripto cüzdan saldırısı

Saldırganlar, büyük bir bulut sağlayıcının DNS servisindeki IP'leri kısa süreliğine kendi AS'lerinden ilan etti. Kullanıcılar bir kripto cüzdan sitesine bağlanmaya çalışırken sahte DNS yanıtları aldı, sahte siteye yönlendirildi ve altı haneli değerde kripto varlık çalındı. Ders: RPKI ve DNSSEC kritik.

2021 — Büyük sosyal medya platformunun BGP withdrawal'i

Bir büyük sosyal medya platformu kendi AS'inden tüm prefix'lerini yanlışlıkla withdraw etti (BGP UPDATE message ile). Birkaç saatlik global outage; aynı zamanda kendi içlerinde fiziksel erişimi zorlaştırdığı için toparlanma uzun sürdü. Ders: kontrol panellerinin BGP yönetiminden bağımsız erişim noktası olmalı; bağımlılık zinciri test edilmeli.

Bu Tür Olaylardan Çıkarılan Dersler

  • Prefix filtreleme her komşu için zorunlu
  • Max-prefix limit ile beklenmedik artışta otomatik kapatma
  • RPKI ROA kendi prefix'leriniz için yayınlanmalı
  • RPKI validation ROA-invalid rotalar reddedilmeli
  • MD5 / TCP-AO authentication BGP session'lar için
  • Soft reconfiguration veya route refresh ile filtreler değişince session restart gerekmez
  • Out-of-band management — BGP yönetimi için ana ağdan bağımsız erişim

BGP Blackhole / RTBH — DDoS Mitigation

RTBH (Remotely Triggered Black Hole), RFC 5635 ve RFC 3882'de tanımlanan bir tekniktir. DDoS saldırısı altındaki bir hedef IP veya prefix'i, kasten /32 olarak null route ettirmek ve bu rotayı BGP ile carrier'lara ilan ettirmek.

Nasıl Çalışır?

1. Müşteri datacenter'ı, DDoS altındaki bir IP'yi (örn 198.51.100.42) tespit eder.

2. Datacenter, kendi BGP'sinden carrier'a /32 ilanı çıkar:
   prefix: 198.51.100.42/32
   community: <carrier blackhole community, örn 64500:666>
   next-hop: null

3. Carrier (Tier-1 ISP), bu community'i tanır ve kendi sınırında /32'yi
   blackhole'a yönlendirir.

4. Sonuç: Saldırı trafiği carrier sınırında düşürülür; datacenter uplink
   doymaz, diğer müşteriler etkilenmez.

5. Maliyet: Hedef IP'ye giden HİÇBİR trafik (legitimate dahil) geçmez.
   "Hedef IP'yi feda etmek" — kısa süreli kontrollü kesinti.

Source-Based RTBH

Geleneksel destination-based RTBH yerine source-based varyantı vardır: belirli kaynak IP'lerden gelen trafik blackhole'a yönlendirilir. uRPF (Unicast Reverse Path Forwarding) ile kombine kullanılır.

FlowSpec — Modern Alternatif

RFC 8955 BGP FlowSpec, RTBH'nin gelişmiş versiyonudur. BGP üzerinden layer-4 filtre kuralları (protokol, port, paket boyutu, TCP flag, fragment) iletilir. Datacenter, carrier'a "şu prefix'ten gelen TCP 80 UDP'siz paketleri düşür" gibi rule push edebilir.

FlowSpec özellikle UDP amplification, NTP/DNS reflection ve DDoS-as-a-Service saldırılarına karşı hedefli mitigation sağlar.

Buyukweb DDoS koruması: Bursa Tier 3 datacenter'ımızda L3/L4/L7 DDoS koruması altyapımız bulunur. Standart paketlerde otomatik tetiklenen L3/L4 mitigation, web siteleri için L7 anti-bot, sertifika hızlandırma ve rate limiting katmanları aktiftir. Yüksek hacim DDoS senaryolarında, datacenter düzeyinde carrier blackhole community ile uzak ISP'lere de mitigation isteği gönderilebilir. Detaylı planlama için 0850 302 60 70 ile iletişime geçebilirsiniz.

Linux BGP Daemon'ları

Linux üzerinde BGP konuşmak için birkaç ana open source daemon vardır.

FRRouting (FRR)

FRR, Quagga'nın 2017'de oluşturulan modern fork'udur. cisco IOS benzeri vtysh CLI sunar. Üretim ortamlarında en yaygın seçenektir.

Protokol desteği:
- BGP (BGP-4, multi-protocol BGP)
- OSPFv2 / OSPFv3
- IS-IS
- RIP / RIPng
- EIGRP
- PIM, LDP, BFD, ZebraSRV6
# Kurulum
apt install frr frr-pythontools -y

# BGP modülünü etkinleştir
sed -i 's/^bgpd=no/bgpd=yes/' /etc/frr/daemons
systemctl restart frr

BIRD

BIRD 2.x (BIRD Internet Routing Daemon), 1999'dan beri geliştirilen, Çek Cumhuriyeti kökenli stable bir router. Konfigürasyon dosyası tabanlı (CLI'sız).

# /etc/bird/bird.conf örneği
router id 10.0.0.1;

protocol device { }
protocol direct { ipv4; ipv6; }
protocol kernel {
  ipv4 { import all; export all; };
}

protocol bgp upstream_a {
  local as 64512;
  neighbor 203.0.113.1 as 65000;
  ipv4 {
    import filter { if net ~ [ 0.0.0.0/0 ] then accept; else reject; };
    export filter { if proto = "static_bgp" then accept; else reject; };
  };
}

BIRD özellikle IXP route server senaryolarında ve performans hassas ortamlarda tercih edilir.

GoBGP

GoBGP, Go ile yazılmış modern BGP daemon. gRPC API ile programmable; SDN entegrasyonu için iyi.

ExaBGP

ExaBGP, Python tabanlı; scripting / orchestration odaklı. RTBH otomasyonu, BGP'den webhook'a olay aktarımı gibi entegrasyonlar için ideal. "Data center sysadmin'in BGP'yi script'le konuşmak istediği zaman" aracı.

FRR BGP Yapılandırma Örneği

Aşağıdaki örnek, iki upstream ISP ile multi-homed bir senaryoyu kavramsal olarak gösterir:

# vtysh ile yapılandırma
configure terminal

router bgp 64512
 bgp router-id 10.0.0.1
 bgp log-neighbor-changes
 no bgp default ipv4-unicast

 neighbor 203.0.113.1 remote-as 65000
 neighbor 203.0.113.1 description "Upstream-A"
 neighbor 203.0.113.1 password VERY_SECRET_PSK
 neighbor 203.0.113.1 ttl-security hops 1
 neighbor 203.0.113.1 timers 30 90
 neighbor 203.0.113.1 maximum-prefix 1000000 warning-only

 neighbor 198.51.100.1 remote-as 65010
 neighbor 198.51.100.1 description "Upstream-B"
 neighbor 198.51.100.1 password OTHER_PSK
 neighbor 198.51.100.1 ttl-security hops 1

 address-family ipv4 unicast
  network 192.0.2.0/24
  redistribute static route-map STATIC-TO-BGP
  neighbor 203.0.113.1 activate
  neighbor 203.0.113.1 route-map UPSTREAM-A-OUT out
  neighbor 203.0.113.1 route-map UPSTREAM-A-IN in
  neighbor 203.0.113.1 soft-reconfiguration inbound
  neighbor 198.51.100.1 activate
  neighbor 198.51.100.1 route-map UPSTREAM-B-OUT out
  neighbor 198.51.100.1 route-map UPSTREAM-B-IN in
 exit-address-family

 address-family ipv6 unicast
  network 2001:db8::/32
  neighbor 203.0.113.1 activate
 exit-address-family
exit
!
ip prefix-list MY-PREFIXES seq 10 permit 192.0.2.0/24
ipv6 prefix-list MY-PREFIXES-V6 seq 10 permit 2001:db8::/32
!
ip prefix-list DEFAULT-ONLY seq 10 permit 0.0.0.0/0
!
route-map UPSTREAM-A-OUT permit 10
 match ip address prefix-list MY-PREFIXES
 set community 64512:100
!
route-map UPSTREAM-A-IN permit 10
 match ip address prefix-list DEFAULT-ONLY
 set local-preference 200
!
route-map UPSTREAM-B-OUT permit 10
 match ip address prefix-list MY-PREFIXES
 set as-path prepend 64512 64512
 set community 64512:200
!
route-map UPSTREAM-B-IN permit 10
 match ip address prefix-list DEFAULT-ONLY
 set local-preference 100
!
write memory

Bu örnekte:

  • `maximum-prefix 1000000 warning-only` beklenmedik prefix patlamasında uyarı verir
  • `password` TCP MD5 ile session kimlik doğrulaması
  • `ttl-security hops 1` sadece komşu hop'tan paket kabul eder (uzak saldırı engellenir)
  • `soft-reconfiguration inbound` filtre değişikliğinde session kesilmeden uygulama
  • `as-path prepend` Upstream-B'ye prepending ile inbound trafiği Upstream-A'ya yönlendirir
  • `local-preference` outbound trafiği Upstream-A'dan çıkarır (default rota tercih)

BGP Monitoring

BGP altyapısının doğru çalıştığını sürekli izlemek kritik. Operasyonel araçlar:

BGPMon, RIPE RIS, RouteViews

Bağımsız internet routing data depolarıdır:

  • RIPE RIS — Avrupa kökenli, RIPE NCC tarafından işletilir
  • RouteViews — Oregon Üniversitesi
  • bgp.tools — modern web arayüzü, ücretsiz

Bu servisler, dünya çapındaki binlerce BGP komşusunun gördüğü prefix'leri ve attribute'ları kaydeder. Kendi prefix'inizi sorgulayarak "internet beni nasıl görüyor" sorusunu yanıtlayabilirsiniz.

Looking Glass

Birçok ISP ve datacenter, BGP looking glass sayfası yayınlar. Bu, public bir router'dan komut çalıştırma imkanı sunar:

show ip route 192.0.2.0
show ip bgp 192.0.2.0
traceroute 192.0.2.42

Kendi datacenter'ınızdan farklı bir AS'in bakış açısıyla "benim prefix'im sizden nasıl görünüyor" sorusu için kullanılır.

Otomatik Alerting

  • RPKI invalid alarm — kendi prefix'iniz invalid görünürse otomatik bildirim
  • Route flap detection — beklenmedik flap (sürekli withdraw/announce) tespiti
  • Origin AS değişim — prefix'inizi başka AS ilan etmeye başladıysa kritik uyarı

BGP Best Practices

Production BGP altyapısı için Buyukweb teknik ekibinin önerdiği uygulamalar:

  1. Max-prefix limit her komşu için tanımla; beklenmedik artışta otomatik shutdown veya warning
  2. TCP MD5 veya TCP-AO ile session authentication
  3. TTL security — eBGP komşu için `ttl-security hops 1` ile uzak saldırı engelle
  4. Prefix-list filtreleme — gelen ve giden her komşu için
  5. AS-PATH filter — beklenmeyen AS_PATH desenlerini reddet
  6. RPKI ROA yayını — kendi prefix'leriniz için
  7. RPKI validation — gelen rotalar için "invalid reject" politikası
  8. Soft reconfiguration veya route refresh ile session kesintisiz filtre değişimi
  9. BFD (Bidirectional Forwarding Detection) ile sub-saniye link arıza tespiti
  10. Out-of-band management — BGP yönetimi için ana ağdan bağımsız erişim noktası
  11. Configuration backup — her değişiklik öncesi snapshot
  12. Change window — production değişiklik için gece pencereleri ve rollback planı
  13. Two-person rule — kritik prefix değişimi için ikinci göz onayı
  14. Lab simulation — büyük değişiklik öncesi BIRD/FRR lab'de test (örneğin Containerlab + FRR)

IPv6 BGP — Multi-Protocol BGP

BGP-4, AFI / SAFI (Address Family Indicator / Subsequent AFI) mekanizması ile çoklu adres ailesini taşır (RFC 4760). Aynı BGP session üzerinden hem IPv4 unicast hem IPv6 unicast prefix değiştirilebilir.

# FRR örneği
router bgp 64512
 neighbor 2001:db8::1 remote-as 65000
 !
 address-family ipv6 unicast
  network 2001:db8:1::/48
  neighbor 2001:db8::1 activate
 exit-address-family

IPv6 BGP komşuluğu IPv6 link-local veya global adres üzerinden kurulur. NEXT_HOP attribute IPv6 olarak iletilir.

Buyukweb Multi-Homed Tier 3 Datacenter Perspektifi

Bursa Pendc Tier 3 veri merkezimiz, müşterilerimizin doğrudan kendi AS numarası işletmesini gerektirmeyen çoklu taşıyıcı (multi-homed) bir altyapı sağlar. Bu mimari şu avantajları getirir:

  • Fiber redundancy — birden fazla bağımsız fiber girişi, farklı carrier path'leri
  • Otomatik failover — bir carrier kesintide diğeri devreye girer
  • DDoS L3/L4 mitigation — datacenter düzeyinde volumetric saldırı temizleme
  • Carrier blackhole — büyük çaplı saldırıda upstream blackhole community
  • Anycast hazır — gelecek senaryolarda anycast prefix dağıtım için altyapı

Hangi Müşteri Tipinin BGP'ye İhtiyacı Var?

Müşteri Tipi BGP Komşuluğu Kurar Mı? Gerekçe
Tipik paylaşımlı / VDS müşterisi Hayır Datacenter'ın multi-homed altyapısı yeterli, ekstra karmaşıklık gerekmez
Tek dedicated fiziksel sunucu Hayır Standart kurulum datacenter routing'i kullanır
Çoklu lokasyon kurumsal Belki Kendi AS + RIPE NCC üyeliği değerlendirilebilir
CDN, DNS, ölçeklenebilir SaaS Evet Anycast prefix'in BGP ile dağıtımı
Bağımsız ISP / hosting reseller Evet Multi-homed + transit/peering yönetimi
Akademik / araştırma ağı Evet RIPE NCC sponsoruyla kendi AS

Pratik öneri: Yıllık birkaç on bin TL'nin altında bir altyapı bütçesi olan KOBİ'ler için kendi AS işletmek maliyet/fayda açısından mantıklı değildir. Tier 3 datacenter'ın altyapısından faydalanmak hem operasyonel hem de finansal olarak doğru karar.

Sık Sorulan Sorular

Kendi AS numaramı almalı mıyım?

Çoğu KOBİ için hayır. RIPE NCC üyeliği + LIR sponsor + yıllık ücretler + teknik operasyon yükü çok yüksek. Yalnızca multi-homed + bağımsız IP bloğu + 1-2 sysadmin'i olan ve bağımsız BGP'den fayda görecek (CDN, anycast DNS, çoklu lokasyon) kurumlar değerlendirmeli.

Küçük bir web sitem var. BGP'yi öğrenmem gerekir mi?

İşletme açısından hayır. Teknik merak veya kariyer için temel kavramları (AS, prefix, BGP attribute, RPKI) bilmek günümüz network mühendisliğinin standardıdır. Pratik konfigürasyon ise sysadmin / network engineer ekibinin uzmanlığı.

VDS'imden BGP komşuluğu kurabilir miyim?

Standart Buyukweb VDS paketinde hayır. VDS'in IP'leri datacenter blokumuzdan tahsis edilir; routing datacenter BGP'si üzerindendir. Eğer multi-homed lab veya routing simülasyon yapmak istiyorsanız, FRR/BIRD'i kendi VPN tunnel altyapısı içinde test edebilirsiniz. Production BGP komşuluğu için colocation veya bağımsız transit gerekir.

Multi-homing nasıl yapılır, fiyatı nedir?

İki farklı ISP transit + kendi /24 IPv4 prefix + kendi AS gerekir. Aylık transit ücreti Mbps başına değişir (genelde aylık birkaç bin TL'den başlar). RIPE NCC üyeliği yıllık ücret var, /24 IPv4 (PI assignment) için ek yıllık ücret. Toplam yıllık on binlerce TL bütçe gerekir.

RPKI ROA yayınlamak ücretsiz mi?

Evet. RIPE NCC üyesi LIR'lar kendi IP bloğu için RPKI portal'inden ROA yayınlar; ek ücret yok. ROA yayınlamak modern internet için standart hijiyendir.

BGP saldırılarından nasıl korunurum?

RPKI ROA yayını + RPKI validation + prefix filtering + peer authentication + monitoring katmanlı yaklaşım önerilir. Tek başına RPKI yeterli değil, ama kritik bir bileşen.

RTBH ile DDoS'u kendi başıma uygulayabilir miyim?

Carrier'ınızın blackhole community'sini bilmeniz ve kendi BGP altyapınızdan ilan etmeniz gerekir. Buyukweb müşterilerinde, DDoS mitigation bizim taraftan koordineli yapılır; carrier blackhole community gerekirse bizimle iletişime geçerek tetiklenir. Self-service değildir.

IPv6 ne zaman zorunlu olacak?

Pratikte bugün IPv4-only çalışmaya devam edebiliyorsunuz. Ancak yeni IP bloğu almak (özellikle /22 ve büyük) IPv6'da çok daha kolay; gelecek 5-10 yıllık trend dual-stack veya IPv6-only erişim. Yeni altyapıyı dual-stack tasarlamak en doğru yaklaşım.

Sonuç ve Sonraki Adımlar

BGP, internetin omurgası ve sürdürülebilir bir küresel yönlendirme tablosunun temelidir. Anahtar çıkarımlar:

  1. Routing temeli — paket yolculuğu, longest prefix match, next-hop, metric
  2. Static vs Dynamic — küçük ağda statik, kurumsal ağda dinamik
  3. IGP ailesi — RIP (legacy), OSPF (kurumsal standart), IS-IS (ISP omurga), EIGRP (tek vendor LAN)
  4. EGP = BGP — tek hakim, RFC 4271
  5. AS ve ASN — RFC 1930, 16-bit + 32-bit, RIR'lardan tahsis
  6. eBGP / iBGP — farklı AS / aynı AS; iBGP için RR veya confederation
  7. BGP attribute'ları — AS_PATH, LOCAL_PREF, MED, NEXT_HOP, ORIGIN, Community
  8. Best path selection — 7-13 adımlı algoritma, sıra önemli
  9. Transit, peering, IXP — internet ekonomisi ve mimarisi
  10. RPKI — modern güvenlik standardı, ROA + validation
  11. RTBH ve FlowSpec — DDoS mitigation
  12. Linux daemon'ları — FRRouting, BIRD, GoBGP, ExaBGP
  13. Multi-homed datacenter — KOBİ'nin BGP karmaşıklığından kurtulduğu yer

Buyukweb Bursa Tier 3 veri merkezimiz, multi-homed altyapı ve DDoS L3/L4/L7 koruması ile müşterilerimize BGP karmaşıklığına girmeden kurumsal düzeyde internet bağlantısı sağlar. Standart kurumsal müşteri ihtiyacı için VDS veya dedicated paket yeterlidir; kendi AS işletme senaryosu için colocation ve mühendislik koordinasyonu özel olarak planlanır.


İlgili Büyükweb Hizmetleri

Ağ ve sunucu altyapısı için Türkiye lokasyonlu paketler:

Multi-homed datacenter avantajları, kendi AS değerlendirmesi veya RTBH/DDoS mitigation planlaması için 0850 302 60 70 numaralı destek hattımıza veya iletişim sayfamıza yazabilirsiniz. Bursa Pendc Tier 3 veri merkezimizden 17+ yıl tecrübeli ekibimiz hizmetinizdedir.

Ağ & Network İlgili Hizmetlerimiz

Bu yazıda anlatılan teknik konuyu profesyonel altyapıyla deneyimleyin

Etiketler:

#bgp##network#ağ yönetimi

Bu yazıyı paylaş