Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I get started writing my own IP-Like Protocol? [closed]

So my question is, would it be possible to write a protocol which does the same as the Internet Protocol, and if so, how do I get started? And don't say, "isn't the Internet Protocol good enough?", yes it is, it is just to see if it is possible:P

I would like to know a bit more about how, just for learning how protocols are done. I have some experience in programming, but not anything like networking protocols.

like image 429
blackwolf123333 Avatar asked May 23 '12 19:05

blackwolf123333


People also ask

Can I make my own Internet Protocol?

No, it's not possible. The Universe just won't work with two IP-like protocols around.

How do I create my own protocol?

Use the Filter Components > Protocols > Add Protocol page to define a new, custom protocol. 1. Enter a Name for the protocol. A custom protocol can be assigned the same name as a pre-defined protocol, in order to extend the number of IP addresses or ports associated with the original protocol.

What are the 7 network protocols?

The protocols are used by the Data Link Layer include: ARP, CSLIP, HDLC, IEEE. 802.3, PPP, X-25, SLIP, ATM, SDLS and PLIP.


2 Answers

The short answer is yes -- it has been done, and could be done again.

Examples of what have been done include DECnet, NetBIOS, Appletalk, and ATM. Although I'm not sure it was ever fully implemented as intended (though DECNet came pretty close), the standard OSI 7-layer model for networking was originally intended as a model of actual implementation (i.e., the intent was that people would implement those layers, and you'd be able to build a fully network stack by plugging together the implementation of your choice of each layer).

Of course, what most of us think of as IP today is really IPv4 -- as you can probably guess from the version number, it had predecessors (and a successor, IPv6).

Edit: as to how you do it: pretty much like anything else. I'd start by writing up something about your motivation -- what you want to accomplish, what sorts of operations it should support, etc. Then start working on the simplest design you can figure out that can possibly do what you want. Then, as you use it and encounter problems, figure out whether they stem from poor implementation, or shortcomings in the design itself. Modify one or both as needed, trying to keep its evolution as coherent and understandable as possible.

like image 175
Jerry Coffin Avatar answered Nov 14 '22 22:11

Jerry Coffin


In short: Yes, it would be possible. On a higher level (i.e. OSI layer 7) it is done daily. If you want to implement the next IP, all you need are:

  • Special hardware (for the actual physical implementation, assuming that your protocol greatly differs from IP)
  • Device drivers for your favourite operating system that support your protocol
  • Maybe a high-level API to facilitate implementation

Edit: Saw that two others beat me to it ;)

like image 43
Gnosophilon Avatar answered Nov 14 '22 22:11

Gnosophilon