Ağ Temelleri

8 - TCP/IP Protokol Kümesi

Emre Can Yılmaz

Ondokuz Mayıs Üniversitesi

2024

TCP/IP Protokol Kümesi

Temel Kavramlar

  • Protokol: Bir ağ üzerindeki bilgisayarlar arasındaki iletişimi yöneten kurallar kümesidir.
  • Sunucu/İstemci Mimarisi: Ağ üzerinde istemci adı verilen cihazlar, sunucu adı verilen cihazlardan hizmet talep eder.
  • Port: İstemcilerin ve sunucuların birbirleriyle iletişimde kullandığı sanal bağlantı noktalarıdır.

Giriş

  • TCP/IP, ağ iletişimi için tanımlanmış bir protokol kümesidir.
  • İnternet ağında TCP/IP protokol kümesi kullanılır.
  • Bu model, ABD Savunma Bakanlığı tarafından geliştirilmiştir.
  • Tasarlanış amacı, her türlü şartta (nükleer savaş dahil) sürekli ayakta durabilen bir ağ yapısı oluşturmaktı.
  • TCP/IP (Transmission Control Protocol / Internet Protocol) modeli, OSI standartlarına uygun düzenlenmiş 4 katmandan oluşmaktadır.
  • TCP ve IP isimleri bu küme içerisinde birer protokol adı iken “TCP/IP” şeklinde kullanılması protokol kümesine işaret eder.

TCP/IP ve OSI Modelleri

TCP/IP Katmanları

  1. Uygulama Katmanı
  2. Taşıma Katmanı
  3. İnternet Katmanı (Ağ Katmanı)
  4. Ağ Erişim Katmanı (Fiziksel ve Veri Bağlantı Katmanları)

Veri Aktarımı - TCP/IP

Veri Akışı - TCP/IP

TCP/IP Protokolleri

Uygulama Katmanı

  • OSI modelindeki Uygulama, Sunum ve Oturum katmanlarının birleşiminden oluşan TCP/IP katmanıdır.
  • Uygulamaların çalışması, iletim için hazırlık ve ortak bir formatta haberleşme bu katmanda gerçekleşir.
  • Son kullanıcının etkileşime girdiği katmandır.

Uygulama Katmanı Protokolleri

Uygulama katmanında tanımlı olan protokoller, web tarayıcı, e-posta, dosya aktarımı gibi uygulamalara hizmet verirler.

HTTP (HyperText Transfer Protocol)

  • Web sayfalarının aktarımı için kullanılır.
  • Kullanıcı istekte bulunur, sunucu web sayfa içeriğini gönderir.
  • Öntanımlı port numarası 80’dir.

HTTPS (Secure HTTP)

  • HTTP isteklerini ve yanıtlarını şifrelenmiş biçimde iletir.
  • SSL kullanır.
  • Öntanımlı port numarası 443’tür.

HTTP İstek Örneği

FTP (File Transfer Protocol)

  • Dosya aktarım protokolüdür.
  • FTP hizmeti öntanımlı 21. porttan yapılır.

SNMP (Simple Network Management Protocol)

  • Ağ içerisinde bulunan router, switch gibi cihazların merkezi bir yerden gözlenmesi ve yönetilmesi için kullanılan prokoldür.

SMTP (Simple Mail Transfer Protocol)

  • E-posta gönderimi için kullanılır.
  • Güvensiz bağlantılar için 25. port, güvenli bağlantılar için 465. veya 587. portlar kullanılır. (Mümkünse 587 tercih edilir.)

IMAP (Internet Access Message Protocol)

  • Sunucudaki mailleri istemci tarafına alabilen ve yönetebilen protokol.
  • Mail gönderemez.
  • Güvensiz bağlantı için 143. port, güvenli bağlantı için 993. port kullanılır.

POP3 (Post Office Protocol v3)

  • Sunucudan mailleri çekip okumaya imkan sağlayan protokol.
  • Güvensiz bağlantı için 110. portu, güvenli bağlantı için 995. portu kullanır.

IMAP vs POP3

Özellik POP3 IMAP
Mesajlar İstemciye taşınır, sunucudan silinir. Sunucuda kalır, istemciye kopyası indirilir.
Erişim Tek bir istemci erişebilir. Birden fazla istemci erişebilir.

DHCP (Dynamic Host Configuration Protocol)

  • İstemcilere otomatik IP adresi dağıtır.
  • 67 ve 68. portları kullanır.

DNS (Domain Name System)

  • Alan adları ile IP adreslerini birbirine bağlayan sistemdir.
  • Paylaştırılmış bir veritabanı olarak çalışır.
  • 53 numaralı portu kullanır.

Ör: Alan adı: emrecan.dev, IP adresi: 172.67.131.12

Telnet

  • En eski bağlantı şekillerinden biridir.
  • Uzaktaki bilgisayarlara bağlanmak için kullanılır.
  • 23 numaralı port kullanılır.
  • Güvenlik açıkları nedeniyle günümüzde nadiren kullanılır.

Ping

  • Ping, bir IP adresinin veya bir bilgisayarın erişilebilirliğini test etmek için kullanılan bir yardımcı programdır.
  • ICMP (Internet Control Message Protocol) protokolünü kullanır.

SSH (Secure Shell)

  • SSH, telnet gibi uzaktaki sunuculara bağlanmak için kullanılır.
  • İstemci ve sunucu arasında bağlantı şifrelidir (güvenli).
  • Öntanımlı olarak 22. portu kullanır.
  • Uzaktaki sunucuya SSH ile bağlanabilmeniz için, sunucunun IP’sini, kullanıcı adını ve parolayı bilmeniz veya SSH anahtarına sahip olmanız gerekir.

Taşıma Katmanı Protokolleri

  • Taşıma katmanında TCP ve UDP olmak üzere iki farklı protokol tanımlanmıştır.
  • TCP: Transmission Control Protocol
  • UDP: User Datagram Protocol

TCP (Transmission Control Protocol)

  • TCP bağlantıya yönelik çalışır, yani iki istemci arasında sanal bir oturum kurulur. İki yönlü iletim yapılır.
  • Veri aktarımı bu katmanda denetim altında gerçekleşir.
  • Akış denetimi, tıkanma kontrolü, veriyi parçalama ve birleştirme özellikleri vardır.
  • Hata denetimi yapar. Paketler gitmediyse bir daha gönderir.
  • Taşıma katmanında TCP ile bir kerede gönderilebilen veri parçasına bölüm (segment) denilir.
  • HTTP, FTP, SMTP, SSH protokolleri TCP’i kullanır.

TCP Başlığı (TCP Header)

UDP (User Datagram Protocol)

  • UDP bağlantısız çalışır, yani gönderilecek veri karşıdaki istemcinin adresine gönderilir.
  • UDP paketlerin karşı tarafa ulaşıp ulaşmadığını kontrol etmez.
  • Genellikle küçük boyuttaki verileri gönderir. Parçalama ve birleştirme özelliği yoktur.
  • DNS, DHCP gibi protokoller oturum kurmadan çalışır.

UDP Başlığı (UDP Header)

Ağ Katmanı Protokolleri

  • Ağ katmanı, TCP/IP protokol kümesinin en önemli katmanıdır.
  • Internet IP yönlendirme protokolü üzerine kurulmuştur.
  • Bu katmanda tanımlanan protokoller, binlerce hatta milyonlarca yönlendiricinin birbirine bağlanmasıyla, paketlerin alıcısına en uygun yol üzerinden optimum maliyetle aktarılma işini yapmaktalar.
  • Bu katmandaki protokoller: IP, ICMP, ARP

IP Protokolü (Internet Protocol)

  • IP adresi, bir ağa bağlı istemcilerin ağ üzerinden birbirlerine veri yollamak için kullandıkları adrestir. Ör: 192.168.2.10
  • Bu katmanda taşıma katmanından gelen segmentlere özel bir IP başlık bilgisi eklenir.
  • Bu katmanda, veri parçasına artık IP paketi denmektedir.

IP Başlığı (IP Header)

ICMP (Internet Control Message Protocol)

  • Kontrol amaçlı bir protokoldür.
  • Genel olarak sistemler arası kontrol mesajları ICMP üzerinden aktarılır.
  • Örnek: ping komutu ICMP kullanır.

ARP (Address Resolution Protocol)

  • Adres çözümleme protokolüdür.
  • Yerel ağda iletişim MAC adresleri aracılığıyla yapıldığı için, IP adreslerine karşılık gelen MAC adreslerinin bilinmesi gerekmekte.
  • Bu protokol, IP adreslerine karşılık gelen yerel alan ağı adreslerini (MAC adreslerini) belirlemekte ve dönüşüm tablolarında bu değerleri tutmaktadır.

ARP İşleyişi

  • Bir istemciye IP adresi geldiğinde onun MAC adresi karşılığını ARP dönüşüm tablosunda arar.
  • Eğer dönüşüm tablosunda MAC adresi yoksa tüm ağa ARP isteği gönderir.
  • Ağdaki diğer bilgisayarlar bu IP’nin MAC adresini biliyorlarsa isteği yapan bilgisayara yanıtı gönderir.
  • İlk istekte bulunan bilgisayar kendi ARP dönüşüm tablosunu da günceller.

3 Yollu El Sıkışma (3-Way Handshake)

  • İki bilgisayar arasında bir TCP bağlantısı kurulmak istendiğinde işleyiş şu şekilde olur:
  1. A bilgisayarı B bilgisayarına TCP SYNchronize mesajı yollar.
  2. B bilgisayarı A bilgisayarının isteğini aldığına dair bir TCP SYN+ACKnowledgement mesajı yollar.
  3. A bilgisayarı B bilgisayarına TCP ACK mesajı yollar.
  4. B bilgisayarı bir ACK “TCP connection is ESTABLISHED” mesajı alır.

Üç yollu el sıkışma adı verilen bu yöntem sonucunda TCP bağlantısı açılmış olur.

3 Yollu El Sıkışma - Devam

TCP vs UDP

Bölüm Özeti

  • TCP/IP protokol kümesi, internetin temelidir.
  • Dört katmandan oluşur: Ağ Erişim, İnternet, Taşıma ve Uygulama.
  • Her katman farklı protokoller kullanır ve belirli görevleri yerine getirir.
  • TCP ve UDP, taşıma katmanının iki önemli protokolüdür.
  • IP, internet katmanının temel protokolüdür.

Gelecek Hafta

  • IP Adresleme Mekanizmasını inceleyeceğiz.