İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

Portlar ve Soketler

Giriş

Host cihazındaki bir TCP üst-katman kullanıcısı bir port numarası ile tanımlanır. Port değeri IP internet adresi ile birleşerek bir soket oluşturur. Bu değer internet boyunca tek olmalıdır. Bir soket çifti her bir uç-nokta bağlantısını tek olarak tanımlar. Örneğin,

Gönderici soket = kaynak IP adresi + kaynak port numarası 
 Alıcı soket = varış IP adresi + varış port numarası 

Portları yüksek-katman işlemleri için haritalamak bir host'un iç sorunu olarak ele alınsa da, Internet sıklıkla kullanılan yüksek-katman işlemlerinin numaralarını yayınlar. Tablo 9-1'de yaygın kullanılan port numaraları; isimleri ve tanımları ile birlikte listelenmiştir.

TCP sıklıkla kullanılan portlar için özel numaralar saptamasına rağmen, 255'in üzerindeki değerler özel olarak kullanılabilir. 255'in üzerindeki değerlerin daha-az anlamlı 8-biti 0'a set edilmiştir ve organizasyonlar bunları istedikleri yönde kullanırlar. 0-255 arası numaralar her zaman rezervedir.

Port atama ve port sağlama örnekleri

Şekil 9-2'de iki host arasında port numaralarının nasıl atandığı ve yönetildiği görülmektedir. Birinci olayda, A host'u, C host'una bir TCP segmenti gönderir. Bu segment bir yüksek-seviye prosesi ile haberleşmek için bir TCP bağlantısı isteğidir. Burada SMTP'ye atanmış port 25 istenmektedir. Varış port değeri 25 olarak sabitlenmiştir. Ancak, kaynak port tanımlayıcısı bölgesel bir sorundur. Bir host cihazı iç işlemleri için herhangi bir uygun numara seçebilir. İkinci bağlantı ise, (şekilde 2 rakamı ile gösterildi) SMTP'yi kullanmak üzere C host'una yapılmıştır. Neticede, varış portu 25 aynıdır. Kaynak port tanımlayıcısı farklıdır; bu durumda 401'e set edilmiştir. SMTP erişimi için iki farklı numaranın kullanılması A host'u ve C host'undaki iki oturum arasında bir karışıklık olmasını engeller.

Şekil 9-3'de, Şekil 9-2'deki iki segmentin nasıl bağlantı kurduğu gösterilmektedir. A ve C host'ları tipik olarak TCP bağlantıları ile ilgili bilgileri port tablolarında saklarlar. Dikkat edilirse bu tabloların kaynak ve varış değerleri arasında ters bir ilişki vardır. A host'unun port tablosunda, kaynaklar 400 ve 401, ve iki varış da 25'dir. C host'unda ise iki kaynak da 25, ve varışlar 400 ve 401'dir. Bu suretle, TCP modülleri ileri ve geri haberleşebilmek için kaynak ve varış port numaralarını terslerler.

Murphy kanunları TCP için bile geçerlidir. Başka bir host'un C host'una aynı kaynak ve varış port değerleri ile bir bağlantı isteği göndermesi olasıdır. Varış port değerlerinin aynı olması olağandışı değildir. Çünkü iyi-bilinen portlara sıklıkla ulaşım isteği vardır. Bu durumda, varış portu 25 SMTP'yi tanımlayacaktır. Kaynak port tanımlayıcıları bölgesel bir olay olduğundan Şekil 9-4'te de gördüğümüz gibi B host'u kaynak portunu 400 olarak seçmiştir.

Ek bir tanımlayıcı olmaksızın, A ve C host'ları arasındaki ve B ve C host'ları arasındaki bağlantılarda çakışma olacaktır çünkü her iki bağlantı da aynı varış ve kaynak port numaralarını kullanmaktadır. Bu gibi durumlarda, C host'u datagramların IP başlıklarındaki IP adreslerini kullanarak ayrımı kolayca başarır. Bu durumda kaynak portları ikilenir ancak internet adresleri oturumları farklılaştırır.

Çoğu sistem IP adresleri ve port numaralarına ek olarak bir protokol ailesi değeri kullanarak ayrıca bir soket tanımlar. Örneğin, IP bir protokol ailesidir; DECnet de bir başkasıdır. Hangi protokol ailelerinin tanımlanacağı olayı satıcı ve işletim sistemine bağlıdır.

Çoğullamayı desteklemek üzere soketlerin kullanımı

Port numaraları birden fazla uç-nokta bağlantısı için kullanılabildiğinden, kullanıcılar bir port kaynağını eşzamanlı olarak paylaşabilir. Şöyle ki, birçok kullanıcı eşzamanlı olarak bir port üzerinde çoğullanabilir. Şekil 9-4'te, üç kullanıcı port 25'i paylaşmaktadırlar (daha sonra açıklayacağımız UDP de port çoğullamasını destekler).

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır