Für den Aufbau der Datenverbindung mit IPv6-Adressen stehen die folgenden beiden FTP-Protokoll-Kommandos zur Verfügung:
EPRT: PORT-Kommando erweitert um die IPv6-Fähigkeit
EPSV: PASV-Kommando erweitert um die IPv6-Fähigkeit
Folgende zwei Modi werden beim Aufbau der Datenverbindung unterschieden:
Aktivmodus
Passivmodus
Aktivmodus
Der Verbindungsaufbau erfolgt mit aktivem Child und passivem Client. Dem Child wird der eigene Verbindungsendpunkt mithilfe der folgenden Kommandos mitgeteilt:
PORT-Kommando, wenn die eigene Adresse eine IPv4-Adresse (IPv4-MAPPED-Adresse) ist.
EPRT-Kommando, wenn die eigene Adresse eine IPv6-Adresse ist.
PORT a1, a2, a3, a4, p1, p2 EPRT |2|a|p| | ai, i = 1,..,4: IPv4-Adresse; pi, i = 1, 2: Portnummer 2: IPv6-Protokoll, |
Passivmodus
Der Passivmodus wird mit dem Client-Kommando passive eingestellt (siehe Handbuch „interNet Services Benutzerhandbuch“).
Die Datenverbindung wird aufgebaut mit passivem Child und aktivem Client. Der Child schickt seine IPv4-Adresse inklusive Portnummer (PASV) oder nur seine Portnummer (EPSV), die der Client dann mit der von der Kontrollverbindung bekannten IPv6-Adresse des Servers kombiniert.
Angestoßen wird der genannte Vorgang durch eines der beiden folgenden vom Client gesendeten Kommandos:
PASV-Kommando, wenn die IP-Adresse des Servers bei der Kontrollverbindung eine IPv4-MAPPED-Adresse ist.
EPSV-Kommando, wenn die IP-Adresse des Servers bei der Kontrollverbindung eine IPv6-Adresse ist.
227 Entering Passive Mode (a1, a2, a3, a4, p1, p2) | ai, i = 1,..,4: IPv4-Adresse; |
229 Entering Extended Passive Mode EPRT (|||p|) | p: Portnummer |
Der Passivmodus ist mittlerweile Standardeinstellung in vielen Client-Implementierungen und dient dazu, aus einem lokalen Netz über eine Firewall ins Internet zu gelangen. Solche Firewalls unterbinden häufig den aktiven Verbindungsaufbau in das eigene lokale Netz hinein.