FTP verzendt besturingsinformatie out-of-band, voornamelijk voor efficiëntie en eenvoud . Hier is een overzicht:
* Efficiëntie: Als controle en gegevens in-band zouden worden verzonden (via dezelfde verbinding), zou elk commando en antwoord nauwgezet moeten worden ontleed binnen de datastroom. Dit voegt aanzienlijke overhead en complexiteit toe. Door ze te scheiden, kunnen besturingsopdrachten sneller worden verwerkt en wordt het risico op verkeerde interpretaties verminderd. De besturingsverbinding is doorgaans licht van gewicht en hoeft alleen relatief korte tekstopdrachten en reacties te verwerken. De dataverbinding kan zich dan volledig richten op het efficiënt overbrengen van grote bestanden.
* Eenvoud: Door de besturings- en datakanalen gescheiden te houden, wordt de implementatie van het protocol vereenvoudigd. Het besturingskanaal maakt gebruik van een eenvoudig, op tekst gebaseerd protocol dat relatief eenvoudig te analyseren en te begrijpen is. Het datakanaal kan dan verschillende overdrachtsmethoden gebruiken (bijvoorbeeld binair, ASCII) zonder de besturingsverbinding te beïnvloeden. Stel je eens voor hoe moeilijk het is om opdrachten in een binaire datastroom in te bedden; er zou uitgebreide foutcontrole en parsering nodig zijn om ze betrouwbaar te kunnen extraheren en interpreteren.
* Robuustheid: Het scheiden van de kanalen zorgt voor meer veerkracht. Als de dataverbinding wordt onderbroken (bijvoorbeeld vanwege netwerkproblemen), kan de besturingsverbinding actief blijven, waardoor de gebruiker opdrachten kan geven en mogelijk de overdracht kan hervatten. Bij een in-band-aanpak zou daarentegen waarschijnlijk de gehele verbinding verloren gaan als de datastroom zou worden verstoord.
In wezen zorgt out-of-band controle in FTP voor een zuivere scheiding van zorgen, wat leidt tot een efficiënter, eenvoudiger en robuuster systeem voor bestandsoverdracht. Hoewel het op het eerste gezicht misschien minder elegant lijkt, wegen de praktische voordelen ruimschoots op tegen de mogelijke nadelen. |