Uygulama
Katmanı ve Protokolleri
Yönlendirme
Katmanı Protokolleri
Ulaşım ve alışveriş hayatın ayrılamaz bir parçasıdır. Hergün işimizi görmek ve çeşitli ihtiyaçlarımızı karşılamak için evimizden işimize, okula v.b. başka mekanlara ulaşmak zorundayız. Bunu yaparken önce gideceğimiz adresin mahallesini sonra sokağını ve daha sonra da binasını buluruz. Bu örnekte açıklandığı gibi uymamız gereken birtakım kurallar vardır. Bu kuralların tümünü ulaşımın yolu yordamı olarak isimlendirmek mümkündür.
Gerçek dünyada olduğu gibi sanal dünyada her PC sahibi kendi makinasında bulunmayan bilgilere başka makinalara bağlanmak suretiyle ulaşmak ve bilgi alışverişinde bulunmak ister. Bunun için PC’ler birbirlerine bağlanır, LAN(Local Area Network) oluşur ve LAN’lar birbirine bağlanır WAN(Wide Area Network) oluşturulur. Neticede bütün bu ağlara uzaktan PC kullanıcılarının da katılmasıyla internet dediğimiz kavram ortaya çıkar. Bu kavram beraberinde TCP/IP dediğimiz kavramı ortaya çıkarmıştır.
TCP/IP, (Transmission Control Protocol/Internet Protocol) ifadesinin kısaltmasıdır ve bilgisayarlar arası iletişimi sağlayan internet haberleşmesini oluşturan bir kurallar bütünüdür. Bilgisayarların birbirleriyle iletişim kurabilmesi için gerekli bir protokol kümesidir. Kısaca bilgisayarlar arası ulaşımın ve bilgi alışverişinin yolu yordamı olarak ifade edilebilir.
İnternet ağ mimarisi katmanlı yapıdadır ve temel dört katman vardır. Bilgisayarlar arası iletişim için gerekli bütün iş bu dört katman tarafından yürütülür. Her katmanda yapılacak görevler protokoller tarafından bölüşülmüştür. TCP ve IP farkılı katmanlarda bulunan farklı protokollerdir. Fakat ikisi birlikte TCP/IP olarak kullanıldığında bütün katmanları ve bu katmanlarda bulunan protokollerin tamamını ifade eder. Bu nedenle TCP/IP bir protokol kümesi olarak bilinir.
Şekil –2 : TCP/IP Katmanları ve bu katmanlara ilişkin örnek protokoller.
TCP/IP protokol kümesinin en üstünde uygulama katmanı bulunur. Bu katman PC kullanıcısının çalıştırmakta olduğu programlarla arka planda doğrudan etkileşim halindedir. Uygulama katmanından hemen sonra sırasıyla ulaşım katmanı, yönlendirme katmanı ve daha sonra fiziksel katman gelir.
Şekil-2‘de bu katmanlar sırasıyla göterilmiştir. Katmanlar arası işleyişi daha somut olarak canlandırmak için bir telnet programını ele alalım; kulanıcı karşısında telnet programının arayüzü bulunur, işletim sistemi arka planda uygulama katmanında bulunan telnet protokolünü işletir. Telnet uygulamasına özel olarak ayrılmış bir port numarası vardır. Bu port numarası üzerinden TCP protokol kümesi ve daha sonra yönlendirme katmanında bulunan IP protokol kümesi işletilir. En son olarak fiziksel katman devreye girer ve ethernet kartı üzerinden veri dış dünyaya iletilir.
TCP protokolünde 216 adet farklı port tanımlıdır. Bu 16 bitlik port no(veya port adres) ve 32 bitlik IP adresi beraberce kullanıldığında ortaya çıkan adrese Soket adresi denir . TCP bağlantıları soketler üzerinden sağlanır.
Soket Numarası
Port Numarası |
IP numarası |
0..255 arasındaki port numaraları standart uygulama katmanlarına erişim için kullanılmıştır. Örneğin telnet için port 23, ftp için port 21 kullanılır. Bir Windows İşletim Sisteminde bilgisayarın hangi uygulama programı için hangi port numarasını kullandığı windows dizini altındaki services dosyasından öğrenilebilir. Aynı dosya Unix/Linux makinalarda /etc/services yolunda tanımlıdır.
TCP ve IP internet protokol
kümesinin en önemli işlem basamağını oluşturur. TCP bir üst katmandan gelen
veri önüne kendi başlığını ekleyerek
veriyi TCP segmenti haline dönüştürür ve IP‘ye gönderir. O da gelen veriye IP
başlığını ekleyerek fiziksel katmana iletir. TCP/IP kümesinde bulunan
protokoller katmanlarına göre sınıflandırılır.
Uygulama katmanı için tanımlı olan
prokollar bir üst katmanda bulunan
işletim sisteminin kullanınıcıya sunduğu
program arayüzlerine hizmet verir. Kullanıcıya hizmet veren arayüz
programının türüne göre uygulama katmanında farklı protokoller çalıştırılır.
Yukarıda bahsedilen bütün protokoller istemci-sunucu mantığına göre çalışır.
Bağlanılan makinada hizmet sunan programa sunucu, bağlantı yapan ve böylelikle
hizmet alan programa da istemci denir. İstemci ve sunucu programların bilgi
transferi yapabilmesi için her iki makinada ilgili protokol programları
yüklenmiş ve gerkli ayarlar yapılmış olmalıdır. Örneğin dosya transferini
sağlayabilmek için istemci ve sunucu makinalarda ftp protokolünün kurulmuş
olması gerekir.
Ulaşım katmanı protokolları kendilerine iletilen
veriyi paketler ve bu paketin başlığına gerekli adres bilgilerini yükleyerek
veri yönlendirme katmanına iletir.
Ulaşım katmanında TCP ve UDP olmak üzere iki ayrı protokol tanımlıdır.
1-) Bir üst katmandan
gelen veriyi segment denilen parçalara böler,
yani paketler.
2-) Her parçaya sıra
numarası verir.
3-) Kaybolan yada
bozuk gelen parçaların tekrarlanmasını sağlar.
Bir TCP segmenti
aşağıdaki bilgileri içerir.
1-) Kaynak Port No :
Bir üst katmanda hizmet talep eden programın kullandığı port numarasıdır.
İstemci programların kullandığı port
numarası denilebilir.
2-) Hedef Port No : Sunucu(uzaktaki) programın
kullandığı port numarasıdır.
3-) Sıra No :
Gönderilmek üzere parçalara ayrılmış
bir paketin her bir parçasına
verilen sıra numarasıdır.
4-) Onay No : Karşı
tarafa gönderilen bilginin yerine doğru olarak ulaşıp ulaşmadığını denetlemeye
yarar.
5-) Başlık Uzunluğu :
TCP segmentinin başlık uzunluğunun kaç adet 32
bitlik veriden oluştuğunu ifade eder.
6-) Ayrılmış
Kısım(Rezerved) : İleride yapılacak
genişleme için saklı tutulmuştur.
7-) Kod Bitleri :
Kontrol bilgilerini taşımak için kullanılır.
8-) Pencere : Hedef
makinanın tampon belleğindeki kullanılabilir alanı gösterir.
9-) Hata Sınama
Bitleri (checksum) : Verinin ve başlığın hatasız iletilip iletilmediğini
kontrol için kullanılır.
10-) Acil İşaretçisi
(Urgent Pointer) : Acilen aktarımı sonlandırmak gerektiğinde kullanılır. Acil
veri hedef bilgisayarın uygulama katmanında
öncelikle değerlendiril- mesi gereken veridir.
11-) Veri (Data)
: Acilen değerlendirilmesi gereken
verinin segment içindeki yerini gösterir.
1-) Kaynak Port No :
İstemci uygulamanın kullandığı port
numarasıdır.
2-) Hedef Port No : Sunucu
uygulamanın kullandığı port numarasıdır.
3-) Uzunluk : UDP mesajının uzunluğudur.
4-) Hata Sınama Bitleri : Başlık
bilgisinin bozulup bozulmadığını
gösteren ksımdır.
Bu katmanda herhangi bir protokol tanımlı deyildir. IP başlığı oluşturulmuş bir bilgi hem kaynak bilgisayarın IP’sini hem de hedef bilgisayarın IP’sini tutar. Fakat yerel ağ içerisinde bilgi trasferi yapılacak makinaya ulaşmak için makinanın ethernet kartının MAC olarak bilinen donanım adresinin tespit edilmiş olması gerekir. Bu sebeble bir LAN içerisinde IP adresi bilinen bir bilgisayarın MAC adresini bulmak üzere ARP protokolü kullanılır. İletişime geçeceği makinanın IP adresini bilen bir bilgisayar ARP protokolü ile IP adresini ağdaki bütün bilgisayarlara gönderir. Ağdaki bilgisayarların tümü bu mesajı alır. Mesajdaki IP adresine sahip bilgisayar kendi MAC adresini karşı tarafa bildirir ve böylelikle iletişim başlar.
TCP/IP protkolünü kullanan her bilgisayar ağında IP adresi kullanılır. IP adresi 32 bitlik bir sayıdır. Bu böyle bir sayının hatırlaması ve okuması zordur bu yüzden dört baytlık adres değeri birer baytlık dört kısma ayrılır. Her bayt önce onluk(desimal) sistem değerine dönüştürülür ve sonra diğer bayt karşılıklarından nokta iaşreti ile ayrılır.
1100 0001 0000 1010 0010 0011 0000 0001
193 . 10 . 35 . 1
Yukarıda elde edilen gösterim internette kullanılan sayısal adresleden biridir. Bu gösterime parçalı desimal gösterim(Dotted Decimal Notation) denir. Her nekadar bu gösterim ikili sistemdeki gösterime nazaran daha anlaşılır olsa da kullanıcılara kolaylık sağlamak amacıyla bundan başka bir de simgesel adres gösterimi kullanılır. Örneğin www.linux.org.tr parçalı desimal adres yerine kullanılabilir bir simgesel adrestir.
Bir bilgisayarın IP numarası hem o bilgisayarın içinde bulunduğu ağı hem de o ağ içndeki bilgisayrın adresini tarif eder. 32 bitlik adres bilgisinin kaç bitinin ağı, kaç bitinin ağ içerisindeki makinayı göstereceği kullanılan adres sınıflarına göre değişir. İnternet adtresleri A,B,C ve D olmak üzere beş sınıfa ayrılır. A sınıfı adreslerde ağ adresi 32 bitlik bilginin soldan itibaren ilk 8 biti ile tarif adilir. B sınıfı adreslerde ağ adresi ilk 16 bitlik bilgi ile , C sınıfı adreslerde ilk 24 bitlik bilgi ile belirtilir.
Bir IP adresinin hangi sınıf tanımlamasına uyduğuna parçalı desimal gösterimde soldan itibaren ilk parçaya bakarak anlarız.
İlk bayt 0 ile 126 arasında ise o adres bir A sınıfı adrestir.
İlk bayt 128 ile 191 arasında ise o adres bir B sınıfı adrestir.
İlk bayt 192 ile 223 arasında ise o adres bir C sınıfı adrestir.
127 ile başlayan adresler yerel çevrim için varsayılan olarak kullanılan adreslerdir. D ve E sınıfı adresler 223 ve yukarısında sayısal değer alır ve bunlar özel amaçlar için kullanılır.
TCP/IP kullanılan bir ağda iki bligisayarı birbirina bağlamak için şu bilgilere ihtiyaç vardır :
Bilgisayar ismi
IP adresi
Donanım(MAC) adresi
ARP protokolü, IP adresi tanımlı bir makinanın donanım adresini (ethernet kartının fiziksel numarasını) bulur. Bu yüzden bağlantı kurmak için diğer makinanın IP adresini bilmek yeterlidir. Eğer bağlantı kurulacak adres aynı yerel ağ (LAN) içerisinde bulunuyorsa sadece bilgisayar adını bilmek de yeterli olur.
à [Başa Dön]
ß [Ana Sayfa]