The IT Law Wiki
No edit summary
(http://us2.darkorbit.bigpoint.com/GameAPI.php?req=YTo0OntzOjY6ImFjdGlvbiI7czoyMToicG9ydGFsLmxvZ2luQnlDcnlwdElkIjtzOjEyOiJsb2dpbkNyeXB0SWQiO3M6MzI6ImYyM2JlN2QwY2VlOWQwZGI5ZWIwZDAyMmUzZWM0YTQzIjtzOjY6Im)
Line 1: Line 1:
 
== Overview ==
 
== Overview ==
   
'''TCP/IP''' (an acronym for '''T'''ransmission '''C'''ontrol '''P'''rotocol/'''I'''nternet '''P'''rotocol) is a [[software]]-implemented [[protocol]] for connecting different [[network]]s to each other.<ref> Vinton G. Cerf & Robert E. Kahn, "A Protocol for Packet Network Intercommunication," 22 IEEE Transactions on Comm. 637 (1974).[http://www.cs.princeton.edu/courses/archive/fall06/cos561/papers/cerf74.pdf].</ref> The [[TCP]] component of the suite controls the disassembly and reassembly of [[data packet]]s sent from a [[computer server]], where the [[data]] resides. The [[IP]] component specifies the formatting and addressing scheme for [[transmit]]ting [[data]] between [[sender]] and [[recipient]] [[computer]]s. The [[software]] that implements the TCP/IP [[protocol]]s is typically included as part of the [[operating system]].
+
'''TCP/IP''' (an acronym for '''T'''ransmission '''C'''ontrol '''P'''rotocol/'''I'''nternet '''P'''rotocol) is a [[software]]-implemented [[protocol]] for connecting different [[network]]s to each other.<ref> Vinton G. Cerf & Robert E. Kahn, "A Protocol for Packet Network Intercommunication," 22 IEEE Transactions on Comm. 637 (1974).[http://www.cs.princeton.edu/courses/archive/fall06/cos561/papers/cerf74.pdf].</ref> The [[TCP]] component of the suite controls the disassembly and reassembly of [[data packet]]s sent from a [[computer server]], where the [[data]] resides. The [[IP]] component specifies the formatting and addressing scheme for [[transmit]]ting [[data]] between [[sender]] and [[recipient]] [[computer]]s. The [[software]] that implements the TCP/IP [[protocol]]s is typically included as part of the [[operating system]].
   
 
Any [[computer]] seeking to [[communicate]] on the [[Internet]] must "speak" TCP/IP. As noted by one author:
 
Any [[computer]] seeking to [[communicate]] on the [[Internet]] must "speak" TCP/IP. As noted by one author:
Line 16: Line 16:
   
 
TCP/IP networking can best be explained and understood in terms of a model with four layers, where each layer is responsible for performing a particular task. The layered model describes the flow of [[data]] between the physical connection to the [[network]] and the end-user [[application]]. In the four-layer model, [[information]] always moves from one layer to the
 
TCP/IP networking can best be explained and understood in terms of a model with four layers, where each layer is responsible for performing a particular task. The layered model describes the flow of [[data]] between the physical connection to the [[network]] and the end-user [[application]]. In the four-layer model, [[information]] always moves from one layer to the
next. For example, when an [[application]] sends [[data]] to another [[application]], the [[data]] go through the layers in this order:
+
next. For example, when an [[application]] sends [[data]] to another [[application]], the [[data]] go through the layers in this order:
   
 
::Application—>Transport—>Network—>Physical
 
::Application—>Transport—>Network—>Physical
   
At the receiving end, the data go up from
+
At the receiving end, the data go up from
   
 
::Physical—>Network—>Transport—>Application
 
::Physical—>Network—>Transport—>Application
   
Each layer has its own set of [[protocol]]s for handling and formatting the [[data]]. The way in which [[data]] are sent on a [[network]] is similar to the way in which letters are sent through the postal service. For example, a typical [[protocol]] involved in sending a letter would be a preferred sequence of [[data]] for a task such as addressing an envelope (first the name; then the street address; and then city, state, and zip or other postal code).
+
Each layer has its own set of [[protocol]]s for handling and formatting the [[data]]. The way in which [[data]] are sent on a [[network]] is similar to the way in which letters are sent through the postal service. For example, a typical [[protocol]] involved in sending a letter would be a preferred sequence of [[data]] for a task such as addressing an envelope (first the name; then the street address; and then city, state, and zip or other postal code).
   
 
Similarly, a [[protocol]] in the [[network]] layer of TCP/IP might be to prepare a [[packet]] for [[transmission]] from one [[network]] to another. There would be some [[information]] in that [[packet]] identifying the [[network]] where the [[packet]] originated as well as the destination [[network]]. [[Software]] that implements the TCP/IP protocols is typically included as part of the [[operating system]].
 
Similarly, a [[protocol]] in the [[network]] layer of TCP/IP might be to prepare a [[packet]] for [[transmission]] from one [[network]] to another. There would be some [[information]] in that [[packet]] identifying the [[network]] where the [[packet]] originated as well as the destination [[network]]. [[Software]] that implements the TCP/IP protocols is typically included as part of the [[operating system]].
Line 30: Line 30:
 
Each of the four layers performs a specialized function:
 
Each of the four layers performs a specialized function:
   
* '''Application layer:''' [[Application]]s such as [[e-mail reader]]s and [[Web browser]]s [[interface]] with the application layer to transmit [[data]] over TCP/IP networks. There are application-level [[protocol]]s such as [[Simple Mail Transfer Protocol]] ([[SMTP]]) and [[Post Office Protocol]] ([[POP]]) for [[e-mail]]; [[HyperText Transfer Protocol]] ([[HTTP]]) for the [[Web]]; [[File Transfer Protocol]] ([[FTP]]) for [[file transfer]]s; and [[Real-Time Transport Protocol/Real-Time Control Protocol]] ([[RTP/RTCP]]) for delivery of [[audio stream|audio]] and [[video stream]]s.<ref>Because these [[protocol]]s are not embedded in the [[Internet]] itself, a new application-layer [[protocol]] can operate over the [[Internet]] through as little as one [[server computer]] that [[transmit]]s the [[data]] in the proper format, and one [[client computer]] that can receive and interpret the [[data]]. The utility of a service to [[user]]s, however, increases as the number of [[server]]s that provide that service increases.</ref> Application-level [[protocol]]s also have a port number that can be thought of as an identifier for a specific application. For example, port 80 is associated with [[HTTP]] or a [[Web server]].
+
* '''Application layer:''' [[Application]]s such as [[e-mail reader]]s and [[Web browser]]s [[interface]] with the application layer to transmit [[data]] over TCP/IP networks. There are application-level [[protocol]]s such as [[Simple Mail Transfer Protocol]] ([[SMTP]]) and [[Post Office Protocol]] ([[POP]]) for [[e-mail]]; [[HyperText Transfer Protocol]] ([[HTTP]]) for the [[Web]]; [[File Transfer Protocol]] ([[FTP]]) for [[file transfer]]s; and [[Real-Time Transport Protocol/Real-Time Control Protocol]] ([[RTP/RTCP]]) for delivery of [[audio stream|audio]] and [[video stream]]s.<ref>Because these [[protocol]]s are not embedded in the [[Internet]] itself, a new application-layer [[protocol]] can operate over the [[Internet]] through as little as one [[server computer]] that [[transmit]]s the [[data]] in the proper format, and one [[client computer]] that can receive and interpret the [[data]]. The utility of a service to [[user]]s, however, increases as the number of [[server]]s that provide that service increases.</ref> Application-level [[protocol]]s also have a port number that can be thought of as an identifier for a specific application. For example, port 80 is associated with [[HTTP]] or a [[Web server]].
  +
* '''Transport layer:''' This layer breaks large messages into [[data packet]]s for [[transmission]] and reassembles them at the destination. The two most important [[protocol]]s in this layer are [[Transmission Control Protocol]] ([[TCP]]) and [[User Datagram Protocol]] ([[UDP]]). [[TCP]] guarantees delivery of [[data]]; [[UDP]] just sends the [[data]] without ensuring that it actually reaches its destination.
 
* '''Transport layer:''' This layer breaks large messages into [[data packet]]s for [[transmission]] and reassembles them at the destination. The two most important [[protocol]]s in this layer are [[Transmission Control Protocol]] ([[TCP]]) and [[User Datagram Protocol]] ([[UDP]]). [[TCP]] guarantees delivery of [[data]]; [[UDP]] just sends the [[data]] without ensuring that it actually reaches its destination.
+
* '''Network layer:''' This layer is responsible for getting [[data packet]]s from one [[network]] to another. If the [[network]]s are far apart, the [[data packet]]s are [[route]]d from one [[network]] to the next until they reach their destination. The primary [[protocol]] in this layer is the [[Internet Protocol]] ([[IP]]).
 
* '''Physical layer:''' This layer consists of the physical networking [[hardware]] (such as an [[Ethernet]] card or [[Token Ring]] card) that carries the [[data packet]]s in a [[network]].
 
 
The benefit of the layered model is that each layer takes care of only its specific task, leaving the rest to the other layers. The layers can mix and match &mdash; TCP/IP [[network]]s can work over any type of physical network medium, from [[Ethernet]] to [[radio wave]]s (in a [[wireless network]]). In addition, each layer can be implemented in different modules. For example, typically the transport and network layers already exist as part of the [[operating system]], and any [[application]] can make use of these layers.
* '''Network layer:''' This layer is responsible for getting [[data packet]]s from one [[network]] to another. If the [[network]]s are far apart, the [[data packet]]s are [[route]]d from one [[network]] to the next until they reach their destination. The primary [[protocol]] in this layer is the [[Internet Protocol]] ([[IP]]).
 
 
* '''Physical layer:''' This layer consists of the physical networking [[hardware]] (such as an [[Ethernet]] card or [[Token Ring]] card) that carries the [[data packet]]s in a [[network]].
 
 
The benefit of the layered model is that each layer takes care of only its specific task, leaving the rest to the other layers. The layers can mix and match &mdash; TCP/IP [[network]]s can work over any type of physical network medium, from [[Ethernet]] to [[radio wave]]s (in a [[wireless network]]). In addition, each layer can be implemented in different modules. For example, typically the transport and network layers already exist as part of the [[operating system]], and any [[application]] can make use of these layers.
 
   
 
TCP/IP [[network]]s such as the [[Internet]] comprise many [[network]]s as well as many [[host]]s on each [[network]]. Each [[host]] in a TCP/IP [[network]] is identified by its [[IP address]]. Because TCP/IP deals with internetworking &mdash; interconnecting many [[network]]s &mdash; the [[IP address]] is a [[network]] address that identifies the [[network]] on which the [[host]] is located and a [[host address]] that identifies the specific [[computer]] on that [[network]].
 
TCP/IP [[network]]s such as the [[Internet]] comprise many [[network]]s as well as many [[host]]s on each [[network]]. Each [[host]] in a TCP/IP [[network]] is identified by its [[IP address]]. Because TCP/IP deals with internetworking &mdash; interconnecting many [[network]]s &mdash; the [[IP address]] is a [[network]] address that identifies the [[network]] on which the [[host]] is located and a [[host address]] that identifies the specific [[computer]] on that [[network]].

Revision as of 00:48, 24 September 2010

Overview

TCP/IP (an acronym for Transmission Control Protocol/Internet Protocol) is a software-implemented protocol for connecting different networks to each other.[1] The TCP component of the suite controls the disassembly and reassembly of data packets sent from a computer server, where the data resides. The IP component specifies the formatting and addressing scheme for transmitting data between sender and recipient computers. The software that implements the TCP/IP protocols is typically included as part of the operating system.

Any computer seeking to communicate on the Internet must "speak" TCP/IP. As noted by one author:

we tend to speak of the Internet as if it were a thing, but in reality the Internet is entirely virtual; it consists of nothing but a software protocol suite known as TCP/IP. The software enables any computer in the world to exchange information with any other computer, regardless of the particular physical networks to which they are attached or the hardware they use. It does this largely by giving computers addresses and names, and providing instructions about how to use them.[2]

The TCP/IP standard is an "open" standard, meaning it is not a proprietary product of any single company. The predominant operating system is UNIX, but the Internet standard has been adopted for use on the most commonly used systems, such as LINUX, Windows/Vista, and Apple OS X.

In a TCP/IP network, each server or hardware device is assigned an IP address — a unique numeric location based on the IP addressing scheme. Every computer or device with an IP address is considered a connection point, or node, of the network. Each node can run network services such as the World Wide Web, electronic mail, and file transfer, storage, and retrieval. Each network service uses specific protocols and is identified by a port number that enables other nodes to locate and connect to the service.

The TCP/IP protocol suite has become the de facto communications standard of the Internet because many standard services are available on all systems that support TCP/IP. These services make the Internet useful by enabling the transfer of email, news, and Web pages.

Description of a TCP/IP Network

TCP/IP networking can best be explained and understood in terms of a model with four layers, where each layer is responsible for performing a particular task. The layered model describes the flow of data between the physical connection to the network and the end-user application. In the four-layer model, information always moves from one layer to the next. For example, when an application sends data to another application, the data go through the layers in this order:

Application—>Transport—>Network—>Physical

At the receiving end, the data go up from

Physical—>Network—>Transport—>Application

Each layer has its own set of protocols for handling and formatting the data. The way in which data are sent on a network is similar to the way in which letters are sent through the postal service. For example, a typical protocol involved in sending a letter would be a preferred sequence of data for a task such as addressing an envelope (first the name; then the street address; and then city, state, and zip or other postal code).

Similarly, a protocol in the network layer of TCP/IP might be to prepare a packet for transmission from one network to another. There would be some information in that packet identifying the network where the packet originated as well as the destination network. Software that implements the TCP/IP protocols is typically included as part of the operating system.

Each of the four layers performs a specialized function:

The benefit of the layered model is that each layer takes care of only its specific task, leaving the rest to the other layers. The layers can mix and match — TCP/IP networks can work over any type of physical network medium, from Ethernet to radio waves (in a wireless network). In addition, each layer can be implemented in different modules. For example, typically the transport and network layers already exist as part of the operating system, and any application can make use of these layers.

TCP/IP networks such as the Internet comprise many networks as well as many hosts on each network. Each host in a TCP/IP network is identified by its IP address. Because TCP/IP deals with internetworking — interconnecting many networks — the IP address is a network address that identifies the network on which the host is located and a host address that identifies the specific computer on that network.

References

  1. Vinton G. Cerf & Robert E. Kahn, "A Protocol for Packet Network Intercommunication," 22 IEEE Transactions on Comm. 637 (1974).[1].
  2. Milton L. Mueller, Ruling the Root: Internet Governance and the Taming of Cyberspace 6 (2002).
  3. Because these protocols are not embedded in the Internet itself, a new application-layer protocol can operate over the Internet through as little as one server computer that transmits the data in the proper format, and one client computer that can receive and interpret the data. The utility of a service to users, however, increases as the number of servers that provide that service increases.