TCP协议的三次握手
2016-02-14 11:35
405 查看
第一次握手:建立连接,客户端发送SYN包到服务器,进入SYN_SEND状态,等待服务器确认
第二次握手:服务器收到SYN包,确认客户的SYN,同时也发送一个SYN包,即SYN+ACK包,服务器进入SYN_RECV状态
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,客户端和服务器进入ESTABLISHED状态,完成三次握手
完成三次握手,客户端和服务器开始传送数据。
一些重要概念:
1、未连接队列:三次握手中,服务器维护一个未连接队列,为每个客户端SYN包设置一个条目,表示服务器已收到SYN包,向客户端发出确认,等待客户端的确认包ACK。当服务器收到客户端的ACK包后,删除该条目,进入ESTABLISHED状态。
2、SYN同步标志:synchronized sequence numbers栏位有效。SYN标志仅在三次握手建立TCP连接时有效。
3、ACK确认标志:acknowledgement number栏位有效
4、RST复位标志:复位相应的TCP连接
5、URG紧急标志:urgent pointer标志有效。
6、PSH推标志:该标志置位时,接收端不将该数据队列处理,而是将数据尽快转由应用处理。在处理telnet或rlogin等交互模式时,该标志总是置位的
7、FIN结束标志:结束一个TCP会话,但端口仍处于开放状态,准备接收后续数据
第二次握手:服务器收到SYN包,确认客户的SYN,同时也发送一个SYN包,即SYN+ACK包,服务器进入SYN_RECV状态
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK,客户端和服务器进入ESTABLISHED状态,完成三次握手
完成三次握手,客户端和服务器开始传送数据。
一些重要概念:
1、未连接队列:三次握手中,服务器维护一个未连接队列,为每个客户端SYN包设置一个条目,表示服务器已收到SYN包,向客户端发出确认,等待客户端的确认包ACK。当服务器收到客户端的ACK包后,删除该条目,进入ESTABLISHED状态。
2、SYN同步标志:synchronized sequence numbers栏位有效。SYN标志仅在三次握手建立TCP连接时有效。
3、ACK确认标志:acknowledgement number栏位有效
4、RST复位标志:复位相应的TCP连接
5、URG紧急标志:urgent pointer标志有效。
6、PSH推标志:该标志置位时,接收端不将该数据队列处理,而是将数据尽快转由应用处理。在处理telnet或rlogin等交互模式时,该标志总是置位的
7、FIN结束标志:结束一个TCP会话,但端口仍处于开放状态,准备接收后续数据
相关文章推荐
- iOS开发之网络编程--中文转码
- VMware网络连接三种模式bridged、host-only、NAT
- OKHttp使用简介
- HTTP与HTTPS的区别
- iOS开发使用GDataXML框架解析网络数据
- jQuery全屏滚动插件fullPage(转自https://github.com/powy1993/fullpage)
- scapy-掌控网络-窃取email认证
- scapy-网络掌控者-基本
- Android 网络编程--socket tcp/ip udp http之间的关系
- iOS开发使用XML解析网络数据
- iOS开发使用JSON解析网络数据
- iOS开发之网络数据解析--GDataXML解析框架的使用
- iOS开发之网络数据解析--中文输出
- 用Wireshark分析HTTP通信
- iOS开发之网络数据解析(二)--XML解析简介
- Android Studio apk 打包流程(转)http://blog.chinaunix.net/uid-26000296-id-5567890.html
- 《HTTP权威指南》学习笔记——HTTP报文
- iOS-网络七层模型&&网络数据包
- 【bzoj1596】[Usaco2008 Jan]电话网络 树形dp
- http://blog.csdn.net/u010251191