Portforwarding ist im Grunde schnell erklärt.
Jedes
TCP/UDP kommt mit einem Port (0-65535, nicht alle nutzbar) bei einem Router internetseitig an. Nun weiß der Router ja nicht, an welchen Client er das Paket zustellen soll, da es ja keine ausgehende Anforderung gab, mit der er das Verknüpfen kann. In deinem Fall wäre das die erste
FTP-Anforderung, die unaufgefordert von außen an deinen Router zugestellt wird.
Jetzt kommt das Portforwarding ins Spiel. Du definiert an deinem Router wenn ein Packet auf dem Port 21 ankommt, er diese immer an den Computer mit der
IP 192.168.0.100 auch über den Port 21 weiterleiten soll. Fertig.
Du kannst natürlich auch, den Port ändern, an den weitergeleitet wird. z.B. 21->192.168.0.100:1021 würde alle Pakete, die auf Port 21 ankommen, über den port 1021 an den Host 192.168.0.100 weiterleiten.
Manche Router können auch noch unterscheiden, von welcher
IP-Adresse oder
IP-Netzwerk sie Pakete forwarden. Aber bei einer einfachen Fritzbox oder Speedport muss man mit einfachen Möglichkeiten leben.