Internet protocol suite
From Wikipedia, the free encyclopedia
The five-layer TCP/IP model |
---|
5. Application layer |
DHCP · DNS · FTP · Gopher · HTTP · IMAP4 · IRC · NNTP · XMPP · POP3 · RTP · SIP · SMTP · SNMP · SSH · TELNET · RPC · RTCP · RTSP · TLS (and SSL) · SDP · SOAP · GTP · STUN · NTP · (more) |
4. Transport layer |
TCP · UDP · DCCP · SCTP · RSVP · ECN · (more) |
3. Network/internet layer |
IP (IPv4 · IPv6) · OSPF · IS-IS · BGP · IPsec · ARP · RARP · RIP · ICMP · ICMPv6 · IGMP · (more) |
2. Data link layer |
802.11 (WLAN) · 802.16 · Wi-Fi · WiMAX · ATM · DTM · Token ring · Ethernet · FDDI · Frame Relay · GPRS · EVDO · HSPA · HDLC · PPP · PPTP · L2TP · ISDN · ARCnet · LLTD · (more) |
1. Physical layer |
Ethernet physical layer · RS-232 · SONET/SDH · G.709 · Optical fiber · Coaxial cable · Twisted pair · (more) |
The Internet protocol suite (commonly TCP/IP) is the set of communications protocols that implement the protocol stack on which the Internet and most commercial networks run. It is named for two of the most important protocols in it: the Transmission Control Protocol (TCP) and the Internet Protocol (IP), which were also the first two networking protocols defined. Today's IP networking represents a synthesis of two developments that began to evolve in the 1960s and 1970s, namely LANs (Local Area Networks) and the Internet, which, together with the invention of the World Wide Web by Sir Tim Berners-Lee in 1989, have revolutionized computing.
The Internet protocol suite—like many protocol suites—can be viewed as a set of layers. Each layer solves a set of problems involving the transmission of data, and provides a well-defined service to the upper layer protocols based on using services from some 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 reference model consists of four layers [1]. From lowest to highest, these are the link layer, the network layer, the transport layer, and the application layer.
Contents |
[edit] History
The Internet protocol suite came from work done by Defense Advanced Research Projects Agency (DARPA) in the early 1970s. After building the pioneering ARPANET in the late 1960s, DARPA started work on a number of other data transmission technologies. In 1972, Robert E. Kahn was hired at 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 them. 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 for the ARPANET.
By the summer of 1973, Kahn and Cerf had soon 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.)
With the role of the network reduced to the bare minimum, it became possible to join almost any networks together, no matter what their characteristics were, thereby solving Kahn's initial problem. One popular saying has it that TCP/IP, the eventual product of Cerf and Kahn's work, will run over "two tin cans and a string." There is even an implementation designed to run using homing pigeons, IP over Avian Carriers (documented in Request for Comments 1149 [2] [3]).
A computer called a router (a name changed from gateway to avoid confusion with other types of gateway) 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). [4]
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) [5] (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 (i.e. contemporaneous), 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 the U.S., UK, and Norway. Between 1978 and 1983, several other TCP/IP prototypes were developed at multiple research centers. A full switchover to TCP/IP on the ARPANET took place January 1, 1983.[6]
In March 1982, the US Department of Defense made TCP/IP the standard for all military computer networking.[7] In 1985, the Internet Architecture Board held a three day workshop on TCP/IP for the computer industry, attended by 250 vendor representatives, helping popularize the protocol and leading to its increasing commercial use.
On November 9, 2005 Kahn and Cerf were presented with the Presidential Medal of Freedom for their contribution to American culture.
[edit] Layers in the Internet protocol suite
The IP suite uses encapsulation to provide abstraction of protocols and services. Generally a protocol at a higher level uses a protocol at a lower level to help accomplish its aims. The Internet protocol stack has never been altered, by the Internet Engineering Task Force (IETF), from the four layers defined in RFC 1122. The IETF makes no effort to follow the seven-layer OSI model and does not refer to it in standards-track protocol specifications and other architectural documents.
Application | DNS, TFTP, TLS/SSL, FTP, Gopher, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SNMP, SSH, TELNET, ECHO, RTP, PNRP, rlogin, ENRP |
---|---|
Routing protocols like BGP, which for a variety of reasons run over TCP, may also be considered part of the application or network layer. | |
Transport | TCP, UDP, DCCP, SCTP, IL, RUDP |
Internet | Routing protocols like OSPF, which run over IP, are also to be considered part of the network layer, as they provide path selection. ICMP and IGMP run over IP and are considered part of the network layer, as they provide control information. |
IP (IPv4, IPv6) | |
ARP and RARP operate underneath IP but above the link layer so they belong somewhere in between. | |
Network access (combines Data link and Physical) | Ethernet, Wi-Fi, token ring, PPP, SLIP, FDDI, ATM, Frame Relay, SMDS |
Some textbooks have attempted to map the Internet protocol suite model onto the seven layer OSI Model. The mapping often splits the Internet protocol suite's Network access layer into a Data link layer on top of a Physical layer, and the Internet layer is mapped to the OSI's Network layer. These textbooks are secondary sources that contravene the intent of RFC 1122 and other IETF primary sources[8]. The IETF has repeatedly stated that Internet protocol and architecture development is not intended to be OSI-compliant.
RFC 3439, on Internet architecture, contains a section entitled: "Layering Considered Harmful": Emphasizing layering as the key driver of architecture is not a feature of the TCP/IP model, but rather of OSI. Much confusion comes from attempts to force OSI-like layering onto an architecture that minimizes their use.[8]
[edit] Implementations
Today, most commercial operating systems include and install the TCP/IP stack by default. For most users, there is no need to look for implementations. TCP/IP is included in all commercial Unix systems, Mac OS X, and all free-software Unix-like systems such as Linux distributions and BSD systems, as well as Microsoft Windows.
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.
[edit] See also
[edit] Notes
- ^ R. Braden (October 1989), RFC 1122: Requirements for Internet Hosts—Communication Layers, Information Sciences Institute (ISI) at University of Southern California, <http://www.isi.edu/in-notes/rfc1122.txt>. Retrieved on 15 September 2007
- ^ D. Weitzmann (April 1990). [http:www.isi.edu/in-notes/rfc1149.txt A Standard for the Transmission of IP Datagrams on Avian Carriers]. Internet Engineering Task Force. Retrieved on 2007-11-20.
- ^ Bergen Linux User Group (April 2001). The informal report from the RFC 1149 event.
- ^ F. Baker (June 1995). Requirements for IP Routers.
- ^ V.Cerf et al (December 1974). Specification of Internet Transmission Control Protocol.
- ^ Internet History
- ^ Ronda Hauben. From the ARPANET to the Internet. TCP Digest (UUCP). Retrieved on 2007-07-05.
- ^ a b R. Bush (December 2002), Some Internet Architectural Guidelines and Philosophy, Internet Engineering Task Force, <http://www.isi.edu/in-notes/rfc3439.txt>. Retrieved on 20 November 2007
[edit] References
- Internet History -- Pages on Robert Kahn, Vinton Cerf, and TCP/IP (reviewed by Cerf and Kahn).
- Forouzan, Behrouz A. (2003). TCP/IP Protocol Suite, 2nd, McGraw-Hill. ISBN 0-07-246060-1.
[edit] Further reading
- Andrew S. Tanenbaum. Computer Networks. ISBN 0-13-066102-3
- Douglas E. Comer. Internetworking with TCP/IP - Principles, Protocols and Architecture. ISBN 86-7991-142-9
- Joseph G. Davies and Thomas F. Lee. Microsoft Windows Server 2003 TCP/IP Protocols and Services. ISBN 0-7356-1291-9
- Craig Hunt TCP/IP Network Administration. O'Reilly (1998) ISBN 1-56592-322-7
- W. Richard Stevens. TCP/IP Illustrated, Volume 1: The Protocols. ISBN 0-201-63346-9
- W. Richard Stevens and Gary R. Wright. TCP/IP Illustrated, Volume 2: The Implementation. ISBN 0-201-63354-X
- W. Richard Stevens. TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols. ISBN 0-201-63495-3
- Ian McLean. Windows(R) 2000 TCP/IP Black Book. ISBN 1-57610-687-X
- Ajit Mungale Pro .NET 1.1 Network Programming. ISBN 1-59059-345-6
[edit] External links
- Learn Networking - An Introduction to TCP/IP
- RFC 675 - Specification of Internet Transmission Control Program, December 1974 Version
- TCP/IP State Transition Diagram (PDF)
- RFC 1180 A TCP/IP Tutorial - from the Internet Engineering Task Force (January 1991)
- TCP/IP FAQ
- The TCP/IP Guide - A comprehensive look at the protocols and the procedures/processes involved
- A Study of the ARPANET TCP/IP Digest
- TCP/IP Sequence Diagrams
- The Internet in Practice
- TCP/IP - Directory & Informational Resource
- Daryl's TCP/IP Primer - Intro to TCP/IP LAN administration, conversational style
- Introduction to TCP/IP
- TCP/IP commands from command prompt
- cIPS — Robust TCP/IP stack for embedded devices without an Operating System