
Depois de ler sobre comutação de pacotes e circuitos, aprendi que os servidores mantêm múltiplas conexões com uma porta, transmitindo uma conexão de cliente estabelecida para um processo filho; e que todos os nós envolvidos na rota de conexão mantenham uma tabela de identificação de conexão para que os pacotes possam ser encaminhados corretamente para o próximo nó.
Ainda tenho algumas perguntas sobre isso:
Os pacotes precisam de mais dados de cabeçalho além de um número de identificação de conexão depois que uma conexão for estabelecida com outro programa?
Depois que uma conexão for feita, digamos, porta 80; os dados ainda passam por essa porta ou o ID de conexão estabelecido especificou uma nova porta aberta para uso em comunicações futuras?
Em correspondência comminha pergunta aqui; Existe uma separação física real entre diferentes conexões? Ou é puramente teórico/virtual?
Responder1
Você parece estar confundindo idéias de comutação de circuitos com TCP/IP.
Talk of Port 80 sugere o protocolo HTTP sobre TCP e IP. Com o TCP/IP os nós intermediários (roteadores) não precisam acompanhar os "IDs de conexão". Tabelas de roteamento de intervalos de endereços IP mantidas dinamicamente são usadas para encaminhar pacotes. Não é necessário que pacotes sucessivos sigam o mesmo caminho.
O servidor rastreia as conexões TCP usando o endereço IP do cliente e o número da porta TCP, bem como o número da porta do servidor (e o endereço IP do servidor, os servidores podem ter vários endereços IP). Uma conexão é identificada pela combinação dessas quatro informações. O número da porta do cliente geralmente é escolhido pseudoaleatoriamente pelo cliente.
Observe que o UDP não tem conexão, não existe o conceito de conexão UDP. Muitos protocolos da camada de aplicação da Internet usam UDP como protocolo da camada de transporte.
Os pacotes precisam de mais dados de cabeçalho além de um número de identificação de conexão depois que uma conexão for estabelecida com outro programa?
Cabeçalhos TCP e cabeçalhos IP em pacotes TCP/IP não contêm "IDs de conexão" como tal.
Depois que uma conexão for feita, digamos, porta 80; os dados ainda passam por essa porta,
Sim.
ou o ID de conexão estabelecido especificou uma nova porta aberta para uso em comunicações futuras?
Como eu disse acima, os IDs de conexão, como tais, não existem no TCP/IP. Às vezes, um protocolo de nível superior estabelece comunicações em outras portas (por exemplo, portas de controle e de dados de FTP).
Em correspondência com a minha pergunta aqui; Existe uma separação física real entre diferentes conexões?
Normalmente não. Um servidor pode ter vários NICs atendendo diferentes grupos de clientes.
Ou é puramente teórico/virtual?
Números de porta e outros são apenas números nos cabeçalhos dos pacotes.
Responder2
Depois de ler sobre comutação de pacotes e circuitos, aprendi que os servidores mantêm múltiplas conexões com uma porta, transmitindo uma conexão de cliente estabelecida para um processo filho; e que todos os nós envolvidos na rota de conexão mantenham uma tabela de identificação de conexão para que os pacotes possam ser encaminhados corretamente para o próximo nó.
Este parágrafo é realmenteconfuso. A princípio você se refere à ativação da camada de rede. Então você se refere às conexões feitas na camada de transporte. Então você de alguma forma os combina, embora sejam camadas realmente diferentes. Considere que a comutação de circuitos pode ser apenas uma ideia e pode ou não ter sido usada no passado. No entanto, quando você se refere às portas, você está se referindo ao TCP/IP, que não usa comutação de circuitos...
Os pacotes precisam de mais dados de cabeçalho além de um número de identificação de conexão depois que uma conexão for estabelecida com outro programa? Depois que uma conexão for feita, digamos, porta 80; os dados ainda passam por essa porta ou o ID de conexão estabelecido especificou uma nova porta aberta para uso em comunicações futuras?
Você está se referindo a uma conexão com um programa, que usaria portas TCP/IP. Nesse caso, nenhum ID de conexão foi anexado ao pacote. No caso de comutação de circuito, isso seria necessário.
Existe uma separação física real entre diferentes conexões? Ou é puramente teórico/virtual?
Tudo passa pelo mesmo cabo, por isso pode ser considerado virtual e não físico.
Uma conexão estabelecida é apenas um meio de dizer “Vou me comunicar por meio deste post neste endereço”. Sim, uma conexão é simplesmente um endereço IP e um par de portas...
Não use a Wikipedia apenas para obter informações sobre isso, tente se aprofundar em um livro sobre Redes de Computadores...