์ „๊ณต์ˆ˜์—…

[์ปดํ“จํ„ฐ๋„คํŠธ์›Œํฌ2] ํ•˜ํ–ฅ์‹ ์ ‘๊ทผ๋ฒ• 5์žฅ (5) - SDN

dayeonsheep 2025. 3. 31. 03:13

๐Ÿ“Œ SDN(Software-Defined Networking)์ด๋ž€?

SDN(Software-Defined Networking)์€ ๋„คํŠธ์›Œํฌ์˜ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์„ ์ค‘์•™์—์„œ ์ œ์–ดํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์•„ํ‚คํ…์ฒ˜

๊ธฐ์กด ๋„คํŠธ์›Œํฌ์—์„œ๋Š” ๊ฐ ๋ผ์šฐํ„ฐ๊ฐ€ ์ž์ฒด์ ์œผ๋กœ ๊ฒฝ๋กœ๋ฅผ ๊ณ„์‚ฐํ–ˆ์ง€๋งŒ, SDN์—์„œ๋Š” ์ค‘์•™ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ „์ฒด ๋„คํŠธ์›Œํฌ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋ผ์šฐํŒ…์„ ๊ฒฐ์ •

 

- ๋ฐ์ดํ„ฐ ํ‰๋ฉด๊ณผ ์ œ์–ด ํ‰๋ฉด์„ ๋ช…ํ™•ํžˆ ๋ถ„๋ฆฌ

- ์ œ์–ด ํ‰๋ฉด ๊ธฐ๋Šฅ์„ ์ž์‹ ์ด ๊ด€๋ฆฌํ•˜๋Š” ๋ผ์šฐํ„ฐ์˜ ์ „๋‹ฌ ๊ธฐ๋Šฅ ์š”์†Œ์™€ ๋ถ„๋ฆฌ๋œ ๋ณ„๋„์˜ ์›๊ฒฉ ‘์ปจํŠธ๋กค๋Ÿฌ’ ์„œ๋น„์Šค์— ๊ตฌํ˜„

 

1๏ธโƒฃ ๊ธฐ์กด ๋„คํŠธ์›Œํฌ (Per-Router Control Plane) vs. SDN

๐Ÿ”น ๊ธฐ์กด ๋„คํŠธ์›Œํฌ (Per-Router Control Plane)

  • ๊ฐ ๋ผ์šฐํ„ฐ๊ฐ€ ๊ฐœ๋ณ„์ ์œผ๋กœ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ๊ณ„์‚ฐ
  • ๋ผ์šฐํ„ฐ ๊ฐ„ ๋ถ„์‚ฐ๋œ ํ”„๋กœํ† ์ฝœ(OSPF, BGP ๋“ฑ)์„ ์‚ฌ์šฉํ•ด ๊ฒฝ๋กœ ๊ฒฐ์ •
  • ๋ผ์šฐํ„ฐ๋งˆ๋‹ค ์„ค์ •์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ๊ตฌ์„ฑ์ด ๋ณต์žกํ•˜๊ณ  ์˜ค๋ฅ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ ์ฆ๊ฐ€
  • ๋ชจ๋†€๋ฆฌ์‹ ๋ผ์šฐํ„ฐ์—๋Š” ์Šค์œ„์นญ ํ•˜๋“œ์›จ์–ด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ๋…์  ๋ผ์šฐํ„ฐ OS(์˜ˆ: Cisco IOS)์—์„œ ์ธํ„ฐ๋„ท ํ‘œ์ค€ ํ”„๋กœํ† ์ฝœ(IP, RIP, IS-IS, OSPF, BGP)์˜ ๋…์  ๊ตฌํ˜„์„ ์‹คํ–‰
  • ์„œ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ "๋ฏธ๋“ค๋ฐ•์Šค"๋ฐฉํ™”๋ฒฝ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ, NAT ๋ฐ•์Šค ๋“ฑ.

 

๋”๋ณด๊ธฐ

๐Ÿ“Œ ๋ฏธ๋“ค๋ฐ•์Šค(Middlebox)๋ž€?

๋ฏธ๋“ค๋ฐ•์Šค(Middlebox)๋Š” ๋ผ์šฐํ„ฐ๋‚˜ ์Šค์œ„์น˜๊ฐ€ ์•„๋‹Œ, ํŠน์ • ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์žฅ๋น„๋ฅผ ์˜๋ฏธํ•ด.
์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐฉํ™”๋ฒฝ(Firewall), NAT(Network Address Translation), ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ(Load Balancer) ๊ฐ™์€ ์žฅ๋น„๋“ค์ด ์žˆ์–ด!


1๏ธโƒฃ ๋ฏธ๋“ค๋ฐ•์Šค๋Š” ์™œ ํ•„์š”ํ• ๊นŒ?

๊ธฐ๋ณธ์ ์œผ๋กœ ๋„คํŠธ์›Œํฌ๋Š” ํŒจํ‚ท์„ ๋ชฉ์ ์ง€๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ ์—ญํ• ์ด์•ผ.
ํ•˜์ง€๋งŒ, ํ˜„์‹ค์—์„œ๋Š” ์ถ”๊ฐ€์ ์ธ ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•ด!

โœ… ๋ณด์•ˆ(Security) → ๋ฐฉํ™”๋ฒฝ(Firewall)

  • ์•…์„ฑ ํŠธ๋ž˜ํ”ฝ์„ ์ฐจ๋‹จํ•˜๊ณ , ํ—ˆ์šฉ๋œ ํŠธ๋ž˜ํ”ฝ๋งŒ ์ „๋‹ฌ

โœ… ํŠธ๋ž˜ํ”ฝ ๊ด€๋ฆฌ(Traffic Management) → ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ(Load Balancer)

  • ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐํ•ด์„œ ๋ถ€ํ•˜๋ฅผ ์ค„์ž„

โœ… IP ์ฃผ์†Œ ๋ณ€ํ™˜ → NAT(Network Address Translation)

  • ์‚ฌ์„ค IP๋ฅผ ๊ณต์ธ IP๋กœ ๋ณ€ํ™˜ํ•ด ์ธํ„ฐ๋„ท๊ณผ ํ†ต์‹  ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•จ

โœ… ๋ฐ์ดํ„ฐ ์••์ถ•, ์ฝ˜ํ…์ธ  ์บ์‹ฑ ๋“ฑ

โžก๏ธ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ณ„๋„์˜ ์žฅ๋น„๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ "๋ฏธ๋“ค๋ฐ•์Šค"๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฑฐ์•ผ!


2๏ธโƒฃ ๋ฏธ๋“ค๋ฐ•์Šค์™€ ๊ธฐ์กด ๋„คํŠธ์›Œํฌ ์žฅ๋น„(๋ผ์šฐํ„ฐ, ์Šค์œ„์น˜)์˜ ์ฐจ์ด

๐Ÿ”น ๊ธฐ๋Šฅ ๐Ÿ”น ๋ผ์šฐํ„ฐ/์Šค์œ„์น˜ ๐Ÿ”น ๋ฏธ๋“ค๋ฐ•์Šค
์ฃผ์š” ์—ญํ•  ํŒจํ‚ท์„ ๋น ๋ฅด๊ฒŒ ์ „๋‹ฌ ํŠน์ • ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰
์œ„์น˜ ๋„คํŠธ์›Œํฌ ๊ฒฝ๋กœ(๋ฐ์ดํ„ฐ ํ”Œ๋ ˆ์ธ) ๋„คํŠธ์›Œํฌ ์ค‘๊ฐ„์—์„œ ํŠน์ • ์—ญํ• 
์˜ˆ์‹œ L2/L3 ์Šค์œ„์น˜, ๋ผ์šฐํ„ฐ ๋ฐฉํ™”๋ฒฝ, NAT, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ

๐Ÿ‘‰ ์ฆ‰, ๋ฏธ๋“ค๋ฐ•์Šค๋Š” ํŒจํ‚ท์„ ๋‹จ์ˆœํžˆ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, "ํŠน์ • ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€"ํ•˜๋Š” ์žฅ๋น„์•ผ!


3๏ธโƒฃ SDN๊ณผ ๋ฏธ๋“ค๋ฐ•์Šค์˜ ๊ด€๊ณ„

๊ธฐ์กด ๋„คํŠธ์›Œํฌ์—์„œ๋Š” ๋ฏธ๋“ค๋ฐ•์Šค๋ฅผ ๋ฌผ๋ฆฌ์ ์ธ ์žฅ๋น„๋กœ ์ถ”๊ฐ€ํ•ด์•ผ ํ–ˆ์ง€๋งŒ,
SDN์—์„œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ ์œผ๋กœ ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์–ด!

 

๐Ÿš€ SDN์˜ ์žฅ์ 
โœ… ๋ฐฉํ™”๋ฒฝ, NAT, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ํ•˜๋“œ์›จ์–ด ๋Œ€์‹  ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅ
โœ… ์ค‘์•™์—์„œ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ์„ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ

๐Ÿ’ก ์ฆ‰, SDN์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฏธ๋“ค๋ฐ•์Šค๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ , ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ์„ "ํ”„๋กœ๊ทธ๋ž˜๋ฐ"ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ผ!

 

๐Ÿ”น SDN (Software-Defined Networking)

  • ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์„ ์ค‘์•™ ์ง‘์ค‘์‹์œผ๋กœ ๊ด€๋ฆฌ (SDN ์ปจํŠธ๋กค๋Ÿฌ)
  • ๋ผ์šฐํ„ฐ๋Š” ๋‹จ์ˆœํ•œ ํฌ์›Œ๋”ฉ ์—ญํ• ์„ ํ•˜๊ณ , ๊ฒฝ๋กœ ๊ฒฐ์ •์€ SDN ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋‹ด๋‹น
  • ๋„คํŠธ์›Œํฌ ์„ค์ •์ด ๊ฐ„๋‹จํ•˜๊ณ  ์œ ์—ฐ์„ฑ์ด ๋†’์Œ

 

2๏ธโƒฃ SDN์˜ ํ•ต์‹ฌ ๊ฐœ๋…: ์ค‘์•™์ง‘์ค‘ํ˜• ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ (Logically Centralized Control Plane)

๊ธฐ์กด ๋ฐฉ์‹๊ณผ ๋‹ค๋ฅด๊ฒŒ, SDN์—์„œ๋Š” ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์ด ์ค‘์•™์—์„œ ๋™์ž‘ํ•ด.

 

โœ… 1. ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ๊ฐ€ ์‰ฌ์›Œ์ง (Easier Network Management)

  • ๋ผ์šฐํ„ฐ๋งˆ๋‹ค ์„ค์ •ํ•  ํ•„์š” ์—†์ด ์ค‘์•™์—์„œ ํ•œ ๋ฒˆ์— ๊ด€๋ฆฌ
  • ์ž˜๋ชป๋œ ์„ค์ •(๋ฏธ์Šค์ปจํ”ผ๊ทœ๋ ˆ์ด์…˜)์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Œ

โœ… 2. ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„์„ ๋” ์œ ์—ฐํ•˜๊ฒŒ ์ œ์–ด ๊ฐ€๋Šฅ (Greater Flexibility of Traffic Flows)

  • ํŠน์ • ํŠธ๋ž˜ํ”ฝ์„ ์šฐ์„  ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜, ํŠน์ • ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅ
  • ํ•„์š”์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ๋ผ์šฐํŒ…์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Œ

โœ… 3. ํ…Œ์ด๋ธ” ๊ธฐ๋ฐ˜ ํฌ์›Œ๋”ฉ์œผ๋กœ ๋ผ์šฐํ„ฐ "ํ”„๋กœ๊ทธ๋ž˜๋ฐ" ๊ฐ€๋Šฅ (Table-Based Forwarding & OpenFlow API)

  • ๋ผ์šฐํ„ฐ๊ฐ€ ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ์„ ์‹คํ–‰ํ•˜๋Š” ๋Œ€์‹ , ์ค‘์•™์—์„œ ๊ณ„์‚ฐ๋œ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉ
  • OpenFlow ๊ฐ™์€ API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์†Œํ”„ํŠธ์›จ์–ด์ ์œผ๋กœ ๊ฒฝ๋กœ๋ฅผ ์„ค์ • ๊ฐ€๋Šฅ

โœ… 4. ์ค‘์•™ ์ง‘์ค‘ํ˜•์ด ๋ถ„์‚ฐ ๋ฐฉ์‹๋ณด๋‹ค ๊ฐ„๋‹จํ•จ

  • ์ค‘์•™์—์„œ ํ…Œ์ด๋ธ”์„ ๊ณ„์‚ฐํ•ด์„œ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๊ฐ„๋‹จ
  • ๊ธฐ์กด ๋ฐฉ์‹(Per-Router Control Plane)์ฒ˜๋Ÿผ ๊ฐ ๋ผ์šฐํ„ฐ๊ฐ€ ๋ถ„์‚ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‹คํ–‰ํ•  ํ•„์š” ์—†์Œ

 

3๏ธโƒฃ SDN์˜ ๊ฐœ๋ฐฉ์„ฑ (Open Implementation)๊ณผ ํ˜์‹  (Innovation)

SDN์€ ๊ธฐ์กด ๋„คํŠธ์›Œํฌ ์žฅ๋น„ ์ œ์กฐ์—…์ฒด(Cisco, Juniper ๋“ฑ)์˜ ๋…์  ๊ธฐ์ˆ ์—์„œ ๋ฒ—์–ด๋‚˜, ๊ฐœ๋ฐฉ์ ์ธ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ๋ฐฉ์‹์„ ์ œ๊ณตํ•ด.

 

๐Ÿš€ SDN์˜ ๊ฐœ๋ฐฉ์„ฑ์ด ๊ฐ€์ ธ์˜ค๋Š” ๋ณ€ํ™”

  • ๋ฒค๋” ์ข…์†์„ฑ ๊ฐ์†Œ → ๋„คํŠธ์›Œํฌ ์žฅ๋น„ ์ œ์กฐ์—…์ฒด์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
  • ์ƒˆ๋กœ์šด ๋„คํŠธ์›Œํฌ ๊ธฐ์ˆ  ์‹คํ—˜ ๊ฐ€๋Šฅ → ๋‹ค์–‘ํ•œ ์—ฐ๊ตฌ์™€ ํ˜์‹ ์ด ํ™œ๋ฐœํ•˜๊ฒŒ ์ง„ํ–‰๋จ
  • ๋น„์œ : ๋ฉ”์ธํ”„๋ ˆ์ž„์—์„œ PC ํ˜๋ช…์œผ๋กœ!
    • ๊ณผ๊ฑฐ์—๋Š” ์ค‘์•™์—์„œ ๋ชจ๋“  ์ปดํ“จํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฉ”์ธํ”„๋ ˆ์ž„ ๋ฐฉ์‹์ด์—ˆ์ง€๋งŒ,
    • PC๊ฐ€ ๋“ฑ์žฅํ•˜๋ฉด์„œ ๊ฐœ๋ฐฉํ˜• ๊ธฐ์ˆ ์ด ๋ฐœ์ „ํ–ˆ๋“ฏ์ด,
    • SDN๋„ ๊ธฐ์กด ๋„คํŠธ์›Œํฌ ์žฅ๋น„ ์ค‘์‹ฌ์—์„œ ๊ฐœ๋ฐฉํ˜•์œผ๋กœ ๋ณ€ํ™”ํ•˜๊ณ  ์žˆ์Œ

๐Ÿ” SDN์„ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์ •๋ฆฌํ•˜๋ฉด?

๐Ÿ‘‰ "๋„คํŠธ์›Œํฌ์˜ ๋‘๋‡Œ(์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ)๋ฅผ ์ค‘์•™์—์„œ ์ œ์–ดํ•˜๊ณ , ๋ผ์šฐํ„ฐ๋Š” ๋‹จ์ˆœํ•œ ์‹คํ–‰ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ์ˆ "

๐Ÿš€ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ๊ฐ€ ์‰ฌ์›Œ์ง€๊ณ , ์œ ์—ฐํ•œ ํŠธ๋ž˜ํ”ฝ ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง

 

 


 

Traffic engineering: ๊ธฐ์กด ๋ผ์šฐํŒ…์œผ๋กœ๋Š” ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋˜ ๊ฒƒ๋“ค

 

Q: what if network operator wants u-to-z traffic to flow along uvwz, rather than uxyz? ๋งŒ์•ฝ ๋„คํŠธ์›Œํฌ ์šด์˜์ž๊ฐ€ u์—์„œ z๋กœ ๊ฐ€๋Š” ํŠธ๋ž˜ํ”ฝ์„ uvwz ๊ฒฝ๋กœ๋กœ ๋ณด๋‚ด๊ณ  ์‹ถ๋‹ค๋ฉด?

A: need to re-define link weights so traffic routing algorithm computes routes accordingly (or need a new routing algorithm)!

link weights are only control “knobs”: not much control!

 

-> ๊ธฐ์กด์˜ ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ "์ตœ๋‹จ ๊ฒฝ๋กœ"๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•˜๊ธฐ ์–ด๋ ต๋‹ค๋Š” ๋ฌธ์ œ

-> ์ „ํ†ต์ ์ธ ๋ผ์šฐํŒ… ๋ฐฉ์‹์—์„œ๋Š” "๋งํฌ ๊ฐ€์ค‘์น˜(Link Weight)"๊ฐ€ ๊ฒฝ๋กœ๋ฅผ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑฐ์˜ ์œ ์ผํ•œ ๋ฐฉ๋ฒ•(knob)์ด์•ผ.
์ฆ‰, ๋„คํŠธ์›Œํฌ ์šด์˜์ž๊ฐ€ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์€ ๋งํฌ ๊ฐ€์ค‘์น˜๋ฅผ ์กฐ์ •ํ•ด์„œ ๊ฒฝ๋กœ๋ฅผ ์šฐํšŒํ•˜๋„๋ก ์œ ๋„ํ•˜๋Š” ๊ฒƒ๋ฟ

 

์™œ knobs(์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋Š” ์š”์†Œ)๊ฐ€ ๋ถ€์กฑํ• ๊นŒ?

  • ์ „ํ†ต์ ์ธ ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ(OSPF, RIP ๋“ฑ)์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋งํฌ ๊ฐ€์ค‘์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘
    ํ•˜์ง€๋งŒ ๋งํฌ ๊ฐ€์ค‘์น˜๋งŒ์œผ๋กœ๋Š” ํŠน์ • ํŠธ๋ž˜ํ”ฝ์„ ์›ํ•˜๋Š” ๊ฒฝ๋กœ๋กœ ๋ณด๋‚ด๋Š” ์„ธ๋ฐ€ํ•œ ์ œ์–ด๊ฐ€ ์–ด๋ ต๋‹ค
  • "knobs"๊ฐ€ ์ œํ•œ์ ์ด๋ผ๋Š” ๋ง์€, ์šฐ๋ฆฌ๊ฐ€ ํŠธ๋ž˜ํ”ฝ์„ ์ œ์–ดํ•  ๋ฐฉ๋ฒ•์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ์˜๋ฏธ
  • ๋งํฌ ๊ฐ€์ค‘์น˜๋ฅผ ์กฐ์ •ํ•˜๋ฉด ๊ฒฝ๋กœ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๊ธด ํ•˜์ง€๋งŒ, ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์— ์˜ํ–ฅ์„ ์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์›ํ•˜๋Š” ๋Œ€๋กœ ์„ธ๋ฐ€ํ•œ ์กฐ์ •์ด ์–ด๋ ต๋‹ค.

 

u-to-z ํŠธ๋ž˜ํ”ฝ์„ uvwz์™€ uxyz ๊ฒฝ๋กœ๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์ด ์™œ ๋ถˆ๊ฐ€๋Šฅํ• ๊นŒ?

-> ์ „ํ†ต์ ์ธ ๋ผ์šฐํŒ… ๋ฐฉ์‹(์˜ˆ: OSPF, RIP)์€ ๋‹จ์ผ ๊ฒฝ๋กœ๋งŒ ์„ ํƒํ•˜๊ธฐ ๋•Œ๋ฌธ

  • ๊ธฐ์กด ๋ผ์šฐํŒ… ์•Œ๊ณ ๋ฆฌ์ฆ˜(๋งํฌ ์ƒํƒœ ๋ผ์šฐํŒ…, ๊ฑฐ๋ฆฌ ๋ฒกํ„ฐ ๋ผ์šฐํŒ…)์€ "๋‹จ์ผ ์ตœ๋‹จ ๊ฒฝ๋กœ"๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘
  • "๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ(load balancing)"์„ ํ•˜๋ ค๋ฉด ํŠธ๋ž˜ํ”ฝ์„ ๋‘ ๊ฐœ์˜ ๊ฒฝ๋กœ(uvwz & uxyz)๋กœ ๋‚˜๋ˆ ์•ผ ํ•˜๋Š”๋ฐ, ์ „ํ†ต์ ์ธ ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ์—์„œ๋Š” ํ•˜๋‚˜์˜ ๊ฒฝ๋กœ๋งŒ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Œ
  • ๊ธฐ์กด ๋ฐฉ์‹์—์„œ๋Š” ํŠธ๋ž˜ํ”ฝ์„ ํŠน์ • ๋น„์œจ๋กœ ๋‚˜๋ˆ ์„œ ๋ณด๋‚ด๋Š” ๊ธฐ๋Šฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆ๊ฐ€๋Šฅํ•œ๊ฑฐ์ž„
  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ํ•˜๋ ค๋ฉด?
    • ECMP(Equal-Cost Multi-Path) ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด๋Š” ๊ธฐ์กด ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ๋งŒ์œผ๋กœ๋Š” ์ง€์›๋˜์ง€ ์•Š์Œ
    • ๋˜๋Š”, SDN(์†Œํ”„ํŠธ์›จ์–ด ์ •์˜ ๋„คํŠธ์›Œํ‚น)์ฒ˜๋Ÿผ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋ธ”ํ•œ ๋ผ์šฐํŒ… ๋ฐฉ์‹์ด ํ•„์š”

 

 

w์—์„œ z๋กœ ๊ฐ€๋Š” "ํŒŒ๋ž€์ƒ‰/๋นจ๊ฐ„์ƒ‰ ํŠธ๋ž˜ํ”ฝ"์„ ๋‹ค๋ฅด๊ฒŒ ๋ผ์šฐํŒ…ํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š”?

-> ๊ธฐ์กด ๋ผ์šฐํŒ…์€ "๋ชฉ์ ์ง€ ๊ธฐ๋ฐ˜(destination-based)"์ด๊ธฐ ๋•Œ๋ฌธ!

  • ์ „ํ†ต์ ์ธ ๋ผ์šฐํŒ… ํ”„๋กœํ† ์ฝœ(OSPF, RIP, BGP ๋“ฑ)์€ "๋ชฉ์ ์ง€ ์ฃผ์†Œ"๋งŒ ๋ณด๊ณ  ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •
    • ํŠธ๋ž˜ํ”ฝ์ด ์–ด๋–ค ์ข…๋ฅ˜์ธ์ง€(์˜ˆ: QoS, ์„œ๋น„์Šค ์œ ํ˜•, VLAN, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ข…๋ฅ˜ ๋“ฑ)๋Š” ๊ณ ๋ คํ•˜์ง€ ์•Š์Œ
  • ์™œ w๊ฐ€ ํŒŒ๋ž€์ƒ‰/๋นจ๊ฐ„์ƒ‰ ํŠธ๋ž˜ํ”ฝ์„ ๋‹ค๋ฅด๊ฒŒ ๋ผ์šฐํŒ…ํ•  ์ˆ˜ ์—†์„๊นŒ?
    • ๊ธฐ์กด ๋ฐฉ์‹์—์„œ๋Š” z๋กœ ๊ฐ€๋Š” ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ํ•˜๋‚˜๋งŒ ์„ ํƒํ•  ๋ฟ, ํŠธ๋ž˜ํ”ฝ์˜ ์ข…๋ฅ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค๋ฅด๊ฒŒ ๋ผ์šฐํŒ…ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ
    • ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์ด ๊ฐ™์€ ๋ชฉ์ ์ง€(z)๋กœ ๊ฐ€๋Š” ๊ฒฝ์šฐ, ๊ฐ™์€ ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ๊ฐ€์•ผ ํ•จ
  • ํŠธ๋ž˜ํ”ฝ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ๋ผ์šฐํŒ…ํ•˜๋ ค๋ฉด?
    • SDN์—์„œ๋Š” ํŒจํ‚ท์˜ ์ข…๋ฅ˜, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์œ ํ˜•, QoS ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ์ค€์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ผ์šฐํŒ…ํ•  ์ˆ˜ ์žˆ์Œ
    • ex) OpenFlow ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ถœ๋ฐœ์ง€, ๋ชฉ์ ์ง€๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŠธ๋ž˜ํ”ฝ ํƒ€์ž…๊นŒ์ง€ ๊ณ ๋ คํ•œ ๋ผ์šฐํŒ…์ด ๊ฐ€๋Šฅ

 

์ „ํ†ต์ ์ธ ๋ผ์šฐํŒ… ๋ฐฉ์‹์—์„œ๋Š”

  1. ์›ํ•˜๋Š” ๊ฒฝ๋กœ๋ฅผ ์ง์ ‘ ์ง€์ •ํ•˜๊ธฐ ์–ด๋ ค์›€ (๋งํฌ ๊ฐ€์ค‘์น˜(Link Weight)๊ฐ€ ๊ฒฝ๋กœ ์กฐ์ ˆ์˜ ์œ ์ผํ•œ ๋ฐฉ๋ฒ•, ์ตœ๋‹จ ๊ฒฝ๋กœ ์„ ํƒ)
  2. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ์ง€์›ํ•˜์ง€ ์•Š์Œ (ํ•˜๋‚˜์˜ ์ตœ์  ๊ฒฝ๋กœ๋งŒ ์„ ํƒ)
  3. ํŠธ๋ž˜ํ”ฝ ์œ ํ˜•์— ๋”ฐ๋ฅธ ์ฐจ๋“ฑ ๋ผ์šฐํŒ…์ด ๋ถˆ๊ฐ€๋Šฅํ•จ (๋ชฉ์ ์ง€ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…๋งŒ ๊ฐ€๋Šฅ)

 

 

SDN ๊ตฌ์กฐ

 

 

 

Data-plane switches

1. ๋น ๋ฅด๊ณ  ๋‹จ์ˆœํ•œ ๋ฒ”์šฉ(commodity) ์Šค์œ„์น˜

- ํ•˜๋“œ์›จ์–ด์—์„œ ์ผ๋ฐ˜ํ™”๋œ ๋ฐ์ดํ„ฐ ํ”Œ๋ ˆ์ธ ํฌ์›Œ๋”ฉ ์ˆ˜ํ–‰ (์„น์…˜ 4.4 ์ฐธ๊ณ )

 

2. ์ปจํŠธ๋กค๋Ÿฌ์˜ ๊ฐ๋… ์•„๋ž˜ ํ”Œ๋กœ์šฐ ํ…Œ์ด๋ธ”(flow table) ๊ณ„์‚ฐ & ์„ค์น˜

- ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๊ฒฝ๋กœ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ์Šค์œ„์น˜์— ์ „๋‹ฌํ•จ

- ์Šค์œ„์น˜๋Š” ๋‹จ์ˆœํžˆ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์ง€์‹œ์— ๋”ฐ๋ผ ํŒจํ‚ท์„ ์ „๋‹ฌ

 

3. ํ…Œ์ด๋ธ” ๊ธฐ๋ฐ˜ ์Šค์œ„์น˜ ์ œ์–ด API ์ œ๊ณต (์˜ˆ: OpenFlow)

- ์–ด๋–ค ๊ธฐ๋Šฅ์ด ์ œ์–ด ๊ฐ€๋Šฅํ•˜๊ณ , ์–ด๋–ค ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•œ์ง€ ์ •์˜

- ์ปจํŠธ๋กค๋Ÿฌ์™€ ์Šค์œ„์น˜ ๊ฐ„ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ (์˜ˆ: OpenFlow ์‚ฌ์šฉ)

 

 

 

์ˆ˜์—… ๋•Œ ๋“ค์€ ์ถ”๊ฐ€ ๋‚ด์šฉ

๋”๋ณด๊ธฐ

- ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ ๊ฐ€์ƒํ™”(NFV)์™€ ์—ฐ๊ณ„ ๊ฐ€๋Šฅ: ๋ฐฉํ™”๋ฒฝ, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ์œ ์—ฐํ•œ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ

- ๊ณผ๊ฑฐ ๋„คํŠธ์›Œํฌ๋Š” Lock-in ๋ฌธ์ œ

์˜ˆ์ „์—๋Š” ํ•œ ํšŒ์‚ฌ์˜ ์ „์šฉ ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ -> ํ์‡„์ (Lock-in ํ˜„์ƒ)

์ดํ›„ ๋งˆ์ดํฌ๋กœํ”„๋กœ์„ธ์„œ ๋“ฑ์žฅ์œผ๋กœ ์—ฌ๋Ÿฌ OS & ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ๊ฐ€๋Šฅ

๋„คํŠธ์›Œํฌ๋„ SDN์„ ํ†ตํ•ด ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด ๋ถ„๋ฆฌ → ๊ฐœ๋ฐฉ์„ฑ ์ฆ๊ฐ€

- SDN์„ ํ™œ์šฉํ•œ ๋„คํŠธ์›Œํฌ ์ œ์–ด ์‚ฌ๋ก€

์ ‘๊ทผ ์ œ์–ด ๋ฆฌ์ŠคํŠธ(Access Control List) : ํŠน์ • ํŠธ๋ž˜ํ”ฝ ์ฐจ๋‹จ/ํ—ˆ์šฉ

๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ : ํŠธ๋ž˜ํ”ฝ์„ ์—ฌ๋Ÿฌ ๋…ธ๋“œ์— ๋ถ„์‚ฐํ•ด ํ•œ ๋…ธ๋“œ์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฐ€์ง€ ์•Š๋„๋ก ์กฐ์ •

 

  • SDN์—์„œ๋Š” ๋ฐ์ดํ„ฐ ํ”Œ๋ ˆ์ธ ์Šค์œ„์น˜๋Š” ๋‹จ์ˆœํ•œ ํŒจํ‚ท ์ „๋‹ฌ ์žฅ์น˜
  • ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋ชจ๋“  ๊ฒฝ๋กœ๋ฅผ ๊ณ„์‚ฐ & ์„ค์ •
  • API(OpenFlow ๋“ฑ)๋กœ ์ปจํŠธ๋กค๋Ÿฌ์™€ ํ†ต์‹ 
  • ๊ธฐ์กด ํ์‡„์  ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ(Lock-in)์—์„œ ๊ฐœ๋ฐฉ์  SDN ๊ตฌ์กฐ๋กœ ๋ณ€ํ™”

 

 

SDN controller (network OS)

  1. ๋„คํŠธ์›Œํฌ ์ƒํƒœ ์ •๋ณด ์œ ์ง€
    • ์–ด๋–ค ์žฅ์น˜์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€ ๋“ฑ์˜ ์ •๋ณด(network state information)๋ฅผ ํ…Œ์ด๋ธ”๋กœ ๊ด€๋ฆฌ
  2. Northbound API (์ปจํŠธ๋กค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ƒํ˜ธ์ž‘์šฉ)
    • ์ƒ์œ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์—ฐ๊ฒฐํ•˜์—ฌ ์ •์ฑ… ๋ฐ ์ œ์–ด ๊ธฐ๋Šฅ ์ œ๊ณต
  3. Southbound API (๋„คํŠธ์›Œํฌ ์Šค์œ„์น˜์™€ ์ƒํ˜ธ์ž‘์šฉ)
    • ํ•˜์œ„ ์Šค์œ„์น˜์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ๋ฐ์ดํ„ฐ ํ”Œ๋ ˆ์ธ ์ œ์–ด
  4. ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์œผ๋กœ ๊ตฌํ˜„
    • ์„ฑ๋Šฅ, ํ™•์žฅ์„ฑ, ์žฅ์•  ๋‚ด์„ฑ, ๊ฒฌ๊ณ ์„ฑ ํ™•๋ณด
  5. ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ค‘์•™ ์ง‘์ค‘์‹ ๊ตฌ์กฐ
    • ๋„คํŠธ์›Œํฌ ์ „๋ฐ˜์„ ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์ฒ˜๋Ÿผ ๊ด€๋ฆฌ

 

 

 

network-control apps

  1. ์ œ์–ด ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • SDN ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” API์™€ ์„œ๋น„์Šค ํ™œ์šฉ
  2. ์œ ์—ฐํ•œ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋งž์ถคํ˜• ๋„คํŠธ์›Œํฌ ์ œ์–ด ๊ธฐ๋Šฅ ๊ตฌํ˜„
  3. Unbundled(๋น„๋ฒˆ๋“ค๋ง) ๊ฐœ๋…
    • ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ถ”๊ฐ€ํ•˜์—ฌ ํ™•์žฅ ๊ฐ€๋Šฅ
    • ๋ผ์šฐํŒ… ๋ฒค๋”๋‚˜ SDN ์ปจํŠธ๋กค๋Ÿฌ์™€ ๋ถ„๋ฆฌ๋˜์–ด ์ œ3์ž๊ฐ€ ์ œ๊ณต ๊ฐ€๋Šฅ
    • ์ปจํŠธ๋กค ํ”„๋กœํ† ์ฝœ ํ™œ์šฉ: OpenFlow ์™ธ์—๋„ ์—ฌ๋Ÿฌ ํ”„๋กœํ† ์ฝœ์„ ํ™œ์šฉ ๊ฐ€๋Šฅ

 

 

 

 


 

SDN Controller ๊ตฌ์„ฑ์š”์†Œ

 

 

 

1. ์ถ”์ƒํ™” API

2. network-wide state management : ์ƒํƒœ๊ด€๋ฆฌ, ๋ˆ„๊ฐ€ ์—ฐ๊ฒฐ ๋˜์–ด์žˆ๊ณ  ๋Š์–ด์ ธ์žˆ๋Š”์ง€ ๋“ฑ ์ •๋ณด ๋ฐ›์•„์„œ forwarding table = flow table ์— ์ €์žฅ : ๋ถ„์‚ฐ๋œ DB -> ์„œ๋ฒ„๋ฅผ ๋ถ„์‚ฐ, single point of failure problem์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค

3. communication : simple network management protocol ์‚ฌ์šฉํ•ด์„œ SDN์ปจํŠธ๋กค๋Ÿฌ์™€ ์ปจํŠธ๋กค๋œ ์Šค์œ„์น˜๋“ค(๋ผ์šฐํ„ฐ)๋ฅผ ํ†ต์‹ 

 

 

 

Distributed database๊ฐ€ SPOF ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ?

๋”๋ณด๊ธฐ

Single Point of Failure (๋‹จ์ผ ์žฅ์• ์ , SPOF) ๋ฌธ์ œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(DB)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ :

  1. ์ด์ค‘ํ™” ๋ฐ ๋ณต๊ตฌ ๊ฐ€๋Šฅ
    • ํ•œ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋˜๋”๋ผ๋„ ๋‹ค๋ฅธ ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์œ ํ•˜๊ณ  ์žˆ์–ด ๋„คํŠธ์›Œํฌ ์šด์˜์ด ์ค‘๋‹จ๋˜์ง€ ์•Š์Œ
  2. ๋ถ€ํ•˜ ๋ถ„์‚ฐ (Load Balancing)
    • ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ  ์ €์žฅํ•˜์—ฌ ํŠน์ • ์„œ๋ฒ„์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€
  3. ๊ณ ๊ฐ€์šฉ์„ฑ (High Availability)
    • ์—ฌ๋Ÿฌ ๋…ธ๋“œ์—์„œ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜์—ฌ ์žฅ์•  ๋ฐœ์ƒ ์‹œ ๋‹ค๋ฅธ ๋…ธ๋“œ๊ฐ€ ์ฆ‰์‹œ ๋Œ€์‘ ๊ฐ€๋Šฅ
  4. ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ์œ ์ง€
    • ๋„คํŠธ์›Œํฌ ์ „์ฒด ์ƒํƒœ๋ฅผ ์ง€์†์ ์œผ๋กœ ๋™๊ธฐํ™”ํ•˜์—ฌ ์ตœ์‹  ์ •๋ณด๋ฅผ ์œ ์ง€
  5. ์ง€๋ฆฌ์  ์ด์ค‘ํ™” ๊ฐ€๋Šฅ
    • ์—ฌ๋Ÿฌ ์ง€์—ญ์— ์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ•˜๋ฉด ํŠน์ • ์ง€์—ญ ์žฅ์• ์—๋„ ๋„คํŠธ์›Œํฌ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์šด์˜๋จ

์ฆ‰, ๋‹จ์ผ ์„œ๋ฒ„๊ฐ€ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉด ํ•ด๋‹น ์„œ๋ฒ„๊ฐ€ ๊ณ ์žฅ ๋‚  ๊ฒฝ์šฐ ์ „์ฒด ๋„คํŠธ์›Œํฌ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ, ๋ถ„์‚ฐ๋œ DB๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ๋‹ค๋ฅธ ์„œ๋ฒ„๊ฐ€ ์ด๋ฅผ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ์–ด SPOF ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Œ.

 

OpenFlow protocol

 

  1. ๊ธฐ๋ณธ ๊ฐœ๋…
    • ์ปจํŠธ๋กค๋Ÿฌ์™€ ์Šค์œ„์น˜ ๊ฐ„ ํ†ต์‹ ์„ ๋‹ด๋‹น
    • ๋ฉ”์‹œ์ง€ ๊ตํ™˜์— TCP ์‚ฌ์šฉ
    • ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋ ค๋ฉด ์•”ํ˜ธํ™”(Optional) ๊ฐ€๋Šฅ
    • OpenFlow ๋ฉ”์‹œ์ง€๋Š” ์„ธ ๊ฐ€์ง€ ์œ ํ˜•
      1. Controller-to-Switch (์ปจํŠธ๋กค๋Ÿฌ → ์Šค์œ„์น˜)
      2. Asynchronous (์Šค์œ„์น˜ → ์ปจํŠธ๋กค๋Ÿฌ)
      3. Symmetric (์–‘๋ฐฉํ–ฅ, ๊ธฐํƒ€ ๋ฉ”์‹œ์ง€)
    • OpenFlow API์™€ ๊ตฌ๋ณ„๋จ (API๋Š” ์ผ๋ฐ˜ํ™”๋œ ํฌ์›Œ๋”ฉ ๋™์ž‘์„ ์ง€์ •ํ•˜๋Š” ์šฉ๋„)
  2. Controller-to-Switch Messages
    • features: ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์Šค์œ„์น˜์˜ ๊ธฐ๋Šฅ ์กฐํšŒ(queries), ์Šค์œ„์น˜๊ฐ€ ์‘๋‹ต
    • configure: ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์Šค์œ„์น˜ ์„ค์ •(configuration parameters) ์กฐํšŒ(queries)/๋ณ€๊ฒฝ(sets)
    • modify-state: OpenFlow ํ…Œ์ด๋ธ”์˜ ํ”Œ๋กœ์šฐ ์—”ํŠธ๋ฆฌ ์ถ”๊ฐ€, ์‚ญ์ œ, ์ˆ˜์ •(add, delete, modify)
    • packet-out: ํŠน์ • ์Šค์œ„์น˜ ํฌํŠธ๋กœ ํŒจํ‚ท ์ „์†ก
  3. Switch-to-Controller Messages
    • packet-in: ํŒจํ‚ท(and its control)์„ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ „๋‹ฌ, ์ปจํŠธ๋กค๋Ÿฌ๋ถ€ํ„ฐ์˜ packet-out ๋ฉ”์‹œ์ง€๋ฅผ ๋ด„.
    • flow-removed: ํ”Œ๋กœ์šฐ ํ…Œ์ด๋ธ”์—์„œ ์‚ญ์ œ๋œ ์—”ํŠธ๋ฆฌ๋ฅผ ์ปจํŠธ๋กค๋Ÿฌ์— ์•Œ๋ฆผ
    • port status: ํฌํŠธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ปจํŠธ๋กค๋Ÿฌ์— ๋ณด๊ณ 
  4. ์ถ”๊ฐ€ ๊ฐœ๋…
    • ๋„คํŠธ์›Œํฌ ์šด์˜์ž๋Š” OpenFlow ๋ฉ”์‹œ์ง€๋ฅผ ์ง์ ‘ ์ž‘์„ฑํ•  ํ•„์š” ์—†์Œ
    • ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๊ณ ์ˆ˜์ค€ ์ถ”์ƒํ™”๋œ ๋ฐฉ์‹์œผ๋กœ ์Šค์œ„์น˜๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›

 

SDN: ์ฃผ์š” ๊ณผ์ œ ๋ฐ ๋ฏธ๋ž˜ ์ „๋ง

  1. SDN์˜ ์•ž์œผ๋กœ์˜ ๊ณผ์ œ๋“ค
    • ์ œ์–ด ํ‰๋ฉด ๊ฐ•ํ™”: ์‹ ๋ขฐ์„ฑ, ํ™•์žฅ์„ฑ, ๋ณด์•ˆ์ด ๋›ฐ์–ด๋‚œ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ๊ตฌ์ถ•
    • ์žฅ์•  ๋ณต์›๋ ฅ: ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์ด๋ก  ์ ์šฉ
    • ์˜์กด์„ฑ ๋ฐ ๋ณด์•ˆ: ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ณด์•ˆ์„ ๊ณ ๋ คํ•œ ์„ค๊ณ„
    • ํŠน์ • ์š”๊ตฌ์‚ฌํ•ญ ์ถฉ์กฑ: ์‹ค์‹œ๊ฐ„, ์ดˆ๊ณ ์‹ ๋ขฐ์„ฑ, ์ดˆ๊ณ ๋ณด์•ˆ ๋„คํŠธ์›Œํฌ ๊ตฌํ˜„
    • ์ธํ„ฐ๋„ท ๊ทœ๋ชจ ํ™•์žฅ: ๋‹จ์ผ AS๋ฅผ ๋„˜์–ด์„  ํ™•์žฅ์„ฑ ๊ณ ๋ ค
    • 5G ๋„คํŠธ์›Œํฌ์—์„œ SDN ํ™œ์šฉ์ด critical
  2. SDN๊ณผ ๊ธฐ์กด ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ์˜ ๋ฏธ๋ž˜
    • ๋ผ์šฐํ„ฐ๊ฐ€ ์ง์ ‘ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹ vs. SDN์ด ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹ ๋น„๊ต
    • SDN ๊ธฐ๋ฐ˜ ํ˜ผ์žก ์ œ์–ด ๊ฐ€๋Šฅ:
      • ๋ผ์šฐํ„ฐ๊ฐ€ ์ปจํŠธ๋กค๋Ÿฌ์— ํ˜ผ์žก ์ƒํƒœ๋ฅผ ๋ณด๊ณ  -> ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์†ก์‹  ์†๋„ ์กฐ์ •
    • NAT, ๋ณด์•ˆ, ๋ฐฉํ™”๋ฒฝ, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๊ธฐ๋Šฅ๋„ SDN์— ํฌํ•จ์ด ๋  ์ˆ˜ ์žˆ๋‹ค

p.98~p.102: interaction ์˜ˆ์ œ~ ์ถ”๊ฐ€ ์ปจํŠธ๋กค๋Ÿฌ ์˜ˆ์ œ๋“ค์€ ๋‚˜์ค‘์— ํ”ผํ”ผํ‹ฐ๋กœ ๋”ฐ๋กœ ๊ฐ€๋ณ๊ฒŒ ๋ณด๊ธฐ