0

Sorry for my ignorance , but this subject has been stressing me for days

I currently read in a book about networks that there is a UseNet that is like a blog , but uses a different protocol to communicate

  1. My question is, when I'm developing a software, can I decide which application protocol will it work?

  2. the TOR browser, I read that .onion sites use a different protocol than HTTP, how is this possible?

3
  • 1
    You can develop using any extant protocols, or you can develop you own protocol. There are many transport protocols, but unfortunately, NAPT only supports TCP and UDP, blocking the rest and stifling innovation. IPv6 restores the end-to-end IP paradigm, allowing any transport protocol. You are of course free to use or develop any application-layer protocol. Commented Jul 21, 2021 at 14:19
  • Let's use an example, I want to develop a chat between my friends, and I don't want to use the protocols normally used, so I decide to use TelNet, what would be the problem my software would have? Commented Jul 21, 2021 at 14:40
  • Telnet is an application-layer protocol that uses TCP as its transport protocol. Commented Jul 21, 2021 at 15:01

1 Answer 1

0

We first need to break up your question. There are protocols implemented in operating systems (low-level protos) and those implemented in applications (high-level protos).

What makes early high-level protos so interesting, like Usenet and SNMP, is that they are not dependent on low-level protocols. Basically they just need the operating system to provide a mechanism for streaming data to come to/from the machine they want to speak to. You can see that Usenet's protocol's , UUCP, code can handle TCP or serial connections.

My question is, when I'm developing a software, can I decide which application protocol will it work?

Yes, you ask the OS for your low-level protocol and you then implement your high level protocol in you application. You can also layer protocols ontop of one another.

the TOR browser, I read that .onion sites use a different protocol than HTTP, how is this possible?

While not a TOR expert, general proxy protocols like SOCKS, use TCP at a low level to connect to their first proxy and then using higher level protocols encrypt HTTP requests so they bounce around several proxies.

this is a very high level answer, you can absolutely implement a low-level protocol in an application. I am just speaking to the most common examples

Sign up to request clarification or add additional context in comments.

4 Comments

Let's use an example, I want to develop a chat between my friends, and I don't want to use the protocols normally used, so I decide to use TelNet, what would be the problem my software would have?
None, telnet uses TCP at a low-level. Assuming you are using a hub-spoke model, all your friends operating systems implement TCP so they can connect to your chat server. Your program now implements telnet on-top of the TCP stream as a higher level protocol.
Another question is, why when they created the email service, they decided to use the IMAP and POP3 protocol? and not another protocol?
The reasons are historical as well as technical. Email actually started out as a version of FTP (RFC561 explicitly mentions it). As for why we coalesced around IMAP and POP3, it is because they have different behaviors for different situations. You want to leave emails on a remote server, use IMAP. You to just use the email server to hold onto emails you have not read yet, use POP3.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.