当我向具有dnssec的名称服务器发出请求时,响应有时不完整
我环顾四周,发现了一些有关问题的信息
2.3.4尺寸限制
http://tools.ietf.org/html/rfc1035
它说UDP messages 512 octets or less
要获得更大的响应,我需要EDNS0
,因此我可以收到最多4096 bytes.
我无法弄清楚如何使用/启用EDNS0
EDNS0信息:
http://tools.ietf.org/html/rfc2671
的修改
我必须发送一个OPT RR,我的请求是为了获得更多数据。我有一个来自microsoft的例子,但他们使用的是RRSIG类型。我想使用ANY类型。
http://img266.imageshack.us/img266/6707/optf.png
问题:
有人可以解释EDNS0如何工作以及我的选择rr无法正常工作的原因。(我使用与微软相同的例子)
答案 0 :(得分:0)
由于一些奇怪的原因,我的请求现在正在运作。
要求我发送:
01 01 01 00 00 01 00 00 00 00 00 01". domain2dns($domainname) ."00 00 ff 00 01 00 00 29 10 00 00 00 00 00 00 00
解释 EDNS 部分
Name: 00
Type: 00 29
UDP Payload size: 10 00
Higher bits in extended RCODE:00
EDNS0 version: 00
Z: 00 00
Data Lenght: 00 00
NAME - - 域名 - 空(根域)
TYPE - - u_int16_t ---- OPT
CLASS - u_int16_t ----发送者的UDP有效负载大小
TTL - - - u_int32_t ----扩展RCODE和标志
RDLEN - u_int16_t ----描述RDATA
RDATA - 八位字节流 - {attribute,value}对
问题解决了 thx伙计们:)