会话 ID 与端口号

网络工程 传输协议
2022-02-05 20:02:33

会话 ID 与端口号有何不同?在应用层,端口号标识服务,会话层相同。对?这些端口号是在传输层分配的。请详细说明。

1个回答

TCP 不使用会话 ID,IP+端口是会话标识符:

TCP 数据包不包含会话标识符,两个端点都使用客户端的地址和端口来标识会话

https://en.wikipedia.org/wiki/Transmission_Control_Protocol

所以我假设你的意思是应用层的会话 ID?顾名思义,会话 ID 由在其上运行的特定应用程序处理。端口号和会话 ID 之间没有关联。

让我们举个例子。您可以在浏览器中打开一个网站。浏览器通过 80 端口连接到 Web 服务器,因为 80 端口是 Web 服务器的默认端口。这就是传输层发生的事情。但是在应用层,网站是使用例如PHP来创建交互式网站的,所以你可以登录它。在您创建会话(即登录到网站)之后,服务器上的 PHP 会在服务器的临时文件中保留某种会话 ID。

不同的应用程序(SMTP 服务器、使用 PHP 或其他语言的 Web 服务器、SSH 服务)有自己的保持会话的方式,而邮件、www、ftp 和 SSH 等标准服务具有服务器正在侦听的默认端口,会话 ID 是例如,每个会话随机创建,与网络端口无关。

如果您的意思与应用程序中的会话 ID 不同,请详细说明。

//编辑:但我可以看到这个问题已被阻止,因为它不适合网络工程堆栈交换。如果有问题,很抱歉回答它。