- Kullanıcının paketinin internet üzerinden web sitesi sunucusuna ulaşırken izlediği yolu gerçek zamanlı olarak görselleştiren interaktif bir sayfa
- Özel olarak geliştirilen
ktr adlı traceroute programı, ICMP paketlerinin TTL değerini kullanarak her ağ atlamasına ilişkin bilgileri topluyor
- Web sitesi JavaScript olmadan da çalışıyor; sunucu traceroute sonuçlarını akış halinde HTML'e yansıtıyor
- Yol analizi için WHOIS ve PeeringDB verileri kullanılarak her IP'nin ait olduğu otonom sistem (AS) ve şirket bilgileri gösteriliyor
- traceroute ile BGP tabanlı internet yapısını birleştirerek internetin, şirketler arasındaki peering ilişkileriyle kurulu ağlar topluluğu olduğunu gösteriyor
Paketinizin geçtiği yolculuk
- Sayfanın üst kısmındaki traceroute, kullanıcının bilgisayarından sunucuya kadar olan paket hareket yolunu gösteriyor
- Sırasıyla router, ISP, Amazon, NTT Global IP Network, Hetzner gibi ağlardan geçiyor
- Bazı bölümler “(no response)” olarak görünüyor; bunun nedeni yanıt vermeyen sunucular
- Hetzner ağı içinde birden fazla router'dan geçerek son sunucuya ulaşıyor
213.239.252.10 IP adresi, ters DNS sorgusu ile core0.fra.hetzner.com olarak gösteriliyor
Perde Arkası
- Web sitesi, kullanıcı isteğini aldığında sunucuda traceroute çalıştırıyor ve sonuçları gerçek zamanlı gönderiyor
- traceroute, ICMP protokolünü kullanıyor ve TTL (Time To Live) değerini her seferinde 1 artırarak her atlamadan gelen yanıtları topluyor
- TTL 0 olduğunda ilgili router bir hata mesajı döndürüyor; böylece paketin geçtiği yol izlenebiliyor
ktr, traceroute sonuçlarını akış halinde aktarırken her atlamanın IP, ASN ve sahip ağ bilgilerini de eşzamanlı sorguluyor
Frontend Eğlencesi
- JavaScript olmadan da çalışıyor; tarayıcı bunu yalnızca yavaş yüklenen bir sayfa gibi algılıyor
- Sunucu, HTTP bağlantısını açık tutarak traceroute sonuçlarını sırayla HTML içine ekliyor
- Her güncellemede CSS blokları ekleyip önceki sonuçları gizleme yöntemiyle gerçek zamanlı yenilenme etkisi oluşturuluyor
Önden Arkaya, Arkadan Öne
- Aslında sunucudan kullanıcının IP'sine traceroute çalıştırılıyor ve sonuçlar ters sırada gösteriliyor
- Bu, bir “reverse traceroute”; iki yönlü yol tamamen aynı olmasa da genellikle benzer bir rota gösteriyor
Ağlar ve otonom sistemler (AS)
- İnternet, otonom sistem (Autonomous System, AS) adı verilen şirket düzeyindeki ağların birbirine bağlı yapısı
- Her AS'nin benzersiz bir ASN (Autonomous System Number) değeri var ve karşılıklı peering ile trafik değiş tokuşu yapıyorlar
- İnternet, bireylerin değil şirketlerin sahip olduğu ağların toplamı; bağlantılar mali sözleşmeler ve idari süreçler tarafından belirleniyor
- ASN, 5 bölgesel internet kayıt kuruluşundan (RIR) biri üzerinden başvurularak alınabiliyor
WHOIS ve PeeringDB
- traceroute içindeki her IP'nin hangi AS'ye ait olduğunu bulmak için WHOIS protokolü ve PeeringDB veritabanı kullanılıyor
- WHOIS, TCP bağlantısı kurulduktan sonra sorgu gönderildiğinde sunucunun bilgi döndürdüğü basit bir yapıya sahip
- Sunucudan sunucuya alan adları ve biçimler değiştiği için, parser insanın okuma biçimine yakın basit bir simülatör olarak uygulanmış
- PeeringDB, tüm AS'lerin yaklaşık üçte biri için şirket bilgisi sağlıyor
BGP (Border Gateway Protocol)
- BGP, internetin şeklini belirleyen temel protokol olarak AS'ler arasında yol bilgisini değiş tokuş eder
- Sınır router'ları (border router), BGP yönlendirme tablolarını tutar ve her yol için ASN listesini saklar
- İki AS peering yaptığında, router'ları BGP oturumu kurar ve rota ilanlarını (route advertisement) değiş tokuş eder
- Router'lar, birden fazla yol arasından en kısa ya da en çok tercih edilen yolu seçerek paketleri iletir
BGP'nin tarihi
- 1969'da ARPANET ile başlayan ağ deneyleri, 1989'da Cisco ve IBM'in RFC 1105 çalışmasına uzanarak BGP v1'in ortaya çıkmasına yol açtı
- Daha sonra BGP v2 (1990) ve v4 (1994) yayımlandı; v4 bugün hâlâ kullanılıyor
- BGP, internetteki tüm ağlar arasındaki bağlantı yollarını belirleyen standart protokol haline geldi
Traceroute ile BGP'nin ilişkisi
- Örnek rota: AS16509 → AS2914 → AS24940
- Amazon (AS16509) → NTT Global IP Network (AS2914) → Hetzner (AS24940) sırası
- Aynı ASN içinde de birden fazla atlama olabilir; bu, iç yönlendirme protokolleri veya sabit yollarla işlenir
- AS'ler arasındaki peering ilişkileri, internetteki gerçek erişilebilirliği belirler
Kısa özet
- Web sitesi, kullanıcının IP'sine traceroute çalıştırıyor ve sonuçları HTTP akışıyla gönderiyor
- traceroute, ICMP paketlerinin TTL değerini kullanarak router'lar arasındaki yolu görselleştiriyor
- Her router bir otonom sisteme (AS) ait ve bunlar BGP üzerinden birbirine bağlı
- Peering ilişkileri, internetin erişilebilirliğini ve yapısını belirliyor
Sonsöz
- Yazar, internet yapısına dair bilgisinin yetersiz olduğunu fark ederek protokol merkezli eğitsel bir interaktif yazı hazırladı
- Büyük ve kusursuz bir proje yerine, küçük de olsa yayımlanmış bir iş ortaya koymayı seçti
- Hack Club topluluğunun teşvikiyle tamamlandı ve açık kaynak traceroute programı kullanıldı
- “Küçük de olsa tamamlanmış olması daha iyidir” mesajıyla, kalıcı web içeriği olarak yaşamayı umuyor
Henüz yorum yok.