๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โญ Group_Study/Networking

[3์ฃผ์ฐจ] Pipelined Protocols: GBN & Selective repeat

by ํฌ์ŠคํŠธ์‰์ดํฌ 2022. 10. 4.

Pipelined Protocols: GBN & Selective repeat

RDT 3.0: stop and wait operation

image


โœ” ์‹ ๋ขฐ์„ฑ์€ ์žˆ์ง€๋งŒ ์†๋„๋Š” ๋งค์šฐ ๋Š๋ฆฌ๋‹ค...
โœ” U(utilazation): fraction of time sender busy sending
โœ” ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ๋ณด๋‚ด๊ณ  ๋Œ€๊ธฐํ•˜๋Š” ๊ณผ์ •์ด ๋งค์šฐ ๋น„ํšจ์œจ์ 

Piplelined protocols

image

 

image


โœ” Pipline Protocol : ํ•œ ๋ฒˆ์— ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ๋ณด๋ƒ„์œผ๋กœ์จ ํšจ์œจ์„ ๋†’์ธ๋‹ค!
โœ” Go-Back-N ๋ฐฉ์‹
โœ” Selective Repeat ๋ฐฉ์‹

Go - Back - N

image


โœ” window: ํ•œ ๋ฒˆ์— ๋ณด๋‚ผ ํŒจํ‚ท์˜ ์–‘
โœ” ACK๊ฐ€ cumulativeํ•˜๋‹ค. -> ACK(n)
โœ” ๊ฐ๊ฐ์˜ ํŒจํ‚ท์€ ํƒ€์ด๋จธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
โœ” n๋ฒˆ ํŒจํ‚ท์—์„œ timeout ๋ฐœ์ƒ ์‹œ window ๋‚ด์— ์žˆ๋Š” n๋ณด๋‹ค ํฐ ํŒจํ‚ท๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์ง„ ๋ชจ๋“  ํŒจํ‚ท์„ ์žฌ์ „์†กํ•œ๋‹ค.

Go - Back - N ๋ฐฉ์‹์—์„œ reciever

โœ” reciever๋Š” ๋งค์šฐ ๋‹จ์ˆœํ•˜๋‹ค.
โœ” ๋ฌด์กฐ๊ฑด ๋‹ค์Œ ์ˆœ์„œ์˜ ํŒจํ‚ท๋งŒ ๊ธฐ๋‹ค๋ฆผ
โœ” ๋Œ€๋ถ€๋ถ„์˜ ์ผ๋“ค์€ sender๊ฐ€ ์ˆ˜ํ–‰

๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ GBN

image


โœ” sender๋Š” ๋ฒˆํ˜ธ๊ฐ€ ์•ˆ ๋งž๋Š” ํŒจํ‚ท์ด ์™”์„ ๋•Œ ๊ทธ๋ƒฅ ๋ฒ„๋ฆฐ๋‹ค!
โœ” ๊ทธ๋Ÿฌ๋‹ค๊ฐ€ timeout ๋ฐœ์ƒ์‹œ reciever๊ฐ€ ํŒจํ‚ท ์žฌ์ „์†ก -> window size์ธ N๋งŒํผ ๋‹ค์‹œ ๋ณด๋‚ด๊ธฐ ๋•Œ๋ฌธ์— 'Go Back N'

However...

โœ” ํ•˜๋‚˜์˜ ์—๋Ÿฌ ๋•Œ๋ฌธ์— ๋ชจ๋“  ํŒจํ‚ท์„ ์žฌ์ „์†กํ•˜๋Š” ๊ฑด ๋„ˆ๋ฌด ๋น„ํšจ์œจ์ 
โœ” ์ด๋ฅผ ๊ฐœ์„ ํ•œ ๊ฒŒ Selective Repeat!

Selective Repeat

image


โœ” cumulatice ACK๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐœ๋ณ„ ํŒจํ‚ท์— ๋Œ€ํ•œ ACK!!
โœ” ์ˆœ์„œ๊ฐ€ ์•ˆ ๋งž๋”๋ผ๋„ ์˜ฌ๋ฐ”๋ฅธ ํŒจํ‚ท์ด๋ฉด ์ €์žฅํ•œ๋‹ค

๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ selective repeat

image


โœ” buffer(reciever window)๊ฐ€ ์™„์„ฑ๋˜๋ฉด ํ•ด๋‹น ํŒจํ‚ท๋“ค์„ application layer๋กœ ์˜ฌ๋ ค์ค€๋‹ค.

Selective Repeat์˜ ๋”œ๋ ˆ๋งˆ

image


โœ” ์ƒˆ๋กœ ๋“ค์–ด์˜ค๋Š” ํŒจํ‚ท๊ณผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ํŒจํ‚ท์„ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์†Œ์˜ seq#๋Š”...?
โœ” window size๋Š” seq#์˜ ์ ˆ๋ฐ˜ ์ดํ•˜์—ฌ์•ผ ํ•œ๋‹ค.
ใ€€ใ€€-> window size <= seq# / 2

๋Œ“๊ธ€