logo

8 Ocak 2014 Çarşamba

TCP/IP


TCP/IP (Transmıssıon Control Protocol/Internet Protocol)
TCP/IP’ nin Tarihçesi
TCP/IP nin kökenleri 1960 ların sonunda ve 1970 lerin başlarında Amerikan savunma bakanlığına bağlı İleri Araştırma Projeleri Ajansının (Advanced Research Projects Ağency,ARPA) yürüttüğü paket anahtarlı ağ deneylerine kadar uzanır. TCP/IP’nin yaratılmasını sağlayan proje , ABD deki bilgisayarların bir felaket anında da ayakta kalabilmesini , birbirleriyle iletişimin devam etmesini amaçlıyordu. Amacına fazlasıyla ulaştığı gibi interneti de ortaya çıkardı.
TCP/IP (Transmıssıon Control Protocol/Internet Protocol)
TCP/IP, Transmission Control Protocol/Internet Protocol ifadesinin kısaltılmasıdır. Türkçesi “İletim kontrol protokolü/İnternet Protokolü” dür. Protokol belli bir işi düzenleyen kurallar dizisi demektir. Örneğin devlet protokolü devlet erkanının nerede duracağını, nasıl oturup kalkacağını düzenler. Ağ protokolüde bilgisayarlar arası bağlantıyı, iletişimi düzenliyor.
TCP/IP Unix dünyasının standart iletişim kuralıdır. Aynı zamanda internetin de temeli olan Savunma Bakanlığı(ABD) tarafından geliştirilmiştir. İnternet adresleri InterNIC tarafından atanır. Eğer TCP/IP ağınız internete bağlı değilse ve hiçbir zaman bağlanmayacaksa, geçerli herhangi bir adres alanını kullanabilirsiniz. Ancak eğer ilerde bağlanma şansınız varsa adres için başvurmanız gerekir.
Netware’in içinde TCP/IP desteği vardır ve tünelleme olarak bilinen süreç ile bir TCP/IP ağda IPX çalıştırmanıza imkan verir.
Tünelleme; IPX paketi bir TCP/IP önbilgi ve artbilgiyle çevrelenir. Böylece paket IPX ağdan TCP/IP ağa, oradan tekrar IPX ağa geri yöneltilebilir.
Artık çoğu işyerlerinin internete doğrudan bağlantısı yoktur. Doğrudan bağlantı büyük bir güvenlik riski doğurmaktadır.Genellikle “firewall” olarak bilinen iç ağ ile internet arasında sadece izin verilen trafiğin olmasını sağlayan bir sunucu veya yöneltici kullanırlar. Firewall kullanıldığında iç ağ numaraları herhangibir geçerli adres olmayabilir ve firewall yönelticinin ihtiyacı olan tek şey “düzgün” yetkili bir internet numarasıdır.
Değişik tipte bilgisayarların bir arada çalışabilmelerini garantilemek amacıyla programcılar programlarını bazı standart protokolleri kullanarak yazarlar. Bu protokol, teknik bir terim olarak işlerin nasıl yapılması gerektiğini tarif eden kurallar bütünüdür. Örneğin, bir posta mesajı için hangi formatın kullanılacağını tam olarak tarif eden bir protokol bulunmaktadır. Tüm internet posta programları, mesaj gönderecekleri zaman bu protokolü takip ederler.
TCP, gerçekte iki ayrı protokolden oluşur: TCP ve IP. TCP/IP ikisinin beraber kullanıldığı zamanlarda genellikle tercih edilir.
IP- Bu bölümde datagramlara bölünmüş bilgi paketleri diğer bilgisayar ve ağlara yönlendirilir. Bu datagramların herbiri IP’den bağımsız olarak düşünülür.
IP datagramın hedefine ulaşacağını garantilemez veya herhangi iki datagramın aynı yolda alınacağıyla protokol datagramların sıralandığı gibi gönderilmesini sağlamaz.
Bu protokolün basitliği ve her datagramın bağımsız olması sebebiyle IP bir bağlantısız(connectionless protocol) olarak düşünülür.
TCP- TCP, datalardan segmentleri düzenler ve gönderilmesi için IP katmanına geçirir. Bu katmanda IP katmanından alınan datagramlar tekrar sıralanır ve verinin değişmiş olup olmadığı, hatasız geldiğinden emin olunur. TCP veriyi ilettiğinde bir zamanlayıcı(timer) düzenler. Bir paket uzak bir bilgisayara ulaştığında bir onay(acknowledment) göndericiye ulaştırılır. Eğer onay ulaşmadan zamanlayıcının süresi dolarsa paket tekrar transfer edilir.
Tüm pratik amaçlar için bir makinedeki TCP protokolü uzak bilgisayarlara bağlantı kurmak için TCP protokolüyle iletişim kurar.
TCP; bağlantı tabanlı protokoldür(connection-oriented protocol). Bir uzak bilgisayarla sanal bir dolaşım sağlamaya yarayan, port adı verilen başka adresleri formlamayı kullanır. TCP Telnet gibi birden fazla kullanıcı olduğunda aynı porttan çoklu işlemlere(Multiple processes) izin verir.
TCP/IP; katmanlardan oluşan bir protokoller kümesidir. Her katman değişik görevlere sahip olup altındaki ve üstündeki katmanlar ile gerekli bilgi alışverişini sağlamakla yükümlüdür.
TCP/IP katmanlarının tam olarak ne olduğu, nasıl çalıştığı konusunda bir fikir sahibi olabilmek için bir örnek üzerinde inceleme yapalım:
TCP/IP’nin kullanıldığı en önemli servislerden birisi elektronik postadır (e-posta). E- posta servisi için bir uygulama protokolü belirlenmiştir (SMTP). Bu protokol e- posta’nın bir bilgisayardan başka bir bilgisayara nasıl iletileceğini belirler. Yani e- postayı gönderen ve alan kişinin adreslerinin belirlenmesi, mektup içeriğinin hazırlanması vs. gibi. Ancak e-posta servisi bu mektubun bilgisayarlar arasında nasıl iletileceği ile ilgilenmez, iki bilgisayar arasında bir iletişimin olduğunu varsayarak mektubun yollanması görevini TCP ve IP katmanlarına bırakır.
TCP katmanı komutların karşı tarafa ulaştırılmasından sorumludur. Karşı tarafa ne yollandığı ve hatalı yollanan mesajların tekrar yollanmasının kayıtlarını tutarak gerekli kontrolleri yapar. Eğer gönderilecek mesaj bir kerede gönderilemeyecek kadar büyük ise (Örnegin uzunca bir e-posta gönderiliyorsa) TCP onu uygun boydaki segment’lere (TCP katmanlarının iletişim için kullandıkları birim bilgi miktarı) böler ve bu segment’lerin karşı tarafa doğru sırada, hatasız olarak ulaşmalarını sağlar. İnternet üzerindeki tek servis e-posta olmadığı için ve segment’lerin karşı tarafa hatasız ulaştırılmasını sağlayan iletişim yöntemine tüm diğer servisler de ihtiyaç duyduğu için TCP ayrı bir katman olarak çalışmakta ve tüm diğer servisler onun üzerinde yer almaktadır. Böylece yeni bir takım uygulamalar da daha kolay geliştirilebilmektedir. Üst seviye uygulama protokollerinin TCP katmanını çağırmaları gibi benzer şekilde TCP de IP katmanını çağırmaktadır. Ayrıca bazı servisler TCP katmanına ihtiyaç duymamakta ve bunlar direk olarak IP katmanı ile görüşmektedirler. Böyle belirli görevler için belirli hazır yordamlar oluşturulması ve protokol seviyeleri inşa edilmesi stratejisine ‘katmanlaşma’ adı verilir. Yukarda verilen örnekteki e- posta servisi (SMTP), TCP ve IP ayrı katmanlardır ve her katman altındaki diğer katman ile konuşmakta diğer bir deyişle onu çağırmakta ya da onun sunduğu servisleri kullanmaktadır. En genel haliyle TCP/IP uygulamaları 4 ayrı katman kullanır. Bunlar:
...Bir uygulama protokolu, mesela e-posta
....Üst seviye uygulama protokollerinin gereksinim duyduğu TCP gibi bir protokol katmanı
...IP katmanı. Gönderilen bilginin istenilen adrese yollanmasını sağlar.
...Belirli bir fiziksel ortamı sağlayan protokol katmanı. Örneğin Ethernet, seri hat, X.25 vs.
İnternet birbirine geçiş yolları (gateway) ile bağlanmış çok sayıdaki bağımsız bilgisayar ağlarından oluşur ve buna ‘catenet model’ adi verilir. Kullanıcı bu ağlar üzerinde yer alan herhangi bir bilgisayara ulaşmak isteyebilir. Bu işlem esnasında kullanıcı farkına varmadan bilgiler, düzinelerce ağ üzerinden geçiş yapıp varış yerine ulaşırlar. Bu kadar işlem esnasında kullanıcının bilmesi gereken tek şey ulaşmak istediği noktadaki bilgisayarın ‘Internet adresi’ dir. Bu adres toplam 32 bit uzunluğunda bir sayıdır. Fakat bu sayı 8 bitlik 4 ayrı ondalık sayı şeklinde kullanılır (144.122.199.20 gibi). Bu 8 bitlik gruplara ‘octet’ ismi de verilir. Bu adres yapısı genelde karşıdaki sistem hakkında bilgi de verir. Mesela 144.122 ODTU için verilmiş bir numaradır. ODTU üçüncü octet’i kampüs içindeki birimlere dağıtmıştır. Örneğin, 144.122.199 bilgisayar merkezinde bulunan bir Ethernet ağda kullanılan bir adrestir. Son octet ise bu Ethernete 254 tane bilgisayar bağlanmasına izin verir (0 ve 255 bilgisayar adreslemesinde kullanılmayan özel amaçlı adresler olduğu için 254 bilgisayar adreslenebilir).
IP bağlantısız “connectionless” ağ teknolojisini kullanmaktadır ve bilgi “datagramlar” (TCP/IP temel bilgi birim miktarı) dizisi halinde bir noktadan diğerine iletilir. Büyük bir bilgi grubunun (büyük bir dosya veya e-posta gibi) parçaları olan “datagram” ağ üzerinde tek başına yol alır. Mesela 15000 octet’lik bir kütük pek çok ağ tarafından bir kere de iletilemeyecek kadar büyük olduğu için protokoller bunu 30 adet 500 octetlik datagramlara böler. Her datagram ağ üzerinden tek tek yollanır ve bunlar karşı tarafta yine 15000 octetlik bir kütük olarak birleştirilir. Doğal olarak önce yola çıkan bir datagram kendisinden sonra yola çıkan bir datagramdan sonra karşıya varabilir veya ağ üzerinde oluşan bir hatadan dolayı bazı datagramlar yolda kaybolabilir. Kaybolan veya yanlış sırada ulaşan datagramların sıralanması veya hatalı gelenlerin yeniden alınması hep üst seviye protokollerce yapılır. Bu arada “paket” ve “datagram” kavramlarına bir açıklama getirmek yararlı olabilir. TCP/IP ile ilgili kavramlarda “datagram” daha doğru bir terminolojidir. Zira datagram TCP/IP’de iletişim için kullanılan birim bilgi miktarıdır. Paket ise fiziksel ortamdan (Ethernet, X.25 vs.) ortama değişen bir büyüklüktür. Mesela X.25 ortamında datagramlar 128 byte’lık paketlere dönüştürülüp fiziksel ortamda böyle taşınırlar ve bu işlemle IP seviyesi hiç ilgilenmez. Dolayısıyla bir IP datagramı X.25 ortamında birden çok paketler halinde taşınmış olur.
TCP/IP protokoller kümesidir. Her biri değişik işler yapan bir yığın protokolden oluşur.
TCP/ IP kurulan bir bilgisayar ağında bilgisayarı üç parametre ile tanımlarız.
1. Bilgisayar İsmi : Kullanıcı tarafından işletim sistemi kurulurken bilgisayara verilen addır.
2. IP Adresi : 4 bölümden oluşan adrestir xxx.xxx.xxx.xxx her bölüm 0-255 arasında değer alabilir.
3. Mac Adresi: bilgisayar ağ kartlarının ya da ağ cihazlarının içine değiştirilemez bir şekilde yerleştirilmiş bulunan bir adrestir. 0020AFF8E771 örneğinde olduğu gibi 16 lık düzende (hexadecimal) rakamlardan oluşur. Mac adresi yerine donanım adresleri ya da fiziksel adreste kullanılabilir.
Ağ üzerinde iletişimler aslında Mac adresleri ile gerçekleşir. Çünkü IP adresleri TCP/IP protokolüne özeldir. Başka protokolde , örneğin , Novell’in kullandığı IPX/SPX protokolünde IP adresi diye birşey yoktur. Bütün protokollerde değişmeyen tek şey MAC adresidir.
Her protokol kendine göre bir adresleme şeması kullanır ama bu şemalarda yer alan adreslerin dönüp dolaşıp en altta MAC adresine çevrilmesi gerekir.
TCP/IP’ nin Yapısı
TCP/IP Katmanları: TCP/IP protokol kümesinin sahip olduğu mimari uygulama programlarının bulunduğu katman sayılmaz ise 4 katmanlıdır.En üstte uygulama programları vardır, altında ise iletişim işini yapan programlar bulunur.
Uygulama katmanın altında sırasıyla ulaşım, yönlendirme ve fiziksel katmanlar vardır. Ulaşım katmanında TCP ve UDP protocolleri, yönlendirme katmanında IP ve ICMP protokolleri tanımlıdır. Her katmanda birçok protokol vardır; ancak uygulama programları tarafından istenen bir iş yerine getirilirken, her katmandaki protokollerden yalnızca biri kullanılır.
Uygulama Katmanı Programları: Uygulama katmanı için tanımlı olan STMP,TELNET… gibi protokoller bir üstünde bulunan programlara hizmet verir. Bunlar, kullanıcının doğrudan etkileşimde bulunduğu veya bilgisayar kaynaklarını başka kullanıcılara erişme olanağı sağlayan programlardır.
STMP(Simple Mail Transport Protocol): Ağ içindeki kullanıcılar arasındaki elektronik mektup alış verişini düzenler.
SNMP(Simple Network Management Protokol): Ağ içinde 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şleriyle uzaktan yönetilebilir. Bunun için cihazlarda SNMP (agent) olmalıdır.
TELNET: Bir sistem üzerindeki başka bir sisteme bağlanarak, sanki onun terminalindeymiş gibi bağlandığı sistemi kullanmasını sağlar.
FTP (File Transfer Protocol): Bir Bilgisayardan başka bir bilgisayara dosya aktarımı için kullanılan temel protokoldür.
FSP(File Send Protocol): Bu protokol FTP ‘ye alternatif olarak geliştirilmiş. Tek üstün özelliği, bir dosya transfer edilirken herhangi bir sorun olur da hat kesilirse yeni bağlantıda dosyanın yarım kaldığı yerden alış- verişe devam edilmesine olanak vermesi. Ancak hat hızları arttığından FSP’ye çok fazla rağbet olmamamış. FTP daha çok kullnılmıştır.
NNTP (Netwok News Transpor Protocol): USENET postalama hizmetinin kullanımını sağlar.
Ulaşım Katmanı Protokolü: TCP ve UDP ulaşım katmanı protokolleri, bir üst katmandan gelen veriyi paketleyip bir alt katmana verirler,. Eğer veri bir seferde gönderilemeyecek kadar uzunsa, alt katmana verilmeden önce parçalara ayrılır (segment) ve her birine bir sıra numarası verilir.Genellikle TCP kullanılır, Sorgu amaçlı olarak da UDP kullanılır.
TCP(Transmission Control Protocol): Görevleri şunlardır;
Bir üst katmandan gelen verinin uygun uzunlukta parçalara bölünmesi;
Herbir parçaya, alıcı kısmında aynı biçimde sıraya koyabilmesi amacıyla sıra numarası verilmesi;
Kaybolan veya bozuk gelen parçaları tekrarlaması;
TCP kendisine atanmış olan bu görevleri yapabilmek amacıyla, ulaşım katmanında veri parçalarının önüne başlık bilgisi ekler. Başlık bilgisi ve veri parçası, ikisi birlikte TCP segmenti olarak anılır. Bir alt katmana örneğin, IP katmanına bu TCP segmenti gönderilir; oradan da bu segmente IP başlığı eklenerek alıcıya gönderilir.
UDP (User Datagram Protocol): UDP’nin farkı sorgulama ve sınama amaçlı, küçük boyutlu verinin aktarılması için olmasıdır; veri küçük boyutlu olduğu için parçalara gerek duyulmaz. UDP, TCP’den kısadır. Fakat, bir kaynak ve hedef adrese sahiptir.
Yönlendirme Katmanı Protokolleri: Bir üst katmandan gelen segmentleri alıcıya, uygun yoldan ve hatasız ulaşımla yükümlüdür.
IP(Internet Protokol): Bir datagramın hangi üst katmana katmana ait olduğunu belirler. Alıcı IP bu alana bakarak paketi bir üstte bulunan protokollerden hangisine ileteceğini anlar.
ICMP (Internet Control Message Protokol): ICMP kontrol amaçlı bir protokoldür; genel olarak sistemler arası kontrol mesajları IP yerine ICMP üzerinden aktarılır. ICMP, IP aynı düzeyde olmasına karşın aslında kendiside IP’yi kullanır. ICMP mesajları IP üzerinden gönderilir.

0 yorum:

Yorum Gönder