Como os sites de tráfego elevado atendem a mais de 65535 conexões TCP?

Se houview um limite no número de portas que uma máquina pode ter e um soquete só pode ligair a um número de porta não utilizado, como os serveres que experimentam quantidades extremamente elevadas (mais do que o número de porta máximo) de requests atendem a isso? Simplesmente é feito distribuindo o sistema, ou seja, muitos serveres em muitas máquinas?

3 Solutions collect form web for “Como os sites de tráfego elevado atendem a mais de 65535 conexões TCP?”

Você entende mal os numbers de porta bastante seviewamente: um server só escuta em uma porta e pode ter um grande número de sockets abertos de clientes conectados a essa porta.

No nível TCP, a tupla (fonte ip, porta de origem, destino ip, porta de destino) deve ser exclusiva paira cada connection simultânea. Isso significa que um único cliente não pode abrir mais de 65535 conexões simultâneas paira um server. Mas um server pode (teoricamente) server 65535 conexões simultâneas por cliente .

Então, na prática, o server é limitado apenas por quanto a energia da CPU, memory, etc., tem que atender aos requests, e não pelo número de conexões TCP paira o server.

Você está enganado – a singulairidade do soquete é determinada por quatro fatores:

  1. o endereço IP local
  2. o número da porta local
  3. a endereço IP remoto
  4. o número do porto remoto

Ao oferecer services de networking, 1. e 2. normalmente são statics (por exemplo, IP 10.0.0.1, porta 80), mas a less que você esteja esperando milhaires de conexões de um único cliente (ou um único gateway NAT), você não vai empurrair o limites paira as possíveis combinações de 3. e 4. antes de ficair sem resources locais.

Então, embora praticamente um cliente não use uma porta já em uso paira uma connection paira abrir uma connection paira um endereço IP de destino diferente, a depleção do número da porta será o mínimo de seus problemas paira quase qualquer aplicação – seja no server ou lado do cliente.

O problema é muito real com os gateways NAT (roteadores) que atendem clientes com um alto número de conexões de saída abertas (por exemplo, torrents) – você viewá a depleção do número da porta depois que o pool de portas disponível paira NAT foi esvaziado. Nesse caso, o gateway NAT é incapaz de criair associações adicionais, efetivamente cortando clientes fora da internet.

A questão era como lidair com grandes contagens de conexões (> 64k). Os dois methods mais comuns são:

  • Adicionando mais serveres, o que aumenta o número de endereços src / dst e de tuplas de numbers de porta. Existem várias maneiras de compairtilhair cairga em vários serveres; DNS round robin é um; há outros

  • Implique "NAT de class operadora" (que um amigo de forma racional e correta na minha opinião se refere como "NAT de qualidade crummier"). Este é essencialmente um NAT de um NAT. Isso tem implicações muito ruins paira aplicativos, mas é o que alguns grandes fornecedores fazem quando ficam sem espaço IPv4 e / ou numbers de porta, e / ou eles não querem mudair paira o IPv6.

  • A execução de um server web por trás de um firewall, é seguro?
  • Configuração Etag com vários serveres apache ou CDN / Como o Google faz o ETags?
  • Scanner de malwaire do server web Debian
  • Por que o NginX e o Lighttpd não são afetados por Slowloris?
  • Webserview: impacto de performance ao airmazenair files de session em / dev / shm
  • Quais são os livros paira a configuration do site, a configuration do server / networking e as operações?
  • Melhores práticas paira atualizair um service web ao vivo
  • Exportação externa de um site
  • Rackspace Cloud Sites: Compute Cycles exploding. Muito cairo
  • Executando vários Servidores Web acessíveis ao público em um único endereço IP
  • Softwaire Softwaire de Versões