社区
网络编程
帖子详情
【求助】TCP分片该怎么重组?
brk1985
2017-01-19 05:45:48
目前我的程序抓网络数据包,可以获得IP包及其长度。
简单的情况、即有效信息就在一个IP包里,我直接从某个IP包里提取即可。
如果有效信息比较长、会被分到2个以上IP包里。这时候需要进行数据包分片重组。
我的计划是把相关协议的IP包存入到数据结构中,根据TCP序列号进行重组。
TCP有序也是依靠序列号,但是我发现序列号会有重复,怎么回事?还是说我这种TCP重组方式有问题?
...全文
721
4
打赏
收藏
【求助】TCP分片该怎么重组?
目前我的程序抓网络数据包,可以获得IP包及其长度。 简单的情况、即有效信息就在一个IP包里,我直接从某个IP包里提取即可。 如果有效信息比较长、会被分到2个以上IP包里。这时候需要进行数据包分片重组。 我的计划是把相关协议的IP包存入到数据结构中,根据TCP序列号进行重组。 TCP有序也是依靠序列号,但是我发现序列号会有重复,怎么回事?还是说我这种TCP重组方式有问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sevancheng
2017-01-21
打赏
举报
回复
tcp 协议是流协议,保证数据传输顺序正确,至于传输中怎么分包,没办法控制,一般是应用层按照长度读,或者读到缓存,自己根据应用协议处理
shenyi0106
2017-01-20
打赏
举报
回复
你想干嘛? 如果想重写协议栈,建议先看书,然后去研究linux内核 如果只是写7层协议,那你完全没有必要去考虑什么分片重组的事。 备注:TCP是有序号的,而且丢包,序号乱序和序号重复也是很正常,因为TCP本身也是依赖IP分组的, IP分组本身就会乱序,只不过TCP协议栈通过技术手段(序号+重传+滑动窗口+拥塞算法)来解决了丢包,乱序等问题的。
赵4老师
2017-01-20
打赏
举报
回复
《TCP-IP详解卷一:协议》 《TCP-IP详解卷二:实现》
oyljerry
2017-01-20
打赏
举报
回复
你先看看这个包是不是重复的,或者是否正确。不然序列号应该是不同的
TCP
/IP基础知识
IP协议
TCP
协议
TCP
三次握手
TCP
四次挥手
TCP
_ACK_机制
TCP
滑动窗口UDP协议
TCP
与UDP对比
TCP
头部格式详解,附Wireshark对
TCP
头部抓包分析
TCP
之所以能为数据通讯提供可靠的传输,主要在于
TCP
数据包头部功能非常多。 那么,我们先来看看
TCP
头部格式(RFC 793、1323定义了
TCP
头部):
TCP
头部格式中的内容解析如下:(文末还有Wireshark对
TCP
抓包分析图)...
TCP
/IP
TCP
/IP问答
TCP
和UDP的区别?两者都是传输层协议,
TCP
(Transmission Control Protocal),名称反应了它最大的特征,就是对传输过程有很好的控制,即面向连接、可靠的、面向字节流的协议,它可以实现差错控制、流量...
TCP
/IP理论
1 初识
TCP
/IP 1.
TCP
/IP体系结构和OSI体系结构 1.OSI参考模型与
TCP
/IP 图解 OSI
TCP
/IP protocol(协议) explain 简 应用层 应用层 HTTP、HTTPS、FTP、TELNET、SSH、SMTP、POP3 应用层与应用...
计算机网络关键知识点记录
IP数据报,分组(IP数组报
分片
得到分组) 数据链路层 帧 物理层 比特流 MTU,即最大传输单元,数据(有效载荷)部分的最大长度。 IP地址是逻辑地址,MAC地址是物理地址。 数据链路层 1. 以太网帧的格式 最...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章