Aktiv eller passiv FTP

Filöverföring via FTP sker i aktivt eller passivt läge. Bakom en brandvägg som använder NAT fungerar normalt bara passivt läge. Varför då?

Protokollet FTP är helt baserat på TCP, UDP används inte för FTP. FTP använder normalt två portar; en kontrollport och en dataport. Dataporten är vanligtvis porten "under" kontrollporten, d v s kontrollportens portnummer - 1. Standard är port 21 för kontroll och 20 för data.

Aktiv FTP


I aktivt läge (active mode) ansluter klienten från en opriviligerad port (port 1024 eller högre) till serverns port 21. Därefter börjar klienten lyssna på en annan oprivilgerad port och skickar information till servern om vilken port som skall använas. Servern ansluter därefter från port 20 (dataporten) till den port hos klienten som angivts och skickar begärd data.

Passiv FTP


I passvit läge (passive mode [PASV]) initerar klienten både kontroll- och dataanslutningen; vilket löser många problem med brandväggar. (Brandväggen kan tillåta trafik som initieras inifrån det interna nätet - men spärra trafik initierad utifrån.)

När klienten ansluter till servern i passivt läge upprättas kontrollförbindelsen som vanligt. Men för dataförbindelsen begär klienten att servern ska öppna en opriviligerad port som klienten sedan kan ansluta till. Servern väntar passivt på klienten, därav benämningen.

NAT


NAT är en vanlig teknik (används i de flesta "bredbandsroutrar") för att dela på en internetanslutning och därmed en IP för flera datorer. NAT innebär att adresser i det interna nätverket översätts till adresser i det publika (Internet). Tekniken bygger på att olika portar knyts ihop med interna adresser. En sådan lösning klarar inte aktiv FTP eftersom servern ansluter till en port som inte kopplats ihop med en intern adress.

Brandväggar


Även brandväggskonfigurationen blir enklare med passiv FTP. Det räcker att tillåta all trafik som initieras från det egna nätet.

Detaljerad beskrivning


Vill du veta mer finns en detaljerad beskrivning av aktiv och passiv ftp i artikeln nedan. Artikeln är på engelska.

Active FTP vs. Passive FTP, a Definitive Explanation