为啥 TCP 数据包不包含源 IP 和目标 IP?

Posted

技术标签:

【中文标题】为啥 TCP 数据包不包含源 IP 和目标 IP?【英文标题】:How comes a TCP packet doesn't contains the source and destination IPs?为什么 TCP 数据包不包含源 IP 和目标 IP? 【发布时间】:2012-04-18 10:49:31 【问题描述】:

来自here cisco 说 TCP 数据包不包含源 IP 和目标 IP? 网络层如何知道这个 IP 发送数据包以及谁必须得到 ack?

【问题讨论】:

【参考方案1】:

TCP 通常在 IP 上运行,IP 地址存储在封装 TCP 部分的数据包的 IP 部分中。

【讨论】:

@Celeda Yah,但我学会了不要在互联网上说“总是”。 @Celada 最近你在这种情况下很有机会,但是:tools.ietf.org/html/rfc1792 @Karlson 我很高兴我发表了这样的评论,以便有人可以过来教我一些真正晦涩的东西:-) @Celada 已经知道会发生更奇怪的事情。 :) 这是为什么呢?我不会期望第 4 层协议依赖于第 3 层协议。我认为 OSI 模型背后的想法是每个级别都说“将其发送到那里”,并且它下面的级别负责它实际发生的方式。您能否在回答中澄清这一点? :)【参考方案2】:

TCP 数据包进入 IP 数据包内部。 IP 标头指定源地址和目标地址等。 See this diagram。在这里,TCP数据将被插入到数据位置。

【讨论】:

【参考方案3】:

您将 TCP 数据包信息(传输层)与 IP 包装器(网络层)混淆了。 IP 地址包含在外部 IP 数据包包装器中。

【讨论】:

以上是关于为啥 TCP 数据包不包含源 IP 和目标 IP?的主要内容,如果未能解决你的问题,请参考以下文章

wireshark-003-常用显示过滤规则

IP报文分段时,为啥必须把头部复制到每个分段上

网络体系结构-TCP/IP参考模型

为什么 TCP/IP 协议会拆分数据

为啥tcp服务器可以获取客户端的ip?

TCP/IP详细讲解