All language subtitles for 6. TCP Acknowledgement and Windowing

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
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
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese Download
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,000 --> 00:00:05,000 In its basic form, TCP may have a window size of 1 2 2 00:00:06,000 --> 00:00:10,000 which means that for every segment transmitted by the sender 3 3 00:00:11,000 --> 00:00:16,000 the receiver sends an acknowledgement for that individual segment. 4 4 00:00:17,000 --> 00:00:19,000 This however slows down the throughput dramatically 5 5 00:00:20,000 --> 00:00:23,000 because the sender cannot transmit anymore data 6 6 00:00:24,000 --> 00:00:29,000 until it to receives acknowledgement of that single segment transmitted. 7 7 00:00:30,000 --> 00:00:32,000 The throughput would be very low 8 8 00:00:33,000 --> 00:00:34,000 depending on the round trip timer 9 9 00:00:35,000 --> 00:00:38,000 between sending data and receiving the acknowledgement. 10 10 00:00:39,000 --> 00:00:42,000 TCP however thus allow for greater window sizes 11 11 00:00:43,000 --> 00:00:44,000 to allow for more segments 12 12 00:00:45,000 --> 00:00:48,000 to be transmitted before receiving an acknowledgement. 12 13 00:00:49,000 --> 00:00:50,000 The window is the number of data segments 13 14 00:00:51,000 --> 00:00:52,000 the sender is allowed to send 14 15 00:00:53,000 --> 00:00:56,000 without getting an acknowledgement from the receiver. 15 16 00:00:57,000 --> 00:00:58,000 In this case we’ve set it to 1 16 17 00:00:59,000 --> 00:01:02,000 that means when host A wants to send traffic to host B 17 18 00:01:03,000 --> 00:01:07,000 it can send 1 segment because the window size is set to 1 18 19 00:01:03,000 --> 00:01:07,000 host B, once it receives that segment, sends an acknowledgement. 19 20 00:01:14,000 --> 00:01:18,000 In this example, let’s assume that host A, send the segment with the sequence number of 1 20 21 00:01:19,000 --> 00:01:21,000 host B would acknowledge for segment 2. 21 22 00:01:22,000 --> 00:01:24,000 Host A will then send segment 2 22 23 00:01:25,000 --> 00:01:29,000 and host B, once successfully receiving that segment 23 24 00:01:30,000 --> 00:01:32,000 will acknowledge or ACK for segment 3. 24 25 00:01:33,000 --> 00:01:36,000 Host A will then send segment 3 to host B. 25 26 00:01:37,000 --> 00:01:41,000 This process will then continue for the duration of the session 26 27 00:01:42,000 --> 00:01:46,000 this is obviously very reliable however, the throughput is very low. 27 28 00:01:47,000 --> 00:01:50,000 A would need to buffer outgoing segments 28 29 00:01:51,000 --> 00:01:54,000 until it receive an acknowledgement for the segment transmitted. 29 30 00:01:55,000 --> 00:01:57,000 now for argument sake 30 31 00:01:58,000 --> 00:02:00,000 let’s assume that it takes 1 second for traffic 31 32 00:04:04,000 --> 00:04:06,000 with the start with the small window size 32 33 00:04:07,000 --> 00:04:10,000 and then exponentially increase the window size to gauge 33 34 00:04:11,000 --> 00:04:15,000 the amount of data that the receiver can receive and what the network can handle. 34 35 00:04:16,000 --> 00:04:20,000 You’ve probably notice this, when downloading a file from the internet 35 36 00:04:21,000 --> 00:04:23,000 initially the download speed is slow 36 37 00:04:24,000 --> 00:04:27,000 but then increases to a certain point over time. 37 38 00:04:28,000 --> 00:04:31,000 This is because the window size initially are small 38 39 00:04:32,000 --> 00:04:35,000 but then increases exponentially until a packet is dropped 39 40 00:04:36,000 --> 00:04:40,000 or the receiving host cannot handle the amount of data it's receiving. 40 41 00:04:41,000 --> 00:04:43,000 So you’ll notice initially, that the download speed is very slow 41 42 00:04:44,000 --> 00:04:47,000 increases very quickly and then gets to a point 42 43 00:04:48,000 --> 00:04:49,000 and then stays around that speed. 43 44 00:04:50,000 --> 00:04:51,000 So once again, let’s assume 44 45 00:04:52,000 --> 00:04:55,000 that the hosts in this example have a fixed window size of 3. 45 46 00:04:56,000 --> 00:05:01,000 That means that A can send 3 segments before receiving an acknowledgement. 46 47 00:05:02,000 --> 00:05:05,000 So in this case host A sends segment 1,2 and 3 47 48 00:05:06,000 --> 00:05:10,000 host B acknowledges for segment 4 48 49 00:05:11,000 --> 00:05:15,000 thus letting A know that it successfully received segment 1,2 and 3 49 50 00:05:16,000 --> 00:05:21,000 host A then sends segment 4,5 and 6 because it has a fix window size of 3 50 51 00:05:22,000 --> 00:05:25,000 and host B acknowledges for segment 7 51 52 00:05:26,000 --> 00:05:31,000 thus letting A know, that it had received segments 4,5 and 6. 52 53 00:05:32,000 --> 00:05:37,000 Remember with acknowledgements, acknowledge the next segment that you want to received 53 54 00:05:38,000 --> 00:05:40,000 not the segment that you have already received. 80 55 00:05:41,000 --> 00:05:44,000 So host B does not acknowledge for segment 6 54 56 00:05:45,000 --> 00:05:46,000 but acknowledges segment 7. 55 57 00:05:47,000 --> 00:05:52,000 As I've mentioned, a sliding window allows hosts to gauge 56 58 00:05:53,000 --> 00:05:57,000 the amount of data the receiver can receive and what the network can handle. 57 59 00:05:58,000 --> 00:06:01,000 So in this example let’s assume that the host are using a sliding window 58 60 00:06:02,000 --> 00:06:05,000 the way that they determine what the network can handle 59 61 00:06:06,000 --> 00:06:10,000 is when a packet is dropped by the network, the host will slow down. 60 62 00:06:11,000 --> 00:06:13,000 This information is covered in a lot more detail 61 63 00:06:14,000 --> 00:06:17,000 in courses that contain quality of service. 62 64 00:06:18,000 --> 00:06:20,000 With this course just assume that when a packet gets drop 63 65 00:06:21,000 --> 00:06:23,000 they reduced their window size dramatically 64 66 00:06:24,000 --> 00:06:32,000 in brief, the window size is either the window granted to the sender by the receiver 65 67 00:06:33,000 --> 00:06:38,000 or a calculated window called the congestion window or CWND 66 68 00:06:39,000 --> 00:06:45,000 the congestion window or CWND is initially set to very low value 67 69 00:06:46,000 --> 00:06:49,000 at connection establishment and then increases at an exponential rate. 68 70 00:06:50,000 --> 00:06:53,000 For every lost segment, the congestion window is half 69 71 00:06:54,000 --> 00:06:57,000 after lost segment has been successfully re-transmitted 70 72 00:06:58,000 --> 00:07:01,000 the congestion window grows again until it reaches 71 73 00:07:02,000 --> 00:07:05,000 a value half of the original congestion window 72 74 00:07:06,000 --> 00:07:11,000 it then slows down its growth, using an algorithm called congestion avoidance. 73 75 00:07:12,000 --> 00:07:17,000 It does exponentially grows up to half the original congestion window size 74 76 00:07:18,000 --> 00:07:21,000 and then increases slowly at the linear rate. 75 77 00:07:22,000 --> 00:07:27,000 In quality of service Weighted Random Early Detection or WRED 76 78 00:07:28,000 --> 00:07:33,000 can be used improve efficiency of TCP transmissions across the link 77 79 00:07:34,000 --> 00:07:39,000 as packets are randomly dropped from various flows or various sessions 78 80 00:07:40,000 --> 00:07:41,000 going across an individual interface 79 81 00:07:42,000 --> 00:07:45,000 rather than packets from multiple senders being drop at the same time. 80 82 00:07:46,000 --> 00:07:49,000 this avoid an issue called global synchronization 81 83 00:07:50,000 --> 00:07:54,000 where packets from multiple TCP sessions are drop at the same time 82 84 00:07:55,000 --> 00:08:01,000 and therefore multiple host reduce their window size and slowdown at the same time 110 85 00:08:02,000 --> 00:08:04,000 and then gradually increase their window size 83 86 00:08:05,000 --> 00:08:08,000 and therefore their throughput at the same time. 84 87 00:08:09,000 --> 00:08:14,000 So you have a many hosts slowing down and speeding up at the same time 85 88 00:08:15,000 --> 00:08:17,000 with WRED some hosts will be slowing down 86 89 00:08:18,000 --> 00:08:24,000 and other hosts will be increasing their throughput because or random drops. 87 90 00:08:25,000 --> 00:08:30,000 Please refer to quality of service documentation for more detail about WRED 88 91 00:08:34,000 --> 00:08:39,000 In this example let’s assume that we start with the initial window size of 3. 89 92 00:08:40,000 --> 00:08:49,000 So A transmits 3 segments to B, however only segment 1 and 2 arrive at host B 90 93 00:08:50,000 --> 00:08:52,000 segment 3 goes missing. 91 94 00:08:53,000 --> 00:09:00,000 Host B may reduce its window size in this example to 2 and acknowledge segment 3. 92 95 00:09:01,000 --> 00:09:08,000 Remember the acknowledgement is for the next packet that that hosts expects to receive 93 96 00:09:10,000 --> 00:09:12,000 and because host B did not receive segment 3 94 97 00:09:13,000 --> 00:09:17,000 it’s acknowledging successful receipt of segment 1 and 2. 95 98 00:09:18,000 --> 00:09:25,000 Host A will re-transmit segment 3 and in this example send segment 4 96 99 00:09:26,000 --> 00:09:27,000 but also request a window size of 3. 97 100 00:09:28,000 --> 00:09:32,000 Both those segment are successfully received by host B 98 101 00:09:33,000 --> 00:09:35,000 so host B will acknowledge for segment 5 99 102 00:09:36,000 --> 00:09:39,000 but in this example, still wants a window size of 2. 100 103 00:09:40,000 --> 00:09:45,000 Host A will only send 2 segments because the negotiated window size is 2 101 104 00:09:46,000 --> 00:09:51,000 but A may still request that the window size be increase to 3. 102 105 00:09:52,000 --> 00:09:57,000 With the sliding window, there is dynamic negotiation of a window size 103 106 00:09:58,000 --> 00:10:02,000 and that window size may change dramatically during a session 104 107 00:10:03,000 --> 00:10:07,000 depending on what the receiver can process and what the network can handle. 10561

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