ELI5: In computer networking, what is a port?
ELI5: In computer networking, what is a port?
One network interface has just one IP address, but it can have a bunch of different programs listening and talking.
A server might have both a webserver and a mail server running on the same machine - and they don't want each other's network traffic.
So you mark each packet with a destination port number, to let the server work out which program you're talking to.
Your web browser will mark all its packets with port 80 or port 443, and when the server gets those, it knows it's web traffic, and passes it to the webserver software.
Your email client will mark all its packets with port 25 or 993, and when the server gets those, it knows it's email traffic, and passes it to the mailserver software.
Typically each separate kind of network service will have its own well-known port number assigned to it.
There's also a source port field on packets, so that your computer can get return traffic back to the right program running on your machine.
id say your telephone number example can be extended:
1800 is for free numbers, but why? no particular reason, just that’s the number that got chosen at some time… same with port 80 being HTTP: that’s just the number that got chosen!
you can also have an HTTP server running on port 25 (usually mail); it’s just bad practice… just like there’s no reason why your phone company couldn’t make a regular phone number toll free!
what’s pretty normal though is running an HTTP server on say, port 5000: this is just for more technical users though, because you have to know the port; your browser doesn’t “remember” it for you