Internet Protocol

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The Internet Protocol (IP) is the main protocol that computers use to talk to each other. When two computers talk to each other, data passes from computer to computer. IP is in charge of figuring out the path that data will take (called routing), and is the backbone of the Internet.

The first version of the Internet Protocol is IP Version 4 (IPv4). The latest version, meant to replace IPv4 is IP Version 6 (IPv6).

Function[change | change source]

The Internet Protocol gets information from a source computer to a destination computer. It sends this information in the form of packets. IP also gives those computers an IP address to identify each other.

IP Packets[change | change source]

An IP packet or datagram has two parts. The first part is the header, which is like a label on an envelope. The second part is the payload, which is like the letter inside an envelope. The header contains the source and destination IP addresses, and some extra information. This information is called metadata, and is about the packet itself. Putting data in a packet with a header is encapsulation.

Routing[change | change source]

Every computer on a network does some kind of routing. Dedicated computers talk with each other to figure out where to send packets. These computers are called routers, and talk using routing protocols.

Along every hop in a packet's journey, a computer reads the header. The computer sees the destination IP address and figures out where to send the packet.

Reliability[change | change source]

ARPANET, the early ancestor of the internet, was designed to survive a nuclear war. If one computer was destroyed, communication between all the other computers would still work. Computer networks still follow this same design.

Computers talking to each other handle the "smart" functions to simplify computer networks. The end nodes will check for errors instead of a central authority. Keeping the "smart" things on the end computers or nodes follows the end-to-end principle.

The Internet Protocol sends packets out without ensuring they arrive safely. This is best-effort delivery, and is unreliable. Packets could get messed up, lost, duplicated, or received out of order. Higher level protocols like the Transmission Control Protocol (TCP) ensure packets are delivered correctly. IP is also connectionless, so it does not keep track of communications.

Internet Protocol Version 4 (IPv4) uses a checksum to check for errors in an IP header. Every checksum is unique to a source/destination combination. A routing node generates a new checksum when it gets a packet. If the new checksum is different from the old one, the routing node knows the packet is bad and throws it out. IPv6 assumes another protocol will check for errors and leaves out the checksum. This is to improve performance.

History[change | change source]

In 1974, the Institute of Electrical and Electronics Engineers published a paper called "A Protocol for Packet Network Intercommunication". The paper described a way for computers to talk to each other using Packet Switching. A big part of this idea was the "Transmission Control Program". The Transmission Control Program was too big, so it split into TCP and IP. This model is now called the DoD Internet Model and Internet Protocol Suite, or the TCP/IP Model.

Versions 0 to 3 of IP were experimental, and used between 1977 and 1979.

IPv4 addresses will run out, because the number of possible addresses is finite. To fix this, the IEEE made IPv6 which had even more addresses. While IPv4 has 4.3 Billion addresses, IPv6 has 340 undecillion of them. This means we will never run out of IPv6 addresses. IPv5 was reserved for the Internet Stream Protocol, which was only used experimentally.

References[change | change source]