# TCP/IP Protokol Yapısı
 - YÖNLENDİRME 
TCP/IP, yapı olarak iki katmanlı bir haberleşme protokolüdür. Üst Katman TCP (Transmission Control Protocol) verinin iletimden önce paketlere ayrılmasını ve karşı tarafta bu paketlerin yeniden düzgün bir şekilde birleştirilmesini sağlar. Alt Katman IP (Internet Protocol) ise, iletilen paketlerin istenilen ağ adresine yönlendirilmesini kontrol eder.
İlk olarak 80'li yıllarda Amerikan Savunma Bakanlığı (DoD) tarafından OSI tabanlı sistemlere alternatif olarak geliştirilmiştir. DoD'un Amerikan piyasasındaki ana belirleyici olması, bu protokolün Amerikan yazılımlarında standart kabul edilmesine neden oldu. İnternetin babası sayılabilecek ARPANet bu nedenle TCP/IP ile doğdu. İnternet kullanımının büyük bir hızla artması ile birlikte, TCP/IP OSI üzerinde bir üstünlük kurmuş oldu.


## TCP/IP Protokol Yapısı.
  - Uygulama Katmanı (Application Layer): Farklı sunucular üzerindeki süreç ve uygulamalar arasında olan iletişimi sağlar.
  - Taşıma Katmanı (Host to host or Transport Layer): Noktadan noktaya veri akışını sağlar.
  - İnternet Katmanı: Routerlar ile birbirine bağlanmış ağlar boyunca verinin kaynaktan hedefe yönlendirilmesini sağlar.
  - Ağ Erişim Katmanı: Uç sistem ile alt ağ arasındaki mantık arabirime ilişkin katmandır.
  - Fiziksel Katman: İletişim ortamının karakteristik özelliklerini, sinyalleşme hızını ve kodlama şemasını belirler.
  - İnternet protokol takımı ağ modeli ve internet ve benzeri ağlar için kullanılan bir iletişim protokolleri kümesidir.
  - TCP/IP de veri biçimlendirilmiş şekilde nasıl olması gerektiği belirterek uçtan uca bağlantı sağlar.
  - TCP/IP modeli ve ilgili protokoller Internet Engineering Task Force (IETF) tarafından korunur.


## TCP/IP ile OSI arasındaki Farklar.
  - TCP/IP haberleşme görevini karmaşık bir iş olarak niteleyerek daha basit alt görevlere böler. Her bir alt görev diğer alt görevler için belirli servisler sunar ve diğer alt görevin servislerini kullanır. OSI modeli de aynı kavramı kullanır, ancak OSI modelinde her bir katmandaki protokollerin özellikleri ve birbiri ile ilişkileri kesin bir dille tanımlanmıştır. Bu özellik OSI modeli ile çalışmayı daha verimli kılar.
  - OSI modelinde katmanların görevlerinin kesin bir şekilde belirlenmiş olması yeni bir protokol geliştirmeyi kimi zaman güçleştirebilir. TCP/IP ise böyle bir kısıtlama getirmediğinden, gerektiğinde yeni bir protokol mevcut katmanlar arasına rahatlıkla yerleştirilebilir.
  - OSI modelinde gerekmeyen bir katmanın kullanılmaması gibi esnek bir yapıya izin verilmemektedir. TCP/IP ise katı kurallarla tanımlı olmadığından gereksinim duyulmayan katmanların kullanılmamasına izin verir. Örneğin uygulama katmanında olmasına rağmen doğrudan IP üzerinden kullanılabilen protokoller mevcuttur.
TCP/IP protokollere örnek olarak, dosya alma/gönderme protokolü (FTP (File Transfer Protocol)), elektronik posta iletişim protokolü (SMTP (Simple Mail Transfer Protocol)), TELNET protokolü (internet üzerindeki başka bir bilgisayarda etkileşimli çalışma için geliştirilen protokolü) verilebilir. Adını sıkça duyduğumuz WWW ortamında birbirine link objelerin iletilmesini sağlayan protokol ise Hyper Text Transfer Protocol (HTTP) olarak adlandırılmaktadır. TCP/IP protokolü aynı zamanda, diğer iletişim ağlarında da kullanilabilir. Özellikle pek çok farklı tipte bilgisayarı veya iş istasyonlarını birbirine bağlayan yerel ağlarda (LAN) kullanımı yaygındır.


## Donanım Katmanındaki Protokoller.
ARP (Adres Çözümleme Protokolü), bir IP adresinin hangi ağ kartına (yani MAC adresine) ait olduğunu bulmaya yarar. TCP/IP'de veri gönderiminde gönderilecek bilgisayarın hangisi olduğunu bulmak için kullanılır. Ayrıca IP adresini yeni almış olan bir makine, o IP adresinin sadece kendisinde olduğunu ARP kullanarak teyid eder. RARP (Ters ARP), protokolü ARP'ın tersi işlemi yapar, yani hangi MAC adresinin hangi IP adresini kullandığını bulur. Bir TCP/IP ağında RARP'ın çalışacağı garanti değildir, zira RARP bir RARP sunucusuna ihtiyaç duyar.


## IP Katmanındaki Protokoller.
ICMP (Internet Yönetim Mesajlaşması Protokolü), hata ve türlü bilgi mesajlarını ileten protokoldür. Örneğin, ping programı ICMP'yi kullanır.
RIP (Yönlendirici Bilgi Protokolü), yönlendiricilerin yönlendirme tablolarını otomatik olarak üretebilmesi için yaratılmıştır.
OSPF (İlk Açık Yöne Öncelik), aynı RIP gibi yönlendiricilerin yönlendirme tablolarını otomatik olarak üretebilmesine yarar. OSPF, RIP'ten daha gelişmiş bir protokoldür.
IGMP (Internet Grup Mesajlaşma Protokolü), bir sistemin internet yayınlarına (multicast) abone olmasına ve aboneliği durdurmasına yarar. Bu yayınlar, UDP üzerinden yapılır ve genelde çoklu ortam (radyo veya video) içerikli olurlar.
DHCP (Dinamik Cihaz Ayar Protokolü), bir TCP/IP ağına bağlanan bir cihaza otomatik olarak IP adresi, ağ maskesi, ağ geçidi ve DNS sunucusu atanmasına yarar.