One document matched: draft-thaler-ip-model-evolution-00.txt
Network Working Group D. Thaler
Internet-Draft Microsoft
Expires: January 8, 2009 July 7, 2008
Evolution of the IP Model
draft-thaler-ip-model-evolution-00.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on January 8, 2009.
Abstract
This draft attempts to document various aspects of the IP service
model and how it has evolved over time. In particular, to document
the properties of the IP layer as they are seen by upper layer
protocols and applications, and especially on properties which were
(and at times still are) incorrectly perceived to exist, as well as
properties that changing would cause problems.
Thaler Expires January 8, 2009 [Page 1]
Internet-Draft Evolution of the IP Model July 2008
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. The IP Service Model . . . . . . . . . . . . . . . . . . . . . 3
2.1. Links and Subnets . . . . . . . . . . . . . . . . . . . . . 4
2.2. Common Application Assumptions . . . . . . . . . . . . . . 4
3. Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7.1. Normative References . . . . . . . . . . . . . . . . . . . 8
7.2. Informative References . . . . . . . . . . . . . . . . . . 8
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 8
Intellectual Property and Copyright Statements . . . . . . . . . . 9
Thaler Expires January 8, 2009 [Page 2]
Internet-Draft Evolution of the IP Model July 2008
1. Introduction
Since the Internet Protocol was first published as an IEN in 1978, IP
has provided a network-layer connectivity service to upper layer
protocols and applications. The basic IP service model was
documented in the original IEN's (and subsequently the RFC's that
obsolete them). However, since the mantra has been "Everything Over
IP", the IP service model has evolved significantly over the past 30
years to enable new behaviors that the original definition did not
envision. Today's IP service model is not well documented in a
single place, but is either implicit or discussed piecemeal in many
different RFCs. As a result, today's IP service model is actually
not well known, or at least is often misunderstood.
In the early days of IP, changing or extending the basic IP service
model was easier since it was not as widely deployed and there were
fewer implementations. Today, the ossification of the Internet makes
evolving the IP model even more difficult. Thus it is important to
understand the evolution of the IP model for two reasons:
1. To make it clear what upper layer protocols and applications can
and cannot depend on. There are many myths (or at least beliefs
which are no longer true) applications may be based on which are
problematic.
2. To document lessons for future evolution to take into account.
It is important that the service model remain consistent, rather
than evolving in two opposing directions. It is sometimes the
case in IETF Working Groups today that directions are considered
or even taken which would change the IP service model. Doing
this without understanding the implications on applications can
be dangerous.
This draft attempts to document various aspects of the IP service
model and how it has evolved over time. In particular, to document
the properties of the IP layer as they are seen by upper layer
protocols and applications, and especially on properties which were
(and at times still are) incorrectly perceived to exist, as well as
properties that changing would cause problems.
2. The IP Service Model
The foundation of the IP service model today is documented in
[RFC0791] section 2.2. Generally speaking, IP provides a
connectionless delivery service, which does not guarantee ordering,
delivery, or lack of duplication, but is merely best effort. Senders
can send to a destination address without signaling a priori, and
receivers just listen on an already provisioned address, without
signaling a priori.
Thaler Expires January 8, 2009 [Page 3]
Internet-Draft Evolution of the IP Model July 2008
2.1. Links and Subnets
Section 2.1 of [RFC4903] discusses the terms "link" and "subnet" with
respect to the IP model.
A "link" in the IP service model refers to the topological area
within which a packet with IPv4 TTL or IPv6 Hop Limit of 1 can be
delivered. That is, where no IP-layer forwarding (which entails a
TTL/Hop Limit decrement) occurs between two nodes.
A "subnet" in the IP service model refers to the topological area
within which addresses from the same subnet prefix are assigned to
interfaces.
2.2. Common Application Assumptions
Below is a list of properties which are sometimes assumed by
applications, but which have become less true over time.
o Selecting a local address selects the interface: Some applications
assume that binding to a given local address constrains traffic
reception to the interface with that address, and that traffic
from that address will go out on that address's interface.
However, [RFC1122] section 3.3.4.2 defines two models: the Strong
End System (or Strong host) model where this is true, and the Weak
End System (or Weak host) model where this is not true. In fact
any router is inherently a weak host implementation, since packets
can be forwarded between interfaces.
o Multicast is supported: [RFC1112] introduced multicast to the IP
service model. In this evolution, senders still just send to a
destination address without signaling a priori, but in contrast to
the original IP model, receivers must signal to the network before
they can receive traffic to a multicast address. Today it is
often assumed that multicast works within a link, but may or may
not function across a wider area. While network-layer multicast
works over most link types, there are Non-Broadcast Multi-Access
(NBMA) links over which multicast does not work (e.g., X.25, ATM,
frame relay, 6to4, ISATAP, Teredo) and this can interfere with
some protocols and applications.
o Broadcast is supported: IPv4 broadcast support was originally
defined on a link, across a network, and for subnet directed
broadcast. Since [RFC2644], broadcast can only be relied on
within a link. Still, there exist NBMA links over which broadcast
does not work. In addition, the addition of link-scoped multicast
to the IP service model to a large extent obsoleted the need for
broadcast. It is also worth noting that the broadcast API model
used by most platforms allows receivers to just listen on an
already provisioned address, without signaling a priori, but in
contrast to the unicast API model, senders must signal to the
Thaler Expires January 8, 2009 [Page 4]
Internet-Draft Evolution of the IP Model July 2008
local IP stack (SO_BROADCAST) before they can send traffic to a
broadcast address. However, from the network's perspective, the
host still sends without signaling a priori.
o Multicast/broadcast is less expensive than unicast to reach
multiple receivers on the same link: In wired networks, sending a
single multicast packet on a link is generally less expensive than
sending multiple unicast packets. This may not be true for
wireless networks, where implementations can send multicast at the
basic rate, regardless of the negotiated rates of potential
receivers.
o Bursty sources work: In the original IP model, senders just send,
without signaling the network a priori. This works to a degree.
In practice, the last hop (and in rare cases, other hops) of the
path needs to resolve next hop information (e.g., the link-layer
address of the destination) on demand which results in queuing
traffic, and if the queue fills up, some traffic gets dropped.
This means that bursty sources can be problematic (and indeed a
single large packet that gets fragmented becomes such a burst at
the last hop). The problem is rarely observed in practice today,
either because the resolution within the last hop happens very
quickly, or because bursty applications are rarer. However, any
protocol that significantly increases such delays or adds new
resolutions would be a change to the classic IP model and may
adversely impact upper layer protocols and applications that
result in bursts of packets.
o Connectivity is Transitive: Originally it was the case that
connectivity was transitive, both within a link and across the
Internet. With the advent of technologies such as NATs, and
firewalls, this can no longer be assumed across the Internet, but
it is often still true within a link. As a result, upper layer
protocols and applications may be relying on transitivity within a
link. However, radio technologies such as 802.11 ad-hoc mode
violate this assumption.
o Connectivity is Symmetric: Originally it was the case that
connectivity was symmetric (although the path taken may not be),
both within a link and across the Internet. With the advent of
technologies such as NATs and firewalls, this can no longer be
assumed. However, it is still the case that if a request can be
sent, then a reply to that request can generally be received, but
an unsolicited request in the other direction may not be received.
o Addresses are Stable: Originally addresses were manually
configured on fixed machines, and hence addresses were very
stable. With the advent of technologies such as DHCP, roaming,
and wireless, addresses can no longer be assumed to be stable for
long periods of time. However, the APIs provided to applications
today typically still assume stable addresses (e.g., address
lifetimes are not exposed to applications that get addresses).
This can cause problems today when addresses become stale.
Thaler Expires January 8, 2009 [Page 5]
Internet-Draft Evolution of the IP Model July 2008
o A host has only one address on one interface: Although many
applications assume this (e.g., by calling a name resolution
function such as gethostbyname and then just using the first
address returned), it was never really true to begin with, even if
it was the common case. Even [RFC0791] states, "provision must be
made for a host to have several physical interfaces to the network
with each having several logical internet addresses". However
today this assumption is increasingly less true, with the advent
of multiple interfaces (e.g., wired and wireless), dual-IPv4/IPv6
nodes, multiple IPv6 addresses on the same interface (e.g., link-
local and global), etc. Similarly, many protocol specifications
such as DHCP only describe operations for a single interface,
whereas obtaining host-wide configuration from multiple interfaces
presents a merging problem for nodes in practice. Too often this
problem is simply ignored by Working Groups, and applications and
users suffer as a result from poor merging algorithms.
o Traffic to a normal (non-broadcast/multicast) IP address is
delivered to only one interface: (to be filled in)
o Traffic to a normal (non-broadcast/multicast) IP address is
delivered to the same interface over time: (to be filled in)
o A "subnet" is smaller than a "link": In the classic IP model, a
"subnet" is smaller than, or equal to, a "link". Destinations
with addresses in the same subnet can be reached with TTL (or Hop
Count) = 1. Link-scoped multicast packets, and all-ones broadcast
packets will be delivered (in a best effort fashion) to all
listening nodes on the link. Subnet broadcast packets will be
delivered (in a best effort fashion) to all listening nodes in the
subnet. There have been some efforts in the past to allow multi-
link subnets and change the above service model, but the adverse
impact on applications that have such assumptions recommend
against changing this assumption. [RFC4903] discusses this topic
in more detail.
o An address is part of an on-link subnet: To some extent, this was
never true, in that there were cases in IPv4 where the "mask" was
255.255.255.255, such as on a point-to-point link where the two
endpoints had addresses out of unrelated address spaces. However,
this didn't stop many platforms and applications from assuming
that every address had a "mask" (or prefix) that was on-link. The
assumption of whether a subnet is on-link (in which case one can
send directly to the destination after using ARP/ND) or off-link
(in which case one just sends to a router) has evolved over the
years, and it can no longer be assumed that an address has an on-
link prefix. [RFC2461] introduced the distinction as part of the
core IPv6 protocol suite. [RFC4903] also touches on this topic
with respect to the service model seen by applications.
o Reordering is rare: (to be filled in)
Thaler Expires January 8, 2009 [Page 6]
Internet-Draft Evolution of the IP Model July 2008
o An "address" used by an application is the same as the "address"
used for routing: (to be filled in)
o An end-to-end path exists at a single point in time: In classic
IP, applications assume that an end-to-end path either exists to a
destination, or that the packet will be dropped. In addition, IP
today tends to assume that the packet delay is relatively short
(since the "Time"-to-live is just a hop count, since each hop is
assumed to be less than a second), whereas earlier the TTL field
was expected to be decremented each second (not just each hop).
The DTN Research Group trying to change this assumption.
o IP payload sent == IP payload received at other en: (to be filled
in)
o Unsolicited, unauthenticated inbound connectivity works: (to be
filled in)
3. Impact
Because a huge number of applications already exist that use TCP/IP
for business-critical operations, any changes to the service model
need to be done with extreme care. Extensions that merely add
additional optional functionality with impacting any existing
applications are much safer than extensions which change one or more
of the core assumptions discussed above. Any changes to the above
assumptions should only be done in accordance with some mechanism to
minimize or mitigate the risks of breaking mission-critical
applications. Historically, changes have been done without regard to
such considerations and as a result the situation for applications
today is already problematic. Key to maintaining an interoperable
Internet is documenting and maintaining invariants that higher layers
can depend on, and being very judicious with changes.
4. Security Considerations
TBD.
5. IANA Considerations
This document has no IANA Actions.
6. Acknowledgements
Bernard Aboba, Chris Hopps, Dow Street, and others provided helpful
discussion on various points that led to this document.
Thaler Expires January 8, 2009 [Page 7]
Internet-Draft Evolution of the IP Model July 2008
7. References
7.1. Normative References
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791,
September 1981.
[RFC1112] Deering, S., "Host extensions for IP multicasting", STD 5,
RFC 1112, August 1989.
[RFC1122] Braden, R., "Requirements for Internet Hosts -
Communication Layers", STD 3, RFC 1122, October 1989.
[RFC2461] Narten, T., Nordmark, E., and W. Simpson, "Neighbor
Discovery for IP Version 6 (IPv6)", RFC 2461,
December 1998.
[RFC2644] Senie, D., "Changing the Default for Directed Broadcasts
in Routers", BCP 34, RFC 2644, August 1999.
7.2. Informative References
[IEN28] Postel, J., "Draft Internetwork Protocol Specification",
February 1978.
[RFC4903] Thaler, D., "Multi-Link Subnet Issues", RFC 4903,
June 2007.
Author's Address
Dave Thaler
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
USA
Phone: +1 425 703 8835
Email: dthaler@microsoft.com
Thaler Expires January 8, 2009 [Page 8]
Internet-Draft Evolution of the IP Model July 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Thaler Expires January 8, 2009 [Page 9]
| PAFTECH AB 2003-2026 | 2026-04-23 21:43:40 |