Subject: Proprietary IP Protocol Type

From: Mareline Sheldon <[email-masked]>
Date: Mon, 4 Mar 2002 17:40:35 -0800 (PST)

Hi,
I am working on a distributed router and i want to run my own proprietary protocol inside over
the IP layer. How should i select an IP Protocol number so that it does not clash with one
outside. 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.

What should i do and how should i proceed?

regards,
mareline s.

__________________________________________________
Do You Yahoo!?
Yahoo! Sports - sign up for Fantasy Baseball
http://sports.yahoo.com

---

From: Kuniaki Kondo <[email-masked]>
Date: Tue, 5 Mar 2002 12:00:00 +0900

Hi,

In message <[email-masked]>
   "Proprietary IP Protocol Type"

>What should i do and how should i proceed?

 I also have a same question.
 I would like to get a document which is described assignment criteria,
 current being used, etc...

 If someone know, please advice me.

--
Kuniaki Kondo
[email-masked]
NATS Page : http://www.nats-project.org/

---

From: Vernon Schryver <[email-masked]>
Date: Mon, 4 Mar 2002 20:29:00 -0700 (MST)

> To: [email-masked], [email-masked]
> Cc: [email-masked]
> Subject: Re: Proprietary IP Protocol Type
> From: Kuniaki Kondo <[email-masked]>

> >the IP layer. ...

>  If someone know, please advice me.

Please do not be offended, but if you do not already know the answers
to such questions or at least better places than the main IETF mailing
list to ask them, then it is practically certain that you would be
better served to use UDP/IP instead of raw IP.

The number of available IP protocol numbers is infinitesimal compared
to the number of UDP port numbers.  (The host addresses can be seen
as qualifying port numbers, but protocol numbers are global.)
That implies that  as long as the IANA is doing its job, it will be
quite difficult to get an IP protocol number.

Vernon Schryver    [email-masked]

---

From: Joe Touch <[email-masked]>
Date: Mon, 04 Mar 2002 22:27:43 -0800

> as qualifying port numbers, but protocol numbers are global.)

For prototyping, you don't need to worry about port or even protocol 
number collisions. Use a checksum to ensure that you're interpretation 
of incoming packets is correct, and ignore those whose checksums err. 
Unless the protocol number is in common use, the overhead will be 
sufficiently low.

Joe

---

From: Michael StJohns <[email-masked]>
Date: Mon, 04 Mar 2002 23:01:45 -0800

Those of us who have been doing this for a while sometimes forget that 
there are things that are not obvious to those just joining us.

Protocol number assignments are at 
http://www.iana.org/numbers.html.  Application procedures are at 
www.iana.org.   IP Protocol numbers are at 
http://www.iana.org/assignments/protocol-numbers

To answer the first question - for proprietary protocols, don't apply for 
your own number, use one of the already registered "any *" 
protocols.  E.g.  9 - IGP - Any private interior gateway protocol, 61 - any 
host internal protocol.  You should build sufficient robustness into your 
protocol to ignore other private protocols of the same type - e.g. a magic 
number in the payload, or Joe's recommendation of a private checksum algorithm.

Topic closed....

Mike

At 10:27 PM 3/4/2002 -0800, Joe Touch wrote:
>number collisions. Use a checksum to ensure that you're interpretation of 
>incoming packets is correct, and ignore those whose checksums err. Unless 
>the protocol number is in common use, the overhead will be sufficiently low.
>
>Joe

---

From: Randy Bush <[email-masked]>
Date: Mon, 04 Mar 2002 23:45:45 -0800

> To answer the first question - for proprietary protocols, don't apply
> for your own number, use one of the already registered "any *"
> protocols.  E.g.  9 - IGP - Any private interior gateway protocol, 61 -
> any host internal protocol.  You should build sufficient robustness into
> your protocol to ignore other private protocols of the same type -
> e.g. a magic number in the payload, or Joe's recommendation of a private
> checksum algorithm.  
>
> Topic closed....

those of us who are mere snot-nosed kids and don't know what our oh
so wise elders have been doing for millenia.  so we write things
like this down in documents called rfcs so others don't have to guess.

randy

---

From: Thomas Narten <[email-masked]>
Date: Wed, 06 Mar 2002 23:40:35 -0500

> 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