์๋ ํ์ธ์, ์ ์ด๋ฆ์ Alexander Azimov์ ๋๋ค. Yandex์์๋ ๋ค์ํ ๋ชจ๋ํฐ๋ง ์์คํ ๊ณผ ์ ์ก ๋คํธ์ํฌ ์ํคํ ์ฒ๋ฅผ ๊ฐ๋ฐํฉ๋๋ค. ํ์ง๋ง ์ค๋์ BGP ํ๋กํ ์ฝ์ ๋ํด ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.
์ผ์ฃผ์ผ ์ Yandex๋ ํธ๋ํฝ ๊ตํ ์ง์ ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ํผ์ด๋ง ํํธ๋์์ ์ธํฐํ์ด์ค์์ ROV(๊ฒฝ๋ก ์๋ณธ ์ ํจ์ฑ ๊ฒ์ฌ)๋ฅผ ํ์ฑํํ์ต๋๋ค. ์ด๋ฌํ ์กฐ์น๊ฐ ์ทจํด์ง ์ด์ ์ ํต์ ์ฌ์
์์์ ์ํธ ์์ฉ์ ์ด๋ค ์ํฅ์ ๋ฏธ์น ์ง ์๋์์ ์ฝ์ด๋ณด์ธ์.
BGP์ ๋ฌด์์ด ๋ฌธ์ ์ธ๊ฐ?
BGP๊ฐ ๋๋ฉ์ธ ๊ฐ ๋ผ์ฐํ ํ๋กํ ์ฝ๋ก ์ค๊ณ๋์๋ค๋ ์ฌ์ค์ ์๊ณ ๊ณ์ค ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ ๊ณผ์ ์์ ์ฌ์ฉ ์ฌ๋ก์ ์๊ฐ ์ฆ๊ฐํ์ต๋๋ค. ์ค๋๋ BGP๋ ์๋ง์ ํ์ฅ ๋๋ถ์ ๋ฉ์์ง ๋ฒ์ค๋ก ์ ํ๋์ด ์ด์์ VPN์์ ํ์ฌ ์ ํํ๋ SD-WAN์ ์ด๋ฅด๊ธฐ๊น์ง ์์ ์ ํฌ๊ดํ๊ณ ๋ค์๊ณผ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ฑฐ๋ฆฌ ๋ฒกํฐ BGP๋ฅผ ๋งํฌ ์์ฑ ํ๋กํ ์ฝ๊ณผ ์ ์ฌํ ๊ฒ์ผ๋ก ๋ฐ๊พธ๋ SDN๊ณผ ์ ์ฌํ ์ปจํธ๋กค๋ฌ๋ฅผ ์ํ ์ ์ก์ ๋๋ค.
๊ทธ๋ฆผ. 1. BGP ์ฌํผ
BGP๊ฐ ๊ทธํ ๋ก ๋ง์ ์ฉ๋๋ฅผ ์ป์๊ณ ๊ณ์ํด์ ์ฌ์ฉํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๋ ๊ฐ์ง ์ฃผ์ ์ด์ ๊ฐ ์์ต๋๋ค:
- BGP๋ AS(์์จ ์์คํ ) ๊ฐ์ ์๋ํ๋ ์ ์ผํ ํ๋กํ ์ฝ์ ๋๋ค.
- BGP๋ TLV(์ ํ-๊ธธ์ด-๊ฐ) ํ์์ ์์ฑ์ ์ง์ํฉ๋๋ค. ์, ์ด ํ๋กํ ์ฝ์ ๋จ๋ ์ด ์๋์ง๋ง ํต์ ์ฌ์ ์ ๊ฐ์ ๊ต์ฐจ์ ์์ ์ด๋ฅผ ๋์ฒดํ ๊ฒ์ด ์๊ธฐ ๋๋ฌธ์ ์ถ๊ฐ ๋ผ์ฐํ ํ๋กํ ์ฝ์ ์ง์ํ๋ ๊ฒ๋ณด๋ค ๋ค๋ฅธ ๊ธฐ๋ฅ ์์๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฒ์ด ํญ์ ๋ ์์ต์ฑ์ด ๋์ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
๊ทธ ์ฌ๋์๊ฒ ๋ฌด์จ ๋ฌธ์ ๊ฐ ์์ต๋๊น? ์ฆ, ํ๋กํ ์ฝ์๋ ์์ ๋ ์ ๋ณด์ ์ ํ์ฑ์ ํ์ธํ๋ ๊ธฐ๋ณธ ๋ฉ์ปค๋์ฆ์ด ์์ต๋๋ค. ์ฆ, BGP๋ ์ ํ์ ์ ๋ขฐ ํ๋กํ ์ฝ์ ๋๋ค. ์ด์ Rostelecom, MTS ๋๋ Yandex ๋คํธ์ํฌ๋ฅผ ์์ ํ๊ณ ์์์ ์ธ์์ ์๋ฆฌ๊ณ ์ถ๋ค๋ฉด ์ ๋ฐ!
IRRDB ๊ธฐ๋ฐ ํํฐ - ์ต์ ์ค ์ต๊ณ
์ง๋ฌธ์ด ์๊น๋๋ค. ์ด๋ฌํ ์ํฉ์์๋ ์ธํฐ๋ท์ด ์ฌ์ ํ ์๋ํ๋ ์ด์ ๋ ๋ฌด์์
๋๊น? ์, ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์๋ํ์ง๋ง ๋์์ ์ฃผ๊ธฐ์ ์ผ๋ก ํญ๋ฐํ์ฌ ์ ์ฒด ๊ตญ๊ฐ ์ธ๊ทธ๋จผํธ์ ์ก์ธ์คํ ์ ์๊ฒ ๋ฉ๋๋ค. BGP์ ํด์ปค ํ๋๋ ์ฆ๊ฐํ๊ณ ์์ง๋ง ๋๋ถ๋ถ์ ์ด์ ํ์์ ์ฌ์ ํ โโ๋ฒ๊ทธ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ์ฌํด์ ์ฌ๋ก๋
์. 2. Cloudflare ํธ๋ํฝ ์ฐจ๋จ
๊ทธ๋ฐ๋ฐ ์ ๊ทธ๋ฌํ ์ด์ ํ์์ด ๋งค์ผ์ด ์๋๋ผ 3๊ฐ์์ ํ ๋ฒ์ฉ ๋ฐ์ํ๋ ๊ฑธ๊น์? ํต์ ์ ์ฒด๋ ๋ผ์ฐํ ์ ๋ณด์ ์ธ๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ BGP ์ด์์ผ๋ก๋ถํฐ ์์ ํ๋ ๋ด์ฉ์ ํ์ธํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ง์ด ์์ผ๋ฉฐ ๊ทธ ์ค ์ผ๋ถ๋ ๋ฑ๋ก ๊ธฐ๊ด(RIPE, APNIC, ARIN, AFRINIC)์์ ๊ด๋ฆฌํ๊ณ ์ผ๋ถ๋ ๋ ๋ฆฝ ํ๋ ์ด์ด(๊ฐ์ฅ ์ ๋ช ํ ๊ฒ์ RADB)์ด๋ฉฐ ๋๊ธฐ์ ์ด ์์ ํ ์ ์ฒด ๋ฑ๋ก ๊ธฐ๊ด ์ธํธ๋ ์์ต๋๋ค(๋ ๋ฒจ XNUMX). , NTT ๋ฑ). ๋๋ฉ์ธ ๊ฐ ๋ผ์ฐํ ์ด ์ด์์ ์๋์ ์์ ์ฑ์ ์ ์งํ๋ ๊ฒ์ ์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ถ์ ๋๋ค.
๊ทธ๋ฌ๋ ๋์์ค๊ฐ ์์ต๋๋ค. ROUTE-OBJECTS, AS-SET ๊ฐ์ฒด๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ผ์ฐํ ์ ๋ณด๋ฅผ ํ์ธํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฒซ ๋ฒ์งธ๊ฐ IRRDB์ ์ผ๋ถ์ ๋ํ ์น์ธ์ ์์ํ๋ ๊ฒฝ์ฐ ๋ ๋ฒ์งธ ํด๋์ค์ ๋ํด์๋ ํด๋์ค๋ก์์ ์น์ธ์ด ์์ต๋๋ค. ์ฆ, ๋๊ตฌ๋ ์์ ์ ์ธํธ์ ๋๊ตฌ๋ ์ง ์ถ๊ฐํ ์ ์์ผ๋ฉฐ ์ด๋ฅผ ํตํด ์ ์คํธ๋ฆผ ๊ณต๊ธ์์ ํํฐ๋ฅผ ์ฐํํ ์ ์์ต๋๋ค. ๋์ฑ์ด, ์๋ก ๋ค๋ฅธ IRR ๋ฒ ์ด์ค ์ฌ์ด์ AS-SET ๋ช ๋ช ์ ๊ณ ์ ์ฑ์ ๋ณด์ฅ๋์ง ์์ผ๋ฉฐ, ์ด๋ ์๋ฌด๊ฒ๋ ๋ณ๊ฒฝํ์ง ์์ ํต์ ์ฌ์ ์์๊ฒ ๊ฐ์์ค๋ฌ์ด ์ฐ๊ฒฐ ๋๊น์ผ๋ก ๋๋ผ์ด ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค.
๋ ๋ค๋ฅธ ๊ณผ์ ๋ AS-SET์ ์ฌ์ฉ ํจํด์ ๋๋ค. ์ฌ๊ธฐ์๋ ๋ ๊ฐ์ง ์์ ์ด ์์ต๋๋ค.
- ์ด์์๊ฐ ์ ํด๋ผ์ด์ธํธ๋ฅผ ๋ฐ์ผ๋ฉด ์ด๋ฅผ AS-SET์ ์ถ๊ฐํ์ง๋ง ์ ๊ฑฐํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์์ต๋๋ค.
- ํํฐ ์์ฒด๋ ํด๋ผ์ด์ธํธ์์ ์ธํฐํ์ด์ค์์๋ง ๊ตฌ์ฑ๋ฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก BGP ํํฐ์ ์ต์ ํ์์ ํด๋ผ์ด์ธํธ์์ ์ธํฐํ์ด์ค์์ ํํฐ๋ฅผ ์ ์ฐจ ์ ํ์ํค๊ณ ํผ์ด๋ง ํํธ๋ ๋ฐ IP ์ ์ก ๊ณต๊ธ์๊ฐ ์ ๊ณตํ๋ ๊ฒ์ ๋ํ ์ ํ์ ์ ๋ขฐ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
AS-SET ๊ธฐ๋ฐ์ ์ ๋์ฌ ํํฐ๋ฅผ ๋์ฒดํ๋ ๊ฒ์ ๋ฌด์์ ๋๊น? ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ์ ์ ๋จ๊ธฐ์ ์ผ๋ก๋ ์๋ฌด๊ฒ๋ ์๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ IRRDB ๊ธฐ๋ฐ ํํฐ์ ์์ ์ ๋ณด์ํ๋ ์ถ๊ฐ ๋ฉ์ปค๋์ฆ์ด ๋ฑ์ฅํ๊ณ ์์ผ๋ฉฐ, ์ฐ์ ์ด๊ฒ์ด ๋ฐ๋ก RPKI์ ๋๋ค.
RPKI
๋จ์ํ๋ ๋ฐฉ์์ผ๋ก RPKI ์ํคํ ์ฒ๋ ๋ ์ฝ๋๋ฅผ ์ํธํํ์ฌ ํ์ธํ ์ ์๋ ๋ถ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์๊ฐํ ์ ์์ต๋๋ค. ROA(Route Object Authorization)์ ๊ฒฝ์ฐ ์๋ช ์๊ฐ ์ฃผ์ ๊ณต๊ฐ์ ์์ ์์ด๊ณ ๋ ์ฝ๋ ์์ฒด๊ฐ ํธ๋ฆฌํ(prefix, asn, max_length)์ ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ํญ๋ชฉ์ ๋ค์์ ๊ฐ์ ํฉ๋๋ค. $prefix ์ฃผ์ ๊ณต๊ฐ์ ์์ ์๋ AS ๋ฒํธ $asn์ ๊ธธ์ด๊ฐ $max_length๋ณด๋ค ํฌ์ง ์์ ์ ๋์ฌ๋ฅผ ๊ด๊ณ ํ๋๋ก ๊ถํ์ ๋ถ์ฌํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ RPKI ์บ์๋ฅผ ์ฌ์ฉํ๋ ๋ผ์ฐํฐ๋ ์์ ์ค์ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์ ๋์ฌ - ๊ฐ๋ ๊ธธ์ ์ฒซ ๋ฒ์งธ ์คํผ์ปค.
๊ทธ๋ฆผ 3. RPKI ์ํคํ ์ฒ
ROA ๊ฐ์ฒด๋ ๊ฝค ์ค๋ซ๋์ ํ์คํ๋์์ง๋ง ์ต๊ทผ๊น์ง ์ค์ ๋ก๋ IETF ์ ๋์ ์ข ์ด์๋ง ๋จ์ ์์์ต๋๋ค. ์ ์๊ฐ์๋ ๊ทธ ์ด์ ๊ฐ ๋ฌด์ญ๊ฒ ๋ค๋ฆฝ๋๋ค. ๋์ ๋ง์ผํ ์ ๋๋ค. ํ์คํ๊ฐ ์๋ฃ๋ ํ ROA๊ฐ BGP ํ์ด์ฌํน์ผ๋ก๋ถํฐ ๋ณดํธํ๋ค๋ ์ธ์ผํฐ๋ธ๊ฐ ์์์ง๋ง ์ด๋ ์ฌ์ค์ด ์๋๋๋ค. ๊ณต๊ฒฉ์๋ ๊ฒฝ๋ก ์์ ๋ถ๋ถ์ ์ฌ๋ฐ๋ฅธ AC ๋ฒํธ๋ฅผ ์ฝ์ ํ์ฌ ROA ๊ธฐ๋ฐ ํํฐ๋ฅผ ์ฝ๊ฒ ์ฐํํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ์ฌ์ค์ ๊นจ๋ซ์๋ง์ ๋ค์ ๋ ผ๋ฆฌ์ ๋จ๊ณ๋ ROA ์ฌ์ฉ์ ์ค๋จํ๋ ๊ฒ์ด์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก ๊ธฐ์ ์ด ์๋ํ์ง ์์ผ๋ฉด ์ ํ์ํ๊ฐ์?
์ด์ ๋ง์์ ๋ฐ๊ฟ์ผ ํ ๋๊ฐ ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ์๋ํ๋ฉด ์ด๊ฒ์ ์ง์ค์ ์ ๋ถ๊ฐ ์๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ROA๋ BGP์ ํด์ปค ํ๋์ผ๋ก๋ถํฐ ๋ณดํธํ์ง ์์ง๋ง ์ฐ๋ฐ์ ์ธ ํธ๋ํฝ ํ์ด์ฌํน์ผ๋ก๋ถํฐ ๋ณดํธํฉ๋๋ค., ์๋ฅผ ๋ค์ด ์ ์ ๋ ์ผ๋ฐํ๋๊ณ ์๋ BGP์ ์ ์ ๋์ถ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ๋ํ IRR ๊ธฐ๋ฐ ํํฐ์ ๋ฌ๋ฆฌ ROV๋ ํด๋ผ์ด์ธํธ์์ ์ธํฐํ์ด์ค๋ฟ๋ง ์๋๋ผ ํผ์ด ๋ฐ ์ ์คํธ๋ฆผ ๊ณต๊ธ์์์ ์ธํฐํ์ด์ค์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฆ, RPKI์ ๋์ ๊ณผ ํจ๊ป BGP์์๋ ์ ํ์ ์ ๋ขฐ๊ฐ ์ ์ฐจ ์ฌ๋ผ์ง๊ณ ์์ต๋๋ค.
์ด์ ROA ๊ธฐ๋ฐ ๊ฒฝ๋ก ํ์ธ์ด ์ฃผ์ ํ๋ ์ด์ด์ ์ํด ์ ์ง์ ์ผ๋ก ๊ตฌํ๋๊ณ ์์ต๋๋ค. ์ ๋ฝ ์ต๋ IX๋ ์ด๋ฏธ ์๋ชป๋ ๊ฒฝ๋ก๋ฅผ ์ญ์ ํ๊ณ ์์ผ๋ฉฐ Tier-1 ์ด์์ ์ค์์ ํผ์ด๋ง ํํธ๋์์ ์ธํฐํ์ด์ค์์ ํํฐ๋ฅผ ํ์ฑํํ AT&T๋ฅผ ๊ฐ์กฐํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ์ต๋ ๊ท๋ชจ์ ์ฝํ ์ธ ์ ๊ณต์ ์ฒด๋ ์ด ํ๋ก์ ํธ์ ์ ๊ทผํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ญ ๊ฐ์ ์ค๊ฐ ๊ท๋ชจ ์ด์ก ์ฌ์ ์๊ฐ ์ด๋ฏธ ์๋ฌด์๊ฒ๋ ์๋ฆฌ์ง ์๊ณ ์กฐ์ฉํ ์ด๋ฅผ ๊ตฌํํ์ต๋๋ค. ์ด ๋ชจ๋ ์ด์์๊ฐ RPKI๋ฅผ ๊ตฌํํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๋๋ต์ ๊ฐ๋จํฉ๋๋ค. ๋ค๋ฅธ ์ฌ๋์ ์ค์๋ก๋ถํฐ ๋๊ฐ๋ ํธ๋ํฝ์ ๋ณดํธํ๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก Yandex๊ฐ ๋ฌ์์ ์ฐ๋ฐฉ์์ ๋คํธ์ํฌ ๊ฐ์ฅ์๋ฆฌ์ ROV๋ฅผ ํฌํจ์ํจ ์ต์ด์ ํ์ฌ ์ค ํ๋์ธ ์ด์ ์ ๋๋ค.
๊ทธ ๋ค์์ ์ด๋ป๊ฒ๋ฉ๋๊น?
์ด์ ํธ๋ํฝ ๊ตํ ํฌ์ธํธ ๋ฐ ํ๋ผ์ด๋น ํผ์ด๋ง์ด ์๋ ์ธํฐํ์ด์ค์์ ๋ผ์ฐํ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๊ฐ๊น์ด ์์ผ ๋ด์ ์ ์คํธ๋ฆผ ํธ๋ํฝ ์ ๊ณต์๋ฅผ ํตํ ๊ฒ์ฆ๋ ํ์ฑํ๋ ์์ ์ ๋๋ค.
์ด๊ฒ์ด ๋น์ ์๊ฒ ์ด๋ค ๋ณํ๋ฅผ ๊ฐ์ ธ์ค๋์? ๋คํธ์ํฌ์ Yandex ๊ฐ์ ํธ๋ํฝ ๋ผ์ฐํ
๋ณด์์ ๊ฐํํ๋ ค๋ฉด ๋ค์์ ๊ถ์ฅํฉ๋๋ค.
- ์ฃผ์ ๊ณต๊ฐ์ ์๋ช
ํ์ธ์
RIPE ํฌํธ์์ - ๊ฐ๋จํฉ๋๋ค. ํ๊ท 5~10๋ถ ์ ๋ ๊ฑธ๋ฆฝ๋๋ค. ์ด๋ ๋๊ตฐ๊ฐ๊ฐ ๋ฌด์์์ ์ผ๋ก ๊ทํ์ ์ฃผ์ ๊ณต๊ฐ์ ํ์น๋ ๊ฒฝ์ฐ ์ฐ๊ฒฐ์ ๋ณดํธํ ๊ฒ์ ๋๋ค(๊ทธ๋ฆฌ๊ณ ์ด๋ ์กฐ๋ง๊ฐ ์ผ์ด๋ ๊ฒ์ ๋๋ค). - ์คํ ์์ค RPKI ์บ์ ์ค ํ๋๋ฅผ ์ค์นํฉ๋๋ค(
์ ์ต์ ์ ํจ์ฑ ๊ฒ์ฌ๊ธฐ ,๋ฃจํด๋ค์ดํฐ ) ๋คํธ์ํฌ ๊ฒฝ๊ณ์์ ๊ฒฝ๋ก ํ์ธ์ ํ์ฑํํฉ๋๋ค. ์ด ์์ ์ ์๊ฐ์ด ๋ ๊ฑธ๋ฆฌ์ง๋ง ๊ธฐ์ ์ ์ธ ๋ฌธ์ ๋ ๋ฐ์ํ์ง ์์ต๋๋ค.
Yandex๋ ๋ํ ์๋ก์ด RPKI ๊ฐ์ฒด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ํํฐ๋ง ์์คํ
๊ฐ๋ฐ์ ์ง์ํฉ๋๋ค.
ํ ๋ฌ ํ Next Hop ์ปจํผ๋ฐ์ค์์ ASPA์ ๋ํด ์์ธํ ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. Netflix, Facebook, Dropbox, Juniper, Mellanox ๋ฐ Yandex์ ๋๋ฃ๋ค๋ ์ด๊ณณ์์ ์ฐ์คํ ์์ ์
๋๋ค. ๋คํธ์ํฌ ์คํ๊ณผ ํฅํ ๋ฐ์ ์ ๊ด์ฌ์ด ์์ผ์ ๋ถ๋ค์ ์ค์ธ์
์ถ์ฒ : habr.com