3.5 面向连接的运输: TCP
3.5.1 TCP连接
- tcp是因特网运输层的面向连接的可靠的运输协议。
- tcp只工作在两个端系统中,不在中间的网络元素(路由器和交换机)中运行。即中间路由器完全看不见tcp连接,它们看到的只有数据报。
- tcp是全双工的工作状态,即两个端系统A,B一旦建立tcp连接,端系统A向端系统B传输信息的同时,端系统A可以接收来自端系统B的信息。
- tcp连接是“点对点”,即单个发送方和单个接收方之间的连接。
- tcp一旦建立连接,就可以发送数据;应用程序通过套接字将数据传递给运输层,运输层将数据引到到该连接的发送缓存。在发送过程中,将数据分成多个部分,每个部分加上一个TCP首部,从而形成多个TCP报文段。
- tcp数据报的大小取决于最大传输单元(Maximum Transmission Unit 即MTU);
- 一般因特网和PPP链路层协议的最大传输单元为1500个字节。
- 由于TCP/IP报文段的首部信息占用40字节,所以tcp数据报的最大报文段长度(Maximum Segment Size 即MSS)一般为1460个字节。
一个TCP连接的组成包括:一台主机上的缓存,变量和与进程连接的套接字,以及另外一台主机上的缓存,变量和与进程连接的套接字。