A PHP Error was encountered

Severity: Notice

Message: Undefined index: HTTP_ACCEPT_LANGUAGE

Filename: libraries/user_agent_parser.php

Line Number: 226

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/dcoms_webd2/public_html/_system/core/Exceptions.php:185)

Filename: core/Input.php

Line Number: 286

A PHP Error was encountered

Severity: Notice

Message: Undefined index: HTTP_ACCEPT_LANGUAGE

Filename: libraries/user_agent_parser.php

Line Number: 226

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/dcoms_webd2/public_html/_system/core/Exceptions.php:185)

Filename: libraries/Session.php

Line Number: 688

Customer > 기술자료실 - DNS의 중요성

Customer

기술자료실

home  >  Customer  >   기술자료실

제목 DNS의 중요성
작성자 관리자 2016-12-23 1452

DNS 는 왜 중요한가

DNS 가 인터넷에 필수적인 요소라는 것은 알겠지만 왜 DNS 가 중요한지 생각해볼 필요가 있다. DNS 서비스를 웹에서 무료 (에 가깝게) 제공한다는 것이 얼마나 고마운 일인지 DNS 서버를 구성해보거나 관리해본 경험이 있다면 알 수 있다. 인터넷이란 공간이 얼마나 공개된 공간인지 아주 개인적으로 만든 서버도 조금만 보안에 소홀히 하면 몇일 안되어서 스팸 메일을 보내는 서버로 바뀌거나 특정 서버를 공격하기 위한 릴레이 서버 (relay server) 로 약용되기 쉽다. 즉, 일반적 사용자이 사용과 악의적 공격자의 공격을 구별해서 이를 적절하게 걸러내지 않으면 특정 서버는 동시에 엄청난 접속을 만들어 내서 서버의 성능 이상의 요청을 지속적으로 해서 서비스를 중지하게 만드는 디도스 (DDoS ; Distributed Denial of Services) 공격을 만들어 낼 수 있다. 즉, 어떤 서버가 한번에 1억명 동시 접속자를 받을 수 있을 때 5억명 정도의 접속을 특정 서버에 들어가게 만들 수 있다.
 

DNS Hijacking: 사용자에게 악의적인 DNS 정보를 사용하도록 하여 해킹에 이용될 서버에 접속하도록 유도한다.


따라서 보안이 잘 되어 있는 서버는 이를 막기 위해서 특정 IP 가 고정되지 않고 변동되면서 잘 관리해주고 여러개의 물리적인 서버들이 자원을 골고루 사용하여 분산되도록 노력한다. 만약 IP 가 고정되어 특정 IP 에 공격하게 된다면 DNS 서버를 거치지 않고 바로 IP 로 공격할 수 있다. ( yourdomain.com 의 IP 주소가 예를 들어 182.22.32.45 이라면 사용자는 yourdomain.com 을 입력하지 않고 IP 주소를 직접 넣어도 접속이 된다. 사실 조금은 더 빠를 수 있다.) 따라서 IP 로 직접 공격하는 정도는 가볍게 막을 수 있지만 그렇기 때문에 DNS 서버가 수많은 요청을 처리해야 한다. 문제는 이때 적절하게 악의적인 공격임을 파악하게 된다면 이를 거절하여 접속하지 못하게 하여 차단하고 일반적 사용자들도 불편없이 접속할 수 있도록 만들어 준다. DNS 서버도 결국 서버이다. 즉, 물리적인 컴퓨터란 말이다. 이 말은 서버에 연결된 네트워크 환경 (접속 환경, 백본망 속도 등) 뿐만 아니라 처리 성능 등에 따라서 인터넷의 실질적 (practical) 속도가 정해질 수 있다는 것이다.

인터넷 상에서 특정 사이트에 들어갈 때 걸리는 소요 시간을 보여주는 [ 서비스 ] 이다. 예를 들어 본 블로그를 들어갈 때 어떤 이미지를 내려받고 어떤 자바스크립트를 실행하며 어떤 자료들을 내려 받아서 블로그 초기 화면을 보여주는데 얼마나 시간이 걸리는지 보여준다. 이 서비스를 통해서 자신이 원하는 홈페이지에서 가장 많이 시간이 걸리는 요소가 무엇인지 알려준다. 그런데 이미지 하나를 받는 것만 해도 DNS / Connect / Send / ... / Receive 와 같이 구성되어 있는 것을 볼 수 있다. 즉, 아주 간단해 보이는 이미지 내려 받는 것만 해도 해당 이미지의 주소에 따라서 DNS 에서 해당 서버를 찾고 이에 연결 요청하고 연결해서 이미지를 내려받는 시간이 걸리는 것이다. 다만 화려한 (?) 인터넷 속도에 그 소요시간이 정말 눈깜짝할 사이도 안될 정도로 빠르다는 것일 뿐이다.
 

웹의 한페이지를 구성하기 위해 필요한 이미지, 스크립트 등을 내려받는 동안 걸리는 시간을 표시해준다. 분석을 통해 어떤 요소가 속도를 느리게 하는지, DNS 반응속도는 얼마나 빠른지 확인할 수 있다. 


그런데 만약 DNS 서버의 조회 후 결과 (IP 주소) 를 알려주는데 처리하는 시간이 오래 걸리는 성능이 안좋은 DNS 서버라면 이 시간은 늘어나게 된다. 이에 대한 실험은 아주 간단하게 해볼 수 있다. DNS 서비스를 변경해서 확인해보는 것이다.  따라서 DNS 서버가 얼마나 빠르게 반응하냐에 따라서 웹페이지가 표시되는 시간도 빠르게 될 수 있다. 얼마나 차이가 있을까 싶지만 개인적으로 동일한 블로그 페이지가 9초 가까이 걸리던 시간이 DNS 서비스 하나만 변경하여 5초 미만으로 지속적으로 나오는 것을 확인하게 되었다. 당연하지만 정확한 결과를 위해서 브라우저에서 이미 저장된 캐시 (cache) 내용은 지워주고 확인하는 것이 필요할 것이다.

 


 

218.159.7X.XXX

리스트






검색
Customer > 기술자료실
번호 제목 작성자 등록일 조회
28
관리자
2018-01-24
1010
27
관리자
2018-01-16
984
26
관리자
2017-02-16
1387
25
관리자
2017-02-16
1395
24
관리자
2017-02-16
1252
23
관리자
2017-01-10
3081
22
관리자
2016-12-29
1147
21
관리자
2016-12-29
1228
20
관리자
2016-12-29
1121
→
관리자
2016-12-23
1453
18
관리자
2016-12-23
1403
17
관리자
2016-11-18
2279
16
관리자
2016-11-18
1371
15
관리자
2016-06-20
3532
14
관리자
2016-06-13
2019
13
관리자
2016-06-07
3396
12
관리자
2016-04-12
5453
11
관리자
2016-03-24
1846
10
관리자
2016-03-23
1407
9
관리자
2016-02-01
2479