Wat is een luisterpoort?
Een poort is een adres voor een programma wanneer gegevens via een netwerk van de ene computer naar de andere gaan. Net zoals computers adressen hebben, hebben programma's dat ook. Het poortnummer is een snelle manier om het netwerkprogramma dat de gegevens ontvangt te vertellen welke toepassing deze moet ontvangen. Die applicaties draaien constant in afwachting van gegevens om een actie te activeren. Deze wachttoestand wordt luisteren genoemd.
Netwerkcommunicatie
Het poortconcept heeft specifiek betrekking op gegevens die via netwerken worden overgedragen door de TCP/IP-protocolsuite. TCP/IP staat voor Transmission Control Protocol/Internet Protocol. Een reeks standaarden legt uit hoe gegevens moeten worden verpakt en geadresseerd om hun bestemming te bereiken. Dit houdt in dat de gegevens in segmenten worden verdeeld en vervolgens elk gegevenssegment in een structuur worden geplaatst die een pakket wordt genoemd. Het pakket heeft een kop waarin de netwerkprotocollen informatie opslaan voor hun ontvangende tegenhanger. De laatste header die naar het pakket gaat, is de IP-header, die het adres van de bestemmingscomputer bevat. Deze header komt voor de transportheader, waar het poortnummer van de ontvangende applicatie wordt geschreven.
Transportprotocollen
De twee alternatieve transportprotocollen in TCP/IP zijn het Transmission Control Protocol en het User Datagram Protocol. Deze twee protocollen gaan over poortnummers. Ze verpakken de gegevens en plaatsen het poortnummer in de header. TCP brengt een verbinding tot stand met zijn tegenhanger en onderhoudt die verbinding gedurende de hele sessie. Het protocol definieert hoe datapakketten worden gesequenced, zodat het ontvangende programma de volgorde kan weten waarin de gegevens opnieuw moeten worden samengesteld. UDP is een lichtgewicht alternatief dat meestal wordt gebruikt door multimediatoepassingen. Poorten zijn bekend onder een nummer, maar ook onder het transportprotocol, en dus is er een poort genaamd TCP 25 en een genaamd UDP 25. Dit zijn niet dezelfde poorten.
Bekende poorten
Voor een aantal applicaties is een poortnummer gereserveerd. Deze toewijzingen worden "bekende poorten" genoemd en de lijst wordt bijgehouden en verspreid door de Internet Assigned Numbers Authority, beter bekend als IANA. Programmeurs die gegevens naar een bepaalde poort sturen, kunnen niet verwachten dat een ander programma die gegevens oppikt. Het heeft bijvoorbeeld geen zin om gegevens naar poort 21 te sturen, die is geregistreerd voor het File Transfer-protocol, in de hoop dat Kerberos het oppikt, omdat Kerberos luistert op poort 88.
Ontvangstprocedures
Netwerksoftware in de ontvangende computer verwijdert de headers en assembleert de gegevens opnieuw, voordat ze worden doorgegeven aan de toepassing die is gekoppeld aan het poortnummer dat in de headers van de pakketten is geschreven. Die applicatie moet actief zijn om de gegevens te kunnen ontvangen. Bij veel applicaties is het ontvangen van gegevens een interactief proces, waarbij de bijbehorende applicaties op elke computer heen en weer berichten gedurende de sessie.