- 浏览: 314666 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
JQ_AK47:
...
Linux下直接发送以太包 -
winsen2009:
谢谢分享,如果能再来一个列子就更好了,刚接触看完还是不懂的用
UNPv1_r3读书笔记: SCTP编程
本文档的Copyleft归yfydz所有,使用GPL发布,可以自由拷贝,转载,转载时请保持文档的完整性,严禁用于任何商业用途。
msn: yfydz_no1@hotmail.com
来源:http://yfydz.cublog.cn
msn: yfydz_no1@hotmail.com
来源:http://yfydz.cublog.cn
1. 前言 目前IP资源属于有限资源,申请一个静态IP的成本基本相当于动态IP的10倍以上,因此很多用户选择动态IP方式来连接互联网,但这就带来一个问题,就是如果想向外提供服务时如何让互联网上其他用户知道自己的地址呢?动态DNS就用于解决这个问题。 具体过程描述如下:用户先到动态DNS服务提供商处申请一个域名,有收费的也有免费的,以后每次获取动态IP地址后,使用DNS更新协议更新 DNS服务提供商中的域名对应的IP,这样其他用户只要知道域名就可以了,每次访问该域名就会解析回当前的动态IP地址,从而可以进行访问。 动态DNS协议并不是什么新技术,只是利用了DNS协议中的更新技术,只是以前静态条目时更新机会较少,如今更新比较频繁而已,具体协议在RFC2136中定义。 2. 比较规则 1) 当两个RR(Resource Record, 资源记录)的名称、类别、类型、资源数据长度、资源数据域相同时,则这两个资源记录相同; 2) 名称里的字符串比较规则在RFC1035 2.3.3节中指定; 3) 不允许使用通配符“*”; 4) 不允许使用别名; 5) 在资源记录集中不允许使用以下的资源记录类型:SOA(Start of Authority),WKS(Well Known Service),CNAME(Canonical Names) 以下是为实现RR更新而定义的一些新的属性类型: CLASS = NONE (254) RCODE = YXDOMAIN (6) RCODE = YXRRSET (7) RCODE = NXRRSET (8) RCODE = NOTAUTH (9) RCODE = NOTZONE (10) Opcode = UPDATE (5) 3. 更新(UPDATE)消息的数据格式 3.1 整体数据格式 DNS消息的格式在RFC1035中定义,更新消息的格式如下: +---------------------+ | Header | 消息头,表示是UPDATE消息,以及后面字段的长度 +---------------------+ | Zone | 指定要更新的区段 +---------------------+ | Prerequisite | 前提段,必须已经存在(更新)或不存在(新建) +---------------------+ | Update | 更新段 +---------------------+ | Additional Data | 附加数据 +---------------------+ 3.2 消息头格式 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ID | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ |QR| Opcode | Z | RCODE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ZOCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | PRCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | UPCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ADCOUNT | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ 各部分说明如下: ID:16位,请求的标志号,在回应包中ID号要和请求包中的相同; QR:1位,表示是请求(0)还是响应(1); Opcode:4位,操作类型,对于UPDATE类型为5; Z:7位,保留,必须置0; RCODE:4位,响应码,可取如下值: Mneumonic Value Description ------------------------------------------------------------ NOERROR 0 正确无错误 FORMERR 1 格式错误,服务器不能解析请求 SERVFAIL 2 服务器失效 NXDOMAIN 3 本应存在的域名不存在 NOTIMP 4 服务器不支持指定的操作类型 REFUSED 5 服务器因为策略或安全原因拒绝执行指定的操作类型 YXDOMAIN 6 本应不存在的域名存在 YXRRSET 7 本应不存在的RR集存在 NXRRSET 8 本应存在的RR集不存在 NOTAUTH 9 服务器无权认证在区段中的名称 NOTZONE 10 在前提段或更新端中使用的名称没在区段中 ZOCOUNT:在区段中的RR的数目; PRCOUNT:在前提段中RR的数目; UPCOUNT:在更新段中RR的数目; ADCOUNT:在附加段中RR的数目; 3.3 区段部分 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | / ZNAME / / / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ZTYPE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ZCLASS | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ ZNAME:区段名称 ZTYPE:必须为SOA ZCLASS:区段的类别 3.4 前提段部分 1 1 1 1 1 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | / / / NAME / | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | TYPE | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | CLASS | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | TTL | | | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | RDLENGTH | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--| / RDATA / / / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ NAME:该资源记录所属的域名 TYPE:2字节,RR类型码,该字段确定RDATA域的意义 CLASS:2字节,指定RDATA域数据的类别 TTL:32位无符号整数,指定RR在丢弃前应该保留的时间,以秒为单位 RDLENGTH:16位整数,说明RDATA域长度 RDATA:描述资源的变长字符串 前提段可说明以下几种情况: (1) RR集存在,取值独立,至少存在一个指定名称和类型的RR (2) RR集存在,取值是相关的,存在一组指定名称和类型的RR (3) RR集不存在; (4) 名称已经被使用; (5) 名称未被使用; 3.5 更新段部分 这个部分格式和前提段相同,包含要在区段中增加或删除的RR,可说明以下几种情况 (1) 增加RR到RR集 (2) 删除一个RR集 (3) 从名称中删除所有RR集 (4) 从一个RR集中删除一个RR 3.6 附加段部分 这个部分格式和前提段相同,包含与更新段自己或者要添加的新RR相关的RR。 4. 服务器端的操作 服务器收到了UPDATE请求后,如果不能识别该UPDATE请求或者服务器没实现该功能,将回应一个NOTIMP消息给请求端。然后依次分析区段、前提段、更新段和附加段的数据,如果没有错误发生,则完成RR的更新操作,服务器在向请求端回应前要将更新结果保存到非易失存储器(通常就是硬盘) 中,服务器要保证每个更新操作是原子的。 5. 结论 现在已经有了很多支持DDNS的客户端更新软件,如花生壳等,这样只要从DDNS服务提供商申请域名后,每次拨号获取动态地址后可以用这些更新软件更新域名地址,这样就不用申请固定IP地址也能自动向外提供服务,而动态IP比静态IP要便宜得多。 6. 附录 一些DDNS服务提供商地址: http://www.2mydns.com/ http://www.adsldns.org/ http://freedns.afraid.org/ http://www.dnsart.com/ http://www.blrf.net/dyndns/ http://www.changeip.com/ http://www.cjb.net/ http://dynamicdns.constanttime.com/ http://www.cm.nu/cmdns/ http://www.darsite.com/eng http://www.ddns.nu/ http://www.ddts.net/ http://dns2go.deerfield.com/ http://www.dfdns.com/ http://www.dhis.org/dhis/ http://www.dhs.org/ http://www.dns4biz.de/ http://www.dnsexit.com/ http://www.dnsmadeeasy.com/ http://www.dnspark.com/ http://www.dnswiz.com/ http://www.dnsd.be/ http://www.dnsq.org/ http://www.dtdns.com/ http://www.dyn.ca/ http://www.dyn.ee/ http://www.dyn.to/ http://www.dynaccess.de http://www.dynamic-dns.de/ http://www.dynamip.com/ http://www.dyn.ro/ http://dyndns.1kr.net/ http://www.dyndns.com/ http://dyndns.dk/ http://www.dyndns.org/ http://www.dyndsl.com/ http://www.dynip.com/ http://www.dynips.com/ http://dyns.cx/ http://www.dynu.com/ http://www.dynup.net/ http://www.easydns.com/dynamicdns.php3 http://www.eddns.com/ http://www.elmit.com/ http://www.enetcanada.ca/ddns/ http://www.everydns.net/ http://www.evilroot.org/ http://www.freealias.de/ http://www.getmyip.com/ http://www.hn.org/ http://www.homepc.org/ http://www.hldns.com/ http://www.io.com/products/ddns.html http://www.inside.net/dns/ http://www.ipupdater.com/ http://www.microtech.co.gg/dns/ http://ddns.mindriot.net/ http://www.minidns.net/ http://www.myinternet.com/ http://www.myserver.org/ http://www.name-keeper.com/ http://nerdcamp.net/dynamic/dns.cgi http://www.nettica.com/ http://www.nexuz.net/ http://nicolas.cx/ http://www.nols.com/ http://www.no-ip.com/ http://www.ods.org/ http://www.orgdns.org/ http://www.ownip.net/ http://www.pimpdomain.com/ http://www.planetdns.net/ http://www.powerdns.com/ http://www.prout.be/dns/ http://www.routeyourdomain.com/ http://www.selfhost.com/ http://websvr.net/DynamicHost/ http://www.sitelutions.com/info/sldns http://www.soliddns.com/ http://www.staticcling.org/ http://www.thatip.com/ http://www.tjns.tj/ http://www.tzo.com/ http://uck.me.uk/ http://www.webreactor.net/ http://www.whyi.org/ http://dns.widge.net/ http://www.worldwidedns.net/ http://www.xdisk.co.uk/ http://www.yyweb.com/DDNS/ http://www.zeropain.com/ http://www.zfc.com/vdns/ http://www.zoneedit.com/
发表评论
-
Linux内核中流量控制(24)
2011-01-10 16:33 2208本文档的Copyleft归yfydz所 ... -
Linux内核中流量控制(23)
2011-01-10 16:30 1492本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(22)
2011-01-10 16:29 1936本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(21)
2011-01-10 16:28 1350本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(20)
2011-01-10 16:27 1525本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(19)
2011-01-10 16:27 1978本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(18)
2011-01-10 16:26 1569Linux内核中流量控制(18) ... -
Linux内核中流量控制(17)
2011-01-10 16:25 1945本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(16)
2011-01-10 16:25 1801本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(15)
2011-01-10 16:24 1888本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(14)
2011-01-10 16:23 1958本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(13)
2011-01-10 16:22 2636本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(12)
2011-01-10 16:21 2109本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(11)
2011-01-10 16:21 3233本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(10)
2011-01-10 16:20 2004本文档的Copyleft归yfydz所 ... -
Linux内核中流量控制(9)
2011-01-10 16:19 1830本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(8)
2011-01-10 16:18 1496本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(7)
2011-01-10 16:18 2923本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(6)
2011-01-10 16:17 1492本文档的Copyleft归yfydz所有,使用GPL发布,可以 ... -
Linux内核中流量控制(5)
2011-01-10 16:16 1727本文档的Copyleft归yfydz所有,使用GPL发布,可以 ...
相关推荐
关于动态DNS(DDNS)的研究逐渐引起了人们的关注,不同的平台都推出了自己的解决方案。本文将详细介绍Linux环境下DDNS的解决方案,即由Internet Software Consortium(ISC)开发的BIND-DNS和DHCP(Dynamic Host ...
在Linux下实现动态DNS不仅需要Bind 8以上的DNS软件,还要有DHCP Server v3.0以上版本,因为只有3.0以上的版本才完全实现了对DDNS的支持。因此,本文的实现环境采用...文中详细介绍Linux环境下安全、动态DNS的实现方法。
主要介绍了动态dns是什么意思?本文讲解了什么是动态dns,并用一个实例讲解了动态DNS的使用,需要的朋友可以参考下
速度慢的令人难以忍受,不得已我们采取了在不同运营商处分别放置服务器的方式来解决,原来已经介绍过,可以通过cache来比较方便的解决不同服务器内容同步问题,这次主要介绍如何通过动态智能DNS,来将用户自动导向...
主要介绍了使用Java实现DNS域名解析的简单示例,包括对一个动态IP主机的域名解析例子,需要的朋友可以参考下
DNSAdmin 是一个开放项目,旨在创建一个简单方便的工具,以提供对动态 DNS 更新的支持以及在发生更改时立即传播此更新的功能,所有这些都基于 DNS-BIND 服务器实现。 DNSAdmin 客户端背后的主要思想是您通过 HTTP ...
在系统设定下,大多数微软DNS服务的每个DNS记录都整合了允许非安全的动态升级的动态目录索引。这项功能能够允许远程用户创建修改和删除DNS记录。本文介绍了基于此的几个攻击方式。
Internet自动动态DNS客户端 始终可以从GitHub获得最新版本:目录介绍Inadyn或In-a-Dyn是具有HTTPS支持的小型且简单的动态DNS 客户端。 在许多GNU / Linux发行版中普遍可用,用于现成的路由器和Internet网关,以自动...
如果用户使用Windows 2000 Server作为计算机的操作系统,可以通过安装服务、协议与工具并...基于这三种服务器在整个网络连接中的重要作用,本章介绍如何创建和配置DNS服务器、DHCP服务器和WINS服务器及其相关的知识。
图7 DNS管理器中新建正向查找区域 (二)在接下来的配置中要注意,"区域类型"选择"主要区域","区域名称"输入A 的域名,"区域文件"选择默认的创建新文件,"动态更新"选择"不允许动态更新",点击 完成后即可。...
哥达迪介绍用于动态更新GoDaddy DNS记录的脚本。 我使用GoDaddy托管域的DNS,我想将该域中的A记录指向IP地址偶尔更改的主机。 GoDaddy具有执行此操作的API,因此发生了这种情况。 这个包,特别是这个README.MD,受到...
DNS服务器介绍dnspython是用于Python的DNS工具包。 它支持几乎所有记录类型。 它可用于查询,区域传输和动态更新。 它支持TSIG身份验证消息和EDNS0。 dnspython提供对DNS的高级别和低级别访问。 高级类对给定名称,...
主要介绍了Python脚本实现DNSPod DNS动态解析域名,本文直接给出实现代码,需要的朋友可以参考下
主要为大家介绍了用vbs实现修改dns的代码,需要的朋友可以参考下
用虚拟机装了个CentOS,使用的NAT的网络模式,采用的是动态ip,所以ip经常莫名其妙的就变了。 如果只用putty这类工具还好,只需要改一下ip地址就可以了。但在项目中,很多地方,都需要指定虚拟机的ip地址。这样一来...
将N e t B I O S计算机名转换为对应I P地址的服务以及为进入网络的客户机动态地分配 I P地址的服 务。它们的主要作用在于将计算机能够识别的 I P地址与现实中人们使用的诸如 w w w. s i n a . c o m 或J a c e ...
0.简要介绍AliCloudDynamicDNS是基于.NET Core开发的动态DNS解析工具,内置阿里云的DNS API来实现域名与动态IP的绑定功能。这样您随时就可以通过域名来访问您的设备,而不需要担心IP移动的问题。1.使用说明使用本...
介绍 在这个项目中,我们实现了一个 CDN 系统。 这个系统有三个组成部分: DNS服务器,负责为客户端寻找IP地址。 请注意,在此项目中,我们的 DNS 服务器将仅对已指定 (-n) 的查询做出React。 其他主机的 DNS 查询...
介绍动态域名解析系统(DDNS)了解该系统的架构及工作原理,并且对与动态域名解析系统相关的几个问题进行了讨论。
首先,Nacos是一个开源的服务发现、配置管理和动态DNS解析系统,它提供了注册中心、配置中心和命名空间等核心功能。在面试中,面试官可能会问到Nacos的基本概念和特点,例如服务注册、服务发现、配置管理、动态DNS...