Talk:Port (computer networking)

Latest comment: 2 years ago by Aiecon in topic Definition

This article needs to explain why in the lead paragraph

edit

For persons with no computer science experience, the concept of a port is utterly bewildering until you explain to them why, then they get it. That's why that sentence was in there that Kbrose took out back in February. I am putting it back for the second time. --Coolcaesar (talk) 16:52, 29 May 2015 (UTC)Reply

Okay, this is getting REALLY irritating. I am putting this back for the third time. Please respond on this point.
For anyone with no background in computer science, the entire first four paragraphs of this article are complete gibberish because you're explaining the what but not the why. I understand it only because I spent many years studying computer science and many programming and scripting languages plus x86 assembly. Most people have not. --Coolcaesar (talk) 04:23, 14 January 2016 (UTC)Reply
Okay, this is getting really irritating. I am restoring that text for the fifth time. It's crystal clear that you've never tried to explain computer science to laypersons. Again, the article as written is gibberish to laypersons. Please respond and defend your position. By the way, have you ever used a BBS? Or edited a text file in vi? Or ed? Do you know the sounds of a Hayes-compatible modem? Have you ever used an acoustic coupler? I have a fairly good sense at this point that the answer to all of those is no. --Coolcaesar (talk) 03:27, 16 March 2018 (UTC)Reply
Don't wet your pants. It doesn't help to add more gibberish. This paragraph only misleads the reader into some kind of historical invention of ports after multitasking. The concept of ports has nothing to do with multi-tasking, nor network topology. Kbrose (talk) 11:04, 16 March 2018 (UTC)Reply

Here's the paragraph Coolcaesar is trying to add:

Ports were unnecessary on direct point-to-point links when the computers at each end could only run one program at a time. Ports became necessary after computers became capable of executing more than one program at a time and were connected to modern networks.

This statement is supported neither by content in the article body nor by a citation. The best way to proceed in contentious situations like this is to improve the body with cited material covering this statement. We'll review that and once we're happy with it, we can see if, in context, it is significant enough or helpful enough to include a summary in the lead. ~Kvng (talk) 13:18, 19 March 2018 (UTC)Reply

There is no need to even attempt the effort to find sources for this. The history of the subject is clear and even correctly described in the article. The concept of the port was present in the earliest implementations of DOD networking, only using the name socket number, rather than port number. It was clearly identified as a means to identify the service type of the communication, as is also clearly stated in the lede of the article, and had no specific requirements of topology or single/multi-tasking. Kbrose (talk) 16:06, 19 March 2018 (UTC)Reply

Can't believe it's 2018 and people are still intentionally trying to make ledes incomprehensible to laypeople. That's literally the point of a lede. I'm adding back a basic description similar to what is currently in contention, as suggested by Coolcaesar and others. Euan Richard (talk) 08:07, 18 May 2018 (UTC)Reply

Hey, apologies for being a bit snarky in my last comment. I ended up rephrasing the lede in a way that tried to compromise from the above discussion, while also clarifying for non-technical users. Hope it meets with general approval for now. Euan Richard (talk) 14:21, 22 May 2018 (UTC)Reply

Context

edit

AriTheHorse added a {{context}} tag to the article without leaving an edit summary or (ironically) any other context to help us understand the issue. We've just finished a round of improvement to the lead. Did we make things worse? Can we get more information about this problem? ~Kvng (talk) 17:44, 30 July 2020 (UTC)Reply

I've reviewed the lead and can't see a problem there. We've not heard back from AriTheHorse. I've removed the tag. ~Kvng (talk) 23:11, 5 August 2020 (UTC)Reply

Definition

edit

“… a port is a communication endpoint.”

This definition is extremely vague. It is like saying “a dog is an animal”. A good definition should be intensional or extensional see definition ideally using examples.

This definition does not provide context, examples, descriptions, meanings or any other connected ideas. It doesn’t help lay people or professionals.

User:Zac67 Aiecon (talk) 01:03, 23 June 2022 (UTC)Reply

Starting with "a dog is an animal" in a technical topic potentially new to the reader isn't all that bad. And the text goes on, into more detail. There's always room for improvement, but starting with a very abstract definition and referring to virtualization doesn't really help the reader imho. Please don't take reverting personal, your edit is still appreciated, eventually leading to an improved article. WP is all about WP:BRD. --Zac67 (talk) 05:37, 23 June 2022 (UTC)Reply

Thanks User:Zac67 I didn’t take your revert personal. I just feel that the definition can be improved and invited you to the conversation.

I have been in the tech industry for over 25 years and completely disagree that this definition is good.

It would be great if it was succinct enough to be described in a single word such as “a dog is an animal “ or “a port is a communication endpoint “ but it can’t and doing so in my view it adds marginal value. That’s my opinion and I would like to hear others’.

See Wikipedia:Manual of Style/Lead section Aiecon (talk) 22:41, 24 June 2022 (UTC)Reply

@Aiecon: I think the second sentence of the lead provides the sort definition you're looking for, a port is a logical construct that identifies a specific process or a type of network service. As I'm sure you appreciate, that's not a beginner-friendly definition, nor is it even complete. I'm not particularly keen on starting with a a port is a communication endpoint because Endpoint is an ambiguous term and so there could be misunderstandings. I don't think that starting with the second sentence is good. I'm afraid that trying to combine the first two sentences will create the worst of both. Our short description for the article is Communications endpoint in an operating system. Perhaps that's a better first sentence. ~Kvng (talk) 14:42, 27 June 2022 (UTC)Reply
Thanks @Kvng totally agree. The second sentence should take precedence over the first as it adds more context and reduces ambiguity.
Some definitions I found on the web, just for ideas - I'm not suggesting we adopt any:
"...is a software-defined number associated to a network protocol that receives or transmits communication for a specific service" Source Link
"...are virtual places within an operating system where network connections start and end." Source Link
"...is a number used to uniquely identify a transaction over a network by specifying both the host, and the service." Source Link
"...is simply a channel of communication which is numbered between 1 and 65000" Source Link
"...is basically just a tag, which dictates where data sent to your computer will go to" Source Link
"...is a logical identifier assigned to a process in order to identify that process uniquely in a network system." Source Link
These phrases are constructed (mostly) in simple terms and are complete (don't really a second sentence). The phrases might not be the best but are more didactical and easier to read. Aiecon (talk) 16:41, 27 June 2022 (UTC)Reply
Hmm, none of those is really better and many worse or even false. I'd go with something like "...is a number used to uniquely identify a connection endpoint", but is that really better? --Zac67 (talk) 19:41, 27 June 2022 (UTC)Reply
"...is a number used to uniquely identify a connection endpoint" is definetly much better than "...is a communication endpoint.” totally agree.
Still, it misses some context its ultimate purpose. Why would we need to identify the connection endpoint? "... in order to direct data to a specific service." Aiecon (talk) 18:16, 28 June 2022 (UTC)Reply

Proposal: "...is a number assigned to a connection endpoint used to uniquely identify a network transaction and to direct data to a specific service" even though I don't like the term "connection endpoint" and found no definitions for it, User:Zac67 seems keen to keep it. Aiecon (talk) 15:32, 30 June 2022 (UTC)Reply

Sorry, but to uniquely identify a network transaction doesn't really work. On the transport layer, there are no 'transactions', only connections and segments or datagrams flowing along. Connections are each defined by its Protocol:SourceAddress:SourcePort:DestinationAddress:DestinationPort tuple, so any specific local port can be used for a very large number of simultaneous connections. What about "... is a number assigned to uniquely identify a connection endpoint and to direct data to a specific service"? We pretty much need connection endpoint because that's what a port (or socket) is. --Zac67 (talk) 17:50, 30 June 2022 (UTC)Reply
This is looking good. This does cover most of what's in the second sentence of the current lead, would we retain or replace that sentence? ~Kvng (talk) 15:04, 3 July 2022 (UTC)Reply
Replace. Will edit now Aiecon (talk) 13:39, 15 July 2022 (UTC)Reply
Thank you all for your input. Aiecon (talk) 13:42, 15 July 2022 (UTC)Reply