TCP/IP PROTOKOL KÜMESİ
TCP/IP ‘ ye Giriş
Başta internet olmak üzere, farklı teknolojilere sahip ağların olması, bağımsız olarak yönetilmesi ve geliştirilmesi gibi özellikleri TCP/IP protokolünün en yaygın kullanılan protokol olmasına neden olmuştur.
Aslında TCP/IP protokolü diye adlandırmak çok doğru değildir. Çünkü TCP/IP çok sayıda protokol ve yardımcı programlardan oluşan bir protokol kümesidir.
Protokol, bir iletişim sürecinde, internet bağlantısını sağlayan noktalar arasındaki, gidip gelen mesajlaşmayı düzenleyen kurallar dizisidir. Bu protokoller birbirleriyle iletişim içinde bulunan gerek donanım gerekse yazılımlar arasında oluşur. İletişimin gerçekleşmesi için her öğenin bu protokolü kabul etmiş ve uyguluyor olması gerekir. TCP/IP de bu şekilde oluşan yüzden fazla bilgi iletişim protokolün toplandığı bir protokoller ailesidir. Bunlardan en önemlileri TCP ( Transmission Control Protocol ) ve IP ( Internet Protokol ) olduğu için bu ismi almıştır. Bir bilgisayar ağında kullanılan protokol ne olursa olsun aslında bilgisayarlar fiziksel adresleri ile birbirlerini tanır ve iletişimde bulunurlar. Bu fiziksel adres ağ kartı veya ağa bağlanmayı sağlayan her hangi bir donanımın içinde hiçbir şekilde değiştirilmesi mümkün olmayan 48 bit olan bir numaradır. TCP/IP protokolünde diğer bilgisayarlardan farklı olarak her bilgisayar bir IP numarası alır. Görünüşü “ 194.62.15.2 “ şeklindedir. İnternet`te bulunan her bilgisayarın kendine ait bir IP numarası vardır ve sadece ona aittir. IP adresleri 32 bitlik düzendedirler ama kolay okunabilmeleri için 8 bitlik 4 gruba ayrılmışlardır. Internet üzerinde veri alış verişi yapan alıcı ve göndericiyi tanımlamaktadırlar. Veriler gönderilirken mutlaka gönderenin IP adresini taşırlar. Alıcının adresi de adresteki “ domain ” , adrese göre çözümlenir ve gönderilir. IP adres yapısının 2 bölümü vardır. Birincisi bilgisayarın bağlı olduğu özel bir ağın numarası ikincisi ise bilgisayarların özel numarasıdır. Veriler dolaşım sırasında Router denilen yönlendiricilerden geçerken sadece bu özel ağın numarasına bakılır.
TCP/IP Katmanları
İnternet ağ mimarisi katmanlı yapıdadır. Bilgisayarlar arası iletişim için gerekli bütün iş, bu katmanlar tarafından yürütülür. Her katmanda yapılacak görevler protokoller tarafından paylaşılmıştır. TCP ve IP farklı katmanlarda bulunan farklı protokollerdir.
Ağ cihazları, genel olarak TCP/IP’nin ilk üç katmanıyla işlem yapar. Eğer ağ cihazı yapılan uygulamada protokollerini kendi bünyesinde de çalıştıracaksa dördüncü katmanı da kullanır.
Uygulama Katmanı (Application Layer)
En üst seviye katmandır. Uygulama katmanı için tanımlı olan SMTP, TELNET vs. gibi protokoller bir üstünde bulunan programlara hizmet verirler
SMTP (Simple Mail Transfer Protocol-Basit Posta İletim Protokolü): Elektronik postaların iletimi ASCII metin modundadır. Protokolün istemci ve sunucu arasında veri alışverişi ve senkronizasyonu sağlayan komutları da okunabilir, açık yazı türündedir.
SNMP (Simple Network Management Protocol-Basit Ağ Yönetim Protokolü) : Ağ içerisinde bulunan yönlendirici, anahtar ve HUB gibi cihazların yönetimi için kullanılır. SNMP desteği olan ağ cihazları SNMP mesaj alış verişiyle uzaktan yönetilebilir. Bunun için cihazlarda SNMP parçası (agent) olmalıdır.
TELNET (Telecommunication Network-İletişim Ağı): Kullanıcının, bir başka makineye sanki o makinenin istasyonuymuş gibi bağlantı kurmasını sağlayan protokoldür.
Protokol, bağlantı sırasında kullanılan mesajların şifrelenmemesi, paketlerin iletimi sırasında arada yer alan, iletim vazifesi gören aygıtları kullanan insanların iletilen verileri kolayca okuyabilmesine izin vermesi nedeni ile güvenlik zafiyetlerine açıktır. Protokol tasarım yapısı itibari ile “ oturum ele geçirme” saldırılarına karşı son derece zayıftır.
FTP (File Transfer Protocol-Dosya İletim Protokolü): FTP
sunucuları 21 numaralı TCP portundan istemcilerden gelen bağlantı isteklerini dinlerler. Port numarasını alan sunucu 20 numaralı TCP portu üzerinden istemci ile bağlantıya geçerek veri transferini başlatır. Dosya transferi sona erdiğinde bağlantı sonlandırılır.
HTTP (The Hypertext Transfer Protocol-Hiper Metin İletişim Protokolü):
Web istemci programları ile sunucuların iletişim kurmasını sağlar. HTTP protokolü istemcileri “ağ tarayıcısı” (web browser) olarak adlandırılır. Protokol genel olarak dokümanları sunuculardan talep eden, sunucuya bilgi gönderilmesini sağlayan komutları tanımlar. İstek-Yanıt sistemi ile çalışır. Web istemci programı ile sunucu arasında TCP bağlantısı sağladıktan sonra istemci istek mesajını sunucuya iletir. Sunucu bu isteğe karşılık yanıt gönderir.
Aktarım Katmanı (Tranmission Layer) :
Genel olarak TCP kullanılır; UDP daha çok sorgulama amaçlı kullanılır.
TCP (Transmission Control Protocol-İletim Denetim Protokolü): TCP protokolü, bağlantılı ve güvenli veri akışını sağlayarak iletim katmanına çok önemli hizmetler sunar.
TCP sunduğu hata denetimi, veri akış kontrolü gibi hizmetler sayesinde kendisini kullanan uygulamalara tatmin edici düzeyde güvenlik, hata denetimi ve akış kontrolü sağlar. TCP protokolü, bilgisayarda çalışan uygulamalar arasında <İstemci IP adresi, Port Numarası>, <Sunucu IP adresi, Port Numarası> ikililerini temel alan bağlantılar kurar. Her TCP bağlantısı bu ikililerle ifade edilir. İnternet protokolü bağlantısızdır ve gönderilen paketlerin hedeflerine ulaşmalarını garanti edemez. Bu sorunları ortadan kaldırmak için TCP protokolüne ihtiyaç duyulur.
TCP PROTOKOLÜNÜN ÖZELLİKLERİ
· Bağlantı noktaları arasında veri iletişimini sağlaması.
· Güvenli veri iletimi sağlanması.
· Bağlantıda olan iki bilgisayar arasında akış kontrolü sağlaması.
· Çoklama(Multiplexing) yöntemi ile birden fazla bağlantıya izin vermesi.
· Sadece bağlantı kurulduktan sonra veri iletimi sağlaması.
· Gönderilen mesaj parçaları için öncelik ve güvenlik tanımlaması yapılabilmesi.
UDP (User Datagram Protocol): Protokol datagramların iletilmesini garanti etmez; IP datagram içerisinde kapsüllenmiş UDP mesajının bir defadan fazla taşınmamasını sağlayamaz. TCP protokolü gibi bağlantı tabanlı değildir. UDP protokolü, DNS gibi istek-cevap temeline dayanan uygulamalar için son derece elverişlidir. UDP toplu yayın-grup mesajları için son derece kullanışlıdır. UDP protokolü içerisinde sadece isteğe bağlı olarak hata kontrol mekanizması yürütülür. UDP protokolü, TCP protokolünden daha hızlı ve daha kolaydır. Buna karşın sağlamlık, güvenirlik gibi kriterler göz önüne alındığı zaman TCP protokolüne nazaran çok fazla dezavantajı vardır
Yönlendirme Katmanı (Tranmission Layer)
Yönlendirme katmanında tanımlı IP ve ICMP protokolleri bir üst katmandan gelen segmentleri alıcıya uygun yoldan ve hatasız olarak ulaştırmakla yükümlüdür. Bu amaçla bu katmanda da gelen segmentlere özel bir IP başlık bilgisi eklenir
ICMP (Internet Control Message Protocol): ICMP kontrol amaçlı bir protokoldür. ICMP mesajları, IP üzerinden gönderilir. ICMP mesajlarının amacı haberleşme sırasında meydana gelebilecek problemler hakkında yönlendiricilere veya datagramları oluşturan bilgisayarlara bilgi vermektir. Sadece datagram iletimi sırasında meydana gelen hataların sebepleri ile ilgili bilgi sağlar.
Fiziksel Katman (Physical Layer) :
Bu katmanda herhangi bir protokol tanımlı değildir. 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 transferi yapılacak makineye ulaşmak için makinenin ethernet kartının MAC (Media Access Control-Ortama Erişim Adresi) 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 (Adress Resolution Protocol-Adres Çözümleme Protokolü) protokolü kullanılır.
OSI Modeli ve TCP/IP Modeli : Bu 7 katmanın en altında yer alan iki katman yazılım ve donanım, üstteki beş katman ise genelde yazılım yolu ile çözülmüştür
OSI ve TCP/IP modellerinin benzerlikleri;
• Her ikisi de katmanlı yapıdadırlar
• Farklı işlevlere sahip olmalarına rağmen her ikisinin de uygulama katmanı vardır.
• Benzer iletim ve ağ katmanlarına sahiptirler.
• Devre anahtarlamalı değil paket anahtarlamalı teknoloji kullanılır.
• Ağ profesyonelleri her iki modeli de bilmek zorundadırlar.
OSI ve TCP/IP modellerinin farklılıkları;
• TCP/IP sunum ve oturum katmanlarını uygulama katmanında birleştirmiştir.
• TCP/IP OSI’nin veri hattı ve fiziksel katmanlarını tek bir katmanda birleştirmiştir.
• TCP/IP daha az katmanı olduğu için daha kolay görülür.
• TCP/IP iletim katmanı UDP kullandığı için veri güvenliği OSI deki kadar sağlam değildir.
IP Adresleme :
Atanan IP adreslerinin ağ içerisinde “eşinin” bulunmaması gerekir. Bununla birlikte atanan IP adresleri aynı ağ üzerinde bulunan diğer birimlerle tutarlılık göstermelidir.
IP Adres Sınıfları :
Adresler iki parçaya ayrılır; parçanın soldaki kısmı ağ adresi, sağdaki kısım ise sistem adresi olarak adlandırılır. Ağ adresleri yönlendiriciler için daha anlamlıdır.
IP Adres Sınıfı
|
Minimum
|
Maksimum
|
A
|
0
|
126
|
B
|
128
|
191
|
C
|
192
|
223
|
D
|
224
|
238
|
E
|
240
|
247
|
Tablo 2.2: IP Adres Tanım Aralıkları
A Sınıfı: 001.hhh.hhh.hhh ‘dan 126.hhh.hhh.hhh ‘a kadar
B Sınıfı: 128.001.hhh.hhh ‘dan 191.254.hhh.hhh ‘a kadar
C Sınıfı: 192.000.001.hhh ‘dan 223.255.254.hhh ‘a kadar
D Sınıfı: 224.000.000.000 ‘dan 239.255.255.255 ‘a kadar
Genel ve Özel IP adresleri :
İnternet adreslemesinde 0 ve 255'in özel bir kullanımı vardır. 0 adresi, Internet üzerinde kendi adresini bilmeyen bilgisayarlar için (Belirli bazı durumlarda bir makinenin kendisinin bilgisayar numarasını bilip hangi ağ üzerinde olduğunu bilmemesi gibi bir durum olabilmektedir) veya bir ağın kendisini tanımlamak için kullanılmaktadır (144.122.0.0 gibi). 255 adresi genel duyuru "broadcast" amacı ile kullanılmaktadır
Alt Ağlar :
Alt ağlar, IP adreslerini yönetmenin başka bir yoludur. Ağ tasarımında IP adresleri sistemlere dağıtılırken ağ daha küçük birimlere parçalanarak alt ağlar oluşturulur. Bu, İnternet’in hiyerarşik adresleme yapısına uygun olduğu gibi, yönlendirme işinin kotarılması için gerekli yapının kurulmasını da kolaylaştırır. Örneğin büyük bir üniversiteye B sınıfı bir adres alındığında, bu adreslerin bölümlerdeki bilgisayarlara alt ağlar oluşturulmadan gelişi güzel verilmesi birçok sorunu da beraberinde getirir. Hâlbuki verilen B sınıfı adres alanı daha küçük alanlardan oluşan alt alanlara bölünse ve bu alt alanların her biri bölümlerdeki LAN’ lara atansa birçok kolaylık da beraberinde gelecektir. Adres yerleştirmeleri kolay olacak, hiyerarşik yapı korunacak, adrese bakılarak ilgili sistemin hangi alt ağda olduğu anlaşılacak ve bu sayede oluşan problemlere en kısa zamanda çözüm getirilebilecektir.
Ağ Maskesi :
Bilgisayar ağ tanımlayıcısını bulmak için alt ağ maskesini IP adresini VE mantıksal işleminden geçirerek kullanırlar. Meselâ: IP adresi:195.134.67.200 olsun ve alt ağ maskesi de 255.255.255.0 olsun. Bilgisayarın bu bilgilere dayanarak bulunduğu ağ tanımlayıcısını yani ağ adresini bulabiliriz. IP adresi ile alt ağ maskesini VE işlemine tabi tutalım:
195.134.67 .200 = 1100 0011.1000 0110.0100 0011.1100 1000
VE
255.255.255.0 = 1111 1111.1111 1111.1111 1111.0000 0000
Sonuç: 195.134.67. 0 = 1100 0011.1000 0110.0100 0011.0000 0000
Meselâ, şimdi iki bilgisayardan oluşan bir ağ düşünelim. Şekle bakalım
Şekil 2.4:Alt Ağ Maskesi
Şekilde görülen 195.134.67.0 adresli bilgisayarın diğer bilgisayarla iletişime geçmesi için aynı ağda olmaları gerekir. Hedef bilgisayarın aynı ağda olup olmadığını anlamak için bilgisayarların ağ adreslerine bakarız.
195.134.67.200 VE 255.255.255.0 ile işleme koyduktan sonra çıkan sonuç: 195.134.67.0 olacaktır. Bu bilgisayarın kendi ağ adresidir. Hedef bilgisayarın ağ adresi ise: 195.134.67.56 ile 255.255.255.0 VE işleme konularak 195.134.67.0 sonucu görürüz. Aynı ağ adresleri çıktığı için bu bilgisayarların iletişime geçeceklerini söyleyebiliriz.
1.2.6.2. Yayın Adresi
Ağın yayın adresi, alt ağ yapısına bağlı olarak belirlenir ve aynı ağ üzerindeki her bilgisayarda aynı değerin kullanılması gerekmektedir.
255 adresi genel duyuru "broadcast" amacı ile kullanılmaktadır. Duyuru mesajı genelde bir istasyon hangi istasyon ile konuşacağını bilemediği bir durumda kullanılan bir mesajlaşma yöntemidir. Örneğin ulaşmak istediğiniz bir bilgisayarın adı elinizde bulunabilir ama onun IP adresine ihtiyaç duydunuz, bu çevirme işini yapan en yakın "name server" makinesinin adresini de bilmiyorsunuz. Böyle bir durumda bu isteğinizi yayın mesajı yolu ile yollayabilirsiniz. Bazı durumlarda birden fazla sisteme bir bilginin gönderilmesi gerekebilir böyle bir durumda her bilgisayara ayrı ayrı mesaj gönderilmesi yerine tek bir yayın mesajı yollanması çok daha kullanışlı bir yoldur. Yayın mesajı yollamak için gidecek olan mesajın IP numarasının bilgisayar adresi alanına 255 verilir. Örneğin 144.122.99 ağı üzerinde yer alan bir bilgisayar yayın mesajı yollamak için 144.122.99.255 adresini kullanır. Yayın mesajı yollanması birazda kullanılan ağın fiziksel katmanının özelliklerine bağlıdır. Mesela bir ethernet ağında yayın mümkün iken noktadan noktaya (point-to-point) hatlarda bu mümkün olmamaktadır.
Bazı eski sürüm TCP/IP protokolüne sahip bilgisayarlarda yayın adresi olarak 255 yerine 0 kullanılabilmektedir. Ayrıca yine bazı eski sürümler alt ağ kavramına hiç sahip olmayabilmektedir.
Yukarıda da belirttiğimiz gibi 0 ve 255'in özel kullanım alanları olduğu için ağa bağlı bilgisayarlara bu adresler kesinlikle verilmemelidir. Ayrıca adresler asla 0 ve 127 ile ve 223'un üzerindeki bir sayı ile başlamamalıdır.
IP ADRESİ DÖNÜŞÜM PROTOKOLLERİ
DHCP :
DHCP, bilgisayarlara IP adresi ve subnet maskesi başta olmak üzere TCP/IP parametrelerini otomatik olarak dağıtan bir protokoldür.
DHCP kullanımı şu şekilde gerçekleştirilir: Bir makine DHCP sunucu olarak kurulur. DHCP sunucuda diğer bilgisayarlara dağıtılacak adresler için bir adres aralığı ve bir subnet maskesi tanımlanır. IP adresi ve subnet maskesi dışında dağıtılabilecek parametreler de (default gateway, DNS ve WINS sunucu adresleri gibi) tanımlanabilir.
DHCP istemci olarak belirlenmiş bilgisayarlar DHCP sunuculara başvurduklarında adres havuzlarından uygun bir adres seçilerek subnet maskesi ile birlikte istemciye gönderilir. Bu sırada seçimlik bilgiler (default gateway adresi, WINS sunucu ve DNS sunucu adresleri gibi) de istemciye gönderilebilir.
Eğer istemci bilgisayar bu adres önerisini kabul ederse önerilen adres istemciye belli bir süre için verilir. Eğer IP adres havuzunda verilebilecek bir adres kalmamışsa ve istemci başka bir DHCP sunucudan da adres alamıyorsa TCP/IP iletişimine geçilemez.