TCP Ip
TCP Ip
BGP · DHCP · DNS · FTP · HTTP · IMAP · IRC · LDAP · MGCP · NNTP · NTP · POP · RIP ·
RPC · RTP · SIP · SMTP · SNMP · SSH · Telnet · TLS/SSL · XMPP ·
(more)
Transport Layer
(more)
Internet Layer
(more)
Link Layer
ARP/InARP · NDP · OSPF · Tunnels (L2TP) · PPP · Media Access Control (Ethernet, DSL,
ISDN, FDDI) · (more)
The Internet Protocol Suite is the set of communications protocols used for the Internet and
other similar networks. It is commonly also known as TCP/IP, named from two of the most
important protocols in it: the Transmission Control Protocol (TCP) and the Internet Protocol
(IP), which were the first two networking protocols defined in this standard. Modern IP
networking represents a synthesis of several developments that began to evolve in the 1960s
and 1970s, namely the Internet and local area networks, which emerged during the 1980s,
together with the advent of the World Wide Web in the early 1990s.
The Internet Protocol Suite, like many protocol suites, is constructed as a set of layers. Each
layer solves a set of problems involving the transmission of data. In particular, the layers
define the operational scope of the protocols within.
Often a component of a layer provides a well-defined service to the upper layer protocols and
may be using services from the lower layers. Upper layers are logically closer to the user and
deal with more abstract data, relying on lower layer protocols to translate data into forms that
can eventually be physically transmitted.
The TCP/IP model consists of (RFC 1122).]From lowest to highest, these are the Link Layer,
the Internet Layer, the Transport Layer, and the Application Layer.
History
The Internet Protocol Suite resulted from research and development conducted by the
Defense Advanced Research Projects Agency (DARPA) in the early 1970s. After initiating
the pioneering ARPANET in 1969, DARPA started work on a number of other data
transmission technologies. In 1972, Robert E. Kahn joined the DARPA Information
Processing Technology Office, where he worked on both satellite packet networks and
ground-based radio packet networks, and recognized the value of being able to communicate
across both. In the spring of 1973, Vinton Cerf, the developer of the existing ARPANET
Network Control Program (NCP) protocol, joined Kahn to work on open-architecture
interconnection models with the goal of designing the next protocol generation for the
ARPANET.
By the summer of 1973, Kahn and Cerf had worked out a fundamental reformulation, where
the differences between network protocols were hidden by using a common internetwork
protocol, and, instead of the network being responsible for reliability, as in the ARPANET,
the hosts became responsible. Cerf credits Hubert Zimmerman and Louis Pouzin, designer of
the CYCLADES network, with important influences on this design.
The design of the network included the recognition that it should provide only the functions
of efficiently transmitting and routing traffic between end nodes and that all other intelligence
should be located at the edge of the network, in the end nodes. Using a simple design, it
became possible to connect almost any network to the ARPANET, irrespective of their local
characteristics, thereby solving Kahn's initial problem. One popular expression is that
TCP/IP, the eventual product of Cerf and Kahn's work, will run over "two tin cans and a
string."
A computer called a router (a name changed from gateway to avoid confusion with other
types of gateways) is provided with an interface to each network, and forwards packets back
and forth between them. Requirements for routers are defined in (Request for Comments
1812).
The idea was worked out in more detailed form by Cerf's networking research group at
Stanford in the 1973–74 period, resulting in the first TCP specification.(Request for
Comments 675) (The early networking work at Xerox PARC, which produced the PARC
Universal Packet protocol suite, much of which existed around the same period of time, was
also a significant technical influence; people moved between the two.)
DARPA then contracted with BBN Technologies, Stanford University, and the University
College London to develop operational versions of the protocol on different hardware
platforms. Four versions were developed: TCP v1, TCP v2, a split into TCP v3 and IP v3 in
the spring of 1978, and then stability with TCP/IP v4 — the standard protocol still in use on
the Internet today.
In 1975, a two-network TCP/IP communications test was performed between Stanford and
University College London (UCL). In November, 1977, a three-network TCP/IP test was
conducted between sites in the US, UK, and Norway. Several other TCP/IP prototypes were
developed at multiple research centres between 1978 and 1983. The migration of the
ARPANET to TCP/IP was officially completed on January 1, 1983, when the new protocols
were permanently activated.
In March 1982, the US Department of Defense declared TCP/IP as the standard for all
military computer networking. In 1985, the Internet Architecture Board held a three day
workshop on TCP/IP for the computer industry, attended by 250 vendor representatives,
promoting the protocol and leading to its increasing commercial use.
The TCP/IP suite uses encapsulation to provide abstraction of protocols and services. Such
encapsulation usually is aligned with the division of the protocol suite into layers of general
functionality. In general, an application (the highest level of the model) uses
uses a set of
protocols to send its data down the layers, being further encapsulated at each level.
This may be illustrated by an example network scenario, in which two Internet host
computers communicate across local network boundaries constituted by their internetworking
gateways (routers).
The functional groups of protocols and methods are the Application Layer,, the Transport
Layer, the Internet Layer,, and the Link Layer (RFC 1122).
). This model was not intended to be
a rigid reference model into which new protocols have to fit in order to be accepted as a
standard.
The following table provides some examples of the protocols grouped in their respective
layers.
DNS, TFTP, TLS/SSL, FTP, Gopher, HTTP, IMAP, IRC, NNTP,
POP3, SIP, SMTP, SMPP, SNMP, SSH, Telnet, Echo, RTP, PNRP,
Application rlogin, ENRP
Routing protocols like BGP and RIP which run over TCP/UDP,
may also be considered part of the Internet Layer.
Transport TCP, UDP, DCCP, SCTP, IL, RUDP, RSVP
IP (IPv4, IPv6), ICMP, IGMP, and ICMPv6
Internet OSPF for IPv4 was initially considered IP layer protocol since it
runs per IP-subnet, but has been placed on the Link since RFC
2740.
Link ARP, RARP, OSPF (IPv4/IPv6), IS-IS, NDP
Implementations
Most computer operating systems in use today, including all consumer-targeted systems,
include a TCP/IP implementation.
Most of the IP implementations are accessible to the programmers using socket abstraction
(usable also with other protocols) and proper API for most of the operations. This interface is
known as BSD sockets and was used initially in C.
Unique implementations include Lightweight TCP/IP, an open source stack designed for
embedded systems and KA9Q NOS, a stack and associated protocols for amateur packet
radio systems and personal computers connected via serial lines.