(redirected from Internet protocol)

[Home]Internet Protocol

HomePage | Recent Changes | Preferences

The Internet Protocol (IP) is the defining element of the Internet -- every connected host must understand it. IP is complemented by one or more lower-level protocols that deal with the particular network hardware (for example, an Ethernet), and one or more higher-level protocols that add functionality. The whole collection of protocols is referred to as a protocol stack.

IP's designers believed strongly in layering: Every protocol has an explicit functionality, no more, no less. Additional features can be attained by putting another protocol layer on top of that.

The main strength of IP is packet switching: Transferring packets of data (called datagrams in IP parlance) from a source host to a destination host. In contrast to channel switched networks like the phone system, the Internet knows (on that level) nothing of connections. Each packet is routed independently; datagrams that have the same source and destination hosts -- and may as well belong to the same connection on a higher level -- could travel through the net on completely different paths.

A packet's journey consists of one or more hops. The source host, and any intermediate points, decide where the best next stop for the packet would be, based on the destination address, the topology and state of nearby connections. Once the next stop is reached, this process begins anew, until the destination is reached, or a certain number of hops is exceeded.

Similar to most protocols, IP divides its packets into an IP header (including a fixed part, followed by zero or more options), and a payload of variable length, and arbitrary content. The chief features of the header are the already mentioned destination address, the source address, the protocol version, and the length of the packet (header plus payload).

The IP in widespread use in 2001, and the one described here, is version 4, which was formalized in 1978 (IEN 41). The next generation is version 6. One major difference between versions is the number of addressable hosts. IPv4 has enough address bits to distinguish 232 machines, while IPv6 can accommodate 2128. Although there are far less than 232 (over 4 x 109, that is to say, 4 US billion) connected hosts, packing them too densely produces increasingly complex routing issues -- so there is a mild push to migrate to version 6.

A machine connected to the Internet typically has only one IP address. Because one often wants to run a number of services on the same host (for example, both a mail and a web server), most higher level protocols used in conjunction with IP define a multiplexing? mechanism. The two most common protocols layered on top of IP, TCP and UDP both use ports for this. In addition to multiplexing, TCP also offers reliability, and the notion of connections.

See also: TCP/IP

Further reading: [RFC791]


HomePage | Recent Changes | Preferences
This page is read-only | View other revisions
Last edited December 5, 2001 12:48 pm by Bryan Derksen (diff)
Search: