传输层协议主要有两个:TCP协议和UDP协议。这次主要讲解TCP协议
使用TCP协议通信的双方必须写建立连接,然后才能开始数据的读写。双方都必须为该连接分配必要的内核资源,以管理连接的状态和连接上数据的传输。TCP连接时全双工的,即双方的数据度邪恶可以通过一个连接进行。完成数据交换后,通信双方都必须断开连接以释放系统资源。
发送端执行的写操作和接收端执行的读操作次数之间没有任何数量关系。因为缓冲区中的数据都可以一次或者多次发送和接收。
TCP头部结构
6位标志位:
UNG标志:表示紧急指针是否有效。
ACK标志:表示确认号是否有效。我们将携带ACK标志的TCP报文段为确认 报文段。
PSH标志:提示接收端应用程序应该立即从TCP接收缓冲区中读走数据,为接收后续数据腾出空间。
RST标志:表示要求对方重新建立连接。我们将携带RST标志的TCP报文段为复位报文段。
SYN标志:表示请求建立一个连接。我们将携带SYN标志的TCP报文段为同步报文段。
FIN标志:表示通知对方本端要关闭连接了。我们将携带FIN标志的TCP报文段为结束报文段。
TCP连接的建立
三次握手过程:
第一次握手:
客户端 ---> 发送SYN连接报文,序列号为x,进入SYN_SENT状态。
第二次握手:
服务器 ---> 发送SYN连接确认报文(SYN = 1,ACK = 1),序列号为y(seq = y),确认报文x(ack = x + 1),即SYN&