๐บ๏ธ ๋ผ์ฐํ : ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ฐพ์์
๋คํธ์ํฌ์ ํต์ฌ์ ๋ฐ๋ก ๋ผ์ฐํ (Routing) ์ด๋ค. ์ถ๋ฐ์ง์์ ๋ชฉ์ ์ง๊น์ง ๋ฐ์ดํฐ๋ฅผ ์ด๋ค ๊ฒฝ๋ก๋ก ๋ณด๋ผ์ง ๊ฒฐ์ ํ๋ ๊ณผ์ ์ผ๋ก, ์ปจํธ๋กค ํ๋ ์ธ(Control Plane)์์ ์ผ์ด๋๋ค. ๋ผ์ฐํ ์๊ณ ๋ฆฌ์ฆ์ โ์ข์โ ๊ฒฝ๋ก, ์ฆ ๋น์ฉ์ด ์ ๊ฑฐ๋, ๊ฐ์ฅ ๋น ๋ฅด๊ฑฐ๋, ๋ ํผ์กํ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค.
๋ผ์ฐํ ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํ๋ ์ปจํธ๋กค ํ๋ ์ธ์ ๊ตฌ์ฑํ๋ ๋ฐฉ์์ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋๋ค.
- ๋ผ์ฐํฐ๋ณ ์ปจํธ๋กค (Per-router control): ๊ฐ ๋ผ์ฐํฐ๊ฐ ์๋ก ์ ๋ณด๋ฅผ ๊ตํํ๋ฉฐ ๋ ์์ ์ผ๋ก ๋ผ์ฐํ ํ ์ด๋ธ์ ๊ณ์ฐํ๋ค. ๋ถ์ฐ ๋ฐฉ์์ด๋ผ ์ ์ฐํ์ง๋ง, ๋ผ์ฐํฐ ๊ฐ ์ ๋ณด ๋๊ธฐํ๊ฐ ์๋ฒฝํ์ง ์์ ์ ์๋ค. ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ๋ฐฉ์!
- ์ค์ ์ง์คํ ์ปจํธ๋กค (Logically centralized control): SDN(Software-Defined Networking) ์ปจํธ๋กค๋ฌ๋ผ๋ ์ค์ ์งํ์์์ ๋ชจ๋ ๋ผ์ฐํฐ์ ํ ์ด๋ธ์ ๊ณ์ฐํ๊ณ ๋ฐฐํฌํ๋ค. ์ผ๊ด์ฑ์ด ๋ณด์ฅ๋๋ค๋ ํฐ ์ฅ์ ์ด ์๋ค.

1. ๋ผ์ฐํ ์๊ณ ๋ฆฌ์ฆ์ ์๋ ์ฐ๋งฅ: LS vs DV
๋ผ์ฐํ ์๊ณ ๋ฆฌ์ฆ์ ํฌ๊ฒ ๋งํฌ ์ํ(Link State, LS) ์ ๊ฑฐ๋ฆฌ ๋ฒกํฐ(Distance Vector, DV) ๋ฐฉ์์ผ๋ก ๋๋๋ค.
Link-State (LS) ์๊ณ ๋ฆฌ์ฆ
- ๊ธ๋ก๋ฒ ์ ๋ณด: ๋ชจ๋ ๋ผ์ฐํฐ๊ฐ ์ ์ฒด ๋คํธ์ํฌ์ ํ ํด๋ก์ง(์ง๋)๋ฅผ ๋ค ์๊ณ ์๋ค.
- ์๊ณ ๋ฆฌ์ฆ: ๊ฐ ๋ผ์ฐํฐ๋ ์ด ์ ์ฒด ์ง๋๋ฅผ ๋ฐํ์ผ๋ก ๋ค์ต์คํธ๋ผ(Dijkstra) ์๊ณ ๋ฆฌ์ฆ์ ์คํํด ์๊ธฐ ์์ ์ผ๋ก๋ถํฐ ๋ค๋ฅธ ๋ชจ๋ ๋ ธ๋๊น์ง์ ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ณ์ฐํ๋ค.
- ๋ํ ์ฃผ์: OSPF
LS ๋ฐฉ์์ ๋ชจ๋ ๋ผ์ฐํฐ๊ฐ ์์ ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ๊ณ์ฐํ๋ฏ๋ก ๋น๊ต์ ์์ ์ ์ด์ง๋ง, ๋งํฌ ๋น์ฉ์ด ํธ๋ํฝ ์์ ๋ฐ๋ผ ๊ณ์ ๋ณํ๋ฉด ๊ฒฝ๋ก๊ฐ ๊ณ์ ๋ฐ๋๋ ์ง๋(oscillation) ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค.

Distance-Vector (DV) ์๊ณ ๋ฆฌ์ฆ
- ํ์ค์ํ ์ ๋ณด: ๊ฐ ๋ผ์ฐํฐ๋ ์์ ๊ณผ ์ง์ ์ฐ๊ฒฐ๋ ์ด์ ๋ผ์ฐํฐํ๊ณ ๋ง ์ ๋ณด๋ฅผ ๊ตํํ๋ค.
- โ์ด์ ๋ง๋ง ๋ฏฟ๊ธฐโ: ๋ผ์ฐํฐ๋ ์ด์์ด ์๋ ค์ฃผ๋ โ๋ชฉ์ ์ง๊น์ง ์ด๋งํผ ๊ฑธ๋ คโ๋ผ๋ ๊ฑฐ๋ฆฌ ๋ฒกํฐ(distance vector) ์ ๋ณด๋ฅผ ์ ์ ์ผ๋ก ์ ๋ขฐํ๊ณ , ์ด๋ฅผ ๋ฐํ์ผ๋ก ์์ ์ ๋ผ์ฐํ ํ ์ด๋ธ์ ๊ฐฑ์ ํ๋ค.
- ์๊ณ ๋ฆฌ์ฆ: ๋ฒจ๋ง-ํฌ๋(Bellman-Ford) ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐํ๋ค.
- ๋ํ ์ฃผ์: RIP, EIGRP
DV ๋ฐฉ์์ ๊ตฌ์กฐ๊ฐ ๊ฐ๋จํ๊ณ ๋ถ์ฐ์ ์ด์ง๋ง, โ๋์ ์์โ์ด ๋๋ฆฌ๊ฒ ์ ํ๋๋ Count-to-Infinity ๋ฌธ์ ์ ์ทจ์ฝํ๋ค. ์๋ฅผ ๋ค์ด, ํน์ ๊ฒฝ๋ก์ ๋น์ฉ์ด ๊ธ์ฆํ์ ๋, ๋ผ์ฐํฐ๋ค์ด ์๋ก ์๋ชป๋ ์ ๋ณด๋ฅผ ๊ณ์ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ์ต์ ๊ฒฝ๋ก๋ฅผ ์ฐพ๋ ๋ฐ ์์ฃผ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์๋ค. ๐ญ
2. ์ธํฐ๋ท์ ๋ผ์ฐํ : AS์ ๋ฑ์ฅ
์ค์ ์ธํฐ๋ท์ ์์ญ์ต ๊ฐ์ ์ฅ์น๊ฐ ์ฐ๊ฒฐ๋ ๊ฑฐ๋ํ ๋คํธ์ํฌ๋ผ, ์์์ ์ค๋ช ํ ๋ฐฉ์ ๊ทธ๋๋ก๋ฅผ ์ ์ฉํ๊ธฐ ์ด๋ ต๋ค. ๊ทธ๋์ ์ธํฐ๋ท์ ์์จ ์์คํ (Autonomous System, AS) ์ด๋ผ๋ ๋จ์๋ก ๋ฌถ์ด์ ๊ณ์ธต์ ์ผ๋ก ๊ด๋ฆฌํ๋ค.
- AS (Autonomous System): ํ๋์ ๊ด๋ฆฌ ์ฃผ์ฒด๊ฐ ์ด์ํ๋ ๋ผ์ฐํฐ๋ค์ ์งํฉ. (ํ๋์ โ๋๋ฉ์ธโ์ฒ๋ผ ์๊ฐํ ์ ์๋ค)
- ๋ด๋ถ ๋ผ์ฐํ (Intra-AS Routing): AS ๋ด์์ ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ. (e.g., OSPF, RIP)
- ์ธ๋ถ ๋ผ์ฐํ (Inter-AS Routing): AS ๊ฐ์ ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํ๋ ๊ฒ. (e.g., BGP)

OSPF: ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ๋ด๋ถ ๋ผ์ฐํ ํ๋กํ ์ฝ
OSPF(Open Shortest Path First) ๋ ํ์ฌ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ LS ๊ธฐ๋ฐ์ ๋ด๋ถ ๋ผ์ฐํ ํ๋กํ ์ฝ์ด๋ค.
- Open: ๊ณต๊ณต์ฌ๋ก ๊ฐ๋ฐ๋์ด ๋๊ตฌ๋ ์ฌ์ฉํ ์ ์๋ค.
- ๋์ ๋ฐฉ์: ๊ฐ ๋ผ์ฐํฐ๊ฐ ์์ ์ ๋งํฌ ์ํ(LS) ์ ๋ณด๋ฅผ AS ๋ด ๋ชจ๋ ๋ผ์ฐํฐ์๊ฒ ์๋ฆฌ๊ณ (flooding), ์ ์ฒด ํ ํด๋ก์ง ๋งต์ ๋ง๋ ๋ค ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ต๋จ ๊ฒฝ๋ก๋ฅผ ๊ณ์ฐํ๋ค.
- ๊ณ์ธต ๊ตฌ์กฐ: OSPF๋ AS๋ฅผ ์ฌ๋ฌ area๋ก ๋๋์ด ๊ด๋ฆฌํ๋ค. ์ด๋ฅผ ํตํด LS ์ ๋ณด๊ฐ ๋์ณ๋๋ ๊ฒ์ ๋ง๊ณ (flooding ๋ฒ์๋ฅผ area๋ก ์ ํ), ๋ผ์ฐํ ๊ณ์ฐ์ ๋ถ๋ด์ ์ค์ฌ ์ฑ๋ฅ์ ํฅ์์ํจ๋ค. ๐
BGP: AS๋ค์ ์ฐ๊ฒฐํ๋ ์ธ๋ถ ๋ผ์ฐํ ํ๋กํ ์ฝ
BGP(Border Gateway Protocol) ๋ AS์ AS๋ฅผ ์ฐ๊ฒฐํ๋ ์ธํฐ๋ท์ ์ฌ์ค์ ํ์ค ์ธ๋ถ ๋ผ์ฐํ ํ๋กํ ์ฝ์ด๋ค.
- eBGP & iBGP: ์ด์ AS๋ก๋ถํฐ ๊ฒฝ๋ก ์ ๋ณด๋ฅผ ๋ฐ๋ eBGP์, ๊ทธ ์ ๋ณด๋ฅผ AS ๋ด๋ถ ๋ผ์ฐํฐ๋ค์๊ฒ ์ ํํ๋ iBGP๋ก ๋๋๋ค.
- ๊ฒฝ๋ก ๋ฒกํฐ (Path Vector): BGP๋ ๋จ์ํ ๋น์ฉ๋ง ๋ฐ์ง๋ ๊ฒ ์๋๋ผ, ๋ชฉ์ ์ง๊น์ง ๊ฑฐ์ณ๊ฐ์ผ ํ AS๋ค์ ๋ชฉ๋ก(AS-PATH) ์ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฝ๋ก๋ฅผ ๊ฒฐ์ ํ๋ค.
- ์ ์ฑ ๊ธฐ๋ฐ ๋ผ์ฐํ : BGP์ ๊ฐ์ฅ ํฐ ํน์ง์ ์ ์ฑ (policy) ์ด ์ฑ๋ฅ๋ณด๋ค ์ฐ์ ๋ ์ ์๋ค๋ ์ ์ด๋ค. ์๋ฅผ ๋ค์ด, โA๋ผ๋ ํ์ฌ์ AS๋ ์ ๋ ๊ฑฐ์น์ง ์๊ฒ ๋คโ์ ๊ฐ์ ์ ์ฑ ์ ์ค์ ํ์ฌ ๋ผ์ฐํ ๊ฒฝ๋ก๋ฅผ ์ ์ดํ ์ ์๋ค.

3. SDN: ๋คํธ์ํฌ๋ฅผ ํ๋ก๊ทธ๋๋ฐํ๋ค
SDN(Software-Defined Networking) ์ ๋คํธ์ํฌ ์ ์ด ๋ฐฉ์์ ํ์ ํ๋ ์๋ก์ด ํจ๋ฌ๋ค์์ด๋ค. ๊ธฐ์กด์๋ ๊ฐ ๋ผ์ฐํฐ๊ฐ ์์์ ๊ฒฝ๋ก๋ฅผ ๊ณ์ฐํ์ง๋ง, SDN์์๋ ์ค์ ์ปจํธ๋กค๋ฌ๊ฐ ๋คํธ์ํฌ ์ ์ฒด๋ฅผ ์งํํ๋ค.
- Control/Data Plane ๋ถ๋ฆฌ: ๋ผ์ฐํฐ๋ ๋ฐ์ดํฐ ์ ๋ฌ(Data Plane)๋ง ๋ด๋นํ๋ ๋จ์ํ ์ค์์น๊ฐ ๋๊ณ , ๋ผ์ฐํ ๊ณ์ฐ ๋ฑ ์ง๋ฅ์ ์ธ ์ญํ (Control Plane)์ SDN ์ปจํธ๋กค๋ฌ๊ฐ ๋งก๋๋ค.
- ์ค์ ์ง์ค ์ ์ด: ์ปจํธ๋กค๋ฌ๊ฐ ์ ์ฒด ๋คํธ์ํฌ ์ํฉ์ ๋ณด๊ณ ๊ฐ ์ค์์น์ ๋์ ๊ท์น(flow table)์ ํ ๋ฒ์ ๊ฒฐ์ ํ๊ณ ๋ด๋ ค๋ณด๋ธ๋ค.
- ํ๋ก๊ทธ๋๋จธ๋ธ: ๊ฐ๋ฐ์๋ ์ปจํธ๋กค๋ฌ์ API๋ฅผ ํตํด ๋ผ์ฐํ , ๋ถํ ๋ถ์ฐ, ์ ๊ทผ ์ ์ด ๋ฑ ๋คํธ์ํฌ ๋์์ ๋ง์๋๋ก ํ๋ก๊ทธ๋๋ฐํ ์ ์๊ฒ ๋๋ค! ๐ป

OpenFlow: SDN์ ํต์ฌ ํ๋กํ ์ฝ
OpenFlow๋ SDN ์ปจํธ๋กค๋ฌ์ ์ค์์น(๋ผ์ฐํฐ)๊ฐ ์๋ก ํต์ ํ๋ ํ์ค ๋ฐฉ๋ฒ์ ์ ์ํ ํ๋กํ ์ฝ์ด๋ค. ์ปจํธ๋กค๋ฌ๋ OpenFlow๋ฅผ ํตํด ์ค์์น์ Flow Table์ ์์ ํ์ฌ ํจํท์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง(์ ๋ฌ, ํ๊ธฐ, ์์ ๋ฑ) ์ง์ํ๋ค.
4. ICMP: ๋คํธ์ํฌ์ ์กฐ์ฉํ ์กฐ๋ ฅ์
ICMP(Internet Control Message Protocol) ๋ ๋คํธ์ํฌ ์ฅ์น๋ค์ด ์๋ก ์ค๋ฅ ๋ฉ์์ง๋ ์ ์ด ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ์ด๋ค. IP ๊ณ์ธต ๋ฐ๋ก ์์์ ๋์ํ๋ฉฐ, IP ๋ฐ์ดํฐ๊ทธ๋จ์ ๋ด๊ฒจ ์ ๋ฌ๋๋ค.
- ์ค๋ฅ ๋ณด๊ณ : โ๋ชฉ์ ์ง์ ๋๋ฌํ ์ ์์โ, โTTL ๋ง๋ฃโ ๋ฑ ๋ผ์ฐํ ๊ณผ์ ์์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ์๋ ค์ค๋ค.
- ๋คํธ์ํฌ ์ง๋จ:
ping๋ช ๋ น์ด๊ฐ ICMP๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ํธ์คํธ๊ฐ ์ด์์๋์ง ํ์ธํ๊ณ ,Traceroute๋ ICMP์ TTL ๋ง๋ฃ ๋ฉ์์ง๋ฅผ ์ด์ฉํด ๋ชฉ์ ์ง๊น์ง์ ๊ฒฝ๋ก๋ฅผ ์ถ์ ํ๋ค.
๋ผ์ฐํ ์ ์ธ๊ณ๋ ์ ๋ง ๋ณต์กํ์ง๋ง, ๋๋ถ์ ์ฐ๋ฆฌ๊ฐ ๋งค์ผ๊ฐ์ด ์ธํฐ๋ท์ ์์ ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค๋ ์ฌ์ค์ด ์์ผ ๋๋๋ค.