Linux ์ปค๋์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ ์ค์์น, ๋ผ์ฐํฐ ๋ฐ ํน์ ๋คํธ์ํฌ ์ฅ๋น๋ฅผ ์ฅ์ฐฉํ๊ธฐ ์ํ DentOS 2.0 ๋คํธ์ํฌ ์ด์ ์ฒด์ ๊ฐ ์ถ์๋์์ต๋๋ค. ๊ฐ๋ฐ์ Amazon, Delta Electronics, Marvell, NVIDIA, Edgecore Networks ๋ฐ Wistron NeWeb(WNC)์ ์ฐธ์ฌ๋ก ์งํ๋ฉ๋๋ค. ์ด ํ๋ก์ ํธ๋ ์๋ Amazon์ด ์ธํ๋ผ์ ๋คํธ์ํฌ ์ฅ๋น๋ฅผ ์ฅ์ฐฉํ๊ธฐ ์ํด ์ค๋ฆฝํ์ต๋๋ค. DentOS ์ฝ๋๋ C๋ก ์์ฑ๋์์ผ๋ฉฐ ๋ฌด๋ฃ Eclipse Public License์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค.
ํจํท ์ ํ์ ๊ด๋ฆฌํ๊ธฐ ์ํด DentOS๋ Linux SwitchDev ์ปค๋ ํ์ ์์คํ ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ๋ ์ ์ ๋ฌ ๋ฐ ๋คํธ์ํฌ ํจํท ์ฒ๋ฆฌ๋ฅผ ํน์ ํ๋์จ์ด ์นฉ์ ์์ํ ์ ์๋ ์ด๋๋ท ์ค์์น์ฉ ๋๋ผ์ด๋ฒ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ์ํํธ์จ์ด๋ ํ์ค Linux ๋คํธ์ํฌ ์คํ, IPRoute2, tc(Traffic Control), brctl(Bridge Control) ๋ฐ FRRouting๊ณผ ๊ฐ์ NetLink ํ์ ์์คํ ๋ฐ ๋๊ตฌ๋ ๋ฌผ๋ก VRRP(Virtual Router Redundancy Protocol), LLDP(Link Layer)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. Discovery Protocol) ํ๋กํ ์ฝ๊ณผ MSTP(Multiple Spanning Tree Protocol)๊ฐ ์์ต๋๋ค.
์์คํ ํ๊ฒฝ์ ONL(Open Network Linux) ๋ฐฐํฌํ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฉฐ Debian GNU/Linux ํจํค์ง ๊ธฐ๋ฐ์ ์ฌ์ฉํ๊ณ ์ค์์น์์ ์คํํ๊ธฐ ์ํ ์ค์น ํ๋ก๊ทธ๋จ, ์ค์ ๋ฐ ๋๋ผ์ด๋ฒ๋ฅผ ์ ๊ณตํฉ๋๋ค. ONL์ Open Compute ํ๋ก์ ํธ์ ์ํด ๊ฐ๋ฐ๋์์ผ๋ฉฐ 2๊ฐ ์ด์์ ๋ค์ํ ์ค์์น ๋ชจ๋ธ์ ๋ํ ์ค์น๋ฅผ ์ง์ํ๋ ํน์ ๋คํธ์ํฌ ์ฅ์น๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ๋ซํผ์ ๋๋ค. ์ด ๊ตฌ์ฑ์๋ ์ค์์น์ ์ฌ์ฉ๋๋ ํ์๊ธฐ, ์จ๋ ์ผ์, ์ฟจ๋ฌ, I2C ๋ฒ์ค, GPIO ๋ฐ SFP ํธ๋์๋ฒ์์ ์ํธ ์์ฉ์ ์ํ ๋๋ผ์ด๋ฒ๊ฐ ํฌํจ๋ฉ๋๋ค. ๊ด๋ฆฌ๋ฅผ ์ํด IpRoute2 ๋ฐ ifupdown6020 ๋๊ตฌ์ gNMI(gRPC ๋คํธ์ํฌ ๊ด๋ฆฌ ์ธํฐํ์ด์ค)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. YANG(Yet Another Next Generation, RFC-XNUMX) ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ตฌ์ฑ์ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ด ์์คํ ์ ์ต๋ 48๊ฐ์ 10๊ธฐ๊ฐ๋นํธ ํฌํธ๋ฅผ ๊ฐ์ถ Marvell ๋ฐ Mellanox ASIC ๊ธฐ๋ฐ ์ค์์น์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ๋์จ์ด ํจํท ์ ๋ฌ ํ ์ด๋ธ ๊ตฌํ์ ํตํด Mellanox Spectrum, Marvell Aldrin 2 ๋ฐ Marvell AC3X ASIC ์นฉ์ ํฌํจํ ๋ค์ํ ASIC ๋ฐ ๋คํธ์ํฌ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์นฉ์ ๋ํ ์์ ์ ์ง์ํฉ๋๋ค. ์ฆ์ ์ค์น ๊ฐ๋ฅํ DentOS ์ด๋ฏธ์ง๋ ARM64(257MB) ๋ฐ AMD64(523MB) ์ํคํ ์ฒ์ฉ์ผ๋ก ์ค๋น๋์ด ์์ต๋๋ค.
์ ๋ฆด๋ฆฌ์ค์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ์ฌํญ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ค์์น์ ์ผ๋ฐ(๊ณ์ธต 44, ๋คํธ์ํฌ ๊ณ์ธต) ๋ฐ VLAN ํฌํธ(๋คํธ์ํฌ ๋ธ๋ฆฌ์ง) ์์ค์์ ๋ด๋ถ ๋ฒ์์์ ๊ณต์ฉ ์ฃผ์๋ก์ ์ฃผ์ ๋ณํ(NAT)์ ์ํด NAT-3 ๋ฐ NA(P)T๋ฅผ ์ง์ํฉ๋๋ค.
- 802.1Q ๋คํธ์ํฌ ์ธํฐํ์ด์ค(VLAN)๋ฅผ ๊ตฌ์ฑํ๊ณ ์ด๋ฅผ ํตํด ํธ๋ํฝ์ ๋ผ์ฐํ ํ๊ธฐ ์ํ ์ต์ ์ ์ ๊ณตํฉ๋๋ค. IpRoute2 ๋ฐ Ifupdown2 ํจํค์ง๊ฐ ๊ตฌ์ฑ์ ์ฌ์ฉ๋ฉ๋๋ค.
- ์ด๋๋ท์ ํตํ ์ ์ ๊ด๋ฆฌ๋ฅผ ์ํด PoE(Power over Ethernet) ์ปจํธ๋กค๋ฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ฐฉํ๋ฒฝ ๊ตฌ์ฑ์ ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ์ ๊ฐ์ ํ๊ธฐ ์ํ ๋ณ๊ฒฝ์ด ์ด๋ฃจ์ด์ก์ต๋๋ค.
- ACL ๊ธฐ๋ฐ ๋ฆฌ์์ค ๊ด๋ฆฌ๊ฐ ํฅ์๋์์ต๋๋ค. ๋ก์ปฌ(์ธํธ๋ผ๋ท) IP ์ฃผ์๋ฅผ ์ธ์ํ๋ ํ๋๊ทธ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์ฌ์ฉ์ ์ง์ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฐ๊ฒฐํ์ฌ ํฌํธ ๊ฒฉ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- ์ ๋ณด ํ๋ ๋ฐ ์ฅ์น ๋งค๊ฐ๋ณ์ ๋ณ๊ฒฝ์ ์ํ API์ธ "devlink"๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ก์ปฌ ํธ๋ฉ ๋ฐ ์ญ์ ๋ ํจํท ์นด์ดํฐ์ ๋ํ ์ง์์ด ๊ตฌํ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru