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.
AbstractThis 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.
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 , UDP , or SCTP  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 . Specific registries for protocol and port numbers are at  and . 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) ) 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) ). 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) . 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.
o Various products and service-related mechanisms deployed today take advantage of the fact that some service identifiers are relatively stable (and well known) to do various things (e.g., firewall filtering, QOS marking). o Certain network operations, such as various forms of packet encapsulation (e.g., tunneling) and encryption, can occlude this port number (or service identifier) while an IP packet is in transit within the network. For example, both the IPSEC Encapsulating Security Payload (ESP)  and Generic Routing Encapsulation (GRE)  both provide means for tunneling an IP datagram within another IP datagram. The service information becomes obscured and, in some instances, encrypted. o Cooperating end systems may elect to use arbitrarily selected port numbers for any service. The port numbers used in such cases may be statically defined, through coordinated configuration of the cooperating end systems through use of a common application or operating system, or by dynamic selection as an outcome of a rendezvous protocol. Intermediate system imposed service-based controls may block legitimate uses by subscribers. For example, some service providers are blocking port 25 (i.e., notionally SMTP) traffic for the stated purpose of trying to prevent SPAM, but which can also block legitimate email to the end user. Attempts by intermediate systems to impose service-based controls on communications against the perceived interests of the end parties to the communication are often circumvented . Services may be tunneled within other services, proxied by a collaborating external host (e.g., an anonymous redirector), or simply run over an alternate port (e.g., port 8080 vs port 80 for HTTP). Another means of circumvention is alteration of the service behavior to use a dynamic port negotiation phase, in order to avoid use of a constant port address. For the purposes of this memo, a "party to a communication" is either the sender, receiver, or an authorized agent of the sender or receiver in the path. If intermediate systems take actions on behalf of one or more parties to the communication or affecting the communication, a good rule of thumb is they should only take actions that are beneficial to or approved by one or more of the parties, within the operational parameters of the service-specific protocol, or otherwise unlikely to lead to widespread evasion by the user community.
 Postel, J., "User Datagram Protocol", STD 6, RFC 768, August 1980.  Postel, J., "Internet Protocol", STD 5, RFC 791, September 1981.  Postel, J., "Transmission Control Protocol", STD 7, RFC 793, September 1981.  Braden, B., Ed., Zhang, L., Berson, S., Herzog, S. and S. Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification", RFC 2205, September 1997.
 Kent, S. and R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998.  Kent, S. and R. Atkinson, "IP Encapsulating Security Payload (ESP)", RFC 2406, November 1998.  Farinacci, D., Li, T., Hanks, S., Meyer, D. and P. Traina, "Generic Routing Encapsulation (GRE)", RFC 2784, March 2000.  Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M., Zhang, L. and V. Paxson, "Stream Control Transmission Protocol", RFC 2960, October 2000.  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002.  New York Times, "STUDENTS EVADE UNIVERSITY TACTICS TO PROTECT MEDIA FILES", 27th November 2002.  IANA, "IANA Protocol Numbers and Assignment Services", May 2003, <http://www.iana.org/numbers.htm>.  IANA, "IANA Protocol Number Registry", May 2003, <http:// www.iana.org/assignments/protocol-numbers>.  IANA, "IANA Port Number Registry", May 2003, <http:// www.iana.org/assignments/port-numbers>.
Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society.