INTERNET VE WEB PROGRAMLAMA - Ünite 1: İnternet Özeti :

PAYLAŞ:

Ünite 1: İnternet

Giriş

İnternet, “kendi aralarında bağlı ağ yapıları” anlamına gelen İngilizce INTERconnected NETworks kelimelerinin kısaltmasıdır. Bir bilgisayar ağı ise iki ya da daha fazla bilgisayarın birbirine bağlanmasıyla oluşturulan yapıya verilen isimdir. Bir ağa bağlı bilgisayarlar, ağ yardımı ile birbirleriyle iletişim kurabilir, veri alışverişi yapabilir ve kendilerine bağlı aygıtları paylaşabilirler. Dünya genelinde bulunan bilgisayar, mobil aygıt vb. tüm bilgi ve iletişim aygıtları belirli protokoller altında birbirleriyle iletişimde bulunmaktadır.

İnternetin Doğuşu

İnternetin kökleri Amerika Birleşik Devletleri Savunma Bakanlığı Pentagon’a bağlı Defansif Gelişmiş Araştırma Projeleri Ajansı (Defence Advanced Research Projects Agency - DARPA) tarafından başlatılan ve ARPANet olarak isimlendirilen bir bilgisayar ağı projesine dayanmaktadır. Bu projenin iki önemli amacı bulunmaktaydı.

  1. Farklı fiziksel bölgelerde bulunan bilim insanlarının bilgilerini paylaşmalarına, askerî ve bilimsel projeler üzerinde birlikte çalışmalarına olanak sağlamak,
  2. Bilgisayar ağının bir bölümü etkisiz hâle getirilse veya bir afet ya da nükleer saldırı sonucu tahrip edilse bile işlevselliğinin ve çalışmasının devam etmesine olanak sağlamak.

ARPANet olarak isimlendirilen bilgisayar ağı 1969 yılında işlevsel hâle gelmiş ve Amerika Birleşik Devletleri üzerindeki bilimsel ve akademik araştırmacıları birbirine bağlamıştır. ARPANet Los Angeles Kaliforniya Üniversitesi (UCLA), Stanford Araştırma Enstitüsü (SRC), Utah Üniversitesi ve Santa Barbara Kaliforniya Üniversitelerinde bulunan ve ağ üzerindeki diğer bilgisayarlara bağlantı ve hizmet sağlayan dört adet ana bilgisayarın (host) birbirine bağlanmasıyla oluşturulmuştur. Düğüm Noktası (Node): Bilgisayar ağında bulunan adreslenebilir bağlantı noktalarıdır. ARPANet, iletişim yöntemi olarak paket anahtarlama kullanacak şekilde tasarlanmıştır. Paket anahtarlama, iletilecek mesajların paket adı verilen daha küçük parçalara ayrılmasıdır.

E-posta protokolünü 1972 yılında ARPANet ağına uyarlamış olan Ray Tomlinson aynı zamanda kullanıcı adı ve adresini birbirine bağlamak amacıyla @ işaretini de kullanan ilk araştırmacı olmuştur. Uzak bilgisayarlara girişi etkinleştiren telnet protokolü, 1972 yılında kısaca RFC (Request for Comments) olarak isimlendirilen açıklama isteği olarak yayımlanmıştır. Açıklama istekleri (RFC), ARPANet projesindeki ağ çalışma grubu içinde gerçekleştirilen çalışmalar ile geliştirmelerin takip ve paylaşımının yapılmasına olanak sağlamıştır. İnternet standartları açıklama isteği (RFC) ifadesi ile birlikte anılmaktadır. Ağa bağlı bilgisayarlar arasındaki dosya transferini etkin kılan dosya transfer protokolü (FTP), 1973 yılında açıklama isteği (RFC) olarak yayımlanmış ve bu tarihten itibaren açıklama istekleri (RFC) elektronik olarak dosya paylaşım protokolünü kullanan herkes için erişilebilir hâle gelmiştir. 1974 yılında iletim denetimi protokolü/internet protokollerinin (TCP/IP) başlangıç tasarımı tamamlanmıştır. TCP/IP Türkçe olarak İletim denetimi protokolü/ internet protokolleri olarak ifade edilir. Bilgisayarlar ve ağ aygıtları arasında iletişimi sağlamak amacıyla standart olarak kabul edilmiş kurallar dizisidir. Sonraki on yıl süresince TCP/IP protokolleri geliştirilip iyileştirmeler sağlanmıştır. Bayrak günü olarak da kabul edilen 1 Ocak 1983 tarihinde yerini TCP/IP protokollerine bırakmış ve bu yeni protokoller ARPANet’in ana kısmı hâline gelmiştir. ARPANet projesi 1990 yılında sonlanmıştır.

İnternet Mimarisi

İnterneti oluşturan bağlı bilgisayar ağları kendi aralarında farklı şekillerde sınıflandırılabilir. Bir yerel alan ağı (Local Area Network - LAN), birbirine fiziksel olarak yakın konumdaki bilgisayar veya diğer ağa bağlı bilgi işleme aygıtlarını birbirlerine bağlamaktadır. Yerel alan ağları genellikle tek bir oda ya da bina ile sınırlıdır. Bazı durumlarda ise birbirine yakın binaları da kapsayabilir. Yerel ağların yönetilmesi amacıyla 6 İnternet farklı ağ topolojileri yapılandırılabilir. Ağ Topolojileri bir ağdaki bilgisayarların nasıl yerleştirileceğini, nasıl bağlanacağını ve veri iletiminin nasıl olacağını belirleyen genel yapıdır. Yerel alan ağlarında ortak yol (bus), halka (ring) ya da yıldız (star) topolojileri yaygın olarak kullanılmaktadır.

Ortak yol topolojisinde, ağdaki tüm sistemler aynı iletim hattı üzerinden iletişim kurarlar. Her bir sistemin adresi vardır ve ortak yol üzerindeki her mesajı okurlar. Halka topolojisinde, her düğüm noktası komşu iki düğüm ile bağlantılıdır. İletim yolu halka şeklindedir. Yıldız topolojide, düğüm noktalarının tamamı merkezî noktadaki bir cihaza bağlıdır. Ağ üzerindeki tüm veri trafiği bu merkezî noktadan geçer.

Geniş alan ağı (Wide-Area Network - WAN), potansiyel olarak büyük bir coğrafi mesafe üzerinden iki veya daha fazla yerel alan ağını birbirine bağlar. Bir geniş alan ağı, yerel alan ağları arasındaki iletişimi sağlar. Genellikle yerel alan ağları üzerindeki özel bir düğüm noktası geçityolu (gateway) olarak yapılandırılır.

Uzun mesafe veri iletimi, anahtarlama noktalarından oluşan ağlar üzerinden yapılır. Anahtarlama Noktaları Verinin bir düğüm noktasından başka bir düğüm noktasına iletilmesi sırasında bir hattan başka bir hatta aktarıldığı bağlantı noktalarıdır.

Devre anahtarlamada iletişimde bulunacak iki düğüm noktası arasında bir bağlantı hattı (devre) kurulur. Bağlantı hattı üzerindeki her bir düğüm noktasında kaynak ayrılır. Veri iletişimi süresince belirlenen bağlantı hattı kurulu kalır ve veri aktarımı bu hat üzerinden gerçekleşir.

Paket anahtarlama (packet switching) veri aktarımı gerçekleşen düğüm noktaları arasında bağlantı kurmak amacıyla ARPANet ağı ile birlikte geliştirilmeye başlanmıştır. Paket anahtarlama dağıtım yöntemi günümüzde veri ve ses iletimi teknolojilerinin temelini oluşturmaktadır. Paket anahtarlama dağıtım yönteminde bir sistem üzerinde tek bir iletişim hattı kullanılarak birden çok ağ aygıtı ile iletişimde bulunulabilmektedir. Bu amaçla uzun mesajlar (veriler) küçük sıralı parçalara ayrılıp bu parçaların daha sonra paket dizileri hâlinde düzenlenmesi gerekmektedir.

Her bir paket birbirinden bağımsız olarak diğer düğüm noktalarındaki yönlendirici (router) cihazlara iletilir. Yönlendirici (router) Aynı ağ iletişim kurallarını kullanan iki bilgisayar ağı arasında veri paketlerinin iletimini sağlayan ağ donanımıdır. Bir yönlendirici iki ya da daha fazla ağ arasındaki kesişim noktasıdır.

Klavyeden karakter tuşlanması, web sayfalarına erişilmesi gibi anlık yüksek veri aktarım hızına (data transfer rate) ihtiyaç duyulan durumlarda, paket anahtarlamalı dağıtım yöntemi devre anahtarlamalı dağıtım yöntemine göre daha iyi bir performansa sahiptir. Veri aktarım hızı, bilgisayar ağı ya da internet ortamında bulunan iki nokta arasında bir saniyede iletilen bit ya da byte cinsinde veri miktarı olarak tanımlanır. Paket anahtarlamalı dağıtım yönteminde verinin paketler hâlinde yollanmasının bir avantajı, herhangi bir şekilde hattın bir veya birden fazla kullanıcıya sürekli olarak ayrılmamasıdır.

Ağ üzerinden iletilecek verinin ne şekilde paketleneceği ve iletilen veride hata olup olmadığının nasıl denetleneceğinin belirlenmesi bir kurallar dizisi tarafından gerçekleştirilmektedir. Bu kurallar dizisi bilgisayarlar ve ağ aygıtları arasında iletişimi sağlamak amacıyla standart olarak kabul edilmiş olan ve kısaca TCP/IP protokolleri olarak bilinen internet protokol kümesidir.

TCP/IP donanım ve ağ alt yapısından bağımsız olarak geliştirilmiş olan, bilgisayar ve ağ aygıtlarını birbirleriyle karşılıklı çalışabilmesi için kullanılan en yaygın protokol kümesidir. Uluslararası Standartlaştırma Örgütünün (ISO) geliştirdiği birbiriyle bağlantılı açık sistemler standardı (OSI) tabanlı ağ modeline alternatif olarak geliştirilmiştir. Birbiriyle Bağlantılı Açık Sistemler Standardı (OSI) Ağ aygıtlarında çalışan uygulamaların birbirleriyle nasıl iletişim kuracaklarının tanımlandığı protokol modelidir.

TCP/IP protokol yapısı ise dört katmandan oluşmaktadır. Bu protokol; Uygulama Katmanı (Application Layer), Taşıma Katmanı (Transport Layer), İnternet Katmanı ve Ağ Arayüz Katmanı (Network Interface Layer) olarak modellenen dört katmanlı bir mimariye sahiptir.

Katman 1: Ağ arayüz katmanı OSI modeli içerisindeki fiziksel ve veri bağlantı katmanlarının gerçekleştirdiği işlemleri yürüten ilk ve en alt seviyedeki katmandır.

Katman 2: TCP/IP modelinde ikinci sıradaki katman internet katmanıdır. Taşıma katmanından gelen veri paketleri farklı bir ağa gönderilmeden önce veri paketine yönlendiricilerin kullanacağı bilginin eklendiği katmandır.

Ağ üzerindeki her bir aygıtın nerede olduğunun belirlenebilmesi için başka bir ağ aygıtı ile aynı olmayan benzersiz (unique) bir adrese ihtiyacı bulunmaktadır. Bu adrese IP adresi olarak kısaltılmış olan internet protokolü adresi adı verilir. IP adresi (Internet Protocol Address), interneti ya da TCP/IP protokolünü kullanan diğer paket anahtarlamalı ağlara bağlı ağ aygıtlarının, ağ üzerinden birbirleri ile veri iletişimi yapmak için kullandıkları adres olarak da tanımlanır. İnternete bağlı her bilgisayara, internet servis sağlayıcısı (Internet Service Provider - ISP) tarafından bir IP adresi atanır ve internetteki diğer bilgisayarlar bu bilgisayara servis sağlayıcı tarafından atanan bu adres ile erişimde bulunurlar. İnternet protokolünün yaygın olarak kullanılan internet protokol sürümü 4 (Internet Protocol Version 4 – IPv4) ve internet protokol sürümü 6 (IPv6) olmak üzere iki sürümü bulunmaktadır.

Bilgisayar ve ağ aygıtlarına statik ve dinamik olmak üzere iki çeşit IP adresi verilebilmektedir. Statik IP adresleri olan bilgisayarların adresleri değişmez. Daha çok sunucu görevi gören bilgisayarlar için tercih edilir. İnternete bağlanan kullanıcının dış dünyaya bağlantı sağladığı gerçek adresi çoğu zaman dinamik IP adresidir.

Adres Çözümleme Protokolü (Address Resolution Protocol - ARP) internet katmanında bulunan bir diğer önemli protokoldür. Yerel ağların oluşturulmasında kullanılan kablolu ya da kablosuz ağ arayüzleri, birbirlerine veri paketi göndermeleri için üretim sırasında kendilerine verilen ve MAC adresi olarak isimlendirilen 48 bit uzunluğundaki fiziksel adresi kullanırlar.

Katman 3: TCP/IP modelinde üçüncü sıradaki katman taşıma katmanıdır. Alt katmanlar ağ arayüz ve internet katmanları ile üstteki uygulama katmanı arasında geçit görevi görmektedir.

Katman 4: TCP/IP modelinde dördüncü ve son sıradaki katman uygulama katmanıdır. Uygulama katmanı, ağ aygıtları üzerindeki yazılımların ağ kaynaklarına erişimlerini sağlayan arabirimleri oluştururlar. Uygulama katmanı kullanıcıya en yakın katman durumundadır. OSI modeli içerisindeki oturum, sunum ve uygulama katmanlarının gerçekleştirdiği işlemlerin yürütüldüğü katmandır. Uygulama katmanı içinde tanımlanmış olan SMTP, TELNET, FTP, DNS vs. gibi protokoller kendilerini kullanan yazılımlara hizmet verirler. Benzer şekilde bir web tarayıcısı bir adresteki sayfayı görüntülemek istediğinde uygulama katmanında hizmet veren HTTP protokolüne başvurur.

Önemli İnternet Hizmetleri

Kullanıcılara sunulan internet hizmetleri arasında öne çıkanlar Telnet, elektronik posta (e-posta), dosya transfer protokolü, etki alanı adı sistemi ve hiper-metin transfer protokolüdür.

Telnet, internet ağı üzerindeki bir cihaza uzaktan erişim sağlayarak bağlantı kurmak için geliştirilen bir TCP/IP

protokolü ve bu hizmeti yapan yazılımlara verilen genel addır. Telnet protokolü TCP bağlantısı yapılarak uzaktan erişim ile oturum açılan cihaz üzerinde sanal klavye kullanılmasına izin verir. Uzaktan bağlantı sırasında kullanılan mesajlar ve iletilen veriler şifrelenmeden gönderilir. Telnet erişim programları, günümüzdeki işletim sistemlerinin çoğunda işletim sistemi ile birlikte gelmektedir.

Elektronik posta (e-posta) hizmetleri internet üzerinde en çok kullanılan iletişim uygulamalarından biridir. İnternet üzerinde mesajların geniş alan ağları boyunca iletilebilmesini sağlayan protokoller tasarlanmıştır. Yalın posta iletim protokolü (Simple Mail Transfer Protocol - SMTP), Postane Protokolü Sürüm 3 (Post Office Protocol Version 3 – POP3) ve İnternet Mesaj Erişim Protokolü (Internet Message Access Protocol - IMAP) e-posta iletişiminde kullanılan protokollerdir. SMTP, e-postaların gönderilmesi için kullanılan bir protokoldür. SMTP’nin tasarımı sebebiyle mesajın ileteceği bilgisayarların sürekli açık olması gerekmektedir. E-postalarına erişmek amacıyla istemci bilgisayarlar POP3 veya IMAP protokolünü kullanırlar. POP3, posta kutularına erişimde basit indirme ve silme işlemlerini gerçekleştirir. IMAP, POP3’e göre daha fazla ve karmaşık işlemleri gerçekleştirebilir. IMAP ve POP3 kullanımı arasındaki temel fark IMAP ile e-posta sunucusu ile bağlantı kurulduğunda, posta kutusunda birikmiş e-postaların sadece başlık bilgileri istemciye getirilir.

FTP, internete bağlı iki bilgisayar arasında (her iki yönde de) dosya aktarımı yapmak için geliştirilen bir internet protokolü ve bu işi yapan uygulama programlarına verilen genel addır. FTP kullanılarak iki bilgisayar arasında dosya transferi yapmak için; Bağlanılacak bilgisayarın internet adresi (alan adı ya da IP adresi), bağlanılacak bilgisayarda dosyalarına ulaşılmak istenen hesapla ilgili kullanıcı adı ve parola, internet erişimi olan, üzerinde FTP yazılı- mı bulunan bir bilgisayar, bağlanılacak bilgisayarda, FTP protokol komutlarını yorumlayacak, çalışır durumda bir FTP Sunucu programı gereklidir.

Etki alanı adı sisteminin (DNS) görevi, etki alanı adları içerisinde yer alan bilgisayar ve diğer ağ aygıtlarının isimleri ile IP adresleri arasında dönüşüm gerçekleştirmektir. İnternet ağını oluşturan her bir bilgisayar ya da ağ aygıtı sadece kendine ait bir IP adresine sahiptir. DNS, bu IP adreslerini internet kullanıcıların erişimi için www.alan_adı.com şeklinde kolay hatırlanır adreslere dönüştürme görevini üstlenmektedir. DNS sunucuları, alan adları ile bu adlara karşılık gelen IP adreslerini kayıt altına almaktadır. Çalışma şekillerine göre 3 farklı tipte DNS sunucu bulunmaktadır. Birincil ad sunucu (primary name server), bağlı olduğu internet bölgesiyle (zone) ilgili bilgileri kendisinde bulunan bölge dosyasından elde etmektedir. Bu dosyaya bilgiler elle tek tek girilir. İkincil ad sunucu (secondary name server), bağlı olduğu internet bölgesiyle ilgili bilgileri bağlı olduğu bir DNS sunucudan alır.

Sadece önbellekleyen ad sunucu (caching-Only Name Server), kendi üzerinde bölge bilgilerinin tutulduğu bir bölge dosyası bulunmamaktadır. DNS veritabanında hiyerarşik olarak ağaç yapısındaki etki alanı adları, nokta (.) ile ayrılmış şekilde, ayrı ayrı bulunmaktadır.

İnternet etki alanı adları, uluslararası platformada genel üst düzey etki alanı (generic Top Level DomaingTLD) olarak adlandırılan .com, .org, .edu vb. şeklindeki etki alanı adları ile ülke kodu üst düzey etki alanı (country code Top Level Domain) olarak adlandırılan ve ISO-3166 standardında yaklaşık 200 ülke kodundan (.uk, .de, be, .tr vb.) oluşan adlandırma sistemi ile yönetilmektedir.

İnternet kullanım alanlarının gelişen teknolojiye bağlı olarak genişlemesi, farklı türde protokollerin ortaya çıkmasına sebep olmuştur. Bu protokollerden en önemlilerden birisi hiç kuşkusuz kısaca HTTP olarak bilinen Hiper Metin Transfer Protokolü’dür. HTTP, internete bağlı bulunan sunucular ve son kullanıcılar arasında bilgilerin nasıl aktarılacağı ile ilgili kural ve yöntemleri düzenleyen bir protokoldür. Http iletişimi, istek (request) ve cevap (response) mekanizmasından oluşur. Http, istemci tarafından iletilen her istek mesajının birbirinden ayrı olarak işlenmesini sağlayacak şekilde tasarlanmıştır ve iki yönlü bir veri iletimine izin vermektedir.

İnternetin Geleceği

İnternet teknolojisi 2015 yılı itibarıyla yaklaşık olarak 3.2 milyar kullanıcısı olan bir hizmete dönüşmüştür. Sadece bilimsel ve akademik araştırmalar için değil eğitim, sağlık, savunma, ticaret, seyahat ve eğlence gibi günlük yaşamın pek çok alanında kritik öneme sahiptir. 2020 yılında mobil telefon kullanımının yaklaşık 9 milyara yaklaşması beklenmektedir.

Son yıllarda sıklıkla duyulan kavramlardan biri Nesnelerin İnterneti (Internet of Things - IoT) kavramıdır. Amerikan Federal Ticaret Komisyonu tarafından “günlük hayatta kullanımımızda olan nesnelerin internete bağlanıp veri gönderip alma kabiliyeti” olarak tanımlanmış olan nesnelerin interneti açısından nesne kavramı geniş bir anlam ifade etmektedir. Her türlü izleme aygıtı, algılayıcılar (sensör) veya erişim düzenekleri nesne olarak nitelendirilmektedir. Akıllı şehir uygulamaları, akıllı çevre uygulamaları, akıllı ev uygulamaları, tedarik zinciri uygulamaları, akıllı hayvancılık uygulamaları ve akıllı tarım uygulamaları nesnelerin internetinin oldukça yaygın uygulama alanlarıdır.

Nesnelerin interneti uygulamaları, algılayıcıların her birine erişilebilir olmasından başka, pek çok algılayıcıdan toplanan verilerin bir arada çözümlenerek değerli bir bilgi üretilmesi amacıyla da kullanılmaktadır. Fiziksel ortamlardan gelen çok yüksek miktardaki algılayıcı verisi (data), yapılan değerlendirmelerin ardından bilgi (knowledge) olarak ilgili kişilere iletilebilir ya da sistemler yardımıyla işlenerek bir faaliyet gerçekleştirilmesi sağlanabilir. Bu açıdan bakıldığında nesnelerin internetinin Büyük Veri (Big Data) kavramları ve uygulamaları ile kesiştiği görülmektedir. Büyük veri, ağ bağlantılı çok farklı kaynaklardan elde edilen verinin, anlamlı ve işlenebilir biçime dönüştürülmüş biçimine verilen addır.

Artırılmış gerçeklik, bilgisayar tarafından üretilen ses, görüntü, grafik ve küresel konumlandırma sistemi (GPS) verileriyle gerçek dünyadaki çevrenin ve içindekilerin zenginleştirilmesidir. Gerçekliğin bilgisayar tarafından değiştirilmesi ve taşıdığı bilginin artırılması ya da görünür hâle getirilmesidir. Artırılmış gerçeklikte, zenginleştirme gerçek zamanlı gerçekleşir ve kullanıcı etrafındaki bilgi ile etkileşime girebilmektedir. Artırılmış gerçeklikte teknoloji gerçek dünya üzerine bilgisayar ile üretilmiş nesneler konumlandırılırken sanal gerçeklikte gerçek dünya yerine tamamıyla bilgisayar tarafından tasarlanıp canlandırılmış bir dünya bulunmaktadır. Sanal gerçeklik (Virtual reality), bilgisayarlar tarafından taklit edilerek oluşturulan ortamlardır.

Bulut bilişim, bilişim aygıtları arasında ortak bilgi paylaşımını sağlayan hizmetlere verilen genel addır. Ağ üzerinde bulunan temel kaynaktaki yazılım ve bilgilerin paylaşımının sağlanması ve mevcut bilişim hizmetinin bilgisayarlar ve diğer ağ bağlantılı aygıtlar tarafından internet üzerinden kullanılmasıdır.

Bulut bilişim üç temel hizmet modeli sağlamaktadır. Altyapı olarak hizmet (IaaS) modeli, sunucu bilgisayar hizmetinin fiziksel veya sanal makine olarak verildiği en temel bulut bilişim hizmet modelidir. Platform olarak hizmet (PaaS) modelinde, genellikle işletim sistemi, programlama dili yürütme ortamı, veri tabanı ve web sunucularını içeren bir bilgi işleme platformu hizmeti verilmektedir. Yazılım olarak hizmet (SaaS), modelinde ise uygulama yazılımının yüklenmesi ve işletilmesi bulut hizmetini veren sunucu firma tarafından gerçekleştirilirken uygulamanın üzerinde çalıştığı bulut bilişim altyapısı ve platformunu yönetmezler.

Sis bilişim, akıllı aygıtlar tarafından toplanan verilerin merkezî bir sunucuya gönderilerek işlenmesini sağlayan bulut bilişimin aksine önce yerel bir noktada bu verilerin çözümlenmesi ve gerekli olan bilginin bulut üzerindeki merkezî sunuculara gönderilmesidir.