Difference between revisions of "TCP/IP"

From Computer History Wiki
Jump to: navigation, search
m (Grammar fixes)
(Improved significantly)
Line 1: Line 1:
TCP/IP is the network protocol, along with the routing protocol [[BGP]] that make up the Internet. Because of the rise in popularity of the Internet, TCP/IP is the most popular networking protocol of all time. There simply are an amazing amount of OSs and platforms that support TCP/IP.
+
'''TCP/IP''' is the network [[protocol suite]] that is used in the [[Internet]].
 +
 
 +
Because of the rise in popularity of the Internet, TCP/IP is the most popular networking protocol suite of all time. There simply are an amazing amount of [[operating system|OSs]] and platforms that support TCP/IP.
  
 
The most popular implementation of TCP/IP came from the [[4.3 BSD]] release: because of the BSD copyright, people were free to adapt the software to their own needs.
 
The most popular implementation of TCP/IP came from the [[4.3 BSD]] release: because of the BSD copyright, people were free to adapt the software to their own needs.
  
Vint Cerf is largely credited with creating the protocol.
+
Vint Cerf is largely credited with initially creating the protocol suite; over the last several decades, a varying cast of characters, under the aegis of the [[Internet Engineering Task Force]], has done the engineering work to let TCP/IP handle the much larger Internet of today (many times larger than TCP/IP was originally designed to support).
  
TCP/IP is a family of several protocols.
+
TCP/IP is a family of several [[protocol]]s, the most important of which are listed below:
 +
 
 +
== Lower level protocols ==
  
== Lower OSI protocols ==
 
 
=== ARP ===
 
=== ARP ===
 
Address resolution protocol.
 
Address resolution protocol.
 +
 
=== SLIP ===
 
=== SLIP ===
Serial line protocol. SLIP was a popular way to connect machines with TCP/IP over leased lines and modems (or anything that could talk in a serial manner, like the most popular RS232 ports). The big drawback to SLIP was that each end had to be pre-configured; this made things like dialup banks exceptionally difficult to maintain, as each user would be assigned a static address - however it did work out fine for 'infrastructure' as they tended not to move.
+
Serial line protocol. SLIP was a popular way to connect machines with TCP/IP over leased lines and modems (or anything that could talk in a serial manner, like the most popular RS232 ports). The big drawback to SLIP was that each end had to be pre-configured; this made things like dialup banks exceptionally difficult to maintain, as each user would be assigned a static address - however it did work out fine for 'infrastructure' as they tended not to move.
  
 
SLIP has been largely supplanted by the PPP protocol.
 
SLIP has been largely supplanted by the PPP protocol.
Line 20: Line 24:
 
PPP supplanted SLIP in two major ways.  The first and most significant change was that PPP can auto-configure nodes, so that clients don't have to know anything about the network they are connecting to.  The PPP server will supply an IP address from a pool - and configure the client's gateway - and will also add DNS information.  PPP also included VJ header compression support, while ignoring the payload did help speed up some things on slow dialup links.
 
PPP supplanted SLIP in two major ways.  The first and most significant change was that PPP can auto-configure nodes, so that clients don't have to know anything about the network they are connecting to.  The PPP server will supply an IP address from a pool - and configure the client's gateway - and will also add DNS information.  PPP also included VJ header compression support, while ignoring the payload did help speed up some things on slow dialup links.
  
== Higher OSI protocols ==
+
== Higher level protocols ==
 +
 
 +
=== IP ===
 +
 
 +
The most important protocol of all, the [[internetworking layer]] [[Internet Protocol]], offers direct [[datagram]] carriage across the entire [[internetwork]], providing an un-reliable service which makes no guarantees that [[packet]]s will not be damaged, delayed, duplicated or re-ordered.
 +
 
 +
The lack of guarantees means that it is the job of the protocols above IP to ensure reliable data carriage on an [[end to end]] basis; these do so using [[sequence number]]s, [[timeout]]s, and [[retransmission]].
 +
 
 
=== TCP ===
 
=== TCP ===
Transmission control protocol
+
 
 +
The [[Transmission Control Protocol]] is the most widely used protocol to do that; it provides a [[reliable byte stream]] service/abstraction.
 +
 
 
=== UDP ===
 
=== UDP ===
User datagram protocol
+
The [[User Datagram Protocol]] is used to provide access to an un-reliable datagram service, for applications which don't need the complexity and overhead of TCP.
  
 
== Historical Systems Including TCP/IP ==
 
== Historical Systems Including TCP/IP ==
Line 32: Line 45:
 
* [[BSD]] Unix from 4.2 onward.
 
* [[BSD]] Unix from 4.2 onward.
  
 +
{{stub}}
  
{{stub}}
 
 
[[Category:Network Protocols]]
 
[[Category:Network Protocols]]

Revision as of 23:07, 12 June 2018

TCP/IP is the network protocol suite that is used in the Internet.

Because of the rise in popularity of the Internet, TCP/IP is the most popular networking protocol suite of all time. There simply are an amazing amount of OSs and platforms that support TCP/IP.

The most popular implementation of TCP/IP came from the 4.3 BSD release: because of the BSD copyright, people were free to adapt the software to their own needs.

Vint Cerf is largely credited with initially creating the protocol suite; over the last several decades, a varying cast of characters, under the aegis of the Internet Engineering Task Force, has done the engineering work to let TCP/IP handle the much larger Internet of today (many times larger than TCP/IP was originally designed to support).

TCP/IP is a family of several protocols, the most important of which are listed below:

Lower level protocols

ARP

Address resolution protocol.

SLIP

Serial line protocol. SLIP was a popular way to connect machines with TCP/IP over leased lines and modems (or anything that could talk in a serial manner, like the most popular RS232 ports). The big drawback to SLIP was that each end had to be pre-configured; this made things like dialup banks exceptionally difficult to maintain, as each user would be assigned a static address - however it did work out fine for 'infrastructure' as they tended not to move.

SLIP has been largely supplanted by the PPP protocol.

PPP

Point to point protocol.

PPP supplanted SLIP in two major ways. The first and most significant change was that PPP can auto-configure nodes, so that clients don't have to know anything about the network they are connecting to. The PPP server will supply an IP address from a pool - and configure the client's gateway - and will also add DNS information. PPP also included VJ header compression support, while ignoring the payload did help speed up some things on slow dialup links.

Higher level protocols

IP

The most important protocol of all, the internetworking layer Internet Protocol, offers direct datagram carriage across the entire internetwork, providing an un-reliable service which makes no guarantees that packets will not be damaged, delayed, duplicated or re-ordered.

The lack of guarantees means that it is the job of the protocols above IP to ensure reliable data carriage on an end to end basis; these do so using sequence numbers, timeouts, and retransmission.

TCP

The Transmission Control Protocol is the most widely used protocol to do that; it provides a reliable byte stream service/abstraction.

UDP

The User Datagram Protocol is used to provide access to an un-reliable datagram service, for applications which don't need the complexity and overhead of TCP.

Historical Systems Including TCP/IP

This list is far, far from exhaustive, and primarily meant for systems from the 1980s, before TCP/IP became universal on all but embedded systems.

  • BSD Unix from 4.2 onward.