TCP/IP
传输控制协议
TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内[1] 另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
TCP交互过程包括三次握手和四次关闭。
一、TCP服务特点
1、TCP相对于UDP来说的特点:面向连接、字节流和可靠传输;使用TCP协议双方必须先建立连接,然后才能开始数据的读写;双方都要为连接分配必要的内核资源,完成数据交换以后,通信双方都必须断开连接以释放资源。
2、TCP协议时一对一的,而UDP适合广播和多播。
3、发送和接收数据都先将数据放入缓冲区中,真正发送时可能将这些数据封装到一个或多个TCP报文段发出。
tip:字节流:应用程序对数据的发送和接收是没有边界限制的。
4、TCP传输是可靠的,表现在三个方面
(1)TCP协议采用发送应答机制,即发送端发送的每个TCP报文段都必须得到接收方的应答。
(2)采用超时重传机制;
(3)TCP协议会对接收到的TCP报文段重排、整理,再交付给应用层。(因为TCP报文段最后是以IP数据报发送的)
二、TCP的建立和关闭
1、三次握手和四次挥手过程