Ağ Uygulamaları ve Hizmetleri
Ağ uygulamaları ve hizmetleri, ağın kenarında çalışan ve kullanıcılara değer sunan programlar ve protokollerdir — web ve e-postadan Alan Adı Sistemi'ne (Domain Name System) ve içerik dağıtım ağlarına kadar — ve altlarındaki taşıma hizmetleri üzerine inşa edilmektedir.
Tanım
Uygulama katmanı, ağa bağlı uygulama süreçlerinin uygulamaya özgü protokollere göre mesaj alışverişi yaptığı en üst protokol katmanıdır; ağ hizmetleri ise bu uygulamaların bağımlı olduğu adlandırma ve içerik teslimi gibi destekleyici altyapıdır.
Kapsam
Bu alan, uygulama katmanını ve onu destekleyen altyapı hizmetlerini kapsamaktadır: uygulama mimarileri (istemci-sunucu ve eşler arası), HTTP, SMTP ve FTP gibi temel uygulama protokolleri, insan tarafından okunabilir adları adreslere eşleyen Alan Adı Sistemi, içeriği kullanıcılara yakın yerlerde çoğaltan içerik dağıtım ağları ve iletişim sistemlerine uygulandığı şekliyle ağ güvenliğine genel bir bakış sunmaktadır. Bu alan, dayandığı taşıma katmanı mekanizmalarını dışarıda bırakarak, bunun yerine uygulamaların sunduğu hizmetlere ve konuştukları protokollere odaklanmaktadır.
Alt konular
Temel sorular
- Ağ uygulamaları nasıl yapılandırılmıştır — istemci-sunucuya karşı eşler arası — ve bunların avantajları/dezavantajları nelerdir?
- HTTP ve SMTP gibi temel uygulama protokolleri mesaj formatlarını ve etkileşimleri nasıl tanımlar?
- Alan Adı Sistemi, adları adreslere ölçeklenebilir, dağıtılmış bir şekilde nasıl çevirir?
- İçerik dağıtım ağları, içeriği kullanıcılara yakın yerlerde çoğaltarak gecikmeyi ve yükü nasıl azaltır?
- Ağa bağlı uygulamalar hangi güvenlik özelliklerini — gizlilik, bütünlük, kimlik doğrulama — sağlamalıdır ve nasıl?
Anahtar kavramlar
- istemci-sunucu mimarisi
- eşler arası mimari
- HTTP ve web
- e-posta protokolleri (SMTP, IMAP)
- Alan Adı Sistemi (DNS)
- DNS önbellekleme ve hiyerarşi
- içerik dağıtım ağları (CDN'ler)
- soketler ve uygulama API'leri
- gizlilik, bütünlük ve kimlik doğrulama
- taşıma katmanı güvenliği (TLS)
Temel kuramlar
- İstemci-sunucu ve eşler arası mimariler
- Uygulamalar, ya istemcilerin iletişim kurduğu her zaman açık sunucular etrafında düzenlenir ki bu yönetimi merkezileştirir ancak yükü yoğunlaştırır, ya da katılımcı ana bilgisayarların hem talep ettiği hem de hizmet verdiği eşler arası sistemler olarak düzenlenir ki bu kullanıcı popülasyonuyla ölçeklenir ancak yönetimi ve güvenliği karmaşıklaştırır.
- Hiyerarşik, dağıtılmış adlandırma (DNS)
- Alan Adı Sistemi, adları adreslere, yetkilendirilmiş yetkili sunucuların hiyerarşisi ve agresif önbellekleme aracılığıyla çözerek, hiçbir tek bir kuruluşun uçtan uca kontrol etmediği ölçeklenebilir, dayanıklı bir arama hizmeti sağlamaktadır.
- İçerik çoğaltma ve dağıtımı
- İçerik dağıtım ağları, içeriğin kopyalarını kullanıcılara yakın sunuculara yerleştirir ve her isteği iyi bir kopyaya yönlendirerek gecikmeyi, kaynak sunucu yükünü ve omurga trafiğini azaltır — bu, büyük ölçekli web ve akış hizmetlerinin iyi performans göstermesinin temel nedenlerinden biridir.
Klinik önem
Uygulama katmanı, kullanıcıların aslında deneyimlediği şeydir: web, akış ortamı, mesajlaşma ve bulut hizmetleri hepsi burada yer almaktadır. DNS, neredeyse her çevrimiçi etkileşim için kritik bir bağımlılıktır ve buradaki kesintiler geniş çapta yayılabilmektedir. İçerik dağıtım ağları, İnternet trafiğinin büyük bir kısmını taşımakta ve video ile yazılımı büyük ölçekte sunmada merkezi bir rol oynamaktadır; TLS aracılığıyla uygulama katmanı güvenliği ise günlük iletişimin gizliliğini ve bütünlüğünü korumaktadır.
Tarihçe
İlk İnternet uygulamaları e-posta ve dosya transferiydi; Tim Berners-Lee tarafından 1990 civarında HTTP ve HTML ile icat edilen World Wide Web, İnternet'i bir kitle iletişim aracına dönüştürmüştür. Alan Adı Sistemi (Mockapetris, 1980'lerin ortaları), düz bir ana bilgisayar adları dosyasını ölçeklenebilir dağıtılmış bir dizinle değiştirmiştir. İçerik dağıtım ağları, web büyümesiyle başa çıkmak için 1990'ların sonlarında ortaya çıkmış ve uygulama katmanı şifrelemesi, iletişimi güvence altına almak için SSL'den TLS'ye evrilmiştir.
Tartışmalar
- Merkezi istemci-sunucu bulut hizmetleri ile merkezi olmayan eşler arası sistemler
- Merkezi bulut mimarileri yönetilebilirlik ve tutarlı performans sunarken, kontrolü yoğunlaştırır ve tek hata noktaları oluşturur; eşler arası ve merkezi olmayan tasarımlar ise yükü ve kontrolü karmaşıklık pahasına dağıtır; bu denge dosya paylaşımı, içerik teslimi ve ortaya çıkan merkezi olmayan web çabalarında tekrar etmektedir.
Öne çıkan isimler
- Tim Berners-Lee
- Paul Mockapetris
- Roy Fielding
- Jon Postel
İlgili konular
Temel eserler
- kurose2021
- rfc9110
- rfc1035
Sıkça sorulan sorular
- Alan Adı Sistemi ne işe yarar?
- DNS, example.com gibi insan dostu adları, ağ katmanının paketleri yönlendirmek için ihtiyaç duyduğu IP adreslerine çevirir. Önbellekleme özelliğine sahip dağıtılmış, hiyerarşik bir veritabanıdır, bu sayede aramalar hızlıdır ve sistem, tüm adları tek bir sunucunun tutmasına gerek kalmadan tüm İnternet'e ölçeklenebilir.
- Bir içerik dağıtım ağı web'i nasıl hızlandırır?
- Bir CDN, içeriğin kopyalarını dünya çapında yayılmış birçok sunucuda depolar ve her kullanıcının isteğini yakındaki bir kopyaya yönlendirir. Bu, ağ yolunu kısaltarak gecikmeyi ve paket kaybını azaltırken, aynı zamanda kaynak sunucunun yükünü hafifletir ve uzun mesafeli trafiği azaltır; bunların hepsi birlikte hızı ve güvenilirliği artırır.