<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Reliable Stream Transport Service (TCP) defined in FAQs</title>
    <link>https://community.extremenetworks.com/t5/faqs/reliable-stream-transport-service-tcp-defined/m-p/43641#M186</link>
    <description>Article ID: 3590 &lt;BR /&gt;
&lt;BR /&gt;
&lt;B&gt;Protocols/Features&lt;/B&gt;&lt;BR /&gt;
TCP&lt;BR /&gt;
Transmission Control Protocol &lt;BR /&gt;
&lt;BR /&gt;
&lt;B&gt;Solution&lt;/B&gt;&lt;BR /&gt;
Transmission Control Protocol adds substantial complexity and functionality to ARP, Proxy ARP, and UDP. TCP is not a piece of software it is a communication protocol. &lt;BR /&gt;
&lt;BR /&gt;
TCP is is a connection oriented protocol that requires both endpoints to agree.&lt;BR /&gt;
TCP provides a full duplex connection between two machines, allowing them to exchange large volumes of data efficiently.&lt;BR /&gt;
TCP is flexible enough to operate over a large variety of delivery systems.&lt;BR /&gt;
TCPs basic unit of transfer is a segment.&lt;BR /&gt;
TCP implements flow control and supports out-of-band messages.&lt;BR /&gt;
TCPs standard specifies exponential backoff for retransmission timers and congestion avoidance algorithms.&lt;BR /&gt;
TCP uses heuristics to avoid transferring small packets. &lt;BR /&gt;
&lt;BR /&gt;
Exactly what does TCP provide?&lt;OL&gt; 
&lt;LI&gt;TCP specifies the format of the data and acknowledgments that two computers exchange to achieve a reliable transfer, as well as the procedures that computers use to ensure that the data arrives correctly. 
&lt;/LI&gt;&lt;LI&gt;Specifies how TCP software distinguishes among multiple destinations on a given machine, and how communicating machines recover from errors like lost or duplicated packets. 
&lt;/LI&gt;&lt;LI&gt;TCP also provides how two computers initiate a TCP stream transfer and how they agree when it is complete. 
&lt;/LI&gt;&lt;LI&gt;TCP's strengths are:[list=1] 
&lt;/LI&gt;&lt;LI&gt;dial-up lines 
&lt;/LI&gt;&lt;LI&gt;LANs 
&lt;/LI&gt;&lt;LI&gt;High Speed fiber optic networks 
&lt;/LI&gt;&lt;LI&gt;Low speed long haul networks&lt;/LI&gt;&lt;/OL&gt;Exactly what does TCP not include?&lt;OL&gt; 
&lt;LI&gt;Does not dictate the details of the interface between an application program and TCP. 
&lt;/LI&gt;&lt;LI&gt;The protocol documentation only discusses the operation TCP supplies and does not specify the exact procedures application programs invoke to access these operations. 
&lt;/LI&gt;&lt;LI&gt;(This makes the application program interface unspecified, 'very flexible') 
&lt;/LI&gt;&lt;LI&gt;The Operating System provides programmers an interface to connect the TCP and creates a single specification for TCP software to be built against various machines.&lt;/LI&gt;&lt;/OL&gt;PORTS, CONNECTIONS, AND ENDPOINTS&lt;BR /&gt;
TCP port numbers don't correspond to a single object but are identified as a virtual circuit connection.&lt;BR /&gt;
An endpoint is a pair of integers (host,port). host=IP address &amp;amp; port=TCP port. (ex. 10.10.0.1,25) A connection is defined by two endpoints.&lt;BR /&gt;
Because TCP identifies a connection by a pair of endpoints, a given TCP port number can be shared by multiple connections on the same machine. &lt;BR /&gt;
&lt;BR /&gt;
NOTE: A programmer can devise a program that provides concurrent service to multiple connections simultaneously without needing unique local port numbers for each connection. &lt;BR /&gt;
&lt;BR /&gt;
PASSIVE AND ACTIVE OPENS&lt;BR /&gt;
First, App1 performs PASSIVE OPEN function by contacting its operating system and indicating that it will accept an incoming connection. OS assigns TCP port number for its end of the connection.&lt;BR /&gt;
Second, App2 contacts its OS using a ACTIVE OPEN request to establish a connection.&lt;BR /&gt;
The two TCP software modules communicate to establish and verify connection.&lt;BR /&gt;
After connections are established they begin to pass data.&lt;BR /&gt;
Delivery is guaranteed reliable. &lt;BR /&gt;
&lt;BR /&gt;
CLOSING A TCP CONNECTION&lt;BR /&gt;
TCP connections are full duplex and contain two independent stream transfers, one going in each direction.&lt;BR /&gt;
When there is no more data to be sent, TCP closes the connection in one direction.&lt;BR /&gt;
TCP finishes transmitting the remaining data, waits for the receiver to acknowledge it, and then sends a segment with the FIN bit set.&lt;BR /&gt;
The FIN bit informs the application program that no more data is available (using the OS's end-of-file mechanism). &lt;BR /&gt;
&lt;BR /&gt;
RESERVED TCP PORT NUMBERS&lt;BR /&gt;
TCP combines static and dynamic port binding, using a set of well-known port assignments for commonly invoked programs.&lt;BR /&gt;
TCP &amp;amp; UDP ports are independent but have chosen to use the same integer port numbers.</description>
    <pubDate>Wed, 27 Nov 2013 02:00:00 GMT</pubDate>
    <dc:creator>FAQ_User</dc:creator>
    <dc:date>2013-11-27T02:00:00Z</dc:date>
    <item>
      <title>Reliable Stream Transport Service (TCP) defined</title>
      <link>https://community.extremenetworks.com/t5/faqs/reliable-stream-transport-service-tcp-defined/m-p/43641#M186</link>
      <description>Article ID: 3590 &lt;BR /&gt;
&lt;BR /&gt;
&lt;B&gt;Protocols/Features&lt;/B&gt;&lt;BR /&gt;
TCP&lt;BR /&gt;
Transmission Control Protocol &lt;BR /&gt;
&lt;BR /&gt;
&lt;B&gt;Solution&lt;/B&gt;&lt;BR /&gt;
Transmission Control Protocol adds substantial complexity and functionality to ARP, Proxy ARP, and UDP. TCP is not a piece of software it is a communication protocol. &lt;BR /&gt;
&lt;BR /&gt;
TCP is is a connection oriented protocol that requires both endpoints to agree.&lt;BR /&gt;
TCP provides a full duplex connection between two machines, allowing them to exchange large volumes of data efficiently.&lt;BR /&gt;
TCP is flexible enough to operate over a large variety of delivery systems.&lt;BR /&gt;
TCPs basic unit of transfer is a segment.&lt;BR /&gt;
TCP implements flow control and supports out-of-band messages.&lt;BR /&gt;
TCPs standard specifies exponential backoff for retransmission timers and congestion avoidance algorithms.&lt;BR /&gt;
TCP uses heuristics to avoid transferring small packets. &lt;BR /&gt;
&lt;BR /&gt;
Exactly what does TCP provide?&lt;OL&gt; 
&lt;LI&gt;TCP specifies the format of the data and acknowledgments that two computers exchange to achieve a reliable transfer, as well as the procedures that computers use to ensure that the data arrives correctly. 
&lt;/LI&gt;&lt;LI&gt;Specifies how TCP software distinguishes among multiple destinations on a given machine, and how communicating machines recover from errors like lost or duplicated packets. 
&lt;/LI&gt;&lt;LI&gt;TCP also provides how two computers initiate a TCP stream transfer and how they agree when it is complete. 
&lt;/LI&gt;&lt;LI&gt;TCP's strengths are:[list=1] 
&lt;/LI&gt;&lt;LI&gt;dial-up lines 
&lt;/LI&gt;&lt;LI&gt;LANs 
&lt;/LI&gt;&lt;LI&gt;High Speed fiber optic networks 
&lt;/LI&gt;&lt;LI&gt;Low speed long haul networks&lt;/LI&gt;&lt;/OL&gt;Exactly what does TCP not include?&lt;OL&gt; 
&lt;LI&gt;Does not dictate the details of the interface between an application program and TCP. 
&lt;/LI&gt;&lt;LI&gt;The protocol documentation only discusses the operation TCP supplies and does not specify the exact procedures application programs invoke to access these operations. 
&lt;/LI&gt;&lt;LI&gt;(This makes the application program interface unspecified, 'very flexible') 
&lt;/LI&gt;&lt;LI&gt;The Operating System provides programmers an interface to connect the TCP and creates a single specification for TCP software to be built against various machines.&lt;/LI&gt;&lt;/OL&gt;PORTS, CONNECTIONS, AND ENDPOINTS&lt;BR /&gt;
TCP port numbers don't correspond to a single object but are identified as a virtual circuit connection.&lt;BR /&gt;
An endpoint is a pair of integers (host,port). host=IP address &amp;amp; port=TCP port. (ex. 10.10.0.1,25) A connection is defined by two endpoints.&lt;BR /&gt;
Because TCP identifies a connection by a pair of endpoints, a given TCP port number can be shared by multiple connections on the same machine. &lt;BR /&gt;
&lt;BR /&gt;
NOTE: A programmer can devise a program that provides concurrent service to multiple connections simultaneously without needing unique local port numbers for each connection. &lt;BR /&gt;
&lt;BR /&gt;
PASSIVE AND ACTIVE OPENS&lt;BR /&gt;
First, App1 performs PASSIVE OPEN function by contacting its operating system and indicating that it will accept an incoming connection. OS assigns TCP port number for its end of the connection.&lt;BR /&gt;
Second, App2 contacts its OS using a ACTIVE OPEN request to establish a connection.&lt;BR /&gt;
The two TCP software modules communicate to establish and verify connection.&lt;BR /&gt;
After connections are established they begin to pass data.&lt;BR /&gt;
Delivery is guaranteed reliable. &lt;BR /&gt;
&lt;BR /&gt;
CLOSING A TCP CONNECTION&lt;BR /&gt;
TCP connections are full duplex and contain two independent stream transfers, one going in each direction.&lt;BR /&gt;
When there is no more data to be sent, TCP closes the connection in one direction.&lt;BR /&gt;
TCP finishes transmitting the remaining data, waits for the receiver to acknowledge it, and then sends a segment with the FIN bit set.&lt;BR /&gt;
The FIN bit informs the application program that no more data is available (using the OS's end-of-file mechanism). &lt;BR /&gt;
&lt;BR /&gt;
RESERVED TCP PORT NUMBERS&lt;BR /&gt;
TCP combines static and dynamic port binding, using a set of well-known port assignments for commonly invoked programs.&lt;BR /&gt;
TCP &amp;amp; UDP ports are independent but have chosen to use the same integer port numbers.</description>
      <pubDate>Wed, 27 Nov 2013 02:00:00 GMT</pubDate>
      <guid>https://community.extremenetworks.com/t5/faqs/reliable-stream-transport-service-tcp-defined/m-p/43641#M186</guid>
      <dc:creator>FAQ_User</dc:creator>
      <dc:date>2013-11-27T02:00:00Z</dc:date>
    </item>
  </channel>
</rss>

