I won't rehash all the details of how files are downloaded in active mode,
but this is a good opportunity to review.
The client sends the EPRT command,
which contains both the client's IPv6 address and a dynamically
allocated port to which the server should connect.
In this case, the client has selected port 50967.
After the server acknowledges the EPRT command,
the client tells the server, I want to download R1.cfg using the RETR command.
There is no need for an IPv6-specific message here since the file name
remains a string and isn't related to the layer 3 transport.
After the server establishes the TCP session to the client,
it begins sending the file's contents down to the client with a
source port of 20 and a destination port of 50967,
the dynamic port signaled in the client's EPRT message.
The upload process isn't much different.
The EPRT command is still sent from client to server
regardless of the direction of the file transfer.
This time, port 33591 is chosen.
Next, the client issues the STOR command,
just like IPv4, and specifies the name of the file to be uploaded.
After the data channel TCP session is formed,
the client uploads the FTP data destined to port 20 and sourced from the dynamic port signaled in the EPRT command.