Computer Science/Network

DNS 개념잡기 - (1) 도메인 명과 IP 주소를 구분하여 사용하는 이유

[앙금빵] 2022. 1. 24.

도메인 명과 IP 주소를 구분하여 사용하는 이유

TCP/IP 네트워크는 IP 주소로 통신상대를 지정하며 IP 주소를 모르면 상대방에게 메시지를 전달할 수 없다. 이유는 OS에 메시지 송신을 의뢰할 때 IP 주소를 조사해야 되기 때문이다. 실제로 URL 안에 실제 서버명 대신 IP 주소를 써도 올바르게 작동한다. (단, 웹서버가 가상 호스트 기능을 사용하고 있다면 IP 주소로 Access 할 수 없는 경우도 있다.)

 

그러나 우리가 연락처의 모든 전화 번호를 기억하기 어려운 것과 같이 숫자로 표현된 IP 주소를 기억하기는 어렵다. 그렇기에 URL 안에는 IP 주소가 아닌 서버의 이름을 사용할 수 있도록 하는 쪽이 좋다.

(+ TCP/IP 구조를 고안할 당시 현재 검색 엔진과 같은 것은 기술적으로 실현이 불가능했기 때문에 주소 대신 이름을 사용할 수 있도록 한 것이 가치 있는 일이었다.)

 

그렇다면 차라리 IP 주소 같은 것은 이제 그만 쓰고 ‘지정된 이름’으로 통신한다면 좋지 않을 까? 라는 의문이 들 것이다.

그러나 이는 실행 효율이라는 관점에서 좋은 방법이라고 할 수 없다.

 

IP 주소 경우 32비트 즉, 4바이트에 해당하는 개수이지만 도메인 명은 적어도 수십 바이트에서부터 최대 255바이트나 있다. IP 주소라면 4바이트 분의 수치만 취급하면 되지만, 도메인명이라면 길이가 결정되어 있지 않으며 적어도 수십바이트 이상은 취급해야 한다. 이는 라우터에 부하되는 데이터량이 많아지게 되고 더 많은 시간이 걸리게 되면서 네트워크 속도가 느려지게 된다.

 

고성능 라우터를 사용하면 이러한 문제점이 해결될 것이라 생각하지만 그렇지 않다. 라우터 성능이 향상되더라도 그에 못지 않게 데이터 양의 증가하는 속도도 동반 상승하게 되기 때문이다.

 

이러한 이유로 IP 기반이 아닌 도메인 명을 통해 통신한다는 것은 퍼포먼스 측면에서 좋은 방법이라고 할 수 없다.

 

그렇기에 사람은 이름을 사용하고 라우터는 IP 주소를 사용하는 방법이 정착되어 있다. 이름을 알면 IP 주소를 알 수 있다거나 IP 주소를 알면 이름을 알 수 있기 위해 DNS 원리가 고안되었다.

 💡 DNS(Domain Name System)
일반적으로 서버명과 IP 주소를 대응시키기 위해 DNS를 많이 사용한다.
(+ DNS는 메일 주소와 메일 서버를 대응시키는 것 등 다양한 정보를 이름에 대응하여 등록할 수 있다.)

 

요약

① IP 주소를 통해 통신이 이루어 진다.

② 실행 효율이라는 관점에서 '이름'을 통한 통신방법은 좋은 방법이 아니다. 그렇기에 상대적으로 기억하기 쉬운 '이름' 기반 통신이 아닌 IP 주소를 이용한 통신방법이 정착되어 있다.

③ 사람은 이름을 사용하고 라우터는 IP를 사용하는데 이들을 대응시키기 위해 DNS 원리가 고안되었다.

 


참조

- 성공과 실패를 결정하는 1% 네트워크 원리

댓글