1
00:00:00,000 --> 00:00:08,000
Atunci când se utilizează TCP, dispozitivele trebuie să stabilească mai întâi o conexiune cu un sistem peer înainte ca transmisia să

2
00:00:09,000 --> 00:00:10,000
poată avea

3
00:00:11,000 --> 00:00:16,000
loc astfel încât sesiunea orientată pe conexiune să fie stabilită între gazda A

4
00:00:17,000 --> 00:00:23,000
și gazda B O mașină va iniția conexiunea care trebuie apoi acceptată de cealaltă mașină.

5
00:00:24,000 --> 00:00:28,000
Protocoalele modulelor software din sistemele de operare ale dispozitivelor gazdă comunică între

6
00:00:29,000 --> 00:00:33,000
ele prin trimiterea de mesaje prin rețea pentru a verifica dacă transferul

7
00:00:34,000 --> 00:00:36,000
este autorizat și că ambele părți

8
00:00:37,000 --> 00:00:39,000
sunt pregătite pentru transmiterea datelor.

9
00:00:40,000 --> 00:00:48,000
Pentru aceasta, are loc o strângere de mână în trei direcții între dispozitivele gazdă care utilizează TCP.

10
00:00:49,000 --> 00:00:55,000
Deci, gazdă care inițiază sesiunea va seta pavilionul SYN sau bitul SYN din antetul

11
00:00:56,000 --> 00:01:00,000
TCP al segmentului inițial trimis către gazda B.

12
00:01:01,000 --> 00:01:05,000
Gazda A va alege, de asemenea, un număr inițial de secvență care,

13
00:01:06,000 --> 00:01:08,000
în acest exemplu, să spunem 100.

14
00:01:09,000 --> 00:01:12,000
Deci, stegul de comandă SYN este setat și numărul

15
00:01:13,000 --> 00:01:16,000
secvenței este setat la o valoare inițială de 100.

16
00:01:17,000 --> 00:01:20,000
Acest lucru este apoi folosit pentru a porni procesul de strângere de mână.

17
00:01:21,000 --> 00:01:27,000
Acest segment de sincronizare specifică și numărul portului la care expeditorul dorește să

18
00:01:28,000 --> 00:01:32,000
se conecteze, de exemplu portul 80 sau HTTP.

19
00:01:33,000 --> 00:01:38,000
Gazda din partea dreaptă va aștepta o cerere de conectare de la clientul la distanță,

20
00:01:39,000 --> 00:01:41,000
în acest caz gazdă A.

21
00:01:42,000 --> 00:01:45,000
când SYN este recepționat și acceptat

22
00:01:46,000 --> 00:01:53,000
gazdă b va trimite înapoi un segment TCP cu ambele seturi SYN și ACK.

23
00:01:54,000 --> 00:01:57,000
Deci, simbolurile de control SYN și ACK sunt setate și se

24
00:01:58,000 --> 00:02:01,000
utilizează pentru a negocia conexiunea și pentru a confirma primirea segmentului

25
00:02:02,000 --> 00:02:04,000
de sincronizare a inițialelor a expeditorului.

26
00:02:05,000 --> 00:02:08,000
B stabilește, de asemenea, un număr de secvență inițială pentru a indica

27
00:02:09,000 --> 00:02:12,000
următorul număr de secvență al următorului octet de date pe care se

28
00:02:13,000 --> 00:02:15,000
așteaptă să îl primească de la gazda A.

29
00:02:16,000 --> 00:02:21,000
gazda B stabilește, de asemenea, steagul de confirmare, în acest

30
00:02:22,000 --> 00:02:30,000
caz 101 un flag ACK indică următoarea porțiune de date pe care gazda așteaptă să o primească.

31
00:02:31,000 --> 00:02:34,000
Așa că gazda A a trimis inițial un număr de secvență de 100

32
00:02:35,000 --> 00:02:39,000
și gazdă B, în acest caz, presupunând că o dimensiune a ferestrei de 1 trimite o confirmare a

33
00:02:40,000 --> 00:02:41,000
unui număr de 101.

34
00:02:42,000 --> 00:02:47,000
Cel de-al treilea pas în strângerea de manevre în trei direcții este locul unde

35
00:02:48,000 --> 00:02:56,000
gazda inițiatoare, în acest caz, gazda A a primit SYN-ul de la gazda B și trimite înapoi un segment TCP cu câmpul de control

36
00:03:01,000 --> 00:03:06,000
setat la ACK, cu alte cuvinte, confirmare. 36 Gazdă A recunoaște, așadar, segmentul următor pe care se așteaptă să

37
00:03:07,000 --> 00:03:11,000
îl primească de la gazda B în acest caz 301, inițial gazda B a trimis un număr de ordine de 300.

38
00:03:12,000 --> 00:03:16,000
Astfel, gazda A așteaptă următorul segment 301.

39
00:03:17,000 --> 00:03:21,000
Gazdă A stabilește numărul secvenței sale la 101.

40
00:03:22,000 --> 00:03:29,000
Segmentul inițial trimis a fost de 100, iar următorul, în acest caz, este 101 deoarece biți SYN sau flagul SYN

41
00:03:30,000 --> 00:03:32,000
sunt dezactivate, ceea ce confirmă

42
00:03:33,000 --> 00:03:37,000
faptul că strângerea de mână în trei direcții sa încheiat cu succes.

43
00:03:38,000 --> 00:03:45,000
Doar pentru a reitera, biții sau semnalele de control inițiale A trimit un

44
00:03:46,000 --> 00:03:51,000
segment cu setul de biți SYN sau flag SYN.

45
00:03:55,000 --> 00:04:00,000
Deci, simbolul de control SYN este setat la 1. 46 Gazdă B în a doua etapă a strângere de

46
00:04:01,000 --> 00:04:04,000
mână în trei direcții își stabilește steagurile sau biții de control la SYN ACK.

47
00:04:05,000 --> 00:04:07,000
Cu alte cuvinte, bitul SYN este setat la

48
00:04:08,000 --> 00:04:10,000
1 și bitul ACK este setat la 1.

49
00:04:11,000 --> 00:04:13,000
În ultima etapă a procesării

50
00:04:14,000 --> 00:04:19,000
în trei direcții, gazda A stabilește bitul ACK la 1 sau este activat stegulețul ACK.

51
00:04:21,000 --> 00:04:24,000
Bitul SYN sau flagul SYN este setat la 0 pentru a indica faptul că strângerea

52
00:04:25,000 --> 00:04:27,000
de mână în trei direcții sa terminat cu succes.

53
00:04:28,000 --> 00:04:32,000
Acum, numerele de secvențe și confirmările pot provoca o mulțime de confuzii. Deci le voi explica

54
00:04:33,000 --> 00:04:34,000
mai detaliat acum.

55
00:04:35,000 --> 00:04:39,000
În acest exemplu, presupunem că se folosește o dimensiune a ferestrei de 1.

56
00:04:40,000 --> 00:04:42,000
Acum, dacă vă amintiți dimensiunea ferestrei este cantitatea maximă de date pe

57
00:04:48,000 --> 00:04:52,000
care receptorul o poate primi de la un expeditor și procesează corect. 59 Deci, vom presupune că numai un

58
00:04:53,000 --> 00:04:56,000
segment poate fi transmis în orice moment înainte de primirea unei

59
00:04:57,000 --> 00:04:59,000
confirmări de confirmare a primirii acelui segment.

60
00:05:00,000 --> 00:05:03,000
Deci, să presupunem că A începe cu un număr de secvență inițial

61
00:05:04,000 --> 00:05:09,000
de 5 din cauza unei dimensiuni a ferestrei de 1, doar un segment poate fi trimis de la A la B.

62
00:05:10,000 --> 00:05:14,000
B primește cu succes segmentul de la A și

63
00:05:15,000 --> 00:05:19,000
recunoaște segmentul următor pe care dorește să îl primească.

64
00:05:20,000 --> 00:05:23,000
astfel încât, mai degrabă decât să recunoască primirea numărului

65
00:05:24,000 --> 00:05:26,000
de secvență de 5, recunoaște pentru

66
00:05:27,000 --> 00:05:32,000
secventa numărul 6 care implică faptul că toate numerele de secvențe precedente vor primi corect.

67
00:05:33,000 --> 00:05:37,000
Astfel, B recunoaște în acest caz numărul secvenței 6, dar B poate începe

68
00:05:42,000 --> 00:05:47,000
cu un număr de secvență inițial de 10. 71 astfel încât în ​​antetul TCP B îi spune lui

69
00:05:48,000 --> 00:05:52,000
A că numărul său secvențial inițial este de 10 și că succesiunea sa a primit numărul secvenței 5

70
00:05:53,000 --> 00:05:56,000
de la A și așteaptă numărul secvenței 6 de la A în următorul pachet.

71
00:05:57,000 --> 00:06:00,000
Să presupunem că primește segmentul astfel încât

72
00:06:01,000 --> 00:06:05,000
A va trimite segmentul 6 către B cu alte cuvinte

73
00:06:06,000 --> 00:06:08,000
următorul număr de secvență.

74
00:06:09,000 --> 00:06:14,000
A recunoaște, de asemenea, primirea segmentului 10 de la gazda B.

75
00:06:15,000 --> 00:06:19,000
Deci A a primit cu succes segmentul cu numărul de ordine 10.

76
00:06:20,000 --> 00:06:21,000
Rețineți încă o

77
00:06:22,000 --> 00:06:24,000
dată că gazda poate alege aleatoriu numerele

78
00:06:25,000 --> 00:06:27,000
de secvență inițiale și, prin urmare, în

79
00:06:28,000 --> 00:06:31,000
strângerea de mână inițială în trei direcții, informațiile trebuie comunicate între

80
00:06:35,000 --> 00:06:42,000
cele două gazde, astfel încât să știe care sunt numerele de secvență inițiale. 84
Deci, încă o dată A trimite secvența numărul 6 la B și recunoaște secvența 11.

81
00:06:43,000 --> 00:06:45,000
Să presupunem că B primește cu

82
00:06:46,000 --> 00:06:49,000
succes acel segment și, prin urmare, va recunoaște pentru segmentul 7.

83
00:06:50,000 --> 00:06:52,000
Următorul segment pe care se așteaptă

84
00:06:53,000 --> 00:06:58,000
să îl primească din nou 7 în confirmare indică faptul că segmentul anterior a fost primit cu succes.

85
00:06:59,000 --> 00:07:03,000
Deci, gazdă B prin setarea numărului de secvență la 7 se spune hostului A că numărul

86
00:07:04,000 --> 00:07:06,000
secvenței 6 a fost primit cu succes.

87
00:07:07,000 --> 00:07:10,000
Gazdă B trimite secvența numărul 11 ​​deoarece acesta este următorul număr

88
00:07:11,000 --> 00:07:14,000
de secvență pe care A se așteaptă să îl primească.

89
00:07:15,000 --> 00:07:19,000
Lucrul la care trebuie remarcat încă o dată este faptul că numerele de

90
00:07:25,000 --> 00:07:29,000
secvență inițială pe care gazda se așteaptă să le primească și succesiunea

91
00:07:30,000 --> 00:07:36,000
numărului de exemplu 11 implică faptul că numărul secvenței 10 și numărul secvenței anterioare au fost primite cu succes.

92
00:07:37,000 --> 00:07:41,000
Acum, încă o dată controlul fluxului previne o problemă în care expeditorul trimite atât de multe

93
00:07:45,000 --> 00:07:47,000
date 99 că tampoanele receptorului sunt supraîncărcate.

94
00:08:05,000 --> 00:08:09,000
Dacă aceasta este o mașină foarte puternică și aceasta este o mașină mai veche

care nu este la fel de puternic, este posibil ca A să poată depăși

tampoanele lui B pentru că trimite atât de multe date. 103 Așadar, B are nevoie de un mecanism care să spună lui A o încetinire, astfel încât D să

95
00:08:14,000 --> 00:08:16,000
poată procesa cu succes traficul pe care îl primește. 105 De exemplu, să presupunem că dimensiunea ferestrei în acest exemplu este de

96
00:08:49,000 --> 00:08:51,000
3, în loc de 1. 107
Prin urmare, A poate trimite 3 segmente de date înainte de a obține o confirmare. 108
Avantajul creșterii dimensiunii ferestrei este că viteza de transfer

poate crește dramatic deoarece o gazdă poate trimite mai multe date

cu mai puține recunoașteri și, prin urmare, temporizatorii rotunjiți scad dramatic. 111
Astfel, în acest exemplu A trimite 3 segmente la B. 112 Să presupunem că

97
00:09:00,000 --> 00:09:03,000
tamponul primit de B este plin și nu poate gestiona acea cantitate de date 114 B va trimite un indicator gata la A 115 și face acest lucru prin setarea dimensiunii ferestrei la 0.

98
00:09:20,000 --> 00:09:27,000
Acest lucru îi spune expeditorului să înceteze trimiterea datelor

și așteptați indicatorul gata de la receptor. 118
Presupunând că gazda B a reușit acum să proceseze datele

în tamponul său de recepție și poate primi acum mai multe date. 120
Poate trimite un indicator gata la A, să-i spună să reia trimiterea datagramelor.

99
00:09:37,000 --> 00:09:42,000
astfel încât A reia transmisia trimițând, de exemplu, 3 segmente către B. 122
Deoarece dimensiunea ferestrei este de 3. 123 Așadar, vă rugăm să rețineți că, în fundal, gazda TCP implică în conversație poate negocia diverși

100
00:09:54,000 --> 00:09:58,000
parametri și unul dintre ei este controlul fluxului 125 în cazul în care un receptor, poate spune unui expeditor de încetinire sau de a opri trimiterea de date 126 până când receptorul are spațiu tampon disponibil pentru a recepționa segmentele transmise.

101
00:10:08,000 --> 00:10:12,000
Acest lucru permite comunicarea între un telefon foarte puternic

sau mașină rapidă și o mașină mai lentă sau mai puțin puternică

unde pot negocia rata de transmisie.
