dns报文域名压缩
来源:互联网 发布:linux nas挂载 编辑:程序博客网 时间:2024/06/07 15:53
1. 不压缩的DNS 域名示例
示例一
3
www
6
3
com
\0
示例二
2
ns
9
xinnetdns
3
com
\0
以上数字(绿色背景框)表示计数,占用一个字节(它的值表示随后的标识符字节数),接着是标识符,大小为1~63个字节,最后以字符 ‘\0’ 结尾。
对于MX请求返回的域名,前面2个字节用来标记邮件服务器的preference(优先级),并且对于压缩的格式也一
样。
示例三
50 (preference,2字节)
5
tommx
3
163
3
net
\0
2. 压缩的DNS域名示例
DNS返回的报文可能包括多个重复的域名,因此使用压缩方式。
压缩方法很简单,当一个域名中的标识符是压缩的,它的“计数”字节中的最高两位将被设置为11。
这表示它是一个16 bit指针而不再是8 bit的计数字节。指针中的剩下14 bit表示该标识符在D N S报
文中所在的位置偏移(相对于DNS报文头)。注意一个指针可能指向一个完整的域名,也可能只指向
域名的结尾部分,并且一个域名也可以前半部分不压缩,仅对后半部分才应用指针压缩。此外嵌套压缩
也是存在的,即指针指向的域名也可能是压缩的(包含一个指针)。
另外有两点需要注意:
(1) 一个域名仅能包含一个指针,要么只有两个字节就只包含一个指针,要么只在结尾部分跟随一个指针。
(2) 包含指针的域名无须以字符 ‘\0’ 结尾。
原文连接如下:
点击打开原文链接
阅读全文
0 0
- DNS报文域名压缩
- dns报文域名压缩
- DNS域名压缩
- DNS报文
- DNS报文
- dns域名
- DNS报文解析
- DNS报文格式
- 总结:DNS报文格式
- DNS协议 报文格式
- DNS协议报文(RFC1035)
- DNS报文格式
- DNS 报文格式
- DNS报文格式分析
- DNS协议报文(RFC1035)
- DNS协议报文(RFC1035)
- DNS的报文格式
- DNS报文格式
- 进制计算
- Django根据现有数据库,自动生成models模型文件
- Codeforces Round #423 (Div. 2) C. String Reconstruction(字符串)
- POJ 3192 DNA Assembly 笔记
- light oj 1220 Fantasy of a Summation
- dns报文域名压缩
- string类型转int类型的三种方法速率比较
- js获取网页各种宽高
- 并行wordcount的MapReduce实现
- Electron通过ffi调用DLL
- poj bfs与dfs总结之2251 Dungeon Master
- 一步一友,Vue初学者进阶案例
- 字节对齐
- SpringMVC 出现"The request sent by the client was syntactically incorrect ()"解决办法