Dosya aktarım iletişim kuralı

Vikipedi, özgür ansiklopedi
Atla: kullan, ara
İnternet iletişim kuralları dizisi

OSI Modeli

Katman İletişim kuralları
7. Uygulama katmanı HTTP, HTTPS, SMTP, FTP, TFTP, UUCP, NNTP, SSL, SSH, IRC, SNMP, SIP, RTP, Telnet, ...
6. Sunum katmanı ISO 8822, ISO 8823, ISO 8824, ITU-T T.73, ITU-T X.409, ...
5. Oturum katmanı NFS, SMB, ISO 8326, ISO 8327, ITU-T T.6299, ...
4. Ulaşım katmanı TCP, UDP, SCTP, DCCP, ...
3. Ağ katmanı IP, IPv4, IPv6, ICMP, ARP, IGMP, IPX,...
2. Veri bağlantısı katmanı Ethernet, HDLC, Wi-Fi, Token ring, FDDI, PPP, ...
1. Donanım katmanı ISDN, RS-232, EIA-422, RS-449, EIA-485, ...

Dosya aktarım iletişim kuralı, (İngilizce: 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-mail 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[değiştir | kaynağı değiştir]

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[değiştir | kaynağı değiştir]

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[değiştir | kaynağı değiştir]

İ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[değiştir | kaynağı değiştir]

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[değiştir | kaynağı değiştir]

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ığı

Kaynakça[değiştir | kaynağı değiştir]

Dış bağlantılar[değiştir | kaynağı değiştir]

  • RFC 959 - File Transfer Protocol
  • RFC 2228 - FTP Security Extensions
  • RFC 2640 - Internationalization of the File Transfer Protocol