首页 > 其他分享 >DHCP报文交互流程

DHCP报文交互流程

时间:2023-08-03 12:31:37浏览次数:25  
标签:IP 0.0 报文 address 服务器 dhcp DHCP 交互 客户端

DHCP在工作过程中涉及到的报文种类及其作用如下:

1、DHCP DISCOVER:客户端开始DHCP过程的第一个报文,是请求IP地址和其它配置参数的广播报文。

2、DHCP OFFER:服务器对DHCP DISCOVER报文的响应,是包含有效IP地址及配置的单播(或广播)报文。

3、DHCP REQUEST:客户端对DHCP OFFER报文的响应,表示接受相关配置。客户端续延IP地址租期时也会发出该报文。

4、DHCP ACK :服务器对客户端的DHCP REQUEST报文的确认响应报文。客户端收到此报文后,才真正获得了IP地址和相关的配置信息。


通过实验抓包加深印象:(dhcp 中继实验)

DHCP报文交互流程_客户端

配置DHCP server

interface GigabitEthernet1/0/1
 port link-mode route
 combo enable fiber
 ip address 10.10.10.1 255.255.255.252

dhcp server ip-pool 123
 gateway-list 180.16.10.254
 network 180.16.10.0 mask 255.255.255.0

 dhcp enable

ip route-static 180.16.10.0 24 10.10.10.2

交换机配置

 dhcp enable

interface Vlan-interface10
 ip address 180.16.10.254 255.255.255.0
 dhcp select relay
 dhcp relay server-address 10.10.10.1

interface GigabitEthernet1/0/1
 port link-mode route
 combo enable fiber
 ip address 10.10.10.2 255.255.255.252
 
 interface GigabitEthernet1/0/3
 port link-mode bridge
 port access vlan 10
 combo enable fiber
 stp edged-port

配置完成后PC通过dhcp服务器获取到ip地址:

DHCP报文交互流程_IP_02

PC mac地址信息:

DHCP报文交互流程_IP_03


通过在交换机上抓取dhcp报文信息,得到如下结果:

// 发现阶段======================以广播的形式向局域网内请求dhcp服务器,此时客户端使用udp的68号端口发起请求
*Aug  3 10:29:03:454 2023 SW DHCPR/7/PACKET:
From 0.0.0.0 port 68, interface Vlan-interface10
    Message type: REQUEST (1)
    Hardware type: 1, Hardware address length: 6
    Hops: 0, Transaction ID: 340012688
    Seconds: 0, Broadcast flag: 1
    Client IP address: 0.0.0.0   Your IP address: 0.0.0.0
    Server IP address: 0.0.0.0   Relay agent IP address: 0.0.0.0
    Client hardware address: 124e-cdfc-0406
    Server host name: not configured
    Boot file name: not configured
    DHCP message type: DHCPDISCOVER (1)





//提供阶段======================局域网内的dhcp服务器响应客户端的请求(网络内如有多台dhcp服务的话均会发起响应),此时服务器通过UDP67号端口回应客户端
*Aug  3 10:29:04:043 2023 SW DHCPR/7/PACKET:
From 10.10.10.1 port 67, interface Vlan-interface10
    Message type: REPLY (2)
    Hardware type: 1, Hardware address length: 6
    Hops: 1, Transaction ID: 340012688
    Seconds: 0, Broadcast flag: 1
    Client IP address: 0.0.0.0   Your IP address: 180.16.10.1
    Server IP address: 0.0.0.0   Relay agent IP address: 180.16.10.254
    Client hardware address: 124e-cdfc-0406
    Server host name: not configured
    Boot file name: not configured
    DHCP message type: DHCPOFFER (2)
//选择阶段======================客户端收到dhcp服务器的回应报文后(多台服务器响应只选择最先收到的),向服务器确认分配的地址可以使用
*Aug  3 10:29:04:051 2023 SW DHCPR/7/PACKET:
From 0.0.0.0 port 68, interface Vlan-interface10
    Message type: REQUEST (1)
    Hardware type: 1, Hardware address length: 6
    Hops: 0, Transaction ID: 340012688
    Seconds: 0, Broadcast flag: 1
    Client IP address: 0.0.0.0   Your IP address: 0.0.0.0
    Server IP address: 0.0.0.0   Relay agent IP address: 0.0.0.0
    Client hardware address: 124e-cdfc-0406
    Server host name: not configured
    Boot file name: not configured
    DHCP message type: DHCPREQUEST (3)
//确认阶段======================服务器收到客户端的ip地址确认报文后,服务器先会查询此地址的可用性,如可用则回复ack确认报文,完成dhcp流程
*Aug  3 10:29:04:058 2023 SW DHCPR/7/PACKET:
From 10.10.10.1 port 67, interface Vlan-interface10
    Message type: REPLY (2)
    Hardware type: 1, Hardware address length: 6
    Hops: 1, Transaction ID: 340012688
    Seconds: 0, Broadcast flag: 1
    Client IP address: 0.0.0.0   Your IP address: 180.16.10.1
    Server IP address: 0.0.0.0   Relay agent IP address: 180.16.10.254
    Client hardware address: 124e-cdfc-0406
    Server host name: not configured
    Boot file name: not configured
    DHCP message type: DHCPACK (5)


//发现阶段======================携带的内容有:(向局域网内请求dhcp服务器)

1、请求的源目端口号

2、发起请求的方式(广播)

3、请求客户端的mac地址

DHCP报文交互流程_客户端_04


//提供阶段======================携带的内容有:(dhcp服务器响应请求,并提供IP地址信息)

1、服务器响应分配的IP地址

2、如是中继场景则会携带dhcp中继ip

3、客户端的mac地址

4、真实dhcp服务器地址

5、分配给客户端的租期时间

5、ip地址网关

6、分配的dns信息

DHCP报文交互流程_客户端_05


//选择阶段======================携带的内容有:(收到服务器的回应后,使用服务器分配的地址向服务器确认可用性)

1、客户端mac地址

2、真实服务器地址

DHCP报文交互流程_服务器_06

//确认阶段======================携带的内容有:(收到客户端的请求确认报文,服务器会去确认地址可用性,如可用回复ACK即完成dhcp请求过程)

1、服务器响应分配的IP地址

2、如是中继场景则会携带dhcp中继ip

3、客户端的mac地址

4、真实dhcp服务器地址

5、分配给客户端的租期时间

5、ip地址网关

6、分配的dns信息

DHCP报文交互流程_服务器_07




PS补充:

当PC端触发dhcp续约租期时是通过 dhcp request报文进行向服务器再次申请租期,触发向服务器申请租期的情况为:

1、在租期时间的50%会触发

2、在租期时间的87.5%会触发

3、当租期时间100%时会要求放弃此地址,重新申请


标签:IP,0.0,报文,address,服务器,dhcp,DHCP,交互,客户端
From: https://blog.51cto.com/u_13877167/6948086

相关文章

  • 模型:Django与Mysql交互
     1、创建数据库用户前提是已经在本机或者服务器上安装了mysql。createdatabaseslw;createuser'slw'@'%'identifiedby'pwd'grantallprivilegesonslw.*to'slw'@'%'identifiedby'pwd'withgrantoption;flushprivile......
  • Linux网络命令与DHCP
    目录Linux网络命令与DHCP1.网络配置命令1.1ifconfig1.2IP1.2.1iplink数据链路层1.2.2ipaddr网络层1.2.3路由1.3hostname1.4route1.4.1添加指定网段路由1.4.2编译添加1.4.3删除指定网段路由1.4.4route-n查看1.5ss(socketstatistics)1.6netstat1.7ping1.8tracer......
  • 配置DHCP
    配置DHCP条件:关闭防火墙和selinux1,安装dhcp服务[root@localhost~]#yuminstalldhcp-y#安装dhcp服务2,查看配置文件[root@localhost~]#rpm-qcdhcp#查看配置文件2.1查看配置文件[root@localhost~]#vim/etc/dhcp/dhcpd.conf#空的##DHCPServerConfigurationfi......
  • 使用expect实现shell自动交互
    安装expectsudoaptinstallexpect要执行的脚本#!/bin/bash#cpao.shssh-keygen-f"/home/lyq/.ssh/known_hosts"-R"192.168.1.10"scpsd.shao_app.elfbrdc*[email protected]:/[email protected]交互输入脚本#!/usr/bin/expect#ca.tcls......
  • burpsuite抓包,响应报文乱码如何解决?
    1、响应报文中的中文信息乱码2、解决办法 3、设置成功后重新发起请求      翻译搜索复制......
  • TypeChat源码分析:基于大语言模型的定制化 AI Agent 交互规范
    TypeChat源码分析:基于大语言模型的定制化AIAgent交互规范本文深入介绍了微软最近发布的TypeChat项目,该项目允许开发者定义大语言模型返回的响应结构。通过分析源代码,探讨了Prompt的基本概念,为定制化开发互动式AIAgent提供便捷的解决方案。文章着重介绍TypeChat的关键......
  • Android上基于JSON的数据交互应用
    JSON的定义:一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。–Json.org......
  • ChatGPT:人工智能交互的新时代
    ChatGPT的背景和发展:ChatGPT是OpenAI公司在GPT-3基础上的进一步升级。GPT(GenerativePre-trainedTransformer)是一种基于Transformer架构的深度学习模型,它能够处理自然语言,实现自动对话、写作等任务。而ChatGPT在此基础上进一步强化了对话交互的能力,使得它能够更加自然地与人类进......
  • DHCP服务器无法在NSX-T分段网络下工作
    默认情况下分段安全配置文件,限制了DHCP流量,导致无法使用DHCP服务器。 登录到NSX-T,点击【网络】-->【分段】-->【配置文件】  新建一个配置文件Horizon-segment-security-profile(名称任意即可) 配置如下: 将所有DHCP相关的安全策略,全部取消即可。 然后修改DHCP所在的分段安全......
  • 5.交互式测试客户端及滚动更新、回滚、pod扩缩容
    创建一个专用的交互式测试客户端:拉取镜像kubectlrunclient-$RANDOM--image=ikubernetes/admin-box:v1.2--restart=Never-it--rm--command--/bin/bashroot@client-12383/#在默认名称空间下的服务去访问另一个名称空间下的服务查看另一个名称空间[root@K8s-master01......