Internet layer
The internet layer is a group of internetworking methods, protocols, and specifications in the Internet protocol suite that are used to transport network packets from the originating host across network boundaries; if necessary, to the destination host specified by an IP address. The internet layer derives its name from its function facilitating internetworking, which is the concept of connecting multiple networks with each other through gateways.
The internet layer does not include the protocols that fulfill the purpose of maintaining link states between the local nodes and that usually use protocols that are based on the framing of packets specific to the link types. Such protocols belong to the link layer. Internet-layer protocols use IP-based packets.
A common design aspect in the internet layer is the robustness principle: "Be liberal in what you accept, and conservative in what you send"[1] as a misbehaving host can deny Internet service to many other users.
Internet protocol suite |
---|
Application layer |
Transport layer |
Internet layer |
Link layer |
|
Purpose
The internet layer has three basic functions:
- For outgoing packets, select the next-hop host (gateway) and transmit the packet to this host by passing it to the appropriate link layer implementation;
- For incoming packets, capture packets and pass the packet payload up to the appropriate transport layer protocol, if appropriate.
- Provide error detection and diagnostic capability.
In Version 4 of the Internet Protocol (IPv4), during both transmit and receive operations, IP is capable of automatic or intentional fragmentation or defragmentation of packets, based, for example, on the maximum transmission unit (MTU) of link elements. However, this feature has been dropped in IPv6, as the communications end points, the hosts, now have to perform path MTU discovery and assure that end-to-end transmissions don't exceed the maximum discovered.
In its operation, the internet layer is not responsible for reliable transmission. It provides only an unreliable service, and best effort delivery. This means that the network makes no guarantees about the proper arrival of packets. This in accordance with the end-to-end principle and a change from the previous protocols used on the early ARPANET. Since packet delivery across diverse networks is an inherently unreliable and failure-prone operation, the burden of providing reliability was placed with the end points of a communication path, i.e., the hosts, rather than on the network. This is one of the reasons of the resiliency of the Internet against individual link failures and its proven scalability. The function of providing reliability of service is the duty of higher level protocols, such as the Transmission Control Protocol (TCP) in the transport layer.
In IPv4, a checksum is used to protect the header of each datagram. The checksum ensures that the information in a received header is accurate, however, IPv4 does not attempt to detect errors that may have occurred to the data in each packet. IPv6 does not include this header checksum, instead relying on the link layer to assure data integrity for the entire packet including the checksum.
Core protocols
The primary protocols in the internet layer are the Internet Protocol (IP). It is implemented in two versions, IPv4 and IPv6. The Internet Control Message Protocol (ICMP) is primarily used for error and diagnostic functions. Different implementations exist for IPv4 and IPv6. The Internet Group Management Protocol (IGMP) is used by IPv4 hosts and adjacent IP multicast routers to establish multicast group memberships.
Security
Internet Protocol Security (IPsec) is a suite of protocols for securing IP communications by authenticating and encrypting each IP packet in a data stream. IPsec also includes protocols for key exchange. IPsec was originally designed as a base specification in IPv6 in 1995,[2][3] and later adapted to IPv4, with which it has found widespread use in securing virtual private networks.
Relation to OSI model
Because the internet layer of the TCP/IP model is easily compared directly with the network layer (layer 3) in the Open Systems Interconnection (OSI) protocol stack,[4][5][6][7] the internet layer is often improperly called network layer.[1][8]
IETF standards
- J. Postel (September 1981). Internet Protocol (IP). RFC 791.
- J. Postel (September 1981). Internet Control Message Protocol (ICMP). RFC 792.
- D. Clark (July 1982). IP Datagram Reassembly Algorithms. RFC 815.
- D. Clark (July 1982). Fault Isolation and Recovery. RFC 816.
- J. Postel (November 1983). The TCP Maximum Segment Size and Related Topics. RFC 879.
- J. Mogul and J. Postel (August 1985). Internet Standard Subnetting Procedure. RFC 950.
- B. Schofield (October 1989). Internet Protocol Security Options. RFC 1108.
- S. Deering (August 1989). Host Extensions for IP Multicasting. RFC 1112.
- R. Braden (Editor) (October 1989). Requirements for Internet Hosts—Communication Layers. RFC 1122.CS1 maint: extra text: authors list (link)
- R. Braden (Editor) (October 1989). Requirements for Internet Hosts—Application and Support. RFC 1123.CS1 maint: extra text: authors list (link)
- R. Bush, D. Meyer (December 2002). Some Internet Architectural Guidelines and Philosophy. RFC 3439.
See also
References
- R. Braden, ed. (October 1989). Requirements for Internet Hosts -- Communication Layers. IETF. doi:10.17487/RFC1122. RFC 1122.
- R. Atkinson (August 1995), Security Architecture for the Internet Protocol, IETF, RFC 1825
- P. Karn; P. Metzger; W. Simpson (August 1995), Security Architecture for the Internet Protocol, IETF, RFC 1829
- "What's The Difference Between The OSI Seven-Layer Network Model And TCP/IP?". Electronic Design. 2 October 2013.
- "Difference between OSI Reference Model and TCP/IP Reference Model - Studytonight". www.studytonight.com.
- "Four Layers of TCP/IP model, Comparison and Difference between TCP/IP and OSI models". www.omnisecu.com.
- "Network Basics: TCP/IP and OSI Network Model Comparisons".
- RFC 1123
External links
Wikiversity has learning resources about Internet layer |