Networking 了解传输层使用的端口号

Networking 了解传输层使用的端口号,networking,Networking,在浏览器中打开多个选项卡时,浏览器是否为每个选项卡分配了不同的端口号 我使用的是Windows7 64位操作系统,有没有办法检查我的浏览器选项卡使用的端口号 现在我打开了两个选项卡,其中一个选项卡我正在查看此页面,另一个选项卡我打开了一封电子邮件,这两个选项卡是否使用相同的端口?浏览器不使用端口访问其选项卡,而是获取选项卡的内容 根据选项卡的内容,在运行浏览器的计算机上使用一个或多个端口。这些端口由浏览器进程或其线程之一从操作系统分配 一段时间后,内容被传输到客户端“进入”浏览器,端口返回操作系

在浏览器中打开多个选项卡时,浏览器是否为每个选项卡分配了不同的端口号

我使用的是Windows7 64位操作系统,有没有办法检查我的浏览器选项卡使用的端口号


现在我打开了两个选项卡,其中一个选项卡我正在查看此页面,另一个选项卡我打开了一封电子邮件,这两个选项卡是否使用相同的端口?

浏览器不使用端口访问其选项卡,而是获取选项卡的内容

根据选项卡的内容,在运行浏览器的计算机上使用一个或多个端口。这些端口由浏览器进程或其线程之一从操作系统分配

一段时间后,内容被传输到客户端“进入”浏览器,端口返回操作系统

要查看应用程序当前正在使用哪些端口,请使用管理权限和问题运行
cmd

netstat -b


假设一台机器只需要一个网络接口,不同的连接需要不同的端口。

每个TCP连接都应该有一个唯一的四元组

在浏览器的情况下,如果我们在不同的选项卡中打开相同的网站(相同的
服务器IP地址
和相同的
服务器端口
),那么每个选项卡将具有不同的
客户端端口
,因为
客户端IP地址
是相同的,直到TCP连接打开

如果我们在不同的选项卡中打开不同的网站,显然这意味着每个选项卡都有不同的
服务器IP地址
服务器端口
。在这种情况下,在TCP连接保持打开之前,每个选项卡都将有不同的
客户端端口
,但相同的
客户端IP地址

TCP连接关闭后,
客户端端口
将返回给操作系统,如果操作系统需要,可以在以后重用

大多数浏览器使用HTTP管道,这是一种保持连接活动的技术。更多


您可以使用trace,然后通过浏览器中的选项卡检查请求的每个数据包的源端口。这是一个非常好的工具。

你的问题基于错误的假设

  • 端口号分配给套接字,而不是选项卡
  • 为连接创建套接字
  • 对于HTTP请求,连接通常从HTTP的连接池中分配
  • HTTP请求是针对每个页面以及页面引用的所有资源创建的:样式表、脚本、图像、嵌入页面等
  • 选项卡被分配给页面

  • 因此,您可以看到,任何给定端口和任何给定选项卡之间的关系实际上是不存在的。一个连接和一个端口可能已被多个选项卡重用。它们之间没有必要的一对一映射。

    意味着客户端对每个选项卡使用随机端口号,并且在加载或关闭前一个选项卡之前,无法为其他选项卡分配分配端口号。现在,我打开了两个选项卡,在一个选项卡中,我正在查看此页面,在另一个选项卡中,我打开了G-MAIL,两个选项卡是否使用相同的端口?这意味着每个TCP连接的四个元组应该是唯一的。端口号由操作系统随机分配,直到连接处于活动状态。如果两个选项卡的连接同时打开,则两个选项卡将具有不同的端口号。“您正在查看页面”并不意味着连接仍然处于活动状态,因为HTTP是请求-响应协议。一旦完全接收到响应,则连接关闭。有一些技术可以让连接保持活动状态,比如Websocket协议,pipelining@Harish你不能。当您想要运行该命令时,它们可能都已关闭,并且您首先不能明确地将一个端口与一个选项卡相关联。你的问题真的没有意义。如何确定网页选项卡的端口号using@Harish.N:这在很大程度上取决于所使用的浏览器。当我输入“netstat-b”命令时,我得到的是“请求的操作需要提升”。@Harish.N:正如我在回答中所写,您需要“…运行cmd…”在一个拥有“…管理权限…”的帐户下。是的,我是这台计算机的唯一用户。我在命令窗口中输入了“netstat-b”,得到了那个消息。