De Basics
FTP is een TCP-gebaseerde dienst exclusief. Er is geen UDP component FTP. FTP is een bijzondere dienst in dat het gebruik maakt van twee poorten, een haven 'data' en een 'opdracht' poort (ook bekend als de controle-poort). Traditioneel zijn dit poort 21 voor de commando-poort en poort 20 voor de data-poort. De verwarring begint echter, als we vinden dat, afhankelijk van de functie, de data poort is niet altijd op poort 20.
Active FTP
In actieve modus FTP de client verbinding vanaf een willekeurige onbevoorrechte poort (N> 1024) naar commando poort van de FTP-server, poort 21. Dan, de klant begint te luisteren naar poort N + 1 en stuurt de FTP commando PORT N + 1 naar de FTP-server. De server zal vervolgens verbinding terug naar bepaalde data poort van de klant van zijn lokale data port, die poort 20.
Vanuit het oogpunt van de server-side firewall, om actieve modus ondersteunen FTP de volgende communicatiekanalen moeten worden geopend:
haven van FTP-server 21 van overal (Client initieert verbinding)
haven van FTP-server van 21 tot poorten> 1024 (Server reageert controle poort van de klant)
haven van FTP-server van 20 naar poorten> 1024 (Server initieert data-verbinding om gegevens van de klant poort)
poort FTP-server van 20 uit poorten> 1024 (Cliënt stuurt ACKs om data port server)
In stap 1, commando poort contacten van de cliënt commando poort van de server en stuurt de opdracht PORT 1027.
De server stuurt dan een ACK terug naar commando poort van de client in stap 2. In stap 3 de server initieert een verbinding op de lokale data poort om de data poort van de client eerder aangegeven. Tenslotte stuurt de client een ACK terug zoals getoond in stap 4
Het grootste probleem met actieve modus FTP valt eigenlijk op de client. De FTP-client niet de werkelijke verbinding met de data poort van de server - het gewoon vertelt de server welke poort hij luistert en de