tcp/ip etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
tcp/ip etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

5 Mart 2015 Perşembe

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 (Router Bilgi Protokolü), router’ların yönlendirme tablolarını otomatik olarak üretebilmesi için yaratılmıştır.

OSPF (İlk Açık Yöne Öncelik), aynı RIP gibi router’ların 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.


Peki DHCP nedir? Nasıl çalışır? Önemi nedir?


Cihazımız bir ağa bağlandığı anda ona bir ip adresi verilir. Ayrıca kullanabileceği bir de DNS sunucusu otomatik olarak atanır.
Böylece biz hiç yorulmadan cihazımız ağa otomatik olarak bağlanır ve gerekli kontrollerden geçerek ağdaki diğer cihazlarla iletişime hazır hale gelir.



ARP ve RARP protokolleri nedir? Ne işe yarar? Donanımla ilgisi nedir?

TCP/IP protokolleri içinde donanım katmanında yer alan iki protokol vardır: ARP ve RARP.

  • 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.

Yani örneğin cihazımızdaki wireless adaptörünün MAC adresinin cihazımıza atanan IP numarası ile eşleşmesinden sorumludurlar. Donanım seviyesinde çalıştıklarından bunlara Donanım Katmanındaki protokoller denir.

Burada önemli olan nokta MAC adresinin ve yerel ip'nizin bağlantılı olduğunu, aynı ağ üzerinden bağlanan pc, tablet, telefon vb cihazların tek bir global ip üzerinden (superonline, ttnet, vb servis sağlayıcınızın size verdiği ip adresi üzerinden) nasıl olup da birbirine karışmadan pürüzsüz şekilde internete bağlanabildiğini anlamaktır. 

Görüldüğü gibi bugünkü pürüzsüz iletişimin altında sağlam bir protokol mimarisi yatıyor. Vakti zamanında büyük emekler ve revizeler ile oturtulan bu protokol sistemi sayesinde herkes, her yerden ve her cihazdan sorunsuz şekilde aynı anda internetten yararlanabiliyor. 
Merak edenler daha detaylı bilgi için RPC'leri okuyabilirler.

TCP/IP nedir? ( = bilgisayarlar nasıl oluyor da birbirleriyle haberleşebiliyor?)

" TCP/IP protokolleri bilgisayarlar arası veri iletişiminin kurallarını belirleyen sisteme denir."
Takdir edersiniz ki iletişim mekanizması olmadan bilgisayarlar (ve de mobil cihazlar) ancak birer oyuncak ya da daktilo olarak kullanılabiliyor. Bu yüzden bilgisayarlar arası iletişimi en temelden öğrenmek, meraklı yazılımcının olmazsa olmazlarındandır diye düşünüyorum.

TCP/IP protokollerine örnek olarak her gün defalarca e-posta göndermemizi sağlayan SMTP (Simple Mail Transfer Protocol), ya da internete milyonlarca kişinin aynı anda erişmesine imkan veren HTTP (Hyper Text Transfer Protocol) verilebilir.

Görüldüğü gibi TCP/IP protokolleri sayesinde bilgisayar üreticisi ne olursa olsun, cihazının özellikleri nasıl olursa olsun, herkesin bilgisayarlar arası iletişim ağından yararlanabilmesini işte bu protokoller sağlamıştır.
"Donanım katmanındaki protokoller : ARP, RARP 
IP Katmanındaki protokoller : ICMP, RIP, OSPF, IGMP, DHCP
Taşıma katmanındaki protokoller : UDP, TCP 
Ugulama katmanındaki protokoller : DNS, HTTP, HTTPS, POP3, SMTP, FTP.  
Hepsi TCP üzerinden çalışabilir."

HTTP nedir?.

  • "Http (Hyper Text Transfer Protocol) internette sunucular ve son kullanıcılar arasında bilgilerin nasıl aktarılacağına dair kurallar ve yöntemleri düzenleyen bir sistemdir."

Her gün internete milyarlarca insanın özgürce erişmesini ve paylaşım yapmasını sağlayan protokol, HTTP'dir. Web server ile client arasında mesaj alışverişini önce bir TCP bağlantısı kurarak güvenilir şekilde sağlar. 80 no.lu TCP portunu kullanır. Serverden clienta mesaj ulaştığında bağlantı kesilir. Kalıcı bağlantı sağlanmaz.

Not: Neden TCP bağlantısı? Burada TCP ile UDP protokollerinin yani taşıma katmanı protokollerinin arasındaki farkı bilmek gerekiyor. 
UDP protokolü gönderdiği mesajın tam olarak ulaştığından emin olmak için çaba göstermez. 
TCP ise mesaj tam olarak ulaşmadıysa tekrar gönderir. Ta ki ulaştığından emin olana kadar. 
İşte HTTP protokolünde de mesajların tam olarak gönderildiğinden emin olunması gerektiğinden TCP üzerinden çalışmaktadır.

Web serverdan bir web sayfası alabilmek için request yollarız. Bu request mesajı header ve (bazen) body kısımlarından oluşur. Web server bu istek mesajına bir response gönderir. Response mesajında da yine header ve (çoğunlukla) body bulunur. Header'da mesajla ilgili meta bilgileri, body'de ise mesajın içeriği yer alır.

HTTP daima request/response yani istek/yanıt şeklinde çalışır.

Peki DNS nedir?

  • "DNS (Alan Adı Sistemi), alan adı verilen isimler (mesela www.wikipedia.org) ile IP adreslerini birbirine bağlayan sistemdir. Paylaştırılmış bir veritabanı olarak çalışır. UDP veya TCP üzerinden çalışabilir."
Bazen bir web sitesine erişimin engellendiğini duyarız. Hemen google'a girip DNS değiştirme konulu yazıları gözden geçirir, anlatılanları aynen yapar ve engelli siteye girmenin mutluluğunu yaşarız.
İşte burada DNS protokolünün nasıl çalıştığını bilmenin gerçek hayattaki faydasını görüyoruz.

DNS protokolü, bir isim olarak yazdığımız web sitesi adresinin gerçekte hangi ip numarasında yer aldığını bir tablodan bakarak tarayıcınızı o adrese yönlendiren bir sistemdir.
Yani aslında biz tarayıcıya www.google.com yazdığımızda DNS protokolü gidip adres tablosundan google'ın hangi ip numarasında olduğunu arıyor. Burada ip numarasını posta kodu gibi düşünebiliriz.
DNS protokolü google'ın ip numarasını bulduğunda tarayıcıyı o adrese yönlendirir. Böylece sayfaya girebiliriz.

İşte çeşitli nedenlerle engelleme yapıldığında DNS serverındaki tablodan google'a karşılık gelen ip yerine "site engellenmiştir kardeşim" yazan boş bir sayfanın ip'si konuluyor.
Böylece adres olarak www.google.com yazdığımız halde engellendi sayfasına ulaşıyoruz.
DNS server olarak engelleme olmayan bir server adresi yazdığımızda ise, tablodan karşılık gelen ip ye yönlendirme yapılıyor ve her zamanki gibi google a girebiliyoruz.

Peki, neden direk ip numarasını yazmıyoruz ki? diyebilirsiniz. Çünkü ip numaralarını hatırlamak çok güçtür, ve zaman zaman ip numaraları değişebilmektedir. DNS protokolü işte bu ihtiyacı kıarşılamak için ortaya çıkmıştır.