OpenBSD์์ IPv6 Stateless Address Autoconfiguration(RFC 6)์ ๋ด๋นํ๋ slaacd ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค์์ ์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋์์ต๋๋ค. ์ด ์ทจ์ฝ์ ์ผ๋ก ์ธํด ํน์ํ๊ฒ ์กฐ์๋ IPv4862 ๋ผ์ฐํฐ ๊ด๊ณ (RA)๋ฅผ ์์ ํ ๋ ๋ฒํผ ์ค๋ฒํ๋ก๊ฐ ๋ฐ์ํฉ๋๋ค.
์ฒ์์๋ IPv6 ์ฃผ์ ์๋ ๊ตฌ์ฑ ๊ธฐ๋ฅ์ด ์ปค๋ ์์ค์์ ๊ตฌํ๋์์ง๋ง OpenBSD 6.2๋ถํฐ ๋ณ๋์ ๊ถํ์ด ์๋ ํ๋ก์ธ์ค์ธ slaacd๋ก ์ด๋๋์์ต๋๋ค. ์ด ํ๋ก์ธ์ค๋ RS(๋ผ์ฐํฐ ์์ฒญ) ๋ฉ์์ง๋ฅผ ๋ณด๋ด๊ณ ๋ผ์ฐํฐ ๋ฐ ๋คํธ์ํฌ ์ฐ๊ฒฐ ๋งค๊ฐ๋ณ์์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋ RA(๋ผ์ฐํฐ ๊ด๊ณ ) ์๋ต์ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ์ญํ ์ ํฉ๋๋ค.
2์์ slaacd์์ 7์ ์ง์ ํ ๊ฒฝ์ฐ ์ถฉ๋์ ์ผ์ผํค๋ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ต๋๋ค. ์๋ฒ RDNSS(์ฌ๊ท DNS ์๋ฒ) ๋ชฉ๋ก์์ ์ด๋ฌํ ๋๋ฝ์ด ๋ฐ๊ฒฌ๋์์ต๋๋ค. ์ด ์ค๋ฅ๋ ๋ ๋ฆฝ ์ฐ๊ตฌ์๋ค์ ๊ด์ฌ์ ๋์๊ณ , ์ด๋ค์ RA ๋ฉ์์ง์ ํ๋๋ฅผ ํ์ฑํ ๋ ๋ฐ์ํ๋ ๋ค๋ฅธ ์ค๋ฅ๋ฅผ ์ฐพ๊ธฐ ์ํด slaacd ์ฝ๋๋ฅผ ์กฐ์ฌํ์ต๋๋ค. ๋ถ์ ๊ฒฐ๊ณผ, ํด๋น ์ฝ๋๋ DNSSL(DNS ๊ฒ์ ๋ชฉ๋ก) ํ๋๋ฅผ ์ฒ๋ฆฌํ ๋ ๋ฐ์ํ๋ ๋ ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฒ์ผ๋ก ๋๋ฌ๋ฌ๋๋ฐ, ์ด ํ๋์๋ ์ฌ๋ฌ ๋ชฉ๋ก์ด ํฌํจ๋์ด ์์ต๋๋ค. ๋๋ฉ์ธ ์ด๋ฆ ๊ทธ๋ฆฌ๊ณ DNS์ฉ ํธ์คํธ ํ ํ๋ฆฟ์ ๋๋ค.
DNSSL ๋ชฉ๋ก์ ๊ฐ ์ด๋ฆ์ 63๋ถํฐ ์์ํ๋ ๊ตฌ๋ถ ๊ธฐํธ์ ๋ค์ ์ค๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ ์ค๊ฐ 1๋ฐ์ดํธ ๋ง์ปค๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฝ๋ฉ๋ฉ๋๋ค. ์ด ์ทจ์ฝ์ ์ ๋ชฉ๋ก ๊ตฌ๋ฌธ ๋ถ์ ์ฝ๋์์ ํฌ๊ธฐ ํ๋๊ฐ ๋ถํธ ์๋ ์ ์ ๋ณ์("len = data[pos]")์ ๋ณต์ฌ๋๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ ํ๋์ ์์ ๋นํธ๊ฐ ์ค์ ๋ ๊ฐ์ด ์ง์ ๋๋ฉด ์ด ๊ฐ์ ์กฐ๊ฑด ์ฐ์ฐ์์์ ์์๋ก ์ธ์๋๊ณ ํ์ฉ๋๋ ์ต๋ ํฌ๊ธฐ์ ๋ํ ๊ฒ์ฌ("if (len > XNUMX || len + pos + XNUMX > datalen) {")๊ฐ ์๋ํ์ง ์์ ๋ณต์ฌ๋๋ ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ๋ฒํผ ํฌ๊ธฐ๋ฅผ ์ด๊ณผํ๋ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ๋ memcpy ํธ์ถ์ด ๋ฐ์ํฉ๋๋ค.


์ถ์ฒ : opennet.ru
