1
00:00:00,000 --> 00:00:08,000
Cuando se usa TCP, los dispositivos primero deben establecer una conexión con un sistema par antes de que se produzca la transmisión

2
00:00:09,000 --> 00:00:10,000
de datos para

3
00:00:11,000 --> 00:00:16,000
que la sesión orientada a la conexión se establezca entre el host A y

4
00:00:17,000 --> 00:00:23,000
el host B Una máquina iniciará la conexión que luego deberá ser aceptada por la otra máquina.

5
00:00:24,000 --> 00:00:28,000
Los módulos de software de protocolos en los sistemas operativos de los dispositivos host

6
00:00:29,000 --> 00:00:33,000
se comunican entre sí enviando mensajes a través de la red para verificar que

7
00:00:34,000 --> 00:00:36,000
la transferencia esté autorizada y que ambas

8
00:00:37,000 --> 00:00:39,000
partes estén listas para la transmisión de datos.

9
00:00:40,000 --> 00:00:48,000
Para que esto ocurra, se produce un intercambio de tres vías entre los dispositivos host que utilizan TCP.

10
00:00:49,000 --> 00:00:55,000
Entonces, el host que inicia la sesión configurará el indicador SYN o el bit SYN en

11
00:00:56,000 --> 00:01:00,000
el encabezado TCP del segmento inicial enviado al servidor B.

12
00:01:01,000 --> 00:01:05,000
El anfitrión A también elegirá un número de secuencia inicial que

13
00:01:06,000 --> 00:01:08,000
en este ejemplo digamos 100.

14
00:01:09,000 --> 00:01:12,000
Entonces, el indicador de control SYN se activa y el

15
00:01:13,000 --> 00:01:16,000
número de secuencia se establece en un valor inicial de 100.

16
00:01:17,000 --> 00:01:20,000
Esto luego se usa para iniciar el proceso de apretón de manos.

17
00:01:21,000 --> 00:01:27,000
Este segmento de sincronización también especifica el número de puerto al que el remitente

18
00:01:28,000 --> 00:01:32,000
desea conectarse, por ejemplo, el puerto 80 o HTTP.

19
00:01:33,000 --> 00:01:38,000
El host del lado derecho estará esperando una solicitud de conexión del cliente remoto,

20
00:01:39,000 --> 00:01:41,000
en este caso el host A.

21
00:01:42,000 --> 00:01:45,000
cuando se recibe el SYN y se

22
00:01:46,000 --> 00:01:53,000
acepta, el host b enviará un segmento TCP con los indicadores SYN y ACK establecidos.

23
00:01:54,000 --> 00:01:57,000
Por lo tanto, los indicadores de control SYN y ACK están

24
00:01:58,000 --> 00:02:01,000
activados y se usan para negociar la conexión y acusar recibo

25
00:02:02,000 --> 00:02:04,000
del segmento de sincronización de iniciales del remitente.

26
00:02:05,000 --> 00:02:08,000
B también establece un número de secuencia inicial para indicar

27
00:02:09,000 --> 00:02:12,000
el siguiente número de secuencia del siguiente byte de datos

28
00:02:13,000 --> 00:02:15,000
que espera recibir del host A.

29
00:02:16,000 --> 00:02:21,000
el servidor B también establece el indicador de acuse de recibo,

30
00:02:22,000 --> 00:02:30,000
en este caso 101 un indicador de ACK indica, la siguiente porción de datos, el servidor espera recibir.

31
00:02:31,000 --> 00:02:34,000
Así que el host A envió inicialmente un número de secuencia de 100 y

32
00:02:35,000 --> 00:02:39,000
el host B, en este caso suponiendo que un tamaño de ventana de 1 devuelve un acuse de

33
00:02:40,000 --> 00:02:41,000
recibo de un 101.

34
00:02:42,000 --> 00:02:47,000
El tercer paso en el handshake de tres vías es donde el host iniciador en

35
00:02:48,000 --> 00:02:56,000
este caso el host A ha recibido el SYN del host B y envía un segmento TCP con el campo de control configurado a

36
00:03:01,000 --> 00:03:06,000
ACK, en otras palabras, acuse de recibo. 36 Por lo tanto, el servidor A reconoce el próximo segmento que

37
00:03:07,000 --> 00:03:11,000
espera recibir del servidor B en este caso 301, inicialmente el servidor B envió un número de secuencia de 300.

38
00:03:12,000 --> 00:03:16,000
Entonces, el host A espera el próximo segmento 301.

39
00:03:17,000 --> 00:03:21,000
El host A establece su número de secuencia en 101.

40
00:03:22,000 --> 00:03:29,000
El segmento inicial enviado fue 100 y el siguiente en este caso es 101 porque el bit SYN o el

41
00:03:30,000 --> 00:03:32,000
indicador SYN no están configurados, esto

42
00:03:33,000 --> 00:03:37,000
confirma que el enlace de tres vías se ha completado con éxito.

43
00:03:38,000 --> 00:03:45,000
Solo para reiterar, los bits o indicadores de control inicialmente A envían un

44
00:03:46,000 --> 00:03:51,000
segmento con el bit SYN o el indicador SYN activado.

45
00:03:55,000 --> 00:04:00,000
Entonces, el indicador de control SYN se establece en 1. 46 El host B en el segundo paso del handshake

46
00:04:01,000 --> 00:04:04,000
de tres vías establece sus banderas o bits de control en SYN ACK.

47
00:04:05,000 --> 00:04:07,000
En otras palabras, el bit SYN se establece en

48
00:04:08,000 --> 00:04:10,000
1 y el bit ACK se establece en 1.

49
00:04:11,000 --> 00:04:13,000
En el último paso del handshake de

50
00:04:14,000 --> 00:04:19,000
tres vías, el Host A establece el bit ACK en 1 o el indicador ACK se activa.

51
00:04:21,000 --> 00:04:24,000
El bit SYN o el indicador SYN se establece en 0 para indicar que

52
00:04:25,000 --> 00:04:27,000
el handshake de tres vías se ha completado con éxito.

53
00:04:28,000 --> 00:04:32,000
Ahora los números de secuencia y los agradecimientos pueden causar mucha confusión. Por lo tanto, voy a explicarlos

54
00:04:33,000 --> 00:04:34,000
con más detalle ahora.

55
00:04:35,000 --> 00:04:39,000
Estamos asumiendo en este ejemplo, que se usa un tamaño de ventana de 1.

56
00:04:40,000 --> 00:04:42,000
Ahora bien, si recuerda el tamaño de la ventana es la cantidad máxima

57
00:04:48,000 --> 00:04:52,000
de datos que el receptor puede recibir de un remitente y procesar correctamente. 59 Entonces vamos a suponer que solo se puede

58
00:04:53,000 --> 00:04:56,000
transmitir 1 segmento en un momento determinado antes de que se reciba un

59
00:04:57,000 --> 00:04:59,000
acuse de recibo para acusar recibo de ese segmento.

60
00:05:00,000 --> 00:05:03,000
Asumamos que A comienza con un número de secuencia inicial de

61
00:05:04,000 --> 00:05:09,000
5 debido a un tamaño de ventana de 1, solo se puede enviar 1 segmento de A a B.

62
00:05:10,000 --> 00:05:14,000
B recibe con éxito el segmento de A

63
00:05:15,000 --> 00:05:19,000
y reconoce el próximo segmento que quiere recibir.

64
00:05:20,000 --> 00:05:23,000
por lo tanto, en lugar de acusar recibo del número

65
00:05:24,000 --> 00:05:26,000
de secuencia de 5, acepta la

66
00:05:27,000 --> 00:05:32,000
secuencia número 6, lo que implica que todos los números de secuencia anteriores se recibirán correctamente.

67
00:05:33,000 --> 00:05:37,000
Así que B reconoce en este caso la secuencia número 6, pero B puede

68
00:05:42,000 --> 00:05:47,000
comenzar con un número de secuencia inicial de 10. 71 entonces en el encabezado TCP B le dice a A

69
00:05:48,000 --> 00:05:52,000
que su número de secuencia inicial es 10 y que su secuencia de recepción recibida es 5 desde

70
00:05:53,000 --> 00:05:56,000
A y espera la secuencia número 6 desde A en el siguiente paquete.

71
00:05:57,000 --> 00:06:00,000
Supongamos que recibe con éxito ese segmento, por lo

72
00:06:01,000 --> 00:06:05,000
que A enviará ahora el segmento 6 a B, en otras palabras,

73
00:06:06,000 --> 00:06:08,000
el siguiente número de secuencia.

74
00:06:09,000 --> 00:06:14,000
A también acusa recibo del segmento 10 del host B.

75
00:06:15,000 --> 00:06:19,000
Entonces, A ha recibido con éxito el segmento con la secuencia número 10.

76
00:06:20,000 --> 00:06:21,000
Tenga en cuenta una

77
00:06:22,000 --> 00:06:24,000
vez más que el anfitrión puede elegir aleatoriamente los

78
00:06:25,000 --> 00:06:27,000
números de secuencia iniciales y, por lo tanto, en

79
00:06:28,000 --> 00:06:31,000
el apretón de manos inicial de tres vías que la información debe ser

80
00:06:35,000 --> 00:06:42,000
comunicada entre los 2 hosts para que sepan cuáles son los números iniciales de la secuencia. 84
Entonces, una vez más A envía la secuencia número 6 a B y confirma la secuencia 11.

81
00:06:43,000 --> 00:06:45,000
Supongamos que B recibe con éxito

82
00:06:46,000 --> 00:06:49,000
ese segmento y, por lo tanto, reconocerá el segmento 7.

83
00:06:50,000 --> 00:06:52,000
El siguiente segmento que espera recibir una

84
00:06:53,000 --> 00:06:58,000
vez más 7 en el acuse de recibo indica que el segmento anterior se recibió con éxito.

85
00:06:59,000 --> 00:07:03,000
Entonces, el host B al establecer el número de secuencia en 7 le está diciendo al host A

86
00:07:04,000 --> 00:07:06,000
que la secuencia número 6 fue recibida con éxito.

87
00:07:07,000 --> 00:07:10,000
El servidor B envía la secuencia número 11 porque ese

88
00:07:11,000 --> 00:07:14,000
es el siguiente número de secuencia que A espera recibir.

89
00:07:15,000 --> 00:07:19,000
Lo que hay que notar una vez más, es que los números de

90
00:07:25,000 --> 00:07:29,000
secuencia iniciales que el host espera recibir y la secuencia de número de,

91
00:07:30,000 --> 00:07:36,000
por ejemplo, 11 implica que el número de secuencia 10 y el número de secuencia anterior se recibieron con éxito.

92
00:07:37,000 --> 00:07:41,000
Ahora, una vez más, el control de flujo evita un problema por el cual el remitente envía tantos

93
00:07:45,000 --> 00:07:47,000
datos 99 que los buffers del receptor están desbordados.

94
00:08:05,000 --> 00:08:09,000
Si esta es una máquina muy poderosa y esta es una máquina más antigua

eso no es tan poderoso, es posible que A pueda invadir

los búferes de B porque está enviando demasiados datos. 103 Entonces, B necesita un mecanismo para decirle a A que disminuya la velocidad para que D

95
00:08:14,000 --> 00:08:16,000
pueda procesar con éxito el tráfico que está recibiendo. 105 Entonces, como ejemplo, supongamos que el tamaño de la ventana en este ejemplo

96
00:08:49,000 --> 00:08:51,000
es 3 en lugar de 1. 107
Entonces, A puede enviar 3 segmentos de datos antes de recibir un acuse de recibo. 108
La ventaja de aumentar el tamaño de la ventana es que el rendimiento

puede aumentar dramáticamente porque un host puede enviar más datos

con menos reconocimientos y, por lo tanto, los temporizadores de ida y vuelta disminuyen drásticamente. 111
Entonces, en este ejemplo, A envía 3 segmentos a B. 112 Supongamos que el buffer

97
00:09:00,000 --> 00:09:03,000
recibido de B está lleno y no puede manejar esa cantidad de datos 114 B enviará un indicador de no listo a A 115 y lo hace estableciendo el tamaño de la ventana en 0.

98
00:09:20,000 --> 00:09:27,000
Esto le dice al remitente que deje de enviar datos

y espere a que el indicador esté listo desde el receptor. 118
Suponiendo que el host B ahora haya podido procesar los datos

en su buffer de recepción y ahora puede recibir más datos. 120
Puede enviar un indicador listo para A, para decirle que reanude el envío de datagramas.

99
00:09:37,000 --> 00:09:42,000
por lo que A reanuda la transmisión enviando, por ejemplo, 3 segmentos a B. 122
Porque el tamaño de la ventana es 3. 123 Así que tenga en cuenta en segundo plano que el host TCP involucrado en la conversación puede negociar

100
00:09:54,000 --> 00:09:58,000
varios parámetros y uno de ellos es el control de flujo 125 donde un receptor, puede decirle a un emisor que reduzca la velocidad o que deje de enviar datos 126 hasta que el receptor tenga espacio de búfer disponible para recibir segmentos transmitidos.

101
00:10:08,000 --> 00:10:12,000
Esto permite la comunicación entre un poderoso

o una máquina rápida y una máquina más lenta o menos potente

donde pueden negociar la tasa de transmisión.
