gpt4 book ai didi

tcp - TCP header 中的源地址和目标地址字段在哪里?

转载 作者:可可西里 更新时间:2023-11-01 02:33:06 26 4
gpt4 key购买 nike

据我所知,TCP 位于应用程序和 IP 之间的层,负责设置数据包、检查错误、排序等,因此应用程序本身不必这样做。

但是,当我查看 TCP header 时,我感到困惑。根据我的理解,一些数据从应用程序传递给 TCP,并被赋予一个目标地址以将数据发送到该地址。 TCP 层将其打包,并将其发送到 IP 层,IP 层又将其传递出去,一直向下传递到物理层。

但是看着 TCP header on Wikipedia ,没有提到目的地地址!只有一个目标端口号,我很确定它不是地址。

TCP Header

所以我的问题是,TCP 如何获取地址?和/或,如果 TCP 未将地址传递给 IP,IP 如何获取地址?

最佳答案

是运行在传输层之上的应用程序选择一切。

如果应用程序在设计时考虑了可靠性,它会选择面向连接的协议(protocol),如 TCP。

相同的应用程序告诉 TCP 源端口和目标端口应该是什么,单靠 TCP 无法决定。

示例:如果您正在访问一个网站,您的应用程序将是浏览器,因为访问网站通常是通过 HTTP/HTTPS 进行的,而 HTTP/HTTPS 被设计为可靠的,它选择 TCP。端口 80(HTTP) 或 443(HTTPS) 是用于访问网站的标准端口,因此在目标端口字段中使用这两个端口中的任何一个,而源端口可以是任何随机更大的端口。

这种组合用于识别称为传输层 VC(虚拟电路)的东西。

对于 IP,同一个应用程序告诉目标 IP 地址是什么,而源 IP 是您运行浏览器的机器。

网络层的 IP 和传输层的 TCP 不能选择任何东西,是应用程序告诉他们选择什么,考虑到他们是被选中的。

关于tcp - TCP header 中的源地址和目标地址字段在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24480272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com