【发布时间】:2014-08-20 05:49:55
【问题描述】:
据我所知,TCP 位于应用程序和 IP 之间的层,并处理设置数据包、检查错误、排序等,因此应用程序本身不必这样做。
但是,当我查看 TCP 标头时,我感到困惑。根据我的理解,一些数据从应用程序传递给 TCP,并被赋予一个目标地址来发送数据。 TCP 层将其打包,然后发送到 IP 层,IP 层又将其交给,一直到物理层。
但是看TCP header on Wikipedia,没有提到目标地址!只有一个目标端口号,我很确定它不是地址。
所以我的问题是,TCP 如何获取地址?和/或,如果 TCP 没有将地址传递给它,IP 如何获取地址?
【问题讨论】:
-
地址在 IP 层处理。 TCP 将地址交给 IP,因此无需将它们包含在 TCP 标头中。
-
根据 OSI 模型,您正在寻找错误的层。网络层负责客户端/服务器之间的信息传输——en.wikipedia.org/wiki/OSI_model
-
@MikeW "TCP 将地址交给 IP..." 这不是发生在 via 标头中吗??
-
没有。 TCP 报头总是附有一个或多个 IP 数据包。您将目标地址传递给 create TCP packet,但 TCP header 不需要包含地址。
标签: tcp ip ip-address packet