The family of Internet protocols or Internet protocol stack[1] is a set of communication protocols that make up the Internet architecture, and that allow effective communication in the transmission of data between computers.
Components
It is sometimes called TCP/IP protocol suite, in reference to the two most important protocols that make it up, which were among the first to be defined, and which are the two most used in the family:
There are so many protocols in this set among them are:.
It should also be taken into account that this family of protocols, or TCP/IP stack, is not a strict standard, as is the ISO OSI model, in which each level or layer responds to very specific regulations. In the case of TCP/IP, it is based on best practices and/or the different RFCs that are published. It is for this reason that it is common for different authors to present it as a four or five-layer model, and both positions are equally valid, since they are the interpretation of each author.
Taking these concepts into account, a correspondence between both models can be proposed in the form presented in the lateral image.[2].
For this reason, if we want to associate the protocols mentioned above with this TCP/IP layer model, we should present them according to the image presented below.
Finally, it is very important to consider that these different levels or layers have been designed to perform very specific services and/or functions, in particular towards two major computing concepts: networks and IT, as presented in the image below.
History of the TCP/IP protocol stack
It was first developed and demonstrated in 1972 by the United States Department of Defense, running on ARPANET, a wide area network of the department.
The Internet protocol family can be described by analogy with the OSI (Open System Interconnection) model, which describes the levels or layers of the protocol stack, although in practice it does not correspond exactly to the Internet model. In a protocol stack, each level solves a series of tasks related to data transmission, and provides a well-defined service to higher levels. The higher levels are those closest to the user and deal with more abstract data, leaving the lower levels with the task of translating the data so that it is physically manipulable.
Network protocols (TCP/IP)
Introduction
The family of Internet protocols or Internet protocol stack[1] is a set of communication protocols that make up the Internet architecture, and that allow effective communication in the transmission of data between computers.
Components
It is sometimes called TCP/IP protocol suite, in reference to the two most important protocols that make it up, which were among the first to be defined, and which are the two most used in the family:
There are so many protocols in this set among them are:.
It should also be taken into account that this family of protocols, or TCP/IP stack, is not a strict standard, as is the ISO OSI model, in which each level or layer responds to very specific regulations. In the case of TCP/IP, it is based on best practices and/or the different RFCs that are published. It is for this reason that it is common for different authors to present it as a four or five-layer model, and both positions are equally valid, since they are the interpretation of each author.
Taking these concepts into account, a correspondence between both models can be proposed in the form presented in the lateral image.[2].
For this reason, if we want to associate the protocols mentioned above with this TCP/IP layer model, we should present them according to the image presented below.
Finally, it is very important to consider that these different levels or layers have been designed to perform very specific services and/or functions, in particular towards two major computing concepts: networks and IT, as presented in the image below.
History of the TCP/IP protocol stack
It was first developed and demonstrated in 1972 by the United States Department of Defense, running on ARPANET, a wide area network of the department.
The Internet model was designed as the solution to a practical engineering problem. The OSI model, on the other hand, was proposed as a theoretical approach and also as a first phase in the evolution of computer networks. Therefore, the OSI model is easier to understand, but the TCP/IP model is the one that is actually used. It is helpful to understand OSI before learning about TCP/IP, as the same principles apply, but they are easier to understand in OSI.
TCP/IP is the successor to the Network Control Program (NCP), with which ARPANET operation began, and was first presented with RFC 791,[3] RFC 792[4] and RFC 793[5] in September 1981. By November of the same year, the definitive transition plan was presented in RFC 801,[6] and January 1, 1983 was marked as “Flag Day”.
The family of Internet protocols were the result of work carried out by the “Defense Advanced Research Projects Agency”: DARPA, in the early 1970s. After the construction of the pioneering ARPANET in 1969, DARPA began working on a large number of data transmission technologies. In 1972, Robert E. Kahn was hired by DARPA's Information Processing Techniques Office, where he worked on packet communication by satellite and radio waves, recognizing the important value of communication in these two ways. In the spring of 1973, Vint Cerf, developer of the ARPANET protocol, Network Control Program, joined Kahn with the goal of creating an open interconnection architecture and thus designing the next generation of ARPANET protocols. Kahn and Cerf were awarded the Presidential Medal of Freedom on November 10, 2005 for their contribution to American culture.[7].
By the summer of 1973, Kahn and Cerf had achieved a fundamental remodeling, where the differences between network protocols were hidden using a communications protocol and in addition, the network was no longer responsible for the reliability of the communication, as was the case in ARPANET, it was the host that was responsible. Cerf recognized the merit of Louis Pouzin, creator of the CYCLADES network, since his work was greatly influenced by the design of this network.
With the role that networks played in the communication process reduced to a minimum, it became a real possibility to communicate with different networks, regardless of the characteristics they had. There is a popular saying about TCP/IP, which was the final product developed by Cerf and Kahn, that it can work even between “two cans connected by a string.” In fact there is even an implementation using carrier pigeons, IP over carrier pigeons, which is documented in RFC 1149.[8][9].
A computer called router (a name that was later changed to gateway, gateway or gateway to avoid confusion with other types of gateway), is equipped with an interface for each network, and sends datagrams back and forth between them. The requirements for these routers are defined in RFC 1812.[10].
This idea was executed in more detail by Cerf's Stanford research group "Stanford (California)") during the period 1973 to 1974, resulting in the first TCP specification (Request for Comments 675).[11] DARPA was then contracted by BBN Technologies, Stanford University, and University College London (UCL) to develop operational versions of the protocol on different hardware platforms. Four different versions were thus developed: TCP v1, TCP v2, a third divided into two: TCP v3 and IP v3, in the spring of 1978, and then version TCP/IP v4 was stabilized: the standard protocol that is still used on the Internet.
In 1975, the first test of communication between two networks with TCP/IP protocols was carried out between Stanford University and UCL. In 1977 another communication test was carried out between three different networks with locations in the United States, the United Kingdom and Norway. Several different prototypes of TCP/IP protocols were developed in multiple research centers between 1978 and 1983. The complete migration of the ARPANET network to TCP/IP officially concluded on January 1, 1983, when the protocols were permanently activated.[12].
In March 1982, the United States Department of Defense declared TCP/IP the standard for communications between military networks.[13] In 1985, the Internet Architecture Board (IAB) hosted a three-day "Workshop" attended by 250 tradesmen. This served to promote the protocol, which contributed to an increase in its commercial use.
Key architectural principles
Contenido
Tal como se presenta en la RFC 1122.,[14] el desarrollo de los protocolos en que se basa Internet se rige por principios, dos de los cuales se describen a continuación:.
End to end
If two nodes need a mechanism to provide some functionality in their communication, said mechanism must be implemented directly on the nodes themselves without the other network elements interfering or participating, unless absolutely necessary.
The end-to-end principle has evolved over time. Its original expression put state maintenance and general intelligence at the edges, and assumed that the Internet connecting the edges did not retain any state and focused on speed and simplicity. Real-world needs for firewalls, network address translators, web content caches, and more have forced this principle to change.[15].
Sturdiness
A system must be conservative in its behavior as an emissary and liberal in its behavior as a recipient. That is, you must be careful to comply with protocols when sending data and you must be flexible to receive data that, although it has deficiencies, can be correctly interpreted.
The robustness principle states: "In general, an implementation should be conservative in its sending behavior, and liberal in its receiving behavior. That is, it should be careful to send well-formed datagrams, but should accept any datagram that it can interpret (for example, not object to technical errors when the meaning is still clear)."[16] "The second part of the principle is almost as important as the first: other hosts' software may contain deficiencies that make it inadvisable to exploit legal but obscure features of the protocol. "[17].
Encapsulation
Encapsulation "Encapsulation (networking)") is used to provide abstraction of protocols and services. Encapsulation is usually aligned with the division of the protocol suite into general functionality layers. In general, an application (the highest level of the model) uses a set of protocols to send its data across the layers. Data is further encapsulated at each level.
Layered structure
One of the first documents on the architecture, RFC 1122"), titled Host Requirements, emphasizes architectural principles over layers. RFC 1122 is structured into sections that reference layers, but the document references many other architectural principles and does not emphasize layers.
Advantages and disadvantages
The TCP/IP suite is designed for routing and has a very high degree of reliability, it is suitable for networks of any size. It is used worldwide in all types of networks, from home to business networks and on the Internet. It is compatible with standard tools for analyzing network operation.
A drawback of TCP/IP is that NetBEUI or IPX/SPX; besides, . However, .
The TCP/IP protocol suite is available at https://ietf.org/standards, allowing it to be used by any manufacturer.
[3] ↑ Jon Postel (septiembre de 1981). «NCP/TCP transition plan». Internet Engineering Task Force. RFC 791. Request for Comments 791. Consultado el 17 de abril de 2012.: https://es.wikipedia.org//tools.ietf.org/html/rfc791
[4] ↑ Jon Postel (septiembre de 1981). «NCP/TCP transition plan». Internet Engineering Task Force. RFC 792. Request for Comments 792. Consultado el 17 de abril de 2012.: https://es.wikipedia.org//tools.ietf.org/html/rfc792
[5] ↑ Jon Postel (septiembre de 1981). «NCP/TCP transition plan». Internet Engineering Task Force. RFC 793. Request for Comments 793. Consultado el 17 de abril de 2012.: https://es.wikipedia.org//tools.ietf.org/html/rfc793
[6] ↑ Jon Postel (noviembre de 1981). «NCP/TCP transition plan». Internet Engineering Task Force. RFC 801. Request for Comments 801. Consultado el 17 de abril de 2012.: https://es.wikipedia.org//tools.ietf.org/html/rfc801
[8] ↑ D. Weitzmann (abril de 1990). «A Standard for the Transmission of IP Datagrams on Avian Carriers». Internet Engineering Task Force. Request for Comments 1149. Archivado desde el original el 26 de noviembre de 2007. Consultado el 20 de noviembre de 2007.: https://web.archive.org/web/20071126231411/http://www.isi.edu/in-notes/rfc1149.txt
[16] ↑ Jon Postel, ed. (September 1981). Internet Protocol DARPA Internet Program Protocol Specification (Especificación del protocolo del programa de Internet de DARPA) (en inglés). p. 23. RFC 791.: https://es.wikipedia.org//tools.ietf.org/html/rfc791
[17] ↑ R. Braden, ed. (Octubre 1989). Requirements for Internet Hosts – Communication Layers (Requisitos para los hosts de Internet - Capas de comunicación) (en inglés). p. 13. RFC 1122.: https://es.wikipedia.org//tools.ietf.org/html/rfc1122
The Internet protocol family can be described by analogy with the OSI (Open System Interconnection) model, which describes the levels or layers of the protocol stack, although in practice it does not correspond exactly to the Internet model. In a protocol stack, each level solves a series of tasks related to data transmission, and provides a well-defined service to higher levels. The higher levels are those closest to the user and deal with more abstract data, leaving the lower levels with the task of translating the data so that it is physically manipulable.
The Internet model was designed as the solution to a practical engineering problem. The OSI model, on the other hand, was proposed as a theoretical approach and also as a first phase in the evolution of computer networks. Therefore, the OSI model is easier to understand, but the TCP/IP model is the one that is actually used. It is helpful to understand OSI before learning about TCP/IP, as the same principles apply, but they are easier to understand in OSI.
TCP/IP is the successor to the Network Control Program (NCP), with which ARPANET operation began, and was first presented with RFC 791,[3] RFC 792[4] and RFC 793[5] in September 1981. By November of the same year, the definitive transition plan was presented in RFC 801,[6] and January 1, 1983 was marked as “Flag Day”.
The family of Internet protocols were the result of work carried out by the “Defense Advanced Research Projects Agency”: DARPA, in the early 1970s. After the construction of the pioneering ARPANET in 1969, DARPA began working on a large number of data transmission technologies. In 1972, Robert E. Kahn was hired by DARPA's Information Processing Techniques Office, where he worked on packet communication by satellite and radio waves, recognizing the important value of communication in these two ways. In the spring of 1973, Vint Cerf, developer of the ARPANET protocol, Network Control Program, joined Kahn with the goal of creating an open interconnection architecture and thus designing the next generation of ARPANET protocols. Kahn and Cerf were awarded the Presidential Medal of Freedom on November 10, 2005 for their contribution to American culture.[7].
By the summer of 1973, Kahn and Cerf had achieved a fundamental remodeling, where the differences between network protocols were hidden using a communications protocol and in addition, the network was no longer responsible for the reliability of the communication, as was the case in ARPANET, it was the host that was responsible. Cerf recognized the merit of Louis Pouzin, creator of the CYCLADES network, since his work was greatly influenced by the design of this network.
With the role that networks played in the communication process reduced to a minimum, it became a real possibility to communicate with different networks, regardless of the characteristics they had. There is a popular saying about TCP/IP, which was the final product developed by Cerf and Kahn, that it can work even between “two cans connected by a string.” In fact there is even an implementation using carrier pigeons, IP over carrier pigeons, which is documented in RFC 1149.[8][9].
A computer called router (a name that was later changed to gateway, gateway or gateway to avoid confusion with other types of gateway), is equipped with an interface for each network, and sends datagrams back and forth between them. The requirements for these routers are defined in RFC 1812.[10].
This idea was executed in more detail by Cerf's Stanford research group "Stanford (California)") during the period 1973 to 1974, resulting in the first TCP specification (Request for Comments 675).[11] DARPA was then contracted by BBN Technologies, Stanford University, and University College London (UCL) to develop operational versions of the protocol on different hardware platforms. Four different versions were thus developed: TCP v1, TCP v2, a third divided into two: TCP v3 and IP v3, in the spring of 1978, and then version TCP/IP v4 was stabilized: the standard protocol that is still used on the Internet.
In 1975, the first test of communication between two networks with TCP/IP protocols was carried out between Stanford University and UCL. In 1977 another communication test was carried out between three different networks with locations in the United States, the United Kingdom and Norway. Several different prototypes of TCP/IP protocols were developed in multiple research centers between 1978 and 1983. The complete migration of the ARPANET network to TCP/IP officially concluded on January 1, 1983, when the protocols were permanently activated.[12].
In March 1982, the United States Department of Defense declared TCP/IP the standard for communications between military networks.[13] In 1985, the Internet Architecture Board (IAB) hosted a three-day "Workshop" attended by 250 tradesmen. This served to promote the protocol, which contributed to an increase in its commercial use.
Key architectural principles
Contenido
Tal como se presenta en la RFC 1122.,[14] el desarrollo de los protocolos en que se basa Internet se rige por principios, dos de los cuales se describen a continuación:.
End to end
If two nodes need a mechanism to provide some functionality in their communication, said mechanism must be implemented directly on the nodes themselves without the other network elements interfering or participating, unless absolutely necessary.
The end-to-end principle has evolved over time. Its original expression put state maintenance and general intelligence at the edges, and assumed that the Internet connecting the edges did not retain any state and focused on speed and simplicity. Real-world needs for firewalls, network address translators, web content caches, and more have forced this principle to change.[15].
Sturdiness
A system must be conservative in its behavior as an emissary and liberal in its behavior as a recipient. That is, you must be careful to comply with protocols when sending data and you must be flexible to receive data that, although it has deficiencies, can be correctly interpreted.
The robustness principle states: "In general, an implementation should be conservative in its sending behavior, and liberal in its receiving behavior. That is, it should be careful to send well-formed datagrams, but should accept any datagram that it can interpret (for example, not object to technical errors when the meaning is still clear)."[16] "The second part of the principle is almost as important as the first: other hosts' software may contain deficiencies that make it inadvisable to exploit legal but obscure features of the protocol. "[17].
Encapsulation
Encapsulation "Encapsulation (networking)") is used to provide abstraction of protocols and services. Encapsulation is usually aligned with the division of the protocol suite into general functionality layers. In general, an application (the highest level of the model) uses a set of protocols to send its data across the layers. Data is further encapsulated at each level.
Layered structure
One of the first documents on the architecture, RFC 1122"), titled Host Requirements, emphasizes architectural principles over layers. RFC 1122 is structured into sections that reference layers, but the document references many other architectural principles and does not emphasize layers.
Advantages and disadvantages
The TCP/IP suite is designed for routing and has a very high degree of reliability, it is suitable for networks of any size. It is used worldwide in all types of networks, from home to business networks and on the Internet. It is compatible with standard tools for analyzing network operation.
A drawback of TCP/IP is that NetBEUI or IPX/SPX; besides, . However, .
The TCP/IP protocol suite is available at https://ietf.org/standards, allowing it to be used by any manufacturer.
[3] ↑ Jon Postel (septiembre de 1981). «NCP/TCP transition plan». Internet Engineering Task Force. RFC 791. Request for Comments 791. Consultado el 17 de abril de 2012.: https://es.wikipedia.org//tools.ietf.org/html/rfc791
[4] ↑ Jon Postel (septiembre de 1981). «NCP/TCP transition plan». Internet Engineering Task Force. RFC 792. Request for Comments 792. Consultado el 17 de abril de 2012.: https://es.wikipedia.org//tools.ietf.org/html/rfc792
[5] ↑ Jon Postel (septiembre de 1981). «NCP/TCP transition plan». Internet Engineering Task Force. RFC 793. Request for Comments 793. Consultado el 17 de abril de 2012.: https://es.wikipedia.org//tools.ietf.org/html/rfc793
[6] ↑ Jon Postel (noviembre de 1981). «NCP/TCP transition plan». Internet Engineering Task Force. RFC 801. Request for Comments 801. Consultado el 17 de abril de 2012.: https://es.wikipedia.org//tools.ietf.org/html/rfc801
[8] ↑ D. Weitzmann (abril de 1990). «A Standard for the Transmission of IP Datagrams on Avian Carriers». Internet Engineering Task Force. Request for Comments 1149. Archivado desde el original el 26 de noviembre de 2007. Consultado el 20 de noviembre de 2007.: https://web.archive.org/web/20071126231411/http://www.isi.edu/in-notes/rfc1149.txt
[16] ↑ Jon Postel, ed. (September 1981). Internet Protocol DARPA Internet Program Protocol Specification (Especificación del protocolo del programa de Internet de DARPA) (en inglés). p. 23. RFC 791.: https://es.wikipedia.org//tools.ietf.org/html/rfc791
[17] ↑ R. Braden, ed. (Octubre 1989). Requirements for Internet Hosts – Communication Layers (Requisitos para los hosts de Internet - Capas de comunicación) (en inglés). p. 13. RFC 1122.: https://es.wikipedia.org//tools.ietf.org/html/rfc1122