zoukankan      html  css  js  c++  java
  • DHCP底层参考

    [原创翻译,水平有限]

    ISC DHCP支持802.1的以太网帧,令牌环和FDDI等网络。为了桥接物理层和DHCP层,它还必须实现IP和UDP协议帧。

    这源于UNIX BSD socket 对未配置接口地址的接口的处理,或者在已配置接口地址的接口对广播地址的处理。DHCP协议严格遵循RFC2131,下面的流程是DHCP服务器,DHCP中继,DHCP客户端都需要执行:

    1. 从一个未配置地址的接口(没有IP地址)发送UDP报文: from IP:0.0.0.0 Ethernet:Self, destined to IP:255.255.255.255 LinkLayer:Broadcast;
    2. 在从这个未配置地址的接口接收UDP报文:from IP:remote-system LinkLayer:remote-system, destined to IP:255.255.255.255 LinkLayer:Broadcast;
    3. 在没有ARP报文传输的情况下,发送UDP报文:from IP:Self, Ethernet:Self, destined to IP:remote-system LinkLayer:remote-system; 
    4. 在这种情况下,接口就可以获得一个合适的单播IP地址。

    然而,在BSD socket上事情并没有这么简单,大多数unix实现广播,报文中的目的地址不是255.255.255.255,而是x.y.z.255(x.y.z是子网),这样的报文对大多数已知的DHCP客户端都是不能接收的。接收一个目的地址是255.255.255.255的报文对于现在的unix系统并不是什么问题,前提是接口已经配置了接口地址。一个没有配置地址的接口,就需要用到raw socket来处理报文了。

  • 相关阅读:
    firewall-cmd常用命令
    centos7添加硬盘扩展根分区
    win11拖动窗口造成崩溃的问题
    JedisCluster支持pipeline管道
    Docker
    Nginx入门
    【ElasticSearch】精确匹配text字段 用match加.keyword 或 term
    Enum<E extends Enum<E>>
    【配置】jdk8和jdk11切换
    【ElasticSearch】script中进行比较,date类型转为long型
  • 原文地址:https://www.cnblogs.com/danxi/p/5406261.html
Copyright © 2011-2022 走看看