当前位置:首页 > 云服务器 > 正文

云服务器的镜像如何选择


一、TCP/IP连接中服务器发送[RST,ACK],客户端应该如何回应?

TCP/IP详解-接收RST响应时的各种情况:

1.端口未开放

服务器程序端口未开放,客户端过来连接。这种情况是最常见的,也是最容易理解的。当Telnet未打开的TCP端口时,可能会出现此错误。这与操作系统的实现有关。在某些情况下,操作系统完全忽略这些对未开放端口的请求。

2.请求超时

我曾经遇到过这样的情况:客户端连接到服务器,连接为-1并返回“INPROGRESS”错误。直接Telnet确定网络连接没有问题。ping时没有丢包。使用抓包工具检查客户端是否在收到服务器发送的SYN后莫名其妙地发送了RST。

3.提早关闭

关于TCP,我想大家都在课本上看过一句话:“TCP是可靠的连接”。这绝对意味着我将操作系统通过TCP连接接收到的每个字节都保留给应用程序。

高级信息

TCP/IP连接三次握手

TCP/IP协议中,TCP协议可靠连接服务使用三次握手来建立连接。

第一次握手:建立连接时,客户端向服务器发送Syn数据包(syn=j),并切换到SYN_SEND状态,等待服务器确认SYN:SynchronizeSequenceNumbers

第二次握手:服务器收到syn数据包,必须确认客户端的SYN(ack=j+1)。同时,还发送SYN包(syn=k),即SYN+ACK包。此时服务器进入SYN_RECV状态。第三次握手:客户端收到服务器发来的SYN+ACK包,然后发送确认包ACK(ack=k+1)。数据包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

三次握手完成后,客户端和服务器端开始数据传输。