Considerations on the use of a Service Identifier in Packet Headers
RFC 3639

Document Type RFC - Informational (October 2003; No errata)
Last updated 2013-03-02
Stream IAB
Formats plain text pdf html bibtex
Stream IAB state (None)
Consensus Boilerplate Unknown
RFC Editor Note (None)
Network Working Group                                  M. St. Johns, Ed.
Request for Comments: 3639                                G. Huston, Ed.
Category: Informational                                              IAB
                                                            October 2003

                    Considerations on the use of a
                  Service Identifier in Packet Headers

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2003).  All Rights Reserved.

Abstract

   This memo describes some considerations relating to the use of IP
   protocol number fields and payload protocol (e.g., TCP) port fields
   to identify particular services that may be associated with that port
   number or protocol number.

1.  Introduction

   This memo describes some considerations relating to the use of IP
   protocol number fields and payload protocol (e.g., TCP) port or
   service fields to identify particular services that may be associated
   with that port number or protocol number.  It is a general statement
   regarding appropriate processing and use of service identifiers by
   intermediate systems.

   This memo points out that various measures by intermediate systems
   that are intended to filter or prevent the transmission of traffic
   based on the service identification within the traffic flow will have
   a limited effect.   This will also have a major side-effect of
   forcing the affected services to be redesigned using various forms of
   encapsulation or dynamic port negotiation in order to remove the
   fixed service identification from the IP packet headers.  The IAB
   does not believe this serves the general interests of the Internet
   community related to the design of simple and reliable Internet
   applications.  This memo suggests some thought be given to control
   mechanisms that do not rely on intermediary systems taking actions
   based on an assumed relationship between the service identifier in
   the packet and the actual service of which the packet is a part.

St. Johns & Huston           Informational                      [Page 1]
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
Show full document text