gpt4 book ai didi

tcp - 系统的 TCP/IP 堆栈如何区分连接到同一地址和端口的多个程序?

转载 作者:可可西里 更新时间:2023-11-01 02:30:05 25 4
gpt4 key购买 nike

假设两个网络浏览器在同一台计算机上运行并访问同一网站(换句话说,在同一端口上访问同一 IP 地址)。

操作系统如何识别哪些数据包来自/针对哪个程序?

是否每个程序在 TCP header 中都有一个唯一的 id 字段?如果是这样,这个字段叫什么?

最佳答案

这两个程序实际上并没有访问“同一个端口”。对于 TCP,连接由元组 (src_ip,src_port,dst_ip,dst_port) 定义。

源端口通常是临时的,这意味着它是由操作系统随机分配的。换句话说:

程序 A 将具有:

(我的IP, 10000, 你的IP, 80)

程序 B 将具有:

(我的IP, 10001, 你的IP, 80)

因此,操作系统可以看到那些不同的“连接”,并可以将数据包推送到正确的套接字对象。

关于tcp - 系统的 TCP/IP 堆栈如何区分连接到同一地址和端口的多个程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1154410/

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