03_2
BDP = bandwith * delay
์์ฅ์์ ๋งํ๋ฏ์ด Stop and wait ARQ ๋ผ๋ ๊ฒ์ด ์ธ๊ธ๋์๋ค.
ARQ๋ MSS ํฌ๊ธฐ๋งํผ ํ๋์ฉ ๋ณด๋ด๊ธฐ๋๋ฌธ์ ๋นํจ์จ์ ์ด๋ค.
๊ทธ๋ ๊ธฐ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ ์์ง ACK์ ๋ฐ์ง ์๋ ์ํ(=in flight) ์์ sender๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์๋ ๋งํผ ๋ณด๋ด๋ ๊ฒ์ด Sliding Window ์ด๋ค.
ํนํ BDP (bandwith-delay product) ์ผ๋ ์ ์ฉ๋๋ค.
bandwith๊ฐ ๋์ผ๋ฉด ๋ง์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์๊ณ ,
delay๊ฐ ๊ธธ๋ฉด ACK์ด ์ฌ ๋ ๊น์ง ์๊ฐ์ด ์ค๋๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๊ทธ ์๊ฐ์ data๋ฅผ ๋ ๋ง์ด ๋ณด๋ผ ์ ์๋ค.
์ฆ, bandwith โ & delay โ ์ผ ๋ data packet์ ๋ ๋ง์ด ๋ณด๋ด๋ฉด ํจ์จ์ ์ด๋ค.
1.6 Mbps link with 40 msec RTT
bandwith-delay product (BDP) is (1.6 * 40 = 64) 64 Kbits (or 8 KB)
Sender can send at most one packet per RTT (ARQ)
Assume segment size of 1 KB โ 8 Kbits
(8 KB ๋ณด๋ผ ์ ์๋ ๊ฒ์ 1KB๋ง ๋ณด๋์ผ๋ 1/8์ธ 8 Kbits ์ด๋ค.)
bandwith๋ ์ ์์ ์ดํญํด์ ๊ตฌํ๋ฉด 8 Kbits / 40msec = 0.2 Mpbs
๋ผ๊ณ ํด๋ ๋๊ณ , ์ค์ 1.6 Mpbs ๋ณด๋ผ ์ ์๋ ๊ฒ์ 1/8 ๋ง ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ 1.6 Mbps์ 1/8์ธ 0.2 Mbps ๋ผ๊ณ ํด๋ ๋๋ค.
Sliding Window
sender๊ฐ ACK์ด ๋์์ค๊ธฐ ์ ๊น์ง Sliding Window ํฌ๊ธฐ ๋งํผ์ data๋ฅผ ๋ ๋ณด๋ธ๋ค.
์์ ๋งํ๋ฏ์ด ARQ์ฒ๋ผ ๋ณด๋ด๋ ๊ฒ์ ๋นํจ์จ์ ์ด๊ธฐ์
ACK์ด ๋์์ค๊ธฐ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ผ ์ ์๋ ๋งํผ ๋ณด๋ด๋ ๊ฒ์ด ์ข๋ค.
์ ์ฌ์ง์ ๋ณด๋ฉด ๋๋ฒ์งธ ํ๋๋ฐ์ค์ ์ธ๋ฒ์งธ ๋ณด๋ผ๋ฐ์ค๊ฐ Sliding Window์ ํฌ๊ธฐ์ด๋ค.
ํ์ฌ ๋๋ฒ์งธ ํ๋ ๋ฐ์ค๊น์ง ์ ์กํ๊ธฐ ๋๋ฌธ์ ์ธ๋ฒ์งธ ๋ณด๋ผ๋ฐ์ค๋ฅผ ๋ ๋ณด๋ผ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
ThroughPut์ ๋์ด๋ ค๋ฉด Window ์ฌ์ด์ฆ๊ฐ ํฐ ๊ฒ์ด ์ข๋ค.
๋ฌธ์ ์
๐ ๊ทธ๋ ๋ค๋ฉด ์ผ๋งํผ ์ด๋ป๊ฒ ๋ณด๋ด์ผํ ๊น?
๋ต์ flow control ์ ์๋ค.
Folw Control
Sender์๊ฒ receiver๊ฐ ์ผ๋ง๋ ๋ฐ์ ์ ์๋ ์๋ ค์ค๋ค.
๋ง์ฝ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ผํฐ๊ฐ์ powerful sender์ receiver๊ฐ 2G phone ์ด๋ผ๊ณ ํด๋ณด์.
powerful sender ๊ฐ sliding window ๋งํผ์ ๋ฐ์ดํฐ๋ฅผ receiver๋ฅผ ๊ณ ๋ คํ์ง ์๊ณ ๊ณ์ ๋ณด๋ด๊ฒ๋๋ฉด receiver๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๋ฐ์ ์ ์์๊ฒ์ด๋ค.
๊ทธ๋ผ loss๊ฐ ๋ฐ์ํ ํ๋ฅ ์ด ๋๋ค.
๊ทธ๋์ flow control์ ์ฌ์ฉํ์ฌ receiver์ buffer๋ฅผ ํ์ธํด์ค๋ค.
rwnd
์ด๋ฏธ ์ฐจ ์๋ buffer๋ฅผ ์ ์ธํ ๋จ๋ buffer (= free buffer space)
์ ์ฌ์ง์ receiver์ buffer๋ฅผ ๋ณด์ฌ์ค๋ค.
receiver ๋ ์ง์์ ์ผ๋ก ์์ ์ rwnd๋ฅผ ํ์ธํ์ฌ TCP header์ ์ ์ด ACK์ ๋ณด๋ธ๋ค.
์์ ๊ฐ์ด receive window์ rwnd๋ฅผ ์ ์ด์ ๋ณด๋ธ๋ค.
๊ทธ๋ผ sender๋ limits amount of unacked ("in-flight") data to receiver's rwnd value
receiver ์ rwnd์ ๋ง์ถฐ์ ์ ํ์ ๋ฌ์ overflow๊ฐ ์ผ์ด๋์ง ์๊ฒ ํ๋ค.
๐ ๊ทธ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ฒ์ ๋ณด๋ผ๋๋ ACK์ ๋ฐ์ ์ ์ด ์๋ ์ํ์ธ๋ฐ ์ด๋ป๊ฒ ์กฐ์ ํ ๊น?
์ด๊ธฐ๊ฐ์ด ์๋ค. ์ด๊ธฐ๊ฐ๋งํผ ๋ณด๋ด๊ณ ACK์ ๋ฐ๋๋ค. (overflow๊ฐ ์ผ์ด๋ ์ ๋ ์๋ค.)