FTP FTP, bilgisayar dosyalarının ağ üzerindeki bir sunucudan istemciye aktarılması için kullanılan bir iletişim protokolüdür. Client-Server mimarisi üzerine inşa edilmiştir...

FTP

FTP, bilgisayar dosyalarının ağ üzerindeki bir sunucudan istemciye aktarılması için kullanılan bir iletişim protokolüdür. Client-Server mimarisi üzerine inşa edilmiştir. TCP/IP Protokolüdür. Kullanıcılar normalde bir kullanıcı adı ve parola ile düz metin protokolü ile oturum açar. Sunucu izin verecek şekilde yapılandırılmışsa anonim olarak bağlanabilir.

Kontrol ve Veri Bağlantıları

Kontrol Bağlantısı

Port 21 üzerinden bağlantı kurulur ve client ile server arasındaki komutların taşındığı kanaldır.

Client bir servera bağlanmak istediğinde bir TCP bağlantısı açar ve bu bağlantıyı “Kontrol Bağlantısı” olarak kullanır. Komutlar, yanıtlar ve oturum yönetimi Kontrol Bağlantısı üzerinden yapar. Bu bağlantı sürekli açık kalır ve oturum sonlanana kadar kapatılmaz.

Komut Akışı:

Basit metin tabanlı komutlardır. Client servera belirli komutlar gönderir ve server yanıt verir. Her komut ve yazı belirli bir kodlama standartına uyar.

USER anonymous komutu anonim olarak giriş yapmak istediğini belirtir. Server 331 kodu ile şifre isteyebilir.

331 Please specify the password.

Veri Bağlantısı:

Kontrol bağlantısının aksine bu bağlantı sürekli açık kalmaz. Sadece veri aktarımı sırasında kurulur ve veri aktarımı tamamlandığında kapatılır.

Aktif Mod​

Kontrol Bağlantısının Kurulması: Client, sunucunun 21. portuna TCP bağlantısı kurar. USER ve PASS komutları ile oturum açılır.

PORT Komutunun Gönderilmesi: Client, veri bağlantısı için kullanılacak IP ve portu PORT h1,h2,h3,h4,p1,p2 şeklinde bildirir. Örneğin: PORT 192,168,1,5,10,45, client IP'si 192.168.1.5 ve veri aktarımı için 2605 portunu dinleyeceğini belirtir.

Serverin Client’e Bağlanması: Server, belirtilen IP ve port numarasına TCP bağlantısı başlatır. Bu süreçte TCP 3-Way Handshake gerçekleşir.

Veri Aktarımı: Client, dosya indirmek için RETR, yüklemek için STOR, ve dizin içeriğini listelemek için LIST komutlarını kullanır. TCP’nin güvenilirlik mekanizmaları devreye girer.

Veri Bağlantısının Kapatılması: Veri aktarımı tamamlandığında server veri bağlantısını kapatır, kontrol bağlantısı (21. port) açık kalır. Transfer başarılıysa 226 mesajı gönderilir.

Aktif Modun Zorlukları: Client, gelen bağlantıları kabul etmek zorundadır; NAT veya güvenlik duvarları sorun yaratabilir.

Pasif Mod​

Kontrol Bağlantısının Kurulması: Client, kontrol bağlantısını kurar. PASV komutu gönderilir.

Serverin Yanıtı: Server, IP ve port belirleyerek 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2) yanıtı verir.

Clientin Veri Bağlantısını Başlatması: Client, serverin belirttiği IP ve port üzerinden bağlantı kurar.

Veri Aktarımı: Client, veri aktarım komutlarını server’a gönderir. RETR, STOR, ve LIST komutları kullanılır.

Veri Bağlantısının Kapatılması: Server, veri aktarımı tamamlandığında veri bağlantısını kapatır. Kontrol bağlantısı her zaman açıktır.

Pasif Modun Avantajları: Güvenlik duvarı ve NAT uyumlu, client dış bağlantıları kabul etmek zorunda değildir.
 
131,773Konular
3,271,208Mesajlar
316,146Kullanıcılar
arsenn666Son Üye
Üst Alt