본문 바로가기
카테고리 없음

EDNS(Extension mechanisms for DNS)

by FixedSeat 2023. 7. 20.

EDNS(Extension mechanisms for DNS)

EDNS는 DNS 확장 메커니즘을 말합니다. DNS는 초창기부터 512byte를 초과하는 패킷을 처리하지 못해, TCP로 대신 전송하는 방식을 사용했습니다. 하지만 TCP를 사용한다면 다수의 중계서버를 거치면서 지연 시간이 길어져 더 복잡한 문제가 발생할 가능성이 있었습니다. 이때 도입된 것이 EDNS입니다. EDNS는 UDP를 이용해서도 더 큰 패킷을 처리할 수 있게 해주며, DNSSEC와 같이 보안 강화 기능을 보다 쉽게 사용할 수 있게 해줍니다. 또한, 기존 DNS와 호환성도 유지되기 때문에, 기존 DNS를 이용하는 사용자와 EDNS를 이용하는 사용자 양쪽 모두 통신이 원활하게 이루어집니다.

 

ECS(EDNS Client Subnet)

ECS는 DNS 응답 클라이언트의 서브넷 정보를 DNS 서버에 전달하여, 해당 서브넷에서 접근하는 클라이언트에게 더 적합한 IP 주소를 제공하는 기술입니다. DNS 쿼리를 수행하는 클라이언트는 자신의 IP 주소와 함께 DNS 서버에 쿼리를 보내게 되며, 이때 클라이언트의 서브넷 정보를 함께 보내는 것이 ECS 입니다. DNS 서버는 이 정보를 이용하여, 클라이언트가 속한 네트워크 대역의 IP 주소를 반환하게 됩니다. 이를 통해 해당 클라이언트 근처에 있는 서버를 우선적으로 이용할 수 있게 됩니다. ECS는 인터넷 서비스 제공업체(ISP)나 Content Delivery Network(CDN)에서 활용되어, 특정 지역의 유저에게 최적화된 서비스를 제공할 수 있습니다.

 

질의 시 포함되는 OPT Pseudosection

OPT(Option) 레코드는 DNS 패킷의 헤더 부분에 들어가며, DNS 트랜잭션의 세부 정보에 대한 여러 가지 옵션들을 포함할 수 있습니다. OPT 레코드 중에서도 일반적으로 많이 사용되는 것이 OPT pseudosection이라 불리는 부분입니다. 이는 DNS 쿼리 또는 응답 패킷의 마지막에 위치하며, 추가 정보를 제공합니다. OPT Pseudosection은 EDNS(Extension mechanisms for DNS)를 지원하는 경우에 사용됩니다. 이 부분에서는 DNS 서버가 지원하는 기능들에 대한 정보를 표시합니다. 예를 들어, DNSSEC(도메인 인증 시스템)을 사용하는 서버에서는 OPT Pseudosection에서 DNSSEC에 대한 옵션을 제공합니다. 또한, DNS 서버에서 클라이언트가 요청한 대로 패킷 크기를 초과하는 경우, 클라이언트에게 이 정보를 OPT Pseudosection을 사용하여 반환할 수 있습니다.클라이언트는 이 정보를 바탕으로 적절한 수정을 가할 수 있습니다.

dig 질의 OPT Pseudosection

 

OPT Pseudosection의 Cookie 용도는?

OPT Pseudosection에 포함되는 Cookie는 DNS 서버와 클라이언트 간 유효한 세션을 유지하기 위해 사용하는 값입니다. 도메인 이름과 같은 정보를 공유하지 않고, 서버와 클라이언트 간 통신을 보호하는 쿠키 개념이 사용되어, 보안성을 높입니다. DNS 서버에서는 클라이언트와의 통신마다 랜덤하게 값을 생성하여 클라이언트에게 전달하며, 클라이언트는 다시 이 값을 DNS 서버에게 제공하여 세션을 인증합니다. 이를 통해 DNS 서버는 적절한 클라이언트에게만 응답을 보내며, 보안 문제를 예방할 수 있습니다. Cookie에 대한 정보는 DNS 서버에서 생성되며, 클라이언트에게 전달됩니다. 클라이언트는 Cookie 값을 저장하고 서버와 통신시 이를 포함하여 DNS 패킷을 생성합니다. Cookie를 사용하면, DNS 탐색 시 발생하는 잠재적인 보안 위협에서 안전성을 확보할 수 있어 보안이 요구되는 환경에서 많이 사용됩니다.