1 Mayıs 2009 Cuma

FTP Protokolü

FTP Nedir?

FTP (File Transfer Protocol) Internete bağlı bir bilgisayardan diğerine (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. İlk geliştirilen internet protokollerinden biridir. FTP protokolü ile bir başka bilgisayardan bir başka bilgisayara dosya aktarımı yapılırken, o bilgisayar ile etkileşimli-aynı anda (on-line) bağlantı kurulur ve protokol ile sağlanan bir dizi komutlar yardımıyla iki bilgisayar arasında dosya alma/gönderme işlemleri yapılır.

FTP Protokolünün Özellikleri;

*Kalıcı bağlantılar kullanılabilir.
*Veriler ve komutlar ayrı porttan aktarılır
*Güvenlik mekanizması sunar (istemci sunucuya kendini tanıtır)
*Anonim bağlantılara izin verir. Anonymous kullanıcı tanımlıdır. Ama bu hesap kapatılabilir.
*Kota bantları tanımlanır. Klasör,dizin için kota tanımlanır.
*Bir çok web serverinde,web yayınlanmasında dosya aktarımında ftp kullanılır.
*Dosya aktarmada kısıtlama getirilebilir.
*FTPde mb,gb büyüklükte dosyalar aktarılır. FTP, HTTPye göre daha az kullanıcıya hizmet eder.
*Anonim kullanırken dosya paylaşımı için bizden de dosya yüklememiz istenebilir( buna upload-download oranı denir)
*IP kısıtlanabilir.
*Unix temelli bir protokoldür.
*HTTP sunucuları için dosya aktarımı sağlar.
*Dosyaya ait tarih saat olgusu sunmaz.


FTP yapmak için neler gerekir?

FTP yapmak, bir bilgisayara FTP protokolü ile bağlanmak eylemini anlatan yarı Türkçe yarı İngilizce bir deyimdir. FTP yapmak için,
  • bağlanacağımız bilgisayarın internet adresi (nümerik ya da sembolik formatta)
  • bağlanacağımız bilgisayarda dosyalarına ulaşmak istediğimiz hesapla ilgili kullanıcı numarası ve varsa şifresi
  • Internet erişimi olan, üzerinde FTP yazılımı bulunan bir bilgisayar
  • bağlanacağımız bilgisayarda, FTP protokol komutlarını yorumlayacak çalışır durumda bir FTP Servis programı (FTP Sitesi)
  • gereklidir.

FTP ile nasıl bağlantı sağlanır?

Bağlantı, tanıtıcı adı (host name) veya internet numarası kullanılarak iki biçimde yapılabilmektedir. Ancak uygulamada daha sık olarak tanıtıcı adı kullanılmaktadır. Bağlantının yapılabilmesi için; ftp bağlanılmak istenen tanıtıcı ad formatı kullanılmaktadır. Bir makinayla olan bağlantıyı kapatıp diğer bir makinaya bağlanmak için önce close ile bağlantı kesilip, open makina ismi ile yeni bağlantı kurulur. FTP ile bağlantı kurulduktan sonra temel Unix komutları kullanılarak işl emler yapılmaktadır.

FTP nasıl yapılır? Temel FTP komutları nelerdir?

Genel kullanım : ftp şeklindedir. Bundan sonra, ilgili bilgisayara bağlanıldığında, kullanıcı numarası ve parola (password) sorulur. Daha sonra da, o kullanıcının makinasına baglanılmış olur. Bu şekilde, etkileşimli bir ortamda, (genellikle ftp> ile gösterilir) bazı komutlar verilerek iki makina arasında dosya işlemleri, ayrıca bağlanılan makinada bazı temel dosya/disk işlemleri (dizin açma, dosya silme vb) yapılabilir. Bazı temel FTP komutları ve kısa tanımları aşağıda listelenmiştir.:

Standart FTP komutları :

cd : Dizin değiştirme (cd ) (cd .. : bulunulan dizinden bir öndekine geçme)
pwd : Bulunulan dizinin ismini verir
dir : Bulunulan dizindeki dosyaları listeleme
ls : Bulunulan dizindeki dosyaları kisa olarak listeleme (Örnek kullanımlar : ls -lr : ayrıntılı, tersten alfabetik listeleme; ls -lr |more : sayfa sayfa listeleme (dizin içinde cok fazla sayıda dosya varsa bu kullanım oldukça yararlıdır))
get : Dosya alma (get (). ( seçimliktir, kullanılmayabilir. Bu durumda dosya_adı aynen kullanılacaktır.
put : Dosya gönderme (put ()
mget : Birden fazla dosya almak istendiğinde kullanılır. Örnek kullanımlar: mget *.zip, mget a*.* vb..
mput : Birden fazla dosya göndermek istendiğinde kullanılır.
ascii : Dosya aktarımlarında aktarım modu olarak ASCII kullanılacağını belirtme.
binary: Dosya aktarımlarında aktarım modu olarak BINARY kullanılacağını belirtme. Arşiv dosyaları (zip, arj, z, zoo, hqx vb), calıştırılabilir programlar (.exe, .com), resim formatlı programlar (gif, jpeg vb) FTP ile alınmadan/ya da gönderilmeden önce mutlaka bu komut verilmelidir.
delete: FTP yapılan yerde bir dosyayı silme (delete , eğer yetkiniz varsa kullanabileceğiniz bir komuttur)
Stat:Bağlantı durumu hakkında bilgi verir
Syst:Sunucunun işletim sistemi bilgisini gösterir
mkdir : FTP yapilan yerde yeni bir dizin oluşturma (mkdir , eğer yetkiniz varsa kullanabileceğiniz bir komuttur)
rmdirtype: : FTP yapılan yerde boş bir dizini silme (rmdir , eğer yetkiniz varsa kullanabileceğiniz bir komuttur)
type:Verinin ifade edileceği formatı belirtmektedir.
pasv:Verinin aktarılacağı port üzerinde sunucunun dinleme moduna geçmesini sağlar.
help : Kullanılabilecek komutlar ile ilgili bir yardım ekranı çıkarır.
strv:Dosya yapısı hakkında bilgi verir.
lcd : FTP ortamından çıkmadan, kendi makinanızda dizin değiştirmenizi olanaklı kılar.
close : FTP ortamından çıkmadan, sadece ilgili bağlantıyı kapatmak için kullanılır.
quit : FTP ortamından çıkmak ve bağlantıyı kapatmak için kullanılır (bye komutu da aynı işi görür).
Bazı FTP merkezleri, tüm bir dizini sıkıştırarak gönderme kabiliyetine sahiptir. Söz gelimi, linux isimli bir alt dizini, GET linux linux.zip şeklinde sıkıştırılmış olarak alabiliriz. Ancak, bu özellik her FTP merkezinde olmayabilir.


Kütük Transferi

Internet aracılığı ile kütük transferinin yapılması için get,mget, put ve mput komutları kullanılmaktadır. Ancak transfer edilecek kütük tipine bağlı olarak, transfer tipinin seçilmesi gerekmektedir. Internette iki tür transfer tipi vardır.

Ascii: Bilgisayarlar arasında text kütüklerinin transferi için uygundur.

Binary: Text içeren veya içermeyen imaj ya da program kütüklerinin transferi için kullanılır. Uzantısı z, Z, exe, zip, tar, com, sys, gz veya ps olan kütükler binary tipinde alınmalıdır. Burada z, Z, zip, tar, gz uzantıları o kütüğü n sıkıştırılmış olduğunu ps ise o dosyanın Postcript yapıda olduğunu gösterir. Uygun programlar ile bu kütüklerin transfer işleminden sonra açılmaları gerekmektedir.

Firewall

Firewall (Ateş duvarları);ağı iç ağ ve dış ağ olarak ikiye ayırarak denetimi sağlayan bir yapıdır.Dış ağdan gelen zararlı tehlikelere önlem olarak kullanılan etkili bier sistedir.Firewall, ağın içinden veya dışından gelen yetkisiz erişimleri engelleyen, süzen ve izin denetimi sağlayan yazılımlar veya donanımlardır. Ateş duvarlarını yazılımsal, donanımsal veya her ikisinin de bir arada olduğu gruplara ayırabiliriz. Aslına bakarsanız donanımsal olanların üstünde de bir çeşit gömülü yazılım (firmware), BIOS vs ismi altında yazılımlar çalışmaktadır.Ateş duvarı deyince sadece bizi dışarıdan gelen saldırılara karşı koruyan birşey düşünmemek gerekir. Gelişmiş ateş duvarları bunların dışında NAT (Ağ Adres Çevrimi), VPN (Sanal Özel Ağ) gibi teknolojileri de bize sunarlar.


Firewall Üzerinden Yapabileceğimiz İşlemler
Girilecek olan IP aralıkları belirlenip onların dışına çıkılması yasaklanabilir.Virüs taraması yapılabilir.Virüslü dosyaların gönderimi ve alımı engellenebilir.Sözcükler belirlenip o sözcükleri içeren web sitelerine giriş yasaklanabilir.İçerik iltesi yapılabilir.Örneğin akademik sitelere erişim için yasaklar kaldırılabilir veya cinsel içerikli sitelere erişi yasaklanabilir.Herhangi bir adrese olan erişime engel konulabilir ve son olarak ta internetin bant genişliği ayarları yapılabilir.Band genişliğini belirli bir seviyeye değiştirebiliriz.


WINS: Microsoftun çıkarmış olduğu bir yapıdır. TCP/IP üzerinde NetBIOS kullanan yönlendirilmiş ağlardaki NetBIOS ad çözümlemesinde kullanılan bir yapıdır.Host adı ile Ip dönüşümünü içerisinde barındırır.Aynı zamanda, kendine bildirilen kayıtları listeler haline tutar ve istendiği takdirde onları verebilen bir yapıdır.

NFS: Sun firmasının geliştirmiş olduğu bir yapıdır.

SMB: IBM tarafından geliştirilmiş bir yapıdır. Türkçe karakterleri içerisinde barındırmaz ve DOS işletim sisteminden beri kaynaklarını paylaştıran bir yapı olmuştur.

Active Directory

Active Directory, Ağ üzerinde bulunan tüm bilgilerin (örneğin kullanıcılar, gruplar , bilgisayarlar vb.) depolanmasını sağlayan ve bu bilgilerin kullanıcılar ve yöneticiler tarafından kolayca kullanılmasını ve bulunmasını sağlayan bir servistir. Ayrıca güvenlik, oturum açma sırasında kimlik denetimi gibi işlemlerde Active Directory ile bütünleşik olarak çalışmaktadır.
Microsoft ağlarında kullanılan dizin hizmetidir.
Bu veritabanı, kullanıcılar, bigisayarlar, mekanlar, yazıcılar gibi organizasyonun tüm bilgilerini saklar. Bu dizin vasıtasıyla çeşitli yönetimsel kısıtlamalar oluşturulabilir ya da kullanıcıların çalışma ortamları ihtiyaçlar ve standartlar doğrultusunda şekillendirilebilir. Bu şekillendirmeler Grup İlkesi sayesinde yapılır.

Active Directory'nin ilk uygulaması, Windows Server 2000 ile gerçekleşmiştir. LDAP uyumlu bir veritabanıdır.
Active Directory'nin Genel Özellikleri
-Tek bir noktadan yönetim
-Organizasyon
-Yönetim
-Kontrol

Active Directory'nin Genel
Özellikleri
-Network’ün domain olarak adlandırılan birimler halinde düzenlenmesini sağlar.
-Kullanıcıve grupların listesini merkezi olarak tutar.
-Kullanıcıve grupların ancak gerekli izinlere sahip olmasıdurumunda kaynaklara erişmesini sağlar.
-Domain içindeki nesnelere birçok özelliklerinden erişimi sağlar.
-Domainin OU adıverilen alt parçalara bölünmesini sağlar. Bu yönetimin delege edilmesini sağlar

Web Servisleri

Bu sistem http protokolü üzerinden çalışan bir yapıdır.Veri depoları etiketleri arasında tanımlanmıştır.Web'in 2.0 ve sonrası sürümlerinde etkisini gösteren bir kavramlardandır.Bilgiler "XML" formatındadır.Kullanıca bilgi vb konularda yardımcı olmaktadır.Farklı noktalardan girilen bilgilerin farklı işlenmesini sağlar. Verinin istendiği gibi yapılandırılmasını sağlar. XML herhangi yapısal bilginin saklanmasında ve farklı işleme ortamlarında bilginin transferinin mümkün olmadığı koşullarda bilginin evrensel yapılandırılması için kullanılmaktadır.XML, farklı türdeki ve yapıdaki dokümanların tanımlanması için kullanılan uluslararası bir standarddır.Bilgi içerikli metin ifadeler olduğu dolayısıyla güvenlik tehditleri çok fazladır.İki türlü güvenlik önlemi mevcuttur;
Simetrik şifreleme: Belirli anahtara bağlı kalınarak oluşturulan bir şifreleme türüdür. Anahtar karşı PC tarafından bilineceğinden kullanımı büyük riskler taşımaktadır.
  • Blow Fish: Eski bir algoritmaya sahiptir. En temel şifreleme algoritmalarına sahiptir.
  • Idea: Gelişmiş bir şifreleme standardıdır.Ücretli ve lisanslı kullanımı gerekmektedir.Bu sebeple de çok yaygınlaşmamıştır.
  • 3Des: Daha önce IBM tarafından geliştirilmiş olan Des'’in gelişmiş bir halidir.Birçok farklı anahtar ve daha gelişmiş güvenlik yapıları vardır. Günümüzde de bankalar bu standardı kullanmaktadırlar.
  • Twofish: Gelişmiş bir şifreleme standardıdır.Kullanımı çok yaygın değildir.
  • AES: Yaygın olarak kullanılan şifrelemedir. zip şifrelemede kullanılır.
  • RC4 ve RC5: Günümüzde en çok kullandığımız bir algoritma yapısıdır.Şifreleme yapısı olark en çok tercih edilenlerdendir.Bu şifrleme algoritması da lisanslı olup kullanım için ücret verilmesi gerekmektedir.

Asimetrik şifreleme: Günümüzde daha çok kullanılan bir şifreleme yapısıdır.. Bağlantı sırasında karşı taraftaki bilgsayara anahtarı aynen göndermez.Bu da simetrik şifrelemeye göre daha çok tercih edilmesinin sebebidir.Gönderilen anahtar asimetrik bir yapıya sahip bir anahtar olmaktadır.Çeşitli yapıları vardır;

Açık Anahtar: Açık bir anahtar yapılanmasına dayanan bir sistemdir. Güvenlikte önlemler bir 3. kişiye bağlıdır.Belirli bir süreç içerisinde gerçekleşen bir yapıdır. Bu 3. kişi istemci ve kullanıcı tarafından kabul gören bir sertifika otoritesidir.Tanımlanacak olan genel ve özel anahtarlar sertifika otoriteleri tarafından tanımlanmaktadır.

Nesnelerin Ağ Üzerinden Aktarılmasının 2 protokolü vardır.

a) RTSP Komut Yapısı
(Gerçek Zamanlı Akış Protokolü)
  • Describe: Listelere ulaşmak için kullanılan medya parametrelerini listeler.
  • Teardown: Veri aktarımı keser.
  • Play: Sunucudan istemciye veri akışını başlatır.
  • Record: İstemciden sunucuya veri aktarımını başlatır.
  • Pause: Veri aktarımını durdurur.
  • Setup: Oynatıcı ve kullanıcı arasında mantıksal bir kanaldır.

b) Voip:
İnternet protokolü üzerinden ses aktarımı yapar. 3. Katmanla IP üzerine yapılandırılmıştır.İnternet üzerinden ses taşınmasını sağlayan bir yapısı bulunmaktadır.

H323 protokolü:

Telefon sinyallemesi yapan bir sistemdir.Daha önceleri var olan bir yapı olan POTS sistemi yerine geçimş bir sistemdir.
Adresleme olrark telefon numarasının kendisini kullanır.mesaj formatı ikili kodlar ile yapılmaktadır.Arama sonlandırması komutla veya tcp bağlantısının kesilmesi ile gerçekleşir.Geişmiş bir yapıya sahiptir.Kurulacak olan iletişimin nasıl tanımlanacağını belirler.RFC ile tanımlanmış bir yapıdır.Telefonlarla genelde uyumlu çalışmaktadır.ASCII kullanır. Gelişmekte olan bir yapıdır.Yapısında url de tanımlanmışır.

Windows Server 2003 de Web Sitesi Oluşturma ve Yayınlama

Windows Server 2003 Üzerinden Bir Web Sitesi Oluşturmak ve Yayınlamak
IP si 10.0.0.5 olsun ve Adresi de: http://www.kanarya.org/ olsun
c:\kanarya klasörünün içinde olacak.
php uzantılı bir site olacak ve
php5isapi.dll uzantılı olacak.





Yapılacak ilk işlem Blgisayarım sağ tıklanarak ,Bilgisayarı Yönet seçilir
Internet Information Service kısmından web sitesi klasörüne tıklanır


Karşımıza "Web sitesi oluşturma sihirbazına hoşgeldiniz" mesajının gelmesinden sonra ileri butonuna basılır


Web sitemizin adresinin www.kanarya.org olarak tanımlıyoruz

Web sitesi için kullanılacak IP ve TCP bağlantı noktası seçilir
ana üst bilgisi www. kanarya.org olarak yazılır


Web sitesi için giriş dizini belirlenir.

Web sitesi erişim izinleri belirlenip, İleri butonu tıklanır.


Adresi kanarya.org'un olan sitemizin özellikleri belirlenir ve Web sitemizin TCP ve IP gibi kimlik bilgileri tanımlanır

Kaynak içeriğinin alınması gereken yer belirlenir
Uygulama ayarları yapılır
Çalıştırma izinleri ve uygulama havuzu belirlenir

Uygulama yapılandırması yapılır.

Uygulama uzantısı eşlemesi ekleme ve düzenle seçenekleri yapılır
Tüm filler seçilir. çalıştırılabilir ve dahil hat seçilir.

Uygulama yapılandırması seçeneğinden ISAPI uzantılarını ön belleğe al kutucuğu tiklenir
ve Tamam'a tıklandıktan sonra web sitesi oluşturma gerçekleşir.

HTTP Protokolü

HTTP PROTOKOLÜ

Hypertext Transfer Protocol (HTTP) (Köprü Metni Aktarım Protokolü) Web sunucuları ile Web tarayıcılarının Internet üstünden birbirleri ile haberleşmek için kullandıkları ortak dildir. Bu protokol kullanıcı ile sunucu arasındaki mesaj alısverisinin hangi formatta olacagını belirler. Güvenilir bilgi iletimi gerektirdigi için mesajlar TCP baglantısı ile iletilir. Dolayısıyla kullanıcı ile sunucu arasında bir bilgi alısverisi olmadan önce, iki nokta arasında TCP baglantısı kurulur. 80 numaralı TCP portunu kullanır. HTTP’de aktarılan veri dosya olmak zorunda değildir.Bu nedenle aktarılan nesneler hipermetin olarak isimlendirilir.Web siteleri büyük küçük bir çok dosyadan oluşur.Bir istek geldiğinde bu dosyaların hızlı bir şekilde aktarılması gerekir.Bu aktarma işleminde ftp yetersiz kaldığı için HTTP protokolü tanımlanmıştır. HTTP kalıcı bağlantıları desteklemez .İstemciden bir istek gönderildiğinde sunucu ile bağlantı kurulur cevap gelir ve bağlantı kesilir.HTTP 1.1 sürümü kalıcı bağlantılara destek vermektedir.Fakat yaygın kullanılmamaktadır.Bunun sebebi birden fazla kullanıcıya hizmet verirken zaman sorunları. HTTP bir 7.katman protokolüdür ve smtp’de olduğu gibi MIME yapısına benzer bir yapı tanımlanmıştır.Bir Web tarayıcısı bir web sayfası talep ettiğinde, Web sunucusuna bir request/istek gönderir. Bu istek mesajında bir Header (başlık) ve belli durumlarda bir Body (gövde) kısmı bulunur. Web sunucusu da bu istek mesajına bir response/yanıt mesajı ile karşılık verir. Bu yanıt mesajında da her zaman bir Header ve çoğu zaman bir Body kısmı bulunur.HTTP bir istek/yanıt protokolüdür. Her yanıttan önce bir istek verilmiş olmalıdır.Her ne kadar istek ve yanıt mesajlarının içerdikleri bilgiler farklı olsa da Header/Body yapısı ortaktır. Header’da mesajla ilgili Meta-bilgileri, Body’de mesajın içeriği bulunur.
Http ‘nin İstek Komut Yapısı
----------------------------------------------------------------
KOMUT PARAMETRE HTTP SÜRÜMÜ
----------------------------------------------------------------



HTTP isteğinin ilk satırı istek yöntemini, istenilen kaynağın URL’sini ve protokolün sürümünü içerir.

  • İstek komutları büyük ve küçük harfe duyarlıdır ve her zaman büyük harf ile yazılırlar.
  • HTTP’de tanımlanmış birkaç farklı istek yöntemi olmasına rağmen Web sunucu tümünü her bir kaynak için desteklemiyebilir.
  • Bu yöntemlerin en yaygınları GET, HEAD ve POST’tur.

    Bazı HTTP Komutları

  • GET: Dosya çağırma komutudur.

  • HEAD: Get komutuna benzer ancak sadece başlık bilgilerini gönderir.
  • POST: Postun farkı parametre içermesidir.
  • DELETE: Web sayfasını siler.
  • OPTIONS: Verdiğimiz komutun türünü belirtir.
  • PUT: Bir web sayfasını saklamak üzere gönderir.
  • TRACE: Web sunucularını kontrol etme işlemidir.


İstek Mesaj Header (Başlık) Yapısı

İstemci genelde istek mesajı ile bir kaç tane Header alanı da gönderir. Bunlar, isim ve değerden oluşur. Bu alanlar, istek ya da istemci hakkında daha fazla bilgi vermek ya de isteğe durum koşulları eklemek için gönderilirler.








Sunucu Cevap(Response) Komut Yapısı

Sunucu yanıtlarında, istemcinin gönderdiği istek mesajlarında olduğu gibi her zaman bir header ve opsiyonel bir body kısmı bulunur.

--------------------------------------------------------------------------
HTTP/1.1 XXX (Cevap kodu 3 haneli numaralardan oluşur)
Açıklamalar

--------------------------------------------------------------------------



İlk satır olan Status Line’da protokol ve sürümü, cevap kodu ve cevapın yazılı mesajı bulunur.Cevap kodları 3 haneli rakamlardan oluşur.İlk hanesi verdiğiniz komutun tür bilgisini içerir.

İlk satır olan Status Line’da protokol ve sürümü, cevap kodu ve cevapın yazılı mesajı bulunur.Cevap kodları 3 haneli rakamlardan oluşur.İlk hanesi verdiğiniz komutun tür bilgisini içerir.

Cevap Kodları

  • Seri 1xx : Alt seviye HTTP etkileşimlerinde kullanılırlar.

  • Seri 2xx : İstekle ilgili herşeyin uygun ve düzgün olduğunu belirtirler. 200: OK ,204: No Connect mesajı verir.

  • Seri 3xx : Genellikle bir çeşit yönlendirme ifade ederler. İstek geçerliydi fakat Web tarayıcı istenilen içeriği başka bir yerde/adreste bulmalı.

  • Seri 4xx : Bir hata oluştu ve bu hatanın sorumlusu sunucu değil, sunucu hatadan dolayı Web tarayıcısını sorumlu tutuyor. 404 : sayfa bulunamadı,403 : yasak,408 istek zaman aşımına uğradı.

  • Seri 5xx : Bir hata oluştu fakat bu sefer hata Web tarayıcıdan kaynaklanmıyor, hatanın sorumlusu sunucu ya da sunucuda çalışmakta olan bir betik.

Cevap Başlık Yapısı

Content-Base :Tüm göreli URL’leri çözümlemek için sunucunun taban (base) URL’ini tanımlar
Content-Length :Yanıt mesajının Body kısmının boyutunu (byte olarak) belirtir
Content-Type :İsteğin ortamını (media) belirtir
Date :İsteğin gönderildiği tarih ve zamanı tanımlar
eTag :İstenilen kaynak için bir varlık etiketi (entity tag) yaratır
Last-Modified :İstenilen kaynağın en son ne zaman değiştirildiğini tanımlar
Location :Kaynağın bulunduğu yeni yeri belirtir
Server : Web sunucunun adını ve sürümünü tanımlar
Set-Cookie :Sunucunun, Web tarayıcının daha sonraki isteklerinde göndermesini istediği bir isim ve değer çifti tanımlar.Set cookie ile sununun istemciyi tanıyarak dosyaları tekrar yüklemesi engellenir.
WWW-Authenticate :Doğrulama şeklini ve metodunu tanımlar


HTTP Protokolünün Özellikleri

Http kalıcı bağlantılarda etkili bir yapıya sahip değildir.HTTP protokolü sayesinde kullanıcılara birçok sınırlandırmalar yapılabilmektedir.
  • Dizin güvenliği: Dizinlere ait özellik ve sınırlamaların belirlendiği kısımdır.Klasörlere yetkilendirme yapılmaktır.
  • Varsayılan dip not: Gönderilecek olan bilgilerin içerisine önceden belirlenmiş bir html nesnesinin eklenmesidir.Örneğin; Web sitesinin adı
  • Giriş dizini: Dizin içerisinde varsayılan içerik bulunamamışsa ve klasöre istek yapılmışsa klasör içeriği listelenir. http://localhost veya http://127.0.0.1
  • Anonim: Herhangi bir kullanıcı adı ve parolası girilmeden erişimi sağlamaktadır.Kullanıcı adı ve parolası girilmez. USS_WIN2003 bu kullanıcı adı IIS kurulurken oluşturulur. Kullanıcı adı ve parola ile de hizmet verilebilir. Ayrıca belirli IP blokları arasındaki bağlantılara cevap verebilme gibi birçok ayarlar buradan yapılmaktadır.
  • İçerik derecelendirme: Http üst bilgisi ile kullanıcılara bazı kategorilerde ne tür içerik olduğu gönderilebilir. Web tarayıcıardaki bu bilgi yığınına bakıp içeriki ksıtlaması yapılabilir.
  • Mime türleri: web sitesi ilk oluşturulduğunda tüm uzantıları desteklemez. Bazı uzantıların desteklenmesi için bunların tanımlanması gerekmektedir. Bunları Mime aracılığı ile yaparız. Hangi uzantıya hangi veri yığını göndereceğimizi tanımlanır.
  • BITS: Bir tür aktarımım biçimidir . Microsoft kullanır. BITS ile büyük boyutlu dosyalar daha kolay gönderilir.
  • ASP.net: Asp sürümlerini tanımlayabiliriz. 1 ve 2 sürümlerinden hangisini kullanacağımızı belirleyebiliriz. Yapılan projenin asp ise dll dosyasının doğru şekilde yorumlanabilmesi için sürümünün seçildiği bölümdür.
  • ISAPI: exe dosyası gibidir, DLL uzantılıdır. Bir dosyayı çalıştırılabilir olarak tanımladığımız zaman, DLL uzantılı bir dosyaya istek yapıldığı zaman o dosyanın içeri kullanıcıya gönderilmez. Dosya çalıştırılır, bir değer çıkar ve bu değer kullanıcıya gönderilir. DLL çalıştırılır ve kullanıcıya çıktısı gönderilir.
  • NOT:Adres çubuğunda herhangi bir .dll uzantılı bir dosya görüldüğü takdirde demek oluyor ki obir ISAPI uygulamasıd
  • CGI: Bir dosyanın içeriğini değil, o dosyayı çalıştırıp çıktısını kullanıcıya göndeririz.
    Bir exe dosyasının 1000 kez çalıştırılması gerekebilir. CGI performans problemlerine yol açmıştır.Genellikle UNIX için kullanılır. Windows için WinGCI kullanılır. WinGCI, Windows için özelleşmiştir. WinCGI’nın farkı bir konsol yapısını kullanmamasıdır. Sanal bir konsol yapısı açılmaz.
  • 2 tip ISAPI uygulaması vardır:
  • 1. ISAPI uzantıları: Belli bir uzantıda çalışır. GCI programlama güçlüğünü aşmak istediği yerlerde kullanır.
  • 2. ISAPI filtreleri: bir web sayfasının içeriğinin kullanılmasıdır. Gelen her içerik uygulamadan geçirilip kullanıcıya gönderilir. Tüm içerik kontrol edilir.
    WWW için CGI için arabirimlik yapar. Tamamen exe dosyalar yazmadan temel kod yığınlarıyla web sayfaları oluşturulabilir hale gelmiştir.
  • APACHE
    APACHE de tanımalmış olan bir ISAPI’dir. Konsol tabanlı bir yapısı vardır.. Unix tabanlı bir sistem olarak geliştirilmiştir.Windows ailesinde APACHE'nin yaptığı görevlerii IIS (Internet Inforation Services) yapmaktadır.

ISS - APACHE

IIS (INTERNET INFORMATON SERVİCES)

Web sayfalarının yayınlanmasını ve web uygulamalarının çalışmasını sağlayan, istemcilerden HTTP ve FTP üzerinden gelen talepleri Microsoft Windows sunucu tabanlı işletim sistemlerinde karşılayan birim Internet Information Services (IIS )’dir

IIS (Internet Information Services), Windows sistemlerinde web tabanlı uygulama geliştirip yayınlayabilmek için gerekli alt yapıdır. Yani IIS kurulu olmayan bir bilgisayarda ASP veya ASP.NET uygulaması geliştirilemez.

Bir ağ mühendisinin gözüyle IIS, OSI katmanının bir üstünde yer alarak herhangi bir bilgisayar ile bir Windows bilgisayar arasında oturumsuz bir protokol sağlar. Buradaki oturumsuz kelimesi ile anlatmak istediğim, Telnet gibi protokollerde olduğu gibi iki sistem arasında devam eden bir konuşma bulunmamaktadır. İstemci – Sunucu mimarisi doğrultusunda, istemci HTTP protokolü üzerinden sunucuya talepte bulunduğunda, ki burada sunucu tarafında istemciyi IIS karşılamaktadır, IIS ya cevap döner ya da dönmez.

Windows Server 2003 ile birlikte IIS 6.0 sürümüyle gelmektedir. IIS 6.0 , daha önceki 5.0 ve 5.1 sürümlerine göre güvenlik geliştirmelerine sahiptir.Aynı zamanda IIS hizmeti Windows Server 2003’ü kurduğunuzda varsayılan olarak güvenlik nedeniyle kapalıdır. Buradaki amaç, sistem yöneticisinin hangi hizmete ihtiyacı varsa, bilinçli ve kontrollü bir şekilde ilgili hizmeti başlatmasını sağlamaktır. Windows 2000 ve XP Pro işletim sistemlerinde ise IIS’i Denetim Masası içerisinde yer alan Program Ekle/Kaldır bölümündeki Windows Bileşeni Ekle/Kaldır bölümünden varsayılan ayarlarla kurulumunda yüklenmediğinden ek olarak işletim sistemi CD’sini kullanarak yükleyebilirsiniz. CD içerisindeki I386 dizininde gerekli kurulum dosyaları mevcuttur.

Çalıştır satırına “inetmgr.exe”IIS’i yönetmek için Başlat Menüsü yazarak IIS yönetim arabirimine ulaşabilirsiniz. Varsayılan Web siteleri içerisine sanal bir dizin yaratabilirsiniz. Ayrıca yayınlamak istediğiniz sayfaları C sürücünde yer alan “InetPub” dizini içerisindeki “wwwroot” altına koyabilirsiniz.

IIS’in çalışıp çalışmadığını denetlemek için, yönetimsel araçlardan Hizmetler’i seçerek “IIS Admin” hizmetinin çalışıp çalışmadığını kontrol edebilirsiniz.Diğer bir alternatif olarak Internet Explorer adres çubuğu içerisine “localhost” yazarak IIS’in giriş sayfasına ulaşıp ulaşmadığınızı kontrol edebilirsiniz.

IIS aynı zamanda FTP Server olarak da kullanılabilir.

IIS kurulumunda, .NET Framework kurulmadan önce IIS'in kurulmuş olmasına dikkat edilmelidir. Aksi halde Asp.Net dosyalarının uzantıları ilgili kütüphane dosyaları ile doğru kullanılabilir hale gelemez. Eğer IIS kurmadan Framework'u kurmaya çalışılırsa bir uyarı ile karşılaşılır. Bu uyarı yoksayılarak yükleme işlemine devam edilebilir. Ancak, IIS yüklemesi yapmaya karar verildikten sonra, sistemin Asp.Net sayfaları ile uyum içinde çalışabilmesi için Visual Studio.Net komut satırı aracını açıp "aspnet_regiis.exe -i" komutu girilmelidir.

Sekil 1: IIS Kurulumu

IIS Yönetimi

Sisteme kurulan IIS yönetim kontrolü için, masa üstünde "Bilgisayarim" ikonu üzerine gelip farenin sağ butonunu tıklanır. Yönet (Manage) alanı seçilir. Açılan pencerede ise "Services and Applications" alanında IIS seçilir. Bu klasörün altında

  • Application Pools
  • Web Sites
  • Web Service Extensions

alt klasörleri bulunur.

Web sites alanı açılınca sistemimizde çalışan Asp.Net uygulamaları görünür. Açılan pencerenin üstünde ise sitenin çalışırlığını durdurmaya yarayan "stop" ve "pause" düğmeleri vardır. Web sites klasörü altında " Default web site" alanı seçilir ve üzerinde farenin sağ tusu tıklanarak IIS ayarları güncellenebilir. Bu klasör üzerinde sağ tıklanınca açilan pencerede ise sekiz adet ayar kategorisi vardır. En önemlisi " Home Directory " kategorisidir. Local Path alanında " c:\inetpub\wwwroot " ifadesi, sistemde IIS mekanizmasinin çalıştıracağı uygulamaların bulundugu yer bilgisini tutar.

Şekil 2: IIS Yönetimi

Asp.Net web uygulamalarının wwwroot klasörü altında tutulur. Ve bu klasör altında tutulan klasörlerin diğerlerinden farklılığı" virtual directory " yani sanal klasör olmalarıdır. .Net ile açılan yeni bir web uygulaması için otomatik olarak wwwroot altında yeni bir virtual directory oluşturulur.

VS.NET kullanmadan yeni bir virtual directory olusturmak için "Web sites -> default web site" alanı üzerinde farenin sağ tuşu tıklanır ve "new" alanında "Virtual Directory" seçilir. Sonra "Virtual Directory Creation Wizard" çikar. İlgili alanlar takip edilerek yeni bir virtual directory oluşturulur.


APACHE

Apache Software Foundation (ASF) tarafından geliştirilir. ASF, Apache yazarları tarafından 1999'da yazılım için yasal bir şemsiye olması için oluşturulmuştur.

Açık kaynak kodlu bir yazılımdır, lisansı ücretsizdir. Yazılım firmaları, kurumlara verdikleri hizmetten (kurulum, teknik destek, vb) kazanç sağlarlar. Bu sunucu internet tarayıcılarıyla bağlanan kullanıcıların isteklerine cevap veriyor. Klasik olarak html (hyper text markup Language - Üstortam Metin İşaret Dili) ile hazırlanmış sayfaları sunmaktadır. Bu sayfalar bizlerin çeşitli editörlerde yazdığı, oluşturduğu, internet sayfalarıdır ve içeriğe ne girmişsek, her zaman o içerikle karşılaşırız. Ama zamanla sunucu tarafında sayfaların oluşturulup, kullanıcıya yollanmasının etkileşimli ve doğru yol olduğu fark edilince sunucu taraflı (server side) script dilleri geliştirildi. PHP (PHP: Hypertext Preprocessor)‘de bu dillerden bir tanesi. Yani PHP ile siz bir sayfayı hazırlamaktan çok, sunulacak sayfanın özelliklerini programlamış oluyorsunuz. Bir ziyaretçi sitenize, sayfanıza girdiği zaman, php dili sayesinde sunucuda oluşan sayfa kullanıcıya yollanıyor. Bu tür bir sistemlerin etkin olabilmesi için önemli şartlardan bir taneside verilerin alınacağı bir deponun (veri tabanının) bulunması. Yani siteye giren kullanıcıya yollanacak sayfa yeni oluşturulurken, verilerinde yenilenmesi, en yeni ya da site ziyaretçisinin istediği bilgileri içermesi gerekmektedir. Bunu sağlayan veri tabanlarından bir taneside MySQL‘dir. MySQL verilerinizi düzenli bir şekilde saklamanızı ve istediğiniz zaman, belirleyeceğiniz kurallar dahilinde verilere ulaşmanızı sağlar. PHP ve MySQL ile ilgili örnekleri verdikçe sanırım burada yazılanlar daha açıklayıcı olacaklar..

22 Mart 2009 Pazar

DNS Sistem Uygulamaları-Kerio MailServer

Elektronik posta
Elektronik posta 822 no’lu RFC ile tanımlanmış bir yapıdır. Sistemler arasında veri iletimini sağlayan bir protokoldür. Elektronik postayı iki başlık altında toplayabiliriz:
1. Eş zamanlı mesajlaşma: anında mesajlaşma imkanı sunan bir protokoldür.
2. Eş zamansız mesajlaşma: anında mesajlaşma imkanı sunmaz.
Elektronik posta DNS sistemi üzerine kurulur.(DNS sistemi üzerinde sunucular ve posta hesapları vardır.)
postakutusuadı@DNS alan adı
MIME çok fonksiyonlu internet mesajlaşma uzantılarıdır. Düz metin yapısı içinde.(metin tabanlı)** elektronik posta protokolleri metin tabanlıdır. İnternetin 7. Katmanına uygundur.
MIME yapısı mesajın nasıl yapılandırılması gerektiğini belirler. Bilgi yığınlarını taşıyacak yapılar tanımlanır. Örneğin; acsii formatında taşıyamayacağımız bilgileri taşıyan yapılar sunar.
RFC 822 Elektronik posta ile ilgili bazı önemli başlıklar tanımlar:
Kime:
Kimden:
Konu:
To:
kime (asıl alıcı)
Cc (Corbon Copy): İkinci alıcılar, postanın bir kopyasını göndereceği kişi(diğer alcılar)
BCc (Bind corbon copy): Cc’den farkı blind(kör) den geliyor, to ve cc’ye yazdığımız tüm adresleri herkes görebilir fakat BCc’ye yazılan adresler gösterilmez.
From: Mesajı oluşturan kişi
Sender: Mesajı gönderen kişi
Date: mesajın oluşturulma tarihi
Return-Path:Dönüş yolu eğer mesaja cevap verilecekse kime yada mesaj ulaşmazsa kime gidecek o bilgileri tutar.
Reply-to: Ulaştırılacak mesaj cevaplanacaksa neresi cevaplanacak
Mesaj ID: Her elektronik posta için ID tutar.
In-Reply-To: Id yazılır karşı taraf hangi mesajın cevabı olduğunu bilir. Buraya bize gelen mesajın numarası yazılır yani.
Referans: mesajımız başka mesajlara da mesajlarda cevap oluşturuyorsa referans yazılır.
Key words: Mesajla ilgili anahtar kelimeler tanımlanır.
Subject: Mesajın özet bir metni veya konusu yazılır.
Mimenin tanımladığı yapılar:
Content-description: İçerik tanımlar.mesajın içeriğinde neler var.
Content-ID: İçerik numarası
Content-Transfer-encoding:İçerik transfer kodlaması(ascıı) . ascii ülkeler arasında varyasyonlara sahiptir.hangi yapıyı kullanıyorsak buraya onu yazarız.
**Bir dosyanın içinde ne tür bilgi olduğunu uzantısına bakarak anlarız. Bilgisayar ağları için uzantı diye bir kavram yoktur. veri aktarılır çünkü. Verinin türünü belirleyecek olan ise mime’dir. Mime’yi önemli kılan budur.
Content-type: İçeriğin türü tanımlanır.
Content-type/tur: Resim diye tanımlanmış/jpeg kullandığı formatta belirlenir. Tek bir meime yapısı için geçerlidir.
Text: Metin mesajlar için geçerlidir.
Image:gif, jpeg, png önemli alt türleri vardır.
Avi: Tam bir tür olarak sayılamaz.
Application: Uygulama
Message önemli yapıyı tanımlar.
Mime içeriği tanımlayan bir yapıdır. Bir protokol değildir. Mesaj gönderilmesi onun görevi değildir.
Sımple Main Transfer Protokolü(SMTP): sistemler arasında mime ile tanımlanan içeriğin taşınmasını sağlar. EP iki protokolde incelenir. Temel protokol budur.
SMTP mesajı gönderirken kullanıcı direk alıcının MX kaydı gösterilen bilgisayara mesajı bırakmaz. Herhangi bir sunucuya bırakır. O sunucu da mesajı hedef sunucuya değil de başka sunucuya bırakabilir. Aralardaki sunuculara SMTP-RELAY adı verilir.
Bu protokol çok güvensizdir. İçerik metin formatındadır ve çok kolay görülebilir.
** bu protokolle herhangi bir kişi herhangi bir hesaptan rahatlıkla mesaj gönderebilir.
** iana 25 no’lu portu SMTP için reserve eder.
Genellikle 4’er karakterden oluşan komutlar ve parametreleri şeklinde karşı sunucuya komut veririz. 3 haneli bir cevap ve bir açıklama ile bize cevap verilir.
Uygulama
telnet metin mesajları taşır. Metin tabanlıları taşımak için iyi bir protokoldür.
Telnet
Host name: mail.sakarya.edu.tr
Port 25 connect
220 ilk bağlantı kurulduğu zaman
Helo Sakarya.edu.tr (helo: oturumu açmak için )(Domain adını veriyoruz)(** bir SMTP birden fazla alan adına hizmet verebilir)
250 ile cevap veriyor.
Mail from:
*25 nolu port SMTP için
Rept to: sstercan@sakarya.edu.tr
Data komutu veriyoruz.
350 ile onaylar bundan mime yapısını tanımlarız.
From: billgatesmicrosoft.com
To:sstercan@sakarya.edu.tr
Mime versiyon 1.0
Subject: merhaba
Merhaba bu yeni ileti .
Mesajı bitirmek için bir boşluk ardından nokta koyulur.
Sunucudan çıkmak için Quit komutu ile çıkarız.
221: bağlantı kesildi.
SMTP ile istediğimiz kişinin ismiyle mesaj gönderebiliriz.
NotMesajlar sıralandığı için ve relaylar arasında gezindiği için eş zamanlı değildir. Hemen gönderilmez.
Telnet: Uzaktan komut vermek için kullanılan protokoldür. 23 portu kullanıyor. Mime bir telnet uygulamasıdır.
SMTP’nin en büyük problemi güvenlik problemidir. Güvenlik problemini aşmak için iki yol vadır:
1. Kullanıcı otantikasyonu : mesajın orijinal kişiden gelip gelmediğini anlamak içindir. Kullanıcı adı ve şifre vardır yani oturum açılır.
2. Relaylar arasında mime başlına ekleme yapma: aktarılan sunucu mime başlığına bir şeyler ekler. Orijinal adresten çıkıp çıkmadığına bakılır.
POP3 NEDİR?
Smtp ile hedefe ulaşan posta kutusundaki mesajların okunmasını sağlar. Pop3’de kullanıcı otantikasyonu vardır yani kullanıcı adı ve şifre. İana 110 numaralı portu pop3’e vermiştir. Pop3’de olumlu ya da olumsuz cevaplar vardır.
Mail.sakarya.edu.tr
Ok ile onay veriyor.
User b060606008
Pass 1453
** otantikasyon sürecini gerçekleştirdik.
List:( komutu ile mesajları listele yapabiliriz. Uzunluğu ve boyutlarına göre)
1 3121 (mesajın numarası ve byte cinsinden uzunluğu)
Retr 1 (içeriği okumak için)
Dele 2 ( dele komutu ile siliyoruz.)
Quit: (çıkış)
• Pop protokolü 100 tane msjdan hangisi sizin mesaj bunu size bildiremez hepsinin içeriğine bakmak gerekir.
Top komutu ile mesajın kaç satırı gelecek onu belirliyoruz.
Top3.1 ( üç numaralı mesajın1. Satırını getir. Mime bilgisi de gelir. Mesajın içeriğinin kaç satırının geleceği)
Top 3.0 mime yapısı gelir sadece
mesajın içeriğinin kaç satırının geleceği top ile belirlenir.Belirlendiği satır kadar gösterir.
Birçok pop sunucu komutlar tanımlar ancak RFC tanımladığı için sunucular arasında farklılıklar oluyor.
Bu protokollerin ek komutlarının belli bir standarttı yok.
SMTP kısmı elektronik postayı bir yerden bir yere bırakıyor. Belki mesajlarımız kaybolabilir
Eş zamanlı kullanma yükümlüğü yok.
Mime yapısı açık olduğundan güvensiz ortamda çalışır.
SMTP ve POP3 metin bazlıdır.
7.katman protokollerinim hemen hemen hepsinde güvensizlik söz konusudur.
Pop3 postaların kullanıcılara ulaşmasını sağlar. Sadece listeleyip görmenize yarar.
SMTP ve POP3 yeterli değildir çünkü;
1. İstenmeyen postaları nasıl yok edeceğiz?
2. Zararlı yazılımlar barındıran sunucuların belirlenmesi
3. Mevcut bant genişliği diğer işler için kullanılır. Boş kalan zamanlarda e-posta için kullanılmaktadır.

SMTP ile POP3 elektronik postayı tamamlar ama yeterli değildir. Bunlara alternatif bir rprotokol vardır; IMAP

IMAP araştırma
IMAP (Internet Message Access Protocol; İnternet Mesaj Erişim Protokolü), bir e-posta iletişim protokolüdür. 1986 yılında Stanford Üniversitesi'nde geliştirilmiştir.

IMAP4 olarak de bilinen IMAP, yerel kullanıcıların uzaktaki bir e-posta sunucusuna erişmesini sağlayan bir uygulama katmanı protokolüdür. En son sürümü IMAP sürüm 4 Revizyon 1 (IMAP4rev1) olup, RFC 3501'de tanımlanmıştır. IMAP4 TCP/IP protokolü üzerinde 143. portu kullanarak çalışır

Eposta sunucularından mesaj çekmek konusunda yaygın protokollerden biridir. Modern E-posta sunucularının neredeyse tamamı tarafından desteklenir.
Uygulanması
Genel kullanımda, bir kullanıcının e-posta istemcisini (Outlook, Apple Mail, Outlook Express, Thunderbird ; Hotmail ve Gmail web arabirimleri vb.) kullanarak yolladığı e-posta mesajları, önce kullanıcının oturum açtığı e-posta sunucusu tarafından kabul edilir ve genellikle SMTP kullanarak alıcının posta kutusunu içinde barındıran başka bir e-posta sunucusuna gönderilir. Bu aşamada alıcının göndericinin mesajlarına ulaşabilmesi için bunu e-posta istemcisi ile çekmesi gereklidir. Fakat SMTP tek yönlü bir protokoldür (sadece gidiş). Kullanıcının isteği üzerine posta kutunuzda bulunan e-posta mesajının istemcinize inmesini sağlayamaz. Bu aşamada yapılandırmaya bağlı olarak POP3 veya IMAP devreye girerek ilgili mesajın oturum açmış ve talep etmiş istemciye çekilmesi sağlanır.

IMAP ve POP3 kullanımı arasındaki temel fark IMAP ile E-Posta sunucusuna bağlantı kurulduğunda, kutuda birikmiş e-postaların sadece başlık bilgilerini istemciye getirir.POP3 ise bütün mesajları istemciye çeker.

Genel prensip olarak kullanıcı ve e-posta sayısının çokluğuyla doğru orantılı olarak kullanılır. Uygulamada web postası kullanan neredeyse bütün sunucularda IMAP protokolü kullanılır.
POP3'e göre avantajları
Bağlantı şekli
Bir e-posta sunucusuna POP3 ile bağlanıldığında bütün yeni mesajlar istemciye çekilir ve bağlantı kapatılır.IMAP kullanıldığında oturum açıldıktan sonra bağlantı sadece istek olduğu durumlarda açık kalır.(Bir mesajın açılması ve içeriğinin görüntülenmesi gibi).

Büyük boyutlu posta kutularında bu özellik içeriğin görüntülenmesini de sağlar....


Çoklu kullanıcı desteği
POP3 aynı posta kutusunda aynı anda tek kullanıcıyı destekler.Tersi durumda işleyiş tarzı sorun yaratır.

IMAP ise çok kullanıcıyı destekler.Bir kullanıcının yaptığı değişiklik eş zamanlı olarak diğer oturum açmış kullanıcı tarafından görülebilir.


MIME mesajlarına parçasal erişim
Nerdeyse bütün e-posta mesajları MIME (Multipurpose Internet Mail Extensions-Çok işlevli Internet Posta Uzantıları) formatında gönderilir. Bir e-posta yazı bölümü, ekli dosya bölümü gibi bölümlere ayrılır. IMAP bu bölümleri birbirinden bağımsız olarak çekebilir. Örnek: Mesajı açmadan mesaj ekindeki bir dosyayı bilgisayarınıza kopyalamak.


Mesaj durum bilgisi
IMAP kendi içinde bulunan İşaretleme(flag) sistemi ile bir mesajın pek çok halini görüntüleyebilir.(okundu, okunmadı, silindi, … kişiye cevaplandı vb..). Bu bilgiler sunucu üzerinde saklandığı için aynı anda birden çok kullanıcının bağlı olduğu bir posta kutusunda ,kullanıcılar mesaj durumu hakkında başkasının yaptığı değişiklikleri görüntüleyebilirler.


Çoklu posta kutusu desteği
IMAP kullanıcılara özel posta kutusu yaratılmasına izin verir.(Genellikle kullanıcılara klasör olarak gösterilir). Kullanıcılara mesajlarını değişik kutular arasında taşıma hakkı tanınabilir. Bunun yanında paylaşılan posta kutuları yaratılabilinir.


Sunucu taraflı arama mekanizması
IMAP4 istemcilerin çeşitli kıstaslara göre sunucu üzerinde mesaj araması yaptırmasına ve sadece bu mesajların görüntülenmesine izin verir.POP3 ise mesajları bütün olarak çeker, arama istemci tarafında yapılır.


Yapısal eklenti desteği
IMAP4 yapısal olarak eklenti yapılmasına açık bir protokoldür ve evrimleşebilir.,,,


Dezavantajları
POP3 e göre uygulanması karmaşık bir protokoldür.
Arama algoritmaları kötü olan sunucularda büyük posta kutuları üzerinde arama yapılması sunucu kaynaklarını tüketebilir.
Gönderilen mesajlar iki kere işlenir. 1- İstemciden sunucuya SMTP yoluyla 2-Mesajın Gönderilen Öğelere işlenmesi amacıyla posta kutusuna IMAP4 protokolüyle geri yollanır.







KERIO KURULUMU












IP Protokolü ve Yapısı

TCP/IP PROTOKOL KÜMESİ

I. TCP/IP PROTOKOLÜ

Başta Internet olmak üzere, farklı teknolojilere sahip networklerin olması, bağımsız olarak yönetilmesi ve geliştirilmesi gibi özellikleri TCP/IP protokolünün en yaygın kullanılan protokol olmasına neden olmuştur.

Aslında TCP/IP protokolü diye adlandırmak çok doğru değildir. Çünkü TCP/IP çok sayıda protokol ve yardımcı programlardan oluşan bir protokol kümesidir (protocol stack).

ŞEKİL 7-1: TCP/IP PROTOKOL KÜMESİ



ŞEKİL 7-2: TCP/IP PROTOKOL KÜMESİ ve OSI KATMANLARI


A. TARİHÇE

TCP/IP, endüstri standardı olan bir protokoldür. Bütün networkler için geliştirilmiştir. TCP/IP protokolü A.B.D Savunma Bakanlığı projesi olarak 1970'lerde temelleri atılmıştır. U.S. Department of Defense Advanced Research Projects Agency (DARPA) projesi daha sonra ARPANET olarak kullanılmaya başlanmıştır. ARPANET adı verilen proje Üniversite ve kamu kuruluşlarını bir birine bağlamayı sağlayacak bir ağ geliştirme amacını taşımaktaydı.

TCP/IP, DARPA'nın farklı bilgisayarlar arasında iletişim kurması gerektiğinde geliştirilmiştir. O günlerde bu oldukça zor bir görevdi. TCP/IP işletim sistemi ve bilgisayardan bağımsız olarak bilgisayarların iletişim kurmasını planlamıştı.

O zamanların TCP/IP standartları ve amaçları DoD (Department of Defence) olarak anılır. Ardından yapılan gelişmeler IAB (Internet Activities Board) adı verilen gruplar tarafından yapılmaktadır.

Şu anda da RFC (Request For Comments) adı verilen makalelerce TCP/IP'nin gelişmesi devam ettirilmektedir.


B. RFC (REQUEST FOR COMMENTS)

RFC (Request For Comments), TCP/IP'yi tanımlayan makalelerdir (dokümanlar). Bu makaleler herhangi bir kişi tarafından hazırlanabilir ve NIC yöneticisine gönderilir. Her RFC'nin bir numarası vardır. Örneğin SNMP yönetimi RFC 1065 ile tanımlanırken, kabul edilen SNMP kullanımı RFC 1155 numaralıdır.

Günümüz teknolojilerindeki gelişmeler, TCP/IP için bir gelişmenin olmasını zorunlu kıldığında komiteler önerilen RFC'leri kabul ederek yayınlarlar.

C. TASARIM AMAÇLARI

İlk başta U.S Savunma Bakanlığı (Department of Defence) TCP/IP çalışmalarına başladığında çok sayıda tasarım amaçlarına sahipti. Bunlardan bazıları:

-Donanım ve yazılım firmalarından bağımsız olacak.

-Yerleşik bir hata dayanıklılığına sahip olacak. Networkün bir kısmı çöktüğünde diğer bir kısmı çalışabilecek.

-Etkin bir veri aktarım hızına sahip olacak.

D. NEDEN TCP/IP

-Üreticiden bağımsız olması.

-Değişik ölçekli bilgisayarları birbirine bağlayabilmesi.

-Farklı işletim sistemleri arasında veri alışverişi için kullanılabilmesi.

-UNIX sistemleriyle tam uyumluluk.

-Birçok firma tarafından birinci protokol olarak tanınması ve kullanılması.

-Internet üzerinde kullanılması.

-Yönlendirilebilir (routable) protokol olması.

-Yaygın bir adresleme şemasına sahip olması,

ve daha sayabileceğimiz onlarca özellik TCP/IP'nin yaygın olarak kullanılmasını sağlar.



E. TCP/IP MİMARİSİ

TCP/IP, OSI 3 ve 4. katmanda çalışan bir protokoldür. Şekilde de görüldüğü gibi TCP/IP data link ve fiziksel katmanda bağımsız olarak çalışmaktadır.

ŞEKİL 7-3: TCP/IP MİMARİSİ




II. TCP/IP PROTOKOL KÜMESİ



TCP/IP protokol kümesi Windows 2000 networkünün oluşmasını sağlar. TCP/IP protokol kümesi altı çekirdek protokol ve bir dizi yardımcı program (utility) içerir.

Altı çekirdek protokol:

-TCP (Transmission Control Protocol)

-UDP (User Datagram Protocol)

-IP (Internet Protocol)

-ICMP (Internet Control Message Protocol)

-IGMP (Internet Group Management Protocol)

-ARP (Address Resolution Protocol)

Yardımcı programlar:

Tablo: Yardımcı programlar

Program İşlevi

Ping Konfigürasyonu kontrol eder ve bağlantıyı test eder. Ping 131.140.1.1 şeklinde kullanılır.

FTP Windows bilgisayarlar ile TCP/IP hostları arasında tek yönlü dosya transferini sağlar.

TFTP (Trivial File Transfer Protocol) Windows bilgisayarlar ile TCP/IP hostları

arasında UDP kullanarak tek yönlü dosya transferini sağlar.

Telnet Terminal öykünümünü sağlar.

RPC (Remote Copy Protocol) UNIX host bilgisayar ile Windows bilgisayar arasında dosya kopyalar.

RSH (Remote Shell) UNIX hostundaki komutları çalıştırır.

REXEC (Remote Execution) Uzak bir bilgisayardaki bir işlemi çalıştırır.

Finger Uzak bilgisayar hakkında bilgi sağlar.

ARP Yerel olarak düzenlenmiş IP adreslerinin ön belleğini hazırlar.

IPCONFIG Mevcut TCP/IP konfigürasyonunu gösterir.

NBTSTAT IP adresleriyle düzenlenmiş NetBIOS bilgisayar adlarını görüntüler.

Netstat TCP/IP protokolünün çalışması ilgili bilgileri görüntüler.

Route Yerel yönlendirme tablosunu gösterir ve değiştirilmesini sağlar.

Hostname RCP, RSH ve REXEC programlarının kimlik denetimini yaparak yerel bilgisayarın adını döndürür.

A. TCP (TRANSMİSSİON CONTROL PROTOCOL)

TCP protokolü connection-oriented olarak adlandırılan ve iki bilgisayar arasında veri transferi yapılmadan önce bağlantının kurulması ve veri iletiminin garantili olarak yapıldığı bir protokoldür. TCP iletişiminde veri paketleri kullanılır. Ayrıca gönderen ve alan uygulamalarda da port bilgisi eklenir. Port (çıkış), kaynak ve hedef uygulamanın iletişimini sağlar.

ŞEKİL 7-4: TCP/IP PROTOKOL KÜMESİ


TCP, güvenilir ve bağlantı (connection-oriented) temelli bir servistir. Bağlanı temelli olması bağlantının bilgisayarlar arasında veri değişiminden önce yapılması anlamına gelir. Güvenilir olması ise iletimin kontrolünün yapılması ile ilgilidir. Belli aralıklarla ACK bilgisi ile veri gönderimi kontrol edilir.

TCP byte-stream iletişimi kullanır. Bu yöntemde TCP segmentlerindeki datalar bir bayt dizisi olarak işlenir. Aşağıdaki tabloda TCP header içindeki ana alanlar yer almaktadır:

Tablo: TCP Header içindeki ana alanlar

Alan İşlevi

Source Port Gönderenin TCP portu.

Destination Port Alanın (hedefin) TCP portu.

Sequence Number TCP segmenti içindeki birinci baytın sıra numarası.

Window TCP ara bellek (buffer) alanının şu anki mevcut büyüklüğü.

TCP Checksum TCP header ve TCP datanın bütünlüğünü kontrol etmek için kullanılır.

TCP Portları

Bir TCP portu mesaj iletişiminde kullanılır:

Port Numarası İşlevi

21 FTP

23 Telnet

53 DNS

B. UDP (USER DATAGRAM PROTOCOL)

UDP'de bir gönderim katmanı protokoldür. Ancak UDP iletiminde sağlama yapılmadığı için gönderim garantisi olmaz. Broadcast iletiminde, az miktardaki verilerin iletiminde UDP paketleri kullanılır. UDP iletimi, gönderimin garanti edilmediği connectionless türü bir iletişim kurar.

UDP Servisi

UDP bağlantısız (connectionless) datagram servisidir. UDP kaybolan verilerin kurtarılması konusunda herhangi bir garanti vermez. Bu nedenle güvenilir bir protokol olarak nitelendirilmez.

UDP alınan verilerin garantisine gereksinim duymayan uygulamalar tarafından kullanılır. NetBIOS name servisleri, NetBIOS datagram servisi ve SNMP servisleri UDP kullanan uygulamalara örnektir. Aşağıdaki tabloda UDP header içindeki ana alanlar yer almaktadır:

Tablo : UDP Header içindeki ana alanlar

Alan İşlevi

Source Port Gönderen bilgisayarın UDP portu.

Destination Port Alıcı bilgisayarın UDP portu.

UDP Checksum UDP header ve UDP datasının kontrolü için kullanılır.

C. IP (INTERNET PROTOCOL)

Hedef bilgisayarın network üzerindeki yerini bulur. Paketlerin adreslenmesi ve network üzerindeki bilgisayarlar arasında yönlendirilmesini sağlar. IP iletimi de UPD gibi gönderimin garanti edilmediği connectionless türü bir iletişim kurar.

IP, iki bilgisayar (aygıt) paketlerin yönlendirilmesini sağlayan bağlantısız bir protokoldür. Bağlantısız (connectionless) olması oturumun iletişimden önce kurulmamasıyla ilgilidir. Bununla birlikte veri iletimindeki başarı da garantili olmaz. İletimin garantisi daha üst düzey protokol olan TCP ile sağlanır.

Bir IP paketi bir IP Header (başlık bilgisi) ve bir IP payload'tan oluşur. Aşağıdaki tabloda IP header paketinin alanları yer almaktadır:

Tablo: IP Header içindeki alanlar

IP Header alanı İşlevi

Kaynak IP Adresi Kaynak verinin IP adresi.

Hedef IP Adresi Gideceği yerin IP adresi.

Tanımlama Bir spesifik IP datagramını tanımlamak için kullanılır.

Protokol Paketlerin TCP, UDP, ICMP ya da diğer protokollerle iletişimi ile ilgili.

Checksum IP header'ın bütünlüğünü kontrol etmek için kullanılan basit bir

matematiksel hesaplama.

Time-to-Live (TTL) Datagramın dolaşacağı network sayısını belirler. TTL sayesinde paketlerin sürekli olarak dolaşması engellenir.

D. ARP (ADDRESS RESOLUTİON PROTOCOL)

Network üzerindeki bilgisayarlar (host olarak adlandırıyoruz) iletişim kurmak için birbirlerinin donanım adreslerini (MAC adresi) bilmeleri gerekir. ARP, broadcast (genel yayın) temelli çalışan ağlarda donanım adresini bulmak için kullanılır.

ARP, donanım adresini bulduktan sonra, IP adresini ve donanım adresini ARP cache olarak adlandırılan bir alanda saklar. Bu bir sonraki istenilen hedef adresinin fiziksel yerinin kolayca bulunmasını sağlar. Bakınız: "Uzak bir IP adresinin çözülmesi".

ARP cache içinde statik ve dinamik adresler bulunur. Dinamik kayıtlar otomatik olarak eklenir ve silinir. Statik adresler ise bilgisayar restart edilinceye kadar bellekte kalır.

Uzak Bir IP Adresinin Çözülmesi

Eğer hedef IP adresi uzaktaki bir networke ait ise, bir ARP broadcast sayesinde router bulunur ve datagramlar hedef bilgisayarlara (hosts) ulaştırılır.

Bu işlem şu şekilde yerine getirilir:

1) İletişim isteği başlatıldığında, hedef (destination) IP adresi uzak adres (remote address) olarak tanımlanır.

2) Belirtilen gateway için bir eşleşme bulunmadığında bir ARP isteği yayınlanır. ARP isteği hedef host için değil de gateway adresi yapılır.

3) Router'da IP hedef adresinin yerel (local) ya da uzak (remote) olduğunu belirler. Eğer adres yerelse, router donanım adresini bulmak için ARP'yi kullanır. Eğer adres uzaksa, router kendi routing tablosuna bakar.

4) Hedef bilgisayar (host) isteği aldıktan sonra, bir ICMP yanıtı düzenler. Belirtilen gateway'in donanım adresi ARP cache içinde yoksa, onu sağlamak için bir ARP broadcast kullanılır.

ŞEKİL 7-5: UZAK (REMOTE) IP ADRESLERİNİN ÇÖZÜLMESİ.

E. IP (INTERNET PROTOCOL)

Hedef bilgisayarın network üzerindeki yerini bulur. Paketlerin adreslenmesi ve network üzerindeki bilgisayarlar arasında yönlendirilmesini sağlar. IP iletimi de UPD gibi gönderimin garanti edilmediği connectionless türü bir iletişim kurar.

IP, iki bilgisayar (aygıt) paketlerin yönlendirilmesini sağlayan bağlantısız bir protokoldür. Bağlantısız (connectionless) olması oturumun iletişimden önce kurulmamasıyla ilgilidir. Bununla birlikte veri iletimindeki başarı da garantili olmaz. İletimin garantisi daha üst düzey protokol olan TCP ile sağlanır.

Bir IP paketi bir IP Header (başlık bilgisi) ve bir IP payload'tan oluşur. Aşağıdaki tabloda IP header paketinin alanları yer almaktadır:

Tablo: IP Header içindeki alanlar

IP Header alanı İşlevi

Kaynak IP Adresi Kaynak verinin IP adresi.

Hedef IP Adresi Gideceği yerin IP adresi.

Tanımlama Bir spesifik IP datagramını tanımlamak için kullanılır.

Protokol Paketlerin TCP, UDP, ICMP ya da diğer protokollerle iletişimi ile ilgili.

Checksum IP header'ın bütünlüğünü kontrol etmek için kullanılan basit bir matematiksel hesaplama.

Time-to-Live (TTL) Datagramın dolaşacağı network sayısını belirler. TTL sayesinde paketlerin sürekli olarak dolaşması engellenir.

F. PORT VE SOKETLER

Uygulamaların birbirleriyle iletişim kurmaları için belli TCP/IP portları kullanılır. Örneğin FTP Server'lar port 80 kullanarak diğer uygulamalarla iletişimde bulunurlar.

TCP/IP protokolü 65536 tane port kullanımına olanak tanır. Standart port numaraları IANA (Internet Assigned Nımbers Authority) tarafından sağlanır.

Tablo: TCP port numaraları:

Port Numarası Açıklama

1 TCP Multiplexer

20 FTP (data)

21 FTP (control)

23 Telnet

25 SMTP

53 DNS

80 http

103 X.400 Mail Service

102 X.400 Mail Sending

139 NetBIOS Session Service

.. ...

NOT: Diğer port numaraları için EK bölümündeki TCP Portları tablosuna bakınız.

Soketler ise yine bir network iletişimde kullanılan IP adresi ve port bilgisidir. Bir uygulama bir uzak uygulamayla iletişim kurmak için bir connectionless (bağlantı temelli olmayan) bağlantı kurar. Buna socket denir.

G. BROADCAST

Network üzerindeki hostların (bilgisayarlar ve diğer aygıtlar) birbirleriyle iletişim kurması için fiziksel adreslerin bilinmesi gerekir. Bu durumda network üzerinde herkese gidecek bir ARP paketi gönderilecek hostların MAC adresleri ve IP adresleri belirlenir.

Diğer bir deyişle hedef adresinin bilinmediği ve paketin network üzerinde bütün hostlara iletilmesi gerektiğinde kullanılan bir adresleme yöntemidir.

III. DİĞER İLETİŞİM PROTOKOLLERİ

TCP/IP protokol kümesi FTP, Telnet ve SMTP gibi iletişim amaçlı kullanılan protokollere de sahiptir:

A. FTP

FTP ptotokolü iki host arasında dosya kopyalamayı sağlar. FTP'nin en önemli özelliği bu işlemleri farklı donanım ve işletim sistemleri üzerinde çalışabilmesidir.

FTP (File Transfer Protocol), transport katmanında ve TCP'yi kullanarak çalışır.

FTP kullanımı:

1) Bir FTP servisinin başlatılması için FTP istemcisi çalıştırılır.

2) Karşında bağlanılacak FTP Server'ın IP adresi yazılır.

3) Ardından buraya bağlanmak için bir kullanıcı adı (user name) sorulur.

4) Kullanıcı adını ve şifresini giren kullanıcı FTP Server'a bağlanır.

NOT: WWW'nin yaygın olmadığı durumlarda FTP ile dosya alışverişi yaygın yapılmaktaydı. Şu anda da Web tarayıcıları FTP kullanarak dosya indirmeye yardımcı olurlar.

B. TelNet

TelNet, PC'ler üzerinden (onları bir terminal gibi kullanarak) terminal sunucusu yazılımı çalıştıran bir Host'a erişmeyi sağlayan protokoldür.

TelNet ile uzaktaki sunucuya bağlanan kullanıcı orada bir uygulamayı çalıştırabilir.

Telnet için gerekli yazılımlar:

-Client-TelNet

-Server-TelNet

Client-TelNet yazılımı kullanıcının terminalinde çalışır. Bu yazılım TelNet sunucusuyla iletişim kurmayı sağlar. İletişim TCP ile yapılır.

Server-TelNet ise host üzerinde çalışır ve gelen istekleri karşılar.

NOT: WWW'nin yaygın olmadığı durumlarda TelNet ile iletişim kurmak yaygındı.

C. SMTP

Hostlar arasında mesaj iletişimini sağlayan bir uygulama katmanı (application layer) protokolüdür. SMTP'nin ana amacı postalama yapmaktır. Mesajın düzenlenmesi gibi işlemlerle uğraşmaz.

SMTP iletişiminde mesaj üç aşamadan Gönderici-SMTP ile Alıcı-SMTP arasında yapılır.

1) Birinci aşamada bir TCP bağlantısı (connection-based) kurulur.

2) İkinci aşamada veri aktarımı (data transfer) yapılır.

3) Üçüncü aşamada bağlantı sona erdilir.

NOT: Bu dokümanlar Faruk Çubukçu tarafından hazırlanmıştır. Ticari amaçlı olarak kullanılmaz. Daha fazla bilgi için www.farukcubukcu.com adresine bakınız

IV. TCP/IP PROTOKOLÜNÜ KURMAK ve YAPILANDIRMAK

Windows 2000 (ve Windows 9x) kuruluşu sırasında network bileşenleri yüklenirken varsayım olarak TCP/IP protokolü kurulur. Bu protokolün kullanılabilmesi için geçerli bir IP adresine ve ilgili diğer bilgilere (subnet mask gibi) gereksinim vardır.

TCPI/IP'yi kuracak ve yönetecek olan network yöneticisinin görevi her makineye farklı bir IP adresini verebilmektir. TCP/IP protokolünü kurup bir IP adreslerini düzenlemek için aşağıdaki işlemler yapılır:

1. TCP/IP protokolü kurulur.

2. Subnet, default gateway ve DNS server için IP adresleri düzenlenir.

3. İstenirse PING programı ile bağlantı kontrol edilir.

TCP/IP'yi kurmak için:

1. Masaüstünde yer alan My Network Place üzerinde sağ tuşa tıklanır.

2. Local Area Connection üzerinde sağ tuşa tıklanır.

3. Buradan Install düğmesine tıklanarak Protocols bölümünde Internet Protocol (TCP/IP ) seçilir.

Mevcut TCP/IP konfigürasyonunu değiştirmek için ise aşağıdaki yol izlenir:

1. My Network Place üzerinde sağ tuşa tıklanır.

2. Local Area Connection üzerinde sağ tuşa tıklanır.

3. Internet Protocol (TCP/IP ) seçilir.

4. Properties düğmesine tıklanır.

TCP/IP kuruluşunun ardından kendi kuruluşumuzu ya da diğerleriyle bağlantıyı test etmek için Ping programını kullanırız. Bu programı Run mönüsünden ya da Command Prompt'tan kullanabilirsiniz:

Örnek:

Ping 192.168.1.1 gibi

A. MANUEL YAPILANDIRMA

Manuel konfigürasyonda IP adresi ve subnet mask bilgisi sistem yöneticisi tarafından düzenlenir. Bu işleme statik IP adresi atamak denir.

Düzenlenecek bilgiler:

-IP adresi kutusuna ana iletişim birimine atanan IP adresleri yazılır.

-Subnet Mask kutusuna subnet'e atanan subnet mask yazılır.

-Default Gateway kutusuna router (yönlendiricinin) IP adresi yazılır.

B. OTOMATİK YAPILANDIRMA

Microsoft Windows 2000 Server, Dynamic Host Configuration Protocol (DHCP) servisi ile DHCP servisini destekleyen istemcilerde TCP/IP konfigürasyonunun otomatik olarak (dinamik) yapar.

1. My Network Place üzerinde sağ tuşa tıklanır.

2. Local Area Connection üzerinde sağ tuşa tıklanır.

3. Internet Protocol (TCP/IP ) seçilir.

4. Properties düğmesine tıklanır