RFC 8507
RFC 8507
RFC 8507
Deering
Request for Comments: 8507 Retired
Category: Historic R. Hinden, Ed.
ISSN: 2070-1721 Check Point Software
December 2018
Abstract
The paragraph that follows is the Abstract from the original draft.
Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved.
Table of Contents
1. Preface .........................................................3
2. Introduction ....................................................3
3. Terminology .....................................................4
4. SIP Header Format ...............................................5
5. Addresses .......................................................6
5.1. Text Representation of Addresses ...........................6
5.2. Unicast Addresses ..........................................6
5.3. Multicast Addresses ........................................8
5.4. Special Addresses ..........................................9
6. Packet Size Issues .............................................12
7. Source Routing Header ..........................................13
8. Fragmentation Header ...........................................14
9. Changes to Other Protocols .....................................16
9.1. Changes to ICMP ...........................................16
9.2. Changes to IGMP ...........................................20
9.3. Changes to Transport Protocols ............................21
9.4. Changes to Link-Layer Protocols ...........................22
10. Security Considerations .......................................22
11. Acknowledgments ...............................................23
12. Informative References ........................................23
Appendix A. SIP Design Rationale ..................................25
Appendix B. Future Directions .....................................25
Authors' Addresses ................................................26
1. Preface
Simple IP (SIP) was the basis for one of the candidates for the
IETF's Next Generation (IPng) work; see "The Recommendation for the
IP Next Generation Protocol" [RFC1752]. The original 1992
Internet-Draft describing SIP is published here as part of the record
of that work.
It should be noted that the original draft was not complete and that
no attempt has been made to complete it. This document is not
intended to be implementable.
2. Introduction
3. Terminology
path MTU - the minimum link MTU of all the links in a path
between a source system and a destination system.
packetization
layer - any protocol layer above SIP that is responsible for
packetizing data to fit within outgoing SIP packets.
Typically, transport-layer protocols, such as TCP, are
packetization protocols, but there may also be
higher-layer packetization protocols, such as
protocols implemented on top of UDP.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Payload Length | Payload Type | Hop Limit |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Source Address +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Destination Address +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5. Addresses
0123:4567:89AB:CDEF
0123:456789ABCDEF
0123:456789AB:CDE:F
A system may have a subnet mask of all-ones, which means that the
system belongs to a subnet containing exactly one system -- itself.
A system acquires its subnet mask(s) at the same time, and by the
same mechanism, as it acquires its address(es), for example, by
manual configuration or by a dynamic configuration protocol such as
BOOTP [RFC951].
|1| 7 | 4 | 4 | 48 bits |
+-+-------+----+----+---------------------------------------------+
|C|1111111|flgs|scop| group ID |
+-+-------+----+----+---------------------------------------------+
where:
+-+-+-+-+
flgs is a set of 4 flags: |0|0|0|T|
+-+-+-+-+
0 reserved
1 intra-system scope
2 intra-link scope
3 (unassigned)
4 (unassigned)
5 intra-site scope
6 (unassigned)
7 (unassigned)
8 intra-metro scope
9 (unassigned)
A (unassigned)
B intra-country scope
C (unassigned)
D (unassigned)
E global scope
F reserved
+----------------------------------------------+----------------+
| subnet prefix = A |interface ID = B|
+----------------------------------------------+----------------+
+----------------------------------------------+----------------+
| subnet prefix = A |0000000000000000|
+----------------------------------------------+----------------+
An intra-site router that knows that one of its addresses has the
format:
+-------------------------------+--------------+----------------+
| site prefix = X |subnet ID = Y|interface ID = Z|
+-------------------------------+--------------+----------------+
+-------------------------------+-------------------------------+
| site prefix = X |0000000000000000000000000000000|
+-------------------------------+-------------------------------+
+-------------------------------+--------------+----------------+
| site prefix = X |subnet ID = Y|0000000000000000|
+-------------------------------+--------------+----------------+
SIP requires that every link in the internet have an MTU of 576
octets or greater. On any link that cannot convey a 576-octet packet
in one piece, link-specific fragmentation and reassembly must be
provided at a layer below SIP.
(Note: this minimum link MTU is NOT the same as the one in IPv4.
In IPv4, the minimum link MTU is 68 octets [ [RFC791], page 25 ];
576 octets is the minimum reassembly buffer size required in an
IPv4 system, which has nothing to do with link MTUs.)
Path MTU Discovery requires support both in the SIP layer and in the
packetization layers. A system that supports Path MTU Discovery at
the SIP layer may serve packetization layers that are unable to adapt
to changes of the path MTU. Such packetization layers must limit
themselves to sending packets no longer than 576 octets, even when
sending to destinations that belong to the same subnet.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Num Addrs | Next Addr | Payload Type | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Address[0] +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Address[1] +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
. . .
. . .
. . .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Address[Num Addrs - 1] +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
o If Next Addr < Num Addrs, swap the SIP Destination Address and
Address[Next Addr], increment Next Addr by one, and re-submit
the packet to the SIP module for forwarding to the next
destination.
8. Fragmentation Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 M| Fragment Offset | Payload Type | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The special cases for which the Fragmentation header is intended are
the following:
Every SIP system must support SIP fragmentation and reassembly, since
any system may be configured to serve as a tunnel entry or exit
point, and any SIP system may be destination of IPv4 fragments. All
SIP systems must be capable of reassembling, from fragments, a SIP
packet of up to 1024 octets in length, including the SIP header; a
system may be capable of assembling packets longer than 1024 octets.
The similarity of the algorithm and the field layout to that of IPv4
enables existing IPv4 fragmentation and reassembly code and data
structures to be re-used with little modification.
One change to all ICMP messages is that, when used with SIP, the ICMP
checksum includes a pseudo-header, like TCP and UDP, consisting of
the SIP Source Address, Destination Address, Payload Length, and
Payload Type (see section 8.3).
For most of the ICMP message types, the packets retain the same
format and semantics as with IPv4; however, some of the fields are
given new names to match SIP terminology.
Destination Unreachable
The following Codes have different names when used with SIP:
The following Codes retain the same names when used with SIP:
3 - port unreachable
5 - source route failed
8 - source host isolated
13 - communication administratively prohibited
0 - net unreachable
6 - destination network unknown
9 - comm. with dest. network administratively prohibited
10 - comm. with dest. host administratively prohibited
11 - network unreachable for type of service
12 - host unreachable for type of service
For "packet too big" messages (Code 4), the minimum legal value
in the Next-Hop MTU field [RFC1191] is 576.
Time Exceeded
Parameter Problem
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved | Pointer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| first 256 octets of the invoking packet |
| |
Redirect
Only Code 1 is used for SIP, meaning "redirect packets for the
destination address".
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Preferred Router +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| first 256 octets of the invoking packet |
| |
Router Advertisement
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Num Addrs |Addr Entry Size| Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Router Address[0] +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Preference Level[0] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved[0] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Router Address[1] +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Preference Level[1] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved[1] |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . |
| . |
| . |
The value in the Addr Entry Size field is 4, and all of the
Reserved fields are initialized to zero by senders and ignored by
receivers.
Router Solicitation
No changes.
No changes.
The following ICMP message types are not used with SIP:
Source Quench
Timestamp
Timestamp Reply
Information Request
Information Reply
Address Mask Request
Address Mask Reply
SIP uses the Internet Group Management Protocol, IGMP [RFC1112]. The
presence of an IGMP header is indicated by a Payload Type of 2.
When used with SIP, the IGMP checksum includes a pseudo-header, like
TCP and UDP, consisting of the SIP Source Address, Destination
Address, Payload Length, and Payload Type (see section 8.3).
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Type | Reserved | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Type | Reserved | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Multicast Address +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
For both message types, the Version number remains 1, and the
Reserved fields are set to zero by senders and ignored by receivers.
The service interface to SIP has some differences from IPv4's service
interface. Existing transport protocols that use IPv4 must be
changed to operate over SIP's service interface. The differences
from IPv4 are:
Transport protocols that use IPv4 addresses for their own purposes,
such as identifying connection state or inclusion in a pseudo-header
checksum, must be changed to use 64-bit SIP addresses for those
purposes instead.
For SIP, the pseudo-header checksums of TCP, UDP, ICMP, and IGMP
include the SIP Source Address, Destination Address, Payload Length,
and Payload Type, with the following caveats:
The semantics of SIP service differ from IPv4 service in three ways
that may affect some transport protocols:
(1) SIP does not enforce maximum packet lifetime. Any transport
protocol that relies on IPv4 to limit packet lifetime must
take this change into account, for example, by providing its
own mechanisms for detecting and discarding obsolete packets.
(2) SIP does not checksum its own header fields. Any transport
protocol that relies on IPv4 to assure the integrity of the
source and destinations addresses, packet length, and
transport protocol identifier must take this change into
account. In particular, when used with SIP, the UDP checksum
is mandatory, and ICMP and IGMP are changed to use a
pseudo-header checksum.
(3) SIP does not (except in special cases) fragment packets that
exceed the MTU of their delivery paths. Therefore, a
transport protocol must not send packets longer than
576 octets unless it implements Path MTU Discovery [RFC1191]
and is capable of adapting its transmitted packet size in
response to changes of the path MTU.
Link-layer media that have an MTU less than 576 must be enhanced
with a link-specific fragmentation and reassembly mechanism, to
support SIP.
For links on which ARP is used by IPv4, the identical ARP protocol is
used for SIP. The low-order 32-bits of SIP addresses are used
wherever IPv4 addresses would appear; since ARP is used only among
systems on the same subnet, the high-order 32-bits of the SIP
addresses may be inferred from the subnet prefix (assuming the subnet
prefix is at least 32 bits long). [This is subject to change -- see
Appendix B.]
<to be done>
11. Acknowledgments
The author acknowledges the many helpful suggestions and the words of
encouragement from Dave Clark, Dave Crocker, Deborah Estrin, Bob
Hinden, Christian Huitema, Van Jacobson, Jeff Mogul, Dave Nichols,
Erik Nordmark, Dave Oran, Craig Partridge, Scott Shenker, Paul
Tsuchiya, Lixia Zhang, the members of End-to-End Research Group and
the IPAE Working Group, and the participants in the big-internet and
sip mailing lists. He apologizes to those whose names he has not
explicitly listed. [If you want to be on the list in the next draft,
just let him know!]
Editor's note: Steve Deering was employed by the Xerox Palo Alto
Research Center in Palo Alto, CA USA when this work was done.
Precedence &
Type of Service Not used; transport-layer Port fields (or perhaps
a to-be-defined value in the Reserved field of the
SIP header) may be used for classifying packets at
a granularity finer than host-to-host, as required
for special handling.
Need to justify:
Authors' Addresses
Stephen E. Deering
Retired
Vancouver, British Columbia
Canada
Email: [email protected]