DNS ( Domain name server)의 역할과 필요성
DNS는 www.domain.com 과 같은 도메인 주소를 IP 주소로 변환하여 조회하고 응답하는 역할을 합니다.
일반 사용자가 웹브라우저에 입력한 URL을 해당 웹서버에 통신하기 위해서는 해당 도메인의 IP주소가 필요합니다. 웹브라우저는 주소창의 URL에서 도메인 이름을 각 DNS서버를 통해 IP를 조회하여 서버와 통신을합니다.
서버와 서버간의 통신도 마찬가지로 DNS를 통해서 서버의 우편 번호와 같은 IP를 찾아서 데이터를 원하는 목적지에 전송을 하도록 합니다.
[가정용 PC의 경우 DNS 역할]
PC의 환경은 주로 KT, SK등 통신사(ISP사업자)를 통해 가설된 네트웍 망을 이용하므로 해당 통신망을 관리하는 통신사의 DNS를 이용하여 도메인 주소를 IP주소로 변환합니다. 그리고 IP주소를 통해서 해당 웹서버로 호출하여 데이터를 받을수 있게 됩니다.
[서버 또는 클라우드의 경우 DNS 이용]
서버의 경우도 마찬가지 각 이통사 (KT, LG U+, SK)에서 제공하는 인터넷 망을 이용하게 되므로 통신사의 DNS을 이용하는 것이 일반적입니다. 그러나 웹서비스는 글로벌 국가간의 데이터 전송과 해외 서비스간의 연계가 필요하고
또 각 통신사의 망과 연계가 되어야 합니다. 그래서 최근의 서비스 들은 구글의 DNS(8.8.8.8)를 이용하도록 설정을 합니다.
그렇다면 구글의 DNS는 한국내의 모든 서버들이 DNS 요청을 응답하는데 엄청난 량의 DNS 조회 트레픽을 부담한다는 것을 알 수 있습니다. 물론 DNS도 이러한 조회를 위해서 한대의 서버가 아니면서 캐싱을 이용해서 빈번한 호출을 줄이기는 합니다.
[통신사별 DNS 서버 IP 목록]
KT
기본 DNS 서버 : 168.126.63.1
보조 DNS 서버 : 168.126.63.2
LG U+
기본 DNS 서버 : 164.124.101.2
보조 DNS 서버 : 203.248.252.2
SKT
기본 DNS 서버 : 219.250.36.130
보조 DNS 서버 : 210.220.163.82
구글 (Google Public)
기본 DNS 서버 : 8.8.8.8
보조 DNS 서버 : 8.8.4.4
[DNS의 기본기능]
DNS의 기본기능은 도메인 주소를 IP주소로 변환하는 것이라고 하였습니다. 이를 위해서 추가적인 기능으로 메일 주소 변환이나 대량의 네트웍 처리를 위해 분산 시스템으로 구성되는 복잡한 기술도 있다는 것으로 마무리 드립니다.
[메일주소와 DNS의 조화]
DNS는 HTTP 뿐만아니라 웹메일 같은 경우 메일 주소에 포함된 도메인 주소로 해당 메일 서버 (MX : Mail Exchange) 서버의 주소를 변환하는 역할을 하는 대량의 트레픽을 처리해야 합니다.
[분산 DNS]
DNS는 웹서버보다 많은 트레픽이 처리 되어야 하므로 캐싱이나 분산화로 대규모의 네트웍을 사용할수 있게 하고 있습니다.
'DevOps' 카테고리의 다른 글
[소켓]C / C ++의 소켓 프로그래밍 (0) | 2020.12.08 |
---|---|
■(꿀팁)-웹서비스 성능 최적화 - 브라우저 prefetch,preconnect (0) | 2020.11.08 |
■(꿀팁)-웹서비스 성능 최적화 - dns-prefetch (0) | 2020.11.08 |
■(꿀팁)-OAuth는 무엇입니까? (0) | 2020.10.07 |
CentOS Docker 꿀팁 - Portainer 이미지 템플릿 사용하기 (0) | 2020.09.29 |
Open API platform Kong 소개 (0) | 2018.09.25 |
[CentOS&Linux] Daemon management with systemctl (systemd를 위한 nginx 데몬 관리 스크립트) (0) | 2017.08.22 |