#27. 25年6月-华为实习(留学生)-3.VIP用户优先转发
25年6月-华为实习(留学生)-3.VIP用户优先转发
题目内容
随着园区网络的高速发展大带宽、大流量成了主旋律,但是当网络带宽超过设备的处理能力时,可能导致网络拥塞,挤占一些高优先级的业务(如VIP用户流量),影响用户体验,所以对网络的用户体验优化成了园区网络的核心技术之一。
在你接到一个用户需求,希望提升VIP用户的流量优先级,在网络拥时优先调度。其中用户的唯一身份标识是其MAC地址(如:00-d8-01-ef-31-3e),所以我们需要在网络中配置所有VIP用户的MAC地址白名单,以便网络芯片转发引擎在执行流量转发时优先转发对应MAC地址的报文。
网络系统中VIP用户MAC地址配置格式为[xx-xx-xx-xx-xx-xx/M],其中标识MAC地址和掩码长度MAC地址由MAC地址48bit,共6字节组成,通常表示为6个十六进制数,格式为[xx-xx-xx-xx-xx-xx]。
如[00-d8-61-ef-31-3e]就是一个MAC地址掩码长度表示在进行MAC地址匹配时关注的BIT位数,掩码长度0转换成MAC地址掩码为[ff-ff-ff-ff-ff-00]相当于MAC地址最后8bit不关注如配置[00-e0-f0-01-01/32],其对应的MAC地址掩码为[ff-ff-f0-f0-00-00],能匹配上的VIP MAC地址范围是[00-e0-1c-01-00-00:00-e0-fc-01-ff-ff]
输入描述
输入第一行为整数n(1 ≤ n ≤ 100000),代表需要配置为VIP的MAC地址及其掩码个数。
接下来n行是对应VIP用户MAC地址及其掩码长度,格式为[xx-xx-xx-xx-xx-xx/M],其中M(0 ≤ M ≤ 48),MAC地址由数字和小写英文字母组成
然后是转发引擎待处理的报文MAC地址数目m(1 ≤ m ≤ 100)
接下来m行是转发引擎待处理的报文MAC地址,格式为[xx-xx-xx-xx-xx-xx]
输出描述
输出m个转发引擎待处理的报文MAC地址是否可以优先调度,是输出YES,不是则输出NO
样例1
输入
2
00-d8-61-ef-31-3e/48
00-e0-fc-00-ed-50/40
2
00-e0-fc-00-ed-66
00-d8-61-ef-31-3f
输出
YES
NO
说明
以下是提取的内容:
00-e0-fc-00-ed-66
在VIP MAC地址列表中可以匹配,因为00-e0-fc-00-ed-50/48
表示匹配范围为00-e0-fc-00-ed-xx
,其中xx
不关注。
00-d8-61-ef-31-3f
在VIP MAC地址列表中无法匹配。
样例2
输入
1
00-d8-61-ef-31-3e/0
1
02-12-13-14-15-16
输出
YES