TCP ou Transmission Control Protocol é um protocolo de camada de transporte que
reside na camada 4 no modelo OSI e é orientado para
conexão, permitindo novamente acesso de protocolos de camada alta à camada de rede ou camada IP,
mas, nesse caso, fornecendo confiabilidade.
É a conexão orientada antes da
transmissão que uma sessão é estabelecida entre 2 dispositivos.
O TCP geralmente implementa um modo de operação full duplex.
Existem algumas exceções, mas não vamos entrar nelas.
Em outras palavras, uma conexão TCP é um par de circuitos
virtuais, um em cada direção, que operam no modo full duplex.
O transmissor pode receber dados ao mesmo tempo sua transmissão.
Ambos os hosts em uma conversa podem transmitir e receber ao mesmo tempo.
Há uma verificação de erros no TCP
porque existe uma soma de verificação no datagrama para verificar se não há corrupção.
Os segmentos TCP também são numerados em sequência para que o destino possa reordenar segmentos e determinar se faltam dados.
Há também o aviso de recebimento de dados, portanto todos os dados são reconhecidos pelo receptor.
o transmissor ou remetente pode retransmitir o segmento ou encerrar a conexão se determinar
que o receptor não está mais envolvido na conversa.
O TCP implementa recursos de recuperação de dados
em outras palavras, pode haver retransmissão de dados perdidos.
Portanto, se não houver reconhecimento de um segmento, o segmento será retransmitido.
O segmento TCP é enviado usando pacotes IP.
O cabeçalho TCP seguirá o cabeçalho IP fornecendo informações específicas para o protocolo TCP.
Como você pode ver aqui o cabeçalho TCP tem muito mais opções do que o cabeçalho UDP.
Então, em primeiro lugar, você tem um número de porta de origem de 16 bits que identifica a porta de envio.
Temos uma porta de destino de 16 bits, que identifica a porta de recebimento.
Há um número de sequência de 32 bits, se o bit SYN for definido, esse será
o número de sequência inicial.
O número de sequência do primeiro byte de dados real é então esse número de sequência mais 1.
Se o bit SYN não estiver definido, o número de sequência é o número de sequência acumulado do primeiro
byte de dados deste pacote para a sessão atual.
Em seguida, ele tem um número de confirmação de 32 bits.
Se o sinalizador ACK estiver definido ou o bit estiver definido, o valor
do número de confirmação será o
próximo número de sequência que o receptor está esperando receber.
Este campo confirma o recebimento de todos os bytes anteriores.
O primeiro ACK ou confirmação enviado por cada extremidade confirma que o
outro termina com o número de sequência inicial, mas sem dados.
O comprimento do cabeçalho ou o deslocamento de dados especifica o tamanho do cabeçalho TCP em palavras de 32 bits.
O tamanho mínimo do cabeçalho é de 5 palavras e o máximo é de 15 palavras.
O tamanho mínimo do cabeçalho é de
20 bytes e o tamanho máximo do
cabeçalho é de 60 bytes no IPv4, o que permite até 40 bytes de opções no cabeçalho.
A reserva preenche o set para 0 e é reservada para uso futuro.
Agora há muitos flags ou bits de controle disponíveis no cabeçalho TCP e não passaremos
por todos eles.
O Sinalizador Reduzido da Janela de Congestionamento faz parte de um
mecanismo de notificação de congestionamento usado em conjunto com
o sinalizador ECE bit ou flag ou eco echo congestion notification.
Mais uma vez usado na notificação de congestionamento.
Isso pode ser usado na qualidade do serviço em que a rede
e o host se comunicam para indicar o congestionamento,
portanto, informando ao transmissor que ele precisa diminuir a velocidade.
O sinalizador URG pode indicar que esse segmento é urgente e deve ser
processado o quanto antes.
O sinalizador ACK, conforme mencionado, é usado para reconhecimento de dados.
PSH é o sinalizador definido pelo remetente TCP para fazer com que o receptor TCP passe imediatamente 60
os dados desse segmento para o soquete do aplicativo
de receptores junto com todos os outros dados de ordem que o receptor ainda deve fornecer a esse aplicativo.
Restabelecer; redefine a conexão em outras palavras, a conexão é desativada.
SYN é usado para sincronizar números de seqüência.
Somente o primeiro pacote enviado de cada extremidade terá esse sinalizador definido.
FIN significa que não há mais dados do remetente.
O tamanho da janela que tem 16 bits de
comprimento especifica o tamanho da janela
recebida, que é o número de bytes que o receptor está atualmente disposto a receber.
Falaremos mais sobre controle de fluxo e tamanhos de janela em um momento.
O TCP também inclui uma soma de verificação TCP de 16 bits
que é usada para verificação de erros do cabeçalho e dos dados.
O ponteiro urgente de 16 bits é usado com o sinalizador URG
que, quando ativado, significa que o ponteiro urgente de 16 bits é usado.
Isso indica um deslocamento do número de seqüência que indica o último byte de dados urgente.
Existem também várias opções disponíveis
no TCP, mas isso está fora do escopo deste curso.
E, finalmente, temos os dados, que são os dados dos protocolos de
camada superior encapsulados no cabeçalho TCP.
Existem alguns exemplos de aplicativos que dependem do TCP ou do UDP.
Exemplos são protocolos de transferência de arquivos incluem; FTP ou Protocolo de Transferência de Arquivo
TFTP ou Protocolo de Transferência de Arquivo Trivial, NFS ou Sistema de Arquivos de Rede.
No e-mail, tendemos a usar o POP3 ou o Post Office Protocol para receber e-mail ou SMTP para enviar e-mail ou IMAP ou
Internet Message Access Protocol, que é outro protocolo usado para recuperação de
e-mail. 86 Para o login remoto em dispositivos, poderíamos
usar o telnet, que envia tráfego
em texto não criptografado e, portanto, está seguro ou
seguro em SHELL ou SSH, o que permite uma
conexão segura com dispositivos remotos.
Para gerenciamento de rede, podemos usar o SNMP e, para o gerenciamento de nomes, podemos usar
o Sistema de Nomes de Domínio, que permite
o uso de nomes em vez de endereços
IP e traduz esses nomes de domínio significativos
em endereços IP, por exemplo Cisco. com será convertido em um endereço
IP quando um usuário navegar na Internet.
Antes de continuar, quero mencionar novamente como os mapeamentos funcionam
entre as diferentes camadas do modelo OSI.
Na camada 2 em um quadro Ethernet 2, há um campo chamado o número do tipo que permite que um host diferencie entre vários protocolos da camada 3 na camada 3, lembre-se que você poderia estar usando um protocolo como IPv4 ou IPv6 ou nos velhos tempos IPX ou apple talk.
Portanto, na camada 2, o NEC precisa saber em qual protocolo da camada 3 enviar esse tráfego e o número
do tipo é usado para diferenciar os diferentes protocolos da camada 3.
Na camada 3, um número de protocolo é usado para diferenciar 105 os diferentes protocolos em execução na camada 4, portanto, em um
cabeçalho IP, o campo de protocolo indicará onde o TCP ou UDP está sendo usado na camada 4 Na camada 4, um número
de porta é usado para diferenciar vários aplicativos sendo usados ​​na camada 7. 108 Por isso, é importante observar que, na camada 4, a maneira como
o TCP ou o UDP sabe para qual aplicativo esse tráfego está destinado é pelo número da porta.