আপডেট হয়েছে ১ মাস আগে
이미 겪어봤을 겁니다. 노트북이 갑자기 169.254.x.x를 IP 주소로 표시하고, 아무것도 작동하지 않는 상황. 그 주소는 장치가 DHCP 서버에 연결하지 못해 스스로 비상 대체 주소—링크-로컬 주소—를 할당했다는 뜻입니다.
링크-로컬 주소 덕분에 다른 모든 것이 실패하더라도 장치는 항상 로컬 네트워크 세그먼트에서 통신할 수 있습니다.
로컬을 벗어나지 않는 주소
링크-로컬 주소는 단일 네트워크 세그먼트—장치가 직접 연결된 물리적 또는 논리적 네트워크—에서의 통신에만 유효합니다. 라우터도, DHCP 서버도, 수동 설정도 없이 장치끼리 통신할 수 있게 해줍니다.
핵심 특성: 링크-로컬 주소는 설계 자체가 라우팅 불가입니다. 라우터는 링크-로컬 출발지 또는 목적지 주소가 있는 패킷을 반드시 폐기해야 합니다. 이 제한은 단점이 아닙니다—바로 그것이 핵심 목적입니다.
IPv4: 문제를 드러내는 임시방편
IPv4에서 주소 블록 169.254.0.0/16은 링크-로컬 주소 지정을 위해 예약되어 있습니다. APIPA(Automatic Private IP Addressing)라는 이름으로 더 잘 알려져 있습니다—DHCP가 실패할 때 장치가 돌아가는 범위입니다.
작동 방식:
- 장치는 169.254.1.0에서 169.254.254.255 사이에서 무작위로 주소를 선택합니다
- 다른 장치가 사용 중인지 확인하기 위해 ARP 패킷을 보냅니다
- 응답이 오면 새 주소를 골라 다시 시도합니다
- 고유성이 확인되면 해당 주소와 255.255.0.0 넷마스크로 스스로를 구성합니다
APIPA는 IP 주소와 서브넷 마스크만 제공합니다—기본 게이트웨이도, DNS 서버도 없습니다. 같은 세그먼트의 장치끼리는 통신할 수 있지만, 그 너머로는 불가능합니다.
169.254.x.x가 보인다면 뭔가 잘못된 것입니다: DHCP 서버에 연결할 수 없거나, 잘못 설정되었거나, 주소가 소진된 상태입니다. 격리된 네트워크와 테스트에는 유용하지만, 운영 환경에서는 장애를 의미합니다.
솔직한 이야기: IPv4 링크-로컬 주소는 DHCP가 때때로 실패하기 때문에 존재합니다. 원래 설계의 일부가 아닌 비상 낙하산입니다.
IPv6: 임시방편이 기반이 되다
IPv6은 판을 완전히 뒤집었습니다. 주소 블록 fe80::/10은 링크-로컬 주소 지정을 위해 예약되어 있지만, IPv4와 달리 이 주소들은 임시방편이 아닙니다—필수입니다.
모든 IPv6 지원 인터페이스는 글로벌 주소가 할당되어 있을 때도 링크-로컬 주소를 반드시 가져야 합니다. 선택 사항이 아닙니다. 인터페이스에서 IPv6이 활성화되는 순간, 다른 구성이 이루어지기 전에 자동으로 생성됩니다.
프라이버시의 진화
원래 IPv6 링크-로컬 주소는 EUI-64를 사용하여 MAC 주소에서 파생되었습니다—우아하고 예측 가능했지만, 네트워크를 옮겨 다니며 장치가 추적될 수 있다는 의미였습니다. 카페, 도서관, 공항—어느 네트워크든 주소에 박혀 있는 동일한 하드웨어 식별자를 볼 수 있었습니다.
현대 시스템은 프라이버시를 보호하는 방식으로 EUI-64를 대체했습니다:
- 프라이버시 확장(RFC 4941): 주기적으로 바뀌는 무작위 식별자
- 안정적 프라이버시 주소(RFC 7217): 같은 네트워크에서는 일정하게 유지되지만, 새로운 네트워크에서는 달라짐
- 불투명 식별자(RFC 8064): 기반 하드웨어에 대해 아무것도 드러내지 않음
방향의 전환: 하드웨어를 노출하는 주소에서 프라이버시를 지키는 주소로.
IPv6이 링크-로컬을 필수로 만든 이유
링크-로컬 주소는 IPv6의 이웃 탐색 프로토콜(NDP)에 없어서는 안 됩니다. NDP는 IPv4에서 여러 프로토콜—ARP, ICMP 라우터 탐색, ICMP 리다이렉트—에 흩어져 있던 기능을 하나의 통합 시스템으로 모았습니다.
라우터 탐색: 호스트가 네트워크에 참여하면, 라우터용 링크-로컬 멀티캐스트 주소로 라우터 요청(Router Solicitation)을 보냅니다. 라우터는 자신의 링크-로컬 주소에서 라우터 광고(Router Advertisement)로 응답하여, 호스트가 글로벌 주소를 자동으로 구성할 수 있게 합니다.
이웃 탐색: 장치들은 링크-로컬 주소에서 전송된 메시지를 사용하여 이웃의 주소를 찾고 도달 가능성을 확인합니다.
중복 주소 탐지: 글로벌 주소를 포함한 모든 IPv6 주소를 사용하기 전에, 장치는 링크-로컬 주소를 이용해 고유성을 검증합니다.
기본 게이트웨이: IPv6 네트워크에서 호스트의 기본 게이트웨이는 항상 라우터의 링크-로컬 주소이며, 글로벌 주소가 아닙니다. 덕분에 네트워크 재번호 지정으로 글로벌 프리픽스가 바뀌어도 게이트웨이 통신은 안정적으로 유지됩니다.
링크-로컬 주소야말로 모든 것이 세워지는 토대입니다.
철학적 차이
| 측면 | IPv4 (169.254.0.0/16) | IPv6 (fe80::/10) |
|---|---|---|
| 역할 | DHCP 실패 시 임시방편 | 필수 구성 요소 |
| 존재 | DHCP를 사용할 수 없을 때만 | 항상 존재 |
| 의미 | 무언가 고장남 | 정상적이고 당연한 것 |
| 프로토콜 활용 | 제한된 로컬 통신 | NDP, 라우터 탐색에 필수 |
| 기본 게이트웨이 | 지원되지 않음 | 항상 사용됨 |
이 차이는 문제 해결에 매우 중요합니다. IPv4 링크-로컬 주소가 보이면 무언가 고장난 것입니다. IPv6 링크-로컬 주소는 지극히 정상입니다.
실용적 활용
제로 구성 네트워킹: 수동 설정이나 별도 인프라 없이도 장치들이 서로를 발견하고 통신합니다. 임시 네트워크와 초기 부트스트래핑에 필수적입니다.
네트워크 관리: 글로벌 라우팅 주소가 없어도 장치에 직접 연결하여 설정과 문제 해결을 할 수 있습니다.
자연스러운 보안 경계: 링크-로컬 주소는 세그먼트를 벗어나지 않습니다. 관리 트래픽은 설계상 이 안에 머뭅니다.
안정적인 로컬 통신: 같은 세그먼트의 장치들은 DHCP 상태나 글로벌 연결 여부와 관계없이 링크-로컬 주소로 항상 통신할 수 있습니다.
이것만 기억하세요
IPv4에서 링크-로컬 주소는 네트워크가 실패를 인정하는 것입니다. IPv6에서는 모든 것이 그 위에 세워지는 토대입니다.
링크-로컬 주소에 대해 자주 묻는 질문
컴퓨터에 169.254.x.x 주소가 표시되는 이유가 뭔가요?
장치가 제대로 된 IP 주소를 받기 위해 DHCP 서버에 연결하지 못한 것입니다. 이것이 APIPA입니다—로컬 네트워크 세그먼트의 다른 장치와는 통신할 수 있지만, 그 너머로는 나갈 수 없는 자동 임시방편입니다. 네트워크 케이블, Wi-Fi 연결, 또는 DHCP 서버가 제대로 동작하고 있는지 확인해 보세요.
링크-로컬 주소로 트래픽을 라우팅할 수 있나요?
아니요. 라우터는 설계상 링크-로컬 출발지 또는 목적지 주소가 있는 패킷을 반드시 버려야 합니다. 이 제한은 의도적입니다—링크-로컬 트래픽은 로컬에 머물게 되어 있습니다. 세그먼트 너머로 통신이 필요하다면 라우팅 가능한 주소가 필요합니다.
IPv6 인터페이스에 fe80::와 글로벌 주소가 함께 표시되는 이유가 뭔가요?
이건 정상이고 예상되는 동작입니다. 모든 IPv6 인터페이스는 이웃 탐색 및 라우터 통신 같은 프로토콜 작동을 위해 링크-로컬 주소(fe80::/10)를 반드시 가져야 합니다. 글로벌 주소는 더 넓은 인터넷과 통신하기 위한 것이고, 두 주소는 각자 다른 목적을 가지며 설계상 함께 존재합니다.
링크-로컬 주소가 존재하는 게 보안 위험 아닌가요?
링크-로컬 주소는 오히려 보안상 이점을 제공합니다—로컬 세그먼트에 갇혀 있어서 외부에서는 절대 접근할 수 없습니다. 다만, IPv6 링크-로컬 주소를 생성하던 원래의 EUI-64 방식은 MAC 주소를 노출하여 장치 추적을 가능하게 했습니다. 현대 시스템은 이 문제를 없앤 프라이버시 보호 방식을 사용합니다.
출처
এই পৃষ্ঠাটি কি সহায়ক ছিল?