Getting an Official Port Number

We’ve been using port 5670 in the examples for FILEMQ. Unlike all the previous examples in this book, this port isn’t arbitrary but was assigned by the Internet Assigned Numbers Authority, which “is responsible for the global coordination of the DNS Root, IP addressing, and other Internet protocol resources.”

I’ll explain very briefly when and how to request registered port numbers for your application protocols. The main reason is to ensure that your applications can run in the public domain without conflict with other protocols. Technically, if you ship any software that uses port numbers between 1024 and 49151, you should be using only IANA-registered port numbers. Many products don’t bother with this, however, and tend instead to use the IANA list as “ports to avoid.”

If you aim to make a public protocol of any importance, such as FILEMQ, you’re going to want an IANA-registered port. Briefly, here’s how to do this:

  • Document your protocol clearly, as IANA will want a specification of how you intend to use the port. It’s not a formal agreement but must be solid enough to pass expert review.

  • Decide what transport protocols you want: UDP, TCP, SCTP, etc. Usually with ØMQ you will want just TCP.

  • Fill in the application on iana.org, providing all the necessary information.

  • IANA will then continue the process by email until your application is either accepted or rejected.

Note that you don’t request a specific port number; IANA will ...

Get ZeroMQ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.