MsXLabs.org & Vikipedi, özgür ansiklopedi
İnternet protokol takımı, İnternet'in çalışmasını sağlayan bir iletişim protokolleri bütünüdür. Bazen TCP/IP protokol takımı olarak da adlandırılır. TCP (Transmission Control Protocol ) ve IP (Internet Protocol) ün kısaltmalarıdır.
Konu başlıkları
- 1 Katmanlar / Layers
- 2 IP adreslerinin organizasyonu
- 3 Paket yönlendirmesi
- 4 Önemli TCP/IP protokolleri
- 4.1 Donanım katmanındaki protokoller
- 4.2 IP katmanındaki protokoller
- 4.3 Taşıma katmanındaki protokoller
- 4.4 Uygulama katmanındaki protokoller
TCP/IP'de, yollanan veriler katmanlara göre paketlenerek yollanır ve alıcıda bu paketler teker teker açılıp veri ulaştırılır. Bu yöntem, yollanan veri, yollama şekli ve yollama yolunu birbirinden ayırarak birlikte çalışmayı kolaylaştırır: örneğin bir bilgisayarda bağlantı olarak Ethernet yerine Wi-fi kullanılması, üzerinde başka bir web tarayıcı kullanılmasını gerektirmez.
Katmanlar, bahsedilen standarda göre dört veya yedi şekilde açılabilir. TCP/IP'de genel olarak dört katmandan bahsedilir, bunlar:
- Uygulama: Bu katmanda veriyi göndermek isteyen uygulama ve kullandığı dosya formatı bulunur. Örneğin "HTTP üzerinden HTML formatında yazılmış Wikipedia ana sayfası".
- Taşıma: Bu katmanda verinin ne şekilde gönderildiği gösterilir. TCP veya UDP gibi protokoller bu katmandadır.
- Ağ: Bazen IP katmanı olarak da anılan bu katman, IP adreslerinin veriye eklendiği noktadır. Bu katmandaki uygulamalar IP veya IPv6 gibi iletişim protokolleri olabileceği gibi ICMP, IGMP veya ARP gibi durum bildirme ve katmanlar arası bağ protokolleri de olabilir.
- Fiziksel (Veri bağlantı): En alt katman olan fiziksel katmanda Ethernet, Wi-fi, modem, token ring, ATM gibi protokoller bulunur.
- Wikipedia web sunucusu, HTML çıktısını yaratır ve üzerinde çalıştığı sisteme "şu veriyi şu adrese şu porttan(80-HTTP) yolla" komutu verir. Bu ilk veri, dördüncü katman olan uygulama katmanından gelen veridir.
- Sistem, bu çıktıya öncelikle üçüncü katman olan taşıma katmanının bilgilerini iliştirir, yani paketin başına port bilgisini ve paket boyunu yazar.
- Ardından, deminki pakete bu sefer de ağ katmanı bilgileri, başka bir deyişle yollayan bilgisayarın ve sizin bilgisayarınızın IP adresleri ve paketin toplam boyu, eklenir.
- Son olarak, paket fiziksel katmanın eline geçer ve o katman da fiziksel adresleri ve paketin yeni boyunu da yazarak paketi gönderir.
- Paket, dünya etrafında küçük bir tur attıktan sonra sizin bilgisayarınıza ulaşır. Yol boyunca değişik makineler paketi alır, açar, ihtiyaca ve ağ durumuna göre tekrar paketler. Paket sonunda sizin bilgisayarınıza ulaştığında sizin bilgisayarınız da önce fiziksel paketi, ardından ağ paketini, ardından taşıma paketini ve en son da uygulama paketini açar. Paketten çıkan veriyi web tarayıcınıza verir. Web tarayıcısı da size gösterir.
Katmanlama, uygulamalar arası uyumu kolaylaştırdığı gibi büyük bir dezavantaja da sahiptir: her katman veriye tekrarlanan (dolayısıyla gereksiz) veriler ekler. Örneğin her katman pakete ekstra bir boy bilgisi ekleyecektir. Çoğu katman verinin doğruluğundan emin olmak için muhtelif rakamlar da ekleyebilir. Bu fazlalığın, dünya internet trafiğinin %15 gibi bir kısmını oluşturduğu tahmin edilmektedir.
IP adreslerinin organizasyonu
Katmanlama sistemindeki ilk üç katman (yani donanım, ağ ve taşıma katmanları) arasından:
- Donanım katmanı, bilgisayarın üzerindeki ağ donanımını tanıyabilmek için bir ağ kartı numarası. Bu kart numarası ağ kartına yazılı gelir (yani değiştirilemez) ve MAC adresi olarak anılır.
- Ağ katmanı, bilgisayara ulaşabilmesi için verilen IP adresini kullanır.
- Taşıma katmanı ise, değişik aynı bilgisayarda çalışan yazılımların aynı anda internete ulaşabilmesi için her yazılıma bir port numarası verir.
- Ağlar, alt ağlara bölünebilir ve hangi makinenin hangi ağda olduğu hızlıca anlaşılabilir
- Hangi makinenin hangi ağda olduğu kolayca anlaşılabildiği için paket yönlendirme kolaylaşır
- Son olarak, alt ağlara bölünmedeki bazı standartlar sayesinde işletim sistemleri otomatik olarak diğer ağlara erişim için gerekli donanımlara ulaşabilir.
Bazı IP adresleri ve maskeleri bazı kullanımlar için ayrılmıştır. Bunlar şu şekildedir:
- Yerel ağlar için ayrılmış adresler:
- 10.0.0.0 ile 10.255.255.255 arası adresler (yani maske olarak 255.0.0.0)
- 172.16.0.0 ile 172.31.255.255 arası adresler (yani maske olarak 255.255.0.0)
- 192.168.0.0 ile 192.168.255.255 arası adresler (yani maske olarak 255.255.0.0)
- 169.254.0.0 ile 169.254.255.255 arası adresler (yani maske olarak 255.255.0.0)
- Bir makinenin kendisine konuşması (loopback) için ayrılmış adresler:
- 127.0.0.0 ile 127.255.255.255 arası adresler (yani maske olarak 255.0.0.0)
Paket yönlendirmesi
TCP/IP ile mektup teknolojilerini karşılaştıracak olursak:
- Mektubun gönderildiği kişi, mektubu içeriğine bakacak olan kişidir. Dolayısıyla, TCP/IP'de mektubun alıcısı bir uygulamadır (yani bir program). TCP/IP'de değişik uygulamalar değişik port numaraları ile temsil edilirler. TCP/IP'de 65536 uygulama aynı anda desteklenebilir.
- Mektubun gönderildiği adres, mektubun ulaşacağı yerdir. TCP/IP'de bunun karşılığı IP adresidir. IP'nin günümüzdeki sürümünde dört milyara yakın IP adresi destelenmektedir, IP'nin bir sonraki sürümünde bu sayının 2128' (yani dört üzeri dört milyar) çıkartılması planlanmaktadır.
- Mektubu göndermek için bir posta idaresi ve bir postahane gerekmektedir. TCP/IP'de postahaneler ağ geçidi (İngilizce gateway) olarak adlandırılır.
- Öncelikle, bir önceki bölümde bahsedildiği gibi bir cihaz başka bir cihazla aynı ağda olup olmadığını kendi IP adresi ve diğer IP adresini kendi ağ maskesini kullanarak karşılaştırarak anlar. Demin değinildiği gibi, ağ maskesi 255.255.255.0 ise 192.168.0.1 ile 192.168.0.2 aynı ağdadır, 192.168.1.1 ise başka bir ağdadır. Bir cihazın başka bir ağda olması, arada bir ağ geçidi (ağ geçidi bir switch, router, NAT veya bridge olabilir) kullanılması gerektiğine işarettir.
- Bir ağ geçidi, tüm fiziksel çıkışlarının hangi ağda olduğu bilgisini tutar (buna IP yönlendirme tablosu denir). Ağ geçidine bir paket ulaşınca, geçit hangi ağa hangi çıkıştan ulaşacağına bu tablodan bakarak karar verir. Tablo, elle girilebilir veya RIP / OSPF gibi protokollerle otomatik olarak oluşturulabilir.
- Öte yandan, her ağ geçidi dünyadaki tüm ağ geçitlerinin nerede olduğunu tabii ki aklında tutmaz. Dolayısıyla, çoğu ağ geçidinin bir de varsayılan geçit (yani "paket nereye gidiyor bilmediğinde pakedin verileceği yer") girdisi bulunur. Örneğin sizin evinizdeki bir kişisel ağda çok yüksek ihtimalle varsayılan geçit olarak TTnet kullanılıyor olacaktır.
Önemli TCP/IP protokolleri
1. Donanım katmanındaki protokoller
- ARP (Address Resolution Protocol, yani 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 (Reverse ARP, yani 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.
- ICMP (Internet Control Message Protocol, yani 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 Information Protocol, yani Router Bilgi Protokolü) router'ların yönlendirme tablolarını otomatik olarak üretebilmesi için yaratılmıştır.
- OSPF (Open Shortest Path First, yani İ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 Group Messaging Protocol, yani 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 (Dynamic Host Configuration Protocol, yani 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.
- UDP (User Datagram Protocol, yani Kullanıcı Veri Protokolü), IP üzerinden veri yollamaya yarar. Verilerin ulaşacağını garanti etmez ve UDP paketlerinin maksimum boy sınırları vardır. Öte yandan, UDP son derece basit ve bağlantı gerektirmeyen (connectionless) bir protokoldür.
- TCP (Transmission Control Protocol, yani Gönderim Kontrol Protokolü), IP üzerinden ulaşma garantili ve harhangi bir boyda veri gönderilmesine imkan tanıyan bir protokoldür. UDP'den farklı olarak, TCP'de iki cihazın iletişim kurabilmesi için önce birbirlerine bağlanmaları gerekmektedir.
- DNS (Domain Name System, yani Alan Adı Sistemi) alan adı verilen isimler (mesela Wikipedia) ile IP adreslerini birbirine bağlayan sistemdir. Paylaştırılmış bir veritabanı olarak çalışır. UDP veya TCP üzerinden çalışabilir.
- HTTP (HyperText Transfer Protocol, yani HiperMetin Yollama Protokolü) ilk başta HTML sayfaları yollamak için yaratılmış olan bir protokol olup günümüzde her türlü verinin gönderimi için kullanılır. TCP üzerinden çalışır.
- HTTPS (Secure HTTP yani Güvenli HTTP) HTTP'nin RSA şifrelemesi ile güçlendirilmiş halidir. TCP üzerinden çalışır.
- POP3 (Post Office Protocol 3, yani Postahane Protokolü 3) e-posta almak için kullanılan bir protokoldür. TCP üzerinden çalışır.
- SMTP (Simple Mail Transfer Protocol, yani Basit Mektup Gönderme Protokolü) e-posta göndermek için kullanılır. TCP üzerinden çalışır.
- FTP (File Transfer Protocol, yani Dosya Gönderme Protokolü) dosya göndermek ve almak için kullanılır. HTTP'den değişik olarak kullanıcının illa ki sisteme giriş yapmasını gerektirir. Veri ve komut alış verişi için iki ayrı port kullanır. TCP üzerinden çalışır.
- SFTP veya FTPS (Secure FTP, yani Güvenli FTP), FTP'nin RSA ile güçlendirilmiş halidir. TCP üzerinden çalışır.
Katmanlar (Layers)
MsXLabs.org & Vikipedi, özgür ansiklopedi
7. Uygulama tabakası
Uygulama katmanı veya 7. katman (İngilizce: application layer), programların ağı kullanabilmesi için araçlar sunar. Bilgisayar uygulaması ile ağ arasındaki arabirim görevini yerine getirmektedir.
Katmanların sıralanışında kullanıcıya en yakın olanıdır. Sadece bu katman diğer katmanlara servis sağlamaz. Uygulama katmanında ise uygulamaların network üzerinde çalışması sağlanır.
Uygulama katmanı ağ hizmetini kullanacak olan programdır. Bu katman kullanıcının gereksinimlerin karşılar. Örneğin veritabanı uygulaması ya da e-mail uygulaması.
Microsoft API'leri uygulama katmanında çalışır. Bu API'leri kullanarak program yazan bir programcı, örneğin bir ağ sürücüsüne erişmek gerektiğinde API içindeki hazır aracı alıp kendi programında kullanır. Alt katmanlarda gerçekleşen onlarca farklı işlemin hiçbirisiyle uğraşmak zorunda kalmaz.
Uygulama katmanı için bir diğer örnek HTTP'dir. HTTP çalıştırılan bir program değil bir protokoldür. Yani bir kurallar dizesidir. Bu dizeye göre çalışan bir tarayıcı (browser), aynı protokolü kullanan bir Web sunucuya erişir.
Uygulama katmanı iletişim kuralları
- HTTP
- SMTP
- POP
- SNMP
- FTP
- Telnet
- NFS
- NTP
- SSH
6. Sunum katmanı
Sunum Katmanı veya 6. katmanın (İngilizce: Presentation Layer) en önemli görevi yollanan verinin karşı bilgisayar tarafından anlaşılabilir halde olmasını sağlamaktır. Böylece farklı programların birbilerinin verisini kullanabilmesi mümkün olur.
DOS ve Windows 9x metin tipli veriyi 8 bit ASCII olarak kaydederken (örneğin A harfini 01000001 olarak), XP tabanlı işletim sistemleri 16 bit Unicode'u kullanır (A harfi için 00000000 01000001). Ancak kullanıcı tabii ki sadece A harfiyle ilgilenir. Sunum katmanı bu gibi farklılıkları ortadan kaldırır.
Sunum katmanı günümüzde çoğunlukla ağ ile ilgili değil, programlarla ilgili hale gelmiştir. Örneğin eğer iki tarafta da GIF formatını açabilen bir resim gösterici kullanılıyorsa, bir makinanın diğeri üzerindeki bir GIF dosyayı açması esnasında sunum katmanına bir iş düşmez, daha doğrusu sunum katmanı olarak kastedilen şey, aynı dosyayı okuyabilen programları kullanmaktır.
Sunum Katmanın iletişim kuralları
- TDI
- ASCII
- EBCDIC
- MIDI
- MPEG
5. Oturum katmanı
Oturum katmanı veya 5. katman (İngilizce: Session Layer), bir bilgisayar birden fazla bilgisayarla aynı anda iletişim içinde olduğunda, gerektiğinde doğru bilgisayarla konuşabilmesini sağlar.
Örneğin A bilgisayarı B üzerideki yazıcıya yazdırıken, C bilgisayarı B üzerindeki diske erişiyorsa, B hem A ile olan, hem de C ile olan iletişimini aynı anda sürdürmek zorundadır.
Bu katmanda çalışan NetBIOS ve Sockets gibi protokoller farklı bilgisayarlarla aynı anda olan bağlantıları yönetme imkanı sağlarlar.
Oturum katmanı iletişim kuralları
- Named Pipes
- NetBIOS
- SIP
- SAP
- SDP
4. Ulaşım katmanı
Ulaşım katmanı veya 4. katman (İngilizce. Transport Layer) üst katmanlardan gelen veriyi ağ paketi boyutunda parçalara böler. NetBEUI, TCP ve SPX gibi iletişim kuralları bu katmanda çalışır. Bu iletişim kuralları hata denetimi gibi görevleride yerine getirir.
Taşıma katmanı alt katmanlar (Transport Set) ve üst katmanlar (Application Set) arasında geçit görevini görür. Alt katmanlar verinin ne olduğuna bakmandan karşı tarafa yollama işini yaparken üst katmanlarda kullanılan donanım ile ilgilenmeden verinin kendisi ile uğraşabilirler.
3. Ağ katmanı
Ağ katmanı veya 3. katman (İngilizce: Network Layer), veri paketine farklı bir ağa gönderilmesi gerektiğinde yönlendiricilerin kullanacağı bilginin eklendiği katmandır. Örneğin IP iletişim kuralı bu katmanda görev yapar.
Ağ katmanı iletişim kuralları2. Veri bağlantısı katmanı
- IP
- ICMP
- IPsec
- ARP
- RIP
- OSPF
- BGP
Veri bağlantısı katmanı veya 2. Katman (İngilizce: Data Link Layer)
Veri bağlantısı katmanı donanım katmanına erişmek ve kullanmak ile ilgili kuralları belirler. Veri bağlantısı katmanının büyük bir bölümü ağ kartı içinde gerçekleşir. Veri bağlantısı katmanı ağ üzerindeki diğer bilgisayarları tanımlama, kablonun o anda kimin tarfından kullanıldığının tespiti ve fiziksel katmandan gelen verinin hatalara karşı kontrolü görevini yerine getirir.
Veri bağlantısı katmanı iki alt bölüme ayrılır:
- LLC
- MAC
Veri bağlantısı katmanının iletişim kuralları
- Ethernet
- Token Ring
- FDDI
- PPP
- HDLC
- Frame Relay
- ATM
- Fibre Channel
1. Donanım katmanı
Donanım katmanı veya 1. katman, verinin kablo üzerinde alacağı fiziksel yapıyı tanımlar. Bu katman nasıl elektrik, ışık veya radyo sinyallerine çevrileceğini ve aktarılacağını tanımlar. Gönderen tarafta fiziksel katman bir ve sıfırları elektrik sinyallerine çevirip kabloya yerleştirirken, alıcı tarafta fiziksel katman kablodan okuduğu bu sinyalleri tekrar bir ve sıfır haline getirir.
Fiziksel katman veri bitlerinin karşı tarafa, kullanılan medya (kablo, fiber optik, radyo sinyalleri) üzerinden nasıl gönderileceğini tanımlar. İki tarafta aynı kurallar üzerinde anlaşmamışsa veri iletimi mümkün değildir. Örneğin bir taraf sayısal 1 manasına gelen elektrik sinyalini +5 volt ve 2 milisaniye süren bir elektrik sinyali olarak yolluyor, ama alıcı +7 volt ve 5 milisaniyelik bir sinyali kabloda gördüğünde bunu 1 olarak anlıyorsa veri iletimi gerçekleşmez.
Fiziksel katman bu tip çözülmesi gereken problemleri tanımlamıştır. Üreticiler (örneğin ağ kartı üreticileri) bu problemleri göz önüne alarak aynı değerleri kullanan ağ kartları üretirler. Böylece farklı üreticilerin ağ kartları birbirleriyle sorunsuz çalışır.
Fiziksel katmanın iletişim kuralları
- RS-232
- V.35
- V.34
- T1
- E1
- 10BASE-T
- 100BASE-TX
- ISDN
- SONET
- DSL