这篇文章主要介绍DHCP,就是说动态主机分配协议的工作过程,然后对如何在Cisco路由器上配置DHCP、如何配置DHCP中继服务等等进行实例演示。对思科认证感兴趣的小伙伴可以关注以下。
(一)DHCP的工作过程
下图是DHCP工作流程:
DHCP的客户端被配置成自动获取IP,R1上配置了DHCP服务,在PC1启动连接网络时,据下图,从DHCP服务端(R1)上获取IP:
(1)PC1通过网卡向外广播DHCPDiscover信息,这个的目的MAC是广播MAC地址,就是FFFFFFFFFFFF,源MAC地址就是PC1的网卡MAC地址;这个数据包的目的IP是255.255.255.255,源IP是0.0.0.0。DHCP使用UDP协议,这个数据包的目的UDP端口是67(注意:DHCP服务端使用的UDP端口),客户端使用的UDP端口是68。
(2)R1收到PC1的DHCPDiscover广播包,例如,R1的Fa0/0接口配置的IP地址是192.168.1.1/24,R1从Fa0/0接口接收到PC1的DHCPDiscover广播包之后,它在本地的DHCP配置中寻找和自己Fa0/0匹配的地址池,这个子网的地址池为192.168.1.0/24,要是配置了这个地址池,R1查找这个地址池中还能用的IP地址,假如192.168.1.100是可用的,R1在提供租用地址之前首先会发送一个ARP查询包,查询192.168.1.100在网络上是否被使用,要是收到应答,说明这个IP已经被使用,R1在地址池中换个地址再发送ARP查询,在找到没有ARP回复的那个IP地址为止。
(3)R1向PC1发送DHCPOffer信息,包括没被使用的IP地址,DHCPOffer包依旧是一个广播包,目的MAC是广播MAC地址,源MAC是R1的Fa0/0的MAC地址;目的IP是255.255.255.255,源IP是192.168.1.1;目的端口是UDP68,源端口是UDP67。
(4)要是PC1发送的DHCPDiscover广播后DHCP服务端没有回复,PC1就不能够获得IP地址,PC1每隔一段时间就会发送一次DHCPDiscover,没有请求到IP地址的时间里,Windows主机就会被临时分配到属于169.254.0.0/16的本地地址。
(5)接着步骤三,PC1就收到R1发回的DHCPOffer信息,PC1马上发送DHCPRequest包,表示会使用R1所提供的IP地址;这个数据包还是一个广播包,目的MAC是广播MAC,源MAC是PC1的网卡MAC;目的IP为255.255.255.255,源IP为0.0.0.0;传输层的目的UDP端口为67,源UDP端口为68。DHCPRequest当中包含需要选择的DHCP服务器,就是说R1的Fa0/0接口的IP地址和客户端PC1将要使用的IP地址。
(6)在R1收到PC1发来的DHCPRequest信息之后,立刻发送DHCPAck确认信息,这个确认信息也是用广播的形式发送的。DHCPAck中包括其他选项,比如说:子网掩码、默认网关、DNS地址、租约期限以及域名等等。
(7)在PC1收到DHCPAck后,利用其中的信息配置自己的TCP/IP属性,然后广播一个ARPReply包,它的目的是通知其他设备,这个P地址已经被使用。
(二)DHCP配置实例
(1)使用思科路由器配置DHCP
在GNS3中搭建拓扑,PC1-2为vpcs模拟两台真实计算机,R1是c3640路由,接口连线与IP如图示,在R1上配置DHCP服务,让PC1-2分别获取到自己网段的IP地址:
(图1)
(图2)
(图3)
然后,打开PC1-2的终端,自动获取IP命令:
考虑到实验的复杂度以及描述难度,就使用vpcs代替了。
(2)思科路由器如何配置DHCP中继
如图,R1的f1/0连接到一台vpcs,R1是DHCP中继服务器,R2是DHCP服务器,R1负责将vpcs发来的DHCP广播请求以单播的形式发给DHCP服务器R2:
R1配置:
R2配置:
在PC1上通过DHCP获取IP:
总结:以上就是关于路由表的结构以及路由查找过程的解释说明了,其中,最重要的是关于路由有类查找以及路由无类查找的讨论了。如果希望能够学习到更多关于CCNA的内容,那就请继续关注我们的网站:编程学习网教育吧。