锐捷RCNA | ARP协议原理与应用与DHCP协议原理及应用

一、ARP协议原理与应用

OSI参考模型将网络划分为7层,IP地址工作在第三层网络层中,MAC地址工作在第二层数据链路层。

在以太网发送IP数据包时,先封装网络层的包头再封装数据链路层的包头,由于在发送时只知道目标IP地址而不知道MAC地址,又不能跨越层,所以需要使用ARP地址解析协议。

ARP协议可以根据网络层IP数据包头中的IP地址信息解析出对应的MAC地址,确保通信。ARP协议不能穿越路由器,不能被转发到其它广播域中

ARP缓存表:用于存储IP地址和经过解析的MAC地址对应关系

1. ARP的工作流程和工作原理

工作流程

在这里插入图片描述

工作原理

  1. 先查看ARP表,如果ARP表中没有目的IP地址对应的MAC表项,则发送ARP请求包
  2. 源主机发送ARP request 请求包,请求目的主机的MAC地址
  3. 同网段内的所有主机都能收到ARP request请求包,但是只有目的主机才会回复ARP reply数据包
  4. 源主机收到 ARP reply 数据包后,将目的主机的 IP-MAC对应关系添加进ARP表中,完成数据的以太网封装【指的是将数据包封装在以太网帧中的过程,帧包含源和目的设备的MAC地址和数据本身】,进行数据交互

在这里插入图片描述
具体的案例讲解
在这里插入图片描述

2. ARP缓存表

  • 动态表项
    • 通过ARP协议自动学习,可以被更新,缺省老化时间为120秒
  • 静态表项
    • 手动配置,不能被更新,没有老化时间限制

Windows系统查看ARP表项

arp -a

Linux系统查看ARP表项

arp -v

RGOS查看ARP表项

show arp

2.1 免费ARP

免费ARP,也被称为Gratuitous ARP或无故ARP,是一种特殊的ARP请求报文

  • IP地址冲突检测:免费ARP报文通过广播的方式发送到网络中,如果某台主机使用了当前主机的IP地址,则会回复一个ARP响应;收到ARP响应后,主机会发出IP地址冲突的警告
  • 更新ARP表项:当某台主机的MAC地址变化或IP地址变化,该主机会发送免费的ARP广播,网络中所有主机的ARP表项中如果存在该条目将会根据免费的ARP报文来更新自己的缓存表
  • 免费ARP报文还在一些特定场景中产生,如主机/系统启动期间进行网口/接口配置时,或者网卡进行了某些配置变动导致网口重新启动(如插拔网线、自动获取IP地址、手动更改IP地址、掩码、网关等参数)时

2.2 代理ARP

代理ARP(Proxy ARP)是ARP协议的一个变种

  • 提供网络通信效率和稳定性:在局域网中,当一个主机需要和另一个主机进行通信,它需要知道该主机的MAC地址。如果缓存表中没有对应的MAC地址,主机会发送ARP请求广播;代理ARP能够代替主机完成ARP协议的操作,响应ARP请求,并将主机的IP地址和MAC地址进行映射记录在本地缓存表中。
  • **解决跨网段ARP请求:**出现跨网段的ARP请求时,路由器会将自己的MAC地址返回给发起ARP广播请求的主机,实现MAC地址的代理(善意的欺骗),使主机能够通信。

在这里插入图片描述

  • ARP请求的源IP地址与路由器的IP地址处在同一个子网中,且路由器有ARP请求的IP地址的路由,代理ARP就可以使网络中的主机无需配置默认网关和路由策略,就能实现与其他网络中的计算机通信。
    • 源IP地址与路由器的IP地址处于同一个子网中:发送ARP请求的主机与路由器在同一个网段中,在TCP/IP网络中,处于同一个网段的主机可以直接通信无需经过路由器转发。当主机需要获取目标主机的MAC地址时,会直接在本地子网中发送ARP广播
    • 路由器有ARP请求的IP地址路由:即使发送ARP请求的主机与路由器同一网段,当请求的目标IP地址可能在另一个网段中。这样就需要路由器只能存在通往目标IP地址段的路由条目,这样才可以处理跨网段的通信
    • 也就是说,代理ARP允许路由器代替目标主机响应ARP请求,路由器会告知发送ARP请求的主机,自己知道如何达到目标IP地址,并提供自身的MAC地址作为“下一跳”地址。这样主机可以将数据包发送到路由器,由路由器将数据包根据路由发送到目标网络中。

2.3 RARP反向地址解析协议

  • 用于将物理地址(MAC地址)转换为网络层地址(IP地址)的协议

它主要在以太网上实现,用于网络启动和其他情况下的动态IP地址分配。当一个设备需要知道相应的IP地址时,它会在网络上广播一个RARP请求包,拥有该IP地址的设备会向请求设备返回一个RARP响应包,从而告诉请求设备所需的IP地址。这种机制主要用于实现无盘系统的网络启动,例如某些工作站

二、DHCP协议原理及应用

DHCP动态主机配置协议,应用在大型的局域网环境找。集中管理和分配IP地址,使网络中的主机可以动态获取IP地址、网关、DNS等TCP/IP参数。

1. DHCP服务器配置

在这里插入图片描述

DHCP-Server

DHCP-Server(config)#service dhcp 
DHCP-Server(config)#ip dhcp pool vlan10
DHCP-Server(dhcp-config)#network 192.168.10.0 255.255.255.0
DHCP-Server(dhcp-config)#default-router 192.168.10.254
DHCP-Server(dhcp-config)#dns-server 8.8.8.8
DHCP-Server(dhcp-config)#exit

2. DHCP协议工作过程

在这里插入图片描述
在这里插入图片描述

3. DHCP报文介绍

报文类型用途
DHCP discover客户端广播查找可用服务器
DHCP offer服务器响应DHCP discover报文,分配TCP/IP信息
DHCP request客户端请求配置参数、请求配置确认、续租
DHCP ack服务器确认DHCP request报文
DHCP decline客户端发现地址被占用时,通知服务器
DHCP release客户端释放IP地址告知服务器的报文
DHCP inform客户端已有IP地址,请求更详细配置参数
DHCP nak服务器告知客户端请求不正确或租约过期

3.1 DHCP Discover

DHCP Discover报文为PC通过广播的形式发出的请求报文,主要作用是用来发现DHCP服务器,但PC并不知道DHCP的IP地址,因此目的MAC和目的IP地址都为广播

通过抓取DHCP Discover报文分析

在这里插入图片描述

3.2 DHCP Offer

DHCP Office报文为DHCP服务器返回的第一个报文,当网络中存在多台服务器时,PC只保留最先收到的DHCP Offer。DHCP Offer中包含DHCP服务器可以为PC分配的TCP/IP信息(如IP地址、网关、DNS等)

通过抓取DHCP Offer报文分析

在这里插入图片描述

3.3 DHCP Request

PC发出的第二条请求报文,PC根据DHCP服务器发送的DHCP Offer报文中的信息,发起正式申请

通过抓取DHCP Request报文分析

在这里插入图片描述

3.4 DHCP ACK

DHCP服务器收到PC的请求报文后,从地址池中分配相应的IP地址返回给PC

通过抓取DHCP ACK报文分析

在这里插入图片描述

4. DHCP协议的租约

租约还剩下50%时间

  • 客户端主动先服务器发送DHCP request报文,请求更新租约时间
    • 服务器可用:回复DHCP ack,更新租约
    • 服务器不可用:回复DHCP nak,不更新租约

租约还剩下87.5%时间

  • 客户端主动先服务器发送DHCP request报文,请求更新租约时间
    • 服务器可用:回复DHCP ack,更新租约
    • 服务器不可用:回复DHCP nak,不更新租约

租约时间过期

  • 客户端主动发送DHCP discover报文

5. 常见的DHCP服务部署方式

网关交换机作为DHCP服务器

  • 优点:不需要单独设置一台DHCP服务器
  • 缺点:地址池配置分布在多台网关交换机上,无法集中管理

网关交换机作为DHCP中继,单独架设一台DHCP服务器

  • 优点:集中管理,节约资源
  • 缺点:需要多架设一台服务器
  • 需要保证DHCP中继设备与DHCP服务器之间路由可达

6. DHCP的安全设计

6.1 NP-IP Source Guard – 解决用户使用静态IP地址接入

当用户手动配置IP地址时,DHCP服务无法得知,在DHCP下发地址时,可能会导致IP地址冲突

相关介绍

  • DHCP Snoopingto通过窥探DHCP ACK报文,提取其中的IP地址、MAC地址,形成本地的DHCP Snooping表项,为IP Source Guard模块提供动态的IP Source Guard数据包过滤信息来源;
  • 不符合DHCP Snooping表项的数据包将会被过滤掉,避免了DHCP环境私设IP地址的问题
  • 可以通过手动绑定 ip source guard 静态条目的方式来添加数据包过滤信息来源
  • 手动绑定条目在 IP Source Guard 源数据信息表中以 static 方式存在
  • 手动绑定其实相当于给提供允许私设白名单(即私设的IP地址可以通过静态绑定的方式放行)

端口下配置数据包过滤规则语法

# 前提需要全局开启 Ruijie(config)#ip dhcp snooping 
Ruijie(config)#int gigabitEthernet 0/0							# 进入设定规则的端口
Ruijie(config-if-GigabitEthernet 0/0)#ip verify source ?		# 可选选项
  dai-source     Provide entries for dai						# 提供动态ARP检测,防止ARP欺骗攻击
  exclude-vlan   IP source guard exclude vlan					# 指定例外VLAN,该VLAN不受限制
  port-security  Check both IP and MAC information				# 基于IP+MAC进行检查
  trust          Set the interface to be an ipsg trust port		# 该接口不接受检查
  <cr>           												# 直接回车,检查规则为IP-Only,只对IP检

IP Source Guard源数据-静态添加

# 一共有三种方式静态添加,需要注意的是,在静态添加完后,需要在接口下也开启 ip verify source x (x为IP-Only或IP-Mac)
# 全局绑定的方式与端口过滤的规则保持一致,不一致则以全局配置为主
Ruijie(config)# ip source binding 0000.0000.0001 vlan 1 192.168.1.1 interface g0/0		# 接口+IP添加
Ruijie(config)# ip source binding 0000.0000.0001 vlan 1 192.168.1.1 ip-mac				# IP+Mac添加
Ruijie(config)# ip source binding 0000.0000.0001 vlan 1 192.168.1.1 ip-only				# 仅IP添加

6.2 相关案例

在这里插入图片描述

DHCP-Server

DHCP-Server(config)#service dhcp 
DHCP-Server(config)#ip dhcp pool vlan10
DHCP-Server(dhcp-config)#network 192.168.10.0 255.255.255.0
DHCP-Server(dhcp-config)#default-router 192.168.10.254
DHCP-Server(dhcp-config)#dns-server 8.8.8.8
DHCP-Server(dhcp-config)#exit
DHCP-Server(config)#vlan 10
DHCP-Server(config-vlan)#exit
DHCP-Server(config)#interface vlan 10
DHCP-Server(config-if-VLAN 10)#ip address 192.168.10.254 24
DHCP-Server(config-if-VLAN 10)#exit
DHCP-Server(config)#interface g0/0
DHCP-Server(config-if-GigabitEthernet 0/0)#switchport mode trunk 
DHCP-Server(config-if-GigabitEthernet 0/0)#switchport trunk allowed vlan allowed vlan only 10
DHCP-Server(config-if-GigabitEthernet 0/0)#exit

接入交换机SW

SW(config)#interface range g0/1-2
SW(config-if-range)#switchport mode access 
SW(config-if-range)#switchport access vlan 10
SW(config-if-range)#exit
SW(config)#interface g0/0
SW(config-if-GigabitEthernet 0/0)#switchport mode trunk 
SW(config-if-GigabitEthernet 0/0)#switchport trunk allowed vlan only 10
SW(config-if-GigabitEthernet 0/0)#exit

PC1自动获取IP地址
在这里插入图片描述

PC2手动配置IP地址
在这里插入图片描述

在接入交换机中配置IPSG

SW(config)#ip dhcp snooping 
SW(config)#interface g0/0              
SW(config-if-GigabitEthernet 0/0)#ip dhcp snooping trust
# 开启DHCP Snooping功能后需要将

SW(config-if-GigabitEthernet 0/0)#exit
SW(config)#int range g0/1-2
SW(config-if-range)#ip verify source port-security 
SW(config-if-range)#exit

PC2测试连通性,可以看到无法ping通网关
在这里插入图片描述

PC1重新获取DHCP 查看IP Source Guard源数据信息
在这里插入图片描述

查看IPSG端口以及对应检测类型
在这里插入图片描述

查看DHCP Snooping表项
在这里插入图片描述

6.3 NP-DHCP Snooping – 解决用户私设DHCP服务器

  • 在接入交换机开启DHCP Snooping功能
  • 将指向合法DHCP服务器的接口设置为信任端口,其它接口默认为非信任接口

配置步骤

# 接入交换机配置
SW(config)#ip dhcp snooping 			# 开启DHCP Snooping功能
SW(config)#interface gigabitEthernet 0/0
SW(config-if-GigabitEthernet 0/0)#ip dhcp snooping trust	# 指向合法DHCP服务器的接口设置为信任端口,否则无法下发DHCP地址
SW(config-if-GigabitEthernet 0/0)#exit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Meaauf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值