随着互联网技术的迅猛发展,现在逐步渐入大数据、云计算、虚拟技术和人工智能时代,技术为王的现象越来越明显了。现下网站规模越来越大、架构越来越复杂,企业对于运维工程师、架构师的要求也越来越急迫,特别是对有经验的优秀运维人才需求量大,而运维工程师技术含量和要求也会随之越来越高。那么我们看一个Linux运维网络的面试题,为什么要三次握手?
保证可靠的核心就是双方都需要确认自己发送和接受信息的功能正常,但因为网络环境的不稳定性,这一秒能收发下一秒可能网络核心就发生严重拥塞,所以世界上不存在完全可靠的通信协议.两次握手会怎样?若建立连接只需两次握手,客户端并没有太大的变化,在获得服务端的应答后进入ESTABLISHED状态,即确认自己的发送和接受信息的功能正常.但如果服务端在收到连接请求后就进入ESTABLISHED状态,不能保证客户端能收到自己的信息,此时如果网络拥塞,客户端发送的连接请求迟迟到不了服务端,客户端便超时重发请求,如果服务端正确接收并确认应答,双方便开始通信,通信结束后释放连接。此时,如果那个失效的连接请求抵达了服务端,由于只有两次握手,服务端收到请求就会进入ESTABLISHED状态,等待发送数据或主动发送数据。但此时的客户端早已进入CLOSED状态,服务端将会一直等待下去,这样浪费服务端连接资源。
Linux如今深受互联网企业的喜爱,想要众多的IT工作者中脱颖而出,就需要拥有高深的技术,学习增值是必不可少的。学习之路,是贵在坚持的。
联系客服