【网工面试】网络工程师面试问题与答案(一)
最近翻电脑里的资料,找到了之前去其他公司面试的时候,记下来的一些面试题。整理了一小部分,仅供参考。
DHCP报文的交互流程、DHCP获取IP太慢是什么原因?如果网络中有伪造的DHCP服务器怎么解决?
DHCP交互流程:
1.主机发送DHCP discover 广播找DHCP 服务器
2.服务器回复DHCO offer 单播来回复主机
3.主机发送DHCP request 广播来请求主机第一个收到offer报文的DHCP服务器分发地址
4.服务器收到请求后单播发送一个DHCP ACK来确认。
5.租期到50%的时候,主机会向DHCP 服务器发送DHCP request来请求更新IP地址租期。
6.DHCP和客户端的租期到达87.5%的 时候,如果主机仍未收到服务器的更新响应,那么主机会发送DHCP request广播来申请新的IP
DHCP获取IP地址时间长,有可能的原因是:
1.DHCP服务器负载高
2.可能存在多个DHCP服务器
3.DNS配置问题
4.DHCP服务器IP地址池不足
5.ARP缓存中有过时的IP映射
网络中有伪造的DHCP服务器怎么办?
1.启用DHCP Snooping,让交换机去验证DHCP请求,经过授权的才可以为客户端分配地址。
2.启用DAI,Dynamic ARP Inspection,去检测网络中的ARP请求,防止伪造的ARP请求讲流量引导到其他地方,最好是配合DHCP Snooping一起使用。
3.在交换机上配置端口安全,选址每个端口连接的设备数量。
4.可以采用IP/MAC绑定来确保没有非法设备。
链路聚合的分类、手工和LACP有什么区别?静态和动态有什么区别?
链路聚合(Link Aggregation)是将多个物理链路(如以太网端口)捆绑成一个逻辑链路,从而提高带宽、冗余性和容错性。链路聚合在网络中广泛用于提高数据传输的可靠性和性能。
链路聚合有手工聚合、动态聚合。
手工聚合
手工聚合也是静态聚合需要手动配置,不依赖于协议,配置简单,但是缺点是如果链路断开,聚合无法自动修复,需要人为干预,不具备动态检测和自动调整功能。容易出现配置不一致的问题(如一端配置了聚合,另一端未配置)。
动态聚合
动态聚合也就是LACP,链路聚合控制协议,可以动态检测链路状态,支持链路动态管理,增强容错能力。LACP通过发送LACP报文来协商链路聚合状态,确保两端设备的一致性。支持动态加入或移除链路,适用于复杂的网络环境。
OSPF的LSA和作用,FA地址的作用,FA的比特位什么时候为1什么时候为0?
在OSPF中,最常见的LSA有6种,不同的LSA类型用于传递不同的网络信息。以下是常见的LSA类型及其作用:
LSA类型 | 名称 | 作用 |
1类LSA | router-LSA | 每台路由器都会生成,描述路由器自身的接口类型、链路状态信息和开销,仅在区域内传播。 |
2类LSA | network-LSA | 广播网络种由DR产生,描述DR和其他设备之间的链路状态和路由信息,仅在区域内传播。 |
3类LSA | network summary-LSA | 由ABR产生,负责区域间传递路由信息,在区域间传播。 |
4类LSA | ASBR summary -LSA | 由ABR产生,用于描述ASBR的位置,服务于5类LSA。在5类lsa传播到ABR的时候顺带产生4类lsa一起发送。 |
5类LSA | AS external -LSA | 由ASBR产生,描述到OSPF域外的路由,是AS外部LSA,在5类lsa传播的时候,下一跳不会被中间设备所修改。 |
7类LSA | NSSA external - LSA | 由ASBR产生,用于描述到OSPF域外的路由,和5类lsa的作用相同但是作用区域不一样,7类lsa只在始发区域也就是NSSA区域洪范,不能之间进入area0,当需要进入area0的时候需要转换成5类lsa。 |
FA地址的作用
FA(Forwarding Address)地址,转发地址,是OSPF外部路由(LSA5和LSA7)的一个字段,用于优化数据包的转发路径。
- 避免次优路径,在ospf中,外部路由通常下一跳是ASBR,如果asbr和外部网络之间的路径并不是最优的,数据包可能会绕路。
- FA地址可以指定一个更优的下一跳,避免数据包绕路。
- 减少ASBR的负担,如果FA地址是0.0.0.0,数据包会被发送到ASBR;如果FA地址非0,数据会被直接发送到FA地址,减少了ASBR的负担。
FA地址的比特位
比特位为0
- 当外部路由地址下一跳不可达,FA地址是0.0.0.0
- 当ASBR和外部网络之间链路不在OSPF域内的时候,FA地址是0.0.0.0
- 当外部路由是通过静态路由或者是默认路由引入的时候,FA地址是0.0.0.0
比特位为1
- 当外部路由地址下一跳可达,FA地址为非0
- 当ASBR和外部网络之间链路在OSPF域内的时候,FA地址为非0
- 当外部路由是通过动态路由协议如BGP等引入的时候,FA地址通常为非0
请解释BGP的选路规则,并说明MED和Local Preference的区别。
BGP有13条选路规则。
- 最高权重weigh优先,默认为1。
- 本地优先级最高优先,local-pre。
- 本地生成路由优先。
- AS-path最短的优先。
- 最低的起源类型优先,IGP>EGP。
- 最低的MED优先。
- EBGP>IBGP。
- 最短的IGP路径到下一跳的优先。
- 最老的EBGP邻居学到的路由最优,(从同一个邻居学过来的第十条路由失效)
- 最低的router-id优先。
- 最低的集群列表(cluster-id)优先。
- 优选来自最低的邻居地址的路径,是BGP的neigbor配置中的地址。
- 最小的路径标识符优先。
MED和Local Preference的区别
MED(Multi-Exit Discriminator)和Local Preference(本地优先级)是BGP中用于影响路由选择的两个重要属性。他们的作用和应用场景不相同。
MED
MED是一个可选非过渡属性,用于向EBGP邻居建议进入AS的最佳路径。MED越小,路径越优先。
主要作用是影响其他AS进入本AS的路径选择。例如,如果一个AS有多个出口点连接到另一个AS,可以通过MED值来决定对方走哪个出口点更优。
MED只在EBGP邻居中传播,不会再IBGP邻居之间传递。MED值默认不比较,除非路由来自同一个AS。
Local Preference
Local Preference 是一个公认任意属性,用于在IBGP影响路由选择。Local Preference数值越大,路由越优先。
主要作用是在AS内部的路由选择,选择最佳的出口路径。例如,如果AS内有多个出口连接到其他的AS,可以通过Local Preference来决定选择最佳出口。
Local Preference只在IBGP邻居中传播,不会再EBGP邻居之间传递。Local Preference值默认是100,可以手动修改。