uygulama katmanları
uygulama katmanları
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.
TCP/IP
- Yapı olarak iki katmanlı bir haberleşme protokolüdür.
- Üst Katman TCP(Transmission Control Protocol) verinin iletimden önce paketlere ayrılmasını ve
karşı tarafta bu paketlerin yeniden düzgün bir şekilde birleştirilmesini sağlar.
- Alt Katman IP (Internet Protocol) ise,iletilen paketlerin istenilen ağ adresine yönlendirilmesini
kontrol eder.
- İlk olarak 80'li yıllarda Amerikan Savunma Bakanlığı (DoD) tarafından OSI tabanlı sistemlere alternatif
olarak geliştirilmiştir.
- DoD'un Amerikan piyasasındaki ana belirleyici olması,bu protokolün Amerikan yazılımlarında standart kabul
edilmesine neden oldu.
- İnternet'in babası sayılabilecek ARPANet bu nedenle TCP/IP ile doğdu.İnternet kullanımının büyük bir hızla artması ile
birlikte,TCP/IP OSI üzerinde bir üstünlük kurmuş oldu.
TCP/IP Protokol Yapısı
- Uygulama Katmanı(Application Layer) : Farklı sunucular üzerindeki süreç ve uygulamalar arasında olan iletişimi sağlar.
- Taşıma Katmanı(Host to host or Transport Layer) : Noktadan noktaya veri akışını sağlar.
- İnternet Katmanı : Router lar ile birbirine bağlanmış ağlar boyunca verinin kaynaktan hedefe yönlendirilmesini sağlar.
- Ağ Erişim Katmanı : Uç sistem ile alt ağ arasındaki lojik arabirime ilişkin katmandır.
- Fiziksel Katman : İletişim ortamının karakteristik özelliklerini,sinyalleşme hızını ve kodlama şemasını belirler.
- İnternet protokol takımı ağ modeli ve internet ve benzeri ağlar için kullanılan bir iletişim protokolleri kümesidir.
- TCP/IP de veri biçimlendirilmiş şekilde nasıl olması gerektiği belirterek uçtan uca bağlantı sağlar.
- TCP/IP modeli ve ilgili protokoller Internet Engineering Task Force (IETF) tarafından korunur.
TCP/IP ile OSI arasındaki Farklar
- TCP/IP haberleşme görevini karmaşık bir iş olarak niteleyerek daha basit alt görevlere böler.Her bir alt görev diğer alt görevler için belirli servisler sunar ve diğer alt görevin servislerini kullanır. OSI modeli de aynı kavramı kullanır ,ancak OSI modelinde her bir katmandaki protokollerin özellikleri ve birbiri ile ilişkileri kesin bir dille tanımlanmıştır. Bu özellik OSI modeli ile çalışmayı daha verimli kılar.
- OSI modelinde katmanların görevlerinin kesin bir şekilde belirlenmiş olması yeni bir protokol geliştirmeyi kimi zaman güçleştirebilir.
TCP/IP ise böyle bir kısıtlama getirmediğinden,gerektiğinde yeni bir protokol mevcut katmanlar arasına rahatlıkla yerleştirilebilir.
- OSI modelinde gerekmeyen bir katmanın kullanılmaması gibi esnek bir yapıya izin verilmemektedir. TCP/IP ise katı kurallarla tanımlı olmadığından gereksinim duyulmayan katmanların kullanılmamasına izin verir. Örneğin uygulama katmanında olmasına rağmen doğrudan IP üzerinden kullanılabilen protokoller mevcuttur.
TCP/IP protokollere örnek olarak, dosya alma/gönderme protokolü (FTP, File Transfer Protocol), Elektronik posta iletişim protokolü (SMTP Simple Mail Transfer Protocol), TELNET protokolü (Internet üzerindeki başka bir bilgisayarda etkileşimli çalışma için geliştirilen *login* protokolü) verilebilir. Adını sıkça duyduğumuz WWW ortamında birbirine link objelerin iletilmesini sağlayan protokol ise Hyper Text Transfer Protocol (HTTP) olarak adlandırılmaktadır. TCP/IP protokolü aynı zamanda, diğer iletişim ağlarında da kullanilabilir. Özellikle pek çok farklı tipte bilgisayarı veya iş istasyonlarını birbirine bağlayan yerel ağlarda (LAN) kullanımı yaygındır.
Donanım Katmanındaki Protokoller
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.
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.
uygulama katmanı prtokolleri ve hizmetleri
Uygulama katmanı veya 7. katman 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 apl'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.
DNS
DNS internet uzayını bölümlemeye, bölümleri adlandırmaya ve bölümler arası iletişimi organize etmeye yarayan, bilgisayar, servis, internet veya özel bir ağa bağlı herhangi bir kaynak için hiyerarşik dağıtılmış bir adlandırma sistemidir.
internet ağını oluşturan her birim sadece kendine ait bir IP adresine sahiptir. Bu IP adresleri kullanıcıların kullanımı için www.site_ismi.com gibi kolay hatırlanır adreslere karşılık düşürülür. DNS sunucuları, internet adreslerinin IP adresi karşılığını kayıtlı tutmaktadır.
Katılımcı kuruluşların her birine atanmış alan adları çeşitli bilgileri ilişkilendirir. En belirgin olarak, insanlar tarafından kolayca ezberlenebilen alan adlarını, dünya çapında bilgisayar servisleri ve cihazlar için gerekli sayısal IP adreslerine çevirir (dönüştürür). DNS, çoğu internet servisinin işlevselliği için temel bir bileşendir, çünkü Internetin temel yönetici servisidir.
Alan Adı Sistemi DNS her alan için yetkili ad sunucuları türk porno atayarak alan adlarını atama ve bu adların IP adreslerine haritalanması sorumluluğunu verir. Yetkili ad sunucuları desteklenen alanları için sorumlu olmakla görevlidirler ve diğer ad sunucuları yerine alt alanlara yetki (otorite) verebilirler. Bu mekanizma dağıtılmış ve arızaya toleranslı servis sağlar ve tek bir merkezi veri tabanına ihtiyacı önlemek için tasarlanmıştır.
DNS aynı zamanda özünde (çekirdekte) bulunan veritabanı servisinin teknik işlevselliğini de belirtir. DNS protokolünü – DNS’de kullanılan veri yapılarının ve veri iletişim alışverişinin (değiş tokuş) detaylı tanımlaması- İnternet Protocol Suite’in bir parçası olarak tanımlar. Tarihsel olarak DNS’ den önceki yönetici servisleri orijinal olarak metin dosyalarına ve belirgin bir şekilde HOSTS.TXT çözücüsüne dayandığı için büyük veya küresel yöneticilere göre ölçeklenebilir değildi. DNS 1980’ den bu yana yaygın olarak kullanılır olmuştur.
İnternet hiyerarşi alan adı ve İnternet Protokol (IP) adres boşluğu olmak üzere iki ana ad boşluğunu sağlar. DNS sistemi alan adı hiyerarşisi sağlar ve onunla adres boşluğu arasında çeviri servisi sağlar. İnternet adı sunucuları ve iletişim protokolü Domain Name Sistemini etkin kılar. Bir DNS ad sunucusu, alan DNS kayıtlarını alan adı için depolayan bir sunucudur; DNS ad sunucusu veri tabanına karşı sorulara cevaplarla karşılık verir.
DNS veri tabanında depolanan en yaygın kayıt türleri; DNS bölgesinin yetkisi otoritesi (SOA), IP adresleri (A ve AAAA), SMTP posta değiştiriciler (MX), ad sunucuları (NS), ters DNS aramaları için işaretçiler (PTR) ve alan adı takma isimleridir (CNAME).
Genel amaçlı bir veri tabanı olmak için tasarlanmamasına rağmen, DNS diğer veri türleri için DNSSEC kayıtları gibi şeyler için otomatik makine aramalarını ya da Sorumlu kişi (RP) kayıtları gibi insan sorularını da depolayabilir. DNS kayıt türlerinin tam listesi için, DNS kayıt türlerinin listesi bakın. Genel amaçlı veritabanı olarak, DNS veri tabanında saklanan gerçek zamanlı kara delik listesi kullanılarak istenmeyen e-posta (Spam) ile mücadelede kullanımında da DNS görülebilir. İnternet adlandırma için veya genel amaçlı kullanımlar için olsun, DNS veritabanı, yapılandırılmış bölge dosyasında geleneksel olarak depolanır.
Amaçları
intertnette bulunan her nesnenin, etkileşime giren her sunucu ve ucun bir internet adresi olması gerekir. Bu adres, protokol seviyesinin ıpv4 ve ıpv6 olmasına göre 32 bit ya da 128 bit uzunluğundadır. Alan adı, bu 32 ya da 128 bit uzunluğundaki sayı yerine insanların anlayacağı, akılda tutacağı, kurumsal kimlik ve marka ile özdeşleştirebileceği isimlerin kullanılmasını sağlar. Örneğin tr.wikipedia.org alan adı ile 207.142.131.210 şeklindeki ıp nosu ile bağlantıyı Alan Adı Sistemi sağlar. Sırayla; org, wikipedia.org ve tr.wikipedia.com içiçe geçmiş İnternet alanları ya da bölmeleridir.
İnsan dostu bilgisayar sistem adlarını IP adreslerine çevirerek İnternet için telefon rehberi hizmeti sunan sitem, DNS i tanımlamak için sıkça kullanılan bir benzetmedir. Mesela, alan adı www.example.com, 93.184.216.119 (IPv4) ve 2606:2800:220:6d:26bf:1447:1097:aa7 (IPv6) adreslerine çevrilir. Bir telefon rehberi aksine DNS aynı ana bilgisayar adını kullanmaya devam eden son kullanıcıları etkilemeden ağdaki servisin konumunun değişmesine izin vererek çabuk bir şekilde güncellenebilir. Kullanıcılar anlamlı bir Değişmeyen Kaynak Konum Belirleyici (URL) ve bilgisayarın servisleri nasıl yerleştirdiğini bilmek zorunda kalmadan e-mail adresi kullandıklarında bundan avantaj sağlarlar.
Alan Adı Sistemi'nin yarattığı ilişkiler birebir ilişki olmak zorunda değildir. Bir alan adına birden fazla IP adresi atanabilir. Bu yoğun talep olan hallerde geçerlidir. Wikipedia.org, yahoo.com, google.com gibi adreslerde bu çok olur. Ama daha yaygını, birçok alan adı tek bir IP'ye atanabilir. Buna da "sanal evsahipliği" (Virtual Hosting) denir.
Alan Adı Sistemi hiyararşik bir yapı gösterir. En üste .com, .org, .net, .int, .edu, .info, .biz, .aero, .travel, .jobs, .gov, .mil gibi "jenerik" üst düzey alanlarla (gtld) .tr, .us, .de, .uk, .jp, .az gibi ülke alanlarından (cctld) oluşur. Buna son olarak .eu ve .asia gibi bölgesel birkaç üst düzey alan adı daha eklenmiştir.
DNS’in tarihçesi
Bilgisayar ağları üzerindeki isimlendirme sorunu ilk olarak internetin babası sayılan arpanet zamanında ortaya çıkmıştır. 1970’lerde ArpaNet günümüz ağları ile karşılaştırılamayacak kadar küçük durumdaydı ve yalnızca birkaç yüz ile ifade edilebilen sisteme hizmet veriyordu. Bu tarihlerde isimlendirme için tek noktada tutulan bir dosyanın bulunması ve diğer tüm sistemlerin bu dosyayı belli aralıklarla kendi taraflarında güncellemesi isimlendirme sorununu çözmüştü.
Adres-isim tanımlamalarını içeren HOSTS.TXT dosyası SRI tarafından SRI-NIC (Stanford Research Institute – Network Information Center) adında bir bilgisayar üzerinde tutulmaktaydı. Bu dosya her adrese bir isim karşılık gelecek şekilde düzenlenmişti. arpanet üzerindeki yeni isim tanımlamaları ve değişiklikleri SRI’ya gönderilen e-postalar arcılığı ile yapılıyor ve HOSTS.TXT’in kopyası file transfer protokol ile alınıyordu.
arpanet üzerinde TCP/IP kullanımına paralel olarak ortaya çıkan rokettube bağlantı patlaması, isim çözümü için birçok sunucuda ve her bilgisayara özgün bir isim atanmasında problemler yaşanmaktaydı. Ayrıca yalnızca isim çözümlenmesi için oldukça yüksek miktarda bant genişliği harcanmaktaydı. Buna rağmen kullanılan isim veritabanlarının uyumlu olması her zaman sağlanamamaktaydı.
Bu durumun ortaya çıkmasından sonra arpanet daha ölçeklenebilir bir isim çözümleme yapısı için araştırmalara başladı. paul mockapetris bu işle görevlendirildi. Mockapetris 1984 yılında Domain Name System (DNS)’i tanımlayan RFC 882 ve RFC 883’ü yayınladı. Bunlar daha sonra hâlen geçerli olan RFC 1034 ve RFC 1035 tarafından güncellendiler.
DNS'in yapısı
DNS sistemi, isim sunucuları ve çözümleyicilerinden oluşur. İsim sunucuları olarak düzenlenen bilgisayarlar, host isimlerine karşılık gelen IP adresi bilgilerini tutarlar. Çözümleyiciler ise DNS istemcilerdir. DNS istemcilerde, DNS sunucu ya da sunucuların adresleri bulunur.
Bir DNS istemci bir bilgisayarın ismine karşılık IP adresini bulmak istediği zaman isim sunucuya başvurur. İsim sunucu, yani DNS sunucu da eğer kendi veritabanında öyle bir isim varsa, bu isme karşılık gelen IP adresini istemciye gönderir. DNS veritabanına kayıtların elle, tek tek girilmesi gerekir.
İnternet adresleri, ilk önce ülkelere göre ayrılır. Adreslerin sonundaki tr, de, uk gibi ifadeler adresin bulunduğu ülkeyi gösterir. Örneğin tr Türkiye'yi, de Almanya'yı, uk İngiltere'yi gösterir. ABD adresleri için bir ülke takısı kullanılmaz çünkü DNS ve benzeri uygulamaları oluşturan ülke ABD’dir. Öte yandan, ABD'ye özel kuruluşlar için us uzantısı oluşturulmuştur. İnternet adresleri ülkelere ayrılıdıktan sonra com, edu, gov gibi daha alt bölümlere ayrılır. Bu ifadeler DNS'te üst düzey (top-level) domain'lere karşılık gelir. Üst düzey domain'ler aşağıdaki gibidir.
Resolving (Çözümleme) - Aranılan bir kaydı bulma işlemi
- Mesela http://google.com.tr adresine karşılık gelen IPv4 adresinin olmasının bulunması. Çözümleme yapan yazılımlar iki çeşit işlem yaparlar; özyineli çözümeme ve özyineli olmayan çözümleme. Sorgularda gönderilen RD (recursion required - özyineli gerekli) bitlerine göre sorgunun türü belirlenir. Özyineli olmayan sorgulara cevap veren sunucular cevap olarak ardışık isim sunucuları verirler. Sonuç olarak yapılan bir sorgu özyineli değil ise http://google.com.tr için doğrudan 8.8.8.8 IP'si ya da "makina bulunamadı" cevabı verilebilir. Fakat özyineli bir sorguda cevabı bulmak için başka bir isim sunucusunun IP'sini verebilir.
Authoritive Nameserving (Yetkili İsim Sunumu)
- Bir alan hakkında bilgi bulunduran sunucudur. Mesela yildiz.edu.tr alanının MX (Mail eXchanger), NS (Name Server), A (Address)(Bunlar - Resource Record - Özkaynak Kaydı olarak bilinir) kayıtlarının tutulduğu isim sunucusudur
DNS Sorgulama
DNS; mail sunucuları, domain isimleri ve IP adresleri gibi bilgileri tutan hiyerarşik bir yapıdır. Bir DNS istemcisi, ad çözümlemesi yapmak için DNS sunucularını sorgular. DNS hizmetleri; kullanıcının girdiği bir DNS adını çözüp, IP adresi gibi o ad ile ilişkili bilgileri oluşturur.
DNS sorgulaması yapmadan önce yapılan bir tarama sonucunda, DNS bilgileri 'name servers(NS)' ya da 'domain servers' olarak görülür. Bu bilgiilerin erişiminden sonra DNS sorgulamasıyla daha fazla bilgiye ulaşılır.
Yanlış yapılandırılmış bir DNS sunucusu sonucunda 'Bölge Transferi(Zone Transfer)' olarak bilinen atak yapılabilir. Bölge transferi ile DNS sorgusu yapılan hedefle ilgili birçok bilgiye ulaşılabilir. Bölge transferi; DNS sunucusunun çalıştığı domain ile ilgili bütün verileri içerir. Bu önemli bilgilerin içinde e-posta sunucusunun ismi, IP adresi, kullanılan işletim sistemi ile ilgili bilgiler vardır.
Bölge transferlerine karşı bir önlem olarak güvenlik duvarında(firewall) veya ağ geçitlerindeki yönlendiricilerde 53 numaralı TCP portu gelen tüm yetkisiz bağlantılara karşı kapalı tutulmalıdır.
DNS sorgulasından bir korunma yöntemi olarak alan adı bir domain değilse, -.tr uzantı ile sonlanmıyorsa 'private domain' haline getirmek bazı tehlikelerden korur. Private domain olan alan adlarında kişisel bilgiler 'Private' halini alır. Yani gerçek bilgiler gizlenir. Ama, private domain her domain sağlayıcıda yoktur.
DNS Sorgulamalarına Karşı Alınacak Önlemler
- DNS bilgileri önemli bilgilerdir. DNS sunucuları ayarlanırken sistemle ilgili çok az bilgi verilmelidir. Sunucuya isim verilirken işletim sistemini çağrıştıracak bir isim verilmemelidir. Ayrıca kulanılan işletim sistemiyle ilgili yer boş bırakılmalıdır.
- Güvenlik duvarı kullanılmalıdır ya da yetkisiz bağlantıları önlemek için ağ geçitlerindeki yönlendiricilerdeki port durumlarına dikkat edilmelidir. DNS, UDP ile 53 numaralı portu; bölge transferi(Zone Transfer) ise TCP ile 53 numaralı portu kullandığından bunun önlemleri alınmalıdır. Bu portlar yetkisiz bağlantılara karşı kapatılmalıdır.
- İç ağ için ayrı, internet için ayrı bir DNS sunucusu kullanmak. Kullanıcı internete çıkmak isterse iç DNS sunucusu bu isteği alıp proxy sunucusu gibi davranarak isteği dış DNS sunucusuna iletir. Böylece ağ dışından olan biri sadece dış DNS'teki isimlere erişir.
- com : Ticari kuruluşları gösterir.
- edu : Eğitim kurumlarını gösterir.
- org : Ticari olmayan, hükûmete de bağlı bulunmayan kurumları gösterir.
- net : Internet omurgası işlevini üstlenen ağları gösterir.
- gov : Hükümete bağlı kurumları gösterir.
- mil : Askeri kurumları gösterir.
- num : Telefon numaralarını bulabileceğiniz yerleri gösterir.
- arpa : Ters DNS sorgulaması yapılabilecek yerleri gösterir.
Bu isimlere yakın zaman önce biz gibi uzantılar da eklenmiştir. Alan isimleri, ağaç yapısı denilen ve belli bir kurala göre dallanan bir yapıda kullanılmaktadır. Amerika Birleşik Devletleri haricinde, internete bağlı olan tüm ülkelerdeki adresler, o ülkenin ISO3166 ülkekodu ile bitmektedir. Türkiye'deki tüm alt alan adresleri, .tr ile bitmektedir. Örneğin; marine.ulakbim.gov.tr adresinde;
- tr Türkiye'yi,
- gov alt alanın devlet kurumu olduğunu
- ulakbim bu devlet kurumunu
- marine bu kurumda bulunan bir makineyi göstermektedir.
FTP ve TFTP istemci ve sunucular
Dosya aktarım iletişim kuralı, (ingilizce: File Transfer Protocol; FTP), bir veri yığınının - ASCII, EBCDIC, ve binary- bir uç aygıttan diğerine iletimi için kullanılmaktadır.
Bir dosyayı FTP kullanarak başka bir TCP/IP ağı üzerindeki kullanıcıya yollamak için o ağdaki bilgisayarda geçerli bir kullanıcı ismi ve şifresi gerekmektedir. Birçok FTP sunucusu, kullanıcı ismi ve parola olmadan erişim için "anonim FTP" (anonymous FTP) desteği verir, bu kullanım için kullanıcı adı olarak anonymous parola olarak ise bir E MAİL adresi girilmesi gerekmektedir (internet explorer, e-mail olarak IEuser@ girer).
Xterm terminali üzerinden ftp bağlantısı
FTP, dosya transferi ve komut transferi için değişik portlar kullanır. Varsayılan konfigürasyonda, komut transferi (yani sisteme giriş, klasör değiştirme, dosya adı değiştirme veya "dosya yolluyorum" komutları) için kullanılan port numarası 21'dir. Dosyalar indirilir veya gönderilirken ise o an boş olan bir port numarası kullanılır.
Tarih
Dosya aktarım iletişim kuralı için orijinal tanımlama Abhay Bushan tarafından yazılmış ve 16 Nisan 1971'de RFC 114 olarak yayınlanmıştır. Daha sonra Haziran 1980'de RFC 765'e ve Ekim 1985'te RFC 959 olan bugünkü haline getirilmiştir. Teklif edilen son standartlar RFC 959'u geliştirmiştir, örneğin RFC 2228 (Haziran 1997) güvenlik geliştirmelerini önerir ve RFC 2428 (Eylül 1998) IPV6 için destek sağlar, yeni bir çeşit pasif mod tanımlar
Çeşitleri
Ağ açısından bakıldığı zaman FTP' ni iki türü vardır. Bu FTP çeşitlerinden hangisinin kullanılacağını istemci tarafı belirler.
Aktif FTP
Aktif FTP
İstemci, sunucunun 21 numaralı portundan kontrol bağlantısı kurarak FTP sunucusuna bağlanır. Bu durumda istemci komut satırına düşer ve ls ve get komutlarını buradan gönderir. Tüm veri aktarım bağlantısı sunucu üzerinden 20 numaralı porttan gerçekleştirilir.
İstemci ls komutunu çalıştırdığında geri dönen cevap sunucunun 20 numaralı portundan değil, 21 numaralı portundan gerçekleşir. Daha sonra sunucu kaynak portunu 20 yapacak şekilde değiştirir ve dosya aktarımına devam eder.
Pasif FTP
Pasif FTP
Pasif FTP, değişik sebeplerden dolayı sistemde meydana gelen ftp problemlerine sunucu tarafında çözüm bulmak amacıyla çıkarılmış ftp çeşitidir.
İstemci, 21 numaralı porttan önce kontrol bağlantısı kurarak FTP sunucusuna bağlanır. Aktif bağlantıdaki gibi istemci ne zaman veri aktarımı gerçekleştirmeye başlarsa istemciden yeni bir port açılır. İstemci, sunucuya PASV komutu gönderir. Bu komut sonucunda sunucuda da yeni bir port açılır. Böylece veri aktarımı istemcinin en son açtığı port ile sunucunun en son açtığı port arasında gerçekleşir.
Bu yöntem genelde bağlantı filtreleme ve güvenlik duvarı gibi problemleri ortadan kaldırmaya yönelik geliştirilmiştir.
Güvenlik
FTP, güvenli bir protokol olarak dizayn edilmemişti -özellikle günümüz standartlarında- ve güvenlik açısından birçok zayıflığı vardı. Mayıs 1999'da RFC 2577'nin yazarları güvenlik zaaflarını listeledi. Bunlar; Bounce saldırısı ,Spoof saldırısı ,Kaba kuvvet saldırı ,Kullanıcı adı korunumu ,Port hırsızlığı,
Web istemci ve sunucular (http)
İstemci-sunucu, istemciyi (genellikle bir grafik kullanıcı arayüzü-GUI) sunucudan ayıran bir ağ mimarisidir. Her bir istemci yazılımı, sunucuya ya da uygulama sunucusuna isteklerini (request) gönderir.
Bu fikrin pek çok çeşitli uygulaması olmasına karşın, en güzel örneği İnternet üzerindeki Web sayfalarıdır. Bir web sayfası incelenirken, bilgisayar ve web tarayıcısı istemci olarak adlandırılır. Web sayfasını oluşturan gelişmiş bilgisayarlar, veritabanları ve uygulamalar da sunucu olarak adlandırılır. Web tarayıcısı, web sitesinden bir istekte bulunur ve sunucu istenen bilgileri toplar ve onu bir web sitesi şekline getirerek web tarayıcısına geri yollar, kullanıcılar da ekranda web sitesini görmüş olur.
Bir istemci/sunucu mimarisi, ölçeklenebilir bir mimari sunmayı amaçlar. Böylece ağdaki her bir bilgisayar bir istemci ya da sunucu rolünü üstlenir. Sunucu yazılımı genelde, fakat her zaman değil, bir iş yazılımı için adanmış güçlü bir bilgisayarda çalışır. İstemci yazılımı ise genelde sıradan bir PC veya işistasyonunda çalışır. İstemciler gerek duydukları verinin pek çoğunu ya da tamamını uygulama sunucusundan isterlerler. Mesela; ayar dosyaları, stok verileri, iş uygulama yazılımları vs. gibi.
Sunucu'nun özellikleri:
- Pasif (köle)
- İstekleri bekler
- İstek olduğunda bilgiyi sunar ve cevap yollar
İstemcinin özellikleri:
- Aktif (efendi)
- İstekleri gönderir
- Cevap dönene kadar bekler
Sunucular durumsuz (stateless) veya durumlu (stateful) olabilir. Durumsuz bir sunucu, istekler arasında bilgi tutmaz. Mesela statik HTML sayfalarını sunan bir HTTP sunucusu gibi. Fakat durumlu bir sunucu, kendisine gelen istekler arasında bilgi tutar. Bu bilgi küresel (global) veya oturum (session) bazlı olabilir. Örneğin Apache Tomcat sunucusu gibi.
İstemci ve sunucu arasındaki ilişki genelde ardışık diyagramlar (sequence diagram) ile belirlenir ve bu diyagramlar UML standardına uygun yapılır.
Bir diğer ağ mimarisi ise peer-to-peer yapılar olarak karşımıza çıkar. Burada her bir düğüm, hem istemci hem de sunucudur ve hepsi de aynı sorumluluğa sahiptirler. Hem istemci/sunucu mimarisi hem de peer-to-peer mimarisi günümüzde çok fazla kullanılmaktadır. Her ikisinin de avantaj ve dezavantajları vardır.
Genel bir istemci/sunucu mimarisinde iki adet düğüm vardır ve bu yüzden iki-katmanlı mimari olarak adlandırılır. Bazı ağlarda üç düğümlü bir yapı olabilir. Mesela islemci, uygulama sunucusu ve veritabanı sunucusundan müteşekkil bir ağda üç adet düğüm vardır ve bu yapı üç-katmanlı mimari olarak adlandırılır.
Genelde n-katmanlı ya da çok-katmanlı mimarilerde iş mantığının farklı fonksiyonları için her bir hizmetle sorumlu ayrı bir sunucu görevlendirilir. Çok-katmanlı mimarinin iki-katmanlı mimariye göre avantajı daha iyi yük dengeleme sunması ve daha çok ölçeklenebilir olmasıdır. Dezavantajları ise ağa daha fazla yük getirmesi ve programlama ve test aşamalarının daha zor gerçekleştirilmesidir.
İstemci/sunucu mimarilerde adresleme çeşitli yöntemler ile gerçekleştirilir:
- Makine proses adreslemesi (machine process adressing): adresler şu şekilde bölümlenir: proses@makine. Yani 56@453 ifadesi, 453 nolu bilgisayardaki 56 nolu proses'i işaret eder.
- İsim sunucusu (name server): İlgili alandaki (domain) sunucuların isimlerini ve adreslerini indeksler.
- Hedefbulma paketleri (Localization packets): Bir dağıtık sistemteki tüm bilgisayarlara gönderilen broadcast mesajlarıyla hedef bilgisayarların adreslerinin öğrenilmesidir.
- Tüccar (trader): Bir dağıtık sistemdeki hizmetleri indeksleyen bir sistemdir.
KAYNAKLAR
- [1] TCP/IP inglizce wiki sayfası.
- [2] YTÜ TCP/IP
- http://hbogm.meb.gov.tr/
- Yılmaz, Davut (2005). DNS Sorgulaması. İstanbul: Hayat Yayınları. s. 143 144 145. ISBN 975-6700-90-4.
- İnternet nedir?
- Ftp
- FTP Programları
- https://tr.wikipedia.org/wiki/%C4%B0stemci-sunucu
Henüz Yorum Yapılmamış, İlk Yorumu Siz Yapın