Connected: An Internet Encyclopedia
3.2.1.3 Addressing: RFC-791 Section 3.2

Up: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 1122
Up: 3. INTERNET LAYER PROTOCOLS
Up: 3.2 PROTOCOL WALK-THROUGH
Up: 3.2.1 Internet Protocol -- IP
Prev: 3.2.1.2 Checksum: RFC-791 Section 3.1
Next: 3.2.1.4 Fragmentation and Reassembly: RFC-791 Section 3.2

3.2.1.3 Addressing: RFC-791 Section 3.2

3.2.1.3 Addressing: RFC-791 Section 3.2

There are now five classes of IP addresses: Class A through Class E. Class D addresses are used for IP multicasting [IP:4], while Class E addresses are reserved for experimental use.

A multicast (Class D) address is a 28-bit logical address that stands for a group of hosts, and may be either permanent or transient. Permanent multicast addresses are allocated by the Internet Assigned Number Authority [INTRO:6], while transient addresses may be allocated dynamically to transient groups. Group membership is determined dynamically using IGMP [IP:4].

We now summarize the important special cases for Class A, B, and C IP addresses, using the following notation for an IP address:

or

and the notation "-1" for a field that contains all 1 bits. This notation is not intended to imply that the 1-bits in an address mask need be contiguous.

  1. { 0, 0 }

    This host on this network. MUST NOT be sent, except as a source address as part of an initialization procedure by which the host learns its own IP address.

    See also Section 3.3.6 for a non-standard use of {0,0}.

  2. { 0, <Host-number> }

    Specified host on this network. It MUST NOT be sent, except as a source address as part of an initialization procedure by which the host learns its full IP address.

  3. { -1, -1 }

    Limited broadcast. It MUST NOT be used as a source address.

    A datagram with this destination address will be received by every host on the connected physical network but will not be forwarded outside that network.

  4. { <Network-number>, -1 }

    Directed broadcast to the specified network. It MUST NOT be used as a source address.

  5. { <Network-number>, <Subnet-number>, -1 }

    Directed broadcast to the specified subnet. It MUST NOT be used as a source address.

  6. { <Network-number>, -1, -1 }

    Directed broadcast to all subnets of the specified subnetted network. It MUST NOT be used as a source address.

  7. { 127, <any> }

    Internal host loopback address. Addresses of this form MUST NOT appear outside a host.

The <Network-number> is administratively assigned so that its value will be unique in the entire world.

IP addresses are not permitted to have the value 0 or -1 for any of the <Host-number>, <Network-number>, or <Subnet- number> fields (except in the special cases listed above). This implies that each of these fields will be at least two bits long.

For further discussion of broadcast addresses, see Section 3.3.6.

A host MUST support the subnet extensions to IP [IP:3]. As a result, there will be an address mask of the form: {-1, -1, 0} associated with each of the host's local IP addresses; see Sections 3.2.2.9 and 3.3.1.1.

When a host sends any datagram, the IP source address MUST be one of its own IP addresses (but not a broadcast or multicast address).

A host MUST silently discard an incoming datagram that is not destined for the host. An incoming datagram is destined for the host if the datagram's destination address field is:

  1. (one of) the host's IP address(es); or

  2. an IP broadcast address valid for the connected network; or

  3. the address for a multicast group of which the host is a member on the incoming physical interface.

For most purposes, a datagram addressed to a broadcast or multicast destination is processed as if it had been addressed to one of the host's IP addresses; we use the term "specific-destination address" for the equivalent local IP address of the host. The specific-destination address is defined to be the destination address in the IP header unless the header contains a broadcast or multicast address, in which case the specific-destination is an IP address assigned to the physical interface on which the datagram arrived.

A host MUST silently discard an incoming datagram containing an IP source address that is invalid by the rules of this section. This validation could be done in either the IP layer or by each protocol in the transport layer.

DISCUSSION:

A mis-addressed datagram might be caused by a link- layer broadcast of a unicast datagram or by a gateway or host that is confused or mis-configured.

An architectural goal for Internet hosts was to allow IP addresses to be featureless 32-bit numbers, avoiding algorithms that required a knowledge of the IP address format. Otherwise, any future change in the format or interpretation of IP addresses will require host software changes. However, validation of broadcast and multicast addresses violates this goal; a few other violations are described elsewhere in this document.

Implementers should be aware that applications depending upon the all-subnets directed broadcast address (f) may be unusable on some networks. All- subnets broadcast is not widely implemented in vendor gateways at present, and even when it is implemented, a particular network administration may disable it in the gateway configuration.


Next: 3.2.1.4 Fragmentation and Reassembly: RFC-791 Section 3.2

Connected: An Internet Encyclopedia
3.2.1.3 Addressing: RFC-791 Section 3.2