The protocols such as HTTP, IP, BGP are written in programming languages or simply plain English text ?

If it is written in plain English, then how it is communicated with web browser, switches/Routers ?


The specifications of protocols are normally written in plain English; when they are implemented they are written in a variety of programming languages. They are converted by programmers who read the specification and figure out how to make it work on the computer they're working with.

One of the shortest easiest to understand specifications is "RFC 868 Time Protocol"

A programmer sits and figures out how to do that, perhaps

s = socket.socket()
s.connect((hostname, 37))

Occasionally a program already exists and a spec is written from that, so that others can recreate it in other programming languages or environments.

Even more occasionally, the traffic between working programs is examined, and a spec is written as an explanation of what was seen. The most famous of these is how the Samba team figured out the details of the SMB file service protocol. The "French Cafe" technique

| improve this answer | |
  • Cisco wrote BGP based on RFC1771 from 1995: tools.ietf.org/html/rfc1771 – user36472 Nov 7 '18 at 9:42
  • 2
    It was not only someone from Cisco who wrote the original BGP RFC. And before the RFC there where 3 napkins containing the protocol specification. youtube.com/watch?v=HAOVNYSnL7k – Jens Link Nov 7 '18 at 10:51
  • @JensLink Haha nice one, never seen that! – user36472 Nov 7 '18 at 10:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.