2013-10-25 23 views
-2

当我在浏览器中打开多个选项卡时,浏览器是否为每个选项卡分配不同的端口号。了解传输层使用的端口号

我使用的是Windows 7 64位操作系统,有没有办法检查我的浏览器标签页使用的端口号。

现在我打开了两个选项卡,在一个选项卡中,我正在查看此页面,并在其他选项卡中打开了一个G-MAIL,两个选项卡是否使用相同的端口?

回答

2

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

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

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

要查看哪些端口当前由应用程序使用使用智优权和发行

netstat -b 

假设只有一个网络接口的机器需要不同的connecions不同端口上运行一个cmd

+0

如何确定网页标签使用哪个端口号 –

+0

@ Harish.N:这很大程度上取决于所用的浏览器。 – alk

+0

当我输入“netstat -b”命令时,我收到了“请求的操作需要提升”。 –

0

每个TCP连接应该有一个独特的四元组<SERVER IP ADDRESS , SERVER PORT , CLIENT IP ADDRESS , CLIENT PORT>

在浏览器的情况下,如果我们打开同一个网站在不同的标签(相同SERVER IP ADDRESS和相同SERVER PORT),然后每个标签都会有不同的CLIENT PORT因为CLIENT IP ADDRESS是相同的,直到TCP连接打开。

如果我们在不同的标签中打开不同的网站,显然这意味着我们为每个标签有不同的SERVER IP ADDRESS,SERVER PORT。同样在这种情况下,每个选项卡将不同CLIENT PORT,但是相同CLIENT IP ADDRESS直到TCP连接保持打开状态。

TCP连接关闭后,CLIENT PORT被返回给操作系统,如果操作系统需要,以后可以重新使用该操作系统。

大多数浏览器都使用HTTP管道技术,这是一种保持连接活跃的技术。 for more info

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

+0

意味着客户端为每个选项卡使用随机端口号,并且该分配的端口号不能分配给其他选项卡,直到之前的选项卡已加载或关闭 –

+0

现在,我打开了两个选项卡,在一个选项卡中,我正在查看此页并在其他选项卡我打开了一个G-MAIL,这两个标签是否使用相同的端口? –

+0

这意味着每个TCP连接的四元组应该是唯一的。端口号由OS随机分配,直到连接处于活动状态。 – Subbu

0

你的问题是基于一个错误的假设。

  1. 端口号分配给插座,不是标签。
  2. 套接字为连接创建。
  3. 对于HTTP请求,连接通常从HTTP连接池中分配。
  4. HTTP请求是按页面创建的,以及页面引用的所有资源:样式表,脚本,图像,嵌入式页面等。
  5. 选项卡分配给页面。

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