zoukankan      html  css  js  c++  java
  • 第十一章 名称解析和与域名系统

    名称解析和与域名系统

    互联网支持使用主机名称来识别包括客户机和服务器在内的主机。主机名称通过名称解析的过程转换成IP地址

    DNS是一个分布式的客户机/服务器网络数据库,TCP/IP应用程序使用它来完成主机名称和IP地址之间的映射。


    DNS协议

    DNS协议由两部分组成:

    • 用于执行对DNS特定名称查询的查询/响应协议
    • 名称服务器用于交换数据库记录的协议(区域传输

    过程如图所示:

    1. A.HOEM上的解析软件首先向本地名称服务器GW.HOME发送请求,请求将某域名如EXAMPLE.COM转化成一个IP地址
    2. 很遗憾GW.HOME不知道这个IP地址,也不知道哪里有这个域名或是COM TLD的名称服务器,于是它转发到另一个DNS服务器例如ISP提供的服务器//这个过程称为解析
    3. ISP提供的服务器也不清楚,所以它联系根服务器//根服务器不是递归的
    4. 因为根服务器不是递归的,所以其返回需要联系的COM TLD的名称服务器的信息,例如返回名称A.GTLD-SERVERS.NET以及一个或者多个它的IP地址
    5. 根据根服务器提供的信息,ISP服务器就找到了gTLD服务器。
    6. gTLD服务器给出了域名EXAMPLE.COM的名称服务器和服务器的IP地址,例如A.IANA-SERVERS.NET
    7. 基于6,ISP联系适当的服务器
    8. 该服务器返回请求的地址
    9. ISP服务器把地址返回给GW.HOME
    10. GW.HOME再返回查询请求

    DNS消息格式

    基本的DNS消息格式用于所有的DNS操作(查询,响应,区域传输,通知和动态更新

    如图所示:

    名称 解释
    事务ID 客户端设置,服务器返回,在客户端用于匹配响应和查询
    QR 查询(0),响应(1)
    OpCode 操作吗,0表示查询,4表示通知,5表示更新,其他值无效
    AA 表示授权回答
    TC 表示截断回答,使用UDP时,当应答的长度超过512字节时,只返回前512个字节
    RD 期望递归,设置表示支持递归查询,但是对不支持递归的服务器没有效果,例如根服务器
    Z 置0,为将来保留
    AD 设真表示信息是已授权的
    CD 设真表示禁用安全检查
    RECODE 响应码,具体见P370

    随后的四个字段表示组成DNS消息的问题、回答、授权和额外信息区段中的条目的数目


    标签

    数据标签以一字节的计数开始,该计数指定其后的字节数目。 名称以值为0结束。如图所示:

    注意,每个标签的长度必须在0和63之间

    压缩标签,如图所示:

    首字节偏移量为0,如果出现了重复的标签既可以压缩。在重复出现的某个位置的字节两个高位置1,然后其后的14个字节组成一个偏移量。例如图中重复出现的edu,偏移量为4,两个高位置1后,其余为0则为192+后面置为4

  • 相关阅读:
    [loss]Triphard loss优雅的写法
    [Pytorch]Pytorch中tensor常用语法
    [pytorch]pytorch loss function 总结
    [Pytorch]Pytorch的tensor变量类型转换
    [Pytorch]Pytorch中图像的基本操作(TenCrop)
    caffe深度学习网络(.prototxt)在线可视化工具:Netscope Editor
    samba网络共享
    openwrt开发笔记三:uci移植及API调用
    openwrt开发笔记二:树莓派刷openwrt
    git跟踪忽略规则文件.gitignore
  • 原文地址:https://www.cnblogs.com/Huzr/p/8849237.html
Copyright © 2011-2022 走看看