All language subtitles for 5. TCP 3 Way Handshake

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal) Download
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu

Original subtitles

When using TCP, devices must first establish a connection with a peer system 2

before data transmission can take place 3

so connection orientated session will be established between host A and host B 4

One machine will initiate the connection which must then the accepted by the other machine. 5

Protocols software modules in the operating systems of the host devices 6

communicate with each other by sending messages across the network 7

to verify that the transfer is authorized 8

and that both sides are ready for the transmission of data. 9

For this to take place a three-way handshake occurs between the host devices using TCP. 10

So host initiating the session will set the SYN flag or SYN bit 11

in the TCP header of the initial segment send to host B. 12

Host A will also choose an initial sequence number 13

which in this example let's say 100. 14

So the control flag SYN is set on 15

and the sequence number is set to an initial value of 100. 16

This is then used to start the handshake process. 17

This synchronization segment also specifies the number of the port 18

to which the sender wants to connect for instance port 80 or HTTP. 19

The host on the right hand side will be waiting for a connection request 20

from the remote client, in this case host A. 21

when the SYN is received and accepted 22

host b will send back a TCP segment with both the SYN and ACK flags set. 23

So the control flags SYN and ACK are set on 24

and use to negotiate the connection 25

and acknowledge receipt of the initials synchronization segment of the sender. 26

B also set an initial sequence number 27

to indicate the next sequence number of the next byte of data 28

it expects to receive from host A. 29

host B also sets the acknowledgement flag to, in this case 101 30

an ACK flag indicates, the next portion of data, the host expects to receive. 31

So host A initially sent a sequence number of a 100 32

and host B, in this case were assuming a window size of 1 33

sends back an acknowledgement of a 101. 34

The third step in the three-way handshake is where the initiating host 35

in this case host A has received the SYN from host B and sends back a TCP segment 36

with the control field set to ACK, in other words acknowledgement. 36

Host A is therefore acknowledging the next segment it expect to receive from host B 37

in this case 301, initially host B sent a sequence number of 300. 38

So host A is expecting the next segment 301. 39

Host A sets it's sequence number to 101. 40

The initial segment sent was 100 and the next one in this case is 101 41

because the SYN bit or SYN flag is unset 42

this confirms that three-way handshake has completed successfully. 43

Just to reiterate, the control bits or flags initially A 44

sends a segment with the SYN bit or SYN flag set on. 45

So the control flag SYN is set to 1. 46

Host B in the second step of the three-way handshake 46

sets its control flags or bits to SYN ACK. 47

In other words the SYN bit is set to 1 48

and the ACK bit is set to 1. 49

In the last step of the three-way handshake 50

Host A sets the ACK bit to 1 or the ACK flag is set on. 51

The SYN bit or SYN flag is set to 0 to indicate 52

that the three-way handshake has completed successfully. 53

Now sequence numbers and acknowledgements can cause a lot confusion 54

So I'm going to explain them in more detail now. 55

We're assuming in this example, that a window size of 1 is used. 56

Now if you remember the window size is the maximum amount of data 57

that the receiver can receive from a sender and process correctly. 59

So we're going to assume that only 1 segment can be transmitted 58

at any given time before an acknowledgement is received 59

to acknowledge receipt of that segment. 60

So let’s assume A starts with an initial sequence number of 5 61

because of a window size of 1, only 1 segment can be sent from A to B. 62

B successfully receives the segment from A 63

and acknowledges the next segment that it wants to receive. 64

so rather than acknowledging receipt of sequence number of 5 65

it acknowledges for sequence number 6 66

which implies that all previous sequence numbers will receive correctly. 67

So B acknowledges in this case for sequence number 6 68

but B may start with an initial sequence number of 10. 71

so in the TCP header B tells A that its initial sequence number is 10 69

and that its successfully received sequence number 5 from A 70

and is expecting sequence number 6 from A in the next packet. 71

Let’s assume successfully receives that segment 72

so A will now send segment 6 to B 73

in other words the next sequence number. 74

A also acknowledges receipt of segment 10 from host B. 75

So A has successfully received the segment with sequence number 10. 76

Please note once again that the host 77

can randomly choose the initial sequence numbers 78

and thus in the initial three-way handshake 79

that information needs to be communicated between the 2 hosts 80

so that they know what the initial sequence numbers are. 84

So once again A sends sequence number 6 to B and acknowledges sequence 11. 81

Let’s assume B successfully receives that segment 82

and therefore will acknowledge for segment 7. 83

The next segment it expects to receive 84

once again 7 in the acknowledgement indicates that previous segment was successfully received. 85

So host B by setting the sequence number to 7 is telling host A 86

that sequence number 6 was successfully received. 87

Host B sends sequence number 11 88

because that’s the next sequence number that A expects to receive. 89

The thing to note once again, is that initial sequence numbers 90

that the host expects to receive and the sequence of number of for instance 11 91

implies that sequence number 10 and previous sequence number was successfully received. 92

Now once again flow control prevents an issue 93

where the sender is sending so much data 99

that the buffers of the receiver are overflowed. 94

If this is a very powerful machine and this is an older machine 101

that is not as powerful, it’s possible that A can overrun 102

the buffers of B because it’s sending so much data. 103

So B needs a mechanism to tell A to slowdown 95

so that D can successfully process the traffic that it’s receiving. 105

So as an example let’s assume 96

that the window size in this example is 3 rather than 1. 107

So A can send 3 segments of data before getting an acknowledgement. 108

The advantage of increasing the window size is that throughput 109

can increase dramatically because a host can send more data 110

with fewer acknowledgements and therefore the round trip timers decrease dramatically. 111

So in this example A sends 3 segments to B. 112

Let’s assume that the received buffer of B is full 97

and it can't handle that amount of data 114

B will send a not ready indicator to A 115

and it does this by setting the windows size to 0. 98

This tells the sender to stop sending data 117

and wait for ready indicator from the receiver. 118

Assuming that host B has now been able to process the data 119

in it’s receive buffer and can now receive more data. 120

It can send a ready indicator to A, to tell it to resume sending of datagrams. 99

so A resumes the transmission by sending for instance 3 segments to B. 122

Because the window size is 3. 123

So please note in the background the TCP host involve in the conversation 100

can negotiate various parameters and one of them is flow control 125

where a receiver, can tell a sender to slowdown or to stop sending data 126

until the receiver has buffer space available to receive transmitted segments. 101

This is allows for communication between a very powerful 128

or fast machine and a slower or less powerful machine 129

where they can negotiate the rate of transmission.

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.