aboutsummaryrefslogtreecommitdiff
path: root/writeups/ipv6/rfc4191
diff options
context:
space:
mode:
Diffstat (limited to 'writeups/ipv6/rfc4191')
-rw-r--r--writeups/ipv6/rfc4191/rfc4191.ko.md19
1 files changed, 18 insertions, 1 deletions
diff --git a/writeups/ipv6/rfc4191/rfc4191.ko.md b/writeups/ipv6/rfc4191/rfc4191.ko.md
index 09bbcaa..b29f43c 100644
--- a/writeups/ipv6/rfc4191/rfc4191.ko.md
+++ b/writeups/ipv6/rfc4191/rfc4191.ko.md
@@ -18,12 +18,29 @@ RFC 4191을 지원하는 운영체제는 RA 메시지에서 RIO를 받아 라우
| OS | Support | Since | Note |
| - | - | - | - |
| 윈도 | YES | ? | [Windows Server 2012 문서](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj574227(v=ws.11))에 처음 언급됨 |
-| 리눅스 | MAYBE | [v2.6.17-rc1](https://github.com/torvalds/linux/blame/4236f913808cebef1b9e078726a4e5d56064f7ad/net/ipv6/ndisc.c#L258) | `CONFIG_IPV6_ROUTE_INFO` 옵션 기본적으로 꺼져있음. 대부분의 배포판이 옵션을 켜 빌드함 |
+| 리눅스 | (아래 참조) | | |
| 안드로이드 | YES | [4.2](https://en.wikipedia.org/wiki/Comparison_of_IPv6_support_in_operating_systems) ? | 리눅스 지원은 안드로이드가 출시되기 전부터 있었음. 4.2버전부터 지원 되었을 것으로 봄 |
| XNU(IOS, macos) | YES | [xnu-7195.50.7.100.1](https://github.com/apple-oss-distributions/xnu/blame/8d741a5de7ff4191bf97d57b9f54c2f6d4a15585/bsd/netinet6/nd6_rtr.c#L490) | https://theapplewiki.com/wiki/Kernel#Versions |
| FreeBSD | [NO](https://github.com/freebsd/freebsd-src/blob/47ca5d103f229b090899379ce449af5e89faf627/sys/netinet6/nd6.c#L507) | - | 라우터 탐색 프로세스가 "rtsold" 유저스페이스 프로그램에 구현됨 |
| OpenBSD | [NO](https://github.com/openbsd/src/blob/36a0e83f909d48cbb69156be916b6356c14b9ae5/sbin/slaacd/engine.c#L1555) | - | 라우터 탐색 프로세스가 "slaacd" 유저스페이스 프로그램에 구현됨 |
+### 리눅스
+리눅스는 크게 3개의 RA 구현제가 존재한다:
+
+ 1. 커널 자체 (`CONFIG_IPV6_ROUTE_INFO`)
+ 2. NetworkManager
+ 3. Systemd-networkd
+
+커널의 RIO
+지원([v2.6.17-rc1](https://github.com/torvalds/linux/blame/4236f913808cebef1b9e078726a4e5d56064f7ad/net/ipv6/ndisc.c#L258)
+버전부터 지원)은 선택사항이며, 기본적으로 활성화 되어있지 않으나, 대부분의
+배포판이 기능을 활성화하여 빌드함.
+
+RDNSS와 NTP 옵션은 유저공간 프로그램에서 처리되어야 해서 커널의 RA 구현은
+임베디드 시스템이 아닌 이상 잘 사용되지 않음. 대부분의 시스템에는 공통적으로
+`accept_ra = 0`로 설정되어 있다. NetworkManager와 Systemd-networkd는 RIO를
+기본적으로 지원한다.
+
## 실전 RFC 4191
<img src="../radvd/drawing-a.svg" style="background: grey;">