DNS 서버와 클라이언트를 만들어보고 있습니다. 궁금한점이.. DNS 패킷 헤더에는 2바이트 길이의 필드가 있는데, 데이터형은 unsigned short int 로 취급하고 값은 대부분 1 내지는 0 들어가거든요. 그런데 바이트오더를 어떻게 해주느냐에 따라서 0x00 0x01 이 들어갈수도 있고, 0x01 0x00 이 들어갈수도 있다는 생각이 들더군요.
일단 htons() ntohs() 함수를 사용해야 안전할까요?
RFC 를 가지는 네트웍 프로토콜들은 모두 다 Big-Endian 을 쓰는 것으로 알고 있습니다. (보통은 Endian 에 영향을 받지 않게 프로토콜을 구성하긴 하지만요;;)
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
RFC 를 가지는 네트웍 프로토콜들은 모두 다 Big-Endian 을 쓰
RFC 를 가지는 네트웍 프로토콜들은 모두 다 Big-Endian 을 쓰는 것으로 알고 있습니다.
(보통은 Endian 에 영향을 받지 않게 프로토콜을 구성하긴 하지만요;;)
댓글 달기