The Full Wiki

Transmission Control Protocol: Wikis

  

Encyclopedia

From Wikipedia, the free encyclopedia

.The Transmission Control Protocol (TCP) is one of the core protocols of the Internet Protocol Suite.^ Results found for: transmission control protocol .
  • TechOnline | TechOnline - Encyclopedia 14 January 2010 16:39 UTC www.techonline.com [Source type: FILTERED WITH BAYES]
  • EETimes Encyclopedia 14 January 2010 16:39 UTC www.eetimes.com [Source type: News]

^ TCP-IP - The basic protocols controlling applications on the Intn the Internet it stands for "transmission control protocol/Internet protocol" .
  • MyIpnote - Dynamic IP Notification Software. Network Management and Enterprise Systems web-based online ip monitor. - LAN/WAN Terms Glossary 14 January 2010 16:39 UTC www.myipnote.com [Source type: Reference]

^ It is also referred to as the TCP/IP protocol suite and the Internet protocol suite .
  • TCP/IP: the Internet protocol suite 14 January 2010 16:39 UTC www.linfo.org [Source type: Reference]

.TCP is one of the two original components of the suite (the other being Internet Protocol, or IP), so the entire suite is commonly referred to as TCP/IP.^ It is also referred to as the TCP/IP protocol suite and the Internet protocol suite .
  • TCP/IP: the Internet protocol suite 14 January 2010 16:39 UTC www.linfo.org [Source type: Reference]

^ TCP/IP takes its name from its two main protocols: transmission control protocol (TCP) and Internet protocol (IP).
  • TCP/IP: the Internet protocol suite 14 January 2010 16:39 UTC www.linfo.org [Source type: Reference]

^ TCP/IP is the most commonly used pair of protocols worldwide.
  • Computer networks | Knowledge of IP networks is necessary for operators in today�s broadcast facilities 14 January 2010 16:39 UTC broadcastengineering.com [Source type: General]

.Whereas IP handles lower-level transmissions from computer to computer as a message makes its way across the Internet, TCP operates at a higher level, concerned only with the two end systems, for example a Web browser and a Web server.^ The concept of two operating systems installed on a single computer system.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

^ TCP/IP takes its name from its two main protocols: transmission control protocol (TCP) and Internet protocol (IP).
  • TCP/IP: the Internet protocol suite 14 January 2010 16:39 UTC www.linfo.org [Source type: Reference]

^ UDP also operates in this way, which makes it advantageous for message-oriented protocols.
  • Better networking with SCTP 14 January 2010 16:39 UTC www-128.ibm.com [Source type: FILTERED WITH BAYES]

.In particular, TCP provides reliable, ordered delivery of a stream of bytes from a program on one computer to another program on another computer.^ TCP transmits a continuous stream of bytes.
  • Airhook 14 January 2010 16:39 UTC airhook.ofb.net [Source type: FILTERED WITH BAYES]

^ TCP views data as an unstructured, but ordered, stream of bytes.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ TCP provides reliable stream delivery of data between Internet hosts.

.Besides the Web, other common applications of TCP include e-mail and file transfer.^ This layer provides application services for file transfers, e-mail , and other network software services.

^ Besides the Web, other common applications of TCP include e-mail and file transfer .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ At the other end (the client program in your computer), TCP reassembles the individual packets and waits until they have arrived to forward them to you as a single file.
  • What is TCP? - Definition from Whatis.com - see also: Transmission Control Protocol 14 January 2010 16:39 UTC searchnetworking.techtarget.com [Source type: FILTERED WITH BAYES]
  • TCP (Transmission Control Protocol) - International Military Forums 14 January 2010 16:39 UTC www.military-quotes.com [Source type: Reference]

.Among its other management tasks, TCP controls segment size, flow control, the rate at which data is exchanged, and network traffic congestion.^ Among its management tasks, TCP controls message size, the rate at which messages are exchanged, and network traffic congestion.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Network management VoIP Other Technologies .
  • Watson transmission control protocol Content at ZDNet UK 14 January 2010 16:39 UTC www.zdnet.co.uk [Source type: General]

^ Flow and Congestion Control follow TCP algorithms.
  • IPS7.net 14 January 2010 16:39 UTC www.sctp.org [Source type: Reference]

The Internet Protocol Suite
Application Layer
BGP · DHCP · DNS · FTP · GTP · HTTP · IMAP · IRC · Megaco · MGCP · NNTP · NTP · POP · RIP · RPC · RTP · RTSP · SDP · SIP · SMTP · SNMP · SOAP · SSH · Telnet · TLS/SSL · XMPP · (more)
Transport Layer
TCP · UDP · DCCP · SCTP · RSVP · ECN · OSPF · (more)
Internet Layer
IP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec · (more)
Link Layer
ARP/InARP · NDP · Tunnels (L2TP) · PPP · Media Access Control (Ethernet, DSL, ISDN, FDDI) · (more)

Contents

Historical origin

.In May, 1974, the Institute of Electrical and Electronic Engineers (IEEE) published a paper entitled "A Protocol for Packet Network Interconnection."[1] The paper's authors, Vint Cerf and Bob Kahn, described an internetworking protocol for sharing resources using packet-switching among the nodes.^ The paper's authors, Vint Cerf and Bob Kahn , described an internetworking protocol for sharing resources using packet-switching among the nodes.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ In 1974, Vint Cerf and Bob Kahn published a paper defining a Transmission Control Protocol for connecting dissimilar networks.
  • Internet history 14 January 2010 16:39 UTC som1.csudh.edu [Source type: FILTERED WITH BAYES]

^ The Internet Protocol is designed for the interconnection of networks.
  • Inside the UK's Security Assessment of the Transmission Control Protocol report :: SearchNetworking.com.au 14 January 2010 16:39 UTC searchnetworking.techtarget.com.au [Source type: Reference]

.A central control component of this model was the Transmission Control Program that incorporated both connection-oriented links and datagram services between hosts.^ Transmission Control Protocol ( TCP ) The Transmission Control Protocol ( TCP ) is a connection-oriented reliable protocol.
  • Transmission Control Protocol (TCP) – Web Listings 14 January 2010 16:39 UTC www.business.com [Source type: Academic]

^ A central control component of this model was the Transmission Control Program that incorporated both connection-oriented links and datagram services between hosts.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ It provides handling for both timeouts and retransmissions, flow control, acknowledgements, and it distinguishes data form multiple concurrent applications running on the same host.
  • SpeedGuide.net :: TCP Structure - Transmission Control Protocol 14 January 2010 16:39 UTC www.speedguide.net [Source type: Reference]

.The monolithic Transmission Control Program was later divided into a modular architecture consisting of the Transmission Control Protocol at the connection-oriented layer and the Internet Protocol at the internetworking (datagram) layer.^ The Transmission Control Protocol (TCP) is one of the core Internet transport layer protocols.
  • SpeedGuide.net :: TCP Structure - Transmission Control Protocol 14 January 2010 16:39 UTC www.speedguide.net [Source type: Reference]

^ Transmission Control Protocol ( TCP ) The Transmission Control Protocol ( TCP ) is a connection-oriented reliable protocol.
  • Transmission Control Protocol (TCP) – Web Listings 14 January 2010 16:39 UTC www.business.com [Source type: Academic]

^ Rfc0793: Transmission control protocol .
  • Citations: RFC793: Transmission Control Protocol - Jon (ResearchIndex) 14 January 2010 16:39 UTC citeseer.ist.psu.edu [Source type: Academic]

.The model became known informally as TCP/IP, although formally it was henceforth called the Internet Protocol Suite.^ TCP is a subset of the Internet protocol suite , which is often called TCP/IP, although the acronym TCP/IP refers to only two of the many protocols in the Internet protocol suite.
  • TCP (Transmission Control Protocol) (Linktionary term) 14 January 2010 16:39 UTC www.linktionary.com [Source type: Reference]

^ TCP is part of the TCP/IP protocol stack.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ The model became known informally as TCP/IP , although formally it was henceforth called the Internet Protocol Suite .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

Network function

.TCP provides a communication service at an intermediate level between an application program and the Internet Protocol (IP).^ TCP-IP - The basic protocols controlling applications on the Intn the Internet it stands for "transmission control protocol/Internet protocol" .
  • MyIpnote - Dynamic IP Notification Software. Network Management and Enterprise Systems web-based online ip monitor. - LAN/WAN Terms Glossary 14 January 2010 16:39 UTC www.myipnote.com [Source type: Reference]

^ Both protocols deliver data between the Application layer and the Internet layer.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ TCP is part of the TCP/IP protocol stack.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

.That is, when an application program desires to send a large chunk of data across the Internet using IP, instead of breaking the data into IP-sized pieces and issuing a series of IP requests, the software can issue a single request to TCP and let TCP handle the IP details.^ A protocol used to send data over a network.
  • Linksys | Learning Center | Glossary 14 January 2010 16:39 UTC www.linksysbycisco.com [Source type: Reference]

^ TCP is a protocol, not a piece of software!
  • Lesson 15: Transmission Control Protocol (Part I) 14 January 2010 16:39 UTC www.cis.njit.edu [Source type: Reference]

^ TCP/IP Protocols details > .
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.IP works by exchanging pieces of information called packets.^ IP works by exchanging pieces of information called packets .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ A TSN is attached to each unit of information within an SCTP packet (also called a chunk ) containing user data to permit the receiving SCTP endpoint to acknowledge its receipt.
  • Transmission Sequence Number - Webopedia.com 14 January 2010 16:39 UTC systems.webopedia.com [Source type: Academic]

^ From the above figure, what IP considers to be data field is in fact just another piece of formatted information including both UDP header and user protocol data.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.A packet is a sequence of bytes and consists of a header followed by a body.^ A packet is a sequence of bytes and consists of a header followed by a body .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The trace data consists of the TCP headers and IP source and destination addresses of the last few packets sent in each direction before RST occurred.
  • tcp(7P) – InternetTransmission Control Protocol (man pages section 7: Device and Network Interfaces) - Sun Microsystems 14 January 2010 16:39 UTC docs.sun.com [Source type: Reference]

^ TCP also uses sequence numbers in the TCP header so that IP packets can be reassembled in the correct order on the receiving end of the communication.
  • The Transmission Control Protocol (TCP) - Internet and Web 2.0 Tech 14 January 2010 16:39 UTC web2.blogtells.com [Source type: Reference]

.The header describes the packet's destination and, optionally, the routers to use for forwarding until it arrives at its final destination.^ These network numbers are used by routers to forward packets to their final destination segment.

^ The header describes the packet's destination and, optionally, the routers to use for forwarding—generally in the right direction—until it arrives at its final destination.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ At the other end (the client program in your computer), TCP reassembles the individual packets and waits until they have arrived to forward them to you as a single file.
  • What is TCP? - Definition from Whatis.com - see also: Transmission Control Protocol 14 January 2010 16:39 UTC searchnetworking.techtarget.com [Source type: FILTERED WITH BAYES]

.The body contains the data which IP is transmitting.^ The body contains the data which IP is transmitting.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The Push flag indicates that we're done transmitting; the destination IP stack should send the data to the receiving application without attempting to buffer any more of the communication.
  • Daryl's TCP/IP Primer 14 January 2010 16:39 UTC www.ipprimer.com [Source type: Reference]

^ The MIME protocol lets SMTP transmit multimedia files including voice, audio, and binary data across TCP/IP networks.
  • TCP/IP Protocols 14 January 2010 16:39 UTC cn.w3schools.com [Source type: Reference]

.Due to network congestion, traffic load balancing, or other unpredictable network behavior, IP packets can be lost, duplicated, or delivered out of order.^ In packet switched networks, it is possible for packets to be delivered out of order.
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

^ These networks peer with each other to exchange packet traffic.
  • How Does the Internet Work? 14 January 2010 16:39 UTC www.theshulers.com [Source type: General]

^ Although each packet has the same destination IP address, it may get routed differently through the network.
  • What is TCP? - Definition from Whatis.com - see also: Transmission Control Protocol 14 January 2010 16:39 UTC searchnetworking.techtarget.com [Source type: FILTERED WITH BAYES]

.TCP detects these problems, requests retransmission of lost packets, rearranges out-of-order packets, and even helps minimize network congestion to reduce the occurrence of the other problems.^ In packet switched networks, it is possible for packets to be delivered out of order.
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

^ If necessary, TCP will request that a packet be resent.
  • What is a protocol? — Academic Computing 14 January 2010 16:39 UTC www.acs.uwosh.edu [Source type: Reference]

^ Whereas most of the header information we looked at in the IP header was used for routing the packet through the Internet, the information in the TCP header is concerned with other issues, such as reliability of the connection and ordering of the messages being sent.
  • The Transmission Control Protocol (TCP) - Internet and Web 2.0 Tech 14 January 2010 16:39 UTC web2.blogtells.com [Source type: Reference]

.Once the TCP receiver has finally reassembled a perfect copy of the data originally transmitted, it passes that datagram to the application program.^ TCP supports data fragmentation and reassemble.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ The Push flag indicates that we're done transmitting; the destination IP stack should send the data to the receiving application without attempting to buffer any more of the communication.
  • Daryl's TCP/IP Primer 14 January 2010 16:39 UTC www.ipprimer.com [Source type: Reference]

^ It is possible for packets to be duplicated in packet switched network; therefore TCP keeps track of bytes received in order to discard duplicate copies of data that has already been received.
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

.Thus, TCP abstracts the application's communication from the underlying networking details.^ TCP is not used for all application-network communications.
  • Inside the UK's Security Assessment of the Transmission Control Protocol report :: SearchNetworking.com.au 14 January 2010 16:39 UTC searchnetworking.techtarget.com.au [Source type: Reference]

^ An end-to-end connection actually extends up through the TCP layer to the application that is using the network services.
  • TCP (Transmission Control Protocol) (Linktionary term) 14 January 2010 16:39 UTC www.linktionary.com [Source type: Reference]

^ When we're talking about the behaviour of applications that communicate over the network, we're talking about the role of TCP. It's TCP that the applications talk to, in the form of a “stack” running as a driver or process on the end device (a PC, laptop, or any other Internet-capable device).
  • Inside the UK's Security Assessment of the Transmission Control Protocol report :: SearchNetworking.com.au 14 January 2010 16:39 UTC searchnetworking.techtarget.com.au [Source type: Reference]

.TCP is used extensively by many of the Internet's most popular applications, including the World Wide Web (WWW), E-mail, File Transfer Protocol, Secure Shell, peer-to-peer file sharing, and some streaming media applications.^ E-mail uses an application level protocol called Simple Mail Transfer Protocol or SMTP .
  • How Does the Internet Work? 14 January 2010 16:39 UTC www.theshulers.com [Source type: General]

^ TCP/IP is the most commonly used pair of protocols worldwide.
  • Computer networks | Knowledge of IP networks is necessary for operators in today�s broadcast facilities 14 January 2010 16:39 UTC broadcastengineering.com [Source type: General]

^ The protocol used to transfer information from Web servers to web browsers.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

.TCP is optimized for accurate delivery rather than timely delivery, and therefore, TCP sometimes incurs relatively long delays (in the order of seconds) while waiting for out-of-order messages or retransmissions of lost messages.^ In the event of a failure, Retransmission TimeOut (RTO), also called Fast Retransmit, provides if the TCP Receiver receives a packet out-of-order to respond to the Sender with a duplicate ACKnowledgement.
  • Increased SIP Performance with Stream Control Transmission Protocol - New Topic Integrated Into Online/Onsite SIP/OCS Courses 14 January 2010 16:39 UTC www.astricon.net [Source type: General]

^ TCP is the means for creating the packets, putting them back together in the correct order at the end, and checking to make sure that no packets got lost in transmission.
  • What is a protocol? — Academic Computing 14 January 2010 16:39 UTC www.acs.uwosh.edu [Source type: Reference]

^ Nevertheless, network control centres are not out of business yet; Jacobson's TCP does not attempt to balance traffic across different parts of a network, nor to provide the speedy delivery that real-time voice and video need.
  • Internet growth requires new transmission protocol - CERN Courier 14 January 2010 16:39 UTC cerncourier.com [Source type: FILTERED WITH BAYES]

.It is not particularly suitable for real-time applications such as Voice over IP.^ Industrial Ethernet applications in real time .
  • Research results: Protocols for Industrial Ethernet - 2008-05-01 06:00:00 | Control Engineering 14 January 2010 16:39 UTC www.controleng.com [Source type: FILTERED WITH BAYES]

^ TFRC is not a new protocol, but a TCP implementation technique that would be appropriate for systems using mechanisms such as the Real Time Transport Protocol [7] , applications that manage congestion at the application level, or in the endpoint-wide congestion control features of endpoints with a common congestion control policy.
  • Transmission Control Protocol - encyclopedia article - Citizendium 14 January 2010 16:39 UTC en.citizendium.org [Source type: FILTERED WITH BAYES]

^ So UDP was created to provide an application interface to the network for real-time applications that don't need TCP's extra services.
  • TCP (Transmission Control Protocol) (Linktionary term) 14 January 2010 16:39 UTC www.linktionary.com [Source type: Reference]

.For such applications, protocols like the Real-time Transport Protocol (RTP) running over the User Datagram Protocol (UDP) are usually recommended instead.^ See also: socket , User Datagram Protocol (UDP) .
  • Software Carpentry:Glossary (Version 1121) 14 January 2010 16:39 UTC swc.scipy.org [Source type: Reference]

^ Secure Real-time Transport Protocol .
  • CSR Acronym Definitions S-Z 14 January 2010 16:39 UTC www.csrstds.com [Source type: Reference]

^ Industrial Ethernet applications in real time .
  • Research results: Protocols for Industrial Ethernet - 2008-05-01 06:00:00 | Control Engineering 14 January 2010 16:39 UTC www.controleng.com [Source type: FILTERED WITH BAYES]

[2]
.TCP is a reliable stream delivery service that guarantees delivery of a data stream sent from one host to another without duplication or losing data.^ Reliable Communication A stream of data sent on a TCP connection is delivered reliably and in order at the destination.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ TCP is a connection-oriented, reliable, byte stream service .
  • How Does the Internet Work? 14 January 2010 16:39 UTC www.theshulers.com [Source type: General]

^ See " Reliable Data Delivery Services " for a general overview of reliable services.
  • TCP (Transmission Control Protocol) (Linktionary term) 14 January 2010 16:39 UTC www.linktionary.com [Source type: Reference]

.Since packet transfer is not reliable, a technique known as positive acknowledgment with retransmission is used to guarantee reliability of packet transfers.^ Sending positive acknowledgments ( ACKs ) with retransmission is a fundamental technique used to provide reliable transfer.
  • Lesson 15: Transmission Control Protocol (Part I) 14 January 2010 16:39 UTC www.cis.njit.edu [Source type: Reference]

^ Since packet transfer is not reliable, a technique known as positive acknowledgment with retransmission is used to guarantee reliability of packet transfers.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ USPTO Application #: 20060002301 Title: Transferring transmission control protocol packets Abstract: Transmitting Transmission Control Protocol (TCP) packets includes transmitting packets over a network path from a source to a destination using TCP in which receipt of at least some of the packets from the source at a destination is acknowledged by the destination to the source, the transmitting including a retransmission of the packets within a subpath of the network path, and managing acknowledgments of the retransmission of the packets within the subpath by a mechanism that is independent of the acknowledging by the source to the destination with respect to the transmitting of the packets over the network path.
  • Transferring transmission control protocol packets invention 14 January 2010 16:39 UTC www.freshpatents.com [Source type: Reference]

.This fundamental technique requires the receiver to respond with an acknowledgment message as it receives the data.^ This fundamental technique requires the receiver to respond with an acknowledgment message as it receives the data.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Two protocols make up this layer: TCP provides connection-oriented, reliable communications for applications that transfer large amounts of data at one time or that requires an acknowledgement of data received.
  • TCP/IP � Transmission Control Protocol / Internet Protocol 14 January 2010 16:39 UTC www.sanug.org [Source type: Reference]

^ In the event of a failure, Retransmission TimeOut (RTO), also called Fast Retransmit, provides if the TCP Receiver receives a packet out-of-order to respond to the Sender with a duplicate ACKnowledgement.
  • Increased SIP Performance with Stream Control Transmission Protocol - New Topic Integrated Into Online/Onsite SIP/OCS Courses 14 January 2010 16:39 UTC www.astricon.net [Source type: General]

.The sender keeps a record of each packet it sends, and waits for acknowledgment before sending the next packet.^ The sender keeps a record of each packet it sends, and waits for acknowledgment before sending the next packet.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The calculated smooth round trip (SRT) time which is automatically calculated based on the average round trip time from the last few send and acknowledgement packet timestamps.
  • Transmission Control Protocol (TCP) Configuration 14 January 2010 16:39 UTC docs.hp.com [Source type: Reference]

^ It tries to keep the pipe properly utilized by adjusting the sending rate based on the acknowledgments received by the sender.
  • Citations: RFC793: Transmission Control Protocol - Jon (ResearchIndex) 14 January 2010 16:39 UTC citeseer.ist.psu.edu [Source type: Academic]

.The sender also keeps a timer from when the packet was sent, and retransmits a packet if the timer expires.^ The sender also keeps a timer from when the packet was sent, and retransmits a packet if the timer expires.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ If the timer expires before receiving an acknowledgement, the sender can retransmit the segment.
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

^ Fast Retransmit is designed to improve recovery by avoiding Slow Start, keep "pipes" (bandwidth) in maximum use, and recover from packet losses as fast as possible.
  • Increased SIP Performance with Stream Control Transmission Protocol - New Topic Integrated Into Online/Onsite SIP/OCS Courses 14 January 2010 16:39 UTC www.astricon.net [Source type: General]

.The timer is needed in case a packet gets lost or corrupted.^ The timer is needed in case a packet becomes lost or corrupt.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ If packets are getting lost, due to, say, congestion, SCTP will use different interfaces to try to avoid the losses, and this could result in faster throughput.
  • Introduction to Stream Control Transmission Protocol | Linux Journal 14 January 2010 16:39 UTC m.linuxjournal.com [Source type: FILTERED WITH BAYES]

^ Although the segment from A is received at B, the acknowledgment from B to A gets lost.  In this case, the timer expires, and  host A retransmits the same segment.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

[2]
.TCP consists of a set of rules: for the protocol, that are used with the Internet Protocol, and for the IP, to send data "in a form of message units" between computers over the Internet.^ Both protocols deliver data between the Application layer and the Internet layer.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ TCP is part of the TCP/IP protocol stack.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ TCP/IP protocol stack consist of layers.

.At the same time that IP takes care of handling the actual delivery of the data, TCP takes care of keeping track of the individual units of data transmission, called segments, that a message is divided into for efficient routing through the network.^ ICMP takes care of error-handling in the network.
  • TCP/IP Protocols 14 January 2010 16:39 UTC cn.w3schools.com [Source type: Reference]

^ TCP handles packet flow between systems and IP handles the routing of packets.
  • Introduction to TCP/IP Networking 14 January 2010 16:39 UTC www.gl.umbc.edu [Source type: Reference]

^ GPRS real time data transmission .
  • GPRS real time data transmission 14 January 2010 16:39 UTC www.control.com [Source type: FILTERED WITH BAYES]

.For example, when an HTML file is sent from a Web server, the TCP software layer of that server divides the sequence of bytes of the file into segments and forwards them individually to the IP software layer (Internet Layer).^ The information is forwarded with the segment to IP to protect TCP from miss-routed segments.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ Header Format TCP segments are sent as internet datagrams.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Figure 3.5-3: Dividing  file data into TCP segments.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.The Internet Layer encapsulates each TCP segment into an IP packet by adding a header which includes (among other data) the destination IP address.^ A portion of the data of an internet datagram with an internet header.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ At this layer, data packets are encoded and decoded into bits .

^ Internet Protocol ( IP ) The protocol used to route a data packet from its source to its destination via the Internet.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

.Even though every packet has the same destination address, they can be routed on different paths through the network.^ Even though every packet has the same destination IP address, they can get routed differently through the network.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The destination address is, of course, used to route packets.
  • Citations: RFC793: Transmission Control Protocol - Jon (ResearchIndex) 14 January 2010 16:39 UTC citeseer.ist.psu.edu [Source type: Academic]

^ TCP/IP routing A route defines a path for sending packets through the Internet network to an address on another network.
  • Transmission Control Protocol/Internet Protocol 14 January 2010 16:39 UTC publib.boulder.ibm.com [Source type: Reference]

.When the client program on the destination computer receives them, the TCP layer (Transport Layer) reassembles the individual segments and ensures they are correctly ordered and error free as it streams them to an application.^ TCP receives a stream of data from the upper-layer process.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ It is TCP's job to properly sequence segments it receives so it can deliver the byte stream data to an application in order.
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

^ The destination TCP entity passes the stream to the destination application in the same sequence.
  • Transmission Control Protocol - Hill2dot0 14 January 2010 16:39 UTC www.hill2dot0.com [Source type: Reference]

TCP segment structure

.A TCP segment consists of a segment header and a data section.^ A TCP segment consists of two sections: .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The TCP length field is the length of the TCP header and data.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ A TCP segment consists of two sections: header data The TCP header consists of 11 fields, of which only 10 are required.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.The TCP header contains 10 mandatory fields, and an optional extension field (Options, pink background in table).^ The TCP header consists of 11 fields, of which only 10 are required.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The TCP length field is the length of the TCP header and data.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The header fields for TCP include these: .
  • The Transmission Control Protocol (TCP) - Internet and Web 2.0 Tech 14 January 2010 16:39 UTC web2.blogtells.com [Source type: Reference]

.The data section follows the header.^ In this section, we'll be using SOCK_RAW , which includes the IP headers (and all subsequent protocol headers of the upper layer as needed) and data.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ A TCP segment consists of two sections: header data The TCP header consists of 11 fields, of which only 10 are required.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Numbering of octets within a segment is that the first data octet immediately following the header is the lowest numbered, and the following octets are numbered consecutively.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.Its contents are the payload data carried for the application.^ Contributing sources are added by mixers, and are only relevant for conferencing application where elements of the data payload have originated from different computers.
  • Voice over IP Protocols for voice transmission 14 January 2010 16:39 UTC www.erlang.com [Source type: Reference]

^ When IP is transmitting data on behalf of TCP, the content of the IP packet body is TCP payload.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ SCTP's virtual streams and the protocol payload identifier let you reduce application complexity and simplify application layer protocols by making it easy to identify data types.
  • Dr. Dobb's |

    Stream-Control Transmission Protocol

    | September 1, 2004
    14 January 2010 16:39 UTC www.ddj.com [Source type: Reference]

TCP Header
Bit offset  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 Source port Destination port
32 Sequence number
64 Acknowledgment number
96 Data offset Reserved C
W
R
E
C
E
U
R
G
A
C
K
P
S
H
R
S
T
S
Y
N
F
I
N
Window Size
128 Checksum Urgent pointer
160
...
.Options (if Data Offset > 5)
...
^ The list of options may be shorter than that designated by the data offset field because the contents of the header beyond the End-of-Option option must be header padding i.e., zero.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ Note that the list of options may be shorter than the data offset field might imply.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

  • Source port (16 bits) – identifies the sending port
  • Destination port (16 bits) – identifies the receiving port
  • Sequence number (32 bits) – has a dual role:
    .
  • If the SYN flag is set, then this is the initial sequence number.^ In line 2 of figure 9, TCP A begins by sending a SYN segment indicating that it will use sequence numbers starting with sequence number 100.
    • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

    ^ Urgent pointer - 16 bits, unsigned If the URG bit is set, this field is an offset, pointing to the sequence number of the last byte in a sequence of urgent data.
    • SpeedGuide.net :: TCP Structure - Transmission Control Protocol 14 January 2010 16:39 UTC www.speedguide.net [Source type: Reference]

    ^ To help make the sender aware of this event, the receiver immediately sends an ACK with the acknowledgment number set to the sequence number that it was expecting.

    The sequence number of the actual first data byte (and the acknowledged number in the corresponding ACK) will then be this sequence number plus 1.
  • If the SYN flag is clear, then this is the accumulated sequence number of the first data byte of this packet for the current session.
.
  • Acknowledgment number (32 bits) – if the ACK flag is set then the value of this field is the next sequence number that the receiver is expecting.^ To help make the sender aware of this event, the receiver immediately sends an ACK with the acknowledgment number set to the sequence number that it was expecting.

    ^ That number is calculated by incrementing the value in the Sequence Number field.
    • TCP (Transmission Control Protocol) (Linktionary term) 14 January 2010 16:39 UTC www.linktionary.com [Source type: Reference]

    ^ The Acknowledgment is a 32-bit field in TCP segment header.
    • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
    • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

    .This acknowledges receipt of all prior bytes (if any).^ This acknowledgment indicates to the source that the destination has received all bytes up to and including the acknowledgment number minus one.
    • Transferring transmission control protocol packets - Patent 6934257 14 January 2010 16:39 UTC www.freepatentsonline.com [Source type: Reference]

    ^ The format of these transmissions is: PC Interface 2 bytes Header:Code 1 byte checksum 1 byte Acknowledge 1 byte interface ready to receive This format is typical of all transmissions between the PC and the interface with the difference being in the first transmission from the PC. 3.1.1.
    • Linux Home Automation - CM11A Communication Protocol File 14 January 2010 16:39 UTC www.linuxha.com [Source type: Reference]

    .The first ACK sent by each end acknowledges the other end's initial sequence number itself, but no data.
  • Data offset (4 bits) – specifies the size of the TCP header in 32-bit words.^ Sequence Numbers TCP uses a 32-bit sequence number that counts bytes in the data stream.
    • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

    ^ Data Offset: 4 bits The number of 32 bit words in the TCP Header.
    • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
    • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

    ^ Each side must also receive the other side's initial sequence number and send a confirming acknowledgment.
    • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

    .The minimum size header is 5 words and the maximum is 15 words thus giving the minimum size of 20 bytes and maximum of 60 bytes, allowing for up to 40 bytes of options in the header.^ The minimum size header is 5 words and the maximum is 15 words thus giving the minimum size of 20 bytes and maximum of 60 bytes.
    • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
    • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

    ^ Without options, a TCP header is always 20 bytes in length.
    • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

    ^ The size of the header without options is 20 bytes.
    • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

    This field gets its name from the fact that it is also the offset from the start of the TCP segment to the actual data.
  • Reserved (4 bits) – for future use and should be set to zero
  • Flags (8 bits) (aka Control bits) – contains 8 1-bit flags
  • CWR (1 bit) – Congestion Window Reduced (CWR) flag is set by the sending host to indicate that it received a TCP segment with the ECE flag set and had responded in congestion control mechanism (added to header by RFC 3168).
  • ECE (1 bit) – ECN-Echo indicates
  • If the SYN flag is set, that the TCP peer is ECN capable.
  • If the SYN flag is clear, that a packet with Congestion Experienced flag in IP header set is received during normal transmission(added to header by RFC 3168).
.
  • URG (1 bit) – indicates that the Urgent pointer field is significant
  • ACK (1 bit) – indicates that the Acknowledgment field is significant.^ Urgent Pointer (16 bits) .
    • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

    ^ URG - When set, the Urgent Pointer field is significant.
    • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

    ^ Urgent Pointer 16 bits.
    • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

    .All packets after the initial SYN packet sent by the client should have this flag set.
  • PSH (1 bit) – Push function.^ PSH - Initiates a push function.
    • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

    ^ This field should only be sent in the initial connection request (i.e., in segments with the SYN control bit set).
    • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

    ^ The initiating host (client) sends a synchronization packet (SYN flag set to 1) to initiate a connection.
    • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

    .Asks to push the buffered data to the receiving application.
  • RST (1 bit) – Reset the connection
  • SYN (1 bit) – Synchronize sequence numbers.^ SYN - Synchronizes sequencing counters for the connection.
    • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

    ^ The connection becomes "established" when sequence numbers have been synchronized in both directions.
    • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
    • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

    ^ A reset is valid if its sequence number is in the window.
    • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
    • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

    .Only the first packet sent from each end should have this flag set.^ The client who needs to terminate the connection sends a FIN segment to the server that is a TCP Packet with the FIN flag set, indicating that it has finished sending the data.
    • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

    ^ If the data size of the packet is zero and reset flag is not set, then the second gateway 116 still discards 730 the TCP packet.
    • Transferring transmission control protocol packets - Patent 6934257 14 January 2010 16:39 UTC www.freepatentsonline.com [Source type: Reference]

    ^ The URGENT flag will be set only if the receiving user has previously been informed via a TCP-to-user signal, that urgent data is waiting.
    • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

    Some other flags change meaning based on this flag, and some are only valid for when it is set, and others when it is clear.
  • FIN (1 bit) – No more data from sender
.
  • Window (16 bits) – the size of the receive window, which specifies the number of bytes (beyond the sequence number in the acknowledgment field) that the receiver is currently willing to receive (see Flow control)
  • Checksum (16 bits) – The 16-bit checksum field is used for error-checking of the header and data
  • Urgent pointer (16 bits) – if the URG flag is set, then this 16-bit field is an offset from the sequence number indicating the last urgent data byte
  • Options (Variable 0-320 bits, divisible by 32) – The length of this field is determined by the data offset field.^ TCP provides flow control and error control through the use of a receiving window.
    • Dr. Dobb's |

      Stream-Control Transmission Protocol

      | September 1, 2004
      14 January 2010 16:39 UTC www.ddj.com [Source type: Reference]

    ^ Urgent Pointer: 16 bits This field communicates the current value of the urgent pointer as a positive offset from the sequence number in this segment.
    • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

    ^ All TCP segments carry a checksum, which is used by the receiver to detect errors with either the TCP header or data.
    • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

    .Options 0 and 1 are a single byte (8 bits) in length.^ (Typically, the options field is empty, so that the length of the typical TCP header is 20 bytes.
    • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

    ^ Depending on the option(s) used, the length of this field will vary in size, but it cannot be larger than 40 bytes due to the size of the header length field (4 bits).
    • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

    ^ Without options, a TCP header is always 20 bytes in length.
    • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

    .The remaining options indicate the total length of the option (expressed in bytes) in the second byte.^ The total length of a chunk MUST be a multiple of 4 bytes.
    • Protocol: SCTP ( Stream Control Transmission Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

    ^ As mentioned previously, the macro is divided into functional groups, and each group has a byte indicating the length of the group before the macro is defined.
    • Linux Home Automation - CM11A Communication Protocol File 14 January 2010 16:39 UTC www.linuxha.com [Source type: Reference]

    ^ (Typically, the options field is empty, so that the length of the typical TCP header is 20 bytes.
    • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

    [3] Some options may only be sent when SYN is set; they are indicated below as [SYN].
    .
  • 0 (8 bits) - End of options list
  • 1 (8 bits) - No operation (NOP, Padding) This may be used to align option fields on 32-bit boundaries for better performance.
  • 2,4,SS (32 bits) - Maximum segment size (see maximum segment size) [SYN]
  • 3,3,S (24 bits) - Window scale (see window scaling for details) [SYN][4]
  • 4,2 (16 bits) - Selective Acknowledgement permitted.^ An option may begin on any octet boundary.
    • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
    • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

    ^ Window scaling can be used for window sizes up to 1 GB. .

    ^ Maximum segment size .
    • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
    • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

    .[SYN] (See selective acknowledgments for details)[5]
  • 5,N,BBBB,EEEE,... (variable bits, N is either 10, 18, 26, or 34)- Selective ACKnowlegement (SACK)[6] These first two bytes are followed by a list of 1-4 blocks being selectively acknowledged, specified as 32-bit begin/end pointers.
  • 8,10,TTTT,EEEE (80 bits)- Timestamp and echo of previous timestamp (see TCP Timestamps for details)[7]
  • 14,3,S (24 bits) - TCP Alternate Checksum Request.^ The Acknowledgment is a 32-bit field in TCP segment header.
    • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
    • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

    ^ Acknowledgment Number 32 bits.
    • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

    ^ Acknowledgement number 32 bits) .
    • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

    [SYN][8]
  • 15,N,... (variable bits) - TCP Alternate Checksum Data.
(The remaining options are obsolete, experimental, not yet standardized, or unassigned)

Protocol operation

.
A Simplified TCP State Diagram.
^ A Simplified TCP State Diagram.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ In these two state transition diagrams, we have only shown how a TCP connection is normally established and shut down.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ TCP Connection State Diagram Figure 6.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

See TCP EFSM diagram for a more detailed state diagram including the states inside the ESTABLISHED state.
.TCP protocol operations may be divided into three phases.^ Specifically, TCP divides its operation into three phases: connection setup, data transfer, and connection takedown.
  • Reducing the complexities of the transmission control protocol for a high-speed networking environment - US5442637 14 January 2010 16:39 UTC www.patents.com [Source type: Reference]

^ TCP connections have three phases: .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ TCP defines a three phase communication protocol.
  • Transmission Control Protocol - Hill2dot0 14 January 2010 16:39 UTC www.hill2dot0.com [Source type: Reference]

.Connections must be properly established in a multi-step handshake process (connection establishment) before entering the data transfer phase.^ Besides transferring data, segments can also establish, maintain, or terminate a connection.
  • Transmission Control Protocol - Hill2dot0 14 January 2010 16:39 UTC www.hill2dot0.com [Source type: Reference]

^ After the completionof step 405, endpoint 100 enters the data transfer phase with endpoint 200.
  • Reducing the complexities of the transmission control protocol for a high-speed networking environment - US5442637 14 January 2010 16:39 UTC www.patents.com [Source type: Reference]

^ The normal state for the data transfer phase of the connection.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.After data transmission is completed, the connection termination closes established virtual circuits and releases all allocated resources.^ In order for a connection to be released, four segments are required to completely close a connection.
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

^ These are the connection establishment, data transfer and connection termination phases.
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

^ When their communication is complete, the connection is terminated or closed to free the resources for other uses.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.A TCP connection is managed by an operating system through a programming interface that represents the local end-point for communications, the Internet socket.^ TCP recovers from internet communication system errors.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Whereas IP handles lower-level transmissions from computer to computer as a message makes its way across the Internet, TCP operates at a higher level, concerned only with the two end systems, for example, a Web browser and a Web server.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ Why IT Must Sort Out App Mobilization Challenges Today's smartphones represent the cutting edge of the computing industry, incorporating innovations in form factors, user interfaces, applications and operating systems.
  • Comparison of Transmission Schemes for Framed ALOHA Based RFID Protocols - TechWeb Digital Library 14 January 2010 16:39 UTC www.informationweek.com [Source type: FILTERED WITH BAYES]

During the lifetime of a TCP connection it undergoes a series of state changes:
.
  1. LISTEN : In case of a server, waiting for a connection request from any remote client.
  2. SYN-SENT : waiting for the remote peer to send back a TCP segment with the SYN and ACK flags set.^ At this point, the server allocates the resource for the connection and acknowledges this by sending a COOKIE-ACK to the client.
    • Better networking with SCTP 14 January 2010 16:39 UTC www-128.ibm.com [Source type: FILTERED WITH BAYES]

    ^ The client who needs to terminate the connection sends a FIN segment to the server that is a TCP Packet with the FIN flag set, indicating that it has finished sending the data.
    • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

    ^ This causes TCP in the client to send a SYN segment to TCP in the server.
    • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

    .(usually set by TCP clients)
  3. SYN-RECEIVED : waiting for the remote peer to send back an acknowledgment after having sent back a connection acknowledgment to the remote peer.^ This causes TCP in the client to send a SYN segment to TCP in the server.
    • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

    ^ TCP clients) SYN-RECEIVED represents waiting for the remote TCP to send back an acknowledgment after having sent back a connection acknowledgment to the remote TCP. (usually set by TCP servers) ESTABLISHED represents that the port is ready to receive/send data from/to the remote TCP. (set by TCP clients and servers) TIME-WAIT represents waiting for enough time to pass to be sure the remote TCP received the acknowledgment of its connection termination request.
    • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

    ^ The sending TCP waits for the receiver to reply with an acknowledgement within a bounded length of time.
    • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

    .(usually set by TCP servers)
  4. ESTABLISHED : the port is ready to receive/send data from/to the remote peer.
  5. FIN-WAIT-1
  6. FIN-WAIT-2
  7. CLOSE-WAIT
  8. CLOSING
  9. LAST-ACK
  10. TIME-WAIT : represents waiting for enough time to pass to be sure the remote peer received the acknowledgment of its connection termination request.^ At this point, the server allocates the resource for the connection and acknowledges this by sending a COOKIE-ACK to the client.
    • Better networking with SCTP 14 January 2010 16:39 UTC www-128.ibm.com [Source type: FILTERED WITH BAYES]

    ^ FIN-WAIT-1 STATE FIN-WAIT-2 STATE TIME-WAIT STATE Return "error: connection closing" and do not service request.
    • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

    ^ The client who needs to terminate the connection sends a FIN segment to the server that is a TCP Packet with the FIN flag set, indicating that it has finished sending the data.
    • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

    According to RFC 793 a connection can stay in TIME-WAIT for a maximum of four minutes.
  11. CLOSED

Connection establishment

.To establish a connection, TCP uses a three-way handshake.^ The three-way handshake reduces the possibility of false connections.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Establishing a connection The "three-way handshake" is the procedure used to establish a connection.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Establishing a Connection The "three-way handshake" is the procedure used to establish a connection.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

.Before a client attempts to connect with a server, the server must first bind to a port to open it up for connections: this is called a passive open.^ Before a client attempts to connect with a server, the server must first bind to a port to open it up for connections: this is called a passive open.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ A client also creates a socket and then connects to a server.
  • Introduction to Stream Control Transmission Protocol | Linux Journal 14 January 2010 16:39 UTC m.linuxjournal.com [Source type: FILTERED WITH BAYES]

^ Before an HTTP request can be made by a client, a new connection must be made to the server.
  • How Does the Internet Work? 14 January 2010 16:39 UTC www.theshulers.com [Source type: General]

.Once the passive open is established, a client may initiate an active open.^ Once the passive open is established, a client may initiate an active open.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The IrMC Client may also initiate synchronisation automatically.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

^ The client then uses the discovered RFCOMM channel to establish the RFCOMM connection and then start an OBEX session by initiating the OBEX connection operation.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

To establish a connection, the three-way (or 3-step) handshake occurs:
.
  1. The active open is performed by the client sending a SYN to the server.^ This causes TCP in the client to send a SYN segment to TCP in the server.
    • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

    ^ When the client receives the SYN-ACK , it sends an ACK for the server's SYN .
    • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

    ^ To establish a connection, the three-way (or 3-step) handshake occurs: The active open is performed by the client sending a SYN to the server.
    • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

    .It sets the segment's sequence number to a random value A.
  2. In response, the server replies with a SYN-ACK. The acknowledgment number is set to one more than the received sequence number (A + 1), and the sequence number that the server chooses for the packet is another random number, B.
  3. Finally, the client sends an ACK back to the server.^ At this point, the server allocates the resource for the connection and acknowledges this by sending a COOKIE-ACK to the client.
    • Better networking with SCTP 14 January 2010 16:39 UTC www-128.ibm.com [Source type: FILTERED WITH BAYES]

    ^ To help make the sender aware of this event, the receiver immediately sends an ACK with the acknowledgment number set to the sequence number that it was expecting.

    ^ This causes TCP in the client to send a SYN segment to TCP in the server.
    • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

    The sequence number is set to the received acknowledgement value i.e. A + 1, and the acknowledgement number is set to one more than the received sequence number i.e. B + 1.
.At this point, both the client and server have received an acknowledgment of the connection.^ At this point, the server allocates the resource for the connection and acknowledges this by sending a COOKIE-ACK to the client.
  • Better networking with SCTP 14 January 2010 16:39 UTC www-128.ibm.com [Source type: FILTERED WITH BAYES]

^ A client also creates a socket and then connects to a server.
  • Introduction to Stream Control Transmission Protocol | Linux Journal 14 January 2010 16:39 UTC m.linuxjournal.com [Source type: FILTERED WITH BAYES]

^ At this point, both the client and server have received an acknowledgment of the connection.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

Data transfer

There are a few key features that set TCP apart from User Datagram Protocol:
.
  • Ordered data transfer - the destination host rearranges according to sequence number[2]
  • Retransmission of lost packets - any cumulative stream not acknowledged will be retransmitted[2]
  • Discarding duplicate packets
  • Error-free data transfer
  • Flow control - limits the rate a sender transfers data to guarantee reliable delivery.^ Acknowledged reliable non-duplicated transfer of user data.
    • PRI Backhaul Using the Stream Control Transmission Protocol and the ISDN Q.921 User Adaptation Layer  [Cisco IOS Software Releases 12.2 T] - Cisco Systems 14 January 2010 16:39 UTC www.cisco.com [Source type: Reference]

    ^ IP does not guarantee datagram delivery, does not guarantee in-order delivery of datagrams, and does not guarantee the integrity of the data in the datagrams.
    • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

    ^ TCP is a reliable stream delivery service that guarantees delivery of a data stream sent from one host to another without duplication or losing data.
    • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
    • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

    .When the receiving host's buffer fills, the next acknowledgment contains a 0 in the window size, to stop transfer and allow the data in the buffer to be processed.^ Next data byte is transferred subsequently.
    • ISO 7816-3: Electronic Signals and Transmission Protocols of ISO7816 3 14 January 2010 16:39 UTC www.cardwerk.com [Source type: Reference]

    ^ The receiving window informs the sender of the size of the buffer that is available to receive data.
    • Dr. Dobb's |

      Stream-Control Transmission Protocol

      | September 1, 2004
      14 January 2010 16:39 UTC www.ddj.com [Source type: Reference]

    ^ This field allows the received to buffer and playout the data in a continuous stream.
    • Voice over IP Protocols for voice transmission 14 January 2010 16:39 UTC www.erlang.com [Source type: Reference]

    [2]
  • Congestion control - sliding window[2]

Reliable transmission

.TCP uses a sequence number to identify each byte of data.^ TCP uses a sequence number to identify each byte of data.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ This is the next sequence number the local (sending) TCP will use on the connection.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Identifies the sequence number of the octet following urgent data.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.The sequence number identifies the order of the bytes sent from each computer so that the data can be reconstructed in order, regardless of any fragmentation, disordering, or packet loss that may occur during transmission.^ At any time during transmission, congestion can occur.

^ Sequence numbers allowed for new data transmission.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ Sequence numbers of unacknowledged data.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

.For every payload byte transmitted the sequence number must be incremented.^ For every byte transmitted the sequence number must be incremented.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The first segment has sequence number 92 and 8 bytes of data, and the second segment has sequence number 100 and 20 bytes of data.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ Unless modified by a configuration option, the Magic-Number MUST be transmitted as zero and MUST be ignored on reception.
  • rfc1331 - The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links 14 January 2010 16:39 UTC aurora.rg.iupui.edu [Source type: Reference]

.In the first two steps of the 3-way handshake, both computers exchange an initial sequence number (ISN).^ In the first two steps of the 3-way handshake, both computers exchange an initial sequence number (ISN).
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ If SYN is present the sequence number is the initial sequence number (ISN) and the first data octet is ISN+1.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ The first segment gets assigned sequence number 0, the second segment gets assigned sequence number 1000, the third segment gets assigned sequence number 2000, and so on..
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.This number can be arbitrary, and should in fact be unpredictable, in order to avoid a TCP Sequence Prediction Attack.^ This number can be arbitrary, and should in fact be unpredictable, in order to avoid a TCP Sequence Prediction Attack .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ In line 2 of figure 9, TCP A begins by sending a SYN segment indicating that it will use sequence numbers starting with sequence number 100.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ In this section, we'll see that in order to provide reliable data transfer, TCP relies on many of the underlying principles discussed in the previous section, including error detection, retransmissions, cumulative acknowledgements, timers and header fields for sequence and acknowledgement numbers.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.TCP primarily uses a cumulative acknowledgment scheme, where the receiver sends an acknowledgment signifying that the receiver has received all data preceding the acknowledged sequence number.^ Transmission is made reliable via the use of sequence numbers and acknowledgments.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ By using selective acknowledgments, negative acknowledgments for data not received are also sent.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ This represents the sequence numbers the local (receiving) TCP is willing to receive.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.Essentially, the first byte in a segment's data field is assigned a sequence number, which is inserted in the sequence number field, and the receiver sends an acknowledgment specifying the sequence number of the next byte they expect to receive.^ Segments also carry an acknowledgment number which is the sequence number of the next expected data octet of transmissions in the reverse direction.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ The first segment gets assigned sequence number 0, the second segment gets assigned sequence number 1000, the third segment gets assigned sequence number 2000, and so on..
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ Arrival of in-order segment with expected  sequence number.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.For example, if computer A sends 4 bytes with a sequence number of 100 (conceptually, the four bytes would have a sequence number of 100, 101, 102, & 103 assigned) then the receiver would send back an acknowledgment of 104 since that is the next byte it expects to receive in the next packet.^ For each connection there is a send sequence number and a receive sequence number.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Each side must also receive the other side's initial sequence number and send a confirming acknowledgment.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Essentially, the first data byte in a segment is assigned a sequence number, which is inserted in the sequence number field, and the receiver sends an acknowledgment specifying the sequence number of the next byte they expect to receive.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.In addition to cumulative acknowledgments, TCP receivers can also send selective acknowledgments to provide further information (see selective acknowledgments).^ When TCP send a data segment, it requires an acknowledgement from the receiving end.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ In addition to cumulative acknowledgments, TCP receivers can also send selective acknowledgments to provide further information ( see selective acknowledgments ).
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Cumulative selective acknowledge (SACK) timeout.
  • PRI Backhaul Using the Stream Control Transmission Protocol and the ISDN Q.921 User Adaptation Layer  [Cisco IOS Software Releases 12.2 T] - Cisco Systems 14 January 2010 16:39 UTC www.cisco.com [Source type: Reference]

.If the sender infers that data has been lost in the network, it retransmits the data.^ If the sender infers that data has been lost in the network, it retransmits the data.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The sender can selectively retransmit the missing data without needing to retransmit blocks of data that have been successfully received.

^ TCP acknowledges data that has been received correctly, and retransmits segments when segments or their corresponding acknowledgements are thought to be lost or corrupted.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

Error detection

.Sequence numbers and acknowledgments cover discarding duplicate packets, retransmission of lost packets, and ordered-data transfer.^ Acknowledged reliable non-duplicated transfer of user data.
  • PRI Backhaul Using the Stream Control Transmission Protocol and the ISDN Q.921 User Adaptation Layer  [Cisco IOS Software Releases 12.2 T] - Cisco Systems 14 January 2010 16:39 UTC www.cisco.com [Source type: Reference]

^ Congestion control - sliding window Ordered data transfer, retransmission of lost packets and discarding duplicate packets .
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Retransmissions   Retransmission of lost and corrupted data  is crucial for providing reliable data transfer.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.To assure correctness a checksum field is included (see TCP segment structure for details on checksumming).^ SACK uses the optional part of the TCP header ( see TCP segment structure for details ).
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Table 5: TCP segment fields description.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ To assure correctness a checksum field is included ( see TCP segment structure for details on checksumming ).
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.The TCP checksum is a weak check by modern standards.^ The TCP checksum is a quite weak check by modern standards.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The weak checksum is partially compensated for by the common use of a CRC or better integrity check at layer 2 , below both TCP and IP, such as is used in PPP or the Ethernet frame.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ TCP uses a checksum that checks for transmission errors on both the TCP header and payload of each segment to reduce the chance of network corruption going undetected.

.Data Link Layers with high bit error rates may require additional link error correction/detection capabilities.^ Data Link Layers with high bit error rates may require additional link error correction/detection capabilities.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ SDLC Synchronous Data Link Control protocol, developed by IBM to be used as the layer 2 of the SNA hierarchical network.
  • Protocols - Acronyms List 14 January 2010 16:39 UTC www.protocols.com [Source type: Reference]

^ AAL1 ATM Adaptation Layer Type 1 supports constant bit rate, time dependent traffic such as voice and video.
  • Protocols - Acronyms List 14 January 2010 16:39 UTC www.protocols.com [Source type: Reference]

.The weak checksum is partially compensated for by the common use of a CRC or better integrity check at layer 2, below both TCP and IP, such as is used in PPP or the Ethernet frame.^ The weak checksum is partially compensated for by the common use of a CRC or better integrity check at layer 2 , below both TCP and IP, such as is used in PPP or the Ethernet frame.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ PPP uses the HDLC Frame Check Sequence for error detection.
  • rfc1331 - The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links 14 January 2010 16:39 UTC aurora.rg.iupui.edu [Source type: Reference]

^ TCP checksum using IPv6 .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.However, this does not mean that the 16-bit TCP checksum is redundant: remarkably, introduction of errors in packets between CRC-protected hops is common, but the end-to-end 16-bit TCP checksum catches most of these simple errors [9].^ However, this does not mean that the 16-bit TCP checksum is redundant: remarkably, introduction of errors in packets between CRC-protected hops is common, but the end-to-end 16-bit TCP checksum catches most of these simple errors .
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ A TCP packet with the FIN bit set.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ However, this does not mean that the 16-bit TCP checksum is redundant: remarkably, introduction of errors in packets between CRC-protected hops is common, but the end-to-end 16-bit TCP checksum catches most of these simple errors [ 3 ] .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.This is the end-to-end principle at work.^ This is the end-to-end principle at work.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

Flow control

.TCP uses an end-to-end flow control protocol to avoid having the sender send data too fast for the TCP receiver to receive and process it reliably.^ TCP provides flow control and error control through the use of a receiving window.
  • Dr. Dobb's |

    Stream-Control Transmission Protocol

    | September 1, 2004
    14 January 2010 16:39 UTC www.ddj.com [Source type: Reference]

^ This is done using a window flow control mechanism.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ TCP senders and receivers typically employ flow control logic to specifically avoid repeatedly sending small segments.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.Having a mechanism for flow control is essential in an environment where machines of diverse network speeds communicate.^ This is done using a window flow control mechanism.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ Having a mechanism for flow control is essential in an environment where machines of diverse network speeds communicate.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ NSP Network Services Protocol, provides reliable virtual connection services with flow control to the network layer Routing Protocol (DECnet).
  • Protocols - Acronyms List 14 January 2010 16:39 UTC www.protocols.com [Source type: Reference]

.For example, if a PC sends data to a hand-held PDA that is slowly processing received data, the PDA must regulate data flow so as not to be overwhelmed.^ For example, when a fast PC sends data to a slow hand-held PDA, the PDA needs to regulate the influx of data, or protocol software would be overrun quickly.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ When a receiving TCP has a complete letter, it must not wait for more data from the sending TCP before passing the letter to the receiving process.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ Each time a PUSH flag is associated with data placed into the receiving user's buffer, the buffer is returned to the user for processing even if the buffer is not filled.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

[2]
.TCP uses a sliding window flow control protocol.^ This is done using a window flow control mechanism.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ With this information, a sliding-window protocol is implemented.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ TCP see transmission control protocol ( TCP ) .
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

.In each TCP segment, the receiver specifies in the receive window field the amount of additional received data (in bytes) that it is willing to buffer for the connection.^ When the TCP connection receives bytes that are correct and in sequence, it places the data in the receive buffer.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ Receive Copies incoming TCP data to a user buffer.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ This represents the sequence numbers the local (receiving) TCP is willing to receive.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.The sending host can send only up to that amount of data before it must wait for an acknowledgment and window update from the receiving host.^ When a receiving TCP has a complete letter, it must not wait for more data from the sending TCP before passing the letter to the receiving process.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ The sending host can send only up to that amount of data before it must wait for an acknowledgment and window update from the receiving host.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ When TCP send a data segment, it requires an acknowledgement from the receiving end.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.
TCP sequence numbers and receive windows behave very much like a clock.
^ This represents the sequence numbers the local (receiving) TCP is willing to receive.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ This is the next sequence number the local TCP is expecting to receive.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ The segment sequence number must be in the receive window; if not, ignore the segment.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

.The receive window shifts each time the receiver receives and acknowledges a new segment of data.^ These segments will be acknowledged by the receiver.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ When TCP send a data segment, it requires an acknowledgement from the receiving end.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ If the data segment is damaged, the receiver discards it.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

Once it runs out of sequence numbers, the sequence number loops back to 0.
.When a receiver advertises a window size of 0, the sender stops sending data and starts the persist timer.^ When the persist timer expires the TCP sender sends a small packet so that the receiver sends an acknowledgement with the new window size.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The receiving window informs the sender of the size of the buffer that is available to receive data.
  • Dr. Dobb's |

    Stream-Control Transmission Protocol

    | September 1, 2004
    14 January 2010 16:39 UTC www.ddj.com [Source type: Reference]

^ When a receiver advertises a window size of 0, the sender stops sending data and starts the persist timer .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.The persist timer is used to protect TCP from a deadlock situation that could arise if the window size update from the receiver is lost and the sender has no more data to send while the receiver is waiting for the new window size update.^ When a receiving TCP has a complete letter, it must not wait for more data from the sending TCP before passing the letter to the receiving process.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ This informsthe sender that a packet has been received successfully and more data can be transmitted.
  • Reducing the complexities of the transmission control protocol for a high-speed networking environment - US5442637 14 January 2010 16:39 UTC www.patents.com [Source type: Reference]

^ When the persist timer expires the TCP sender sends a small packet so that the receiver sends an acknowledgement with the new window size.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.When the persist timer expires, the TCP sender sends a small packet so that the receiver sends an acknowledgement with the new window size.^ When the persist timer expires the TCP sender sends a small packet so that the receiver sends an acknowledgement with the new window size.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ TCP is reliable because for each packet received, an acknowledgement is sent to the sender to confirm the delivery.
  • How Does the Internet Work? 14 January 2010 16:39 UTC www.theshulers.com [Source type: General]

^ The sender also keeps a timer from when the packet was sent, and retransmits a packet if the timer expires.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.If a receiver is processing incoming data in small increments, it may repeatedly advertise a small receive window.^ If a receiver is processing incoming data in small increments, it may repeatedly advertise a small receive window.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The controller is connected to an outgoing message buffer 56 for storing the information to be transmitted on the link and an incoming message buffer 57 for storing the message data received on the link.
  • Method of duplex data transmission using a send-and-wait protocol - Patent 4750165 14 January 2010 16:39 UTC www.freepatentsonline.com [Source type: Reference]

^ At that point, the slow start algorithm is no longer in use and flow control is governed by the advertised receive window.

.This is referred to as the silly window syndrome, since it is inefficient to send only a few bytes of data in a TCP segment, given the relatively large overhead of the TCP header.^ This is referred to as the silly window syndrome , since it is inefficient to send only a few bytes of data in a TCP segment, given the relatively large overhead of the TCP header.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The TCP length field is the length of the TCP header and data.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ When TCP send a data segment, it requires an acknowledgement from the receiving end.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.TCP senders and receivers typically employ flow control logic to specifically avoid repeatedly sending small segments.^ TCP senders and receivers typically employ flow control logic to specifically avoid repeatedly sending small segments.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ When TCP send a data segment, it requires an acknowledgement from the receiving end.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ To govern the flow of data into a TCP, a flow control mechanism is employed.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

.The sender-side silly window syndrome avoidance logic is referred to as Nagle's algorithm.^ The sender-side silly window syndrome avoidance logic is referred to as Nagle's algorithm .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ It has been termed the silly window syndrome and documented in [2].
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

^ Silly Window Syndrome can cause very small TCP segments to be sent, resulting in an inefficient use of the network.

Congestion control

.The final main aspect of TCP is congestion control.^ The final main aspect of TCP is congestion control .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ RFC 2581 ] TCP Congestion Control.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ TCP performance is often dependent on a subset of algorithms and techniques such as flow control and congestion control.
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

.TCP uses a number of mechanisms to achieve high performance and avoid 'congestion collapse', where network performance can fall by several orders of magnitude.^ TCP uses a number of mechanisms to achieve high performance and avoid ' congestion collapse ', where network performance can fall by several orders of magnitude.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ For both historical and performance reasons, most storage area networks (SANs) prefer to use Fibre Channel protocol (FCP) instead of TCP/IP. Also for embedded systems , network booting and servers that serve simple requests from huge numbers of clients (e.g.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ For example, the BIND protocol [RFC1034] [RFC1035] used for DNS (theDomain Name System) had to be designed to avoid using TCP connections in the normal case, in order to provide scalability to very large numbers of clients; BIND first attempts to use UDP and only falls back on TCP in the case of repeated communicationfailures.
  • Transmission control protocol - US7143131 14 January 2010 16:39 UTC www.patents.com [Source type: Reference]

.These mechanisms control the rate of data entering the network, keeping the data flow below a rate that would trigger collapse.^ This is done using a window flow control mechanism.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ To govern the flow of data into a TCP, a flow control mechanism is employed.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ To govern the flow of data between TCPs, a flow control mechanism is employed.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.Acknowledgments for data sent, or lack of acknowledgments, are used by senders to infer network conditions between the TCP sender and receiver.^ TCP is reliable because for each packet received, an acknowledgement is sent to the sender to confirm the delivery.
  • How Does the Internet Work? 14 January 2010 16:39 UTC www.theshulers.com [Source type: General]

^ A protocol used to send data over a network.
  • Linksys | Learning Center | Glossary 14 January 2010 16:39 UTC www.linksysbycisco.com [Source type: Reference]

^ By using selective acknowledgments, negative acknowledgments for data not received are also sent.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.Coupled with timers, TCP senders and receivers can alter the behavior of the flow of data.^ Coupled with timers, TCP senders and receivers can alter the behavior of the flow of data.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ TCP sender to receiver.
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

^ To try to accomplish this, typically the MSS is negotiated using the MSS option when the TCP connection is established, in which case it is determined by the maximum transmission unit (MTU) size of the data link layer of the networks to which the sender and receiver are directly attached.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.This is more generally referred to as congestion control and/or network congestion avoidance.^ This is more generally referred to as congestion control and/or network congestion avoidance.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ This section describes the debug commands available for SCTP. For more information, refer to the Stream Control Transmission Protocol (SCTP), Release 2 feature.
  • PRI Backhaul Using the Stream Control Transmission Protocol and the ISDN Q.921 User Adaptation Layer  [Cisco IOS Software Releases 12.2 T] - Cisco Systems 14 January 2010 16:39 UTC www.cisco.com [Source type: Reference]

^ Most of the discussion surrounding data transfer requires us to look at flow control and congestion control techniques which we discuss later in this document and refer to other texts [9].
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

.Modern implementations of TCP contain four intertwined algorithms: Slow-start, congestion avoidance, fast retransmit, and fast recovery (RFC 2581).^ Immediately following Fast Retransmit is the Fast Recovery algorithm.
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

^ As a result, there are a number of TCP congestion avoidance algorithm variations.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Windows 2000 TCP is compliant with the slow start and congestion avoidance algorithms.

.In addition, senders employ a retransmission timeout (RTO) that is based on the estimated round-trip time (or RTT) between the sender and receiver, as well as the variance in this round trip time.^ In addition, senders employ a retransmission timer that is based on the estimated round-trip time (or RTT) between the sender and receiver, as well as the variance in this round trip time.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ This measured elapsed time is the Round Trip Time (RTT).
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ This SRTT value is what is finally used as the round-trip time estimate.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.The behavior of this timer is specified in RFC 2988.^ The behavior of this timer is specified in RFC 2988 .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ RFC 2988 ] Computing TCP's Retransmission Timer.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

.There are subtleties in the estimation of RTT. For example, senders must be careful when calculating RTT samples for retransmitted packets; typically they use Karn's Algorithm or TCP timestamps (see RFC 1323).^ There are subtleties in the estimation of RTT. For example, senders must be careful when calculating RTT samples for retransmitted packets; typically they use Karn's Algorithm or TCP timestamps (see RFC 1323 ).
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ RTT is used by some routing algorithms to aid in calculating optimal routes.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ There are subtleties in the estimation of RTT. For example, senders must be careful when calculating RTT samples for retransmitted packets; typically they use Karn's Algorithm or TCP timestamps (see RFC 1323).
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.These individual RTT samples are then averaged over time to create a Smoothed Round Trip Time (SRTT) using Jacobson's algorithm.^ This measured elapsed time is the Round Trip Time (RTT).
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ These individual RTT samples are then averaged over time to create a Smoothed Round Trip Time (SRTT) using Jacobson's algorithm .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ This SRTT value is what is finally used as the round-trip time estimate.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.This SRTT value is what is finally used as the round-trip time estimate.^ This SRTT value is what is finally used as the round-trip time estimate.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ This process is called Round-Trip Time (RTT) estimation.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ Before discussing the timeout interval in more detail, let us take a closer look at the round-trip time (RTT).
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.Enhancing TCP to reliably handle loss, minimize errors, manage congestion and go fast in very high-speed environments are ongoing areas of research and standards development.^ Very high speed DSL .
  • CSR Acronym Definitions S-Z 14 January 2010 16:39 UTC www.csrstds.com [Source type: Reference]

^ Enhancing TCP to reliably handle loss, minimize errors, manage congestion and go fast in very high-speed environments are ongoing areas of research and standards development.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Very high speed ADSL .
  • CSR Acronym Definitions S-Z 14 January 2010 16:39 UTC www.csrstds.com [Source type: Reference]

.As a result, there are a number of TCP congestion avoidance algorithm variations.^ As a result, there are a number of TCP congestion avoidance algorithm variations.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The TCP congestion avoidance algorithm works very well for ad-hoc environments where it is not known who will be sending data, but if the environment is predictable, a timing based protocol such as ATM can avoid the overhead of the retransmits that TCP needs.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Defines the TCP congestion control algorithm ABC. [ RFC 3481 ] TCP over Second (2.5G) and Third (3G) Generation Wireless Networks.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

Maximum segment size

.The Maximum segment size (MSS) is the largest amount of data, specified in bytes, that TCP is willing to send in a single segment.^ Maximum segment size .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The Maximum segment size (MSS) is the largest amount of data, specified in bytes, that TCP is willing to send in a single segment.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ When TCP send a data segment, it requires an acknowledgement from the receiving end.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.For best performance, the MSS should be set small enough to avoid IP fragmentation, which can lead to excessive retransmissions if there is packet loss.^ For best performance, the MSS should be set small enough to avoid IP fragmentation , which can lead to excessive retransmissions if there is packet loss.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The margin should be large when there is a lot of fluctuation in the SampleRTT values; it should be small when there is little fluctuation.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ (These segment sizes are often chosen in order to avoid IP fragmentation, which will be discussed in the next chapter.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.To try to accomplish this, typically the MSS is negotiated using the MSS option when the TCP connection is established, in which case it is determined by the maximum transmission unit (MTU) size of the data link layer of the networks to which the sender and receiver are directly attached.^ Related links: TCP option numbers .
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ A protocol used to send data over a network.
  • Linksys | Learning Center | Glossary 14 January 2010 16:39 UTC www.linksysbycisco.com [Source type: Reference]

^ The Maximum-Receive-Unit covers only the Data Link Layer Information field.
  • rfc1331 - The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links 14 January 2010 16:39 UTC aurora.rg.iupui.edu [Source type: Reference]

.Furthermore, TCP senders can use Path MTU discovery to infer the minimum MTU along the network path between the sender and receiver, and use this to dynamically adjust the MSS in order to avoid IP fragmentation within the network.^ Communication between a single sender and a single receiver over a network.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ Furthermore, TCP senders can use Path MTU discovery to infer the minimum MTU along the network path between the sender and receiver, and use this to dynamically adjust the MSS in order to avoid IP fragmentation within the network.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Acknowledgments for data sent, or lack of acknowledgments, are used by senders to infer network conditions between the TCP sender and receiver.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

Selective acknowledgments

.Relying purely on the cumulative acknowledgment scheme employed by the original TCP protocol can lead to inefficiencies when packets are lost.^ Relying purely on the cumulative acknowledgment scheme employed by the original TCP protocol can lead to inefficiencies when packets are lost.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Venturi Transport Protocol (VTP) is a patented proprietary protocol that is designed to replace TCP transparently in order to overcome perceived inefficiencies related to wireless data transport.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ There are a few key features that set TCP apart from User Datagram Protocol : Ordered data transfer - the destination host rearranges according to sequence number Retransmission of lost packets - any cumulative stream not acknowledged will be retransmitted Discarding duplicate packets Error-free data transfer Flow control - limits the rate a sender transfers data to guarantee reliable delivery.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.For example, suppose 10,000 bytes are sent in 10 different TCP packets, and the first packet is lost during transmission.^ For example, suppose 10,000 bytes are sent in 10 different TCP packets, and the first packet is lost during transmission.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ It is possible for packets to be duplicated in packet switched network; therefore TCP keeps track of bytes received in order to discard duplicate copies of data that has already been received.
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

^ The Transmission Control Protocol (TCP) standard is defined in the Request For Comment (RFC) standards document number 793 [10] by the Internet Engineering Task Force (IETF).
  • The Transmission Control Protocol 14 January 2010 16:39 UTC condor.depaul.edu [Source type: Reference]

.In a pure cumulative acknowledgment protocol, the receiver cannot say that it received bytes 1,000 to 9,999 successfully, but failed to receive the first packet, containing bytes 0 to 999. Thus the sender may then have to resend all 10,000 bytes.^ This informsthe sender that a packet has been received successfully and more data can be transmitted.
  • Reducing the complexities of the transmission control protocol for a high-speed networking environment - US5442637 14 January 2010 16:39 UTC www.patents.com [Source type: Reference]

^ In a pure cumulative acknowledgment protocol, the receiver cannot say that it received bytes 1,000 to 9,999 successfully, but failed to receive the first packet, containing bytes 0 to 999.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Thus the sender would then have to resend all 10,000 bytes.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.In order to solve this problem TCP employs the selective acknowledgment (SACK) option, defined in RFC 2018, which allows the receiver to acknowledge discontiguous blocks of packets that were received correctly, in addition to the sequence number of the last contiguous byte received successively, as in the basic TCP acknowledgment.^ The acknowledgement can specify a number of SACK blocks , where each SACK block is conveyed by the starting and ending sequence numbers of a contiguous range that the receiver correctly received.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ RFC 2018 ] TCP Selective Acknowledgment Options.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ In order to solve this problem TCP employs the selective acknowledgment (SACK) option, defined in RFC 2018 , which allows the receiver to acknowledge discontiguous blocks of packets that were received correctly, in addition to the sequence number of the last contiguous byte received successively, as in the basic TCP acknowledgment.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.The acknowledgement can specify a number of SACK blocks, where each SACK block is conveyed by the starting and ending sequence numbers of a contiguous range that the receiver correctly received.^ The acknowledgement can specify a number of SACK blocks , where each SACK block is conveyed by the starting and ending sequence numbers of a contiguous range that the receiver correctly received.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ In order to solve this problem TCP employs the selective acknowledgment (SACK) option, defined in RFC 2018 , which allows the receiver to acknowledge discontiguous blocks of packets that were received correctly, in addition to the sequence number of the last contiguous byte received successively, as in the basic TCP acknowledgment.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ Prior to SACK, a receiver could only acknowledge the latest sequence number of contiguous data that had been received, or the left edge of the receive window.

In the example above, the receiver would send SACK with sequence numbers 1,000 and 9,999. The sender will thus retransmit only the first packet, bytes 0 to 999.
.An extension to the SACK option is the "duplicate-SACK" option, defined in RFC 2883.^ The TCP window scale option , as defined in RFC 1323, is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The TCP window scale option , as defined in RFC 1323 , is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ RFC 2883 ] An Extension to the Selective Acknowledgement (SACK) Option for TCP. [ RFC 2884 ] Performance Evaluation of Explicit Congestion Notification (ECN) in IP Networks.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

.An out-of-order packet delivery can often falsely indicate the TCP sender of lost packet and, in turn, the TCP sender retransmits the suspected-to-be-lost packet and slow down the data delivery to prevent network congestion.^ TCP is a reliable protocol that guarantees sequenced, ordered delivery of data and manages congestion within a network.
  • Better networking with SCTP 14 January 2010 16:39 UTC www-128.ibm.com [Source type: FILTERED WITH BAYES]

^ If the sender infers that data has been lost in the network, it retransmits the data.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Ordered data transfer, retransmission of lost packets and discarding duplicate packets .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.The TCP sender undoes the action of slow-down, that is a recovery of the original pace of data transmission, upon receiving a D-SACK which indicates the retransmitted packet is duplicate.^ This informsthe sender that a packet has been received successfully and more data can be transmitted.
  • Reducing the complexities of the transmission control protocol for a high-speed networking environment - US5442637 14 January 2010 16:39 UTC www.patents.com [Source type: Reference]

^ TCP receiver action .
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ To try to accomplish this, typically the MSS is negotiated using the MSS option when the TCP connection is established, in which case it is determined by the maximum transmission unit (MTU) size of the data link layer of the networks to which the sender and receiver are directly attached.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.The SACK option is not mandatory and it is used only if both parties support it.^ The SACK option is not mandatory and it is used only if both parties support it.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The first is an enabling option, SACK permitted, which may be sent in a SYN segment to indicate that the SACK option can be used once the connection is established.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ The use of SACK is widespread - all popular TCP stacks support it.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.This is negotiated when connection is established.^ This is negotiated when connection is established.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Upon establishing the connection, the receive window size is rounded up to an integral multiple of the TCP maximum segment size (MSS) that was negotiated during connection setup.

^ SACK uses TCP header options to negotiate the use of SACK during the TCP connection establishment and to indicate the left edge and right edge of blocks of data received.

.SACK uses the optional part of the TCP header (see TCP segment structure for details).^ SACK uses the optional part of the TCP header ( see TCP segment structure for details ).
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ To assure correctness a checksum field is included ( see TCP segment structure for details on checksumming ).
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ TCP segment structure .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.The use of SACK is widespread - all popular TCP stacks support it.^ The use of SACK is widespread - all popular TCP stacks support it.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The most common are HTTP, Telnet, SSH, FTP, but other popular protocols also use TCP. Protocol operation .
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ However, all TCPs must provide a certain minimum set of services to guarantee that all TCP implementations can support the same protocol hierarchy.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.Selective acknowledgment is also used in Stream Control Transmission Protocol (SCTP).^ RFC 793:TRANSMISSION CONTROL PROTOCOL .
  • TRANSMISSION CONTROL PROTOCOL [RFC-Ref] 14 January 2010 16:39 UTC www.rfc-ref.org [Source type: Reference]

^ Selective acknowledgment is also used in SCTP .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ TCP see transmission control protocol ( TCP ) .
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

Window scaling

.For more efficient use of high bandwidth networks, a larger TCP window size may be used.^ For more efficient use of high bandwidth networks, a larger TCP window size may be used.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ To try to accomplish this, typically the MSS is negotiated using the MSS option when the TCP connection is established, in which case it is determined by the maximum transmission unit (MTU) size of the data link layer of the networks to which the sender and receiver are directly attached.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Programmable transmission redundancy allows the developer to pick and choose redundant messages to make the most efficient use of network bandwidth.
  • AI is the world's oldest trade magazine covering the global automotive industry. Est. 1895 14 January 2010 16:39 UTC www.ai-online.com [Source type: FILTERED WITH BAYES]

.The TCP window size field controls the flow of data and its value is limited to between 2 and 65,535 bytes.^ The TCP length field is the length of the TCP header and data.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The TCP window size field controls the flow of data and its value is limited to between 2 and 65,535 bytes.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ TCP uses a sliding window flow control protocol.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.Since the size field cannot be expanded, a scaling factor is used.^ Since the size field cannot be expanded, a scaling factor is used.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The TCP window scale option , as defined in RFC 1323, is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Window scaling can be used for window sizes up to 1 GB. .

.The TCP window scale option, as defined in RFC 1323, is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.^ The TCP window scale option , as defined in RFC 1323, is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Window scaling can be used for window sizes up to 1 GB. .

^ The TCP window scale option , as defined in RFC 1323 , is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.Scaling up to larger window sizes is a part of what is necessary for TCP Tuning.^ Window scaling can be used for window sizes up to 1 GB. .

^ Scaling up to larger window sizes is a part of what is necessary for TCP Tuning .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The TCP window scale option , as defined in RFC 1323, is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.The window scale option is used only during the TCP 3-way handshake.^ The window scale option is used only during the TCP 3-way handshake.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ To establish a connection, TCP uses a three-way handshake .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ This extension uses two TCP options.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

.The window scale value represents the number of bits to left-shift the 16-bit window size field.^ Destination Port: 16 bits The destination port number.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ Source Port: 16 bits The source port number.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ The window scale value represents the number of bits to left-shift the 16-bit window size field.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.The window scale value can be set from 0 (no shift) to 14 for each direction independently.^ The window scale value can be set from 0 (no shift) to 14 for each direction independently.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The window scale value can be set from 0 (no shift) to 14.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Once you have set the failover timer to a value, you can return it to its default of 4000 msec by using the no form of this command.
  • PRI Backhaul Using the Stream Control Transmission Protocol and the ISDN Q.921 User Adaptation Layer  [Cisco IOS Software Releases 12.2 T] - Cisco Systems 14 January 2010 16:39 UTC www.cisco.com [Source type: Reference]

.Both sides must send the option in their SYN segments to enable window scaling in either direction.^ Both sides must send the option in their SYN segments to enable window scaling in either direction.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ In line 2 of figure 9, TCP A begins by sending a SYN segment indicating that it will use sequence numbers starting with sequence number 100.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ The TCP window scale option , as defined in RFC 1323, is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.Some routers and packet firewalls rewrite the window scaling factor during a transmission.^ Window scale factor .
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ Unfortunately, many firewalls restrict UDP access, and router designs often include rules to preference TCP packets, thus discarding UDP packets when congestion increases.
  • Transmission control protocol - US7143131 14 January 2010 16:39 UTC www.patents.com [Source type: Reference]

^ For example, for an advertised window size of 65535 and a scale factor of 3, the actual receive window size is 524280, or 2 3 * 65535.

.This causes sending and receiving sides to assume different TCP window sizes.^ This causes sending and receiving sides to assume different TCP window sizes.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The TCP window scale option , as defined in RFC 1323, is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ To solve this problem, the TCP specification requires host A to continue to send segments with one data byte when B's receive window is zero.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.The result is non-stable traffic that may be very slow.^ The result is non-stable traffic that may be very slow.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The result is non-stable traffic that is very slow.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.The problem is visible on some sending and receiving sites which are behind the path of defective routers.^ The problem is visible on some sending and receiving sites which are behind the path of broken routers.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The problem is visible on some sending and receiving sites which are behind the path of defective routers.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ If at site A the connection no longer exists, then an attempt by the user at site B to send any data on it will result in the site B TCP receiving a reset control message.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

[10]

TCP Timestamps

.TCP timestamps, defined in RFC 1323, help TCP compute the round-trip time between the sender and receiver.^ TCP timestamps, defined in RFC 1323 , help TCP compute the round-trip time between the sender and receiver.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ TCP timestamps, defined in RFC 1323, help TCP compute the round-trip time between the sender and receiver.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Before discussing the timeout interval in more detail, let us take a closer look at the round-trip time (RTT).
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.Timestamp options include a 4-byte timestamp value, where the sender inserts its current value of its timestamp clock, and a 4-byte echo reply timestamp value, where the receiver generally inserts the most recent timestamp value that it has received.^ Timestamp options include a 4-byte timestamp value, where the sender inserts its current value of its timestamp clock, and a 4-byte echo reply timestamp value, where the receiver generally inserts the most recent timestamp value that it has received.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ TCP timestamps, defined in RFC 1323 , help TCP compute the round-trip time between the sender and receiver.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ Essentially, the first data byte in a segment is assigned a sequence number, which is inserted in the sequence number field, and the receiver sends an acknowledgment specifying the sequence number of the next byte they expect to receive.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.The sender uses the echo reply timestamp in an acknowledgment to compute the total elapsed time since the acknowledged segment was sent.^ The sender uses the echo reply timestamp in an acknowledgment to compute the total elapsed time since the acknowledged segment was sent.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ TCP timestamps are implemented as TCP header options that record the time a segment was sent, The timestamp of the sent TCP segment is echoed in the acknowledgement.

^ TCP timestamps, defined in RFC 1323 , help TCP compute the round-trip time between the sender and receiver.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

[2]
.TCP timestamps are also used to help in the case where TCP sequence numbers encounter their 232 bound and "wrap around" the sequence number space.^ To avoid confusion in the event of duplicate sequence numbers, the TCP timestamp is used as an extension to the sequence number.

^ Using TCP timestamps provides protection against wrapped sequence numbers (PAWS).

^ Modbus TCP wraps TCP/IP around Modbus.
  • Research results: Protocols for Industrial Ethernet - 2008-05-01 06:00:00 | Control Engineering 14 January 2010 16:39 UTC www.controleng.com [Source type: FILTERED WITH BAYES]

.This scheme is known as Protect Against Wrapped Sequence numbers, or PAWS (see RFC 1323 for details).^ This scheme is known as Protect Against Wrapped Sequence numbers, or PAWS (see RFC 1323 for details).
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ For more details, see RFC 2018.

^ Using TCP timestamps provides protection against wrapped sequence numbers (PAWS).

.Furthermore, the Eifel detection algorithm, defined in RFC 3522, which detects unnecessary loss recovery requires TCP timestamps.^ RFC 1122 , Host Requirements for Internet Hosts, clarified a number of TCP protocol implementation requirements.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ TCP timestamps, defined in RFC 1323 , help TCP compute the round-trip time between the sender and receiver.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The TCP window scale option , as defined in RFC 1323, is an option used to increase the maximum window size from 65,535 bytes to 1 Gigabyte.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

Out of band data

.One is able to interrupt or abort the queued stream instead of waiting for the stream to finish.^ One is able to interrupt or abort the queued stream instead of waiting for the stream to finish.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ If the TCP is in one of the synchronized states (ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, TIME-WAIT, CLOSE-WAIT, CLOSING), it aborts the connection and informs its user.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ If the TCP is in one of the synchronized states (ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT), it aborts the connection and informs its user.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.This is done by specifying the data as urgent.^ This is done by specifying the data as urgent .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.This will tell the receiving program to process it immediately, along with the rest of the urgent data.^ This will tell the receiving program to process it immediately, along with the rest of the urgent data.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ When a receiving TCP has a complete letter, it must not wait for more data from the sending TCP before passing the letter to the receiving process.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ The URGENT flag will be set only if the receiving user has previously been informed via a TCP-to-user signal, that urgent data is waiting.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

.When finished, TCP informs the application and resumes back to the stream queue.^ When finished, TCP informs the application and resumes back to the stream queue.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ When the client program on the destination computer receives them, the TCP layer ( Transport Layer ) reassembles the individual segments and ensures they are correctly ordered and errorfree as it streams them to an application.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ However, an application can force delivery of octets to the output stream using a push operation provided by TCP to the application layer.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.An example is when TCP is used for a remote login session, the user can send a keyboard sequence that interrupts or aborts the program at the other end.^ An example is when TCP is used for a remote login session, the user can send a keyboard sequence that interrupts or aborts the program at the other end.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ This is the next sequence number the local (sending) TCP will use on the connection.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ The most common are HTTP, Telnet, SSH, FTP, but other popular protocols also use TCP. Protocol operation .
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.These signals are most often needed when a program on the remote machine fails to operate correctly.^ These signals are most often needed when a program on the remote machine fails to operate correctly.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.The signals must be sent without waiting for the program to finish its current transfer.^ The signals must be sent without waiting for the program to finish its current transfer.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ If the the user signals a push function then the data must be sent even if it is a small segment.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Reset Generation As a general rule, reset (RST) must be sent whenever a segment arrives which apparently is not intended for the current connection.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

[2]
.TCP OOB data was not designed for the modern Internet.^ Unfortunately, TCP OOB data was not designed for the modern Internet.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Venturi Transport Protocol (VTP) is a patented proprietary protocol that is designed to replace TCP transparently in order to overcome perceived inefficiencies related to wireless data transport.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Ethernet TCP/IP is a suite of communications protocols used to connect hosts on the Internet and has become the de facto standard for transmitting data over networks.
  • Research results: Protocols for Industrial Ethernet - 2008-05-01 06:00:00 | Control Engineering 14 January 2010 16:39 UTC www.controleng.com [Source type: FILTERED WITH BAYES]

.The urgent pointer only alters the processing on the remote host and doesn't expedite any processing on the network itself.^ The urgent pointer only alters the processing on the remote host and doesn't expedite any processing on the network itself.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The receiving TCP will signal the urgent condition to the receiving process if the urgent pointer indicates that data preceding the urgent pointer has not been consumed by the receiving process.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ When it gets to the remote host there are two slightly different interpretations of the protocol which means only single bytes of OOB data are reliable.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.When it gets to the remote host there are two slightly different interpretations of the protocol which means only single bytes of OOB data are reliable.^ When it gets to the remote host there are two slightly different interpretations of the protocol which means only single bytes of OOB data are reliable.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Finally some tricks such as transmitting data between two hosts that are both behind NAT (using STUN or similar systems) are far simpler without a relatively complex protocol like TCP in the way.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ To solve this problem, the TCP specification requires host A to continue to send segments with one data byte when B's receive window is zero.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.This is assuming it's reliable at all as it's one of the least commonly used protocol elements and tends to be poorly implemented.^ This is assuming it's reliable at all as it's one of the least commonly used protocol elements and tends to be poorly implemented.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ TCP was one of the two original components, with Internet Protocol (IP), of the suite, so that the entire suite is commonly referred to as TCP/IP .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ In this section, we'll be using SOCK_RAW , which includes the IP headers (and all subsequent protocol headers of the upper layer as needed) and data.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

[11][12]

Forcing data delivery

.Normally, TCP waits for the buffer to exceed the maximum segment size before sending any data.^ Maximum segment size .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ When TCP send a data segment, it requires an acknowledgement from the receiving end.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ Normally, TCP waits for the buffer to exceed the maximum segment size before sending any data.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.This creates serious delays when the two sides of the connection are exchanging short messages and need to receive the response before continuing.^ This creates serious delays when the two sides of the connection are exchanging short messages and need to receive the response before continuing.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The SOAP One-way MEP [ SOAP 1.2 Part 3: One-Way MEP ] defines properties for the exchange of a SOAP/JMS message which does not solicit a response.
  • SOAP over Java Message Service 1.0 14 January 2010 16:39 UTC www.w3.org [Source type: Reference]

^ FIN-WAIT-1 STATE FIN-WAIT-2 STATE Strictly speaking, this is an error and should receive a "error: connection closing" response.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.For example, the login sequence at the beginning of a session begins with the short message "Login", and the session cannot make any progress until these five characters have been transmitted and the response has been received.^ For example, the login sequence at the beginning of a session begins with the short message "Login," and the session cannot make any progress until these five characters have been transmitted and the response has been received.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ At all times, one segment was sent, and further Y characters were held by the stack until an acknowledgment was received for the previous segment.

^ With 32 bits in the sequence number, only 4 GB of data can be in transit between the sender and the receiver before the TCP sequence number begins to wrap around and become ambiguous.

.This process can be seriously delayed by TCP's normal behavior when the message is provided to TCP in several send calls.^ This process can be seriously delayed by TCP's normal behavior.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ When a receiving TCP has a complete letter, it must not wait for more data from the sending TCP before passing the letter to the receiving process.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ Operation of TCS Protocol To initiate a call request the outgoing side sends a SETUP message and starts a timer T303.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

.However, an application can force delivery of segments to the output stream using a push operation provided by TCP to the application layer.^ However, an application can force delivery of octets to the output stream using a push operation provided by TCP to the application layer.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ However, an application can force delivery of segments to the output stream using a push operation provided by TCP to the application layer.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ TCP is used extensively by many of the Internet's most popular application protocols and resulting applications, including the World Wide Web , E-mail , File Transfer Protocol , Secure Shell , and some streaming media applications.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

[2] .This operation also causes TCP to set the PSH flag or control bit to ensure that data will be delivered immediately to the application layer by the receiving transport layer.^ A TCP packet with the FIN bit set.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ This operation also causes TCP to set the PSH flag or control bit to ensure that data will be delivered immediately to the application layer by the receiving transport layer.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ A TCP packet with the SYN bit set.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

.In the most extreme cases, for example when a user expects each keystroke to be echoed by the receiving application, the push operation can be used each time a keystroke occurs.^ Application examples that use TCP: .
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ Application examples that use UDP: .
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ In the most extreme cases, for example when a user expects each keystroke to be echoed by the receiving application, the push operation can be used each time a keystroke occurs.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.More generally, application programs use this function to force output to be sent after writing a character or line of characters.^ Function call xtcp_select 410f is used by application server 108 to block until one or more connectiongroups of a specified read connection group set or a specified accept connection group set become "ready", or until a timeout occurs, whichever is sooner.
  • Transmission control protocol - US7143131 14 January 2010 16:39 UTC www.patents.com [Source type: Reference]

^ A function or program that has been compiled and stored in a database for more efficient execution.
  • Software Carpentry:Glossary (Version 1121) 14 January 2010 16:39 UTC swc.scipy.org [Source type: Reference]

^ FIG. 5b illustrates an ongoing exchange in which a request packet sent by application client 118 using TCP service 116 and IP service 114 is lost.
  • Transmission control protocol - US7143131 14 January 2010 16:39 UTC www.patents.com [Source type: Reference]

.By forcing the data to be sent immediately, delays and wait time are reduced.^ By forcing the data to be sent immediately, delays and wait time are reduced.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ LISTEN SYN-SENT SYN-RECEIVED ESTABLISHED FIN-WAIT-1 FIN-WAIT-2 CLOSE-WAIT CLOSING LAST-ACK TIME-WAIT CLOSED LISTEN represents waiting for a connection request from any remote TCP and port.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The behavior of xtcp_send 410 a is non-blocking: if the data can not be sent, xtcp_send immediately returns with an appropriateerror status.
  • Transmission control protocol - US7143131 14 January 2010 16:39 UTC www.patents.com [Source type: Reference]

Connection termination

.The connection termination phase uses, at most, a four-way handshake, with each side of the connection terminating independently.^ Establishing a connection The "three-way handshake" is the procedure used to establish a connection.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Establishing a Connection The "three-way handshake" is the procedure used to establish a connection.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ The connection termination phase uses, at most, a four-way handshake , with each side of the connection terminating independently.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.When an endpoint wishes to stop its half of the connection, it transmits a FIN packet, which the other end acknowledges with an ACK. Therefore, a typical tear-down requires a pair of FIN and ACK segments from each TCP endpoint.^ A TCP packet with the FIN bit set.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ A TCP packet with the FIN and ACK bits set.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ When TCP receives a segment at the other end, the segment's data is placed in the TCP connection's receive buffer.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.A connection can be "half-open", in which case one side has terminated its end, but the other has not.^ We discuss this latter case under "half-open" connections below.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ A connection can be "half-open" , in which case one side has terminated its end, but the other has not.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The side that has terminated can no longer send any data into or receive any data from the connection, but the other side can (but generally if it tries, this should result in no acknowledgment and therefore a timeout, or else result in a positive RST, and either way thereby the destruction of the half-open socket).
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.The side that has terminated can no longer send any data into or receive any data from the connection, but the other side can (but generally if it tries, this should result in no acknowledgment and therefore a timeout, or else result in a positive RST, and either way thereby the destruction of the half-open socket).^ Each side must also receive the other side's initial sequence number and send a confirming acknowledgment.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ As a result, A will probably try to OPEN the connection again or try to SEND on the connection it believes open.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Closing a Connection CLOSE is an operation meaning "I have no more data to send."
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.It is also possible to terminate the connection by a 3-way handshake, when host A sends a FIN and host B replies with a FIN & ACK (merely combines 2 steps into one) and host A replies with an ACK.[13] This is perhaps the most common method.^ The three-way handshake reduces the possibility of false connections.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ It is also possible to terminate the connection by a 3-way handshake, when host A sends a FIN and host B replies with a FIN & ACK (merely combines 2 steps into one) and host A replies with an ACK. [ 6 ] This is perhaps the most common method.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The connection termination phase uses, at most, a four-way handshake , with each side of the connection terminating independently.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.It is possible for both hosts to send FINs simultaneously then both just have to ACK. This could possibly be considered a 2-way handshake since the FIN/ACK sequence is done in parallel for both directions.^ It is possible for both hosts to send FINs simultaneously then both just have to ACK. This could possibly be considered a 2-way handshake since the FIN/ACK sequence is done in parallel for both directions.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ Both of these operations can be aborted by the client’s sending of an Abort-request even if it is in the middle of a request/response sequence.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

^ To help make the sender aware of this event, the receiver immediately sends an ACK with the acknowledgment number set to the sequence number that it was expecting.

.Some host TCP stacks may implement a "half-duplex" close sequence, as Linux or HP-UX do.^ Some host TCP stacks may implement a "half-duplex" close sequence, as Linux or HP-UX do.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ Figure 1 Much of this document is written in the context of TCP implementations which are co-resident with higher level protocols in the host computer.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ RFC 1122 , Host Requirements for Internet Hosts, clarified a number of TCP protocol implementation requirements.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.If such a host actively closes a connection but still has not read all the incoming data the stack already received from the link, this host will send a RST instead of a FIN (Section 4.2.2.13 in RFC 1122).^ If such a host actively closes a connection but still has not read all the incoming data the stack already received from the link, this host will send a RST instead of a FIN (Section 4.2.2.13 in RFC 1122 ).
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ Closing a Connection CLOSE is an operation meaning "I have no more data to send."
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ To try to accomplish this, typically the MSS is negotiated using the MSS option when the TCP connection is established, in which case it is determined by the maximum transmission unit (MTU) size of the data link layer of the networks to which the sender and receiver are directly attached.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.This allows a TCP application to be sure that the remote application has read all the data the former sent - waiting the FIN from the remote side when it will actively close the connection.^ FIN-WAIT-2 - represents waiting for a connection termination request from the remote TCP. CLOSE-WAIT - represents waiting for a connection termination request from the local user.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Close Closes the connection; causes a push of all remaining data and a TCP segment with FIN flag set.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ FIN-WAIT-1 - represents waiting for a connection termination request from the remote TCP, or an acknowledgment of the connection termination request previously sent.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.However, the remote TCP stack cannot distinguish between a Connection Aborting RST and this Data Loss RST - both will cause the remote stack to throw away all the data it received, but the application still didn't read.^ Unfortunately, the remote TCP stack cannot distinguish between a Connection Aborting RST and this Data Loss RST - both will cause the remote stack to throw away all the data it received, but the application still didn't read.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The application reads the stream of data from this buffer.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ This causes problems for real-time applications such as streaming multimedia (such as Internet radio ), real-time multiplayer games and voice over IP (VoIP) where it is sometimes more useful to get most of the data in a timely fashion than it is to get all of the data in order.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.Some application protocols may violate the OSI model layers, using the TCP open/close handshaking for the application protocol open/close handshaking - these may find the RST problem on active close.^ Under the application layer in the protocol stack is the TCP layer.
  • How Does the Internet Work? 14 January 2010 16:39 UTC www.theshulers.com [Source type: General]

^ Layer 3 of the OSI reference model.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ Ethernet protocols in use for industrial applications .
  • Research results: Protocols for Industrial Ethernet - 2008-05-01 06:00:00 | Control Engineering 14 January 2010 16:39 UTC www.controleng.com [Source type: FILTERED WITH BAYES]

As an example:
s = connect(remote);
send(s, data);
close(s);
.For a usual program flow like above, a TCP/IP stack like that described above does not guarantee that all the data will arrive to the other application unless the programmer is sure that the remote side will not send anything.^ IP does not guarantee datagram delivery, does not guarantee in-order delivery of datagrams, and does not guarantee the integrity of the data in the datagrams.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ The TCP/IP stack looks like this: .
  • How Does the Internet Work? 14 January 2010 16:39 UTC www.theshulers.com [Source type: General]

^ Able to understand protocols in TCP/IP stack.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

Vulnerabilities

Denial of service

.By using a spoofed IP address and repeatedly sending purposely assembled SYN packets, attackers can cause the server to consume large amounts of resources keeping track of the bogus connections.^ This causes TCP in the client to send a SYN segment to TCP in the server.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ By using a spoofed IP address and repeatedly sending purposely assembled SYN packets attackers can cause the server to consume large amounts of resources keeping track of the bogus connections.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ That allowed an attacker to blindly send a sequence of packets that the receiver would believe to come from a different IP address, without the need to deploy ARP or routing attacks: it is enough to ensure that the legitimate host of the impersonated IP address is down, or bring it to that condition using denial of service attacks.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.This is known as a SYN flood attack.^ This is known as a SYN flood attack.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Detecting SYN Flooding Attacks .

.Proposed solutions to this problem include SYN cookies and Cryptographic puzzles.^ Proposed solutions to this problem include SYN cookies and Cryptographic puzzles.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.Sockstress is a similar attack, against which no defense is yet known.^ Sockstress is a similar attack, against which no defence is yet known.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

[citation needed] An advanced DoS attack involving the exploitation of the TCP Persist Timer was analyzed at Phrack #66.[14]

Connection hijacking

.An attacker who is able to eavesdrop a TCP session and redirect packets can hijack a TCP connection.^ An attacker who is able to eavesdrop a TCP session and redirect packets can hijack a TCP connection.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ A TCP keep-alive packet is simply an ACK with the sequence number set to one less than the current sequence number for the connection.

^ Unlike TCP's traditional counterpart, User Datagram Protocol , which can immediately start sending packets, TCP provides connections that need to be established before sending data.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.To do so, the attacker learns the sequence number from the ongoing communication and forges a false segment that looks like the next segment in the stream.^ The sequence number for a segment is the byte-stream number of the first byte in the segment .
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ To do so, the attacker learns the sequence number from the ongoing communication and forges a false packet that looks like the next packet in the stream.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The number in the sequence field of the arriving segment.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.Such a simple hijack can result in one packet being erroneously accepted at one end.^ Such a simple hijack can result in one packet being erroneously accepted at one end.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ There may be some use of synchronous-to-asynchronous converters (some built into modems) in Point-to-Point links resulting in a synchronous PPP implementation on one end of a link and an asynchronous implementation on the other.
  • rfc1331 - The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links 14 January 2010 16:39 UTC aurora.rg.iupui.edu [Source type: Reference]

^ This ensures that LCP Configure-Request packets are always recognizable even when one end of the link mistakenly believes the link to be open.
  • rfc1331 - The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links 14 January 2010 16:39 UTC aurora.rg.iupui.edu [Source type: Reference]

.When the receiving host acknowledges the extra segment to the other side of the connection, synchronization is lost.^ When the receiving host acknowledges the extra packet to the other side of the connection, synchronization is lost.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ These segments will be acknowledged by the receiver.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

^ If the timer expires without receiving an acknowledgement, this host assumes that the data segment was lost.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.Hijacking might be combined with ARP or routing attacks that allow taking control of the packet flow, so as to get permanent control of the hijacked TCP connection.^ Hijacking might be combined with ARP or routing attacks that allow taking control of the packet flow, so as to get permanent control of the hijacked TCP connection.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ That allowed an attacker to blindly send a sequence of packets that the receiver would believe to come from a different IP address, without the need to deploy ARP or routing attacks: it is enough to ensure that the legitimate host of the impersonated IP address is down, or bring it to that condition using denial of service attacks.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The client who needs to terminate the connection sends a FIN segment to the server that is a TCP Packet with the FIN flag set, indicating that it has finished sending the data.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

[15]
.Impersonating a different IP address was possible prior to RFC 1948, when the initial sequence number was easily guessable.^ As the packets go upwards through the stack, all routing data that the sending computer's stack added (such as IP address and port number) is stripped from the packets.
  • How Does the Internet Work? 14 January 2010 16:39 UTC www.theshulers.com [Source type: General]

^ Even hosts which can remember the time of day and used it to select initial sequence number values are not immune from this problem (i.e., even if time of day is used to select an initial sequence number for each new connection incarnation).
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ In addition, the client chooses an initial sequence number ( client_isn) and puts this number in the sequence number field of the initial TCP SYN segment.This segment is encapsulated within an IP datagram and sent into the Internet.
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

.That allowed an attacker to blindly send a sequence of packets that the receiver would believe to come from a different IP address, without the need to deploy ARP or routing attacks: it is enough to ensure that the legitimate host of the impersonated IP address is down, or bring it to that condition using denial of service attacks.^ An attack characterized by an explicit attempt by attackers to prevent legitimate users of a service from using that service.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ IP's job is too send and route packets to other computers .
  • How Does the Internet Work? 14 January 2010 16:39 UTC www.theshulers.com [Source type: General]

^ Above we see the IP addresses of the sending and receiving computers in the IP header.
  • How Does the Internet Work? 14 January 2010 16:39 UTC www.theshulers.com [Source type: General]

.This is why the initial sequence number is chosen at random.^ It is initially selected from an initial sequence number curve (ISN) and is incremented for each octet of data or sequenced control transmitted.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ In the case of a RST received in response to an initial SYN any sequence number is acceptable if the ACK field acknowledges the SYN. The receiver of a RST first validates it, then changes state.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ Several aspects of the TCP three-way handshake (Why are initial sequence numbers needed?
  • Transmission Control Protocol 14 January 2010 16:39 UTC gaia.cs.umass.edu [Source type: Reference]

TCP ports

.TCP uses the notion of port numbers to identify sending and receiving application end-points on a host, or Internet sockets.^ When TCP send a data segment, it requires an acknowledgement from the receiving end.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ An application for sending, receiving, and organizing email.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

^ This is the port number pertaining to the destination application.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.Each side of a TCP connection has an associated 16-bit unsigned port number (0-65535) reserved by the sending or receiving application.^ Source port (16 bits) .
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ Destination Port: 16 bits The destination port number.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ Source Port: 16 bits The source port number.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

.Arriving TCP data packets are identified as belonging to a specific TCP connection by its sockets, that is, the combination of source host address, source port, destination host address, and destination port.^ A pair of sockets uniquely identifies each connection.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ A source or destination of data from the point of view of the TCP or other host-to-host protocol.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ This combination of IP address and port number is called a socket .
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.This means that a server computer can provide several clients with several services simultaneously, as long as a client takes care of initiating any simultaneous connections to one destination port from different source ports.^ When TCP connections are made to a multihomed host, both the WINS client and the Domain Name Resolver (DNR) attempt to determine whether any of the destination IP addresses provided by the name server are on the same subnet as any of the interfaces in the local computer.

^ The client then uses the discovered RFCOMM channel to establish the RFCOMM connection and then start an OBEX session by initiating the OBEX connection operation.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

^ The client is not assigned a port number but cannot use one that is in the 0-1023 range.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

.Port numbers are categorized into three basic categories: well-known, registered, and dynamic/private.^ A port number is also called a well-known address.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ An OBEX server starting up over TCP/IP must initialise its port with the designated value of 650 or a number greater than 1023 as outlined above as well as registering its capabilities into the service discovery database.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

^ The remote-sctp-port keyword specifies a connection to a specific remote SCTP port other than the IUA well-known port.
  • PRI Backhaul Using the Stream Control Transmission Protocol and the ISDN Q.921 User Adaptation Layer  [Cisco IOS Software Releases 12.2 T] - Cisco Systems 14 January 2010 16:39 UTC www.cisco.com [Source type: Reference]

.The well-known ports are assigned by the Internet Assigned Numbers Authority (IANA) and are typically used by system-level or root processes.^ A port number is also called a well-known address.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ A peripheral that uses light receptors for reading printed material and digitally transferring the information as image objects into a computer system for processing.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

^ The client is not assigned a port number but cannot use one that is in the 0-1023 range.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

.Well-known applications running as servers and passively listening for connections typically use these ports.^ You can use the MaxUserPort registry entry to set the value of the highest port number to be used for outbound connections.

^ There is also additional overhead for the connection establishment initiated by the client as it must initialise a socket associated to a TCP port number above 1023 and establish a TCP connection with the host of the server as well as performing service discovery and initiating the connection operation.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

^ A protocol used by applications to contact a time server, in order to obtain current time-of-day data.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

.Some examples include: FTP (21), SSH (22), TELNET (23), SMTP (25) and HTTP (80).^ For example, SMTP is associated with port 25.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ The [ WSDL 1.1 ] specification includes in section 1.2, WSDL Document Example , the example Example 1 SOAP 1.1 Request/Response via HTTP .
  • SOAP over Java Message Service 1.0 14 January 2010 16:39 UTC www.w3.org [Source type: Reference]

.Registered ports are typically used by end user applications as ephemeral source ports when contacting servers, but they can also identify named services that have been registered by a third party.^ Name of the application server process (ASP).
  • PRI Backhaul Using the Stream Control Transmission Protocol and the ISDN Q.921 User Adaptation Layer  [Cisco IOS Software Releases 12.2 T] - Cisco Systems 14 January 2010 16:39 UTC www.cisco.com [Source type: Reference]

^ (Optional) Name of the application server (AS) to use for backhauling the interface.
  • PRI Backhaul Using the Stream Control Transmission Protocol and the ISDN Q.921 User Adaptation Layer  [Cisco IOS Software Releases 12.2 T] - Cisco Systems 14 January 2010 16:39 UTC www.cisco.com [Source type: Reference]

^ Name of the application server to which the ASP belongs.
  • PRI Backhaul Using the Stream Control Transmission Protocol and the ISDN Q.921 User Adaptation Layer  [Cisco IOS Software Releases 12.2 T] - Cisco Systems 14 January 2010 16:39 UTC www.cisco.com [Source type: Reference]

.Dynamic/private ports can also be used by end user applications, but are less commonly so.^ A temporary file that keeps data and applications from being used by multiple processes or users, which may cause data collisions and/or corruption.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

^ As an Internet standard (RFC 1321), MD5 has been employed in a wide variety of security applications, and is also commonly used to check the integrity of files.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ The application layer that would otherwise use a serial port communication interface will use this driver.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

.Dynamic/private ports do not contain any meaning outside of any particular TCP connection.^ Dynamic/private ports do not contain any meaning outside of any particular TCP connection.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ This means that a server computer can provide several clients with several services simultaneously, as long as a client takes care of initiating any simultaneous connections to one destination port from different source ports.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Each side of a TCP connection has an associated 16-bit unsigned port number (0-65535) reserved by the sending or receiving application.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

Development

.TCP is a complex protocol.^ TCP is a complex and evolving protocol.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.However, while significant enhancements have been made and proposed over the years, its most basic operation has not changed significantly since its first specification RFC 675 in 1974, and the v4 specification RFC 793, published in September 1981.^ However, while significant enhancements have been made and proposed over the years, its most basic operation has not changed significantly since its first specification RFC 675 in 1974, and the v4 specification RFC 793 , published in September 1981 .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ However this has been acknowledged by the specification authors and there is currently an extension and enhancement working group examining Personal Area Networking (PAN) with a view to its inclusion in version 2.0 of the specification.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

^ Aliasing can make programs more difficult to understand, since changes made through one reference “magically” affect the other.
  • Software Carpentry:Glossary (Version 1121) 14 January 2010 16:39 UTC swc.scipy.org [Source type: Reference]

.RFC 1122, Host Requirements for Internet Hosts, clarified a number of TCP protocol implementation requirements.^ RFC 1122 , Host Requirements for Internet Hosts, clarified a number of TCP protocol implementation requirements.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The model became known informally as TCP/IP , although formally it was henceforth called the Internet Protocol Suite .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ Figure 1 Much of this document is written in the context of TCP implementations which are co-resident with higher level protocols in the host computer.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

.RFC 2581, TCP Congestion Control, one of the most important TCP-related RFCs in recent years, describes updated algorithms to be used in order to avoid undue congestion.^ RFC 2914 ] Congestion Control Principles.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ RFC 2581 ] TCP Congestion Control.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ RFC 2581, TCP Congestion Control, one of the most important TCP-related RFCs in recent years, describes updated algorithms to be used in order to avoid undue congestion.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.In 2001, RFC 3168 was written to describe explicit congestion notification (ECN), a congestion avoidance signalling mechanism.^ In 2001, RFC 3168 was written to describe explicit congestion notification ( ECN ), a congestion avoidance signalling mechanism.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ RFC 2481 ] A Proposal to add Explicit Congestion Notification (ECN) to IP. Obsoleted by: RFC 3168 .
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ A Proposal to add Explicit Congestion Notification (ECN) to IP (Obsoleted by RFC-3168 prop ) .
  • TRANSMISSION CONTROL PROTOCOL [RFC-Ref] 14 January 2010 16:39 UTC www.rfc-ref.org [Source type: Reference]

.The original TCP congestion avoidance algorithm was known as "TCP Tahoe", but many alternative algorithms have since been proposed (including TCP Reno, TCP Vegas, FAST TCP, TCP New Reno, and TCP Hybla).^ As a result, there are a number of TCP congestion avoidance algorithm variations.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The original TCP congestion avoidance algorithm was known as "TCP Tahoe", but many alternative algorithms have since been proposed (including TCP Reno , TCP Vegas , FAST TCP , TCP New Reno , and TCP Hybla ).
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The TCP congestion avoidance algorithm works very well for ad-hoc environments where it is not known who will be sending data, but if the environment is predictable, a timing based protocol such as ATM can avoid the overhead of the retransmits that TCP needs.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.TCP Interactive (iTCP) [16] is a research effort into TCP extensions that allows applications to subscribe to TCP events and register handler components that can launch applications for various purposes, including application assisted congestion control.^ TCP Interactive (iTCP) is a research effort into TCP extensions that allows applications to subscribe to TCP events and register handler components that can launch applications for various purposes, including application assisted congestion control.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ TCP Interactive (iTCP) [ 8 ] is a research effort into TCP extensions that allows applications to subscribe to TCP events and register handler components that can launch applications for various purposes, including application assisted congestion control.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ RFC 2581 ] TCP Congestion Control.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

TCP over wireless networks

.TCP has been optimized for wired networks.^ TCP has been optimized for wired networks.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.Any packet loss is considered to be the result of congestion and the congestion window size is reduced dramatically as a precaution.^ Any packet loss is considered to be the result of congestion and the congestion window size is reduced dramatically as a precaution.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ When the persist timer expires the TCP sender sends a small packet so that the receiver sends an acknowledgement with the new window size.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Congestion control - sliding window Ordered data transfer, retransmission of lost packets and discarding duplicate packets .
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.However, wireless links are known to experience sporadic and usually temporary losses due to fading, shadowing, hand off, and other radio effects, that cannot be considered congestion.^ However, wireless links are known to experience sporadic and usually temporary losses due to fading, shadowing, hand off, and other radio effects, that cannot be considered congestion.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Like most of the other profiles that use the SPP, the DUNP is intended to enable legacy applications to take advantage of Bluetooth wireless links for existing functions.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

^ After the (erroneous) back-off of the congestion window size, due to wireless packet loss, there can be a congestion avoidance phase with a conservative decrease in window size.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.After the (erroneous) back-off of the congestion window size, due to wireless packet loss, there can be a congestion avoidance phase with a conservative decrease in window size.^ After the (erroneous) back-off of the congestion window size, due to wireless packet loss, there can be a congestion avoidance phase with a conservative decrease in window size.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ Any packet loss is considered to be the result of congestion and the congestion window size is reduced dramatically as a precaution.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ However, wireless links are known to experience sporadic and usually temporary losses due to fading, shadowing, hand off, and other radio effects, that cannot be considered congestion.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.This causes the radio link to be underutilized.^ This causes the radio link to be underutilized.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.Extensive research has been done on the subject of how to combat these harmful effects.^ Extensive research has been done on the subject of how to combat these harmful effects.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.Suggested solutions can be categorized as end-to-end solutions (which require modifications at the client and/or server), link layer solutions (such as RLP in CDMA2000), or proxy based solutions (which require some changes in the network without modifying end nodes).^ Network Access layer such as .
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ A network level, end-to-end connection between a client and a server.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ Suggested solutions can be categorized as end-to-end solutions (which require modifications at the client and/or server), link layer solutions (such as RLP in CDMA2000 ), or proxy based solutions (which require some changes in the network without modifying end nodes).
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

Hardware implementations

.One way to overcome the processing power requirements of TCP is to build hardware implementations of it, widely known as TCP Offload Engines (TOE).^ A software development process in which requirements analysis, design, implementation, and testing are done strictly in that order.
  • Software Carpentry:Glossary (Version 1121) 14 January 2010 16:39 UTC swc.scipy.org [Source type: Reference]

^ RFC 2525 ] Known TCP Implementation Problems.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

.The main problem of TOEs is that they are hard to integrate into computing systems, requiring extensive changes in the operating system of the computer or device.^ The main problem of TOEs is that they are hard to integrate into computing systems, requiring extensive changes in the operating system of the computer or device.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The process of loading a computer's operating system.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

^ A peripheral that uses light receptors for reading printed material and digitally transferring the information as image objects into a computer system for processing.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

.One company to develop such a device was Alacritech.^ The first company to develop such a device was Alacritech .
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The simultaneous pressing of two or more buttons or keys on an input device such as a keyboard or mouse that produces one set action.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

Debugging

.A packet sniffer, which intercepts TCP traffic on a network link, can be useful in debugging networks, network stacks and applications which use TCP by showing the user what packets are passing through a link.^ LCP is used to close the link through an exchange of Terminate packets.
  • rfc1331 - The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links 14 January 2010 16:39 UTC aurora.rg.iupui.edu [Source type: Reference]

^ A packet sniffer , which intercepts TCP traffic on a network link, can be useful in debugging networks, network stacks and applications which use TCP by showing the user what packets are passing through a link.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ To try to accomplish this, typically the MSS is negotiated using the MSS option when the TCP connection is established, in which case it is determined by the maximum transmission unit (MTU) size of the data link layer of the networks to which the sender and receiver are directly attached.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

.Some networking stacks support the SO_DEBUG socket option, which can be enabled on the socket using setsockopt.^ Some networking stacks support the SO_DEBUG socket option, which can be enabled on the socket using setsockopt.
  • Transmission Control Protocol/Internet Protocol encyclopedia topics | Reference.com 14 January 2010 16:39 UTC www.reference.com [Source type: Reference]

^ The first is an enabling option, SACK permitted, which may be sent in a SYN segment to indicate that the SACK option can be used once the connection is established.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ Able to understand and use for good purposes of the useful network tools that can be developed using RAW socket.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.That option dumps all the packets, TCP states and events on that socket which will be helpful in debugging.^ Configure-Reject packets are used to refuse all negotiation about a Configuration Option, typically because it is not recognized or implemented.
  • rfc1331 - The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links 14 January 2010 16:39 UTC aurora.rg.iupui.edu [Source type: Reference]

^ If you want to receive all ICMP packets for a datagram socket it is often better to use IP_RECVERR on that particular socket.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ All modern TCP implementations seek to answer this question by monitoring the normal exchange of data packets and developing an estimate of how long is "too long".
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

netstat is another utility that can be used for debugging.

Alternatives

For many applications TCP is not appropriate. .One big problem (at least with normal implementations) is that the application cannot get at the packets coming after a lost packet until the retransmitted copy of the lost packet is received.^ Code-Reject Description Reception of a LCP packet with an unknown Code indicates that one of the communicating LCP implementations is faulty or incomplete.
  • rfc1331 - The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links 14 January 2010 16:39 UTC aurora.rg.iupui.edu [Source type: Reference]

^ For PoS received data, the number of one-second periods with one or more errored blocks or at least on defect.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ If the reply does not come within the expected period, the packet is assumed to have been lost and the data is retransmitted.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

.This causes problems for real-time applications such as streaming multimedia (such as Internet radio), real-time multiplayer games and voice over IP (VoIP) where it is sometimes more useful to get most of the data in a timely fashion than it is to get all of the data in order.^ Sometimes users need to be sure that all the data they have submitted to the TCP has been transmitted.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ A temporary file that keeps data and applications from being used by multiple processes or users, which may cause data collisions and/or corruption.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

^ Sequence Numbers TCP uses a 32-bit sequence number that counts bytes in the data stream.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

For both historical and performance reasons, most storage area networks (SANs) prefer to use Fibre Channel protocol (FCP) instead of TCP/IP.
.Also for embedded systems, network booting and servers that serve simple requests from huge numbers of clients (e.g.^ Also for embedded systems , network booting and servers that serve simple requests from huge numbers of clients (e.g.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The converse operation is the Get operation where the client is able to pull OBEX objects from the server using the Get-request.
  • The Bluetooth Protocol 14 January 2010 16:39 UTC www.myplick.com [Source type: Reference]

^ Computer systems, servers, network storage, printers, and more connect to hubs to communicate with each other.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

DNS servers) the complexity of TCP can be a problem. .Finally some tricks such as transmitting data between two hosts that are both behind NAT (using STUN or similar systems) are far simpler without a relatively complex protocol like TCP in the way.^ Both protocols deliver data between the Application layer and the Internet layer.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ It is used for decryption or encryption of transmitted data.
  • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

^ FTP: The File Transfer Protocol is used for interactive file transfer between hosts.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.Generally where TCP is unsuitable the User Datagram Protocol (UDP) is used.^ See also: socket , User Datagram Protocol (UDP) .
  • Software Carpentry:Glossary (Version 1121) 14 January 2010 16:39 UTC swc.scipy.org [Source type: Reference]

^ From the above figure, what IP considers to be data field is in fact just another piece of formatted information including both UDP header and user protocol data.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ IPSec uses IKE to handle the negotiation of protocols and algorithms based on local policy and to generate the encryption and authentication keys to be used by IPSec.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

.This provides the application multiplexing and checksums that TCP does, but does not handle building streams or retransmission giving the application developer the ability to code those in a way suitable for the situation and/or to replace them with other methods like forward error correction or interpolation.^ This provides the application multiplexing and checksums that TCP does, but does not handle building streams or retransmission giving the application developer the ability to code those in a way suitable for the situation and/or to replace them with other methods like forward error correction or interpolation .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ However, this does not mean that the 16-bit TCP checksum is redundant: remarkably, introduction of errors in packets between CRC-protected hops is common, but the end-to-end 16-bit TCP checksum catches most of these simple errors [ 3 ] .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ Connection Establishment and Clearing To identify the separate data streams that a TCP may handle, the TCP provides a port identifier.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.SCTP is another IP protocol that provides reliable stream oriented services not so dissimilar from TCP. It is newer and considerably more complex than TCP, and has not yet seen widespread deployment.^ TCP/IP Protocols details > .
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ Able to understand protocols in TCP/IP stack.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ From the above figure, what IP considers to be data field is in fact just another piece of formatted information including both UDP header and user protocol data.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

.However, it is especially designed to be used in situations where reliability and near-real-time considerations are important.^ However, it is especially designed to be used in situations where reliability and near-real-time considerations are important.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ Design and evaluation of effective load sharing in distributed real-time systems .

^ Reliability modeling of hard real-time systems .

.Venturi Transport Protocol (VTP) is a patented proprietary protocol that is designed to replace TCP transparently in order to overcome perceived inefficiencies related to wireless data transport.^ Venturi Transport Protocol (VTP) is a patented proprietary protocol that is designed to replace TCP transparently in order to overcome perceived inefficiencies related to wireless data transport.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ TCP data or higher layer protocol.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ Multipurpose Transaction Protocol (MTP/IP) is patented proprietary software that is designed to adaptively achieve high throughput and transaction performance in a wide variety of network conditions, particularly those where TCP is perceived to be inefficient.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.TCP also has some issues in high bandwidth utilization environments.^ TCP also has some issues in high bandwidth utilization environments.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ Main article: TCP window scale option For more efficient use of high bandwidth networks, a larger TCP window size may be used.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

.The TCP congestion avoidance algorithm works very well for ad-hoc environments where it is not known who will be sending data, but if the environment is predictable, a timing based protocol such as Asynchronous Transfer Mode (ATM) can avoid the overhead of the retransmits that TCP needs.^ TCP is designed to work in a very general environment of interconnected networks.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Sometimes users need to be sure that all the data they have submitted to the TCP has been transmitted.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ IPSec uses IKE to handle the negotiation of protocols and algorithms based on local policy and to generate the encryption and authentication keys to be used by IPSec.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

.Multipurpose Transaction Protocol (MTP/IP) is patented proprietary software that is designed to adaptively achieve high throughput and transaction performance in a wide variety of network conditions, particularly those where TCP is perceived to be inefficient.^ TCP is part of the TCP/IP protocol stack.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ TCP/IP Protocols details > .
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ Able to understand protocols in TCP/IP stack.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

Checksum computation

TCP checksum for IPv4

When TCP runs over IPv4, the method used to compute the checksum is defined in RFC 793:
.The checksum field is the 16 bit one's complement of the one's complement sum of all 16-bit words in the header and text.^ In other words, after appropriate padding, all 16-bit words are added using one's complement arithmetic .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The checksum field is the 16 bit ones complement of the ones complement sum of all 16-bit words in the header and text.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ Checksum 16 bits.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

.If a segment contains an odd number of header and text octets to be checksummed, the last octet is padded on the right with zeros to form a 16-bit word for checksum purposes.^ Data Offset: 4 bits The number of 32 bit words in the TCP Header.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Destination Port: 16 bits The destination port number.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ Source Port: 16 bits The source port number.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.The pad is not transmitted as part of the segment.^ The pad is not transmitted as part of the segment.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.While computing the checksum, the checksum field itself is replaced with zeros.^ While computing the checksum, the checksum field itself is replaced with zeros.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.In other words, after appropriate padding, all 16-bit words are added using one's complement arithmetic.^ In other words, after appropriate padding, all 16-bit words are added using one's complement arithmetic .
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The checksum field is the 16 bit ones complement of the ones complement sum of all 16-bit words in the header and text.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ Checksum: 16 bits The checksum field is the 16 bit one's complement of the one's complement sum of all 16 bit words in the header and text.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.The sum is then bitwise complemented and inserted as the checksum field.^ The sum is then bitwise complemented and inserted as the checksum field.
  • Transmission control protocol (Linux Reviews) 14 January 2010 16:39 UTC linuxreviews.org [Source type: Reference]

^ The checksum field is the 16 bit ones complement of the ones complement sum of all 16-bit words in the header and text.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ Checksum: 16 bits The checksum field is the 16 bit one's complement of the one's complement sum of all 16 bit words in the header and text.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

.A pseudo-header that mimics the IPv4 packet header used in the checksum computation is shown in the table below.^ The checksum also covers a 96-pseudoheader as shown below; it includes source and destination addresses, the protocol, and the segment length.
  • The details of Transmission Control Protocol (TCP), User Datagram (UDP) and Raw socket used in Linux Socket or network programming 14 January 2010 16:39 UTC www.tenouk.com [Source type: Reference]

^ A summary of the Configure-Ack packet format is shown below.
  • rfc1331 - The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links 14 January 2010 16:39 UTC aurora.rg.iupui.edu [Source type: Reference]

^ In the context of the IP protocol family, each router maintains one address which is used as the default routing address for all packets whose destination addresses do not appear in the routing table.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

TCP pseudo-header (IPv4)
Bit offset 0–3 4–7 8–15 16–31
0 Source address
32 Destination address
64 Zeros Protocol TCP length
96 Source port Destination port
128 Sequence number
160 Acknowledgement number
192 Data offset Reserved Flags Window
224 Checksum Urgent pointer
256 Options (optional)
256/288+  
Data
 
.The source and destination addresses are those of the IPv4 header.^ Contains source and destination addresses along with data and a number of fields that define such things as the length of the datagram, the header checksum, and flags to indicate whether the datagram can be (or was) fragmented.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ This pseudo header contains the Source [Page 16] January 1980 Transmission Control Protocol Functional Specification Address, the Destination Address, the Protocol, and TCP length.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

^ IMP The Interface Message Processor, the packet switch of the ARPANET. internet address A source or destination address specific to the host level.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

The protocol value is 6 for TCP (cf. .List of IP protocol numbers).^ IANA also maintains a database of assigned protocol identifiers used in the TCP/IP stack, including autonomous system numbers.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

^ Encapsulation One reason for the small number of point-to-point IP links is the lack of a standard encapsulation protocol.
  • rfc1331 - The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links 14 January 2010 16:39 UTC aurora.rg.iupui.edu [Source type: Reference]

.The TCP length field is the length of the TCP header and data.^ Data Offset: 4 bits The number of 32 bit words in the TCP Header.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ The format and length of the Data field is determined by the Type and Length fields.
  • rfc1331 - The Point-to-Point Protocol (PPP) for the Transmission of Multi-protocol Datagrams over Point-to-Point Links 14 January 2010 16:39 UTC aurora.rg.iupui.edu [Source type: Reference]

^ Contains source and destination addresses along with data and a number of fields that define such things as the length of the datagram, the header checksum, and flags to indicate whether the datagram can be (or was) fragmented.
  • Glossary :: Ixia - Leader in Converged IP Testing 14 January 2010 16:39 UTC www.ixiacom.com [Source type: Reference]

TCP checksum for IPv6

When TCP runs over IPv6, the method used to compute the checksum is changed, as per RFC 2460:
Any transport or other upper-layer protocol that includes the addresses from the IP header in its checksum computation must be modified for use over IPv6, to include the 128-bit IPv6 addresses instead of 32-bit IPv4 addresses.
.A pseudo-header that mimics the IPv6 header for computation of the checksum is shown below.^ The checksum also covers a 96 bit pseudo header conceptually prefixed to the TCP header.
  • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]

TCP pseudo-header (IPv6)
Bit offset 0 - 7 8–15 16–23 24–31
0 Source address
32
64
96
128 Destination address
160
192
224
256 TCP length
288 Zeros Next header
320 Source port Destination port
352 Sequence number
384 Acknowledgement number
416 Data offset Reserved Flags Window
448 Checksum Urgent pointer
480 Options (optional)
480/512+  
Data
 
  • Source address – the one in the IPv6 header
  • Destination address – the final destination; if the IPv6 packet doesn't contain a Routing header, that will be the destination address in the IPv6 header, otherwise, at the originating node, it will be the address in the last element of the Routing header, and, at the receiving node, it will be the destination address in the IPv6 header.
  • TCP length – the length of the TCP header and data;
  • Next Header – the protocol value for TCP

Checksum offload

. Many TCP/IP software stack implementations provide options to use hardware assistance to automatically compute the checksum in the network adapter prior to transmission onto the network or upon reception from the network for validation.^ A TCP must implement all options.
  • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

^ This extension uses two TCP options.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

^ RFC 1158 ] Management Information Base for Network Management of TCP/IP-based internets: MIB-II. [ RFC 1180 ] A TCP/IP Tutorial.
  • Protocol: TCP ( Transmission Control Protocol ) 14 January 2010 16:39 UTC www.protocolbase.net [Source type: Reference]

See also

References

  1. ^ Vinton G. Cerf, Robert E. Kahn, A Protocol for Packet Network Intercommunication, IEEE Transactions on Communications, Vol. 22, No. 5, May 1974 pp. 637-648
  2. ^ a b c d e f g h i j Comer, Douglas E. (2006). Internetworking with TCP/IP:Principles, Protocols, and Architecture. 1 (5th ed.). Prentice Hall. ISBN 0130905526. 
  3. ^ http://www.iana.org/assignments/tcp-parameters/
  4. ^ RFC 1323, TCP Extensions for High Performance, Section 2.2
  5. ^ RFC 2018, TCP Selective Acknowledgement Options, Section 2
  6. ^ RFC 2018, TCP Selective Acknowledgement Options, Section 3
  7. ^ RFC 1323, TCP Extensions for High Performance, Section 3.2
  8. ^ RFC 1146, TCP Alternate Checksum Options
  9. ^ Stone; Partridge (2000), "When The CRC and TCP Checksum Disagree", Sigcomm, http://citeseer.ist.psu.edu/stone00when.html 
  10. ^ http://lwn.net/Articles/92727/
  11. ^ Gont, Fernando (2008-11). "On the implementation of TCP urgent data". 73rd IETF meeting. http://www.gont.com.ar/talks/IETF73/ietf73-tcpm-urgent-data.ppt. Retrieved 2009-01-04. 
  12. ^ Peterson, Larry (2003). Computer Networks. Morgan Kaufmann. pp. 401. ISBN 155860832X. 
  13. ^ Tanenbaum, Andrew S. (2003-03-17). Computer Networks (Fourth ed.). Prentice Hall. ISBN 0-13-066102-3. 
  14. ^ Exploiting TCP and the Persist Timer Infiniteness
  15. ^ Laurent Joncheray, Simple Active Attack Against TCP, 1995
  16. ^ TCP Interactive (iTCP)

Further reading

  • W. Richard Stevens. .TCP/IP Illustrated, Volume 1: The Protocols.^ Bootstrap Protocol (bootp) A TCP/IP protocol allowing a diskless workstation to find its own IP address at startup.
    • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

    ^ Internet protocol ( PLIP ) A protocol that allows TCP/IP communication over a computer's parallel port using a specially-designed cables.
    • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

    ^ PPP ) Successor to the serial line internet protocol ( SLIP ) protocol for computer system connectivity to TCP/IP networks.
    • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

    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.^ Bootstrap Protocol (bootp) A TCP/IP protocol allowing a diskless workstation to find its own IP address at startup.
    • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

    ^ Internet protocol ( PLIP ) A protocol that allows TCP/IP communication over a computer's parallel port using a specially-designed cables.
    • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

    ^ PPP ) Successor to the serial line internet protocol ( SLIP ) protocol for computer system connectivity to TCP/IP networks.
    • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

    ISBN 0-201-63495-3

External links

  • Oral history interview with Robert E. Kahn, Charles Babbage Institute, University of Minnesota, Minneapolis. .Focuses on Kahn's role in the development of computer networking from 1967 through the early 1980s.^ As strategic and tactical computer communication networks are developed and deployed, it is essential to provide means of interconnecting them and to provide standard interprocess communication protocols which can support a broad range of applications.
    • RFC 761 (rfc761) - DoD standard Transmission Control Protocol 14 January 2010 16:39 UTC www.faqs.org [Source type: Reference]
    • RFC 793 14 January 2010 16:39 UTC www.normos.org [Source type: Reference]

    ^ UNIX Pronounced "you-niks," a multi-user, multitasking network operating system developed at Bell Labs in the early 1970s.
    • http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/glossary/index.html 14 January 2010 16:39 UTC www.redhat.com [Source type: Reference]

    Beginning with his work at Bolt Beranek and Newman (BBN), Kahn discusses his involvement as the ARPANET proposal was being written, his decision to become active in its implementation, and his role in the public demonstration of the ARPANET. The interview continues into Kahn's involvement with networking when he moves to IPTO in 1972, where he was responsible for the administrative and technical evolution of the ARPANET, including programs in packet radio, the development of a new network protocol (TCP/IP), and the switch to TCP/IP to connect multiple networks.
  • IANA Port Assignments
  • John Kristoff's Overview of TCP (Fundamental concepts behind TCP and how it is used to transport data between two endpoints)
  • RFC 675 - Specification of Internet Transmission Control Program, December 1974 Version
  • RFC 793 - TCP v4
  • RFC 1122 - includes some error corrections for TCP
  • RFC 1323 - TCP-Extensions
  • RFC 1379 - Extending TCP for Transactions—Concepts
  • RFC 1948 - Defending Against Sequence Number Attacks
  • RFC 2018 - TCP Selective Acknowledgment Options
  • RFC 2581 - TCP Congestion Control
  • RFC 2988 - Computing TCP's Retransmission Timer
  • RFC 4614 - A Roadmap for TCP Specification Documents
  • TCP, Transmission Control Protocol
  • Checksum example

Wiktionary

Up to date as of January 15, 2010

Definition from Wiktionary, a free dictionary

Contents

English

Noun

  1. (computing) (Internet) A networking protocol, almost always layered on top of the Internet Protocol, that provides reliable, connection based communications.

Synonyms

See also


Citable sentences

Up to date as of December 25, 2010

Here are sentences from other pages on Transmission Control Protocol, which are similar to those in the above article.








Got something to say? Make a comment.
Your name
Your email address
Message