TCP/IP Nedir?
TCP/IP: Bu modelden bahsederken kesinlikle referans kelimesini kullanmayacağım çünkü TCP/IP network’ün ta kendisidir. Network’ün birebir modelidir. Siz Wireshark’ta network’ünüzü monitör ettiğinizde karşınıza çıkan şeyler aslında TCP/IP modelidir. 4 katmanlı bir modeldir. TCP/IP protokol suite diye de adlandırılır. Protokollerin birbiriyle etkileşimli olarak çalıştığı bir modeldir. Üst katman alt katman ile, alt katman da kendinden sonra gelecek bir alt katman ile etkileşimli olarak çalışır. Bunu tıpkı matruşkaların iç içe geçmiş modeli gibi düşünebilirsiniz. OSI’de de bahsettiğimiz bu matruşka benzetmesi bu konuda daha kavramsal olarak oturur. Örneğin bir HTTP protokolünü, HTTP matruşkasını düşündüğümüzde bu matruşkanın içinde TCP olduğunu, TCP’nin içinde ise IP matruşkası, IP matruşkasında da yani tüm matruşkaların da nihai olarak Ethernet matruşkası içinde taşındığını tiyatrolaştırabilirsiniz. Network’te yaşananlar da aynen öyledir.
TCP/IP’nin resimde de görüldüğü gibi 4 katmanı vardır. Bunları 4. katmandan yani yukarıdan aşağı doğru indikçe isimlerini söyleyecek olursak eğer;
Application Layer -> Transport Layer -> Internet Layer -> Network Access Layer
(4) Application Layer: OSI’de de anlattığımı bu model için de söyleyebiliriz. Ayrıca OSI’deki “uygulama, sunum ve oturum” katmanlarını TCP/IP’de karşılığı olan katman Application Layer diyebiliriz.
(3) Transport Layer: Burada gönderilecek olan bilgi bu katmanda segmentlere ayrılmış durumdadır. Bu katmanda en önemli olgu olan TCP ya da UDP karşımıza çıkar. Burada hedefin uçtan uca port numaraları eklenerek segmentlere bölünüp taşınması için kullanılır. Çok önemli bir katmandır.
(2) Internet Layer: Burada segmentlerin, paket diye adlandırılan başka bir matruşka içerisine alındığını söyleyebiliriz. Bu katmanın da en önemli adresi “IP” adresidir. Uçtan uca yönlendirme için, mesajların yönlendirilmesi için IP bilgisi kullanılır. Hedefe giden en iyi yol, bu protokol ile bulunur.
(1) Network Access Layer: Bu katmanda karşımıza Switch ağ cihazı gelir. Network erişim katmanı aynı zamanda hata kontrolü ve akış kontrolü de yaparak uçtan uca iletişimde bozuk olan frame’lerin ya da bozuk olan network Access layer bilgisinin tekrardan gönderilmesinden sorumludur. Bu kavrama hata denetimi ve akış kontrolü denilir. Network Access Layer’ı OSI ile bağdaştırdığımızda OSI’deki 1. ve 2. katmanların birleşmiş halidir yani “Data Link Layer ve Physical Layer” katmanlarının birleşmiş halidir ve TCP’de Network Access Layer olarak birleşmiştir. Bu iki katmanın sorumluluğu TCP/IP’de Network Access Layer olarak karşımıza çıkar.
PDU’ları yukarıdan aşağıya sayacak olursak; Data > Segment > Paket > Frame
Data: Uygulama katmanında gönderilecek olan bir veridir.
Segment: TCP – UDP bilgisi yer alır yani kaynak/hedef – port numarası eklenir. Hedef uç cihazda hangi servisten hangi bilgiyi talep ettiğimizi bu katman belirler, port numarası bilgisi belirler.
Paket: Burada IP adresi, source ve destination IP adresi bilgisi eklenir. Bu PDU’nun adına paket denir.
Frame: Source ve destination MAC adresi bu katmanda eklenir.
- Kaynaktan hedefe, doğru encapsulation ve decapsulation dediğimiz macerayı incelemek üzere HTTP, TCP, DHCP, TFTP, Telnet, SSH, ICMP ve ARP protokollerinin hangi matruşka kullandıklarına sırasıyla bakalım.
HTTP protokolü, client-server çalışır. Aşağıdaki resimde görüldüğü gibi aşağıdaki protokolleri (matruşkaları) kullanır. HTTP, TCP, IP ve Ethernet. IP ve Ethernet matruşkalarını çoğu trafik modellerinde göreceğiz. HTTP, aşağıdaki 4 katmanlı modelde sırasıyla; HTTP (gönderilecek olan veriyi), önce TCP sonra IP ve sonra da Ethernet matruşkasına kapsüller. Hedefte de tam tersi şekilde dekapsülasyon işlemi gerçekleştirilir.
DHCP, UDP protokolünü kullanır. Burada TCP ve UDP arasındaki farkı kısaca özetleyecek olursak, TCP uçtan uca veri transferinde verinin güvenli bir şekilde hedefe ulaştığını garanti eder. Kaybolan mesajlar tekrar iletilir ve çok iyi derecede akış kontrolü yapan bir protokoldür. Tabi güvenlik kontrollerinin yani mesaj kayboldu mu? gönderildi mi? bu kontroller TCP’de hız açısından düşündüğümüzde gecikmeye neden olur. UDP için durum böyle değildir. Verinin ulaştığını garanti etmez ancak bu durum TCP’ye göre daha hızlı iletim yapılması anlamına gelir. Ses ve görüntü trafiği özellikle UDP kullanır. Mesela internet radyosu UDP uygulamasına çok güzel bir örnektir.
TFTP protokolünün UDP, IP ve Ethernet matruşkalarını kullandığını aşağıdaki resimde görüyoruz. TFTP’nin açılımının başındaki “Trivial” anlamına gelir yani Türkçeye “önemsiz” olarak çevirilir. Bu yüzden TFTP protokolünü Wireshark’ta izlediğimizde veri transferinin UDP ile taşındığını görürüz.
Telnet, TCP protokolünü kullanır. Yine aynı şekilde IP ve Ethernet vazgeçilmez matruşkalarımızdır. Bunun yanı sıra SSH da TCP kullanır.
Bazen de 4 katmanlı modelin ötesinde farklı matruşka türleri ve farklı uygulamalar karşımıza çıkar. Yani her zaman 4 katmanlı olacak diye bir şey yoktur. Örneğin ICMP.
ICMP, hemen altında IP ve Ethernet görürüz. Bir ping attığınızda Wireshark’ta bu üçünü görürüz. “ICMP – IP – Ethernet”.
ARP’de de 2 tane matruşka vardır.
Yorumlar
Yorum Gönder