---
title: 'Yönlendirme Tablosu'
source: 'https://academia.sh/tr/kurslar/linux-ag-yonetimi/yonlendirme-tablosu'
course: 'Linux Ağ Yönetimi ve Sorun Giderme'
language: tr
updated: '2026-08-17T18:09:59+00:00'
license: 'CC BY-SA 4.0'
---

# Yönlendirme Tablosu

Yönlendirme tablosu sekiz aday nedene karşı üç yanıt veriyor ve en kötü durumda beş aday bırakıyor; ağ geçidinin yanlış olması ile rotanın eksik olması iki yankı sınamasından sonra hâlâ aynı öbekte duruyor.

Arayüz listesi beklenen yanıtı verdiğinde — açık ve adresli — sekiz adaydan yalnız ikisi
eleniyordu ve geriye altı aday kalıyordu. Bu altı adayın ikisi paketin **nereye
gönderileceğiyle** ilgilidir: varsayılan ağ geçidi yanlış olabilir ya da hedefe giden rota hiç
bulunmayabilir. İkisi de adresi olan, açık bir arayüzün arkasında durur ve arayüz listesinden
görünmez.

Bu ders yönlendirme tablosunu okur ve aynı ölçüyü ona uygular. Sonuç iki bakımdan öğreticidir.
Tablo okuması arayüz listesinden daha dar bir öbek bırakıyor, yani daha güçlü bir sınama. Buna
karşılık, bu ikisini birbirinden ayırmak için akla ilk gelen yol — yankı göndermek — iki ayrı
sınamaya rağmen ayrımı yapamıyor.

## Tablo Neyi Söyler

Yönlendirme tablosu, bir hedef adres için paketin hangi arayüzden ve hangi bir sonraki
düğüme gönderileceğini belirleyen satırlardan oluşur. Satırlar sırayla denenmez; her satırın
bir hedef öneki vardır ve çekirdek **en uzun eşleşen öneki** seçer. Varsayılan ağ geçidi bu
kuralın en kısa öneke sahip satırıdır ve bu yüzden yalnız başka hiçbir satır eşleşmediğinde
kullanılır. Adres bir arayüze verildiğinde o alt ağın satırı tabloya kendiliğinden girer;
buna bağlı rota denir ve yerel ağa erişimi o satır sağlar.

```text
# örnek döküm — çalıştırılmamıştır
$ ip route show
default via 203.0.113.1 dev eth0
203.0.113.0/24 dev eth0 proto kernel scope link src 203.0.113.24
198.51.100.0/24 via 203.0.113.9 dev eth0
```

Tablonun tamamını okumak yerine tek bir hedef için kararı sormak da olanaklıdır. Karar sorgusu
üç şeyi birden söyler: seçilen satırı, çıkış arayüzünü ve paketin kaynak adresi olarak hangi
adresin yazılacağını. Kaynak adres seçimi tabloda görünmez ve yanlış seçildiğinde arıza
tek yönlü olur: paket gider, yanıt dönemez.

```text
# örnek döküm — çalıştırılmamıştır
$ ip route get 198.51.100.42
198.51.100.42 via 203.0.113.9 dev eth0 src 203.0.113.24
```

Bu iki blok çalıştırılmamıştır ve buradan hiçbir sayı iddiası çıkarılmaz; öğrettikleri şey
satırın biçimidir. Adresler kurgudur. Yönlendirme protokollerinin nasıl çalıştığı, tabloların
komşular arasında nasıl dağıtıldığı ve ölçütlerin nasıl hesaplandığı Bilgisayar Ağları
müfredatının konusudur; bu derste tablo **verili** kabul edilir ve yalnız okunur.

- **AY11** — Kurgu sunucunun tablosu üç satırdan oluşur: varsayılan ağ geçidi, yerel alt ağın
  bağlı rotası ve uzak alt ağa yazılmış tek bir statik rota. Aynı anda birden çok yönlendirme
  tablosu bulunmadığı varsayılır.
- **AY12** — `ag-gecidi-yanlis` adayı, varsayılan satırın var olduğu ama işaret ettiği bir
  sonraki düğümün paketi iletmediği durumdur. `rota-eksik` adayı, hedefe eşleşen hiçbir satırın
  bulunmadığı durumdur. Tabloda biri **dolu ve yanlış**, öteki **boş**tur.

## Rota Sınamasının Ölçüsü

```python
"""Yonlendirme tablosu sinamasi: 8 aday nedene karsi kac aday eleniyor.
Ortak tanimin ayni sekiz arizasi; bu derste rota ve iki yanki sinamasi okunuyor."""
SAGLAM = {"arayuz_acik": True, "adres_var": True, "ag_gecidi_dogru": True,
          "rota_var": True, "cozumleyici_yanit": True, "servis_dinliyor": True,
          "guvenlik_duvari_gecirir": True, "yol_bozulmadan": True}
ARIZA = {
    "arayuz-kapali":      {"arayuz_acik": False, "adres_var": False},
    "adres-yok":          {"adres_var": False},
    "ag-gecidi-yanlis":   {"ag_gecidi_dogru": False},
    "rota-eksik":         {"rota_var": False},
    "cozumleyici-sessiz": {"cozumleyici_yanit": False},
    "servis-dinlemiyor":  {"servis_dinliyor": False},
    "guvenlik-duvari-dusuruyor": {"guvenlik_duvari_gecirir": False},
    "buyuk-paket-dusuyor": {"yol_bozulmadan": False},
}


def durum(ariza, tablo):
    d = dict(SAGLAM)
    d.update(tablo[ariza])
    return d


def s_rota(d):
    if not d["adres_var"]:
        return "tablo-bos"
    return "tam" if d["rota_var"] else "varsayilan-yok"


def s_gecit_yankisi(d):
    return "yanit" if d["arayuz_acik"] and d["adres_var"] else "yanit-yok"


def s_uzak_yanki(d):
    return "yanit" if (d["arayuz_acik"] and d["adres_var"]
                       and d["ag_gecidi_dogru"] and d["rota_var"]) else "yanit-yok"


SINAMA = {"rota": s_rota, "gecit-yankisi": s_gecit_yankisi,
          "uzak-yanki": s_uzak_yanki}


def obekle(sinamalar, tablo=ARIZA):
    o = {}
    for a in tablo:
        anahtar = tuple(SINAMA[s](durum(a, tablo)) for s in sinamalar)
        o.setdefault(anahtar, []).append(a)
    return o


print("rota sinamasi: yanit basina aday")
for yanit, kume in obekle(["rota"]).items():
    print(f"  {yanit[0]:14s} kalan {len(kume):2d}  elenen {len(ARIZA) - len(kume):2d}"
          f"  {', '.join(kume)}")
print()
print("arac kumesi buyudukce ayirt edilemeyen obekler")
for kume in (["gecit-yankisi"], ["gecit-yankisi", "uzak-yanki"],
             ["gecit-yankisi", "uzak-yanki", "rota"]):
    ayrilmayan = [sorted(v) for v in obekle(kume).values() if len(v) > 1]
    print(f"  {len(kume)} sinama {'+'.join(kume):38s} obek {len(ayrilmayan)}")
    for o in ayrilmayan:
        print(f"      {', '.join(o)}")
print()
print("aday kumesi supurmesi (rota sinamasi)")
EK = dict(ARIZA, **{"adres-yanlis-alt-ag": {"ag_gecidi_dogru": False,
                                            "rota_var": False}})
EKSIK = {k: v for k, v in ARIZA.items() if k != "ag-gecidi-yanlis"}
for ad, tablo in (("temel            8", ARIZA), ("+adres-yanlis    9", EK),
                  ("-ag-gecidi-yanlis 7", EKSIK)):
    o = obekle(["rota"], tablo)
    yok = len(o.get(("varsayilan-yok",), []))
    print(f"  {ad:18s} ayri yanit {len(o)}  en kotu kalan "
          f"{max(len(v) for v in o.values())}"
          f"  'varsayilan-yok' kalan {yok}  elenen {len(tablo) - yok}")
```

```
rota sinamasi: yanit basina aday
  tablo-bos      kalan  2  elenen  6  arayuz-kapali, adres-yok
  tam            kalan  5  elenen  3  ag-gecidi-yanlis, cozumleyici-sessiz, servis-dinlemiyor, guvenlik-duvari-dusuruyor, buyuk-paket-dusuyor
  varsayilan-yok kalan  1  elenen  7  rota-eksik

arac kumesi buyudukce ayirt edilemeyen obekler
  1 sinama gecit-yankisi                          obek 2
      adres-yok, arayuz-kapali
      ag-gecidi-yanlis, buyuk-paket-dusuyor, cozumleyici-sessiz, guvenlik-duvari-dusuruyor, rota-eksik, servis-dinlemiyor
  2 sinama gecit-yankisi+uzak-yanki               obek 3
      adres-yok, arayuz-kapali
      ag-gecidi-yanlis, rota-eksik
      buyuk-paket-dusuyor, cozumleyici-sessiz, guvenlik-duvari-dusuruyor, servis-dinlemiyor
  3 sinama gecit-yankisi+uzak-yanki+rota          obek 2
      adres-yok, arayuz-kapali
      buyuk-paket-dusuyor, cozumleyici-sessiz, guvenlik-duvari-dusuruyor, servis-dinlemiyor

aday kumesi supurmesi (rota sinamasi)
  temel            8 ayri yanit 3  en kotu kalan 5  'varsayilan-yok' kalan 1  elenen 7
  +adres-yanlis    9 ayri yanit 3  en kotu kalan 5  'varsayilan-yok' kalan 2  elenen 7
  -ag-gecidi-yanlis 7 ayri yanit 3  en kotu kalan 4  'varsayilan-yok' kalan 1  elenen 6
```

Üç sayı yan yana. **Kâhin:** bu turda gerçek arıza `ag-gecidi-yanlis`; varsayılan satır
yerinde duruyor ve işaret ettiği düğüm paketi iletmiyor. **Sınama:** yönlendirme tablosu
okunuyor ve yanıtı **tam** — üç ayrı yanıttan biri. **Elenen aday:** yalnız **üç**; geriye
**beş aday** kalıyor.

Aynı sınama başka bir kâhinle bambaşka bir sonuç veriyor. Gerçek arıza `rota-eksik` olsaydı
yanıt **varsayilan-yok** olacak, **yedi aday** elenecek ve tek aday kalacaktı. Yanıt
**tablo-bos** olsaydı altı aday elenecekti. Arayüz listesindeki asimetri burada da var ve
yönü aynı: sınama, tablodaki **boşluğu** görmekte kesin, tablodaki **yanlışı** görmekte
neredeyse kör. Bunun nedeni tablonun bir doğruluk kaydı değil, bir **niyet** kaydı olmasıdır.
Satır, paketin nereye gönderileceğini söyler; oraya varıp varmadığını söylemez.

Bu ayrım tabloyu okurken doğrudan işe yarar. Varsayılan satırın **varlığı** doğrulanabilir bir
olgudur ve tablodan bakılarak kesin biçimde yanıtlanır. Satırdaki adresin **doğruluğu**
doğrulanabilir bir olgu değildir; o adresin gerçekten bir yönlendirici olup olmadığı, paketi
iletip iletmediği ve iletirken hedefe giden bir yolu bulunup bulunmadığı tablonun bilgisi
dışındadır. Tablo bu bakımdan bir dosya sistemi girdisine benzer: girdinin var olması,
gösterdiği yerin doğru olduğunu göstermez. Depolama kursunda kalıcı takma girdisi kâğıt
üzerinde doğruyken yanlış aygıtı takıyordu; buradaki varsayılan satır da kâğıt üzerinde
doğruyken paketi hiçbir yere iletmeyen bir adresi gösterebilir.

## İki Adayın Ayrılamaması

İkinci tablo, `ag-gecidi-yanlis` ile `rota-eksik` çiftinin neden zor bir çift olduğunu
gösteriyor. Yankı göndermek bu iki adayı ayırmanın en doğal yolu gibi görünür ve iki ayrı
yankı sınaması yapılabilir: biri yerel ağ geçidine, öteki uzak bir adrese.

- **AY13** — Ağ geçidi yankısı yalnız arayüzün açık ve adresli olmasına bağlıdır; yerel ağ
  bağlı rota üzerinden erişilir ve varsayılan satır bu sınamaya karışmaz.
- **AY14** — Uzak yankı, arayüzün, adresin, ağ geçidinin ve rotanın **dördünün birden** doğru
  olmasını gerektirir. Bu sınama ad çözümleme devrede olmadan, doğrudan adresle yapılır.
- **AY15** — Yankının kendisinin engellenmediği varsayılır; yankı yanıtının filtrelendiği
  durum bu konunun değil, güvenlik duvarı derslerinin sorunudur.

Tek yankı sınamasıyla bakıldığında sekiz aday **iki öbeğe** düşüyor ve büyük öbek altı aday
taşıyor. İkinci yankı eklendiğinde öbek sayısı **üçe** çıkıyor: sınama gerçekten iş görüyor,
altılı öbeği ikiye bölüyor. Ama böldüğü yer beklenen yer değil. `ag-gecidi-yanlis` ile
`rota-eksik` **yeni öbekte birlikte** kalıyor, çünkü ikisi de aynı deseni üretiyor: ağ geçidi
yankısı yanıt veriyor, uzak yankı vermiyor. İki sınama, iki bekleme süresi ve iki ayrı çıktı
harcandı; bu çift **hâlâ ayrılmadı**.

Bu sonucun nedeni sınamaların zayıflığı değil, **bağımlılık zincirinin biçimidir**. Uzak
yankının başarılı olması için dört alanın birden doğru olması gerekiyor; alanlardan herhangi
biri bozulduğunda yanıt aynı yanıttır. Bir sınama kaç alana bağlıysa, olumsuz yanıtı o kadar
çok adaya birden uyar. Bağlantı zincirinin ucuna yaklaştıkça sınamalar güçlenmez, tam tersine
**ayırt etme yetenekleri düşer**; kazandıkları şey kapsamdır. Uzak yankı bir adımda dört alanı
birden sınar ve bu yüzden "her şey yolunda" demek için iyi, "sorun şurada" demek için kötü
bir araçtır.

Ayrımı yapan şey üçüncü sınamadır ve o sınama hiç paket göndermez. Tablo okunduğunda
`rota-eksik` adayı **varsayilan-yok** yanıtını, `ag-gecidi-yanlis` adayı **tam** yanıtını
verir; öbek dağılır ve ayırt edilemeyen öbek sayısı üçten **ikiye** düşer. Kursun ikinci
iddiası burada ilk kez ödeniyor: **daha çok çıktı daha iyi tanı demek değildir.** Yerel bir
dosyayı okumak, iki uzak sınamanın yapamadığı ayrımı tek adımda yapıyor.

## Kaynak Adres Seçimi ve Tek Yönlü Arıza

Tablonun görünmeyen bir çıktısı daha vardır. Paket üretilirken kaynak adresi de seçilir ve
seçimi yapan, uygulama değil yönlendirmedir: kullanılacak satır belirlendikten sonra o satırın
çıkış arayüzüne bağlı adreslerden biri kaynak olarak yazılır. Karar sorgusunun son alanı bu
seçimi gösterir; tablo dökümünde ise ancak bağlı rotanın kaynak alanından dolaylı olarak
okunur.

Bu seçim yanlış olduğunda ortaya çıkan arıza kalıbı özeldir. Paket hedefe ulaşır, hedef yanıtı
üretir ve yanıtı kaynak olarak yazılmış adrese gönderir; o adres dönüş yolunda bilinmiyorsa
yanıt kaybolur. Yerel makinede görülen şey "yanıt yok"tur ve bu, ağ geçidinin yanlış olmasıyla
üretilen görüntünün aynısıdır. İki arayüzlü bir sunucuda bu kalıp sık kurulur: giden trafik
bir arayüzden çıkar, dönüş trafiği ötekine yönlendirilir ve hiçbir tablo satırı yanlış
görünmez. Arızanın ayırt edici imzası, aynı hedefe iki farklı kaynak adresle yapılan iki
denemenin farklı sonuç vermesidir; tek bir denemeyle bu imza görülmez, çünkü yanıtsızlık her
iki durumda da aynı yanıtsızlıktır.

- **AY16** — Ortak tanımda kaynak adres seçimi ayrı bir alan olarak tutulmuyor; tek arayüzlü
  kurgu sunucuda bu seçim belirsizlik taşımaz. Çok arayüzlü durum modelin dışındadır ve
  yukarıdaki kalıp modelin değil, okumanın bir uyarısıdır.

## Rota Eklemek ve Geri Almak

Rota eklemenin de iki biçimi vardır ve fark adres atamadakiyle aynıdır: çalışma zamanına
yazılan rota yeniden başlatmada kaybolur, yapılandırmaya yazılan rota önyüklemede geri gelir.
Tanı sırasında elle eklenen bir rota sorunu çözdüğünde iş bitmiş sayılmaz; aynı satır kalıcı
yapılandırmaya da geçmelidir.

Aynı hedefe iki satır yazıldığında hangisinin kullanılacağını önek uzunluğu belirler; önekler
de eşitse satırlara verilen ölçüt sayısı belirler ve küçük olan seçilir. Bu, tanıda sık
karşılaşılan bir belirsizlik kaynağıdır: iki ayrı kaynaktan — elle verilmiş bir satır ile
adres yapılandırmasının kendiliğinden eklediği bir satır — aynı hedefe iki varsayılan satır
girebilir ve tablo dökümü ikisini de gösterir. Döküme bakan kişi iki satırı da doğru sayar;
kullanılan yalnız biridir. Karar sorgusu bu belirsizliği ortadan kaldırır, çünkü tablonun
tamamını değil, **verilen kararı** yazdırır.

Varsayılan satırı değiştiren ya da silen işlemler ayrı bir sınıftır. Uzaktan yönetilen bir
makinede varsayılan ağ geçidini değiştirmek, komutu yazan oturumun kendisini kesebilir ve
komut geri dönmediği için düzeltme de yapılamaz. Bu ders o komut dizisini **çalıştırılabilir
tam biçimde vermez.** Önleyen yol üç adımdır ve üçü de bu kursta tekrar edilecektir:
değişikliği önce **kuru çalışma** ile yazdırmak, değişikliği bir **zamanlayıcıyla geri alma**
görevinin arkasına koymak, ve yönetim erişimini değişiklikten **etkilenmeyen ayrı bir kanaldan**
sağlamak.

## Aday Kümesi Süpürmesi

Üçüncü tablo aday listesini iki yönde sarsıyor.

- **AY17** — Eklenen aday `adres-yanlis-alt-ag`, adresin yanlış alt ağdan verildiği durumdur;
  bu durumda ağ geçidi erişilemez olur ve varsayılan satır kurulamaz, yani iki alan birden
  bozulur.
- **AY18** — Çıkarılan aday `ag-gecidi-yanlis`, tablo okumasının en zayıf kaldığı adaydır.

Aday eklendiğinde ayrı yanıt sayısı üçte, en kötü kalan beşte sabit kalıyor. Değişen şey yine
**kesin sanılan yanıttır**: `varsayilan-yok` yanıtı dokuz adaydan yedisini eliyor ama geriye
bir değil **iki** aday bırakıyor. Yani "varsayılan satır yok" okuması artık tanı değil, iki
adaya inmiş bir daraltmadır. Aday çıkarıldığında ise en kötü kalan beşten **dörde** iniyor ve
`varsayilan-yok` yanıtının elediği aday yediden **altıya**. Sınama aynı sınamadır; değişen
yalnız listedir.

Bu iki satır, eleme sayılarını mutlak bir ölçüt saymanın neden yanlış olduğunu gösteriyor.
Rota okumasının "en kötü durumda beş aday bırakan" bir sınama olması, sekiz adaylık listeye
bağlı bir sayıdır. Liste büyüdükçe sınamanın tavanı yükselir, liste daraldıkça düşer; sabit
kalan tek şey sınamanın **hangi alanı gördüğüdür**. Sınamaları bu değişmez özelliğe göre
sıralamak, eleme sayılarına göre sıralamaktan daha dayanıklı bir alışkanlıktır: rota okuması
her zaman rota alanını görür, aday listesi ne olursa olsun.

## Özet

- Yönlendirme tablosu bir niyet kaydıdır: paketin nereye gönderileceğini söyler, oraya
  vardığını söylemez. Satır seçimi en uzun eşleşen önek kuralına göre yapılır ve varsayılan
  ağ geçidi en kısa öneke sahip satırdır.
- Rota sınaması **üç ayrı yanıt** verir ve en kötü durumda **beş aday** bırakır: `tam`
  yanıtında yalnız **üç** aday elenir, `varsayilan-yok` yanıtında **yedi**, `tablo-bos`
  yanıtında **altı**. Sınama tablodaki boşluğu görür, tablodaki yanlışı görmez.
- `ag-gecidi-yanlis` ile `rota-eksik` çifti **iki yankı sınamasına kadar ayrılamıyor**: her
  ikisi de yerel yankıya yanıt verip uzak yankıya vermiyor. Ayırt edilemeyen öbek sayısı iki
  sınamada üç, tablo okuması eklendiğinde ikidir.
- Ayrımı hiç paket göndermeyen yerel bir okuma yapıyor; daha çok çıktı üreten iki uzak sınama
  yapamıyor.
- Süpürme, eleme sayısının aday listesine bağlı olduğunu gösteriyor: dokuzuncu aday
  eklendiğinde `varsayilan-yok` yanıtı iki aday bırakıyor, `ag-gecidi-yanlis` çıkarıldığında
  en kötü kalan beşten dörde iniyor.

## Sonraki Adım

Tablo okuması, `tam` yanıtı verdiğinde geriye kalan beş adayın dördü artık paketin yoluyla
değil, **ne istendiğiyle** ilgilidir: hedefin adı çözülemiyor olabilir, servis dinlemiyor
olabilir, güvenlik duvarı düşürüyor olabilir ya da büyük paket yolda kayboluyor olabilir. Bir
sonraki ders bu dörtlünün ilkine bakar ve çözücü yapılandırmasını okur. Orada ölçülecek
sayı kursun en küçük sayılarından biridir: ad çözümleme sınaması, beklenen yanıtı verdiğinde
sekiz adaydan **yalnız birini** eler. Bu kadar zayıf bir sınamanın neden yine de yapıldığı,
o dersin asıl sorusudur.
