RFC 3639 (rfc3639) - Page 2 of 8
Considerations on the use of a Service Identifier in Packet Headers
Alternative Format: Original Text Document
RFC 3639 Service Identifier in Packet Headers October 2003
2. Service Identifiers
Although not necessarily by design, certain conventions have evolved
with respect to the IP protocol suite relative to the identification
of services within an IP traffic flow:
o Within the IP protocol suite, end point identifiers (e.g.,
TCP/UDP/SCTP port numbers, IP protocol numbers) are designed to
identify services to end points. In particular, TCP, UDP or SCTP
(Stream Control Transmission Protocol) port numbers are intended
to identify the source service location and the destination
service entity to the destination end point.
o The IP [2] datagram header contains the source and destination
address of the datagram as well as an indication of the upper-
level protocol (ULP) carried within the datagram. If the ULP is
either TCP [3], UDP [1], or SCTP [8] the payload will contain both
source and destination port numbers which allows differentiation
between services (e.g., TELNET, HTTP) and between multiple
instances of the same service between the pair of hosts described
by the source and destination address.
o By convention, for at least TCP and UDP, certain port numbers are
used as rendezvous points and are considered "well known" on the
source or destination side of the communication. Such rendezvous
points are maintained in an IANA registry currently located at
[11]. Specific registries for protocol and port numbers are at
[12] and [13].
o Notwithstanding the "well knownness" of any given port, port
numbers are only guaranteed to be meaningful to the end systems.
An intermediate system should generally not impute specific
meaning to any given port number, unless specifically indicated by
an end system (e.g., via the Resource Reservation Protocol (RSVP)
[4]) or agreed to by convention among the end systems and one or
more specific intermediate systems (e.g., firewall traversal for
the IP Security Protocol (IPSEC) [5]).
o Some services make use of protocol interactions to dynamically
allocate service identifiers (i.e., port numbers) to specific
communications. One specific example of this is the Session
Initiation Protocol (SIP) [9]. The implication of this is that
intermediate systems cannot relate the service identifiers to the
actual service unless they participate in the protocols which
allocate the service identifiers, or are explicitly notified of
the outcome of the allocation.
St. Johns & Huston Informational