1
00:00:00,000 --> 00:00:05,000
Em sua forma básica, o TCP pode ter um tamanho de janela

2
00:00:06,000 --> 00:00:10,000
de 1, o que significa que, para cada segmento

3
00:00:11,000 --> 00:00:16,000
transmitido pelo remetente, o receptor envia uma confirmação para esse segmento individual.

4
00:00:17,000 --> 00:00:19,000
No entanto, isso diminui a

5
00:00:20,000 --> 00:00:23,000
taxa de transferência drasticamente porque o remetente não

6
00:00:24,000 --> 00:00:29,000
pode transmitir mais dados até que receba o reconhecimento desse único segmento transmitido.

7
00:00:30,000 --> 00:00:32,000
A taxa de transferência seria muito baixa, dependendo

8
00:00:33,000 --> 00:00:34,000
do cronômetro de ida

9
00:00:35,000 --> 00:00:38,000
e volta entre o envio de dados e o recebimento da confirmação.

10
00:00:39,000 --> 00:00:42,000
No entanto, o TCP permite maiores tamanhos de janela para permitir que mais segmentos

11
00:00:43,000 --> 00:00:44,000
sejam transmitidos antes de receber

12
00:00:49,000 --> 00:00:50,000
uma confirmação. 12 A

13
00:00:51,000 --> 00:00:52,000
janela é o número de

14
00:00:53,000 --> 00:00:56,000
segmentos de dados que o remetente pode enviar sem receber uma confirmação do destinatário.

15
00:00:57,000 --> 00:00:58,000
Nesse caso, definimos como

16
00:00:59,000 --> 00:01:02,000
1, o que significa que quando o host A deseja enviar

17
00:01:03,000 --> 00:01:07,000
tráfego para o host B, ele pode enviar 1 segmento porque o tamanho da janela

18
00:01:03,000 --> 00:01:07,000
é definido como 1 host B, depois de receber esse segmento, envia uma confirmação.

19
00:01:14,000 --> 00:01:18,000
Neste exemplo, suponhamos que o host A, envie o segmento com o número de sequência de

20
00:01:19,000 --> 00:01:21,000
1 host B, confirmaria para o segmento 2.

21
00:01:22,000 --> 00:01:24,000
O host A enviará o segmento

22
00:01:25,000 --> 00:01:29,000
2 e o host B, assim que receber com sucesso, esse segmento

23
00:01:30,000 --> 00:01:32,000
confirmará ou ACK para o segmento 3.

24
00:01:33,000 --> 00:01:36,000
O host A enviará o segmento 3 para o host B.

25
00:01:37,000 --> 00:01:41,000
Este processo irá continuar durante a sessão, o que é obviamente

26
00:01:42,000 --> 00:01:46,000
muito fiável, no entanto, a taxa de transferência é muito baixa.

27
00:01:47,000 --> 00:01:50,000
A precisaria armazenar em buffer segmentos de saída

28
00:01:51,000 --> 00:01:54,000
até receber uma confirmação para o segmento transmitido.

29
00:01:55,000 --> 00:01:57,000
Agora, para argumentar, vamos assumir que leva

30
00:01:58,000 --> 00:02:00,000
1 segundo para o tráfego com o

31
00:04:04,000 --> 00:04:06,000
início com o tamanho pequeno da janela

32
00:04:07,000 --> 00:04:10,000
e, em seguida, aumenta exponencialmente o tamanho da janela para medir

33
00:04:11,000 --> 00:04:15,000
a quantidade de dados que o receptor pode receber e o que a rede pode manipular.

34
00:04:16,000 --> 00:04:20,000
Você provavelmente percebeu isso, ao baixar um arquivo da Internet, inicialmente, a

35
00:04:21,000 --> 00:04:23,000
velocidade de download é lenta, mas

36
00:04:24,000 --> 00:04:27,000
aumenta até certo ponto ao longo do tempo.

37
00:04:28,000 --> 00:04:31,000
Isso ocorre porque o tamanho da janela é inicialmente pequeno,

38
00:04:32,000 --> 00:04:35,000
mas aumenta exponencialmente até que um pacote seja descartado ou

39
00:04:36,000 --> 00:04:40,000
o host receptor não possa manipular a quantidade de dados que está recebendo.

40
00:04:41,000 --> 00:04:43,000
Assim, você notará inicialmente que a velocidade de download

41
00:04:44,000 --> 00:04:47,000
é muito lenta aumenta muito rapidamente e, em seguida, chega a um ponto e,

42
00:04:48,000 --> 00:04:49,000
em seguida, permanece nessa velocidade.

43
00:04:50,000 --> 00:04:51,000
Então, mais uma vez, vamos

44
00:04:52,000 --> 00:04:55,000
supor que os hosts neste exemplo tenham um tamanho de janela fixo de 3.

45
00:04:56,000 --> 00:05:01,000
Isso significa que A pode enviar 3 segmentos antes de receber uma confirmação.

46
00:05:02,000 --> 00:05:05,000
Portanto, neste caso, o host A envia o segmento

47
00:05:06,000 --> 00:05:10,000
1,2 e 3 o host B reconhece para o segmento 4, deixando

48
00:05:11,000 --> 00:05:15,000
assim A saber que recebeu com sucesso o segmento 1,2 e 3

49
00:05:16,000 --> 00:05:21,000
e, em seguida, envia o segmento 4,5 e 6 porque tem um tamanho de janela

50
00:05:22,000 --> 00:05:25,000
de correção de 3 e o hospedeiro B reconhece

51
00:05:26,000 --> 00:05:31,000
para o segmento 7, deixando assim A saber que recebeu os segmentos 4,5 e 6.

52
00:05:32,000 --> 00:05:37,000
Lembre-se com confirmações, confirme o próximo segmento que você deseja receber, não o segmento

53
00:05:41,000 --> 00:05:44,000
que você já recebeu. 80 Então, o host B não reconhece o segmento

54
00:05:45,000 --> 00:05:46,000
6, mas reconhece o segmento 7.

55
00:05:47,000 --> 00:05:52,000
Como mencionei, uma janela deslizante permite que os hosts avaliem a quantidade de dados

56
00:05:53,000 --> 00:05:57,000
que o receptor pode receber e o que a rede pode manipular.

57
00:05:58,000 --> 00:06:01,000
Portanto, neste exemplo, vamos supor que o host esteja usando uma

58
00:06:02,000 --> 00:06:05,000
janela deslizante. A maneira que eles determinam o que a rede

59
00:06:06,000 --> 00:06:10,000
pode manipular é quando um pacote é descartado pela rede, o host fica lento.

60
00:06:11,000 --> 00:06:13,000
Essas informações são abordadas com muito

61
00:06:14,000 --> 00:06:17,000
mais detalhes em cursos que contêm qualidade de serviço.

62
00:06:18,000 --> 00:06:20,000
Com este curso, apenas suponha

63
00:06:21,000 --> 00:06:23,000
que quando um pacote começa

64
00:06:24,000 --> 00:06:32,000
a reduzir o tamanho da janela drasticamente, o tamanho da janela é a janela concedida ao remetente pelo receptor ou

65
00:06:33,000 --> 00:06:38,000
uma janela calculada chamada janela de congestionamento ou CWND a janela de

66
00:06:39,000 --> 00:06:45,000
congestionamento ou CWND é inicialmente configurado para um valor muito baixo no estabelecimento da conexão

67
00:06:46,000 --> 00:06:49,000
e, em seguida, aumenta em uma taxa exponencial.

68
00:06:50,000 --> 00:06:53,000
Para cada segmento perdido, a janela de congestionamento

69
00:06:54,000 --> 00:06:57,000
é metade depois que o segmento perdido foi

70
00:06:58,000 --> 00:07:01,000
retransmitido com sucesso, a janela de congestionamento cresce

71
00:07:02,000 --> 00:07:05,000
novamente até atingir metade da janela de congestionamento

72
00:07:06,000 --> 00:07:11,000
original e então diminui seu crescimento, usando um algoritmo chamado evitação de congestionamento.

73
00:07:12,000 --> 00:07:17,000
Ele cresce exponencialmente até metade do tamanho original da janela de

74
00:07:18,000 --> 00:07:21,000
congestionamento e aumenta lentamente na taxa linear.

75
00:07:22,000 --> 00:07:27,000
Na qualidade de serviço, pode-se usar o WRED Weighted Random Early Detection ou

76
00:07:28,000 --> 00:07:33,000
melhorar a eficiência das transmissões TCP através do link, pois os pacotes são

77
00:07:34,000 --> 00:07:39,000
descartados aleatoriamente de vários fluxos ou de várias sessões em uma interface individual,

78
00:07:40,000 --> 00:07:41,000
em vez de

79
00:07:42,000 --> 00:07:45,000
pacotes de vários remetentes serem descartados ao mesmo tempo.

80
00:07:46,000 --> 00:07:49,000
isso evita um problema chamado sincronização global, no qual os pacotes de várias sessões

81
00:07:50,000 --> 00:07:54,000
TCP são descartados ao mesmo tempo e, portanto, vários hosts reduzem o tamanho da janela e diminuem a

82
00:08:02,000 --> 00:08:04,000
velocidade ao mesmo tempo 110 e, em seguida, aumentar

83
00:08:05,000 --> 00:08:08,000
gradualmente o tamanho da janela e, portanto, a taxa de transferência ao mesmo tempo.

84
00:08:09,000 --> 00:08:14,000
Então você tem muitos hosts reduzindo a velocidade e acelerando ao mesmo tempo

85
00:08:15,000 --> 00:08:17,000
com o WRED, alguns hosts

86
00:08:18,000 --> 00:08:24,000
estão ficando mais lentos e outros hosts aumentarão sua taxa de transferência devido a quedas aleatórias.

87
00:08:25,000 --> 00:08:30,000
Consulte a documentação da qualidade de serviço para obter mais detalhes sobre o WRED.

88
00:08:34,000 --> 00:08:39,000
Neste exemplo, vamos supor que começamos com o tamanho da janela inicial de 3.

89
00:08:40,000 --> 00:08:49,000
Assim, A transmite 3 segmentos para B, no entanto apenas os segmentos 1 e 2 chegam ao segmento B

90
00:08:50,000 --> 00:08:52,000
do host 3 desaparecidos.

91
00:08:53,000 --> 00:09:00,000
O host B pode reduzir seu tamanho de janela neste exemplo para 2 e confirmar o segmento 3.

92
00:09:01,000 --> 00:09:08,000
Lembre-se de que o reconhecimento é para o próximo pacote que esse host espera receber e porque o host

93
00:09:10,000 --> 00:09:12,000
B não recebeu o segmento

94
00:09:13,000 --> 00:09:17,000
3 está reconhecendo o recebimento bem-sucedido dos segmentos 1 e 2.

95
00:09:18,000 --> 00:09:25,000
O host A retransmitirá o segmento 3 e, neste exemplo, enviará o segmento 4, mas também solicitará um tamanho de

96
00:09:26,000 --> 00:09:27,000
janela de 3.

97
00:09:28,000 --> 00:09:32,000
Ambos os segmentos são recebidos com sucesso pelo host B, então o host

98
00:09:33,000 --> 00:09:35,000
B confirmará o segmento 5, mas

99
00:09:36,000 --> 00:09:39,000
neste exemplo, ainda deseja um tamanho de janela de 2.

100
00:09:40,000 --> 00:09:45,000
O host A enviará apenas 2 segmentos porque o tamanho da janela negociada é

101
00:09:46,000 --> 00:09:51,000
2, mas A ainda pode solicitar que o tamanho da janela seja aumentado para 3.

102
00:09:52,000 --> 00:09:57,000
Com a janela deslizante, há uma negociação dinâmica de um tamanho de janela e o

103
00:09:58,000 --> 00:10:02,000
tamanho da janela pode mudar drasticamente durante uma sessão, dependendo do que

104
00:10:03,000 --> 00:10:07,000
o receptor pode processar e do que a rede pode suportar.
