标签:技术 details 发送数据 目标 detail 套接字 三次 地址 个数
两个主机之间的通信是一个主机的进程与另一个主机的进程在交换数据,IP协议只是把数据包文传输到目的主机,但并没有交付给目的主机的具体应用进程。只有端到端的通信才是真正的应用进程之间的通信
TCP把链接作为最基础的对象,每一条TCP链接都有两个端点,端点也叫作套接字,套接字的定义为:IP地址拼接端口号,如:192.168.77.91:8080。
最开始的时候客户端和服务器都是处于CLOSED状态。主动打开连接的为客户端,被动打开连接的是服务器。
数据传输完毕后,双方都可释放连接。最开始的时候,客户端和服务器都是处于ESTABLISHED状态,然后客户端主动关闭,服务器被动关闭。
2MSL
- 确保最后一个ACK报文能够到达目标服务器.
- 消耗本次连接中的旧报文。
为什么建立连接是三次握手,关闭连接确是四次挥手呢?
三次握手中,服务端将同步SYN和确认ACK放到一个报文里发送给客户端。关闭连接时,服务端接收到客户端连接终止请求,这仅表示对方不再发送数据但还能继续接受数据,而自身还可有数据未发送,所以先对客户端的连接终止请求恢复确认报文,如果还有数据需要发送则接着发送未发送的数据,待数据发送完毕再发送FIN报文给客户端表示同意现在关闭连接。由于己方的ACK和FIN报文是分开发送的,所以会多了一次请求。
如果已经建立了连接,但是客户端突然出现故障了怎么办?
TCP保活计时器,多次发送探测报文。
标签:技术 details 发送数据 目标 detail 套接字 三次 地址 个数
原文地址:https://www.cnblogs.com/Utah-Lee/p/10548268.html