Java构建TCP/IP协议:DNS,域名理会协议体系的运行流程
起首是题目名字,这个字段长度可变,存储的是要查询的域名,以0作为末了。第二个是题目范例,它是2字节,用于表白查询的范例,取值1暗示查询域名对应IP,取值2查询处事器名称,详细范例在后头我们用到时再具体接头。最后是题目种别,一样平常而言写死为1。 这里我们讲授一下Question Name对应的字符串布局,譬喻对付字符串:www.baidu.com,它的对应名目为[3]www[5]baidu[3]com,个中[]内暗示接下来字符个数,譬喻[3]暗示后头随着3个字符www,[5]暗示接下来随着5个字符,留意到这些数字地址位置正好对应字符串中标记点地址位置。 接下来我们看Answer Resource Records 的布局,处事器收到客户端哀求,完成理会事变后,把理会信息存储在该布局里发回给客户端。它的布局如下,第一个是名字字符串,可变长,它对应要理会的域名或处事器名称。接捉崆资源范例,2字节,表白资源的范例,假如取值是5,那么接下来对应着域名处事器对应的字符串名称,接捉崆资源种别,2字节,一样平常配置成1;接着是TTL(Time To Live),4字节,表白这些信息能在缓存中存储多久;接着是RDLength,2字节,用于表白接下来内容的长度;最后是响应内容,假如资源范例是5,那么内容就是字符串,假如是1,那么内容就是4字节的IP地点,该数据范例对应的名目外观如下: 这里值得提到的是,假如资源范例5,那么对应的字符串才是“真正”域名,譬喻下面表现内容: 它表现的是,一开始我们行使域名“pan.baidu.com”去举办域名理会,此时理会处事器没有直接返回该域名对应的IP,而是返回另一个域名yiyun.n.shifen.com,前面”pan.baidu.com”着实是一个体名,打个例如,一小我私人可以行使化名和真名,化名可以随时变,真名则要跟身份证绑定。同样的原理,pan.baidu.com这个域名可以按照必要随时变革,譬喻往后它可以酿成pen.baidu.com,可是第二个域名就独一绑定一台处事器,我们只有拿这个域名去查询才气找到对应的IP。 为了简朴起见,其他两种资源的数据名目我们暂且放一放,往后必要的时辰才研究,在下一节我们将行使代码实现本节描写的DNS域名理会流程。
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |