Dosya aktarım iletişim kuralı
İnternet iletişim kuralları dizisi | ||
Katman | İletişim kuralları | |
7. | Uygulama katmanı | HTTP, DNS, 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, İnternet Grup Yönetim Protokolü, IPX,... |
2. | Veri bağlantısı katmanı | Ethernet, HDLC, Wi-Fi, Token ring, FDDI, PPP, L2TP... |
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).
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Ftp_%28terminalprogram%29.png/250px-Ftp_%28terminalprogram%29.png)
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.
![](http://upload.wikimedia.org/wikipedia/commons/4/4a/Aktifftp.gif)
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.
![](http://upload.wikimedia.org/wikipedia/commons/a/ad/Pasifftp.gif)
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ığı
Kaynakça
Dış bağlantılar
- RFC 959 26 Mart 2013 tarihinde Wayback Machine sitesinde arşivlendi. - File Transfer Protocol
- RFC 2228 - FTP Security Extensions
- RFC 2640 - Internationalization of the File Transfer Protocol