Network-(3) DNS
Network Essentials 3부 DNS(Domain Name System)
- 네트워크 프로토콜은 크게 두가지로 나눌 수 있습니다.
- 실제로 데이터를 실어나르는 데이터 프로토콜과 이 데이터 프로토콜이 잘 동작하도록 도와주는 컨트롤 프로토콜이 있습니다.
-
컨트롤 프로토콜은 통신에 관여하지 않지만, 처음 통신 관계를 맺거나 유지하는데 큰 역할을 합니다.
- TCP/IP 프로토콜 체계를 유지하기 위한 주요 컨트롤 프로토콜에는 ARP, ICMP, DNS가 있습니다.
What DNS?
- DNS(Domain Name System)은 도메인 주소를 IP 주소로 변환하는 역할을 합니다.
Why DNS?
- IP 주소보다 도메인 주소를 이용하는 것이 일반 사용자에게 더 익숙하고 서버 IP 변경에 쉽게 대처할 수 있어서 네트워크 통신에서 중요한 역할을 합니다.
- 서비스간 API 호출이나 인터페이스가 많은 MSA(Micro Service Architecture) 기반의 서비스 설계에 중요한 역할을 합니다.
- 인프라가 빈번히 변경되는 클라우드 기반 인프라 구성에 있어서 DNS 설계는 중요한 역할을 하게 됩니다.
DNS 이점
- 숫자로 구성된 IP 주소보다 의미 있는 문자열로 구성된 도메인 주소가 인식하고 기억하기 더 쉽습니다.
- IP 주소 대신 도메인 주소를 이용하면 하나의 IP 주소를 이용해 여러 개의 웹 서비스를 운영할 수 있게 됩니다.
- 서비스 중인 IP 주소가 변경되더라도 도메인 주소 그대로 유지해 접속 방법 변경 없이 서비스를 그대로 유지할 수 있습니다.
- 도메인을 이용하면 지리적으로 여러 위치에서 서비스할수도 있습니다.
- 사용자가 서비스를 찾아갈 때뿐만 아니라 내부 시스템의 서비스 간 연결에도 유용합니다.
DNS 구조
DNS 동작 방식
- 도메인을 IP 주소로 변환하려면 DNS 서버에 도메인 쿼리하는 과정을 거쳐야 합니다.
- 로컬에서 도메인과 IP 주소를 관리하는 파일을 hosts 파일이라고 합니다.
-
hosts 파일에 도메인과 IP 주솔르 설정해두면, 해당 도메인 리스트는 항상 DNS 캐시에 저장됩니다.
- 도메인을 쿼리하면, DNS 서버에 쿼리를 하기 전 로컬에 있는 DNS 캐시 정보를 먼저 확인합니다. (동일한 도메인을 매번 질의하지 않고 캐시를 통해 성능을 향상시키기 위해서 입니다.)
- DNS 캐시 정보에 필요한 도메인 정보가 없으면 DNS 서버로 쿼리를 수행하고 DNS 서버로부터 응답을 받으면 그 결과를 캐시에 먼저 저장합니다.
- 전에 쿼리를 한 번 수행한 DNS 정보는 캐시부터 조회하므로 DNS 서버에 별도로 쿼리하지 않고 캐시 정보를 사용합니다.
댓글남기기