> I am working on a distributed router and i want to run my own > proprietary protocol inside over the IP layer. I'd first ask the question of why running directly over IP is necessary. In most cases, running over UDP instead of IP is quite satisfactory in practice, and doesn't require the assignment of a IP protocol number (for which there aren't so many available). This would be the preferred approach in the vast majority of cases. > How should i select an IP Protocol number so that it does not clash > with one outside. If you really need an IP protocol number assigned, the procedure is to ask IANA. I.e., http://www.iana.org/cgi-bin/protocol.pl > There is a list of Protocol numbers currently > being used kept at iana.org and i can pick up one which is not being > currently used. But there is no guarantee that it will not be used > in the near future. Definitely a bad idea. If you pick a number, it is a certainty that someone else will be assigned the same number later. This may lead to interoperability problems when things get deployed. And I know who I would blame for causing the problem were it to happen to me. > What should i do and how should i proceed? I'd first try very hard to just UDP instead. Note, that if you ask IANA for a protocol number, they are advised to grant such assignments under the following conditions (per RFC 2780): > 4.3 IPv4 Protocol field > > IANA allocates values from the IPv4 Protocol name space following an > Expert Review, IESG Approval or Standards Action process. The Expert > Review process should only be used in those special cases where non- > disclosure information is involved. In these cases the expert(s) > should be designated by the IESG. I.e., you will need to provide justification for why a protocol number is needed. Writing this all up in an Internet Draft would be the logical first step. Thomas