๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋กNetwork (๋„คํŠธ์›Œํฌ)/Computer Network (์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ) (8)

Unfazedโ—๏ธ๐ŸŽฏ

๋งํฌ ์ƒํƒœ(LS) ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜

๊ฐ ๋…ธ๋“œ๊ฐ€ ์ž์‹ ๊ณผ ์—ฐ๊ฒฐ๋œ ๋งํฌ์˜ ์‹๋ณ„์ž์™€ ๋น„์šฉ์„ ํฌํ•จํ•˜๋Š” ๋งํฌ ์ƒํƒœ ํŒจํ‚ท์„ ๋„คํŠธ์›Œํฌ์ƒ์˜ ๋ชจ๋“  ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…=> ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€์™€ ๋ชจ๋“  ๋งํฌ ๋น„์šฉ์ด ์•Œ๋ ค์ ธ ์žˆ์–ด ์ž…๋ ฅ๊ฐ’์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ๋…ธ๋“œ๋“ค์˜ ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ๋…ธ๋“œ๋Š” ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•œ ๋™์ผํ•˜๊ณ  ์™„๋ฒฝํ•œ ๊ด€์ ์„ ๊ฐ–๊ฒŒ ๋œ๋‹ค.๊ฐ ๋…ธ๋“œ๋Š” LS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•ด ๋‹ค๋ฅธ ๋…ธ๋“œ์™€ ๋˜‘๊ฐ™์€ ์ตœ์†Œ ๋น„์šฉ ๊ฒฝ๋กœ ์ง‘ํ•ฉ์„ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.์•„๋ž˜์—์„œ ์„ค๋ช…ํ•  ๋งํฌ ์ƒํƒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜(Dijkstra's algorithm)์ด๋ผ ํ•˜๊ณ , ํ”„๋ฆผ ์•Œ๊ณ ๋ฆฌ์ฆ˜(Prim's algorithm)๋„ ํ•ด๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ด€๋ จ๋˜์–ด ์žˆ๋‹ค. ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜(Dijkstra's algorithm)ํ•˜๋‚˜์˜ ๋…ธ๋“œ(์ถœ๋ฐœ์ง€, u๋ผ๊ณ  ์ง€์นญ)์—์„œ ๋„คํŠธ์›Œํฌ ๋‚ด ๋ชจ๋“  ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ์˜ ์ตœ์†Œ ๋น„์šฉ ๊ฒฝ๋กœ๋ฅผ ๊ณ„..

๋„คํŠธ์›Œํฌ ๊ณ„์ธต : ์ œ์–ดํ‰๋ฉด(control plane), ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜

๋ผ์šฐํ„ฐ๋ณ„ ์ œ์–ด : ํฌ์›Œ๋”ฉ๊ณผ ๋ผ์šฐํŒ… ๊ธฐ๋Šฅ์ด ๋ชจ๋‘ ๊ฐœ๋ณ„ ๋ผ์šฐํ„ฐ์— ํฌํ•จ                   ๊ฐ ๋ผ์šฐํ„ฐ๋Š” ๋‹ค๋ฅธ ๋ผ์šฐํ„ฐ์˜ ๋ผ์šฐํŒ… ๊ตฌ์„ฑ์š”์†Œ์™€ ํ†ต์‹ ํ•˜์—ฌ ์ž์‹ ์˜ ํฌ์›Œ๋”ฉ ํ…Œ์ด๋ธ”์˜ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋Š” ๋ผ์šฐํŒ… ๊ตฌ์†Œ์š”์†Œ๋ฅผ ๊ฐ€์ง                   ๋ผ์šฐํ„ฐ๋ณ„ ์ œ์–ด ๋ฐฉ์‹ ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ : OSPF, BGP ํ”„๋กœํ† ์ฝœ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ค‘์•™ ์ง‘์ค‘๋œ ์ œ์–ด : ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ง‘์ค‘๋œ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํฌ์›Œ๋”ฉ ํ…Œ์ด๋ธ”์„ ์ž‘์„ฑํ•˜๊ณ  ๋ชจ๋“  ๊ฐœ๋ณ„ ๋ผ์šฐํ„ฐ๊ฐ€ ์‚ฌ์šฉํ•˜๋„๋ก ๋ฐฐํฌ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ž˜ ์ •์˜๋œ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ๊ฐ ๋ผ์šฐํ„ฐ์˜ ์ œ์–ด ์—์ด์ „ํŠธ(CA)์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜์—ฌ ๋ผ์šฐํ„ฐ์˜ ํ”Œ๋กœ์šฐ ํ…Œ์ด๋ธ”์„ ๊ตฌ์„ฑ ๋ฐ ๊ด€๋ฆฌCA(control agent) : ์ปจํŠธ๋กค๋Ÿฌ์™€ ํ†ต์‹ ํ•˜๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ์ปจํŠธ๋กค๋Ÿฌ์˜ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ตœ์†Œํ•œ์˜ ๊ธฐ๋Šฅ๋งŒ ๊ฐ€์ง                          ..

์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํŠธ๋žœ์ŠคํฌํŠธ(TCP) - ์™•๋ณต์‹œ๊ฐ„(RTT) ์˜ˆ์ธก๊ณผ ํƒ€์ž„์•„์›ƒ(timeout)

TCP์˜ ์†์‹ค ์„ธ๊ทธ๋จผํŠธ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ : ํƒ€์ž„์•„์›ƒ/์žฌ์ „์†ก ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์™•๋ณต์‹œ๊ฐ„(RTT, round-trip time) : ํŒจํ‚ท์ด ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์„œ๋ฒ„๊นŒ์ง€ ๊ฐ€๊ณ , ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ๋กœ ๋˜๋Œ์•„์˜ค๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„RTT๋Š” ํŒจํ‚ท ์ „ํŒŒ ์ง€์—ฐ, ์ค‘๊ฐ„ ๋ผ์šฐํ„ฐ์™€ ์Šค์œ„์น˜์—์„œ์˜ ํŒจํ‚ท ํ์ž‰ ์ง€์—ฐ, ํŒจํ‚ท ์ฒ˜๋ฆฌ ์ง€์—ฐ ๋“ฑ์„ ํฌํ•จ.ex) ์‚ฌ์šฉ์ž๊ฐ€ ํ•˜์ดํผ๋งํฌ๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ผ1. ํด๋ฆญ - ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์™€ ์›น ์„œ๋ฒ„ ์‚ฌ์ด์—์„œ TCP ์—ฐ๊ฒฐ์„ ์‹œ๋„ (three-way handshake๋ฅผ ํฌํ•จ - ํด๋ผ์ด์–ธํŠธ๊ฐ€ tcp ๋ฉ”์‹œ์ง€๋ฅผ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๊ณ , ์„œ๋ฒ„๊ฐ€ ๋ฉ”์‹œ์ง€๋กœ ์‘๋‹ต ํ›„ ๋งˆ์ง€๋ง‰์œผ๋กœ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‹ค์‹œ ์„œ๋ฒ„์— ์‘๋‹ต, ์ด ์ค‘ ํ•ธ๋“œ์…ฐ์ดํฌ ์ค‘ ์ฒ˜์Œ ๋‘ ๋‹จ๊ณ„๊ฐ€ ๊ฒฝ๊ณผํ•˜๋ฉด ํ•œ RTT๊ฐ€ ๊ณ„์‚ฐ๋จ.)2. ํ•ธ๋“œ ์…ฐ์ดํฌ์˜ ์ฒ˜์Œ ๋‘ ๊ณผ์ •์ด ๋๋‚œ ํ›„, ํด๋ผ์ด์–ธํŠธ๋Š” H..

์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํŠธ๋žœ์ŠคํฌํŠธ(TCP) - ์„ธ๊ทธ๋จผํŠธ ๊ตฌ์กฐ

TCP ์„ธ๊ทธ๋จผํŠธ : ํ—ค๋” ํ•„๋“œ + ๋ฐ์ดํ„ฐ ํ•„๋“œ ๋ฐ์ดํ„ฐ : ํ•œ ์คŒ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ์ดํ„ฐ, MSS๊ฐ€ ํฌ๊ธฐ ์ œํ•œTCP๊ฐ€ ์›น ๋ฌธ์„œ์˜ ์ด๋ฏธ์ง€์™€ ๊ฐ™์€ ํฐ ํŒŒ์ผ์„ ์ „์†ก ์‹œ, ์ผ๋ฐ˜์ ์œผ๋กœ MSS ํฌ๊ธฐ๋กœ ํŒŒ์ผ์„ ์ชผ๊ฐฌ(๋งˆ์ง€๋ง‰ ๋ฌถ์Œ์€ MSS๋ณด๋‹ค ์ž‘์„ ์ˆ˜ ์žˆ์Œ).๊ทธ๋Ÿฌ๋‚˜ ๋งŽ์€ ๋Œ€ํ™”์‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ MSS๋ณด๋‹ค ์ž‘์€ ๋ฐ์ดํ„ฐ ๋ฉ์–ด๋ฆฌ๋ฅผ ์ „์†กํ•˜๊ธฐ๋„ ํ•จ(ex ํ…”๋„ท(์›๊ฒฉ ๋กœ๊ทธ์ธ) ํ—ค๋”(20)+๋ฐ์ดํ„ฐ(1) = 21byte)TCP ํ—ค๋”๋Š” UDP์ฒ˜๋Ÿผ ์ƒ์œ„ ๊ณ„์ธต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ๋ถ€ํ„ฐ ๋‹ค์ค‘ํ™”์™€ ์—ญ๋‹ค์ค‘ํ™”๋ฅผ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ์ถœ๋ฐœ์ง€์™€ ๋ชฉ์ ์ง€ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ํฌํ•จ๋˜ํ•œ UDP์ฒ˜๋Ÿผ ์ฒดํฌ์„ฌ ํ•„๋“œ๋ฅผ ํฌํ•จ.- 32bit ์ˆœ์„œ๋ฒˆํ˜ธ(sequence number), 32bit ํ™•์ธ์‘๋‹ต๋ฒˆํ˜ธ(acknowledgement number) : ์‹ ๋ขฐ์ ์ธ ๋ฐ์ดํ„ฐ ์ „์†ก ์„œ๋น„์Šค ์ง€์›- 16..

์—ฐ๊ฒฐ์ง€ํ–ฅํ˜• ํŠธ๋žœ์ŠคํฌํŠธ(TCP) - TCP ์—ฐ๊ฒฐ (full-duplex, point-to-point, MSS)

TCP ์—ฐ๊ฒฐ์—ฐ๊ฒฐ์ง€ํ–ฅํ˜•(connection-oriented) TCP๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ๋ณด๋‚ด๊ธฐ ์ „์—, ๋‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์„œ๋กœ "ํ•ธ๋“œ์…ฐ์ดํฌ"๋ฅผ ๋จผ์ € ํ•ด์•ผ ํ•จ. TCP "์—ฐ๊ฒฐ"์€ ๊ตํ™˜ ๋„คํŠธ์›Œํฌ์—์„œ์™€ ๊ฐ™์€ ์ข…๋‹จ๊ฐ„ TDM, FDM๋„ ์•„๋‹ˆ๊ณ , ๊ฐ€์ƒ ํšŒ์„  ๋„คํŠธ์›Œํฌ๋„ ์•„๋‹ˆ๋‹ค.TCP ํ”„๋กœํ† ์ฝœ์€ ์˜ค์ง ์ข…๋‹จ ์‹œ์Šคํ…œ์—์„œ๋งŒ ๋™์ž‘, ์ค‘๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ์š”์†Œ(๋ผ์šฐํ„ฐ or ๋ธŒ๋ฆฌ์ง€)์—์„œ๋Š” ๋™์ž‘ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ,์ค‘๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ์š”์†Œ๋“ค์€ TCP ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์Œ. (์ค‘๊ฐ„ ๋ผ์šฐํ„ฐ๋“ค์€ ์ „ํ˜€ TCP ์—ฐ๊ฒฐ์„ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•˜๊ณ , ๋ฐ์ดํ„ฐ๊ทธ๋žจ๋งŒ์„ ๋ด„) ์ „์ด์ค‘(full-duplex) ์„œ๋น„์Šคํ˜ธ์ŠคํŠธ A์˜ ํ”„๋กœ์„ธ์Šค์™€ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ B์˜ ํ”„๋กœ์„ธ์Šค ์‚ฌ์ด์— TCP ์—ฐ๊ฒฐ์ด ์žˆ๋‹ค๋ฉด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต ๋ฐ์ดํ„ฐ๋Š” A B ์–‘ ๋ฐฉํ–ฅ์œผ๋กœ ๋™์‹œ์— ํ..

๋„คํŠธ์›Œํฌ ๊ณ„์ธต : ๋ฐ์ดํ„ฐ ํ‰๋ฉด(data plane) & ์ œ์–ด ํ‰๋ฉด(control plane) ๊ฐœ์š”

์ „์†ก ๊ณ„์ธต์ด๋‚˜ ์‘์šฉ ๊ณ„์ธต๊ณผ๋Š” ๋‹ฌ๋ฆฌ, ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์€ ๊ฐ ํ˜ธ์ŠคํŠธ์™€ ๋„คํŠธ์›Œํฌ์˜ ๋ผ์šฐํ„ฐ๋งˆ๋‹ค ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์˜ ์ผ๋ถ€๊ฐ€ ์กด์žฌํ•œ๋‹ค.(ํ”„๋กœํ† ์ฝœ ์Šคํƒ ์ค‘ ๊ฐ€์žฅ ๋ณต์žกํ•œ ๊ณ„์ธต) ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์€ ์„œ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ํ‰๋ฉด(data plane)๊ณผ ์ œ์–ด ํ‰๋ฉด(control plane) ๋‘ ๋ถ€๋ถ„์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ ํ‰๋ฉด(data plane) ํŒŒํŠธ ์ฃผ์š” ๋‚ด์šฉ- ๋ผ์šฐํ„ฐ๋ณ„ ์ œ์–ด(per-router)๋ผ๋Š” ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์˜ ๊ธฐ๋Šฅ์€ ํ•œ ๋ผ์šฐํ„ฐ์˜ ์ž…๋ ฅ ๋งํฌ์— ๋„์ฐฉํ•œ ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ๋‹ค๋ฅธ ํ•œ ๋ชฉ์  ๋ผ์šฐํ„ฐ์˜ ์ถœ๋ ฅ ๋งํฌ์— ์–ด๋–ป๊ฒŒ ๋„์ฐฉํ•˜๋Š”์ง€๋ฅผ ๊ฒฐ์ •- ์ „ํ†ต์ ์ธ IP ํฌ์›Œ๋”ฉ(๋ฐ์ดํ„ฐ๊ทธ๋žจ์˜ ๋ชฉ์ ์ง€ ์ฃผ์†Œ ๊ธฐ๋ฐ˜), ์ผ๋ฐ˜ํ™”๋œ ํฌ์›Œ๋”ฉ(๋ฐ์ดํ„ฐ๊ทธ๋žจ์˜ ์—ฌ๋Ÿฌ ํ•„๋“œ๊ฐ’ ์‚ฌ์šฉ)- IPv4, IPv6 ํ”„๋กœํ† ์ฝœ๊ณผ ์ฃผ์†Œ ์ฒด๊ณ„ ์ œ์–ด ํ‰๋ฉด(control plane) ํŒŒํŠธ ์ฃผ์š” ๋‚ด..

ํŒŒ์ดํ”„๋ผ์ด๋‹๋œ ์‹ ๋ขฐ์ ์ธ ๋ฐ์ดํ„ฐ ์ „์†ก ํ”„๋กœํ† ์ฝœ

ํ”„๋กœํ† ์ฝœ rdt3.0 : ๋น„ํŠธ ์˜ค๋ฅ˜์™€ ์†์‹ค์ด ์žˆ๋Š” ์ฑ„๋„ ์ƒ์—์„œ ์‹ ๋ขฐ์ ์ธ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ€๋Šฅ๊ธฐ๋Šฅ์ ์œผ๋กœ๋Š” ์ •ํ™•ํ•œ ํ”„๋กœํ† ์ฝœ์ด์ง€๋งŒ ์ „์†ก ํ›„ ๋Œ€๊ธฐ(stop-and-wait) ํ”„๋กœํ† ์ฝœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ ์ข‹์ง€ ์•Š์Œ. ์ „์†ก ํ›„ ๋Œ€๊ธฐ ๋ฐฉ์‹ ์˜ˆ์‹œํ˜ธ์ŠคํŠธ1(๋ฏธ๊ตญ ์„œ๋ถ€), ํ˜ธ์ŠคํŠธ2(๋ฏธ๊ตญ ๋™๋ถ€)์— ์žˆ๋Š” ๋‘ ์ข…๋‹จ ํ˜ธ์ŠคํŠธ์˜ ๊ฒฝ์šฐ ๊ฐ€์ •๋‘ ์ข…๋‹จ ์‹œ์Šคํ…œ ์‚ฌ์ด์˜ ๊ด‘์† ์™•๋ณต ์ „ํŒŒ ์ง€์—ฐ(RTT) = ์•ฝ 30ms๋‘ ํ˜ธ์ŠคํŠธ๋Š” 1Gbps ์ „์†ก๋ฅ (R)์„ ๊ฐ€์ง„ ์ฑ„๋„๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Œํ—ค๋”ํ•„๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜์—ฌ, ํŒจํ‚ท๋‹น 1000๋ฐ”์ดํŠธ(8000๋น„ํŠธ)์˜ ํŒจํ‚ท ํฌ๊ธฐ(L)์„ ๊ฐ€์ง€๊ณ  1Gbps ๋งํฌ๋กœ ํŒจํ‚ท์„ ์ „์†กํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์‹œ๊ฐ„์€ L/R = 8000bit / 10^9bit/sec = 8ร—10^-6 sec=8 ฮผs (๋งˆ์ดํฌ๋กœ์ดˆ)์ด๋‹ค. ์†ก์‹ ์ž๊ฐ€ t=0์—์„œ ๋ฐ์ดํ„ฐ..