qq_29156895 2017-02-08 14:17 采纳率: 0%
浏览 1445

路由器进行NAT地址转换时,如何避免可能出现的如下错误?

路由器在进行NAT地址转换时,改变了源IP,这势必需要重新计算TCP校验和。
如果,在NAT地址转换这个过程中,路由器硬件由于外界的干扰或损坏,导致在这个过程中,数据包的数据部分出现了差错(比如其中的一位或几位数据出现翻转)
这样一来,NAT过程变成了 1.源IP改变 2.数据内容改变
接下来,重新计算、填写TCP校验和
此时,校验和是根据替换后的源IP和已经被改变的数据内容来计算出来的

当这个数据包最终传送到目标主机时,目标主机虽然验证校验和通过,但实际上数据部分已经发生了变化(此时的校验和本身就是路由器根据已经被改变的数据内容计算出来的),已经不是源主机最初所发出的内容了。

请问网络中还有什么机制能预防或检测出这种错误的发生?

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-02-08 15:48
    关注

    上层协议,比如tcp还是有校验的。所以错误的数据会被丢弃重发。

    评论

报告相同问题?

悬赏问题

  • ¥15 孟德尔随机化结果不一致
  • ¥20 求用stm32f103c6t6在lcd1206上显示Door is open和password:
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法