Download - Redes Transporte 2
-
8/18/2019 Redes Transporte 2
1/33
Redes de Computadores I – Prof. Mateus Raeder
TCP (Transmission ControlProtocol)
• Janelas deslizantes (Go-back-N)– Para conseguir conabilidade, emissor aguarda oC! de cada pacote en"iado
– #$ ent%o en"ia o pr$&imo pacote
– Rede permanece ociosa durante este tempo– Janelas deslizantes: tornam a transmiss%o de
pacotes mais eciente ("'rios pacotes antes doC!)
– Mais comple&a ue a conrma%o positi"a "istaanteriormente
-
8/18/2019 Redes Transporte 2
2/33
Redes de Computadores I – Prof. Mateus Raeder
TCP * +anela esli-ante
• protocolo cria uma /anela de taman0o &o– Pode transmitir todos os pacotes ue se encontram
nesta /anela antes de receber uma conrma%o– 1m pacote 2 dito n%o*conrmado se foi en"iado e
nen0um C! retornou– M'&imo de conrma3es4 taman0o da /anela
1 2 3 4 5 6 7 8 9 ... N
Janela inicial (tamanho 3)
-
8/18/2019 Redes Transporte 2
3/33
Redes de Computadores I – Prof. Mateus Raeder
TCP * +anela esli-ante
•5uando o remetente recebe um C! para oprimeiro pacote da /anela– esli-a a /anela– 6n"ia o pr$&imo pacote
– /anela continua desli-ando de acordo com ac0egada das conrma3es
1 2 3 4 5 6 7 8 9 ... N
Janela desliza
-
8/18/2019 Redes Transporte 2
4/33
Redes de Computadores I – Prof. Mateus Raeder
TCP * +anela esli-ante
1 2 3 4 5 6 7 8 9 ... N
Janela desliza
1 2 3 4 5 6 7 8 9 ... N
Janela desliza
ACK 3 ece!ido"
ACK 1 ece!ido"
N#o en$iados
%n$iados
Con&imados
'ndica e at* o 3 (inclsi$e)
J+ che,aam todos coetamente
-
8/18/2019 Redes Transporte 2
5/33
Redes de Computadores I – Prof. Mateus Raeder
TCP * +anela esli-ante
1 2 3 4 5 6 7 8 9 ... N
Janela desliza
1 2 3 4 5 6 7 8 9 ... N
Janela desliza
ACK 7 ece!ido"
ACK 4 ece!ido"
N#o en$iados
%n$iados
Con&imados
-
8/18/2019 Redes Transporte 2
6/33
Redes de Computadores I – Prof. Mateus Raeder
TCP * +anela esli-ante
-emetente -eceto
%n$ia /C0
%n$ia /C0 1
%n$ia /C0 2
(esea)
-ece!e /C0
%n$ia ACK
-ece!e /C0 2(descata)
-ece!e ACK
%n$ia /C0 3
-ece!e /C0 3
(descata)
0imeot /C0 1
%n$ia /C0 1
-ece!e /C0 1
%n$ia ACK 1
-ece!e /C0 2
%n$ia ACK 2
-ece!e /C0 3
%n$ia ACK 3
%n$ia /C0 2
%n$ia /C0 3
.
.
.
-
8/18/2019 Redes Transporte 2
7/33
Redes de Computadores I – Prof. Mateus Raeder
TCP * +anela esli-ante
• Com um mecanismo bem a/ustado de /anela– Rede ca com mais pacotes trafegando– Tr'fego mais eciente na rede do ue uma t2cnica
de conrma%o simples, baseada somente em
C!s• Mecanismo de /anela continua oferecendo
transfer7ncia con'"el• 8arante a ordem da entrega das mensagens
-
8/18/2019 Redes Transporte 2
8/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – +anela "ari'"el
• TCP permite ue o taman0o da /anela "arie com o tempo• Cada conrma%o de recebimento cont2m uma informa%o
sobre uantos pacotes o receptor est' preparado para aceitar• ssim, o remetente atuali-a o taman0o da sua /anela de acordo
com a capacidade informada pelo receptor
– umento da capacidade do receptor, aumento da /anela– iminui%o da capacidade do receptor, diminui%o da /anela
• 9ornece mel0or controle de :u&o e transfer7ncia con'"el• Controle de :u&o 2 essencial para redes e 0osts 0eterog7neos
– Cada um com sua "elocidade e capacidade
– Mel0or utili-a%o da rede
-
8/18/2019 Redes Transporte 2
9/33
Redes de Computadores I – Prof. Mateus Raeder
Pacote TCP
• unidade de transfer7ncia entre dois 0osts com TCP 2 c0amadade segmento ou pacote
• Pacotes s%o trocados para estabelecer cone&3es– Pigg;bac
-
8/18/2019 Redes Transporte 2
10/33
Redes de Computadores I – Prof. Mateus Raeder
Pacote TCP
/ota i,em /ota estino
Checsm /onteio de ,ncia
es ( o mais ala$as de 32 !its)
16 31
ados
0amanho da anela
Nmeo de sencia
Nmeo ACK
0amanho
ca!ealho
N#o
sado
:
'
N
;
<
N
-
;
0
/
;
=
A
C
K
>
-
?
-
8/18/2019 Redes Transporte 2
11/33
Redes de Computadores I – Prof. Mateus Raeder
Pacote TCP
• Portas destino e origem• =>mero de seu7ncia4 do pacote do remetente• =>mero C!4 n>mero de conrma%o ue identica
o pr$&imo n>mero de seu7ncia esperado pelo outro
0ost (receptor)• Taman0o do cabeal0o4 especica o taman0o docabeal0o do pacote TCP. Taman0o m?nimo 2 de @pala"ras de AB bits
• =%o usado4 reser"ados para uso futuro
-
8/18/2019 Redes Transporte 2
12/33
Redes de Computadores I – Prof. Mateus Raeder
Pacote TCP
• its de controle (identicam a nalidade dosegmento)– 1R84 o campo Ponteiro 1rgente 2 "'lido– C!4 o campo =>mero C! 2 "'lido– P#D4 fora a entrega da mensagem (pus0 – empurrar)
• Receptor n%o arma-ena a mensagem at2 enc0er o buEer– R#T4 reiniciar a cone&%o
• Caso ten0a cado confusa de"ido fal0as no 0ost, por e&emplo• Re/eitar uma cone&%o ou um segmento in"'lido
– #F=4 sincroni-a n>meros de seu7ncia (estabelececone&%o)
– 9I=4 remetente n%o tem dados
-
8/18/2019 Redes Transporte 2
13/33
Redes de Computadores I – Prof. Mateus Raeder
Pacote TCP
• Taman0o da /anela4 especica o taman0o da /anela(em b;tes) ue ser' usada na cone&%o– T2cnica de pigg;bac
-
8/18/2019 Redes Transporte 2
14/33
Redes de Computadores I – Prof. Mateus Raeder
Pacote TCP
• C0ec
-
8/18/2019 Redes Transporte 2
15/33
Redes de Computadores I – Prof. Mateus Raeder
p3es TCP
• ptions4 pode conter G ou mais op3es– Cada op%o comea com um campo de H octeto ue indica
o tipo da op%o– 6m seguida, H octeto ue indica o taman0o da op%o
• p%o de Taman0o M'&imo de #egmento (Ma&imum
#egment #i-e – M##)– Combina entre as e&tremidades o taman0o m'&imo do
segmento a ser transferido– Permite ue receptor diga o taman0o m'&imo, permitindo
comunica%o entre m'uinas e redes 0eterog7neas demaneira mais eciente
-
8/18/2019 Redes Transporte 2
16/33
Redes de Computadores I – Prof. Mateus Raeder
p3es TCP
• p%o de Taman0o M'&imo de #egmento (Ma&imum#egment #i-e – M##) cont...– #e n%o est%o na mesma rede f?sica, podem tentar descobrir
a MT1 (capacidade da redeJ) m?nima ao longo do camin0o– 6scol0a de M## 2 cr?tica
• Muito peueno4 pode causar o"er0ead e sobrecarga na rede• Muito grandes4 podem obrigar roteadores a fragmentar o
pacote di"ersas "e-es, diminuindo o desempen0o da rede
– 5ual o taman0o de segmento idealK• maior poss?"el sem e&igir fragmenta%o algumaLL
• Pr'tica 2 muito dif?cil
-
8/18/2019 Redes Transporte 2
17/33
Redes de Computadores I – Prof. Mateus Raeder
p3es TCP
• p%o de +anela m$"el– /anela do cabeal0o IP tem H bits
• M'&imo do taman0o 2 N!b;tes
– Para acomodar /anelas maiores, a op%o de 6scala de +anelaapresenta campos ue permitem informar o taman0o real da
no"a /anela• p%o de estampa de tempo
– /uda o TCP a calcular o atraso na rede– Oalor de tempo e um de estampa de tempo de resposta de
eco– Remetente4 coloca a 0ora no estampa ao en"iar um pacote– Receptor4 copia o tempo para o campo resposta de eco e
manda conrma%o-emetente sa!e o temo total ,asto
desde o en$io do se,mento
-
8/18/2019 Redes Transporte 2
18/33
Redes de Computadores I – Prof. Mateus Raeder
p3es TCP
• Retransmiss%o #eleti"a– #ubstituir o 8o*bac
-
8/18/2019 Redes Transporte 2
19/33
Redes de Computadores I – Prof. Mateus Raeder
p3es TCP
• Retransmiss%o #eleti"a– remetente de"er' retransmitir os pacotes ue n%o
receberam conrma%o (C!)• Tempori-ador para cada pacote sem C!
– +anela e&iste no remetente
• Com os n>meros de seu7ncia consecuti"os• Qimita uantidade de pacotes en"iados sem recon0ecimento
-
8/18/2019 Redes Transporte 2
20/33
Redes de Computadores I – Prof. Mateus Raeder
p3es TCP
• Retransmiss%o #eleti"a
-
8/18/2019 Redes Transporte 2
21/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – bertura de cone&%o
• s duas e&tremidades da cone&%o (diferentemente do1P) de"em concordar em participar da transmiss%o
• aplica%o em uma e&tremidade reali-ar' a aberturapassi"a4– Indica ue aceitar' uma cone&%o ue ir' c0egar em uma
determinada porta• =a outra e&tremidade, a aplica%o reali-a a abertura
ati"a– Indicar' ue dese/a estabelecer uma cone&%o com
determinada porta em determinado 0ost
-
8/18/2019 Redes Transporte 2
22/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – Controle da cone&%o
• Tr7s fases– 6stabelecimento da cone&%o– Transmiss%o de dados– 6ncerramento da cone&%o
• 9lags– #F=4 indica solicita%o de cone&%o– 9I=4 indica nali-a%o da cone&%o– R#T4 indica o reset da cone&%o– C!4 indica um recon0ecimento de recebimento de pacote
-
8/18/2019 Redes Transporte 2
23/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – 6stabelecimento da cone&%o
i,em A estino @
;
-
8/18/2019 Redes Transporte 2
24/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – = meros de seu nciainiciais
• Dands0ameros de seu7ncia
inicial
• M'uinas escol0em n>meros de seu7ncia iniciais
aleatoriamente• s e&tremidades de"em con0ecer os n>meros deseu7ncia umas das outras– en"ia #F= /unto com seu n>mero de seu7ncia (&) para – recebe o #F=, guarda o n>mero de seu7ncia do :u&o de
, e responde com seu n>mero de seu7ncia (;), di-endoue espera o n>mero de seu7ncia &H agora de
* guarda o n>mero de seu7ncia de
e conrma di-endo ue espera por
;H
TCP = d i
-
8/18/2019 Redes Transporte 2
25/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – = meros de seu nciainiciais
-
8/18/2019 Redes Transporte 2
26/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – 9ec0ando uma cone&%o
• t2rmino da cone&%o de"e ser reali-ado de maneira
controlada– Cone&3es s%o full duple&, e "%o nos dois sentidos
independentemente
• 5uando um aplicati"o TCP n%o possui mais dados
para en"iar, fec0a a cone&%o em uma dire%o– #omente a sua metadeJ• 5uando um lado recebe um pedido de
encerramento, de"e a"isar a aplica%o– 6ntretanto, a aplica%o poder' continuar en"iando dados
pela sua metadeJ de cone&%o
-
8/18/2019 Redes Transporte 2
27/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – 9ec0ando uma cone&%o
FIN
ACK
ACK
FIN
Dados
ACK dos dados
Host A Host B
-
8/18/2019 Redes Transporte 2
28/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – 9ec0ando uma cone&%o
• cone&%o estar' encerrada uando os dois sentidos
da cone&%o esti"erem desati"ados• #%o necess'rios, de modo geral, N segmentos TCP
para encerrar uma cone&%o– 9I= e C! em um sentido e 9I= e C! no outro sentido
• Pode ocorrer com apenas A segmentosK– #imLL primeiro C! e o segundo 9I= podem ser en"iados
pelo mesmo segmento (de caronaJ)– #omente A segmentos
-
8/18/2019 Redes Transporte 2
29/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – Rein?cio da cone&%o
• lgumas "e-es condi3es anormais foram a
interrup%o da cone&%o– 1m lado inicia o t2rmino com o bit R#T setado– outro lado responde imediatamente com outro segmento
de reset, abortando a cone&%o– TCP informa ao programa aplicati"o ue 0ou"e um aborto
-
8/18/2019 Redes Transporte 2
30/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – Pol?tica de transmiss%o
• Oamos supor ue o receptor tem um buEer de @GGG
b;tes• #e o remetente en"iar um segmento de AGGG b;tes,
o receptor conrmar' o recebimento– Por2m, at2 ue alguma aplica%o retire do buEer, o buEer
possui BGGG b;tes restantes– 6sta informa%o (BGGG b;tes) "ai para a /anela do remetente
• remetente en"ia mais BGGG b;tes, e s%oconrmados– Receptor anunciar' /anela G, pois n%o cabem mais dados
(buEer c0eio)– ssim, o remetente de"e parar de en"iar mensagens at2
uma
/anela maior ser anunciada
-
8/18/2019 Redes Transporte 2
31/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – Pol?tica de transmiss%o
-
8/18/2019 Redes Transporte 2
32/33
Redes de Computadores I – Prof. Mateus Raeder
TCP – #?ndrome da /anela boba
• 1m problema ue pode diminuir muito odesempen0o do TCP
• ados repassados para o remetente s%o muitograndes, mas uma aplica%o consome os dadosum b;te por "e-
• uEer do lado receptor ca c0eio, e o remetentesabe disso (/anela 2 G)
• aplica%o ent%o l7 H caractere do :u&o TCP• ue aconteceK
– Receptor ca bem faceiro e en"ia a /anela de taman0o H
?
-
8/18/2019 Redes Transporte 2
33/33
Redes de Computadores I Prof Mateus Raeder
TCP – #?ndrome da /anela boba
• 5ual a solu%oK– 6"itar ue o receptor en"ie uma atuali-a%o de /anela
para H b;te– 6le 2 forado a aguardar at2 ue 0a/a espao
consider'"el para anunciar sua /anela
• Mas, ual 2 o espao consider'"elK– if?cil de pre"er– S denido ue o receptor n%o pode en"iar uma
atuali-a%o de /anela at2 ue ele possa lidar com otaman0o m'&imo do segmento (M##) anunciado no
comeo da cone&%o, ou at2 metade da capacidade doseu buEer (o ue for menor)