TCP/IP modeli kısaca, verilerin internet üzerinden nasıl iletildiğini gösteren bir standardıdır. Her gün milyarlarca cihaz tarafından kullanılan güvenilir, uçtan uca bir dağıtım protokolüdür.
Bugünkü yazımızda, TCP/IP’nin nasıl çalıştığını ve internet üzerinden veri iletmek için nasıl kullanıldığını ayrıntıları ile inceleyeceğiz.
Haydi başlayalım!
TCP Nedir?
TCP, sunucu aracılığıyla uygulamaya veya istemciye mesajlar iletir. Mesajları küçük paketlere bölerek bir istemcinin veya uygulamanın başka bir istemciye veya uygulamaya mesaj göndermesine yardımcı olur. Ayrıca, iki istemci arasındaki bağlantının mesaj alışverişi için yeterince kararlı olmasını da sağlar. TCP, internet standartlarında yer alan ve Internet Engineering Task Force veya IETF aracılığıyla kurulan temel bir internet bileşenidir. TCP, dijital ağ iletişimindeki en güvenli protokollerden biridir ve mesajın başka bir konuma zahmetsizce teslim edilmesini sağlar.
TCP, mesajları paketler arasında böldüğünde, verilerin doğruluğunun bozulmamasını ve verilerin güvenli bir şekilde doğru alıcıya iletilmesini sağlar. TCP veri göndermeye başlamadan önce, kaynak ve hedef konumu birbirine bağlayan bağlantının mükemmel olmasına olanak tanır. Ancak iletişimi sorunsuz hale getirmek için, veriyi farklı paketlere ayırır, böylece aktarım başarısız olmaz. Telnet, Secure Shell (SSH), File Transfer Protocol (FTP) vb. gibi yüksek sınıf internet protokolleri, verileri bir yerden diğerine aktarmak için TCP kullanır. Birçok e-posta hizmeti, Post Office Protocol (POP), Internet Message Access Protocol (IMAP), Hypertext Transfer Protocol (HTTP) ve Simple Mail Transfer Protocol’den (SMTP) gelen iletileri teslim etmek ve almak için TCP’yi kullanır.
Veri aktarımı sırasında daha kısa iletim süresi alan ve iki istemci arasında düşük gecikmeli bağlantılar oluşturan TCP’ye alternatif olarak User Datagram Protocol’ü (UDP) kullanabilirsiniz. TCP, veri iletimi sırasında bozuk veya uygun olmayan veri paketlerini içermez. Ayrıca veri iletimini işlemek için bağlantı başlatma, akış kontrolü, onaylar vb. gibi kontrol sistemlerini kullanır. Ancak TCP’nin alternatifi olan UDP, bozuk veri paketlerini ortadan kaldırmaz veya verileri işlemeden önce güvenli bir bağlantı kurmaz. Bu nedenle TCP, UDP’den daha pahalıdır ve UDP, TCP’den daha az güvenilirdir. Ancak UDP’yi Domain Name System (DNS) araması, akış dosyaları, Voice over Internet Protocol (VoIP) vb. belirli durumlarda kullanabilirsiniz.
IP Nedir?
IP, verileri tek bir makineden internet üzerinden başka bir makineye gönderir. IP adresleri benzersizdir ve veri alıp göndermesini sağlamak için bir sistem tanımlar. IP, interneti kullanarak ve verileri sorunsuz bir şekilde aktararak bir IP adresini başka bir IP adresine bağlar. IP, veri paketlerinin birbiriyle eşleşmesine nasıl izin vereceğini belirler. IP her zaman veri paketlerinin formatını ve paketlerin cihazlar veya sunucular arasında nasıl iletişim kuracağını tanımlar. IP, iki cihaz veya ağ arasındaki iletişimi tanımlamak için İnternet Protokol Paketinden (TCP/IP) yardım alır. Internet Protocol Suite’te (TCP/IP) IP, paketleri uygulamadan istenen cihaza veya uygulamaya ileten birincil katman görevi görür. IP, verileri iletmek için konumları, veri paketlerini ve adres bilgilerini kullanır.
TCP ve IP Arasındaki Fark Nedir?
Hem TCP hem de IP internet protokolleridir, ancak birbirlerinden farklıdır. Bireysel gereksinimleri karşılamak için birbirleriyle birlikte çalışırlar. TCP, verileri belirli bir hedefe iletilmek üzere hazırlar ve IP, tercih edilen cihazın IP adresini alarak bunu gerçekleştirir. IP, hedef cihazın IP adresini belirlediğinde, TCP verileri ağ altyapısı üzerinden taşır ve verilerin tanımlanan IP konumuna iletilmesini sağlar. Bu protokollerin her ikisi de verileri iletmek için birlikte çalıştıklarından, TCP/IP olarak adlandırılır.
TCP/IP Nedir?
TCP/IP, çevrimiçi güvenli ve verimli veri aktarımı için gereksinimleri tanımlayan bir ağ protokolü paketidir.
TCP/IP modeli, iki cihaz arasında veri aktarımından sorumludur. Radyodan farklı olarak, internet verileri sadece dinleyen kişiye yayınlanmaz. Yüzlerce bilgisayar aktif olarak aralarında veri paylaşıyor gibi görünse bile, her veri alışverişinde yalnızca iki cihaz vardır.
TCP/IP, 1983 yılında bir protokol standardı olarak kurulmuştur. Yedi katmanlı OSI modelinin yerini alarak dört veya beş katman içerir. Bu katmanlar, kaynak ağdan ayrılmadan hedef ağa ulaşmaya kadar veri aktarımının her aşamasında uygulamaların ve cihazların davranışlarını tanımlar.
TCP/IP Terminolojisini Anlamak
İstemci: Ağdaki başka bir bilgisayarın veya işlemin verilerine, hizmetlerine veya kaynaklarına erişen bir bilgisayar veya işlemdir.
Ana bilgisayar: Bir internet ağına bağlı olan ve diğer internet ana bilgisayarlarıyla iletişim kurabilen bir bilgisayar. Belirli bir kullanıcı için yerel ana bilgisayar, o kullanıcının çalıştığı bilgisayardır. Yabancı bir ana bilgisayar, ağdaki herhangi bir başka ana bilgisayar adıdır. İletişim ağı açısından ana bilgisayarlar, paketlerin hem kaynağı hem de hedefidir. Herhangi bir ana bilgisayar istemci, sunucu veya her ikisi olabilir. Bir internet ağında, bir ana bilgisayar, internet adı ve adresi ile tanımlanır.
Ağ: İki veya daha fazla ana bilgisayarın ve aralarındaki bağlantılarının birleşimidir. Fiziksel ağ, ağı oluşturan donanımdır. Mantıksal bir ağ, bir veya daha fazla fiziksel ağın tümü veya bir kısmı üzerine yerleştirilmiş soyut bir organizasyondur. İnternet ağı, mantıksal bir ağın bir örneğidir. Arayüz programı, mantıksal ağ işlemlerinin fiziksel ağ işlemlerine dönüştürülmesini yönetir.
Paket: Bir ana bilgisayar ile ağı arasındaki bir işlem için kontrol bilgileri ve verileri bloğudur. Paketler, işlemler tarafından internet ağları aracılığıyla veri göndermek ve almak için kullanılan değişim ortamıdır. Bir kaynaktan bir hedefe bir paket gönderilir.
Port: Bir işlem için mantıksal bir bağlantı noktasıdır. Veriler, işlemler arasında bağlantı noktaları (veya yuvalar) aracılığıyla iletilir. Her bağlantı noktası, veri göndermek ve almak için kuyruklar sağlar. Bir arabirim programı ağında, her bağlantı noktasının nasıl kullanıldığına bağlı olarak bir internet bağlantı noktası numarası vardır. Belirli bir bağlantı noktası, bir internet ana bilgisayar adresi ve bir bağlantı noktası numarasının birleşimi olan bir internet soket adresi ile tanımlanır.
Process: Çalışan bir programdır. İşlem, bir bilgisayardaki aktif öğedir. Uçbirimler, dosyalar ve diğer G/Ç aygıtları, süreçler aracılığıyla birbirleriyle iletişim kurar. Bu nedenle, ağ iletişimi, süreçler arası iletişimdir.
Protokol: İletişimleri fiziksel veya mantıksal düzeyde ele almak için bir dizi kuraldır. Protokoller genellikle hizmet sağlamak için diğer protokolleri kullanır. Örneğin, bağlantı düzeyindeki bir protokol, iki ana bilgisayar arasındaki bağlantıyı koruyan paketleri taşımak için aktarım düzeyindeki bir protokolü kullanır.
Sunucu: Ağdaki diğer bilgisayarlar veya işlemler tarafından erişilebilen veriler, hizmetler veya kaynaklar sağlayan bir bilgisayar veya işlemdir.
TCP/IP’nin Özellikleri
TCP/IP’nin önemli özellikleri aşağıdaki şekildedir:
1. Birlikte çalışabilirlik sağlar
Neredeyse tüm işletim sistemleri (OS’ler) TCP/IP desteğine sahiptir. Bu nedenle, bir Windows bilgisayar kullanıyor olmanız ve dosyalara Linux üzerinde çalışan bir sunucudan erişmeniz veya bunun tersi farketmez, her iki farklı işletim sistemi arasındaki iletişim çalışmaya devam eder.
2. Tek bir satıcı kontrolü altında değildir
Modele tek bir kuruluş sahip olmadığı için ister donanım ister yazılım olsun, herkes modeli ürünlerinde uygulayabilir.
3. Yönlendirilebilirdir
TCP/IP yönlendirilebilir olduğundan, veri paketlerinin bir ağdan diğerine taşınmasına izin verir.
4. Hata ve akış kontrol özelliklerine sahiptir
Model, herhangi bir iletim hatası olup olmadığını kontrol edebilir ve bir hata algılandığında verileri yeniden gönderebilir. Bu özellik, iletilen verilerin güvenilirliğini ve doğruluğunu sağlar.
5. Farklı uygulamaları destekler
Bir bilgisayar çeşitli ağ uygulamalarını çalıştırıyor olabilir, bu nedenle TCP/IP doğru paketlerin doğru uygulamaya ulaşmasını sağlar.
TCP/IP Nasıl Çalışır?
TCP/IP, verilerin bir ağ üzerinden nasıl iletildiğini tanımlayan dört katmanlı bir modeldir. Dört katman aşağıdakileri içerir:
- Uygulama Katmanı (The Application Layer)
- Taşıma Katmanı (The Transport Layer)
- İnternet Katmanı (The Internet Layer)
- Bağlantı Katmanı (The Link Layer)
Uygulama katmanı en üst katmandır ve verilerin doğru uygulamaya iletilmesini sağlamaktan sorumludur. Taşıma katmanı, verilerin güvenilir ve düzenli bir şekilde teslim edilmesini sağlamaktan sorumludur. İnternet katmanı, verilerin ağ boyunca yönlendirilmesinden sorumludur. Bağlantı katmanı ise, verilerin ağ üzerinden fiziksel olarak iletilmesinden sorumludur.
Veriler en üst katmandan en alt katmana iletilir. Her katman, veriler hakkında bilgi sağlamak için verilere başlıklar ekler. Veriler daha sonra işlendiği bir sonraki katmana aktarılır ve ardından bir sonraki katmana iletilir. Bu süreç, verinin fiziksel olarak ağ üzerinden iletildiği bağlantı katmanına ulaşana kadar devam eder.
TCP/IP Modelleri
TCP/IP, veri aktarım kategorilerinin dört katmanını sınıflandıran bir modeli tanımlar. Bu dört katman, uygulama katmanı, taşıma katmanı, internet katmanı ve bağlantı katmanını içerir. Temel olarak, tarayıcınızda bu sayfayı talep ettiğiniz andan web sunucusu tarafından yanıtın teslimine ve bu sayfanın içeriğinin oluşturulmasına kadar bir paketin tüm yolculuğunu kapsar.
1. Uygulama Katmanı
Uygulama katmanı, TCP/IP modelindeki en yüksek katmandır. Verilerin doğru uygulamaya iletilmesinden sorumludur. Uygulama katmanı, uygulamaların birbirleriyle nasıl iletişim kurabileceğini tanımlayan protokolleri içerir.
En yaygın uygulama katmanı protokolleri, Hypertext Transfer Protocol (HTTP) ve Simple Mail Transfer Protocol’dür (SMTP). HTTP, World Wide Web’de veri iletmek için kullanılır. SMTP, e-posta iletmek için kullanılır.
2. Taşıma Katmanı
Taşıma katmanı, verilerin güvenilir ve düzenli bir şekilde teslim edilmesini sağlamaktan sorumludur. Bunu Transmission Control Protocol’ü (TCP) kullanarak yapar. TCP, bağlantı kurmak için üçlü el sıkışma kullanan güvenilir, bağlantı yönelimli bir protokoldür.
Bir bağlantı kurulduğunda, veriler küçük paketler halinde iletilir. Her paketin, paketlerin sırayla iletilmesini sağlamak için kullanılan bir sıra numarası vardır. Bir paket kaybolursa, alıcı gönderene bir onay (ACK) mesajı gönderir. Gönderici daha sonra kayıp paketi yeniden iletecektir.
3. İnternet Katmanı
İnternet katmanı, verilerin ağ boyunca yönlendirilmesinden sorumludur. Bunu İnternet Protokolü’nü (IP) kullanarak yapar. IP, verileri hedef IP adresine göre yönlendiren bağlantısız bir protokoldür.
IP adresleri, ağdaki bir cihazı benzersiz şekilde tanımlayan 32 bitlik sayılardır. Temel olarak dört noktalı ondalık gösterimde ifade edilir (örn. 192.168.0.1).
Veriler, kaynak IP adresinden hedef IP adresine yönlendirilir. Yol boyunca, veriler birden fazla yönlendiriciden geçebilir. Her yönlendirici, bir sonraki sekmeyi belirlemek için IP adresini kullanır.
4. Bağlantı Katmanı
Bağlantı katmanı, verilerin ağ üzerinden fiziksel olarak iletilmesinden sorumludur. Bunu, çeşitli ortam erişim denetimi (MAC) protokollerini kullanarak yapar.
Ethernet, en yaygın bağlantı katmanı protokolüdür. Ağa erişimi kontrol etmek için çarpışma algılamalı (CSMA/CD) taşıyıcı algılamalı çoklu erişim adı verilen bir teknik kullanır.
Bir cihaz veri iletmek istediğinde, başka herhangi bir cihazın hali hazırda iletim yapıp yapmadığını görmek için önce ağı dinler. Ağ temizse, cihaz iletime başlar. İki cihaz aynı anda iletim yapmaya çalışırsa, bir çarpışma meydana gelir ve her iki cihaz da iletimi durdurur. Cihazlar daha sonra rastgele bir süre bekler ve tekrar iletmeyi dener.
TCP/IP’nin Avantajları ve Dezavantajları Nelerdir?
TCP/IP’nin avantajları ve dezavantajları aşağıdakileri içerir:
Avantajları
- Mesafe ne olursa olsun cihazlar arasında istikrarlı bir bağlantı oluşturmanıza yardımcı olur.
- Farklı işletim sistemlerinde kusursuz çalışır.
- Farklı yönlendirme protokollerini destekler (IGP ve EGP protokolleri, sınıflı ve sınıfsız protokoller vb.).
- Ölçeklendirebileceğiniz bir istemci-sunucu mimarisine sahiptir.
- Açık kaynaklıdır.
- Hafiftir.
Dezavantajları
- Kurulumu ve izlenmesi kolay değildir.
- Taşıma katmanı bazen zahmetlidir.
- TCP/IP’deki protokolleri kolayca değiştiremezsiniz.
TCP/IP’yi Kimler Kullanır?
Yerel ağlar, belirli bir kullanıcı grubunun ihtiyaçlarını karşılamak üzere tasarlanmıştır. Örneğin, bir üniversite temel olarak, profesörler araştırma yaparken öğrencilerin ödevlerini tamamlayabilmesi için çeşitli türlerde yüzlerce ana bilgisayar içeren bir sisteme ihtiyaç duyabilir. Ayrıca ülke çapında ofisleri olan bir bilgisayar şirketinin yeni bir bilgisayar tasarlamak için bir dizi yüksek güçlü iş istasyonuna ihtiyacı olabilir. Her iki durumda da sistem yöneticileri ve programcılar, kendi özel iletişim sorunlarına ve hesaplama gereksinimlerine göre donanım ve iletişim protokollerini seçerler.
Ancak bilgisayar ağlarının ihtiyaçları çeşitlilik gösterdiği için nihai ağ sistemi diye bir şey yoktur. Genel olarak, ağlar iki kategoriye ayrılır: yerel alan ağları ve geniş alan ağları. Yerel alan ağları (LAN’lar) genellikle geniş alan ağlarından daha hızlıdır, ancak kapsama alanı sınırlıdır. Geniş alan ağları (WAN’lar) temel olarak LAN’lardan daha yavaştır, ancak dünya çapındaki ana bilgisayarlara bağlanabilir. Yerel bir ana bilgisayardaki bir kullanıcının, donanım farklılıklarına veya ağ yapılandırmasına bakılmaksızın uzak ağlarla iletişim kurmasına izin vermek için internet protokolü oluşturulmuştur.
Özetle, TCP/IP ile dosyaları farklı bir konumdaki uzak bir sunucuya aktarmalarına izin vermek için kullanıcılara uzaktan oturum açma olanağı sağlayabilirsiniz. IP, internet üzerinden veri serileri arasındaki iletişimi başlatan hafif bir protokoldür. Ancak IP, TCP ile birleştirildiğinde, veri aktarımından çok daha fazlasını yapabilir. Farklı bilgisayarları birbirine bağlar ve daha büyük miktarda veri gönderir. Ek olarak, TCP, ağın tıkanıklıktan arınmış olduğundan emin olmak için verilerin boyutunu ve akışını kontrol edebilir.