路由交换——DHCP中继

                                         DHCP工作原理:

  1. DHCP Client以广播的方式发出DHCP Discover报文。
  2. 所有的DHCP Server都能够接收到DHCP Client发送的DHCP Discover报文,所有的DHCP Server都会给出响应,向DHCP Client发送一个DHCP Offer报文。
    DHCP Offer报文中“Your(Client) IP Address”字段就是DHCP Server能够提供给DHCP Client使用的IP地址,且DHCP Server会将自己的IP地址放在“option”字段中以便DHCP Client区分不同的DHCP Server。DHCP Server在发出此报文后会存在一个已分配IP地址的纪录。
  3. DHCP Client只能处理其中的一个DHCP Offer报文,一般的原则是DHCP Client处理最先收到的DHCP Offer报文。
    DHCP Client会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。
  4. DHCP Server收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果不相同,DHCP Server不做任何处理只清除相应IP地址分配记录;如果相同,DHCP Server就会向DHCP Client响应一个DHCP ACK报文,并在选项字段中增加IP地址的使用租期信息。
  5. DHCP Client接收到DHCP ACK报文后,检查DHCP Server分配的IP地址是否能够使用。如果可以使用,则DHCP Client成功获得IP地址并根据IP地址使用租期自动启动续延过程;如果DHCP Client发现分配的IP地址已经被使用,则DHCP Client向DHCPServer发出DHCP Decline报文,通知DHCP Server禁用这个IP地址,然后DHCP Client开始新的地址申请过程。
  6. DHCP Client在成功获取IP地址后,随时可以通过发送DHCP Release报文释放自己的IP地址,DHCP Server收到DHCP Release报文后,会回收相应的IP地址并重新分配。
  7. 在使用租期超过50%时刻处,DHCP Client会以单播形式向DHCP Server发送DHCPRequest报文来续租IP地址。如果DHCP Client成功收到DHCP Server发送的DHCP ACK报文,则按相应时间延长IP地址租期;如果没有收到DHCP Server发送的DHCP ACK报文,则DHCP Client继续使用这个IP地址。
在使用租期超过87.5%时刻处,DHCP Client会以广播形式向DHCP Server发送DHCPRequest报文来续租IP地址。如果DHCP Client成功收到DHCP Server发送的DHCP ACK报文,则按相应时间延长IP地址租期;如果没有收到DHCP Server发送的DHCP ACK报文,则DHCP Client继续使用这个IP地址,直到IP地址使用租期到期时,DHCP Client才会向DHCP Server发送DHCP Release报文来释放这个IP地址,并开始新的IP地址申请过程。
需要说明的是:DHCP客户端可以接收到多个DHCP服务器的DHCPOFFER数据包,然后可能接受任何一个DHCPOFFER数据包,但客户端通常只接受收到的第一个DHCPOFFER数据包。另外,DHCP服务器DHCPOFFER中指定 [1]   的地址不一定为最终分配的地址,通常情况下,DHCP服务器会保留该地址直到客户端发出正式请求。
正式请求DHCP服务器分配地址DHCPREQUEST采用广播包,是为了让其它所有发送DHCPOFFER数据包的DHCP服务器也能够接收到该数据包,然后释放已经OFFER(预分配)给客户端的IP地址。
如果发送给DHCP客户端的地址已经被其他DHCP客户端使用,客户端会向服务器发送DHCPDECLINE信息包拒绝接受已经分配的地址信息。
在协商过程中,如果DHCP客户端发送的REQUEST消息中的地址信息不正确,如客户端已经迁移到新的子网或者租约已经过期,DHCP服务器会发送DHCPNAK消息给DHCP客户 端,让客户端重新发起地址请求过程。
                                                                                              DHCP中继原理:
1 当 dhcp client 启动并进行dhcp 初始化时,它会在本地网络广播配置请求报文。
2 如果本地网络存在dhcp server,则可以直接进行dhcp 配置,不需要dhcp relay。
3 如果本地网络没有dhcp server,则与本地网络相连的具有dhcprelay 功能的 网络设备收到该广播报文后,将进行适当处理并转发给指定的其它网络上的dhcp server。
4 dhcp server 根据dhcp client 提供的信息进行相应的配置,并通过dhcp relay 将配置信息发送给dhcp client,完成对dhcp client 的动态配置。

配置实例:
1. 拓扑图
路由交换——DHCP中继_第1张图片

地址与vlan划分:
vlan号          IP地址                  子网掩码
VLAN 10                            172.16.10.1                                             255.255.255.192
VLAN 20                            172.16.10.65                                           255.255.255.192
VLAN 30                            172.16.10.129                                         255.255.255.192
VLAN 40                            172.16.10.193                                         255.255.255.192
路由器                                     2.2.2.1                                                255.255.255.192
交换机                                     2.2.2.2                                                255.255.255.192


配置命令:
1.首先配置路由器
开启端口并配置IP地址
Router(config)#int f0/1

Router(config-if)#no shut

Router(config-if)#ip ad 2.2.2.1 255.255.255.192

开启DHCP服务

Router(config)#service dhcp

给各地址池分配IP地址范围和默认路由并且禁止一些IP地址被分配

Router(config)#ip dhcp pool 1

Router(dhcp-config)#network 172.16.10.1 255.255.255.192

Router(dhcp-config)#default-router 172.16.10.1

Router(config)#ip dhcp pool 2

Router(dhcp-config)#network 172.16.10.65 255.255.255.192

Router(dhcp-config)#default-router 172.16.10.65

Router(config)#ip dhcp pool 3

Router(dhcp-config)#network 172.16.10.129 255.255.255.192

Router(dhcp-config)#default-router 172.16.10.129

Router(config)#ip dhcp pool 4

Router(dhcp-config)#network 172.16.10.193 255.255.255.192

Router(dhcp-config)#default-router 172.16.10.193


Router(config)#ip dhcp excluded-address 172.16.10.1

Router(config)#ip dhcp excluded-address 172.16.10.65

Router(config)#ip dhcp excluded-address 172.16.10.129

Router(config)#ip dhcp excluded-address 172.16.10.193


还需要写一条下一跳到交换机的默认路由

Router(config)#ip route 0.0.0.0 0.0.0.0 2.2.2.2

2.配置交换机

SW1:

给端口配置IP地址

SW1(config)#int f0/1

SW1(config-if)#no switchport

SW1(config-if)#ip ad 2.2.2.2 255.255.255.192

创建VLAN并且配置地址

SW1(config)#vlan 10

SW1(config-vlan)#int vlan 10

SW1(config-if)#ip ad 172.16.10.1 255.255.255.192

SW1(config)#vlan 20

SW1(config-vlan)#int vlan 20

SW1(config-if)#ip ad 172.16.10.65 255.255.255.192

SW1(config)#vlan 30

SW1(config-vlan)#int vlan 30

SW1(config-if)#ip ad 172.16.10.129 255.255.255.192

SW1(config)#vlan 40

SW1(config-vlan)#int vlan 40

SW1(config-if)#ip ad 172.16.10.193 255.255.255.192

开启路由

SW1(config)#ip routing

开启DHCP中继

SW1(config)#service dhcp

SW1(config)#int vlan 10

SW1(config-if)#ip helper-address 2.2.2.1                                 //地址为DHCP服务器的地址

SW1(config)#int vlan 20

SW1(config-if)#ip helper-address 2.2.2.1   

SW1(config)#int vlan 30

SW1(config-if)#ip helper-address 2.2.2.1   

SW1(config)#int vlan 40

SW1(config-if)#ip helper-address 2.2.2.1   

将各交换机之间的链路全部变成Trunk模式

SW1(config)#int r f0/2-3

SW1(config-if-range)#switchport trunk encapsulation dot1q

SW1(config-if-range)#switchport mode trunk

SW2(config)#int r f0/2-3

SW2(config-if-range)#switchport mode trunk

SW3(config)#int r f0/2-3

SW3(config-if-range)#switchport mode trunk

在SW2和SW3上创建VLAN并且划分端口

SW2(config)#vlan 10

SW2(config)#vlan 20

SW2(config-vlan)#exit

SW2(config)#int f0/6

SW2(config-if)#switchport access vlan 10

SW2(config)#int f0/11

SW2(config-if)#switchport access vlan 20


SW3(config)#vlan 30

SW3(config)#vlan 40

SW3(config-vlan)#exit

SW3(config)#int f0/6

SW3(config-if)#switchport access vlan 30

SW3(config)#int f0/11

SW3(config-if)#switchport access vlan 40

最后在PC上启用DHCP自动获取IP地址




——————————————————————————————————————————————

到此完成。


你可能感兴趣的:(计算机网络——路由交换)