zoukankan      html  css  js  c++  java
  • DHCP Option 60 的理解

     原文地址:
     
    首先还是看看RFC咋说的吧。DHCP 是RFC2131定义,DHCP 2132定义了dhcp option .

    9.13. Vendor class identifier

       This option is used by DHCP clients to optionally identify the vendor
       type and configuration of a DHCP client.  The information is a string
       of n octets, interpreted by servers.  Vendors may choose to define
       specific vendor class identifiers to convey particular configuration
       or other identification information about a client.  For example, the
       identifier may encode the client's hardware configuration.  Servers
       not equipped to interpret the class-specific information sent by a
       client MUST ignore it (although it may be reported). Servers that
       respond SHOULD only use option 43 to return the vendor-specific
       information to the client.
    (这个选项作用于client可选地识别client厂商类型和配置,这个信息是n个8位编码,由dhcp服务端解析,厂商可能会为client选择定义特殊的厂商类标识符信息,以便表达特殊的配置或者其它关于client的信息。比方:这个标识符可能编码了client的硬件配置。client发送过来的server不能解析的类规范信息必须被忽略(虽然可能会有报告),server响应厂商规范信息到client应该只通过Option 43来完毕。

       The code for this option is 60, and its minimum length is 1.

       Code   Len   Vendor class Identifier
       +-----+-----+-----+-----+---
       |  60 |  n  |  i1 |  i2 | ...
       +-----+-----+-----+-----+---

    从rfc中能够看出,dhcp 60选项主要是用于client报告自身厂商以及配置信息的,server不能解析的 类标识符的应该被忽略,这个选项仅仅是client发包报告自己的信息,client和server端交换厂商信息的应该是由option 43来完毕。

    未完,待续。。。(抓包观察下pxeclient的信息,这TM做PXE的启动非常久了,一直纠结这个60是干嘛的,并且windowsDHCPserver我没加60也没见怎么着)
     
    接着来吧,看看实际的包是啥样 ,測试环境为将笔记本和DHCPserver用一根网线直连。
    首先重新启动笔记本,然后启动的时候按F12让机器从网络启动,服务端进行抓包,查看收到的来自于笔记本的DHCP请求的包,例如以下图
    DHCP Option 60 的理解 - 小陈 - 岁月的沉淀
     能够清楚的看到,wireshark抓到的来自于笔记本的网卡启动的DHCP请求包括option 60选项,wireshark定义的option 60为 厂商类标识符,值为"PXEClient:Arch:00000:UNDI:002001"  
     
    然后启动系统,查看笔记本操作系统发出的DHCP请求包内容,例如以下图
     
    DHCP Option 60 的理解 - 小陈 - 岁月的沉淀
     
     
    从图中能够看到操作系统发出的DHCP请求也包括option 60选项,值为“MSFT 5.0"
     
    ======================================================================================================================
    在internet上看到的一段文字:
     
    1、支持OPTION60(Authentication for DHCP Messages)
    功能描写叙述:
     OPTION 60功能用来完毕基于标准DHCP协议,以在client输入username和password的方式进行的地址鉴权。在机顶盒中仅仅保留应用层帐号和password,应用层帐号为8位数字,在OPTION60使用接入层帐号,帐号为“ad”+应用层帐号+“@iptv”,password和应用层password一致,眼下password暂定为固定值123465。 应用层username和password一旦输入之后,应储存在硬件之中。当PPPOE与DHCP接入模式相切换时假设之前已经输入过应用层username与password,则要求无需再次输入,直接过渡至新的接入方式。
     
    2、支持OPTION 125(Vendor-ldentifying Vendor Options)
    功能描写叙述:
    OPTION 125功能是对标准DHCP协议一个补充标准,该功能的标准定义在RFC 3925中。DHCPserver在完毕验证将client的IP地址等信息封装成DHCP OFFER包的时候,将OPTION 125信息封装DHCP OFFER包中再发送给client。 client收到OFFER包以后,首先查看该OFFER包所带的OPTION 125的“Option-data 1”字段中所填写的特征值,并与预先存储的信息进行比对。比对结果为同样则使用此OFFER,假设比对结果不同或OFFER包中不带OPTION 125,则将此OFFER丢弃。
     
  • 相关阅读:
    oracle之 关闭透明大页
    Mac下使用sublime Text打开隐藏目录
    win下gosublime配置ctag
    Qless 相关知识
    Redis 的 Lua 脚本支持
    HTTP TCP UDP Socket 关系的几个经典图
    golang rpc 简单范例
    golang fatal error: all goroutines are asleep
    JSON 解析的可抛弃
    golang label breaks
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4297091.html
Copyright © 2011-2022 走看看