---
title: 'Erişilebilirlik Testleri'
source: 'https://academia.sh/tr/kurslar/linux-ag-yonetimi/erisilebilirlik-testleri'
course: 'Linux Ağ Yönetimi ve Sorun Giderme'
language: tr
updated: '2026-08-17T18:10:00+00:00'
license: 'CC BY-SA 4.0'
---

# Erişilebilirlik Testleri

Yankı ve yol izleme sınamalarının doğru okunması: uzak adresten yanıt gelmemesi dört ayrı aday nedene uyuyor, üç erişilebilirlik sınaması ve bir bağlantı denemesi birlikte iki aday çiftini hâlâ ayıramıyor ve ayıran şey yapılandırmanın okunması oluyor.

Önceki ders tanı sırasını ölçtü ve katmanlı sıranın ilk adımlarındaki iki sınamanın zayıf
göründüğünü gösterdi: ağ geçidine yankı yalnız 2 aday, uzak adrese yankı 4 aday eliyordu.
Bu sınamalar tanının en sık kullanılan araçlarıdır ve zayıflıkları asıl sorun değildir. Asıl
sorun **yanlış okunmalarıdır**.

Yanlış okuma iki yönde işler. Birinci yönde sessizlik fazla şey söyler sanılır: yanıt
gelmediğinde "makine kapalı" ya da "ağ yok" sonucuna varılır, oysa aynı sessizliği üreten
birden çok neden vardır. İkinci yönde ses fazla şey söyler sanılır: yanıt geldiğinde
"erişim tamam" denir, oysa yanıt veren katman ile erişilmek istenen katman aynı değildir.
Bu ders iki yanlış okumayı da sayıyla karşılar.

## Yankı Sınamasının İkili Yanıtı

Yankı sınaması bir adrese küçük bir istek gönderir ve karşılığında bir yanıt bekler. Kurgu
bunu ikili bir yanıta indirger: `yanit` ya da `yanit-yok` (**SG6**). Gecikme, kayıp oranı ve
yanıt sırası bu derste ölçülmez; ölçülen şey sessizliğin **kaç aday nedene** uyduğudur.

İki ayrı yankı sınaması vardır ve ikisi farklı uzaklığa bakar. **Ağ geçidi yankısı** yerel
ağa çıkıp çıkamadığımızı sorar; yanıt için arayüzün açık ve adresin atanmış olması yeter.
**Uzak yankı** hedefe kadar giden yolu sorar; yanıt için ağ geçidinin doğru ve rotanın var
olması da gerekir. İkinci sınama birincisinin gerektirdiği her şeyi gerektirir, üstüne iki
koşul daha ekler. Bu iç içelik, sessizliğin neden birden çok nedene uyduğunu doğrudan
açıklar.

Ad çözümleme bu sınamaların dışında tutulmuştur: yankı adresle yapılır, adla değil. Adla
yapılan bir yankı iki mekanizmayı tek yanıtta karıştırır ve sessizliğin nedenini bir aday
daha bulanıklaştırır. Protokolün kendisi Bilgisayar Ağları müfredatının konusudur ve burada
kurulmaz.

## Yol İzleme: Artan Uzaklıkta Yinelenen Sınama

**Yol izleme**, hedefe giden yolu ara duraklarıyla birlikte gösteren araçların ortak adıdır.
Yaptığı iş, aynı erişilebilirlik sorusunu artan uzaklıklarda yinelemektir: önce bir durak
ötesi, sonra iki durak ötesi. Kurguda bu, ağ geçidi yankısı ile uzak yankının ardarda
koşturulmasına karşılık gelir (**SG7**); ara durakların kendi davranışları ayrı ayrı
modellenmez.

Üçüncü bir erişilebilirlik sınaması, bölünmeye izin verilmeyen **büyük paket** denemesidir
(**SG8**). Küçük paketler geçerken büyüklerin kaybolduğu bir yol, yankı sınamasına sağlam
görünür. Bu ayrım, yankının küçük istek göndermesinden doğar: sınamanın kullandığı paket
boyutu, sınamanın göremediği arızayı belirler.

Dördüncü bir sınırı da baştan yazmak gerekir: yankı yanıtının bilerek verilmemesi aday neden
kümesinde yoktur (**SG9**). Bir hedef yankıya yanıt vermeyecek biçimde yapılandırılmış
olabilir ve o durumda sessizlik hiçbir arızaya karşılık gelmez. Kapalı dünya varsayımının
bedeli budur: liste dışındaki bir neden, listenin içindeki bir nedenle aynı yanıtı verir.

Yol izleme çıktısının en sık yanlış okunan yeri, **ara durakların sessizliğidir**. Bir
duraktan yanıt gelmemesi o durağın bozuk olduğunu göstermez; ara duraklar kendilerine
yönelmemiş isteklere yanıt vermek zorunda değildir ve çoğu bunu düşük öncelikli bir iş
sayar. Yol izlemede anlamlı olan tek satır **sonuncusudur**: yolun hangi uzaklıktan sonra
tamamen sessizleştiği. Ortada duran boş satırlar aday elemez, yalnız satır sayısını artırır.
Aynı yanılgının tersi de olur: bütün duraklar yanıt verirken hedefin sessiz kalması, yolun
sağlam olduğunu ve arızanın hedefte olduğunu düşündürür, oysa dönüş yönü ayrı bir yoldur ve
gidiş yönünün sağlamlığı dönüşü kanıtlamaz.

Kurgunun ikili yanıta indirgemesi bir kolaylık değil, bilinçli bir sınırdır. Gerçek bir
yankı sınaması üç istekten kaçının döndüğünü de söyler ve "3'te 3 kayıp" ile "3'te 1 kayıp"
tanı bakımından aynı şey değildir: birincisi kalıcı bir arızaya, ikincisi aralıklı bir
arızaya işaret eder. Kurgu bu ikinci durumu kapsamaz; aralıklı arıza dördüncü dersin
konusudur. Burada tutulacak nokta şudur: kayıp oranını atıp yanıtı ikiye indiren her okuma,
aralıklı arızayı ya tamamen sağlam ya tamamen bozuk gösterir.

```text
# ornek dokum , calistirilmis degildir
$ ping -c 3 <ag-gecidi>                  # bir durak otesi
$ ping -c 3 <hedef-adres>                # hedefe kadar
$ tracepath <hedef-adres>                # artan uzaklikta yineleme
$ ping -c 3 -M do -s 1400 <hedef-adres>  # bolunmeye izin vermeyen deneme
```

```python
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},
}
ADAYLAR = tuple(ARIZA)


def durum(a=None):
    d = dict(SAGLAM)
    if a:
        d.update(ARIZA[a])
    return d


def yol(d):
    return (d["arayuz_acik"] and d["adres_var"]
            and d["ag_gecidi_dogru"] and d["rota_var"])


SINAMA = {                    # ortak tanimin sekizinden bu derste kullanilan bes
    "gecit-yankisi": lambda d: ("yanit" if d["arayuz_acik"] and d["adres_var"]
                                else "yanit-yok"),
    "uzak-yanki": lambda d: "yanit" if yol(d) else "yanit-yok",
    "buyuk-paket": lambda d: ("geciyor" if yol(d) and d["yol_bozulmadan"]
                              else "gecmiyor"),
    "baglanti": lambda d: ("ulasilamaz" if not yol(d)
                           else "zaman-asimi" if not d["guvenlik_duvari_gecirir"]
                           else "reddedildi" if not d["servis_dinliyor"]
                           else "kuruldu"),
    "rota": lambda d: ("tablo-bos" if not d["adres_var"]
                       else "tam" if d["rota_var"] else "varsayilan-yok"),
}
YANKI = ["gecit-yankisi", "uzak-yanki", "buyuk-paket"]     # SG7: yol izleme


def obekler(kume, adaylar=ADAYLAR):
    o = {}
    for a in adaylar:
        o.setdefault(tuple(SINAMA[s](durum(a)) for s in kume), []).append(a)
    return o


print("bir yanit kac aday nedene uyuyor")
for s in YANKI + ["baglanti"]:
    for yanit, uyan in sorted(obekler([s]).items()):
        print(f"  {s:14s} {yanit[0]:12s} {len(uyan)}  {', '.join(sorted(uyan))}")
print()
KAHIN = "ag-gecidi-yanlis"
print("kahin:", KAHIN, "| sinamalar sirayla uygulaniyor")
kalan = ADAYLAR
for s in YANKI + ["baglanti", "rota"]:
    yanit = SINAMA[s](durum(KAHIN))
    yeni = tuple(a for a in kalan if SINAMA[s](durum(a)) == yanit)
    print(f"  {s:14s} {yanit:12s} elenen {len(kalan) - len(yeni)}  kalan {len(yeni)}"
          f"  {', '.join(sorted(yeni))}")
    kalan = yeni
print()
print("sinama kumesi                                  obek  ayrilamayan  en buyuk obek")
for kume in (["gecit-yankisi"], ["uzak-yanki"], ["gecit-yankisi", "uzak-yanki"],
             YANKI, ["baglanti"], YANKI + ["baglanti"]):
    o = obekler(kume)
    ayr = [v for v in o.values() if len(v) > 1]
    print(f"  {'+'.join(kume):45s} {len(o):4d} {len(ayr):12d}"
          f" {max(len(v) for v in o.values()):14d}")
print()
print("aday kumesi supurmesi: 'uzak-yanki = yanit-yok' kac adaya uyuyor")
kume = ["arayuz-kapali"]
for a in ADAYLAR:
    if a not in kume:
        kume.append(a)
        uyan = [x for x in kume if SINAMA["uzak-yanki"](durum(x)) == "yanit-yok"]
        print(f"  aday {len(kume)}  eklenen {a:26s} uyan {len(uyan)}")
```

```
bir yanit kac aday nedene uyuyor
  gecit-yankisi  yanit        6  ag-gecidi-yanlis, buyuk-paket-dusuyor, cozumleyici-sessiz, guvenlik-duvari-dusuruyor, rota-eksik, servis-dinlemiyor
  gecit-yankisi  yanit-yok    2  adres-yok, arayuz-kapali
  uzak-yanki     yanit        4  buyuk-paket-dusuyor, cozumleyici-sessiz, guvenlik-duvari-dusuruyor, servis-dinlemiyor
  uzak-yanki     yanit-yok    4  adres-yok, ag-gecidi-yanlis, arayuz-kapali, rota-eksik
  buyuk-paket    geciyor      3  cozumleyici-sessiz, guvenlik-duvari-dusuruyor, servis-dinlemiyor
  buyuk-paket    gecmiyor     5  adres-yok, ag-gecidi-yanlis, arayuz-kapali, buyuk-paket-dusuyor, rota-eksik
  baglanti       kuruldu      2  buyuk-paket-dusuyor, cozumleyici-sessiz
  baglanti       reddedildi   1  servis-dinlemiyor
  baglanti       ulasilamaz   4  adres-yok, ag-gecidi-yanlis, arayuz-kapali, rota-eksik
  baglanti       zaman-asimi  1  guvenlik-duvari-dusuruyor

kahin: ag-gecidi-yanlis | sinamalar sirayla uygulaniyor
  gecit-yankisi  yanit        elenen 2  kalan 6  ag-gecidi-yanlis, buyuk-paket-dusuyor, cozumleyici-sessiz, guvenlik-duvari-dusuruyor, rota-eksik, servis-dinlemiyor
  uzak-yanki     yanit-yok    elenen 4  kalan 2  ag-gecidi-yanlis, rota-eksik
  buyuk-paket    gecmiyor     elenen 0  kalan 2  ag-gecidi-yanlis, rota-eksik
  baglanti       ulasilamaz   elenen 0  kalan 2  ag-gecidi-yanlis, rota-eksik
  rota           tam          elenen 1  kalan 1  ag-gecidi-yanlis

sinama kumesi                                  obek  ayrilamayan  en buyuk obek
  gecit-yankisi                                    2            2              6
  uzak-yanki                                       2            2              4
  gecit-yankisi+uzak-yanki                         3            3              4
  gecit-yankisi+uzak-yanki+buyuk-paket             4            3              3
  baglanti                                         4            2              4
  gecit-yankisi+uzak-yanki+buyuk-paket+baglanti    6            2              2

aday kumesi supurmesi: 'uzak-yanki = yanit-yok' kac adaya uyuyor
  aday 2  eklenen adres-yok                  uyan 2
  aday 3  eklenen ag-gecidi-yanlis           uyan 3
  aday 4  eklenen rota-eksik                 uyan 4
  aday 5  eklenen cozumleyici-sessiz         uyan 4
  aday 6  eklenen servis-dinlemiyor          uyan 4
  aday 7  eklenen guvenlik-duvari-dusuruyor  uyan 4
  aday 8  eklenen buyuk-paket-dusuyor        uyan 4
```

## Kâhin, Sınama, Elenen Aday

Üç sayı yan yana durur. **Kâhin:** gerçek arıza `ag-gecidi-yanlis`, yani varsayılan ağ
geçidi yanlış yazılmış. **Sınama:** uzak yankı `yanit-yok` döndürüyor. **Elenen aday:** bu
yanıt sekiz adaydan **4'ünü** eliyor ve geriye **4** aday bırakıyor.

Sessizliğin dört adaya uyması, bu dersin birinci sayısıdır. "Uzak adresten yanıt gelmiyor"
cümlesi tek başına `arayuz-kapali`, `adres-yok`, `ag-gecidi-yanlis` ve `rota-eksik`
adaylarının **hepsiyle** uyumludur. Sessizliği "ağ kopuk" diye okumak bu dördünü tek bir
nedenmiş gibi toplamaktır; dördünün düzeltmesi ayrıdır ve yanlış seçilen düzeltme çalışmaz.

Ağ geçidi yankısı sessiz kaldığında durum daha dardır: yalnız **2** aday uyar
(`arayuz-kapali`, `adres-yok`). Buradan pratik bir okuma çıkar. **Yakın sessizlik uzak
sessizlikten daha bilgilendiricidir**, çünkü daha az koşula bağlıdır. Yol izlemenin gerçek
işlevi de budur: sessizliğin hangi uzaklıkta başladığını bularak, uyan aday sayısını
daraltmak.

## Yanıt Gelmesi Neyi Söylemez

İkinci yanlış okuma daha sinsidir. Yankının yanıt vermesi, dört adayı eler ama geriye
**4** aday bırakır: `cozumleyici-sessiz`, `servis-dinlemiyor`, `guvenlik-duvari-dusuruyor`
ve `buyuk-paket-dusuyor`. Yani "makine yanıt veriyor" cümlesi, servise erişilebildiği
anlamına gelmez ve dört ayrı arıza bu cümleyle tamamen uyumludur.

Aradaki farkı yaratan şey, sessizlik ile **reddin** aynı şey olmamasıdır. Bağlantı
denemesinin dört yanıtından ikisi tek bir adayı belirler: `reddedildi` yalnız
`servis-dinlemiyor` adayına, `zaman-asimi` yalnız `guvenlik-duvari-dusuruyor` adayına uyar.
Reddedilmek bir yanıttır ve yanıt veren taraf, yolun sağlam olduğunu da kanıtlar; sessizlik
ise hem yolun hem hedefin durumu hakkında belirsizdir. Tanıda bu yüzden aranan şey sessizliği
**bir yanıta çevirebilecek** sınamadır.

Büyük paket denemesi bu dördünün içinden birini ayırır: `buyuk-paket-dusuyor` senaryosunda
küçük yankı geçer, büyük paket geçmez. Bu, tanıda en çok gözden kaçan imzadır, çünkü iki
sınamanın çeliştiği tek yerdir — biri sağlam, öteki bozuk der ve ikisi de doğrudur.

Ardışık tablo bu sıranın nasıl yürüdüğünü gösterir. Kâhin `ag-gecidi-yanlis` iken ağ geçidi
yankısı 2, uzak yankı 4 aday eliyor; ondan sonra büyük paket denemesi **0**, bağlantı
denemesi de **0** aday eliyor. Bir sınamanın güçlü olması yetmez; **daha önce elenmiş
adayları yeniden elemek eleme değildir.** Bağlantı denemesi önceki derste yedi aday elemişti;
burada sıfır eliyor, çünkü kendisinden önce gelen sınamalar aynı ayrımı zaten yapmıştı.

## Erişilebilirlik Sınamalarının Duvarı

Son tablo dersin en sert sonucudur. Ağ geçidi yankısı tek başına 8 adayı 2 öbeğe ayırır ve
en büyük öbekte 6 aday kalır. Uzak yankı tek başına 2 öbek, en büyük öbek 4. İkisi birlikte
3 öbek üretir ve **üç öbeğin üçünde de birden çok aday** vardır: bu iki sınama, tek bir
adayı bile tek başına belirleyemez.

Büyük paket denemesi eklendiğinde öbek sayısı 4'e çıkar, en büyük öbek 3'e iner; ayrılamayan
öbek sayısı hâlâ **3**'tür. Bağlantı denemesi de eklendiğinde 6 öbek oluşur ve geriye
**2** ayrılamayan çift kalır: `arayuz-kapali` ile `adres-yok`, ve `ag-gecidi-yanlis` ile
`rota-eksik`.

Bu iki çift, kaç erişilebilirlik sınaması yapılırsa yapılsın ayrılmaz. Nedeni yapısaldır:
çiftin iki üyesi de **aynı yolu aynı yerde** kesiyor, dolayısıyla yola bakan her sınama aynı
yanıtı veriyor. Ayıran şey yola bakmak değil, **yapılandırmayı okumaktır**. Tabloda bunu
yapan satır sonuncusudur: yönlendirme tablosu sınaması `tam` yanıtını verip
`ag-gecidi-yanlis` ile `rota-eksik` arasındaki son adayı eler ve tanı 1 adaya iner.

Buradan kursun ikinci iddiasının ilk yüzü çıkar: **sınama sayısını artırmak eleme gücünü
artırmaz.** Üç erişilebilirlik sınaması, tek bir yapılandırma okumasının yaptığı işi
yapmıyor. Sınamaları çoğaltmak yerine **türünü değiştirmek** gerekiyor.

Bu araçların bu kadar çok kullanılmasının nedeni de aynı tabloda gizlidir: ucuzdurlar. Bir
yankı sınaması saniyeler sürer, tek satır komuttur, hedefte değişiklik yapmaz ve
başarısızlığı zararsızdır. Ucuzluk, bir aracı ilk seçenek yapar; **eleme gücü** ise onu
tanıyı bitiren araç yapar ve ikisi aynı ölçü değildir. Ölçüde her sınama bir adım sayıldı
(**SG5**), yani saniyeler değil kararlar sayıldı. Saniye cinsinden ölçülseydi yankı
sınamaları daha da avantajlı görünürdü ve tam da bu görüntü, tanının tıkandığı yerde onlarca
kez yankı yinelemeye yol açar. Aynı sınamanın yinelenmesi hiçbir yeni aday elemez; ilk
koşumdan sonra elde edilen bilgi sabittir.

## Aday Kümesi Süpürmesi

Süpürme, sessizliğin uyduğu aday sayısının kümeye ne kadar bağlı olduğunu gösterir. Küme
`arayuz-kapali` ile başlayıp sekize kadar büyütüldüğünde `uzak-yanki = yanit-yok` yanıtına
uyan aday sayısı 1, 2, 3, 4 diye artar ve **dörtte durur**: sonradan eklenen dört aday
üst katmandadır ve uzak yankıya yanıt üretirler.

Tablo tersten de okunur. Listeden bir aday çıkarmak, satırları yukarı doğru izlemekle aynı
şeydir: `rota-eksik` listeden çıkarıldığında sessizliğe uyan aday 4'ten 3'e, `ag-gecidi-yanlis`
de çıkarıldığında 2'ye iner. Çıkarma her zaman kazanç gibi görünür, çünkü sessizlik
daralır; oysa çıkarılan aday gerçek arızaysa tanı sıfır adayla biter ve bu, tablonun hiçbir
yerinde görünmez.

Sonuç iki yönlüdür. Aday listesi kısaysa sessizlik daha bilgilendirici görünür — üç adaylı
bir listede "yanıt yok" iki adaya uyar — ama bu bilgi, listenin dışında kalan nedenler
pahasına elde edilmiştir. Aday listesi uzadıkça sessizliğin ayırt etme gücü belli bir
noktadan sonra **artmaz da azalmaz da**: eklenen adaylar farklı bir yanıt verdiği sürece
sessizliğin karşılığı sabit kalır. Bir sınamanın gücünü belirleyen şey aday sayısı değil,
adayların **hangi yanıta düştüğüdür**.

## Özet

- Uzak adresten yanıt gelmemesi **4** ayrı aday nedene uyar; ağ geçidinden yanıt gelmemesi
  **2** adaya uyar. Yakın sessizlik daha az koşula bağlı olduğu için daha bilgilendiricidir.
- Yankının yanıt vermesi de **4** adayı ayakta bırakır; "makine yanıt veriyor" cümlesi
  servise erişilebildiğini söylemez.
- Yol izleme, aynı erişilebilirlik sorusunun artan uzaklıkta yinelenmesidir; büyük paket
  denemesi, küçük yankının göremediği tek arızayı ayırır.
- Üç erişilebilirlik sınaması birlikte tek bir adayı bile belirleyemez; bağlantı denemesi de
  eklendiğinde geriye **2** ayrılamayan çift kalır ve onları ancak yapılandırmayı okumak
  ayırır.
- Daha önce elenmiş adayı yeniden elemek eleme değildir: bağlantı denemesi bu sırada **0**
  aday eler; aynı sınamanın yinelenmesi de yeni aday elemez.
- Reddedilmek bir yanıttır ve tek adayı belirler; sessizlik hem yol hem hedef hakkında
  belirsizdir.

## Sonraki Adım

Erişilebilirlik sınamaları duvara toslayınca akla gelen sonraki adım genellikle aynıdır:
trafiğin kendisine bakmak. Paket yakalama, yanıtların özetini değil, hattan geçen her
çerçeveyi gösterir ve bu yüzden "en ayrıntılı" araç sayılır. Sonraki ders bu beklentiyi
ölçer: yakalamanın ürettiği satır sayısını ve elediği aday neden sayısını yan yana koyar,
satır başına düşen eleme gücünü bağlantı denemesininkiyle karşılaştırır. Yakalamanın bir
tanı aracı olduğu, başkasının trafiğini ele geçirme yordamı olmadığı da orada sınırıyla
birlikte yazılır.
