네트워크는 어렵다? 아니! 한드림넷을 만나면 즐겁다! 10장으로 끝내는 네트워크 기초 다지기, Network is Fun! 열여덟번째 주제는 DNS입니다.
네트워크는 어렵다? 아니! 한드림넷을 만나면 즐겁다! 10장으로 끝내는 네트워크 기초 다지기, Network is Fun! 열여덟번째 주제는 Domain Name System(DNS)입니다.
인터넷에서는 컴퓨터를 식별하기 위해 IP 주소를 사용하며, 이 IP 주소는 숫자로이루어져 있습니다. 하지만 컴퓨터가 표현하는 숫자는 복잡하기 때문에 IP 주소만으로는 무엇에 사용되고 있는지 알 수가 없습니다. 또한, 사용자가 IP 주소를 외워서 기억하기 어렵고 번거롭습니다.
때문에 인터넷을 사용할 때 꼭 필요한 것은 무엇?! 바로 바로~ 인터넷 주소!
또 다른 말로는 도메인 이름이라고 부릅니다.
즉, 도메인 이름이란 숫자 형태의 IP 주소를 기억하기 쉽게 하기 위해 문자로 부여된 이름입니다.
이렇듯 IP 주소와 도메인 이름의 관계를 관리해주는 것이 바로 DNS(Domain Name System)입니다.
DNS는 도메인 이름에 대한 IP 주소를 알려주거나 IP 주소에 대한 도메인 이름을 알려주는 일을 담당합니다.
또한, 도메인 이름은 마침표로 구분된 문자열로 구성되어 있습니다.
우편을 보낼 때 주소가 서울시 구로구 디지털로26길 이라고 한다면 우리는 앞에서부터 주소를 해석하는데요.
이와 반대로 내 PC의 웹 브라우저에서 주소를 찾을 때는 찾는 주소가 ‘www.handream.net’ 이라고 하면,
뒤에서부터 주소를 해석하게 됩니다.
도메인 이름은 그림과 같이 트리 모양의 계층 구조로 되어 있으며, 각 계층이 서로 중복되지 않도록 관리되고 있습니다.
계층 구조를 그림으로 나타내면 다음과 같이 내 PC는 DNS를 이용하여 IP 주소로 통신하게 됩니다.
하지만 DNS 서버는 요청하는 사람이 정상 사용자이든 해커이든 관계없이 IP 주소만 알려주면 되기 때문에 속도가 빠른 UDP 프로토콜을 사용하지만 보안성이 낮다는 문제점이 있습니다. 대표적인 DNS 공격 중 하나인 DNS Spoofing 공격에서는 Attacker가 가짜 웹사이트를 만들어 연결시킴으로써 신원 정보를 훔칠 수 있습니다.
이러한 DNS 공격을 막기 위해서는 언제 있을지 모르는 대규모 공격에 대비해 DNS 서버 자체에 보안을 강화하여 완벽한 DNS 관리 보안 체계를 구현해야 할 것 같습니다.