Escolar Documentos
Profissional Documentos
Cultura Documentos
computadores/Prot
ocolo TCP
< Redes de comput adores
Transporte orientado para conexão: TCP, prot ocolo de t ransport e confiável da camada de
t ransport e, orient ado para conexão, da Int ernet .[1]
O TCP (Transmission Cont rol Prot ocol - Prot ocolo de Cont role de Transmissão) é um dos
prot ocolos[2], sob os quais assent a o núcleo da Int ernet nos dias de hoje. A versat ilidade e
robust ez dest e prot ocolo t ornou-o adequado para redes globais, já que est e verifica se os
dados são enviados de forma corret a, na sequência apropriada e sem erros, pela rede.
A conexão TCP
TCP(Transmission Cont rol Prot ocol) é um prot ocolo da camada de t ransport e, orient ado a
conexão. Ele é responsável pela divisão da mensagem em dat agramas, reagrupament o e
ret ransmissão no caso de dat agramas perdidos.
Dent re suas principais vant agens, podemos dest acar a segurança quant o à reposição de
pacot es perdidos e ordenação desses pacot es.
Estrutura do segmento TCP
[3]
O segment o TCP é dividido em part es. Didat icament e é represent ado pelo bloco abaixo
ilust rado, porém na prát ica é enviado sequencialment e. Cada linha da t abela é um bloco de 32
bit s, sendo que o bit inicial é de número 0.
O prot ocolo TCP permit e que seu cabeçalho t enha t amanho variável, conforme as
necessidades das est ações comunicant es e especifidades do enlace. A est rut ura básica
possui valores bem definidos, como as port as de origem (16 bit s) e de dest ino (16 bit s).
Part es import ant es no TCP são o número de seqüência (32 bit s) e o número de
reconheciment o (32 bit s), pois est es campos garant em a confiabilidade da t ransferência.Há
t ambém out ros campos, como compriment o do cabeçalho (4 bit s), que indica qual t amanho
do cabeçalho em palavras de 32 bit , as flags (6 bit s), que podem ser de 6 t ipos:
URG – urgência
ACK – número ack válido
PSH – push (envio imediato de dados)
RST – reset (reinício da conexão)
SYN – sync (estabelecimento de
conexão)
FIN – finalizar conexão
Há t ambém a janela de recepção (16 bit s) que indica o t amanho da janela para cont role de
fluxo (figura acima), o checksum (16 bit s) que verifica a int egridade dos dados de t odo o
pacot e, como um hash; o pont eiro para dados urgent es (16 bit s) que indica que det erminado
dado deve ser ent regue no mesmo inst ant e, as opções (quant idade variável de bit s), que
podem alocar mais banda do enlace para a t ransmissão dent re out ras possibilidades, e os
dados, cuja quant idade é definida no MSS.
A conexão TCP, por ser confiável, exige o est abeleciment o de uma conexão, embora não seja
necessário alocar exclusividade de enlace (circuit o dedicado[4]). É necessário exist ir um
client e e um servidor, porém como é um prot ocolo full-duplex, um t erminal pode ser
simult aneament e servidor e client e.
Para ist o é ut ilizada a flag ACK. Est a flag faz a sincronização dos números de sequência, como
most rado na figura a seguir.
[5]
Estimativa do tempo de
viagem de ida e volta e de
esgotamento de
temporização
O TCP ut iliza um mecanismo de cont role de t emporização/ret ransmissão para recuperar
segment os perdidos. Em um prot ocolo real como o TCP, surgem problemas de
implement ação de um mecanismo de cont role de t emporização/ret ransmissão como por
exemplo, est imar o t empo de viagem de ida e volt a da conexão - RTT (a duração dos
int ervalos de cont role deve ser maior do que o RTT, evit ando o envio de ret ransmissões
desnecessárias).
Est a fórmula est á escrit a sob a forma de um comando de linguagem de programação. O valor
recomendado de a é a = 0,125 (ist o é, 1/8) [RFC 2988 ], caso em que essa fórmula de t orna:
Onde RTTestimado é uma média ponderada dos valores de RTTamostra. Essa média
ponderada at ribui um peso maior às amost ras recent es do que às amost ras ant igas.
Observação: O valor de "a" det ermina o peso das amost ras mais recent es no cálculo da média,
por exemplo, se "a" vale 0,125, a últ ima amost ra analisada t erá peso de 12,5% no valor de
RTTestimado.
Além de t er uma est imat iva do RTT, t ambém é valioso t er uma medida de sua variabilidade. O
[RFC 2988 ] define a variação do RTT, RTTdesvio, como uma est imat iva do desvio t ípico
ent re RTTamostra e RTTestimado:
Onde RTTdesvio é uma MMEP (Média Móvel Exponencial Pura) da diferença ent re
RTTamostra e RTTestimado. Se os valores de RTTamostra apresent arem pouca variação,
ent ão RTTdesvio será pequeno; por out ro lado, se houver muit a variação, RTTdesvio será
grande. O valor recomendado para b é 0,25.
Estabelecimento e gerenciamento
da temporização de retransmissão
Considerando-se dispor dos valores RTTestimado, RTTamostra e RTTdesvio, pode-se
est abelecer um valor para a t emporização de ret ransmissão do TCP (IntervaloTimeOut). Est e
valor deve ser maior ou igual a RTTestimado, caso cont rário seriam enviadas ret ransmissões
desnecessárias, porém não deve ser muit o maior pois se houver perda de algum segment o, o
TCP não o ret ransmit iria rapidament e, o que result aria em grandes at rasos de t ransferência de
dados. Dessa forma, é desejável que o valor est abelecido para a t emporização seja igual a
RTTestimado mais uma cert a margem, que deverá ser grande quando houver muit a variação
nos valores de RTTamostra e pequena quando houver pouca variação. Assim, o valor de
RTTdesvio deve ser considerado:
Transferência confiável de
dados
Usa reconheciment os posit ivos, t emporizadores,números de seqüência e paralelismo
Recuperação de perdas de
segmentos
Retransmissão rápida
RFC 2581 : Três ACKs duplicados ® ret ransmit e o segment o que Falt a
Controle de fluxo
Gerenciamento da conexão
TCP
A maior part e dos at aques à Web, at ualment e, exploram vulnerabilidades apresent adas no
gerenciamento das conexões TCP. Além disso, import ant e observar, que o
est abeleciment o da conexão TCP int erfere, significat ivament e, nos at rasos percebidos em
nossa navegação. Port ant o, saber como as conexões TCP são est abelecidas e finalizadas,
possibilit ando gerenciá-las, é bast ant e import ant e para garant ia da confiabilidade inerent e ao
prot ocolo TCP.
Pode acont ecer, ent ret ant o, sit uações em que o segment o TCP SYN recebido pelo
hospedeiro apresent a número de port a e/ou IP incompat íveis com as port as nele exist ent es.
Nest e caso, não há o reconheciment o do segment o TCP SYN e, ent ão, o hospedeiro
(servidor) ret orna ao client e um segment o cont endo um bit de sinalização RST, at ivado em 1,
para reenvio/reinicialização da conexão.
Se essas t rês et apas forem bem sucedidas, os dados podem ser enviados ent re um client e e
um servidor em hospedeiros diferent es. Quando não se deseja cont inuar enviando pacot es, a
conexão TCP pode ser finalizada pelo client e ou pelo servidor.
Referências
Obtido em
"https://pt.wikibooks.org/w/index.php?
title=Redes_de_computadores/Protocolo_TCP&o
ldid=468273"
Esta página foi editada pela última vez às
18h18min de 15 de dezembro de 2020. •
Conteúdo disponibilizado nos termos da CC BY-
SA 4.0 , salvo indicação em contrário.