this post was submitted on 28 Jun 2023
65 points (100.0% liked)
Explain Like I'm Five
14289 readers
1 users here now
Simplifying Complexity, One Answer at a Time!
Rules
- Be respectful and inclusive.
- No harassment, hate speech, or trolling.
- Engage in constructive discussions.
- Share relevant content.
- Follow guidelines and moderators' instructions.
- Use appropriate language and tone.
- Report violations.
- Foster a continuous learning environment.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
Ok I have a follow up question if you'll indulge me - why those numbers in particular?
No reason, they're conventions. Check out this list and you'll get a better idea. It's simply a number that the developer assigns without a particular meaning. It's kinda like telephone help lines, one thing that a developer might want to try is to find a pretty memorable number while trying to avoid conflicts with other programs running at the same time.