fgmailbox
驱动牛犊
驱动牛犊
  • 注册日期2004-02-18
  • 最后登录2022-11-24
  • 粉丝0
  • 关注0
  • 积分24分
  • 威望48点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:2438回复:2

中间层驱动发送TCP Packet时,出现TCP Check SUm 错误

楼主#
更多 发布于:2008-10-25 10:15
为什么我通过我的中间层驱动从上层直接接受的TCP包将它拦截下来,
传给应用层处理,然后又通过IRP再通过中间层驱动发送到网络上时,
有些机器会出现TCP CheckSum Error,但是有些机器又不会出现,
不太明白为什么?怎么办?
needsun
驱动牛犊
驱动牛犊
  • 注册日期2008-07-14
  • 最后登录2009-11-12
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望48点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-11-04 10:29
这个问题可以通过一个简单的方法去试一下,收到包后再重新计算TCP的校验码.我就是这样做的.不过我还也遇到一个问题,尽管在收到包后重新计算了校验和,但有些TCP包接收还是出现错误,但在绝大部分情况下是没有问题的.
zhangfresh
驱动牛犊
驱动牛犊
  • 注册日期2008-07-21
  • 最后登录2023-01-09
  • 粉丝1
  • 关注2
  • 积分94分
  • 威望871点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2011-01-10 14:07
我也碰上这个问题,好像Win2003、Vista、Win7的系统,不需要中间层计算checksum的。
如果改变报文内容,再计算checkshum,网卡驱动还会再算一次,结果checksum都是0,是错的。

不知道这些操作系统是不是都不要中间层操心这个。
游客

返回顶部