Várias abas de um navegador

1

Desde números de porta exclusivos são atribuídos a cada um dos diferentes processos relacionados à rede que estão acontecendo em um sistema. Então, minha pergunta é que, se várias guias estiverem abertas em um navegador, diferentes números de porta serão atribuídos a cada processo. OU um único número de porta para um único navegador?

    
por a874 05.05.2016 / 15:42

4 respostas

3

As outras respostas estão referenciando a porta remota, à qual você está se conectando, que não terá nada a ver com seus processos locais. Na minha resposta, estou me referindo à porta local. Quando uma conexão TCP é criada para uma porta de destino na Internet, uma porta local é selecionada nos intervalos superiores para o tráfego de retorno na sessão. Na imagem abaixo, você pode ver que o processo 1724 tem várias sessões abertas para diferentes IPs, e mesmo quando a porta remota é a mesma, 80 por exemplo, a porta local varia (21077,21128,20881)

Usando o Gerenciador de recursos para verificar as conexões de rede, parece que cada conexão obtém seu próprio conjunto de portas locais. Acredito que a porta local seja selecionada por conexão, e não por processo. Da mesma forma, quando uma conexão a um site é criada pela primeira vez, uma porta local é selecionada para essa sessão.

    
por 05.05.2016 / 15:49
0

Se você realmente quer dizer portas (não PID ou outra coisa), quase todos os sites que você visita usarão a porta 80 (HTTP) ou 443 (HTTPS).

Não importa se você usa uma nova guia, isso depende do site que você está usando. Por exemplo, o link usa 443 porque é https (tente link ), mas o link usa 80 porque não é https. É possível usar FTP ou outras portas, mas isso é improvável.

Espero que isso responda à sua pergunta!

    
por 05.05.2016 / 15:48
0

HTTP é um protocolo de aplicação que é transmitido através de uma conexão TCP.

Os pacotes TCP / IP contêm as seguintes informações:

  • Endereço de destino (IP): Internet pública do servidor da web, por exemplo, 104.16.37.249 para stackoverflow.com
  • Endereço de origem (IP): seu endereço de Internet público
  • Porta de destino TCP: porta para acessar o aplicativo do servidor da web depois de acessar o computador do servidor da Web, 80 para HTTP, 443 para HTTPS
  • Porta de origem TCP: porta para acessar o navegador da Web, depois que o pacote chega ao computador, por exemplo 43505

A porta e o endereço de origem se tornam a porta e o endereço de destino e vice-versa quando o servidor envia respostas às solicitações do cliente.

O navegador da Web (ou qualquer cliente TCP) não precisa conhecer a porta de origem, pois ela é escolhida automaticamente pelo sistema operacional. O sistema operacional fornece uma interface programática para se comunicar usando o TCP. Essa interface fornecerá o que é chamado de "soquete" para representar essa conexão. O soquete fornece um canal de saída (para enviar solicitações) e um canal de entrada (para receber respostas), o que é interessante, já que a comunicação pela rede não é muito diferente da leitura e gravação de arquivos.

Para responder a sua pergunta mais especificamente, o sistema operacional rastreia qual processo (PID) está usando qual porta de origem, assim quando recebe um pacote TCP onde a porta de destino corresponde a porta de origem (por exemplo, 34505), saberá onde para encaminhar esse pacote. Muitos sistemas UNIX são fornecidos com o netstat , que mostra exatamente isso:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 172.16.123.140:34034    38.127.167.38:443       ESTABLISHED 3153/chromium-browser
tcp        0      0 172.16.123.140:50309    162.125.32.129:443      ESTABLISHED 2945/chromium-browser   

Você pode ver aqui que há duas conexões TCP estabelecidas / abertas para os servidores da web 38.127.167.38 e 162.125.32.129 usando HTTPs na porta 443. O endereço de origem e a porta de origem são descritos aqui como "endereço local".

No seu exemplo, o navegador da Web se bifurca em vários processos filhos. O sistema operacional encaminha os pacotes para os processos filhos diretamente. Como o navegador parece criar um processo filho por guia, você pode dizer que os pacotes estão sendo enviados diretamente para a guia em vez de serem "roteados" por algum tipo de coreógrafo no navegador. No entanto, isso pressupõe que o navegador use uma conexão por guia, o que nunca é o caso, ele criará muitos deles, mesmo para o mesmo host, e nada impede que ele compartilhe uma conexão em várias guias.

Eu recomendo strongmente que você se refira a um livro como Redes de Computadores, A. Tanenbaum, 5ª Edição, Pearson .

    
por 05.05.2016 / 19:05
-1

Diferentes guias não se comunicam por portas diferentes. Os navegadores da Web usam a porta 80 para http e a porta 443 para https, a menos que seja dito o contrário. Por exemplo, o link seria executado pela porta 8443

O computador não usa portas diferentes internamente, ele usa "identificadores de processo" ou PIDs que são números usados pela maioria dos kernels do sistema operacional para identificar exclusivamente um processo ativo

    
por 05.05.2016 / 15:50