- Katılım
- 21 May 2023
- Mesajlar
- 743
- Tepki
- 17
- Puan
- 18
Sunucu yapılandırmasında sürekli sayılar geçiyor: 80, 443, 3306. Bu sayıların adı port ve işlevleri tek bir soruyu yanıtlamak: aynı makineye gelen istek, hangi hizmete teslim edilecek?
Aşağıda port numarasının protokoldeki işlevini, bağlantının nasıl tanımlandığını, numara aralıklarının nasıl bölündüğünü ve kayıt sürecinin ne anlama geldiğini standart belgelere bakarak topluyoruz.
Port ne işe yarıyor?
RFC 9293, aktarım protokolünü tanımlayan belge, işlevi tek cümlede veriyor: protokol, uygulama hizmetlerini tanımlamak ve makineler arasındaki ayrı akışları çoğullamak için port numaralarını kullanıyor.
İki iş birden yapılıyor. Birincisi kimlik: gelen isteğin hangi hizmete ait olduğu numaradan anlaşılıyor.
İkincisi ayrıştırma: aynı iki makine arasında eşzamanlı birden çok bağlantı olabiliyor ve bunlar birbirine karışmadan taşınıyor.
- Kimlik: Hangi uygulama hizmeti.
- Çoğullama: Ayrı akışların birbirine karışmaması.
- Konum: Aktarım katmanı.
Bağlantı neyle tanımlanıyor?
Belgenin sözlüğü bağlantıyı şöyle tanımlıyor: bir çift yuva (socket) tarafından tanımlanan mantıksal iletişim yolu.
Yuva kavramı adresle portu birleştiriyor; yani bir uçtaki kimlik hem makinenin adresini hem hizmetin numarasını içeriyor.
Belge yerel bağlantı adının kullanıcıya döndürüldüğünü ve bunun yerel yuva ile uzak yuva çiftiyle tanımlanan bağlantı için kısaltma olarak kullanılabildiğini de anlatıyor.
Bu tanım, "port kapalı" ya da "port dinleniyor" ifadelerinin neye karşılık geldiğini de açıklıyor: dinleyen taraf, belirli bir numara üzerinden gelecek bağlantıları bekliyor.
Püf nokta' Alıntı:Bir bağlantıyı tek başına adres değil, adres ve port çiftlerinin oluşturduğu ikili tanımlıyor.
Numaralar nasıl bölünmüş?
IANA'nın hizmet adı ve port numarası kaydı aralıkları üçe ayırıyor.
Sistem portları 0 ile 1023 arasında. Kullanıcı portları 1024 ile 49151 arasında. Devingen ve özel portlar ise 49152 ile 65535 arasında yer alıyor.
Kayıt farkı da belirtiliyor: sistem portları daha sıkı bir onay süreciyle atanıyor, kullanıcı portları uzman incelemesi gibi süreçlerle veriliyor, devingen portlar ise hiç atanmıyor.
IANA bir uyarı da ekliyor: atanmış portlar, hem sistem hem kullanıcı portları, kayıt yapılmadan veya kayıttan önce kullanılmamalı.
Hizmet adı ne anlama geliyor?
Kayıt yalnız numaralardan ibaret değil; hizmet adları da tutuluyor. IANA'ya göre hizmet adları ve port numaraları, aktarım protokolleri üzerinde çalışan farklı hizmetleri birbirinden ayırt etmek için kullanılıyor.
Hizmet adlarının atanma yöntemi de belirtilmiş: ilk gelen alır esasına göre veriliyor.
Kayıt sisteminin kapsamı da geniş; farklı aktarım protokolleri için ayrı uzmanlar tarafından yürütülüyor.
Bir sınır da konmuş: bir port numarasının atanması, hiçbir biçimde bir uygulamanın ya da ürünün onaylandığı anlamına gelmiyor.
Neden 65535'te bitiyor?
Numara uzayının sınırı protokolün başlık yapısından geliyor. Port alanı sabit uzunlukta olduğu için alabileceği en büyük değer de baştan belli.
Bu sınır, aralıkların neden bu kadar dikkatli bölündüğünü açıklıyor. Sistem portları kısıtlı bir bölge; her yeni hizmet için oradan numara ayırmak mümkün değil.
Kullanıcı portlarının daha geniş tutulması da aynı sebeple. Yaygın kullanılan uygulama hizmetlerinin çoğu bu aralıkta yer alıyor.
Aynı numarayı iki hizmet kullanabilir mi?
Bir makinede aynı anda aynı port üzerinden iki farklı hizmet dinleme yapamıyor; bağlantıyı tanımlayan yuva çiftinin benzersiz olması gerekiyor.
Buna karşılık aynı numara farklı makinelerde serbestçe kullanılabiliyor. Adres farklı olduğu için yuva da farklı oluyor.
Aynı mantık, tek bir hizmetin çok sayıda eşzamanlı bağlantı kabul etmesini de açıklıyor: sunucu tarafındaki numara sabit kalırken, istemci tarafındaki geçici numaralar her bağlantıda değişiyor.
Bu yüzden "port doldu" biçiminde tarif edilen sorunlar genellikle sunucu portuyla değil, geçici numaraların ya da bağlantı tablosunun sınırlarıyla ilgili oluyor.
Pratikte ne işe yarıyor?
Standart aralıklar, güvenlik duvarı kurallarını ve sunucu yapılandırmasını okunabilir kılıyor. Bir numaranın hangi aralıkta olduğu, onun ne tür bir hizmete ait olabileceğini gösteriyor.
Aynı bilgi teşhiste de kullanılıyor: bir hizmete erişilemiyorsa sorunun adres tarafında mı yoksa port tarafında mı olduğu ayrı ayrı sınanabiliyor.
Devingen aralığın atanmamış olması da bilinçli. İstemci tarafı geçici bağlantılar için bu aralıktan numara kullanıyor ve bu numaraların kalıcı bir anlamı olmuyor.
Sunucunun yanıt vermediği durumları 503 hatası yazımızda, trafiği denetleyen katmanı firewall yazımızda ele almıştık.
Sunucunun protokoldeki tanımını ise sunucu yazımızda anlatmıştık.
Sık Sorulan Sorular
Port ne demek?
Uygulama hizmetlerini tanımlamak ve makineler arasındaki ayrı akışları çoğullamak için kullanılan numara.
Bağlantı neyle tanımlanıyor?
Belgenin sözlüğüne göre bir çift yuvayla; yuva adres ile portu birleştiriyor.
Aralıklar neler?
Sistem portları 0-1023, kullanıcı portları 1024-49151, devingen ve özel portlar 49152-65535.
Her port kayıtlı mı?
Devingen portlar atanmıyor; sistem ve kullanıcı portları kayıt yapılmadan kullanılmamalı.
Kayıt bir onay mı?
Hayır. IANA, atamanın bir uygulama veya ürün onayı anlamına gelmediğini belirtiyor.
Özetle
Port, aynı makinedeki hizmetleri birbirinden ayıran ve eşzamanlı akışları çoğullayan numara. Bağlantı, adres ve port çiftlerinden oluşan iki yuvayla tanımlanıyor. Numara uzayı üç aralığa bölünmüş: sistem, kullanıcı ve devingen. İlk ikisi kayıtla, sonuncusu geçici kullanım için ayrılmış durumda.
Sunucunuzda dışarıya açık olan portların listesini en son ne zaman gözden geçirdiniz?
Güncelleme: 3 Eylül 2026. RFC 9293 ve IANA hizmet adı ile port numarası kaydı kontrol edildi.
Dijital Dünyanıza Yön Veren Pusula