TCP建立连接_legend050709
来源:互联网 发布:淘宝店铺专业刷钻 编辑:程序博客网 时间:2024/06/12 01:41
三个阶段:
· 连接建立:
· 图释:
·
· 步骤:
· A的 TCP向 B发出连接请求报文段,其首部中的同步位 SYN = 1,并选择序号 seq = x,表明传送数据时的第一个数据字节的序号是 x
· B的 TCP收到连接请求报文段后,如同意,则发回确认(B在确认报文段中应使 SYN = 1,使 ACK = 1,其确认号ack = x﹢1,自己选择的序号 seq = y)
· A收到此报文段后向 B给出确认,其 ACK = 1,确认号 ack = y﹢1(A的 TCP通知上层应用进程,连接已经建立,B的 TCP收到主机 A的确认后,也通知其上层应用进程:TCP连接已经建立)
· 数据传送
· 连接释放:
(一)ACK中的确认号是发送这个ACK的一端所期望的下一个序列号。
因为SYN占据一个字节的空间,所以每个SYN的ACK中的确认号=SYN的初始序列号+1
(二)状态解析:
CLOSED:这个没什么好说的了,表示初始状态。
LISTEN:表示服务器端的某个SOCKET处于监听状态,可以接受连接了。
SYN_RCVD:表示接受到了SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次握手会话过程中的一个中间状态,很短暂。因此这种状态时,当收到客户端的ACK报文后,它会进入到ESTABLISHED状态。
SYN_SENT:当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,因此也随即它会进入到了SYN_SENT状态。
(三)同时打开:
两个应用程序同时执行主动建立TCP的连接的可能性是存在的,此时发送到SYN建立需要交换4个包,如图所示:
- TCP建立连接_legend050709
- TCP断开连接_legend050709
- TCP简介_legend050709
- TCP状态转换图_legend050709
- TCP连接建立、关闭
- TCP协议---建立连接
- CSocket建立TCP连接
- TCP建立,释放连接
- TCP建立连接过程
- TCP连接建立断开
- TCP建立,释放连接
- tcp要点学习-建立连接
- TCP三建立连接过程
- TCP建立和关闭连接
- tcp要点学习-建立连接
- TCP连接的建立过程
- TCP/IP连接的建立
- TCP连接建立与关闭
- 验证occ和vtk整合工作的demo
- DevExpress 控件使用技巧
- EGOTableViewPullRefresh 下拉刷新
- 检索 - 线性表
- [转]套接字选项
- TCP建立连接_legend050709
- NSDate类以及category
- 虚拟化对网络的要求
- Hibernate HQL语句总结
- ios的post提交
- excel 2007 冻结单元格
- GotW #89 Solution: Smart Pointers
- 有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).
- 手机app以数据流格式传图片php接受并保存服务器