Forum'da ara:
Ara


« Önceki başlık :: Sonraki başlık »  
Yazar Mesaj
Mesaj08.09.2008, 15:08 (UTC)    
Mesaj konusu: Por nedir - geniş açıklama

Port Nedir?


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.


INETD (Süper Sunucu):

Bilgisayar ilk açıldığında üzerinde çalışan sunucu programlar otomatik
olarak açılış dosyalarından çalıştırılabildiği gibi genel kullanım biraz daha
farklıdır.

Değişik "port" ları dinleyen birçok sunucu programın, hiçbir istemciye
cevap vermediği durumda bile, birçok sistem kaynağını gereksiz yere kullandığı
düşünülerek, "inetd" adında istemcilerle diğer sunucu programlar arasında
koordinasyonu sağlayan bir sunucu program düşünülmüştür. Açılış dosyalarından
da başlatılabilen bu sunucu tek başına bütün "port" ları dinler ve herhangi
birisine istek geldiği zaman aşağıdaki prosedürü takip eder:

1- /etc/services dosyasından ilgili "port" a hizmet veren servis ismini
bulur.
2- konfigürasyon dosyası olan "/etc/inetd.conf" dan bu servis için gelen
isteğe nasıl cevap vereceğini belirler ve gerekli programı çalıştırır.
3- bir istek geldiği zaman tekrar 1'e döner.

Bir örnekle anlatmadan önce tipik bir "/etc/services" ve "/etc/inetd.conf"
dosyasının içeriğine bakalım.

<"/etc/services">

tcpmux 1/tcp
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
chargen 19/tcp ttytst source
chargen 19/udp ttytst source
ftp-data 20/tcp
ftp 21/tcp
telnet 23/tcp
ktelnet 1023/tcp #Added by AS 5/5/98
smtp 25/tcp mail
time 37/tcp timserver
time 37/udp timserver
name 42/udp nameserver
whois 43/tcp nicname # usually to sri-nic
Önceki mesajları göster:   


Powered by phpBB © 2001, 2005 phpBB Group
Türkçe Çeviri: phpBB Türkiye & Erdem Çorapçıoğlu