|  | İnternet İletişim Kuralları Dizisi |  | 
|  08-21-2012 | #1 | 
| 
Prof. Dr. Sinsi
 |   İnternet İletişim Kuralları DizisiIPyığını İnternet protokol takımı İnternet`in çalışmasını sağlayan bir Internet, dünya kapsamında birçok bilgisayar sistemini TCP/IP protokolü ile birbirine bağlayan ve gittikçe büyüyen bir iletişim ağıdır  TCP/IP (Transmission Control Protocol/Internet Protocol), bilgisayarlar ile veri iletme/alma birimleri arasında organizasyonu sağlayan, böylece bir yerden diğerine veri iletişimini olanaklı kılan pek çok veri iletişim protokolüne verilen genel addır  iletişim protokolleri bütünüdür  Bazen ``TCP/IP protokol takımı`` olarak da adlandırılır  İletişim protokolü, iki sistem arasında iletişim için kullanılan dili, yani mesajlaşma kurallarını belirtir  Dil yerine protokol kelimesinin seçilmiş olmasının sebebi, bu kelimenin programlama dili terimi tarafından önceden kullanılıyor olmasından kaynaklanır  TCP (Transmission Control Protocol) ve IPyığını IP (Internet Protocol) ün kısaltmalarıdır  Katmanlar / Layers 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 Ethernet kartı 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 Wi-Fi (Wi-fi, WiFi, Wifi, wifi), "Wireless Fidelity" kelimelerinin kısaltması olup kablosuz bağlılık veya kablosuz bağlantı anlamına gelir  Wi-Fi ürünlerin kablosuz bağlantı sağlayabildiğini gösteren bir uyumluluk göstergesidir ve IEEE 802  11a, IEEE 802  11b, IEEE 802  11g ve IEEE 802  11n standartlarına göre belirlenir  HTTP üzerinden HTTP (İngilizce Hypertext Transfer Protocol, Türkçe Hipermetin Aktarma İletişim Kuralı) bir kaynaktan dağıtılan ve ortak kullanıma açık olan hiperortam bilgi sistemleri için uygulama seviyesinde bir iletişim kuralıdır  HTML formatında yazılmış Wikipedia ana sayfası Taşıma: Bu katmanda verinin ne şekilde gönderildiği gösterilir  Hiper Metin İşaret Dili (İngilizce Hyper Text Markup Language, kısaca HTML) günümüzde İnternet üzerinde veri paylaşımı için kullanılan en yaygın metin tabanlı dildir  TCP veya IPyığını 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: En alt katman olan fiziksel katmanda Ethernet, Wi-fi, modem, token ring, ATM gibi protokoller bulunur  Örneğin, bilgisayarınız Wikipedia ana sayfasını alırken işlemler şu şekilde gerçekleşir: 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, her katmana özel donanımlar yapılmasına olanak sağlamıştır: fiziksel katmanda paket yönlendirmesi switch`ler, IP katmanında paket yönlendirmesi router`lar, taşıma katmanında paket yönlendirmesi ise NAT`ler tarafından yapılır  Bu sayede, basit donanımlarla yüksek TCP/IP performansları elde edilebilmektedir  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  Dolayısıyla bir bilgisayara ulaşabilmek için teoride IP adresi veya MAC adresi kullanılabilirdi  Ama, MAC adresleri karta yazılı olarak geldiği ve değiştirilemediği (dolayısıyla organize edilemediği) için kullanılmamakta, onun yerine ağın yöneticisi tarafından her kullanıcıya özgürce verilebilen IP adresleri kullanılmaktadır  Bunun avantajları şu şekildedir: 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  Günümüzde bir IP adresi, 32 bit`lik bir sayıdır (IPv6`de bu sayı 128 bit`lik olacaktır)  IP`de iki cihaz aynı ağda olup olmadıklarını birbirlerinin IP adreslerinin ilk birkaç basamağına bakarak anlarlar  Bu basamağa IP maskesi (IP mask) denir  Örneğin IP maskesi 255  255  255  0 ise, ilk üç basamağı (yani ilk 24 bit`i) aynı olan iki makine aynı ağda demektir  Bu durumda, 192  168  0  1 ile 192  168  0  2 aynı ağda, 192  168  1  1 ise başka bir ağdadır  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) Bu sayede, bir ağdaki IP adreslerini mantıksal bir şekilde ve basitçe organize etmek mümkündür  Buna ek olarak, kullanıcılara IP adresi, ağ maskesi ve hatta varsayılan ağ geçidini otomatik atayabilmek için  DHCP protokolü kullanılabilir  Bu sayede, örneğin taşınabilir bilgisayarıyla ücretsiz hizmet veren bir kablosuz ağa bağlanıldığında tüm bağlantı ayarları otomatik olarak yollanabilir ve birkaç saniye içinde o bilgisayar internete girmeye hazırdır! 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 2<sup>128</sup>` (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  Genelde bilgisayarlar tek bir ağ geçidine bağlı oldukları için paket göndermek ve almak için karmaşık işlemler yapmazlar (bir TCP/IP yöneticisi, sadece hangi portu hangi programın dinlediğini aklında tutmak zorundadır)  Öte yandan, ağ geçitleri değişik ağlar arasındaki bağlantıyı sağladıkları için paket yönlendirme konusunda dikkatli davranmaları gerekmektedir: Ö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  Bir ağ geçidi, bağlı olduğu bir cihaza verdiği bir pakedin yerine ulaşıp ulaşmadığını kontrol etmediği için IP`nin bir sonraki yöne kadar yönlendirme (İngilizce ``next hop routing``) yaptığı söylenir  Önemli TCP/IP protokolleri 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  IP katmanındaki protokoller 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  Taşıma katmanındaki protokoller 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  Uygulama katmanındaki protokoller DNS (``Domain Name System``, yani ``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  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  Tüm bu protokoller (ve dahası) sayesinde TCP/IP her geçen gün daha da popülerleşen bir protokol olmuştur  Bu makale, online kullanıcı topluluğu tarafından oluşturulan ve düzenlenen özgür ansiklopedi projesi Wikipedia'nın Türkçe versiyonu Vikipedi'deki İnternet iletişim kuralları dizisi maddesinden kopyalanmıştır  Bu makale, GNU Özgür Belgeleme Lisansı ilkeleri kapsamında özgürce kullanılabilir  | 
|   | 
|  | 
|  |