Ara

26 Şubat 2009 Perşembe

4.Hafta

Port Nedir? (4.Katman)

Bilgisayar ve telekomünikasyon dünyasında, "port" denildiği zaman akla ilk
gelen genellikle fiziksel bağlantıda kullanılan ara birimlerdir. Bu tür "port"
lar üzerinden bağlanmış herhangi bir makinaya "data" gönderilebilir ve bu
makinanın işleyişi kontrol edilebilir. Örneğin, tipik bir bilgisayarda bir veya
birden fazla "seri port" bir tane de "paralel port" bulunur. Adından da
anlaşılacağı gibi "seri port" dan bilgiler seri (her defasında bir bit) olarak
gönderilir ve bu tür "port" lara genellikle tarayıcı (scanner) gibi cihazlar
takılır. Her defasında birden çok bit göndermek içinse "paralel port" kullanı-
lır. Bu tip "port" lara da yazıcı (printer) veya "paralel port" bağlantısı olan
herhangi bir cihaz takılabilir.

Bizi ilgilendiren ve çoğunlukla İnternet dünyasında kullanılan "port"
kavramı ise yukardaki tanımdan biraz daha soyut bir kavramdir. Bu anlamda "port" (ki dokümainin sonuna kadar "port" bu anlamda kullanılacaktir) herhangi bir fiziksel bağlantı yeri değil, mantıksal bir bağlanma şeklidir. Şöyle ki:

Günümüz dünyasında birçok işletim sistemi birden fazla programın aynı anda
çalışmasına izin vermektedir. Bu programlardan bazıları dışarıdan gelen
istekleri (istemci-client/request) kabul etmekte ve uygun gördüklerine cevap
(sunucu-server/response) vermektedir. Sunucu programları çalışan bilgisayarlara birer adres verilir (bknz. IP adresleri) ve bu adresler kullanılarak istenilen bilgisayarlara ulaşılır. Peki, ulaşılan bir bilgisayar üzerindeki hangi sunucu programdan hizmet alınmak istendiği nasıl belirtilir?

Bunun için bilgisayarlar üzerinde birtakım soyut bağlantı noktaları
tanımlanır ve herbirine, adresleyebilmek için positif bir sayı verilir (port
numarası). Bazı sunucu programları, daha önce herkes tarafından bilinen "port"
lardan hizmet verirken (örn: telnet->23. port) bazıları da sunucu programını
çalıştıran kişinin türüne ve isteğine göre değişik "port" lardan hizmet verir.
Dolayısıyla, ağ üzerindeki herhangi bir sunucu programa bağlanmak istenildiğin-
de, programın çalıştığı bilgisayarın adresinin yanında istekleri kabul ettiği
"port" numarasını da vermek gerekir. Örnek verecek olursak:

144.122.156.104 "IP" adresine sahip makinada (orca) çalışan "telnet"
sunucu programına (23. "port" dan hizmet veren) bağlanmak için aşağıdaki satır
yazılır.

telnet 144.122.156.104 23

Daha önce de belirttiğimiz gibi bazı sunucu programların belirli "port"
lardan hizmet verdiği bilindiği için, bu sunuculara bağlanmak istediğimizde,
"port" numarasını vermeye gerek kalmaz. Bu durumda yukardaki satır

telnet 144.122.156.104 şeklinde de yazılabilir.

Kullanıcı Veri Birimi Protokolü (UDP)

Kullanıcı Datagram Protokolü (UDP), RFC 768 "User Datagram Protocol (UDP)" belgesinde tanımlanan bir TCP/IP standardıdır. TCP/IP ana bilgisayarları arasında hızlı, az yükle ve düşük güvenilirlikli veri taşıma için bazı programlar tarafından TCP yerine UDP kullanılmaktadır.

UDP bağlanma gerektirmeyen ve herhangi bir veri biriminin teslimini veya sıralı oluşunu garanti etmeyen bir en iyi performans teslim hizmeti sunar. Güvenilir iletişime gereksinim duyan bir kaynak ana bilgisayar, TCP hizmetini veya kendi sıraya koyma ve alındı bildirimi hizmetlerini sağlayan bir program kullanmak zorundadır.

Aşağıdaki resimde gösterildiği gibi UDP iletileri IP veri birimlerine yerleştirilip gönderilir.

IP datagramına UDP katma

UDP bağlantı noktaları

UDP bağlantı noktaları, UDP iletilerinin gönderilmesi ve alınması için bir konum sağlarlar. UDP bağlantı noktaları, her protokol bağlantı noktasıyla belirtilen programa yönelik tüm veri birimlerinin alınması için tek bir ileti sırası işlevini görür. Bunun anlamı UDP tabanlı programların aynı anda birden çok ileti alabilmesidir.

UDP kullanan her programın sunucu yanı kendilerine ayrılan bağlantı noktalarında gelecek iletileri bekler. 1,024 değerinden küçük (ve bazı daha büyük) UDP sunucu bağlantı noktası numaraları Internet Atanmış Numaralar Yetkilisi (IANA) tarafından ayrılmış ve kayıt altına alınmıştır.

Her UDP sunucu bağlantı noktası ayrılmış veya iyi bilinen bir bağlantı noktası numarasıyla tanıtılır. Aşağıdaki tabloda standart UDP tabanlı programların kullandığı bazı iyi bilinen UDP sunucu bağlantı noktaları gösterilmiştir.

UDP bağlantı noktası numarası Açıklama

53

DNS ad sorguları

69

Basit Dosya Aktarım Protokolü (TFTP)

137

NetBIOS ad hizmeti

138

NetBIOS veri birimi hizmeti

161

Basit Ağ Yönetimi Protokolü (SNMP)

520

Yönlendirme Bilgisi Protokolü (RIP)

UDP ve TCP

Genelde UDP ile TCP’nin veri teslim yöntemleri arasındaki fark telefonla aramayla postayla kart gönderme arasındaki farka benzer. TCP hedefin erişilebilir ve iletişime hazır olduğunu doğrulayarak bir telefon çağrısı gibi çalışır. UDP ise kart gibi işler; iletiler küçüktür ve teslimat büyük olasılıkla gerçekleşir fakat bu asla garanti edilemez.

UDP genelde bir seferde küçük miktarlarda veri ileten veya gerçek zamanlı işlemlere gereksinim duyan programlar tarafından kullanılır. Bu durumlarda UDP’nin düşük üstbilgi yükü ve çok noktaya yayın yetenekleri (örneğin bir veri birimi için birden çok alıcı) TCP’den daha elverişlidir.

UDP, TCP’nin sağladığı hizmet ve özelliklerle tam karşıttır. Aşağıdaki tabloda verilerin taşınmasında UDP veya TCP kullanılmasına bağlı olarak TCP/IP iletişiminin nasıl işlendiği gösterilmektedir.

UDP TCP

Bağlanma olmadan verilen hizmet; ana bilgisayarlar arasında oturum açılmaz.

Bağlanarak verilen hizmet; ana bilgisayarlar arasında oturum açılır.

UDP verilerin sırasını veya teslimini garanti etmez veya doğrulamaz.

TCP, doğrulamayla verinin hedefe ulaşmasını ve verilerin sıralı teslimini garanti altına alır.

UDP kullanan programlar verilerin taşınması için gerekli güvenilirliği kendileri sağlamak zorundadır.

TCP kullanan programlara güvenli veri taşıma garantisi sağlanır.

UDP hızlıdır, ek yükü azdır, noktadan noktaya ve noktan birden çok noktaya iletişimi destekleyebilir.

TCP daha yavaştır, ek yükü fazladır ve yalnızca noktadan noktaya iletişimi destekler.

UDP de, TCP de, her TCP/IP programı için iletişimi tanımlamak üzer bağlantı noktalarını kullanır.

arP - Adres Çözümleme Protokolü

IP yığınında, adres çözümlemesi yapan protokoller vardır. Adres çözümleme protokolü (ARP) IP adreslerinin fiziksel adreslere dönüştürülmesi sağlar ve bu fiziksel adresleri üst katmanlardan gizler.

Genelde ARP, ARP belleği olarak bilinen haritalama tabloları ile çalışır. Tablo, bir IP adres ile bir fiziksel adres arasında haritalama yapılmasını sağlar. Bir LAN’da (Ethernet veya IEEE 802 ağı gibi), ARP hedef IP adresini alır ve haritalama tablosundan bunun karşıladığı hedef fiziksel adresi arar. Eğer ARP adresi bulursa, bulduğu fiziksel adresi; isteği yapan cihaza yollar.

Gerekli adres ARP belleğinden bulunamazsa, ARP modülü ağa bir yayın yapar. Yayına ARP request denir. Bu yayın bir IP hedef adresi içerir. Netice olarak yayını alan cihazlardan biri ARP request’teki IP adresinin kendisine ait olduğunu sezerse, isteği yapan host’a bir ARP reply gönderir. Bu çerçeve, sorgulanan host’un fiziksel donanım adresini içerir. İsteği yapan host bu çerçeveyi alınca onu kendi ARP belleğine yerleştirir. Daha sonra, bu belirli IP adresine gönderilecek datagramlar belleğe başvurularak fiziksel adrese dönüştürülebilir. Sonuç olarak ARP sistemi isteği yapan host’un, başka bir host’un fiziksel adresini, onun IP adresi ile bulmasına olanak sağlar.

ARP isteği ve cevabı kavramları Şekil 5’de gösterilmiştir. A host’u C’nin fiziksel adresini bulmak istemektedir. A bu yüzden B, C, D’ye datagram yayınlar. Bu yayına yalnızca C cevap verir çünkü gelen ARP istek datagramında kendi IP adresinin olduğunu görür. C host’u kendi adresini ARP cevabı formunda bir IP datagramına yerleştirir.

Şekil 5-ARP İsteği ve Cevabı

ARP, IP adreslerini fiziksel adreslere haritalaması yanında, özel donanım tiplerinin tanımlanmasına da izin verir. Böylece sorgulanan host ARP datagramı alınca, datagramdaki bir alana bakarak, cihazın hangi tipte bir donanım kullandığını (bir Ethernet arabirimi veya paket radyo gibi) anlayabilir.

directed ARP (DARP)

Aynı link seviye arayüzü aracılığıyla iki IP ağında arayüzü bulunan bir yönlendirici, bu iki IP ağının aynı link düzeyindeki ağı paylaştığını bilir ve bu bilgiyi sunuculara (ICMP Redirects yoluyla) ve yönlendiricilere ( dinamik routing protokolleri yoluyla) bildirir Ama, herhangi bir taraftaki IP ağındaki sunucu veya yönlendirici, yabancı IP ağdaki IP adreslerine kendine uygun link düzey adreslerine çevirebildiği sürece bu bilgiyi diğer ağdaki sunucular ve yönlendiricilerle iletişim için kullanmaz. DARP, sunuculara ve yönlendiricilere, bildirilen, potansiyel geçiş IP adreslerinin , link düzey adresleri birleştirilen yabancı ağlarda çözümü için imkan tanıyan dinamik bir adres çözümleme prosedürüdür. DARP, normal ARP paket formatını kullanır.