tcp 传输机制的简单介绍
2017-12-01 00:00
127 查看
摘要: tcp 传输
因为已经很久没有在学习tcp传输这块,这次简单的记录下来,提醒自己。
tcp 传输图 :
主要以分析 tcp包中Sequence Number , ack 。通信的双方要互相通知对方自己的初始化的Sequence Number(缩写为ISN:Inital Sequence Number)全称Synchronize Sequence Numbers。
** seq: 序列号用于 对对数包的排序
ack : 用于确认对端发送的数据包**
这是用 wireshark 简单抓取的一份分析tcp的图:
握手阶段:
(序列号相对)
client server
seq=0 ===>
seq=0, ack=1 <===
seq=1, ack=1 ===>
完成后 client 通过ack 验证 对端 seq=1 的数据包; server 通过 ack 验证 对端 seq=1的数据包。
数据传输:
client server
seq=1, ack=1, len=3 ==>
<=== seq=1,ack=4
seq=4, ack=1, len=3 ==>
<== seq=7,ack=1
在数据传输的过程, server 端的ack 根据len的长度而在变化, 所以一直变化的值是 client 的seq (对端的ack值) 和server 的ack 。 而 client 的ack 和server 的 seq 一直都是1 , 这也说明 ack 验证的是对端 seq。
4次结束连接:
client server
seq=7, ack=1 ====>
<== seq=1, ack=8
seq=8,ack=2 ===>
结束连接需要4次, 因为两端都需要 fin和 ack确认。 上述将server 的 seq 和ack 都放在一起,收到 fin标志时与 syn一样, ack对应需要+1 ,最终 client seq=8, ack=1和 server端的 ack=8, seq=1。
资料来源 TCP 的那些事儿(1)
因为已经很久没有在学习tcp传输这块,这次简单的记录下来,提醒自己。
tcp 传输图 :
主要以分析 tcp包中Sequence Number , ack 。通信的双方要互相通知对方自己的初始化的Sequence Number(缩写为ISN:Inital Sequence Number)全称Synchronize Sequence Numbers。
** seq: 序列号用于 对对数包的排序
ack : 用于确认对端发送的数据包**
这是用 wireshark 简单抓取的一份分析tcp的图:
握手阶段:
(序列号相对)
client server
seq=0 ===>
seq=0, ack=1 <===
seq=1, ack=1 ===>
完成后 client 通过ack 验证 对端 seq=1 的数据包; server 通过 ack 验证 对端 seq=1的数据包。
数据传输:
client server
seq=1, ack=1, len=3 ==>
<=== seq=1,ack=4
seq=4, ack=1, len=3 ==>
<== seq=7,ack=1
在数据传输的过程, server 端的ack 根据len的长度而在变化, 所以一直变化的值是 client 的seq (对端的ack值) 和server 的ack 。 而 client 的ack 和server 的 seq 一直都是1 , 这也说明 ack 验证的是对端 seq。
4次结束连接:
client server
seq=7, ack=1 ====>
<== seq=1, ack=8
seq=8,ack=2 ===>
结束连接需要4次, 因为两端都需要 fin和 ack确认。 上述将server 的 seq 和ack 都放在一起,收到 fin标志时与 syn一样, ack对应需要+1 ,最终 client seq=8, ack=1和 server端的 ack=8, seq=1。
资料来源 TCP 的那些事儿(1)
相关文章推荐
- TCP三次握手过程与对应的Berkeley Socket APIs的简单介绍
- Delphi简单TCP聊天程序(二):双向传输
- tcp窗口机制(写的最简单精炼的文章)
- tcp简单传输过程分析
- Https传输的简单介绍及Tomcat配置
- tcp的简单介绍
- tcp/ip主机到主机的数据传输,以及三次握手和四次挥手的简单理解
- tcp传输的三次握手和四次挥手简单理解
- AsyncTask工作机制简单介绍
- 计算机网络的传输层的简单介绍:
- JavaScript的反射机制介绍及简单应用
- 简单实现TCP下的大文件高效传输
- 简单实现TCP下的大文件高效传输
- 【转】Qt TCP协议 传输简单字符串实例
- TCP同步与异步及阻塞模式,多线程+阻塞模式,非阻塞模式简单介绍
- TCP同步与异步及阻塞模式,多线程+阻塞模式,非阻塞模式简单介绍(转)
- TCP传输的各个状态及转换(简单篇)
- AsyncTask工作机制简单介绍(正常、异常、取消状态)
- Mina TCP传输下主要接口介绍
- 浅谈Android之Activity触摸事件传输机制介绍