0.  İÇİNDEKİLER

 

 

0.      İÇİNDEKİLER

1.      GİRİŞ

2.      KURAMSAL BİLGİLER 

2.1     Terminoloji

2.1.1     İstemci (Client) Nedir?

2.1.2     Sunucu (Server) Nedir?

2.1.3     Port ve IP Numarası Nedir?

2.2     Bağlantılı ve Bağlantısız Protokoller

2.2.1    UDP (User Datagram Protocol)    

2.2.2    TCP/IP (Transmission Control Protocol / Internet Protocol)

2.3     Aktarım Katmanları (Transport Layer)          

2.4     Soket Yapısı

2.4.1    Soket Nedir?

2.4.2   Soket Çeşitleri

2.5     Veri Aktarım-Erişim Protokolleri

2.5.1    HTTP (HyperText Transfer Protocol)

2.5.2    NFS (Network File System)

2.5.3    TTP(Trivial FTP)

2.5.4    FTP (File Transfer Protocol)

2.5.4.1    Terminoloji

2.5.4.2    FTP Modeli

2.5.4.2.1        İstemci – Sunucu  Modeli

2.5.4.2.2        Sunucu – Sunucu Modeli

2.5.4.3    Veri Aktarımı

2.5.4.3.1        Veri Gösterimi ve Saklanması

2.5.4.3.1.1     Veri Gösterim Şekilleri

2.5.4.3.1.1.1        ASCII Gösterimi  

2.5.4.3.1.1.2        EBCDIC Gösterimi 

2.5.4.3.2        Bağlantı Kurma

2.5.4.4     Dosya Aktarım Fonksiyonları

2.5.4.4.1        FTP Komutları

2.5.4.4.1.1    Erişim Kontrolü

2.5.4.4.1.2                Transfer Parametreleri            

2.5.4.4.1.3    Servis Komutları

     2.5.4.5    FTP Komut Karşılıkları

           2.5.4.6    Komut Sıralaması

2.5.4.7        Durum Geçiş Diyagramları

2.5.4.8        Tipik Bir Senaryo            

 

3.      UYGULAMA

4.      SONUÇ VE ÖNERİLER

5.      KAYNAKLAR

6.      EKLER

 

1.  GİRİŞ

 

 

Bitirme projesi konusu seçerken bazen yeni bir tez geliştirip, bu tezin doğruluğunu ispat amacıyla bir uygulama geliştirilir bazen de varolan bir konu hakkında bilgi sahibi olabilmek amacıyla bu konu üzerinde yeni bir uygulama geliştirilebilir. Bu projede ikinci seçenek tercih edilmiş ve haberleşme sistemleri hakkında temel edinebilmek amaçlanmıştır. Bu sebeple soket yapısını, sunucu – istemci bağlantı metodlarını kavrayabilmek ve de nesneye dayalı programlama hakkında deneyim kazanabilmek amacıyla proje konusu olarak dosya aktarım programı seçilmiştir.   

 

Bilindiği gibi internet üzerinde dosya paylaşımı ve veri aktarımı sağlayabilmek için geliştirilmiş birtakım protokoller mevcuttur. Başlıca protokoller ise HTTP (hypertext transfer protocol) ve FTP (File Transfer Protocol)  dir. Sıkça yaşanan bağlantı kopma problemleri ve çok büyük dosyaların aktarılmasında yaşanan zaman sorunu yüzünden sunucuların bir dosyayı belirli bir başlangıç noktasından itibaren paketler halinde gönderebilmesi desteklenebilir hale getirilmiştir. Böylece ağ üzerinde daha önceden aktarılmış olan verilerin bir kerede aktarılmasına alternatif olarak eğer gerekmiyorsa zaten gönderilmiş olan verinin tekrar gönderilmesini engellemek, ağ üzerinde gereksiz trafikten kurtulabilmek mümkün hale gelmiştir.

 

Projede temel alınan özellik FTP sunucusunun belirli bir ofset değerinden itibaren veri gönderebilme yeteneğinin kullanılabilmesidir. Bu  özelliğe dayalı bir uygulama geliştirebilmek için genel sunucu – istemci çalışma prensibi ve FTP protokolü hakkında bilgi sahibi olabilmek gerekmektedir. Projenin görsel arayüzünü hazırlayabilmek için Borland C++ Builder 5.0 ve işletim sistemi olarak Windows 2000 Professional kullanılmıştır