Cod*_*ein 5 ip tcp ip-address packet
从我读过的内容来看,TCP 位于应用程序和 IP 之间的层,负责设置数据包、检查错误、排序等,因此应用程序本身不必这样做。
但是,当我查看 TCP 标头时,我感到困惑。根据我的理解,一些数据从应用程序传递给 TCP,并被赋予一个目标地址,将数据发送到该地址。TCP 层将其打包,并将其发送到 IP 层,IP 层又将其移交,一直向下传递到物理层。
但是查看Wikipedia上的TCP 标头,没有提到目标地址!只有一个目标端口号,我很确定它不是地址。

所以我的问题是,TCP 如何获取地址?和/或,如果 TCP 没有将地址传递给 IP,IP 如何获取地址?
运行在传输层之上的应用程序选择一切。
如果应用程序的设计考虑到了可靠性,它会选择面向连接的协议,例如 TCP。
相同的应用程序告诉 TCP 源端口和目标端口应该是什么,TCP 无法单独决定这一点。
示例:如果您正在访问网站,您的应用程序将是浏览器,因为访问网站通常通过 HTTP/HTTPS 进行,而 HTTP/HTTPS 被设计为可靠的,因此它选择 TCP。端口 80(HTTP) 或 443(HTTPS) 是用于访问网站的标准端口,因此这些端口中的任何一个都用于“目标端口”字段,而“源端口”可以是任何随机的更高编号的端口。
该组合用于识别称为传输层 VC(虚拟电路)的东西。
对于 IP,同一个应用程序会告诉您目标 IP 地址是什么,而源 IP 是您运行浏览器的计算机。
网络层中的IP和传输层中的TCP不能选择任何东西,应用程序告诉它们选择什么,考虑到它们是被选择的。
| 归档时间: |
|
| 查看次数: |
5410 次 |
| 最近记录: |