๐Ÿคฏ ๋„คํŠธ์›Œํฌ์˜ ํ•œ๊ณ„๋ฅผ ๋„˜์–ด์„œ

์ง€๋‚œ ์‹œ๊ฐ„์—๋Š” ์ „์†ก ๊ณ„์ธต์—์„œ ์–ด๋–ป๊ฒŒ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋Š”์ง€ ์•Œ์•„๋ดค๋‹ค. ์˜ค๋Š˜์€ ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์˜ ์ฃผ์†Œ ๋ถ€์กฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๊ธฐ๋ฐœํ•œ ๋ฐฉ๋ฒ•๋“ค๊ณผ, ๋„คํŠธ์›Œํฌ๊ฐ€ ์ ์  ๋” ๋˜‘๋˜‘ํ•ด์ง€๋Š” ๋ฏธ๋ž˜์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ๋ฐ”๋กœ NAT, IPv6, ๊ทธ๋ฆฌ๊ณ  SDN์˜ ์„ธ๊ณ„๋‹ค!

1. NAT: IP ์ฃผ์†Œ๋ฅผ ์•„๊ปด ์“ฐ๋Š” ๋งˆ๋ฒ• ๐ŸŽฉ

NAT(Network Address Translation) ๋Š” ๋กœ์ปฌ(์‚ฌ์„ค) ๋„คํŠธ์›Œํฌ์˜ ์—ฌ๋Ÿฌ ๊ธฐ๊ธฐ๊ฐ€ ๋‹จ ํ•˜๋‚˜์˜ ๊ณต์ธ(Public) IPv4 ์ฃผ์†Œ๋ฅผ ๊ณต์œ ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์šฐ๋ฆฌ ์ง‘ ๊ณต์œ ๊ธฐ๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๋‹ค. ์—ฌ๋Ÿฌ ๋Œ€์˜ ์Šค๋งˆํŠธํฐ๊ณผ ๋…ธํŠธ๋ถ์ด ํ•˜๋‚˜์˜ ์ธํ„ฐ๋„ท ํšŒ์„ ์„ ํ†ตํ•ด ์™ธ๋ถ€ ์„ธ์ƒ๊ณผ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด ๋ฐ”๋กœ NAT ๋•๋ถ„์ด๋‹ค.

  • ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ• ๊นŒ?
    • NAT ์žฅ์น˜(์ฃผ๋กœ ๋ผ์šฐํ„ฐ)๋Š” ๋‚ด๋ถ€์—์„œ ์™ธ๋ถ€๋กœ ๋‚˜๊ฐ€๋Š” ๋ฐ์ดํ„ฐ๊ทธ๋žจ์˜ ์ถœ๋ฐœ์ง€ ์‚ฌ์„ค IP ์ฃผ์†Œ์™€ ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์ž์‹ ์˜ ๊ณต์ธ IP ์ฃผ์†Œ์™€ ์ƒˆ๋กœ์šด ํฌํŠธ ๋ฒˆํ˜ธ๋กœ ๋ฐ”๊ฟ”์น˜๊ธฐํ•œ๋‹ค.
    • ์ด ๋ณ€ํ™˜ ์ •๋ณด๋Š” NAT translation table์— ๊ธฐ๋ก๋œ๋‹ค.
    • ์™ธ๋ถ€์—์„œ ์‘๋‹ต์ด ์˜ค๋ฉด, ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•ด์„œ ์›๋ž˜์˜ ์‚ฌ์„ค IP์™€ ํฌํŠธ ๋ฒˆํ˜ธ๋กœ ๋˜๋Œ๋ ค ์ •ํ™•ํ•œ ๊ธฐ๊ธฐ์—๊ฒŒ ์ „๋‹ฌํ•ด์ค€๋‹ค.
  • ์žฅ์ 
    • ISP๋กœ๋ถ€ํ„ฐ ๋ฐ›์€ IP ์ฃผ์†Œ ํ•˜๋‚˜๋กœ ์—ฌ๋Ÿฌ ๊ธฐ๊ธฐ๋ฅผ ์“ธ ์ˆ˜ ์žˆ๋‹ค. (๋น„์šฉ ์ ˆ๊ฐ! ๐Ÿ’ฐ)
    • ์™ธ๋ถ€์—์„œ ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ์•Œ ์ˆ˜ ์—†์–ด ๋ณด์•ˆ์— ๋„์›€์ด ๋œ๋‹ค.
    • ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์˜ ๊ธฐ๊ธฐ ์ฃผ์†Œ๋ฅผ ๋งˆ์Œ๋Œ€๋กœ ๋ณ€๊ฒฝํ•ด๋„ ์™ธ๋ถ€์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

ํ•˜์ง€๋งŒ NAT๋Š” โ€œ๊ผผ์ˆ˜โ€๋ผ๋Š” ๋น„ํŒ๋„ ๋ฐ›๋Š”๋‹ค. ๋ผ์šฐํ„ฐ๋Š” 3๊ณ„์ธต ์žฅ๋น„์ธ๋ฐ ํฌํŠธ ๋ฒˆํ˜ธ(4๊ณ„์ธต ์ •๋ณด)๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์€ ์›์น™์— ์–ด๊ธ‹๋‚˜๊ณ , end-to-end ์›์น™์„ ๊นจ๋œจ๋ฆฐ๋‹ค๋Š” ์ด์œ ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  NAT๋Š” ์ฃผ์†Œ ๊ณ ๊ฐˆ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ํ˜„์‹ค์ ์ธ ๋Œ€์•ˆ์œผ๋กœ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

2. IPv6: ๊ณ ๊ฐˆ๋˜์ง€ ์•Š๋Š” ์ฃผ์†Œ์˜ ์‹œ๋Œ€ ๐Ÿš€

IPv4์˜ 32๋น„ํŠธ ์ฃผ์†Œ ๊ณต๊ฐ„(์•ฝ 43์–ต ๊ฐœ)์€ ์ด๋ฏธ ์˜ค๋ž˜์ „์— ๊ณ ๊ฐˆ๋˜์—ˆ๋‹ค. ์ด๋ฅผ ๊ทผ๋ณธ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋“ฑ์žฅํ•œ ๊ฒƒ์ด ๋ฐ”๋กœ IPv6๋‹ค.

  • ์ฃผ์š” ํŠน์ง•
    • ๊ฑฐ๋Œ€ํ•œ ์ฃผ์†Œ ๊ณต๊ฐ„: 128๋น„ํŠธ ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ์‚ฌ์‹ค์ƒ ๋ฌดํ•œ๋Œ€์— ๊ฐ€๊นŒ์šด ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ํ—ค๋” ๋‹จ์ˆœํ™”: ํ—ค๋” ๊ธธ์ด๋ฅผ 40๋ฐ”์ดํŠธ๋กœ ๊ณ ์ •ํ•˜๊ณ , ์ฒดํฌ์„ฌ, ๋‹จํŽธํ™”/์žฌ์กฐ๋ฆฝ ๊ฐ™์€ ๋ถˆํ•„์š”ํ•œ ํ•„๋“œ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋ผ์šฐํ„ฐ์˜ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋†’์˜€๋‹ค.
    • QoS ์ง€์›: priority ํ•„๋“œ๋ฅผ ์ด์šฉํ•ด ํŠน์ • ํŠธ๋ž˜ํ”ฝ(e.g., ์‹ค์‹œ๊ฐ„ ์˜์ƒ)์„ ์šฐ์„  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„๋˜์—ˆ๋‹ค.

Untitled

  • IPv4์™€์˜ ์ „ํ™˜: ํ„ฐ๋„๋ง(Tunneling)
    • IPv4์™€ IPv6๋Š” ์„œ๋กœ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ž˜์„œ ๋ชจ๋“  ๋„คํŠธ์›Œํฌ๊ฐ€ ํ•œ ๋ฒˆ์— IPv6๋กœ ๋ฐ”๋€” ์ˆ˜๋Š” ์—†๋‹ค.
    • ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ„ฐ๋„๋ง์ด๋ผ๋Š” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. IPv6 ํŒจํ‚ท์„ IPv4 ํŒจํ‚ท์˜ ๋ฐ์ดํ„ฐ(payload) ๋ถ€๋ถ„์— ํ†ต์งธ๋กœ ๋„ฃ์–ด์„œ IPv4 ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
    • ๋งˆ์น˜ IPv6๋ผ๋Š” ์Šน๊ฐ์„ ํƒœ์šด ์ž๋™์ฐจ(IPv4 ํŒจํ‚ท)๊ฐ€ IPv4 ์ „์šฉ ๋„๋กœ๋ฅผ ๋‹ฌ๋ฆฌ๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

Untitled

Untitled

์•„์ง ๋งŽ์€ ๊ณณ์—์„œ NAT์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ IPv4๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์ ์ฐจ IPv6๋กœ์˜ ์ „ํ™˜์ด ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ๋‹ค.

3. Generalized Forwarding & SDN: ๋˜‘๋˜‘ํ•ด์ง€๋Š” ๋„คํŠธ์›Œํฌ ๐Ÿง 

๊ธฐ์กด์˜ ๋ผ์šฐํ„ฐ๋Š” ์˜ค์ง ๋ชฉ์ ์ง€ IP ์ฃผ์†Œ๋งŒ ๋ณด๊ณ  ํŒจํ‚ท์„ ์–ด๋””๋กœ ๋ณด๋‚ผ์ง€ ๊ฒฐ์ •ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋ณต์žกํ•ด์ง€๋ฉด์„œ ๋” ์œ ์—ฐํ•˜๊ณ  ์ง€๋Šฅ์ ์ธ ์ œ์–ด๊ฐ€ ํ•„์š”ํ•ด์กŒ๋‹ค.

  • Match plus Action:
    • โ€œ๋ชฉ์ ์ง€ IP ์ฃผ์†Œ๋งŒ ๋ณธ๋‹คโ€๋Š” ๊ทœ์น™์—์„œ ๋ฒ—์–ด๋‚˜, ๋‹ค์–‘ํ•œ ํ—ค๋” ํ•„๋“œ(MAC ์ฃผ์†Œ, ํฌํŠธ ๋ฒˆํ˜ธ ๋“ฑ)๋ฅผ ์กฐํ•ฉ(Match) ํ•˜์—ฌ, ๋ฏธ๋ฆฌ ์ •์˜๋œ ๋‹ค์–‘ํ•œ ๋™์ž‘(Action)(e.g., ์ „๋‹ฌ, ํ๊ธฐ, ์ˆ˜์ •, ๋ณต์‚ฌ)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํŒจ๋Ÿฌ๋‹ค์ž„์ด๋‹ค.
    • ์ด ๊ทœ์น™๋“ค์˜ ์ง‘ํ•ฉ์„ Flow Table์ด๋ผ๊ณ  ํ•œ๋‹ค.

Untitled

์ด๋Ÿฌํ•œ ์•„์ด๋””์–ด๋ฅผ ํ‘œ์ค€ํ™”ํ•œ ๊ฒƒ์ด OpenFlow ํ”„๋กœํ† ์ฝœ์ด๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ์ „์ฒด๋ฅผ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ค‘์•™์—์„œ ์ œ์–ดํ•˜๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๊ธฐ์ˆ ์„ SDN(Software-Defined Networking) ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

SDN์„ ์ด์šฉํ•˜๋ฉด ๋ฐฉํ™”๋ฒฝ, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ, NAT ๊ฐ™์€ ๊ธฐ๋Šฅ๋“ค์„ ๋” ์ด์ƒ ๋น„์‹ผ ์ „์šฉ ์žฅ๋น„๊ฐ€ ์•„๋‹ˆ๋ผ, ์ผ๋ฐ˜์ ์ธ ํ•˜๋“œ์›จ์–ด ์œ„์—์„œ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ์ค‘์•™์—์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. (์ด๋ฅผ NFV, ๋„คํŠธ์›Œํฌ ๊ธฐ๋Šฅ ๊ฐ€์ƒํ™”๋ผ๊ณ  ํ•œ๋‹ค.)

4. Middleboxes์™€ End-to-End ์›์น™์˜ ๋ณ€ํ™”

  • ๋ฏธ๋“ค๋ฐ•์Šค(Middleboxes): ๋„คํŠธ์›Œํฌ ๊ฒฝ๋กœ ์ค‘๊ฐ„์—์„œ ๋‹จ์ˆœํ•œ ํŒจํ‚ท ํฌ์›Œ๋”ฉ ์ด์ƒ์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์žฅ์น˜๋“ค์„ ๋งํ•œ๋‹ค. (e.g., NAT, ๋ฐฉํ™”๋ฒฝ, ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ)
  • End-to-End Argument: โ€œ์ง€๋Šฅ์ ์ธ ๊ธฐ๋Šฅ์€ ๋„คํŠธ์›Œํฌ์˜ ์–‘ ๋๋‹จ(end system)์— ์œ„์น˜ํ•ด์•ผ ํ•˜๊ณ , ๋„คํŠธ์›Œํฌ ๋‚ด๋ถ€๋Š” ๋‹จ์ˆœํ•œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์—๋งŒ ์ง‘์ค‘ํ•ด์•ผ ํ•œ๋‹คโ€๋Š” ์ธํ„ฐ๋„ท์˜ ์ดˆ๊ธฐ ์„ค๊ณ„ ์›์น™์ด๋‹ค.

๊ณผ๊ฑฐ์—๋Š” ์ด ์›์น™์ด ์ค‘์š”ํ•˜๊ฒŒ ์—ฌ๊ฒจ์กŒ์ง€๋งŒ, ๋ณด์•ˆ๊ณผ ์„ฑ๋Šฅ ํ–ฅ์ƒ ๋“ฑ์˜ ํ˜„์‹ค์ ์ธ ์š”๊ตฌ๋กœ ์ธํ•ด ๋ฐฉํ™”๋ฒฝ, NAT ๊ฐ™์€ ๋ฏธ๋“ค๋ฐ•์Šค๋“ค์ด ๋“ฑ์žฅํ•˜๋ฉด์„œ ๋„คํŠธ์›Œํฌ ์ค‘๊ฐ„(in-network)์—์„œ๋„ ์ ์  ๋” ๋งŽ์€ ์ผ๋“ค์„ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

Untitled
(IP๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ๋ชจ๋ž˜์‹œ๊ณ„ ๋ชจ๋ธ)

Untitled
(๋ฏธ๋“ค๋ฐ•์Šค๋กœ ์ธํ•ด ํ—ˆ๋ฆฌ๊ฐ€ ๋‘๊บผ์›Œ์ง„ ํ˜„๋Œ€์˜ ์ธํ„ฐ๋„ท)

์ด์ฒ˜๋Ÿผ ๋„คํŠธ์›Œํฌ๋Š” ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ํŒŒ์ดํ”„์—์„œ ๋ฒ—์–ด๋‚˜, ์Šค์Šค๋กœ ์ƒํ™ฉ์„ ํŒ๋‹จํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ์„ ์ œ์–ดํ•˜๋Š” ์ง€๋Šฅ์ ์ธ ํ”Œ๋žซํผ์œผ๋กœ ์ง„ํ™”ํ•˜๊ณ  ์žˆ๋‹ค.