You are on page 1of 54

Компјутерски мрежи и безбедност

- Транспортен слој
Аудиториски вежби 4
Транспортен слој (потсетување од
предавања)
цели:  Да се научат
▪ Да се разберат услугите протоколите на
кои ги нуди транспортно ниво:
транспортното ниво:  UDP: безконекциски
пренос на податоци
 Мултиплексирање,
демултиплексирање  TCP: конекциски, надежен
пренос на податоци
 Надежен податочен
 TCP контрола на
трансфер задушување
 Контрола на проток
 Контрола на задушување

2
Содржина
 3.1 Услуги на  3.5 Конекциски пренос
транспортно ниво на податоци: TCP
 3.2 Мултиплексирање и  структура на сегмент
демултиплексирање  надежен пренос на
податоци
 3.3 Безконекциски
пренос: UDP  контрола на проток
 управување со конекција
 3.4 Принципи на
надежен пренос на  3.6 Принципи на
податоци контрола на задушување
 3.7 TCP контрола на
задушување

3
Услуги и протоколи на транспортно ниво
 обезбедува логичка комуникација application
transport
network
помеѓу процесите кои работат на data link
physical
различни хостови
 транспортните протоколи работат
во крајните системи
 испраќач: ги дели пораките од
апликациско ниво во сегменти, и
истите ги праќа до мрежното ниво
 примач: ги составува сегментите во
application
пораки и ги праќа до апликациското transport
network
ниво data link
physical
 Постојат повеќе транспортни
протоколи:
 Интернет: TCP и UDP
4
Транспортен vs. мрежен слој
Аналогија:
▪ Мрежен слој: 12 деца кои живеат во куќата
логичка на Ана, праќаат писма до 12
комуникација меѓу деца кои живеат во куќата
на Бојан:
домаќините  домаќини = куќите
▪ Транспортен слој:  процеси = деца
логичка  Пораки = писма во коверти
комуникација меѓу  Протокол на транспортен
процесите кај слој= Ана и Бојан кои ги
разделуваат писмата на
домаќините останатите деца во својата
• Ги користи сервисите куќа.
од мрежно ниво  Протокол на мрежно ниво =
пошта

5
Содржина
 3.1 Услуги на  3.5 Конекциски пренос
транспортно ниво на податоци: TCP
 3.2 Мултиплексирање и  структура на сегмент
демултиплексирање  надежен пренос на
податоци
 3.3 Безконекциски
пренос: UDP  контрола на проток
 управување со конекција
 3.4 Принципи на
надежен пренос на  3.6 Принципи на
податоци контрола на задушување
 3.7 TCP контрола на
задушување

6
Задача 1
 Да претпоставиме дека клиентот А иницира Telnet сесија со
серверот S. Во исто време, клиентот B иницира Telnet сесија со
серверот S. Кои се можните изворни и дестинациски порти за:
 a) Сегментите пратени од A до S.
 b) Сегментите пратени од B до S.
 c) Сегментите пратени од S до A.
 d) Сегментите пратени од S до B.
 e) Ако А и B се различни домаќини, дали е можно изворната
порта во сегментите од A до S да е иста со оние во сегментите
од B до S?
 f) Што ако тие потекнуваат од ист домаќин?

7
Задача 1 - решение
Изворна порта Дестинациска порта
a) A➔S 543 80
b) B➔S 612 80
c) S ➔A 80 543
d) S➔B 80 612

e) Да

f) Не

8
Содржина
 3.1 Услуги на  3.5 Конекциски пренос
транспортно ниво на податоци: TCP
 3.2 Мултиплексирање и  структура на сегмент
демултиплексирање  надежен пренос на
податоци
 3.3 Безконекциски
пренос: UDP  контрола на проток
 управување со конекција
 3.4 Принципи на
надежен пренос на  3.6 Принципи на
податоци контрола на задушување
 3.7 TCP контрола на
задушување

9
Задача 3
 Објасни зошто архитект на софтверска апликација би
избрал да го користи UDP протоколот во решението, а не
TCP?
 Решение: Архитектотот на софтверската апликација
најверојатно не би сакал да ја користи контролата на застој
(congestion control) која е овозможена од TCP и која ги
регулира ратите на праќање на податоци во зависност од
застојот. Најчесто, дизајнерите на апликации за IP
телефонија и IP видеоконференција се одлучуваат да го
користат UDP во нивните апликации бидејќи тие сакаат да
го избегнат механизамот за контрола на застој. Исто така,
некои апликации немаат потреба од надежен транспорт на
податоци кој е овозможен од TCP.
10
Задача 4
 Да претпоставиме дека процес во Host C поседува
UDP socket со број на резервирана порта 6789.
Воедно, двата домаќина, Host A и Host B, праќаат
UDP сегмент до Host C со дестинациска порта 6789.
 а) Дали и двата сегмента ќе бидат директирани до
истиот socket на Host C?
 б) Ако да, како процесот кај Host C ќе препознае дека
овие два сегмента потекнуваат од два различни
хостови (домаќини)?

11
Задача 4 - Решение

 а) Да, два сегмента ќе бидат пратени на истиот socket.


 б) За секој примен сегмент, сокетот ја добива
изворната IP адресата на хостот кој го пратил
сегментот, од страна на оперативниот систем, за да
може процесот (сокетот) да го открие потеклото на
секој сегмент посебно.

12
UDP checksum

Цел: детектирај “грешки” во пратениот сегмент

примачот:
испраќачот:
 го третира сегментот  ја пресметува вредноста на
(содржина + заглавие) checksum на примениот
како низа од 16 битни
цели броеви сегмент
 прави checksum: го собира  проверува дали
(прв комплемент) збирот)
на содржината на соодветствува со вредноста
сегментот во полето checksum:
 испраќачот ја става
checksum вредноста во  НЕ – детекција на грешка
UDP полето checksum
 ДА – нема грешка

13
Задача 5

пример: собери два 16-битни цели броеви (integers)

1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

преносот се 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1
додава
збир 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1

Забелешка: кога се собираат броевите, преносот од


најмногу значајниот бит треба да се додаде на
резултатот

14 Transport Layer
Задача 6
 Да се пресмета Интернет checksum за следните три 16-
битни збора
0110011001100000 Да се провери што се
случува на приемната
0101010101010101 страна
1000111100001100
 Сумата на првите два збора е 1011101110110101, ако
се додаде и третиот збор се добива
1011101110110101 Да се забележи дека во
1000111100001100 собирањето има overflow, кој
-------------------------- што е додаден на сумата
0100101011000010
 Резултатот е 1011010100111101
15
Содржина
 3.1 Услуги на  3.5 Конекциски пренос
транспортно ниво на податоци: TCP
 3.2 Мултиплексирање и  структура на сегмент
демултиплексирање  надежен пренос на
податоци
 3.3 Безконекциски
пренос: UDP  контрола на проток
 управување со конекција
 3.4 Принципи на
надежен пренос на  3.6 Принципи на
податоци контрола на задушување
 3.7 TCP контрола на
задушување

16
Перформанси на rdt3.0
▪ rdt3.0 е надежен, но има проблем со перформансите.
▪ е.: 1 Gbps линк, 15 ms проп. доцнење, 8000 bit пакет:
L 8000 bits
Dtrans = R = 9 = 8 μs
10 bits/sec
▪ U sender: utilization – дел од времето во кое испраќачот е
зафатен со испраќање
L/R 0.008 ms
U = 0.00027
sender = =
30.008 ms
RTT + L / R
▪ ако RTT=30 ms, 1KB pkt на секои 30 ms: 33kB/s проток
(throughput) преку 1 Gbps линк
▪ Мрежниот протокол го ограничува
искористувањето на физичките ресурси.
3-17 Transport Layer
rdt3.0: stop-and-wait операција
sender receiver
првиот бит од пакетот е пратен, t = 0
посл. бит од пакетот е пратен, t = L / R

првиот бит од пакетот пристигнува


RTT посл. бит од пакетот пристигнува,
прати ACK

ACK пристигнува, се праќа


следниот пакет, t = RTT + L / R

U L/R .008
sender = = = 0.00027
RTT + L / R 30.008

3-18 Transport Layer


Проточност: зголемено искористување
праќач примач
Првиот бит од пакетот е пратен, t = 0
Последниот бит од пакетот е пратен,
t=L/R

првиот бит од пакетот пристигна


RTT посл. бит од пакетот пристигнува, прати ACK
посл. бит од втор пакет пристигна, прати ACK
посл. бит од третиот пакет пристигна, прати
ACK
ACK доаѓа, прати го
следниот пакет, t =
RTT + L / R Проточност со 3 пакети ја
зголемува искористеноста
(utilization) со фактор 3!

U 3L / R .0024
sender = = = 0.00081
RTT + L / R 30.008

3-19 Transport Layer


Задача 7
 Која треба да биде големината на прозорецот за да се
овозможи искористеност на 1Gbps канал од 98%? Да
се претпостави дека големината на пакетот е 1 500
бајти, вклучувајќи ги заглавјата и податоците.
RTT=30ms.
 Решение: Потребни се 0.012 ms за да се прати пакет,
бидејќи L/R =1500*8/109 =0.012 ms.
 За да се овозможи 98% искористување на каналот:
𝐿
𝑁∙𝑅 0.012 ∙𝑁
util = 0.98 = 𝐿 = N=2451пакети
𝑅𝑇𝑇+ 30+0.012
𝑅

20
Проточни протоколи: преглед
Go-back-N: Selective Repeat:
 испраќачот може да има  испраќачот може да има
најмногу N пакети во најмногу N пакети во
цевката кои не се цевката кои не се
потврдени потврдени
 примачот испраќа само
 примачот испраќа
кумулативни ack индувидуална потврда
 не потврдува пакет ако има (ack) за секој пакет
дупка во секв. бр.
 испраќачот има  испраќачот има тајмер за
одбројувач/тајмер за секој непотврден пакет
најстариот непотврден
пакет  кога ќе истече времето, го
препраќа само
 кога ќе истече тајмерот, ги непотврдениот пакет
препраќа сите непотврдени
пакети
3-21 Transport Layer
GBN во акција
sender window (N=4) sender receiver
012345678 send pkt0
012345678 send pkt1
012345678 send pkt2 receive pkt0, send ack0
012345678 send pkt3 Xloss receive pkt1, send ack1
(wait)
receive pkt3, discard,
012345678 rcv ack0, send pkt4 (re)send ack1
012345678 rcv ack1, send pkt5 receive pkt4, discard,
(re)send ack1
ignore duplicate ACK receive pkt5, discard,
(re)send ack1
pkt 2 timeout
012345678 send pkt2
012345678 send pkt3
012345678 send pkt4 rcv pkt2, deliver, send ack2
012345678 send pkt5 rcv pkt3, deliver, send ack3
rcv pkt4, deliver, send ack4
rcv pkt5, deliver, send ack5

3-22 Transport Layer


Задача 8
 Во Go back 4, ако секој 6-ти пакет кој се праќа е
изгубен и ако вкупниот број на пакети којшто треба да
се пратат е 10, тогаш колку трансмисии се потребни за
да се изврши успешно праќање?

Решение:
 Дадено-
 Вкупен број на пакети за праќање = 10
 Се користи Go back N каде N = 4
 Секој 6-ти пакет се губи

23
Задача 8 (решение)
 Чекор 1
Големината на прозороцеот кај праќачот е 4, што значи праќачот праќа 4
пакети (1, 2, 3, 4)
4 3 2 1

Вкупен број на пакети пратени од праќачот до сега = 4

 Чекор 2
По примањето на потврда (ACK) за пакетот 1, праќачот го поместува
својот прозорец и го праќа пакетот 5.
5 4 3 2

Вкупен број на пакети пратени од праќачот до сега = 5

24
Задача 8 (решение)
 Чекор 3
По примање на потврда за пакетот-2, праќачот го поместува својот
прозорец и го праќа пакетот-6.
6 5 4 3

Вкупен број на пакети пратени од праќачот до сега = 6


 Чекор 4
По примање на потврда за пакетот-3, праќачот го поместува својот
прозорец и го праќа пакетот-7.

7 6 5 4

Вкупен број на пакети пратени од праќачот до сега = 7

25
Задача 8 (решение)
 Чекор 5
По примање на потврда за пакетот 4, праќачот го поместува својот
прозорец и го праќа пакетот-8.
8 7 6 5

Вкупен број на пакети пратени од праќачот до сега = 8

 Чекор 6
По примање на потврда за пакетот-5, праќачот го поместува својот
прозорец и го праќа пакетот-9.
.
9 8 7 6

Вкупен број на пакети пратени од праќачот до сега = 9

26
Задача 8 (решение)
 Чекор 7
Според прашањето, секој 6-ти пакет се губи. Па поради тоа, пакет-6 се
губи и се случува time-out. Праќалот одново го праќа пакет-6 и следните
пакети. Тоа значи дека целиот прозорец одново се праќа.
9 8 7 6
Вкупен број на пакети пратени од праќачот до сега = 13

 Чекор 8
По примање на потврда за пакетот-6, праќачот го поместува својот
прозорец и го праќа пакетот-10.

10 9 8 7
Вкупен број на пакети пратени од праќачот до сега = 14

27
Задача 8 (решение)
 Чекор 9
Според прашањето, секој 6-ти пакет се губи. Поради тоа, пакетот-8 се
губи, се случува time-out, и праќачот ги праќа одново пакетите 8,9,10.
10 9 8

Вкупен број на пакети пратени до сега од праќачот = 14+3=17

 Чекор 10
Конечно, сите 10 пакети се пратени со вкупно 17 праќања.

- - - -

Вкупен број на пакети пратени до сега од праќачот = 17

28
Selective repeat
 Примачот индивидуално ги потврдува сите точно
примени пакети
 Ги баферира пакетите по потреба, за евентуално да ги
препрати по редослед до соодветниот протокол од
апликацискиот слој
 Испраќачот ги препраќа само пакетите за кои не
добил ACK
 Испраќачот стартува тајмер за секој непотврден пакет
 Испраќачки прозорец
 N последователни секв. броеви
 Непотврдените пакети ги ограничуваат секв. броеви
на пратените пакети
29
Задача 9
 Што од следното е точно за Selective Repeat и Go-Back-
N протоколите:
 а) Go back N протоколот користи кумулативни потврди
(ACK) и не ја потврдува секоја рамка експлицитно.
 б) И двата протокола го користат истиот формат на рамка
бидејќи и двата се протоколи со лизгачки прозорци.
 в) И двата користат piggybacked потврди каде што е можно
и не ја потврдуваат секоја рамка експлицитно.
 г) Selective repeat протоколот користи кумулативни потврди
(ACK).
 д) И во двата протокола, праќачот има прозорец со кој се
дефинира максималниот број на рамки кои тековно се
праќаат.
30
Задача 10
 При користење на Selective Repeat протоколот, да се
претпостави дека пакетите од 0 до 4 се праќаат
редоследно. Притоа, пакетот-0 добива time-out,
пакетот-5 се праќа, пакетот 1 добива time-out, пакетот-
2 добива time-out, и пакет 6 се праќа.
 Која е состојбата на прозорецот на праќачот по
случувањето на секој настан?

31
Задача 10 (решение)
 Во SR протоколот, само потребниот пакет се препраќа,
а не целиот прозорец.
 Чекор 1:
 Пакетите од 0 до 4 се праќаат.
4 3 2 1 0
 Чекор 2:
 0 се губи, се случува time-out и праќачот одново го
препраќа.

0 4 3 2 1

32
Задача 10 (решение)
 Чекор 3:
 Пакет 5 се праќа.
5 0 4 3 2 1

 Чекор 4:
 Пакет 1 се губи, се случува time-out и праќачот од ново го
препраќа.
1 5 0 4 3 2

33
Задача 10 (решение)
 Чекор 5:
 Пакет 2 се губи, се случува time-out, па праќачот од ново го
праќа.
2 1 5 0 4 3

 Чекор 6:
 Пакет 6 се праќа.

6 2 1 5 0 4 3

 Тековната секвенца од пакети во прозорецот на


праќачот е 3405126.
34
Содржина
 3.1 Услуги на  3.5 Конекциски пренос
транспортно ниво на податоци: TCP
 3.2 Мултиплексирање и  структура на сегмент
демултиплексирање  надежен пренос на
податоци
 3.3 Безконекциски
пренос: UDP  контрола на проток
 управување со конекција
 3.4 Принципи на
надежен пренос на  3.6 Принципи на
податоци контрола на задушување
 3.7 TCP контрола на
задушување

35
TCP време на обиколка (RTT) и time-out
EstimatedRTT = (1- )*EstimatedRTT + *SampleRTT
▪ подвижна тежинска средна вредност – според
експоненцијален закон
▪ Влијанието на старите мерења се намалува
експоненцијално
▪ типична вредност: RTT: = 0.125 to fantasia.eurecom.fr
gaia.cs.umass.edu

350

RTT: gaia.cs.umass.edu to fantasia.eurecom.fr


RTT (милисекунди)

300

250
RTT (milliseconds)

200

sampleRTT
150

EstimatedRTT

100
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106

3-36 време
time (seconnds)
Транспортен слој
(секунди)
SampleRTT Estimated RTT
TCP време на обиколка (RTT) и time-out
 интервал на time-out: EstimatedRTT + “безбедна
граница”
 големи варијации на EstimatedRTT -> поголема безбедна
граница
 Треба да се одреди отстапувањето на SampleRTT од
EstimatedRTT:
DevRTT = (1-)*DevRTT +
*|SampleRTT-EstimatedRTT|
(типично,  = 0.25)

TimeoutInterval = EstimatedRTT + 4*DevRTT

очекуван RTT “безбедна граница”

3-37
Транспортен слој
Задача 11
 Да претпоставиме дека проценета моментална
вредност (estimatedRTT) и безбедната граница
(DevRTT) за време на обиколка (RTT) на TCP e 240ms
и 50ms соодветно. Дополнително, да претпоставиме
дека следните три измерени вредности на RTT се
280ms, 210ms, и 380ms соодветно.
 Пресметај ја новата вредност на estimatedRTT, DevRTT и
TCP timeout по добивањето на секоја од овие измерени
RTT вредности ако α = 0.125 и β = 0.25.

38
Задача 11 (решение)
 По направената прва проценка на RTT.
estimatedRTT = 0.875*240 + 0.125*280 = 245ms
DevRTT = 0.75*50 + 0.25*(abs(280 - 245)) = 46.25ms
TimeoutInterval = 245 + 4*46.25 = 430ms

 По направената втора проценка на RTT.


estimatedRTT = 0.875*245 + 0.125*210 = 240.625ms
DevRTT = 0.75*46.25 + 0.25*(abs(210 - 240.625)) =42.34ms
TimeoutInterval = 240.625 + 4*42.34375 = 410ms

 По направената трета проценка на RTT.


estimatedRTT = 0.875*240.625 + 0.125*210 = 258.046875ms
DevRTT = 0.75*42.34 + 0.25*(abs(380-258.046875))= 62.24ms
TimeoutInterval = 258.046875 + 4*62.24609375 = 507.03ms

39
Задача 12
 Host A и B се директно врзани со 100 Mbps линк.
Постои само една TCP конекција меѓу овие 2 хоста, и
Host A праќа голем фајл преку оваа конекција до Host
B. Host A може да праќа податоци од апликациски
слој кон транспортен со податочна рата: 120 Mbps, но
Host B може да ги исчитува податоците од својот
бафер со податочна рата: 50 Mbps. Објасни го
механизамот за контрола на проток (flow control) на
TCP.

40
Задача 12 - решение
 Поради тоа што капацитетот на линкот е само 100 Mbps,
Host A може да праќа податоци со максимална под. рата
100 Mbps. Сепак, домаќинот А испраќа податоци во
баферот на примачот побрзо отколку што домаќинот Б
може да ги отстрани податоците од баферот. Баферот на
примачот се пополнува со приближна рата 40 Mbps. Кога
баферот ќе се наполни, Host B го сигнализира Host A да
прекине со праќање на податоци со сетирање на
RcvWindow = 0. Host A прекинува да праќа се додека не
добие TCP сегмент со RcvWindow > 0. На овој начин, Host
A наизменично ќе праќа и запира со праќање на податоци
во зависност од вредноста на RcvWindow која ја добива од
Host B. Во просек, средната рата со која Host A праќа
податоци до Host B, не е повеќе од 60 Mbps.
41
Содржина
 3.1 Услуги на  3.5 Конекциски пренос
транспортно ниво на податоци: TCP
 3.2 Мултиплексирање и  структура на сегмент
демултиплексирање  надежен пренос на
податоци
 3.3 Безконекциски
пренос: UDP  контрола на проток
 управување со конекција
 3.4 Принципи на
надежен пренос на  3.6 Принципи на
податоци контрола на задушување
 3.7 TCP контрола на
задушување

42
Задача 13
 Да претпоставиме дека две TCP конекции се присутни
преку некој линк кој претставува “тесно грло”
(bottleneck) кој има рата R bps. И двете конекции се
обидуваат да пратат голем фајл во истата насока преку
овој линк. Преносот на податоци започнува во исто
време.
 Која е ратата на пренос која TCP ќе им ја даде на
двете конекции?
Одговор:
R/2

43
TCP контрола на застој:
зголемување со додавање, намалување со делење (AIMD)

▪ пристап: испраќачот ја зголемува ратата на пренос


(window size), со што ја испитува корисната пропусна моќ,
додека не се случи загуба
• Зголемување со додавање/additive: зголеми го cwnd за
1 MSS при секој RTT доколку нема загуба
• Намалаување со делење/multiplicative: намали го двојно
cwnd по загубата
адитивно зголемувај го прозорецот…
големина на прозорецот за застој

…. по загуба истиот намали го двојно


cwnd: TCP испраќач

AIMD пила:
испитување
на пропусната моќ

време
3-44
Транспортен слој
Задача 14
 Сликата го прикажува однесувањето на TCP Reno.

45
Задача 14
a) Идентификувај ги временските интервали на TCP
бавен старт (slow-start).
 Решение a) [1,6] и [23,26]
b) Идентификувај ги временските интервали каде TCP
прави избегнување на застој (congestion-avoidance).
 Решение b) [6,16] и [17,22]

46
Задача 14
 c) По 16-та трансмисија, дали се детектира загуба на
сегмент со 3 дупликат ACK, или поради настанат time-out?
 Решение c): По 16та трансмисија, детектирано е губење на пакет со 3
дупликат ACK. Ако се случеше time-out, cwnd = 1.

 d) По 22-рото праќање, дали е детектирано губење


на сегмент преку 3 дупликат ACK или преку
настанат time-out?
 Решение d) cwnd=1, тоа значи настанал time-out.

47
Задача 14
e) Која е иницијалната вредност на ssthreshold?
 Решение e): ssthreshold = 32.

f) Која е вредноста на ssthreshold во 18-то праќање?

Решение d) ssthreshold се сетира на


половина од вредноста на cwnd при
детекција на изгубен пакет. За време
на 16-то праќање, cwnd=42. Поради
тоа, ssthreshold=21 за време на 18-то
праќање.

48
Задача 14
 g) Која е вредноста на ssthreshold во 24-то праќање?
 Решение g): Вредноста на прагот се сетира на половина од вредноста на
cwnd пред да се детектира губење на пакет. Во овој случај, губење се
детектира во 22-рото праќање и во тој момент cwnd=26. Поради тоа,
ssthreshold=13 за време на 24-тото праќање.
 h) Кои ќе бидат вредностите на cwind и ssthreshold ако се детектира
губење на пакет по 26-тото праќање поради тоа што е добиен 3
дупликат ACK?

Решение h) Моменталната вредност


на cwnd=8. Ако настане губење на
пакет, cwnd=ssthreshold=4.

49
TCP проток
 просечен TCP проток како функција од големината
на прозорецот, RTT?
 Игнорирај slow start, под претпоставка на постојано
праќање на податоци.
 W: големина на прозорец (во бајти) каде
настанало загуба
W bytes/sec
avg TCP thruput = 3
4 RTT
 Просечна големина прозорец (# in-flight bytes) е ¾ W
 Просечен проток 3/4W / RTT
W

W/2

3-50 Transport Layer


Задача 15
 Да претпоставиме праќање на голем фајл од еден до
друг краен корисник преку TCP врска која нема
загуби.
 а) Претпостави дека TCP користи AIMD како контрола на застој без
“slow-start”. Дополнително, cwnd се зголемува за 1 MSS за секој
добиен ACK, а RTT е фиксно. Колку време е потребно за cwnd да се
зголеми од 5 MSS, до 11 MSS?
 b) Кој е просечниот проток за конекцијата која е активна 6 RTT?

51
Задача 15 (решение)
 a) Потребно е 1 RTT за да се зголеми cwnd на 6 MSS; 2 RTT
за да се зголеми на 7 MSS; 3 RTT за да се зголеми на 8MSS,
4 RTT за да се зголеми на 9 MSS, 5 RTT за да се зголеми на
10 MSS, 6 RTT за да се зголеми на 11 MSS.
 b) Во првиот RTT, 5 MSS се пратени; во вториот RTT, 6 MSS
се пратени. Во третиот RTT, 7 MSS се пратени. Во четвртиот
RTT, 8 MSS се пратени. Во петтиот RTT, 9 MSS се пратени. Во
6-тиот RTT, 10 MSS се пратени. Поради тоа, вкупниот број
на MSS кои се пратени и потврдени e 5+6+7+8+9+10 = 45
MSS . Просечниот проток во време од 6 RTT e: (45 MSS) / (6
RTT) = 7.5 MSS/RTT.

52
Задача 16
 Да претпоставиме дека една TCP (Reno) конекција користи еден 10
Mbps линк кој не баферира податоци. Да претпоставиме дека овој линк
е единствениот кај кој се појавува застој меѓу примачот и праќачот.
Дополнително, да претпоставиме дека TCP праќачот треба да прати
огромен фајл на примачот и примачкиот прозорец е многу поголем од
cwnd. Воедно, да ги земеме во предвид следните претпоставки:
големината на секој TCP сегмент е 1.500 бајти, двонасочното
пропагациско доцнење (RTT) е 150 ms и TCP врската е секогаш во
“congestion avoidance” фаза (нема slow-start).
 а) Која е максималната големина на прозорецот (во сегменти) која оваа TCP
врска може да ги достигне?
 б) Која е просечната големина на прозорецот (во сегменти) и просечниот проток
(bps) на оваа TCP врска?
 в) Колку време е потребно за TCP врската да достигне максимална големина на
прозорецот по настанување на загуба на пакет?

53
Задача 16 (решение)
 a) Нека W e максималната големина на прозорецот
мерена во сегменти. Тоа значи дека W*MSS/RTT =10Mbps,
бидејќи пакетите ќе се отфрлаат ако максималната рата го
надминува капацитетот на линкот. Следствено,
W*1500*8/0.15=10*10^6 од каде излегува дека W=125.
 b) cwnd варира од W/2 to W, што значи просечната
големина на прозорецот е 0.75W=94 сегменти.
Просечниот проток е 94*1500*8/0.15 =7.52Mbps.
 c) Големината на прозорецот се зголемува за 1 по секој
RTT. Бројот на такви зголемувања, почнувајќи од W/2 до
W е W/2. Вкупното време кое е потребно за да се зголеми
прозорецот за W/2, се пресметува со W/2*RTT. Од овде
следи дека 125/2 *0.15 = 9.38 s.
54

You might also like