DHCP-packet

DHCP

Dynamic Host Configuration Protocol,动态主机配置协议,采用C/S模式,主要应用在为客户机自动分配IP地址、子网掩码、缺省网关、DNS服务器的IP地址等。

基于UDP协议,采用的知名端口号如下:

DHCP server:67

DHCP client:68

DHCPv6 Client:546


协议报文

DHCP一共有8种报文,按照客户端和服务器可分为:

server(reply):dhcp offer、dhcp ACK、dhcp NAK

client(request):dhcp discover、dhcp request、dhcp release、dhcp decline、dhcp inform


DHCP Discover

广播报文,dhcp client并不知道server的IP,因此客户端会在本地网络内广播发送discover报文,以期望发现网络中的dhcp服务器。所有收到discover报文的dhcp服务器都会回复应答报文,如此dhcp客户端可以知道网络中dhcp服务器的位置。

DHCP Offer

广播/单播,dhcp server收到discover报文后,就会在配置的地址池pool中查找一个合适的IP地址,加上相应的租期和其他配置信息(路由、DNS等),构造一个offer报文,发送给dhcp client,通知客户端可以为它提供IP地址。但是这个报文只是告诉dhcp客户端可以提供这个IP地址,并不是直接可以用,还需要客户端进行地址冲突检测,通常是发送ARP报文来确定此IP是否已经被占用。DHCP offer报文以广播或者单播回复,依赖于discover报文中的Flags。

DHCP Request

广播/单播,dhcp server可能会收到很多offer请求报文,所以必须在这些应答中选择一个,通常的策略是选择收到的第一个报文作为自己的目标服务器,并向这个服务器发送广播的request报文,通告自己选择的服务器,希望获得分配的IP地址。广播也是为了通知其他服务器,如果没有被选中,则需要删除相关信息。

dhcp client在成功获取IP地址后,在地址使用租期到达50%时,会向服务器发送单播request请求报文,请求续延租约,如果没有收到ACK,在租期到达87.5%时,会再次发送单播的request请求报文,请求续延租约。

DHCP ACK

广播/单播,dhcp server收到request请求报文后,根据request报文中携带的用户MAC来查找有没有相应的租约记录,如果有,则发送ACK应答报文,通知用户可以使用分配的IP地址。

DHCP NAK

广播/单播,如果dhcp server收到request请求报文后,没有发现相应的租约记录或者 由于某些原因无法正常分配IP地址,则向DHCP客户端发送NAK应答报文。

DHCP Release

单播,当dhcp client不再需要使用分配IP地址时,就会主动向DHCP server发送Release请求报文,通知服务器不再需要分配IP地址,请求服务器释放对应IP地址。

DHCP Decline

单播,dhcp client收到server的ACK报文后,通过地址冲突检测,发现服务器分配的IP地址冲突或者由于其他原因不可使用,则会向DHCP服务器发送DHCP Decline请求报文,通知服务器IP不可用。

DHCP Inform

单播,DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则向DHCP服务器发送Inform请求报文;DHCP服务器在收到该报文后,将根据租约进行查找到相应的配置信息后,向DHCP客户端发送ACK应答报文。目前基本上不用了。


DHCP Client重新登录

DHCP客户机每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ACK确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给 DHCP客户机回答一个DHCP NAK否认信息。当原来的DHCP客户机收到此DHCP NAK否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。
 


 DHCP报文格式

 

 解析:

1、OP

报文操作类型,1:请求报文,2:应答报文

2、Htype

客户端MAC地址类型,指明网络类型,1:Ethernet MAC

3、Hlen

客户端MAC地址长度,以太网MAC地址长度6

4、Hops

DHCP报文经过的DHCP中继数目,默认为0.dhcp请求报文每经过一个中继增加1,如果需要经过路由,同样+1

5、Xid

客户端通过dhcp discover报文发起一次请求报文时选择的随机数,相当于请求标识,一次IP请求过程,所有的xid都是一样的。

6、secs

客户端从获取IP地址或者续约过程开始到现在所消耗的时间,以秒为单位。在没有获取到IP之前,这个值一直为0。

7、flags

标志位,只使用第15比特(最左边),是广播应答标识位,0表示单播,1表示广播。

8、ciaddr

dhcp客户端ip地址,仅在服务器发送的ACK报文中显示,其他报文均显示0。因为,在ACK之前,IP地址还没有真正分配给客户端。

9、yiaddr

dhcp服务器分配给客户端的IP地址。仅在dhcp服务器发送的offer和ACK报文中显示,其他报文显示0.

10、siaddr

下一个为dhcp客户端分配IP地址等信息的dhcp服务器IP地址。仅在dhcp offer、ACK中显示,其他报文均显示0.

11.、giaddr

dhcp客户端发出请求报文后经过的第一个dhcp中继的IP地址。如果没有经过中继,则显示0。

12、chaddr

dhcp客户端MAC地址。在每个报文中都会显示对应dhcp客户端的MAC地址。

13、sname

为dhcp客户端分配IP地址的dhcp服务器名称(DNS域名格式),在offer和ACK报文中显示发送报文的dhcp服务器名称,其他报文显示0.

14、File

dhcp服务器为客户端指定的启动配置文件名称和路径信息。仅在dhcp offer报文中显示,其他报文中显示为空。

15、options

可选项字段,长度可变,格式为“代码+长度+数据”

option82是华为自定义的。


THANKS!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Cisco Packet Tracer 中的 DHCP 配置步骤如下: 1. 打开 Packet Tracer 软件 2. 添加一个 DHCP 服务器设备 3. 连接 DHCP 服务器到网络中的其他设备 4. 在 DHCP 服务器上配置 IP 地址池 5. 在 DHCP 服务器上启用 DHCP 服务 6. 在其他设备上启用 DHCP 客户端 7. 测试 DHCP 配置是否正常工作. ### 回答2: Cisco Packet Tracer是一款模拟Cisco网络的软件,可以模拟出各种不同的网络拓扑。DHCP即动态主机配置协议,它可以自动给网络上的设备分配IP地址,并且自动进行子网掩码和网关的配置。接下来,我将为大家介绍如何在Cisco Packet Tracer中配置DHCP服务。 首先我们需要在Cisco Packet Tracer中创建一个网络拓扑,我们可以选择已有的网络设备,也可以自己创建设备。在这里,我们将使用两个路由器和四台电脑,连接方式如下图所示: ![cisco-dhcp-topology](https://cdn.jsdelivr.net/gh/linzh17/Blog/Images/cisco-dhcp-topology.png) 在这个拓扑中,Router0将会作为DHCP服务器,负责为电脑1、电脑2、电脑3和电脑4分配IP地址。 接下来,我们需要先对路由器进行一些基础配置。打开路由器命令行界面,输入以下命令: ``` Router(config)#enable password cisco Router(config)#hostname Router0 Router0(config)#interface FastEthernet0/0 Router0(config-if)#ip address 192.168.1.1 255.255.255.0 Router0(config-if)#no shutdown ``` 这里我们设置了一个路由器的密码,将路由器名称设置为Router0,并且为FastEthernet0/0接口配置了一个IP地址。这个IP地址将会作为DHCP服务器的IP地址,用于分配给电脑。 接下来,我们需要在Router0上启用DHCP服务。输入以下命令: ``` Router0(config)#service dhcp Router0(config)#ip dhcp excluded-address 192.168.1.1 Router0(config)#ip dhcp pool Pool1 Router0(dhcp-config)#network 192.168.1.0 255.255.255.0 Router0(dhcp-config)#default-router 192.168.1.1 Router0(dhcp-config)#dns-server 8.8.8.8 Router0(dhcp-config)#lease 7 ``` 在这里,我们启用了DHCP服务,排除了192.168.1.1这个地址(因为这个地址将会作为DHCP服务器的IP地址),设置了DHCP地址池的名称为Pool1,设置了一个网段,配置了默认网关(即路由器的IP地址),设置了DNS服务器的地址为8.8.8.8,租约时间为7天。 现在我们已经完成了DHCP服务的配置,接下来就需要为电脑配置DHCP客户端了。打开每台电脑的设置,将IP地址设置为动态获取,这样电脑就会向DHCP服务器请求分配一个可用的IP地址。 最后,我们可以使用ping命令测试一下网络是否正常。在任意一台电脑上打开命令行界面,输入以下命令: ``` ping 192.168.1.1 ``` 如果出现“回复来自 192.168.1.1: 字节=32 时间=1ms TTL=64”的提示,则表示网络已经正常工作了。 以上就是在Cisco Packet Tracer中配置DHCP服务的方法。实际应用中,我们也可以根据需求进行更详细的配置,比如设置IP地址的优先级、限制DHCP地址池的大小等等。 ### 回答3: 在 cisco packet tracer 中配置 dhcp 是一个比较简单的过程,需要注意的是 dhcp 配置需要有 dhcp 服务器和 dhcp 客户端两个角色。 第一步是配置 dhcp 服务器,打开 cisco packet tracer,选择连线工具,然后依次连线: 1. 选择 "end devices",再选择 "server"。 2. 连接 "server" 和 "switch" 之间的接口。 3. 右键点击 "server",选择 "config" 进入服务器的配置页面。 4. 选择 "Services",然后选择 "DHCP". 5. 在 "DHCP Pool" 中填写 ip 地址池的参数,如 ip 地址范围、默认网关等。 6. 点击 "Add Static Route" 添加静态路由,填写子网及下一跳网关。 7. 点击 "Apply" 保存配置。 第二步是配置 dhcp 客户端,连线工具依次连线: 1. 选择 "end devices",然后选择 "PC". 2. 连接 "PC" 和 "switch" 之间的接口。 3. 右键点击 "PC",选择 "Desktop"。 4. 选择 "IP Configuration",选择 "DHCP"。 5. 点击 "Close" 保存配置。 如果在 dhcp 客户端配置时没有找到 dhcp 服务器,可以使用命令行查询服务器,输入 "ipconfig /all" 查看客户端的 ip 地址、默认网关及 dhcp 服务器地址,确认是否与服务器的配置相符。 注意,dhcp 服务器和客户端的 ip 地址段应该在同一个子网内,且服务器的 ip 地址池应该足够分配给所有客户端。在使用 dhcp 过程中,如果互联网无法访问,请检查客户端的默认网关是否正确。以上是在 cisco packet tracer 中 dhcp 配置的方法及注意事项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值