TCP通信的三次握手及四次挥手
2017-03-25 23:36
281 查看
一般客户端与web服务器间通信都是通过TCP协议通信,期间会有人们常说的三次握手后,我们才会从服务器接受到数据,我们实际运行中,这个过程其实进行的非常快。
三次握手:
1、在发送数据之前会发送一个包,会在包里赋个值给服务器,确认服务器通不通。如:发送的syn = 0
2、服务器收到包后会回给客户端一个确认包,会在客户端包的值上+1视为确认(这是一种规定)回复就是syn = 1,服务器也会再发过去确认包的同时会附加一个值(ACK = 0),来判断客户端是否收到确认包。
3、当客户端收到服务器的确认包后,就会知道服务器可以连通,同时回复服务器发来的确认包附加数值后返回给服务器(ACK = 1),服务器收到后就会知道客户端已经收到了确认包,两端就可以进行正常通信,至此三次握手结束,客户端才会发数据给服务器。
四次挥手
1、假如客户端不再需要服务器服务时,会给服务器发送一个包,告知服务器。
2、客户端怎么能知道服务器收到通知包了呢?这时候服务器收到后会,会发送一个确认包给客户端回复确认。
3、发送后,服务器又怎么能知道客户端收到了呢? 所以就会发送一个给客户端的确认包。
4、当客户端上收到确认包后,知道服务器已经收到通知后,就会恢复确认包给服务器,服务器收到后,整个过程结束。
注:在三次握手和四次挥手的过程中,如果有一方一直收不到确认包,那么就会卡在那个地方,将不会再往下执行。
三次握手:
1、在发送数据之前会发送一个包,会在包里赋个值给服务器,确认服务器通不通。如:发送的syn = 0
2、服务器收到包后会回给客户端一个确认包,会在客户端包的值上+1视为确认(这是一种规定)回复就是syn = 1,服务器也会再发过去确认包的同时会附加一个值(ACK = 0),来判断客户端是否收到确认包。
3、当客户端收到服务器的确认包后,就会知道服务器可以连通,同时回复服务器发来的确认包附加数值后返回给服务器(ACK = 1),服务器收到后就会知道客户端已经收到了确认包,两端就可以进行正常通信,至此三次握手结束,客户端才会发数据给服务器。
四次挥手
1、假如客户端不再需要服务器服务时,会给服务器发送一个包,告知服务器。
2、客户端怎么能知道服务器收到通知包了呢?这时候服务器收到后会,会发送一个确认包给客户端回复确认。
3、发送后,服务器又怎么能知道客户端收到了呢? 所以就会发送一个给客户端的确认包。
4、当客户端上收到确认包后,知道服务器已经收到通知后,就会恢复确认包给服务器,服务器收到后,整个过程结束。
注:在三次握手和四次挥手的过程中,如果有一方一直收不到确认包,那么就会卡在那个地方,将不会再往下执行。
相关文章推荐
- TCP通信的三次握手和四次挥手的详细流程(顿悟)
- TCP通信的三次握手和四次挥手
- TCP通信----三次握手与四次挥手状态转换
- 图解TCP通信三次握手和四次挥手
- Lniux网络通信二(TCP三次握手,四次挥手 并发服务器)
- 【java面试系列之网络编程】TCP和UDP的区别、TCP协议的三次握手和四次挥手、TCP协议的通信状态、网络编程时的同步、异步、阻塞、非阻塞、进程间的通信方式、TCP的流量控制和拥塞控制
- 网络通信 --> TCP三次握手和四次挥手
- 【网络通信】TCP三次握手和四次挥手的示意图
- TCP 三次握手,四次挥手的过程
- TCP的三次握手(建立连接)和四次挥手(关闭连接)
- TCP-三次握手、四次挥手详解
- TCP三次握手/四次挥手详解
- TCP 三次握手与四次挥手 看了你必懂
- TCP的三次握手(建立连接)和四次挥手(关闭连接)
- TCP三次握手/四次挥手详解
- 用Java代码分析TCP的三次握手四次挥手过程
- TCP/IP三次握手与四次挥手
- (转)TCP/IP三次握手与四次挥手_老六_新浪博客
- TCP/IP的三次握手与四次挥手详解
- Linux网络编程——浅谈 TCP 三次握手和四次挥手