Internet Protocol

Source: Wikipedia, the free encyclopedia.
Internet history timeline

Early research and development:

Merging the networks and creating the Internet:

Commercialization, privatization, broader access leads to the modern Internet:

Examples of Internet services:

The Internet Protocol (IP) is the

communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet
.

IP has the task of delivering

packets from the source host to the destination host solely based on the IP addresses in the packet headers. For this purpose, IP defines packet structures that encapsulate
the data to be delivered. It also defines addressing methods that are used to label the datagram with source and destination information. IP was the
connection-oriented service that became the basis for the Transmission Control Protocol
(TCP). The Internet protocol suite is therefore often referred to as TCP/IP.

The first major version of IP,

Internet Protocol version 6 (IPv6), which has been in increasing deployment on the public Internet since around 2006.[1]

Function

Encapsulation of application data carried by UDP to a link protocol frame

The Internet Protocol is responsible for addressing

host interfaces, encapsulating data into datagrams (including fragmentation and reassembly) and routing datagrams from a source host interface to a destination host interface across one or more IP networks.[2]
For these purposes, the Internet Protocol defines the format of packets and provides an addressing system.

Each datagram has two components: a header and a payload. The IP header includes a source IP address, a destination IP address, and other metadata needed to route and deliver the datagram. The payload is the data that is transported. This method of nesting the data payload in a packet with a header is called encapsulation.

IP addressing entails the assignment of IP addresses and associated parameters to host interfaces. The address space is divided into subnets, involving the designation of network prefixes. IP routing is performed by all hosts, as well as routers, whose main function is to transport packets across network boundaries. Routers communicate with one another via specially designed routing protocols, either interior gateway protocols or exterior gateway protocols, as needed for the topology of the network.[3]

Addressing methods

Routing schemes
Unicast

Broadcast

Multicast

Anycast

There are four principal addressing methods in the Internet Protocol:

  • Unicast delivers a message to a single specific node using a one-to-one association between a sender and destination: each destination address uniquely identifies a single receiver endpoint.
  • subnet
    .
  • Multicast delivers a message to a group of nodes that have expressed interest in receiving the message using a one-to-many-of-many or many-to-many-of-many association; datagrams are routed simultaneously in a single transmission to many recipients. Multicast differs from broadcast in that the destination address designates a subset, not necessarily all, of the accessible nodes.
  • Anycast delivers a message to any one out of a group of nodes, typically the one nearest to the source using a one-to-one-of-many[4] association where datagrams are routed to any single member of a group of potential receivers that are all identified by the same destination address. The routing algorithm selects the single receiver from the group based on which is the nearest according to some distance or cost measure.

Version history

A timeline for the development of the transmission control Protocol TCP and Internet Protocol IP
First Internet demonstration, linking the ARPANET, PRNET, and SATNET on November 22, 1977

In May 1974, the

network nodes. A central control component of this model was the Transmission Control Program that incorporated both connection-oriented links and datagram services between hosts. The monolithic Transmission Control Program was later divided into a modular architecture consisting of the Transmission Control Protocol and User Datagram Protocol at the transport layer and the Internet Protocol at the internet layer. The model became known as the Department of Defense (DoD) Internet Model and Internet protocol suite
, and informally as TCP/IP.

The following Internet Experiment Note (IEN) documents describe the evolution of the Internet Protocol into the modern version of IPv4:[6]

  • IEN 2 Comments on Internet Protocol and TCP (August 1977) describes the need to separate the TCP and Internet Protocol functionalities (which were previously combined). It proposes the first version of the IP header, using 0 for the version field.
  • IEN 26 A Proposed New Internet Header Format (February 1978) describes a version of the IP header that uses a 1-bit version field.
  • IEN 28 Draft Internetwork Protocol Description Version 2 (February 1978) describes IPv2.
  • IEN 41 Internetwork Protocol Specification Version 4 (June 1978) describes the first protocol to be called IPv4. The IP header is different from the modern IPv4 header.
  • IEN 44 Latest Header Formats (June 1978) describes another version of IPv4, also with a header different from the modern IPv4 header.
  • IEN 54 Internetwork Protocol Specification Version 4 (September 1978) is the first description of IPv4 using the header that would become standardized in 1980 as
    RFC 760
    .
  • IEN 80
  • IEN 111
  • IEN 123
  • IEN 128/RFC 760 (1980)

IP versions 1 to 3 were experimental versions, designed between 1973 and 1978.

(1981).

Version number 5 was used by the Internet Stream Protocol, an experimental streaming protocol that was not adopted.[7]

The successor to IPv4 is

128-bit addresses providing c. 3.4×1038 addresses. Although adoption of IPv6 has been slow, as of January 2023, most countries in the world show significant adoption of IPv6,[10] with over 41% of Google's traffic being carried over IPv6 connections.[11]

The assignment of the new protocol as IPv6 was uncertain until due diligence assured that IPv6 had not been used previously.

April Fools' Day RfC about IPv9.[14] IPv9 was also used in an alternate proposed address space expansion called TUBA.[15] A 2004 Chinese proposal for an IPv9 protocol
appears to be unrelated to all of these, and is not endorsed by the IETF.

IP version numbers

As the version number is carried in a 4-bit field, only numbers 0–15 can be assigned.

IP version Description Year Status
0 Internet Protocol, pre-v4 N/A Reserved[16]
1 Experimental version 1973 Obsolete
2 Experimental version 1977 Obsolete
3 Experimental version 1978 Obsolete
4
Internet Protocol version 4 (IPv4)[17]
1981 Active
5 Internet Stream Protocol (ST) 1979 Obsolete; superseded by ST-II or ST2
Internet Stream Protocol (ST-II or ST2)[18] 1987 Obsolete; superseded by ST2+
Internet Stream Protocol (ST2+) 1995 Obsolete
6 Simple Internet Protocol (SIP) N/A Obsolete; merged into IPv6 in 1995[16]
Internet Protocol version 6 (IPv6)[19]
1995 Active
7 TP/IX The Next Internet (IPv7)[20] 1993 Obsolete[21]
8 P Internet Protocol (PIP)[22] 1994 Obsolete; merged into SIP in 1993
9 TCP and UDP over Bigger Addresses (TUBA) 1992 Obsolete[23]
IPv9 1994 April Fools' Day joke[24]
Chinese IPv9
2004 Abandoned
10–14 N/A N/A Unassigned
15 Version field sentinel value N/A Reserved

Reliability

The design of the Internet protocol suite adheres to the

end nodes
.

As a consequence of this design, the Internet Protocol only provides

connectionless protocol, in contrast to connection-oriented communication. Various fault conditions may occur, such as data corruption, packet loss and duplication. Because routing is dynamic, meaning every packet is treated independently, and because the network maintains no state based on the path of prior packets, different packets may be routed to the same destination via different paths, resulting in out-of-order delivery
to the receiver.

All fault conditions in the network must be detected and compensated by the participating end nodes. The

upper layer protocols of the Internet protocol suite are responsible for resolving reliability issues. For example, a host may buffer
network data to ensure correct ordering before the data is delivered to an application.

IPv4 provides safeguards to ensure that the header of an IP packet is error-free. A routing node discards packets that fail a header checksum test. Although the Internet Control Message Protocol (ICMP) provides notification of errors, a routing node is not required to notify either end node of errors. IPv6, by contrast, operates without header checksums, since current link layer technology is assumed to provide sufficient error detection.[25][26]

The dynamic nature of the Internet and the diversity of its components provide no guarantee that any particular path is actually capable of, or suitable for, performing the data transmission requested. One of the technical constraints is the size of data packets possible on a given link. Facilities exist to examine the maximum transmission unit (MTU) size of the local link and Path MTU Discovery can be used for the entire intended path to the destination.[27]

The IPv4 internetworking layer automatically fragments a datagram into smaller units for transmission when the link MTU is exceeded. IP provides re-ordering of fragments received out of order.[28] An IPv6 network does not perform fragmentation in network elements, but requires end hosts and higher-layer protocols to avoid exceeding the path MTU.[29]

The Transmission Control Protocol (TCP) is an example of a protocol that adjusts its segment size to be smaller than the MTU. The User Datagram Protocol (UDP) and ICMP disregard MTU size, thereby forcing IP to fragment oversized datagrams.[30]

Security

During the design phase of the ARPANET and the early Internet, the security aspects and needs of a public, international network were not adequately anticipated. Consequently, many Internet protocols exhibited vulnerabilities highlighted by network attacks and later security assessments. In 2008, a thorough security assessment and proposed mitigation of problems was published.[31] The IETF has been pursuing further studies.[32]

See also

References

  1. from the original on 2021-03-07. Retrieved 2020-12-04.
  2. ^ Charles M. Kozierok, The TCP/IP Guide, archived from the original on 2019-06-20, retrieved 2017-07-22
  3. ^ "IP Technologies and Migration — EITC". www.eitc.org. Archived from the original on 2021-01-05. Retrieved 2020-12-04.
  4. ISSN 1389-1286
    .
  5. (PDF) from the original on 2017-01-06. Retrieved 2020-04-06. The authors wish to thank a number of colleagues for helpful comments during early discussions of international network protocols, especially R. Metcalfe, R. Scantlebury, D. Walden, and H. Zimmerman; D. Davies and L. Pouzin who constructively commented on the fragmentation and accounting issues; and S. Crocker who commented on the creation and destruction of associations.
  6. ^ "Internet Experiment Note Index". www.rfc-editor.org. Retrieved 2024-01-21.
  7. ^ a b Stephen Coty (2011-02-11). "Where is IPv1, 2, 3, and 5?". Archived from the original on 2020-08-02. Retrieved 2020-03-25.
  8. ^ Postel, Jonathan B. (February 1978). "Draft Internetwork Protocol Specification Version 2" (PDF). RFC Editor. IEN 28. Retrieved 6 October 2022. Archived 16 May 2019 at the Wayback Machine
  9. ^ Postel, Jonathan B. (June 1978). "Internetwork Protocol Specification Version 4" (PDF). RFC Editor. IEN 41. Retrieved 11 February 2024. Archived 16 May 2019 at the Wayback Machine
  10. ^ Strowes, Stephen (4 Jun 2021). "IPv6 Adoption in 2021". RIPE Labs. Archived from the original on 2021-09-20. Retrieved 2021-09-20.
  11. ^ "IPv6". Google. Archived from the original on 2020-07-14. Retrieved 2023-05-19.
  12. ^ Mulligan, Geoff. "It was almost IPv7". O'Reilly. Archived from the original on 5 July 2015. Retrieved 4 July 2015.
  13. ^ "IP Version Numbers". Internet Assigned Numbers Authority. Archived from the original on 2019-01-18. Retrieved 2019-07-25.
  14. RFC 1606
    : A Historical Perspective On The Usage Of IP Version 9. April 1, 1994.
  15. .
  16. ^ .
  17. ^ Cite error: The named reference rfc791 was invoked but never defined (see the help page).
  18. doi:10.17487/RFC1819. RFC 1819. Historic. Obsoletes RFC 1190
    and IEN 119.
  19. ^ Cite error: The named reference rfc8200 was invoked but never defined (see the help page).
  20. doi:10.17487/RFC1475. RFC 1475. Historic. Obsoleted by RFC 6814
    .
  21. ISSN 2070-1721. RFC 6814. Proposed Standard. Obsoletes RFC 1385, 1393, 1475 and 1770
    .
  22. . Historic.
  23. . Historic.
  24. .
  25. section 6.2
  26. from the original on 2024-06-12. Retrieved 2020-12-11.
  27. ^ Bill Cerveny (2011-07-25). "IPv6 Fragmentation". Arbor Networks. Archived from the original on 2016-09-16. Retrieved 2016-09-10.
  28. Symantec. Archived
    from the original on 20 January 2022. Retrieved 4 May 2014.
  29. CPNI, archived from the original
    (PDF) on 2010-02-11
  30. .