Sep 172012
 

DNS는 HTML과 달리 정해진 형식으로 구성된 프로토콜입니다.

워낙 작은 데이타로 값을 요청하고, 응답해야 하기 때문에 나름대로의 규칙이 있습니다.

특히 응답값을 패킷 캡쳐를 해서 보면 재미있는 현상이 있습니다.
실제 결과를 nslookup이나 dig를 통해서 결과를 보면 데이타의 양이 많습니다. 하지만 많은 양에 비해서 패킷의 수치는 그리 많지 않습니다.

이를 처리하는 부분이 도메인 데이타에 대해서 압축(?)을 하는 방법을 사용합니다. 우리가 일반적으로 알고 있는 압축이 아니고, 이미 사용했던 패킷의 데이타를 재사용함으로써 데이타 압축을 한 효과를 내고 있습니다.

RFC에서 DNS 프로토콜에서 데이타 압축 기법에 대한 설명 자료

http://tools.ietf.org/html/rfc1035#section-4.1.4

이러한 기법에 대해서 설명한 자료를 찾지 못해서 RFC와 패킷 캡쳐한 결과로만 알고 있다가 예전에 인터넷으로 검색해서 찾은 자료입니다. 예전같으면 원서라도 구입해서 보겠지만, 요새는 인터넷에서 원서를 공개하고 있어서 원하는 부분만 쉽게 볼수 있어서 좋은것 같습니다.

http://www.tcpipguide.com/free/t_DNSNameNotationandMessageCompressionTechnique.htm

위의 TCP/IP Guide 책을 보면 RFC보다 쉽게 이해가 가능합니다.

하지만 이러한 사실을 눈으로는 쉽게 이해가 되지만, 이를 구현을 하다 보면 여러가지 문제점이 있다는 것을 알수 있습니다.
구현에 대해서는 다음에 다시 한번 정리를 해보도록 하겠습니다.

Print Friendly

Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /home/smlee/blog/wordpress/wp-content/plugins/seo-facebook-comments/seofacebook.php on line 488

Warning: Invalid argument supplied for foreach() in /home/smlee/blog/wordpress/wp-content/plugins/seo-facebook-comments/seofacebook.php on line 490

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Plugin from the creators of Brindes :: More at Plulz Wordpress Plugins