9 lines
1.8 KiB
Org Mode
9 lines
1.8 KiB
Org Mode
:PROPERTIES:
|
|
:ID: 0fa93c0d-6741-48cf-8bea-f2519146e4dc
|
|
:END:
|
|
#+title: TCP
|
|
|
|
The Transmission Control Protocol (TCP) is one of the main protocols of the Internet [[id:bd5b34ba-aa98-4808-b97b-2376aa7b8866][protocol]] suite. It originated in the initial [[id:c9461f7b-7368-4b88-b90b-2d785fda2159][network]] implementation in which it complemented the Internet Protocol ([[id:f055acfb-05dd-4228-a92a-356240b8c975][IP]]). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, [[id:422e07f8-c888-460f-849e-76d451946045][remote administration]], and file transfer ([[id:7fb31a9c-b252-493f-958b-e2d330047b18][FTP]]) rely on TCP, which is part of the Transport Layer of the TCP/IP suite. [[id:95c8982d-e104-43a2-9bb2-fd7e1c3204f2][SSL]]/[[id:872ee33b-8361-40c7-9d88-69b3afe5ade2][TLS]] often runs on top of TCP.
|
|
|
|
TCP is connection-oriented, and a connection between [[id:70899526-8b7d-4976-94fc-cc07c41e550a][client]] and [[id:f2b1d5af-1a7d-47a5-95c8-4a85d558419e][server]] is established before data can be sent. The server must be listening (passive open) for connection requests from clients before a connection is established. Three-way handshake (active open), retransmission, and error detection adds to reliability but lengthens latency. Applications that do not require reliable data stream service may use the User Datagram Protocol ([[id:b9c823ff-4cf4-46a0-8654-54bdc7b67d30][UDP]]) instead, which provides a connectionless datagram service that prioritizes time over reliability. TCP employs network congestion avoidance. However, there are vulnerabilities in TCP, including denial of service, connection hijacking, TCP veto, and reset attack
|