1. คลังความรู้
  2. IP 주소
  3. 특수 주소

อัปเดต 1 เดือนที่ผ่านมา

이미 겪어봤을 겁니다. 노트북이 갑자기 169.254.x.x를 IP 주소로 표시하고, 아무것도 작동하지 않는 상황. 그 주소는 장치가 DHCP 서버에 연결하지 못해 스스로 비상 대체 주소—링크-로컬 주소—를 할당했다는 뜻입니다.

링크-로컬 주소 덕분에 다른 모든 것이 실패하더라도 장치는 항상 로컬 네트워크 세그먼트에서 통신할 수 있습니다.

로컬을 벗어나지 않는 주소

링크-로컬 주소는 단일 네트워크 세그먼트—장치가 직접 연결된 물리적 또는 논리적 네트워크—에서의 통신에만 유효합니다. 라우터도, DHCP 서버도, 수동 설정도 없이 장치끼리 통신할 수 있게 해줍니다.

핵심 특성: 링크-로컬 주소는 설계 자체가 라우팅 불가입니다. 라우터는 링크-로컬 출발지 또는 목적지 주소가 있는 패킷을 반드시 폐기해야 합니다. 이 제한은 단점이 아닙니다—바로 그것이 핵심 목적입니다.

IPv4: 문제를 드러내는 임시방편

IPv4에서 주소 블록 169.254.0.0/16은 링크-로컬 주소 지정을 위해 예약되어 있습니다. APIPA(Automatic Private IP Addressing)라는 이름으로 더 잘 알려져 있습니다—DHCP가 실패할 때 장치가 돌아가는 범위입니다.

작동 방식:

  1. 장치는 169.254.1.0에서 169.254.254.255 사이에서 무작위로 주소를 선택합니다
  2. 다른 장치가 사용 중인지 확인하기 위해 ARP 패킷을 보냅니다
  3. 응답이 오면 새 주소를 골라 다시 시도합니다
  4. 고유성이 확인되면 해당 주소와 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 주소를 노출하여 장치 추적을 가능하게 했습니다. 현대 시스템은 이 문제를 없앤 프라이버시 보호 방식을 사용합니다.

출처

หน้านี้มีประโยชน์หรือไม่?

😔
🤨
😃