Protocol - defines the set of rules for any given device to be able to communicate with any other device (imagine it as if the devices speak the same language they would need a set of rules to be standartised first. Then they could use that set of rules to communicate information they want to transmit clearly without being ambiguous.)
For example, let's forget about networking for just a moment, if you are trying to communicate with someone who speaks a different language (Mandarin, German, Turkish etc.), well, then one of you needs to learn the language of the other to be able to communicate . But it's more than just the language. There are rules for every language. There are grammatical rules, vocabulary, syntax, a lot of different components that are required before the language can really be understood. We all must follow the same rules so that it doesn't lead to misunderstandings.
*The protocol itself is only one component of a network connection between two computers communicating over the internet, the other component is the port.
Port:
It is associated with a particular service or program [such as web browsing (HTTP), email (SMTP or IMAP), file transfer (FTP), or video streaming (like YouTube or Netflix)]
It allows any given computer to send and receive many different types of traffic [like visiting a website, sending an email, playing an online game, or making a video call]
They help to aid and understand what to do with that data once it's received [for example, if data comes in on port 80, the computer knows to send it to the web browser; if it comes in on port 25, it goes to the email-sending program]
In many cases, it allows the protocol to be actually deduced if the traffic is being received over what's referred to as a "well-known" port. [so if we send traffic over the port 80, that would be deduced to us using HTTP]
An analogy would be, if someone wants to call your phone, they must first know the phone number itself. That would equate to something like an IP address in networking.
Now, let's just imagine that there's a traditional landline in your home and in fact, the caller is calling for someone other than you, but it is you who's picked up the phone. So they know the number, they've reached the correct location, but then they specifically ask for a particular person. That particular person would equate to the port.
Let's look at it this way, if the client (your computer) is asking something from a server, it must first know the IP address. That gets you to the correct server, but that single server could provide many different services. So the port identifies exactly which service the client is requesting.
*Together (protocol + port), they form what’s often referred to as a socket or endpoint.