Açıkçası, liman kelimesinin en yaygın kullanımı nakliye anlamına gelir. Ancak bilgi işlem, bağlantı noktası terimini de kullanır. Aslında, iki kullanımı vardır. Birincisi, bir kablonun takılabileceği soketi ifade eder. Tipik örnekler, bir USB veya ethernet bağlantı noktasını içerir. Teknik olarak, bir ethernet soketi bir ağ bağlantı noktası olarak düşünülebilir. Ağda port kelimesinin kabul edilen anlamı bu değildir. Ağ bağlantı noktası, hangi işlem veya ağ hizmeti ağ trafiğinin amaçlandığını veya hangi tarafından gönderildiğini tanımlayan mantıksal bir sayıdır.
Port Numaraları Neden Gereklidir?
Bilgisayarınız internet üzerinden bir web sunucusu ile haberleştiğinde gönderici alanına IP adresini koyar. Bu, sunucunun yanıtı hangi IP adresine göndermesi gerektiğini bilmesini sağlar. Bu yanıt bilgisayarınıza döndüğünde, tarayıcınız yanıtı yorumlar ve web sayfasını oluşturur.
Bu, ağ trafiği oluşturan ve alan tek parça yazılım ile idealleştirilmiş bir sistemde iyi çalışır. Gerçek dünya öyle değil ama. Herhangi bir bilgisayarda, ağ trafiği yapan bir dizi yazılım vardır. Ağ trafiğinin doğru programa doğru bir şekilde teslim edilmesini sağlamak için, bazı durumlarda bir programda doğru işlem. Son bir adresleme katmanı, port numarası olarak kullanılır.
İki sekmenin açık olduğu bir web tarayıcısına ve aynı anda çevrimiçi bir video oyununa sahip olduğunuzu hayal edin. Her tarayıcı sekmesi, potansiyel olarak aynı anda ağ trafiğini gönderip alabilmelidir. Çevrimiçi oyunun ayrıca ağ trafiğini hem göndermesi hem de alması gerekir. Oyununuzun rastgele web yanıtlarını filtrelemesini ve tarayıcınızın oyun trafiğinizi filtrelemesini de istemezsiniz. Hedeflenen alıcı işleminin kolayca belirlenebilmesi için hem sekmelere hem de oyuna en az bir ağ bağlantı noktası atanacaktır.
Aynısı sunucular için de geçerlidir. Hem web sunucusu hem de e-posta sunucusu çalıştıran bir sunucunuz olduğunu varsayalım. Bu durumda, bağlantı noktası numarası, işletim sisteminin hangi ağ paketlerinin hangi hizmet için olduğunu kolayca ayırt etmesini sağlar.
Bağlantı Noktası Numaraları Nedir?
Bağlantı noktası numaraları, 16 bitlik işaretsiz bir tam sayı biçimini alır. Bu, sayıları oluşturan on altı ikili bit olduğu, negatif sayılar olmadığı ve tüm sayıların tam olduğu anlamına gelir. Bu, 0 ile 65535 arasında değişen 65536 olası bağlantı noktası numarasına izin verir. Fiziksel bir port sistemi yoktur.
IP adresleri ve MAC adreslerinde olduğu gibi tüm adresleme şeması tamamen mantıklıdır. IP ve MAC adreslerini, mektubu evinize/bilgisayarınıza ulaştırmak için bir mektuptaki adres olarak düşünebilirsiniz. Bu benzetmede, bağlantı noktası numarası zarfın üzerindeki ad gibi olur ve evinizde/bilgisayarınızda doğru kişiye/işleme ulaştığından emin olur.
Bağlantı noktası numarası alanı içinde başka bir yapı vardır. 0 numaralı bağlantı noktası ayrılmıştır. TCP trafiğinde 0 tamamen kullanılmaz. UDP trafiğinde, bağlantı noktası numarası isteğe bağlıdır ve 0 bağlantı noktası "bağlantı noktası yok" anlamına gelir. Bu, UDP için işe yarar çünkü mutlaka bir yanıt beklemeyen durumsuz bir protokoldür. TCP ve UDP bağlantı noktaları ayrıdır. Bir hizmet, bir veya her iki protokoldeki bir veya daha fazla bağlantı noktasına bağlanabilir. Her ikisini de kullanan hizmetler, genellikle TCP ve UDP'deki aynı bağlantı noktası numaralarına eklenir.
1-1023 numaralı bağlantı noktaları "iyi bilinen" bağlantı noktaları olarak bilinir ve genellikle bağlanmak için yönetici izinleri gerektirir. Bazı iyi bilinen bağlantı noktaları HTTP için 80, HTTPS için 443 ve DNS için 53'tür. Ardından, 1024 – 49151 aralığına sahipsiniz. Bunlar "kayıtlı" bağlantı noktaları olarak bilinir. Bunlar, belirli hizmetler tarafından düzenli olarak kullanılan bağlantı noktalarıdır, ancak bu, 1023'ün altında bir sayı almak için yeterince yaygın değildir veya yeterince erken değildir. 49152 ile 65535 arasındaki bağlantı noktaları, geçici bağlantı noktaları olarak bilinir.
Port Numaralarının Kullanımı
İnternet Tahsisli Numaralar Kurumu olan IANA, iyi bilinen ve kayıtlı bağlantı noktası listelerini tutar. İyi bilinen bağlantı noktaları, bunlarla ilişkili yalnızca bir hizmete sahiptir. Ancak kayıtlı bağlantı noktaları, varsayılan olarak bağlantı noktasını kullanan bir dizi bilinen hizmete sahip olabilir.
Genel olarak, hiçbir programın herhangi bir bağlantı noktası numarasına bağlanmasını durduran hiçbir şey yoktur. Yukarıda belirtildiği gibi, 1024'ün altındaki bağlantı noktası numaraları, bağlanmak için yönetici veya kök izinleri gerektirme eğilimindedir. Yine de, herhangi bir hizmeti, örneğin bir web sunucusu olmasa bile 80 numaralı bağlantı noktasına bağlanmaya zorlayabilirsiniz. İyi bilinen ve kayıtlı aralıklardaki bağlantı noktası numaraları, genellikle bağlantıları başlatmak için kullanılan geçici bağlantı noktalarıyla birlikte yalnızca ağ dinleyicileri tarafından kullanılır.
Dinleyici, açılan ve açık bırakılan bir bağlantı noktasıdır. Mesajları dinler, böylece onları işleyebilir ve yanıt gönderebilir. Bu, neredeyse yalnızca bir web sunucusu gibi sunucu tipi hizmetlerin davranışıdır. Web sunucusu 80 ve 443 numaralı bağlantı noktalarında barındırılırken, bu bağlantı noktalarına bağlanan bir tarayıcı yerel olarak geçici bir bağlantı noktası kullanır.
Uygulama dinleyicileri için standart bağlantı noktası numaraları, bir hizmete gerçekten nasıl bağlanılacağını bilmenin kolay olduğu anlamına gelir. Örneğin, bir URL'nin önüne HTTPS koyduğunuzda, tarayıcınız varsayılan olarak 443 numaralı bağlantı noktasına bağlanması gerektiğini varsayar. Bazı durumlarda, dinleyiciler alternatif bağlantı noktalarında kurulacaktır. Bunun nedeni, başka bir hizmetin veya hizmetin sürümünün zaten standart bağlantı noktasını kullanması olabilir. Ayrıca belirsizlik yoluyla güvenlik girişimi olabilir.
Çözüm
Ağ bağlantı noktası, mantıksal bir adrestir. Yazılım bir bağlantı noktasına bağlanabilir, böylece işletim sistemi, o bağlantı noktasına gönderilen tüm trafiğin bu işlem için olduğunu bilir. Bağlantı noktası numaraları 0 ile 65535 arasında değişir. Birçok hizmet standart bir bağlantı noktası numarasıyla ilişkilendirilir. Sunucular bu portları kullanırken bunlara bağlanan cihazlar rastgele yüksek sayıda port kullanır. Bu, hizmetlere varsayılan olarak kolay bağlantı sağlar ve böyle bir hizmete bağlanmanın başka bir hizmeti kendiniz barındırmanızı engellememesini sağlar.