背景: #EDF0F5 #FAFBE6 #FFF2E2 #FDE6E0 #F3FFE1 #DAFAF3 #EAEAEF 默认  
阅读新闻

DNS什么时候用UDP什么时候用TCP来传输解释

[日期:2007-03-14] 来源:blog.chinaunix.net  作者:mldfe [字体: ]
最近在处理一些DNS问题,考虑用了4层交换机来实现,根据4层交换机来说做负载均衡是采用TCP或DUP负载来做的,这时候我想DNS用的是53端口,53是TCP和UDP工用的,那么什么时候用TCP什么时候用UDP呢?下面是我看书结合下自己找出来的答案.
 
主要是查看DNS报文首部中的标志字段,DNS数据头部有些啥东西自己翻书咯,这里不在写出来:
[QR][opcode][AA][TC][RD][RA][(zone)][rcode]
 
主要关注字段为TC字段,当TC字段为1时,表示应答总长度超过512字节,只返回前512个字节,这时DNS就需要使用TCP重发原来的查询请求。因为在 UDP的应用程序中,其应用程序被限制在512个字节或更小,因此DNS报文穿数据流只能有512字节,而TCP能将用户的数据流分为一些报文段,因此 TCP就能用多个报文段去传超过512字节的数据流或是任意长度的数据流。
 
大多数书只写DNS使用DUP 53端口,这并不完整,会导致别人误解,认为DNS只用UDP,不用TCP,呵呵。
 
详细可查看RFC1035,连接:
 
http://www.ietf.org/rfc/rfc1035.txt
 
我也是参考<TCP/IP详细卷1> Richard Stevens著,Stevens大叔的书写得都很精彩,特别是TCP/IP详细卷那三部.
相关网站:企业邮箱 企业邮局 企业邮箱申请 企业邮箱注册 21cn企业邮箱 上海企业邮箱
阅读:
录入:admin

推荐 】 【 打印
上一篇:了解SIP--当今最热门的通信协议已经发展成熟
下一篇:SMTP协议详解,发送Email,支持密码验证,发送实例
相关新闻      
本文评论       全部评论
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款