๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์Šคํ„ฐ๋””/๋„คํŠธ์›Œํฌ

[์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํ‚น ํ•˜ํ–ฅ์‹ ์ ‘๊ทผ] 5. ๋„คํŠธ์›Œํฌ ๊ณ„์ธต: ์ œ์–ด ํ‰๋ฉด

by moon101 2023. 3. 4.

์ œ์–ด ํ‰๋ฉด(control plane) :  ๋„คํŠธ์›Œํฌ ์ „์ฒด๋ฅผ ์•„์šฐ๋ฅด๋Š” ๊ตฌ์„ฑ์š”์†Œ๋กœ์„œ, ๋ฐ์ดํ„ฐ๊ทธ๋žจ์ด ์ถœ๋ฐœ์ง€ ํ˜ธ์ŠคํŠธ๋ถ€ํ„ฐ ๋ชฉ์ ์ง€ ํ˜ธ์ŠคํŠธ๊นŒ์ง€์˜ ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ ์–ด๋–ป๊ฒŒ ์ „๋‹ฌ๋˜์–ด์•ผ ํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๊ตฌ์„ฑ์š”์†Œ์™€ ์„œ๋น„์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๊ณ  ๊ด€๋ฆฌํ• ์ง€๋ฅผ ์ œ์–ดํ•œ๋‹ค.

 

๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜

์†ก์‹ ์ž๋ถ€ํ„ฐ ์ˆ˜์‹ ์ž๊นŒ์ง€ ๋ผ์šฐํ„ฐ์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ์ข‹์€ ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ด๋‹ค. 

 

์ค‘์•™ ์ง‘์ค‘ํ˜• ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜(centralized routing algorithm)

  • ๋„คํŠธ์›Œํฌ ์ „์ฒด์— ๋Œ€ํ•œ ์™„์ „ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์ถœ๋ฐœ์ง€์™€ ๋ชฉ์ ์ง€ ์‚ฌ์ด์˜ ์ตœ์†Œ ๋น„์šฉ ๊ฒฝ๋กœ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค. 
  • ๋ชจ๋“  ๋…ธ๋“œ๋Š” ๋„คํŠธ์›Œํฌ ํ† ํด๋กœ์ง€(topology)์™€ ๋งํฌ ๋น„์šฉ์„ ์•Œ๊ณ  ์žˆ๋‹ค. 
  • ์ „์ฒด ์ƒํƒœ ์ •๋ณด๋ฅผ ๊ฐ–๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งํฌ ์ƒํƒœ(link-state, LS) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•œ๋‹ค. 
    • ๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜(dijkstra's algorithm)

๋ถ„์‚ฐ ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜(decentralized routing algorithm)

  • ์ตœ์†Œ ๋น„์šฉ ๊ฒฝ๋กœ์˜ ๊ณ„์‚ฐ์ด ๋ผ์šฐํ„ฐ๋“ค์— ์˜ํ•ด ๋ฐ˜๋ณต์ ์ด๊ณ  ๋ถ„์‚ฐ๋œ ๋ฐฉ์‹์œผ๋กœ ์ˆ˜ํ–‰๋œ๋‹ค. 
  • ๊ฐ ๋…ธ๋“œ๋Š” ์ž์‹ ์—๊ฒŒ ์ง์ ‘ ์—ฐ๊ฒฐ๋œ ๋งํฌ์— ๋Œ€ํ•œ ๋น„์šฉ ์ •๋ณด๋งŒ์„ ๊ฐ€์ง€๊ณ  ์‹œ์ž‘ํ•œ๋‹ค. 
  • ๋ฐ˜๋ณต์ ์ด๊ณ (iterative), ๋น„๋™๊ธฐ์ ์ด๋ฉฐ(asynchronous) ๋ถ„์‚ฐ์ (distributed)์ด๋‹ค. 
  • ๋ถ„์‚ฐ ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฑฐ๋ฆฌ ๋ฐฑํ„ฐ(distance-vector, DV) ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•œ๋‹ค. -> ๊ฐ ๋…ธ๋“œ๊ฐ€ ๋„คํŠธ์›Œํฌ ๋‚ด ๋‹ค๋ฅธ ๋ชจ๋“  ๋…ธ๋“œ๊นŒ์ง€ ๋น„์šฉ(๊ฑฐ๋ฆฌ)์˜ ์ถ”์ •๊ฐ’์„ ๋ฐฑํ„ฐ ํ˜•ํƒœ๋กœ ์œ ์ง€ํ•œ๋‹ค. 
    • ๋ฒจ๋งŒ-ํฌ๋“œ(Bellman-Ford) ์‹

๋ถ€ํ•˜์— ๋ฏผ๊ฐํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜(load-sensitive algorithm)

  • ๋งํฌ ๋น„์šฉ์€ ํ•ด๋‹น ๋งํฌ์˜ ํ˜„์žฌ ํ˜ผ์žก ์ˆ˜์ค€์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ๋™์ ์œผ๋กœ ๋ณ€ํ•œ๋‹ค. 

 

์ธํ„ฐ๋„ท์—์„œ์˜ AS ๋‚ด๋ถ€ ๋ผ์šฐํŒ… (intra AS)

์ž์œจ ์‹œ์Šคํ…œ(autonomous system, AS)์œผ๋กœ ์กฐ์งํ™”ํ•˜์—ฌ ํ™•์žฅ๊ณผ ๊ด€๋ฆฌ ์ž์œจ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. 

  • ๊ฐ AS๋Š” ๋™์ผํ•œ ๊ด€๋ฆฌ ์ œ์–ดํ•˜์— ์žˆ๋Š” ๋ผ์šฐํ„ฐ์˜ ๊ทธ๋ฃน์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
  • ํ•œ ISP์˜ ๋ผ์šฐํ„ฐ์™€ ๊ทธ๋“ค์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋งํฌ๊ฐ€ ์ข…์ข… ํ•˜๋‚˜์˜ AS๋ฅผ ์ด๋ฃฌ๋‹ค. ์ž์œจ ์‹œ์Šคํ…œ ๋‚ด๋ถ€์—์„œ ๋™์ž‘ํ•˜๋Š” ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ AS ๋‚ด๋ถ€ ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ(intra-autonomous system routing protocol)์ด๋ผ๊ณ  ํ•œ๋‹ค. 
  • ๋ช…ํ™•ํ•œ ๋ผ์šฐํŒ… ์ •์ฑ…์„ ๊ฐ€์ง€๊ณ  ๋™์ผํ•œ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ์ฃผ์ฒด์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋Š” ๋„คํŠธ์›Œํฌ, ๋„คํŠธ์›Œํฌ์˜ ์ง‘ํ•ฉ ๋˜๋Š” ๋„๋ฉ”์ธ(domain)

๊ฐœ๋ฐฉํ˜• ์ตœ๋‹จ ๊ฒฝ๋กœ ์šฐ์„  ํ”„๋กœํ† ์ฝœ(Open shortest path first, OSPF)

  • ๋งํฌ ์ƒํƒœ ์ •๋ณด๋ฅผ ํ”Œ๋Ÿฌ๋”ฉ(flooding)ํ•˜๊ณ  ๋‹ค์ต์ŠคํŠธ๋ผ ์ตœ์†Œ ๋น„์šฉ ๊ฒฝ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋งํฌ ์ƒํƒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. 

OSPF

  • ๋‹จ์ผ ISP ๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ ๋™์ž‘ํ•˜๋Š” ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ
  • OSPF๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ผ์šฐํ„ฐ๋Š” ์ธ์ ‘ํ•œ ๋ผ์šฐํ„ฐ๋งŒ ์•„๋‹ˆ๋ผ ์ž์œจ ์‹œ์Šคํ…œ ๋‚ด์˜ ๋‹ค๋ฅธ ๋ชจ๋“  ๋ผ์šฐํ„ฐ์—๊ฒŒ ๋ผ์šฐํŒ… ์ •๋ณด๋ฅผ ๋ธŒ๋กœ๋“œ์บ์ŠคํŒ…ํ•œ๋‹ค. 

 

์ธํ„ฐ๋„ท ์„œ๋น„์Šค ์ œ๊ณต์—…์ž(ISP) ๊ฐ„์˜ ๋ผ์šฐํŒ… (inter AS)

์ธํ„ฐ๋„ท์˜ ๋ชจ๋“  AS๋Š” ๊ฒฝ๊ณ„ ๊ฒŒ์ดํŠธ์›จ์ด ํ”„๋กœํ† ์ฝœ(Border Gateway Protocol, BGP)์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋™์ผํ•œ AS ๊ฐ„ ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•œ๋‹ค. 

 

โญโญโญBGPโญโญโญ

  • ์ธํ„ฐ๋„ท์˜ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ๋ฅผ ์ƒํ˜ธ์—ฐ๊ฒฐํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ
  • ๊ฑฐ๋ฆฌ ๋ฐฑํ„ฐ ๋ผ์šฐํŒ…๊ณผ ๋น„์Šทํ•œ ๋ถ„์‚ฐํ˜• ๋น„๋™๊ธฐ์‹ ํ”„๋กœํ† ์ฝœ์ด๋‹ค. 
  • BGP ์—ญํ• 
    • 1. ์ด์›ƒ AS๋ฅผ ํ†ตํ•ด ๋„๋‹ฌ ๊ฐ€๋Šฅํ•œ ์„œ๋ธŒ๋„ท ํ”„๋ฆฌํ”ฝ์Šค ์ •๋ณด๋ฅผ ์–ป๋Š”๋‹ค.-> ๊ฐ ์„œ๋ธŒ๋„ท์ด ์ž์‹ ์˜ ์กด์žฌ๋ฅผ ์ธํ„ฐ๋„ท ์ „์ฒด์— ์•Œ๋ฆด ์ˆ˜ ์žˆ๋„๋ก ํ•จ.
    • 2. ์„œ๋ธŒ๋„ท ์ฃผ์†Œ ํ”„๋ฆฌํ”ฝ์Šค๋กœ์˜ ๊ฐ€์žฅ ์ข‹์€ ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. -> ์ตœ๊ณ ์˜ ๊ฒฝ๋กœ๋Š” ๋„๋‹ฌ ๊ฐ€๋Šฅ ์ •๋ณด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ •์ฑ…์— ๊ธฐ๋ฐ˜ํ•ด์„œ ๊ฒฐ์ •๋œ๋‹ค. 
  • BGP ์†์„ฑ
    • AS-PATH : ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€๊ฐ€ ํ†ต๊ณผํ•˜๋Š” AS๋“ค์˜ ๋ฆฌ์ŠคํŠธ
    • NEXT-HOP : AS-PATH๊ฐ€ ์‹œ์ž‘๋˜๋Š” ๋ผ์šฐํ„ฐ ์ธํ„ฐํŽ˜์ด์Šค์˜ IP์ฃผ์†Œ์ด๋‹ค. 
  • policy-based routing
  • Hot potato routing
    • ์ „์ฒด ๊ฒฝ๋กœ ์ค‘์—์„œ ์ž๊ธฐ AS ์™ธ๋ถ€์—์„œ ์–ผ๋งˆ์˜ ๋น„์šฉ์ด ๋“ค์ง€๋Š” ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๊ณ  ์˜ค๋กœ์ง€ ์ž์‹ ์˜ AS ๋‚ด๋ถ€ ๋น„์šฉ๋งŒ ์ค„์ด๋ ค๋Š” ์ด๊ธฐ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

์†Œํ”„ํŠธ์›จ์–ด ์ •์˜ ๋„คํŠธ์›Œํฌ(Software-defined networking, SDN)

  • ๋ฐ์ดํ„ฐ ํ‰๋ฉด๊ณผ ์ œ์–ด ํ‰๋ฉด์„ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌํ•˜๊ณ  ์ œ์–ด ํ‰๋ฉด ๊ธฐ๋Šฅ์„ ์ž์‹ ์ด ๊ด€๋ฆฌํ•˜๋Š” ๋ผ์šฐํ„ฐ์˜ ์ „๋‹ฌ ๊ธฐ๋Šฅ ์š”์†Œ์™€ ๋ถ„๋ฆฌ๋œ ๋ณ„๋„์˜ ์›๊ฒฉ ์ปจํŠธ๋กค๋Ÿฌ ์„œ๋น„์Šค์— ๊ตฌํ˜„ํ•œ๋‹ค. 
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ๋ฐ˜์˜ ์ค‘์•™์ง‘์ค‘ํ˜• ์ปจํŠธ๋กค๋Ÿฌ์— ์˜ํ•ด ์œ ๋™์ ์ธ ๋ผ์šฐํŒ…(routing), ๋ถ€ํ•˜ ๊ท ํ˜•(load balancing) ๋ฐ ์ ‘๊ทผ ์ œ์–ด(access control)๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ƒˆ๋กœ์šด ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ

 

์ธํ„ฐ๋„ท ์ œ์–ด ๋ฉ”์‹œ์ง€ ํ”„๋กœํ† ์ฝœ(Internet Control Message Protocol, ICMP)

  • ํ˜ธ์ŠคํŠธ์™€ ๋ผ์šฐํ„ฐ๊ฐ€ ์„œ๋กœ ๊ฐ„์— ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค
  • ๊ฐ€์žฅ ์ „ํ˜•์ ์ธ ์‚ฌ์šฉ ํ˜•ํƒœ๋Š” ์˜ค๋ฅ˜๋ณด๊ณ ์ด๋‹ค
  • ๊ตฌ์กฐ์ ์œผ๋กœ IP ๋ฐ”๋กœ ์œ„์— ์žˆ๋‹ค.(ICMP ๋ฉ”์‹œ์ง€๊ฐ€ IP ๋ฐ์ดํ„ฐ๊ทธ๋žจ์— ๋‹ด๊ฒจ ์ „์†ก๋จ์œผ๋กœ)
  • IP ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ์˜ ๊ธฐ๋ณธ ์š”์†Œ
  • ๋ผ์šฐํ„ฐ๋ฅผ ํฌํ•จํ•œ ๋„คํŠธ์›Œํฌ ์žฅ๋น„๊ฐ€ ์ œ์–ด ์ •๋ณด๋ฅผ ๋ณด๋‚ผ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ๋กœ์„œ ์ฃผ๋กœ ์˜ค๋ฅ˜ ๋ณด๊ณ (error reporting) ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋ƒ„
  • ์˜คํ”ˆํ”Œ๋กœ์šฐ(OpenFlow): SDN ์ปจํŠธ๋กค๋Ÿฌ์™€ ์Šค์œ„์น˜ ๊ฐ„์˜ ํ†ต์‹  ๊ทœ์•ฝ์„ ์ •์˜ํ•˜๋Š” ๋Œ€ํ‘œ์  Application Programming Interface (API)

 

 

 

 

// TODO

flooding?

 

๋Œ“๊ธ€