1

现在我正在编写一个使用原始 TCP 套接字的程序。如果有任何 TCP 校验和错误的传入数据包,内核会将它们传递给程序还是丢弃它们?我想知道的原因是弄清楚我是否需​​要手动进行检查。

4

1 回答 1

1

由于您自己编写 TCP(使用“IP”套接字/层)必须处理 TCP 校验和。下面的任何层或任何校验和都将由底层操作系统处理。

使用您拥有的 TCP/IP 堆栈(从下到上顺序)

关联

Internet <- Socket Here 此处和下方的任何内容都将被处理。本质上,您是在说我正在编写自己的传输协议,而它恰好是 TCP。

传输 <- TCP 这里

应用

于 2012-11-17T02:28:58.680 回答