İ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 80211a, IEEE 80211b, IEEE 80211g ve IEEE 80211n 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 2552552550 ise, ilk üç basamağı (yani ilk 24 bit`i) aynı olan iki makine aynı ağda demektir Bu durumda, 19216801 ile 19216802 aynı ağda, 19216811 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: 10000 ile 10255255255 arası adresler (yani maske olarak 255000) 1721600 ile 17231255255 arası adresler (yani maske olarak 25525500) 19216800 ile 192168255255 arası adresler (yani maske olarak 25525500) 16925400 ile 169254255255 arası adresler (yani maske olarak 25525500) Bir makinenin kendisine konuşması (loopback) için ayrılmış adresler: 127000 ile 127255255255 arası adresler (yani maske olarak 255000) 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 2552552550 ise 19216801 ile 19216802 aynı ağdadır, 19216811 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 wwwwikipediaorg) 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 |
|