TCP/IP model: Difference between revisions

Content deleted Content added
m internet layer: already linked
m Transport layer: already linked and/or expanded
Line 69:
 
===Transport layer===
The responsibility of the [[transport layer]] includes end-to-end message transfer independent of the underlying network, along with error control, segmentation, flow control, congestion control, and application addressing (port numbers). End to end message transmission or connecting applications at the transport layer can be categorized as either [[connection-oriented]], implemented in [[Transmission Control Protocol]] (TCP),
or [[connectionless]], implemented in [[User Datagram Protocol]] (UDP).
 
The transport layer can be thought of as a transport mechanism, e.g., a vehicle with the responsibility to make sure that its contents (passengers/goods) reach their destination safely and soundly, unless another protocol layer is responsible for safe delivery.
Line 76:
The transport layer provides this service of connecting applications through the use of [[TCP and UDP port|service ports]]. Since IP provides only a [[best effort delivery]], the transport layer is the first layer of the TCP/IP stack to offer reliability. IP can run over a reliable data link protocol such as the [[High-Level Data Link Control]] (HDLC). Protocols above transport, such as RPC, also can provide reliability.
 
For example, the Transmission Control Protocol (TCP) is a connection-oriented protocol that addresses numerous reliability issues to provide a [[reliable byte stream]]:
* data arrives in-order
* data has minimal error (i.e. correctness)
Line 83:
* includes traffic congestion control
 
The newer [[Stream Control Transmission Protocol]] (SCTP) is also a reliable, connection-oriented transport mechanism. It is [[Message-stream-oriented]] — not [[byte-stream-oriented]] like TCP — and provides multiple streams multiplexed over a single connection. It also provides [[multi-homed|multi-homing]] support, in which a connection end can be represented by multiple [[IP address]]esaddresses (representing multiple physical interfaces), such that if one fails, the connection is not interrupted. It was developed initially for telephony applications (to transport [[Signaling System 7|SS7]] over [[Internet Protocol|IP]]), but can also be used for other applications.
 
User Datagram Protocol is a connectionless [[datagram]] protocol. Like IP, it is a best effort, "unreliable" protocol. Reliability is addressed through [[error detection]] using a weak [[checksum]] algorithm. UDP is typically used for applications such as streaming media (audio, video, [[Voice over IP]] etc.) where on-time arrival is more important than reliability, or for simple query/response applications like [[Domain Name System|DNS]] lookups, where the overhead of setting up a reliable connection is disproportionately large. [[Real-time Transport Protocol]] (RTP) is a datagram protocol that is designed for real-time data such as [[streaming media|streaming audio and video]].
 
TCP and UDP are used to carry an assortment of higher-level applications. The appropriate transport protocol is chosen based on the higher-layer protocol application. For example, the [[File Transfer Protocol]] expects a reliable connection, but the [[Network File System (protocol)|Network File System]] (NFS) assumes that the subordinate [[Remote Procedure Call]] protocol, not transport, will guarantee reliable transfer. Other applications, such as VoIP, can tolerate some loss of packets, but not the reordering or delay that could be caused by retransmission.
 
The applications at any given network address are distinguished by their TCP or UDP [[TCP and UDP port|port]]. By convention certain ''well known ports'' are associated with specific applications. (''See [[List of TCP and UDP port numbers]].'')
 
===Application layer===