Informática Numaboa - Referências
Protocolo TCP
Dom 6 Mai 2007 14:59 |
- Detalhes
- Categoria: Rede
- Atualização: Terça, 21 Abril 2009 19:48
- Autor: vovó Vicki
- Acessos: 12934
Os protocolos TCP e IP são o coração dos protocolos da Internet. O IP possibilita o roteamento dos pacotes para que possam transitar pela rede e alcançar determinado destino - uma espécie de policial rodoviário das "estradas" da grande rede. O TCP controla os pacotes recebidos pelas máquinas que estão "conversando" e os encaminha para os aplicativos apropriados - uma espécie de guarda de trânsito que atua nas máquinas direcionando os pacotes destinados ao browser para o browser, os destinados ao aplicativo de email para o aplicativo de email, etc.
TCP - Transmission Control Protocol
O TCP é um protocolo da camada de transporte da suite TCP/IP que garante um fluxo confiável e um serviço de conexão virtual para os aplicativos através de confirmações e, quando necessário, através da retransmissão de pacotes.
Como vários aplicativos de rede podem estar rodando na mesma máquina, os computadores precisam de alguma coisa que garanta que o aplicativo na máquina de destino receba os pacotes corretos enviados pela máquina de origem. Também precisam de alguma coisa garantindo que as respostas sejam entregues aos aplicativos corretos no computador de origem. Esta "alguma coisa" é uma "porta TCP". A combinação do endereço IP de um estação de rede com um número de porta é conhecida como socket ou "endpoint" (ponto final, como o ponto final de uma linha de ônibus). O TCP estabelece conexões (ou circuitos virtuais) entre dois "pontos finais" para permitir conexões confiáveis. Detalhes dos números das portas TCP podem ser encontrados em TCP and UDP Port Numbers.
Entre os serviços do TCP estão: fluxo de transferência de dados, confiabilidade, controle de fluxo eficiente, operação full-duplex e multiplexação.
Através do fluxo de transferência de dados, o TCP entrega um fluxo não estruturado de bytes identificados por números sequenciais. Este serviço ajuda os aplicativos porque eles não precisam fragmentar os dados em blocos antes de entregá-los ao TCP. O TCP pode agrupar bytes em segmentos e passá-los para o IP para que sejam entregues.
O TCP oferece confiabilidade porque fornece uma entrega de pacotes de um "ponto final" para outro orientada por conexão. Ele faz isto sequenciando bytes com um número de conhecimento (como o conhecimento usado pelas transportadoras) que indica para o destino o próximo byte que a origem espera receber. Os bytes que ficam sem "recibo" (ou sem conhecimento) durante determinado período de tempo são retransmitidos. O mecanismo de confiabilidade do TCP permite que os dispositivos lidem com pacotes perdidos, atrasados, duplicados ou de leitura duvidosa. Um mecanismo de tempo esgotado permite que os dispositivos detectem pacotes perdidos e solicitem uma retransmissão.
O TCP oferece um controle de fluxo eficiente - quando envia conhecimentos para a origem, o processo recebedor do TCP indica o maior número sequencial que ele pode receber sem estourar a capacidade dos seus buffers internos.
Operação full-duplex: Processos TCP podem enviar e receber pacotes ao mesmo tempo.
Multiplexação no TCP: várias conversações simultâneas com camadas superiores podem ser multiplexadas numa única conexão.
Estrutura do Procolo TCP
16 | 32 bits | |||||||
Porta de origem | Porta de destino | |||||||
Número sequencial | ||||||||
Número do conhecimento | ||||||||
Offset (deslocamento) | Reservado | U | A | P | R | S | F | Janela |
Checksum | Ponteiro de urgência | |||||||
Opção + Padding | ||||||||
Dados |
- Porta de origem: Identifica pontos nos quais o processo de origem da camada superior recebe serviços TCP.
- Porta de destino: Identifica pontos nos quais o processo de destino da camada superior recebe serviços TCP.
- Número sequencial: Geralmente especifica o número designado para o primeiro byte dos dados da mensagem. Na fase de estabelecimento de conexão, este campo também pode ser usado para identificar um número sequencial inicial que será usado numa conexão subsequente.
- Número do conhecimento: Contém o número sequencial do próximo byte dos dados que o remetente do pacote espera receber. Assim que uma conexão for estabelecida, este valor é enviado.
- Deslocamento (offset): 4 bits. O número de words de 32 bits no cabeçalho TCP indica o início dos dados.
- Reservado: 6 bits. Reservado para uso futuro. Precisa ser zero.
- Bits de controle (Flags): 6 bits. Contém uma porção de informações de controle.
- Janela: 16 bits. Especifica o tamanho da janela de recebimento do remetente, isto é, o espaço disponível no buffer, em octetos, para os dados que entram.
- Checksum: 16 bits. Indica se o cabeçalho foi avariado durante o trajeto.
- Ponteiro de urgência: 16 bits. Aponta para o primeiro byte de dados urgente do pacote.
- Opção + Paddling: Especifica várias opções TCP. Existem dois formatos possíveis para uma opção: apenas um octeto com o tipo da opção e um octeto com o comprimento do tipo.
- Dados: Contém informação para a camada superior.