Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranî)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
In its basic form, TCP may have a window size of 1 2
which means that for every segment transmitted by the sender 3
the receiver sends an acknowledgement for that individual segment. 4
This however slows down the throughput dramatically 5
because the sender cannot transmit anymore data 6
until it to receives acknowledgement of that single segment transmitted. 7
The throughput would be very low 8
depending on the round trip timer 9
between sending data and receiving the acknowledgement. 10
TCP however thus allow for greater window sizes 11
to allow for more segments 12
to be transmitted before receiving an acknowledgement. 12
The window is the number of data segments 13
the sender is allowed to send 14
without getting an acknowledgement from the receiver. 15
In this case we’ve set it to 1 16
that means when host A wants to send traffic to host B 17
it can send 1 segment because the window size is set to 1 18
host B, once it receives that segment, sends an acknowledgement. 19
In this example, let’s assume that host A, send the segment with the sequence number of 1 20
host B would acknowledge for segment 2. 21
Host A will then send segment 2 22
and host B, once successfully receiving that segment 23
will acknowledge or ACK for segment 3. 24
Host A will then send segment 3 to host B. 25
This process will then continue for the duration of the session 26
this is obviously very reliable however, the throughput is very low. 27
A would need to buffer outgoing segments 28
until it receive an acknowledgement for the segment transmitted. 29
now for argument sake 30
let’s assume that it takes 1 second for traffic 31
with the start with the small window size 32
and then exponentially increase the window size to gauge 33
the amount of data that the receiver can receive and what the network can handle. 34
You’ve probably notice this, when downloading a file from the internet 35
initially the download speed is slow 36
but then increases to a certain point over time. 37
This is because the window size initially are small 38
but then increases exponentially until a packet is dropped 39
or the receiving host cannot handle the amount of data it's receiving. 40
So you’ll notice initially, that the download speed is very slow 41
increases very quickly and then gets to a point 42
and then stays around that speed. 43
So once again, let’s assume 44
that the hosts in this example have a fixed window size of 3. 45
That means that A can send 3 segments before receiving an acknowledgement. 46
So in this case host A sends segment 1,2 and 3 47
host B acknowledges for segment 4 48
thus letting A know that it successfully received segment 1,2 and 3 49
host A then sends segment 4,5 and 6 because it has a fix window size of 3 50
and host B acknowledges for segment 7 51
thus letting A know, that it had received segments 4,5 and 6. 52
Remember with acknowledgements, acknowledge the next segment that you want to received 53
not the segment that you have already received. 80
So host B does not acknowledge for segment 6 54
but acknowledges segment 7. 55
As I've mentioned, a sliding window allows hosts to gauge 56
the amount of data the receiver can receive and what the network can handle. 57
So in this example let’s assume that the host are using a sliding window 58
the way that they determine what the network can handle 59
is when a packet is dropped by the network, the host will slow down. 60
This information is covered in a lot more detail 61
in courses that contain quality of service. 62
With this course just assume that when a packet gets drop 63
they reduced their window size dramatically 64
in brief, the window size is either the window granted to the sender by the receiver 65
or a calculated window called the congestion window or CWND 66
the congestion window or CWND is initially set to very low value 67
at connection establishment and then increases at an exponential rate. 68
For every lost segment, the congestion window is half 69
after lost segment has been successfully re-transmitted 70
the congestion window grows again until it reaches 71
a value half of the original congestion window 72
it then slows down its growth, using an algorithm called congestion avoidance. 73
It does exponentially grows up to half the original congestion window size 74
and then increases slowly at the linear rate. 75
In quality of service Weighted Random Early Detection or WRED 76
can be used improve efficiency of TCP transmissions across the link 77
as packets are randomly dropped from various flows or various sessions 78
going across an individual interface 79
rather than packets from multiple senders being drop at the same time. 80
this avoid an issue called global synchronization 81
where packets from multiple TCP sessions are drop at the same time 82
and therefore multiple host reduce their window size and slowdown at the same time 110
and then gradually increase their window size 83
and therefore their throughput at the same time. 84
So you have a many hosts slowing down and speeding up at the same time 85
with WRED some hosts will be slowing down 86
and other hosts will be increasing their throughput because or random drops. 87
Please refer to quality of service documentation for more detail about WRED 88
In this example let’s assume that we start with the initial window size of 3. 89
So A transmits 3 segments to B, however only segment 1 and 2 arrive at host B 90
segment 3 goes missing. 91
Host B may reduce its window size in this example to 2 and acknowledge segment 3. 92
Remember the acknowledgement is for the next packet that that hosts expects to receive 93
and because host B did not receive segment 3 94
it’s acknowledging successful receipt of segment 1 and 2. 95
Host A will re-transmit segment 3 and in this example send segment 4 96
but also request a window size of 3. 97
Both those segment are successfully received by host B 98
so host B will acknowledge for segment 5 99
but in this example, still wants a window size of 2. 100
Host A will only send 2 segments because the negotiated window size is 2 101
but A may still request that the window size be increase to 3. 102
With the sliding window, there is dynamic negotiation of a window size 103
and that window size may change dramatically during a session 104
depending on what the receiver can process and what the network can handle.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.