面试小米准备
技术面试要求:
职位要���
- 1.计算机相关专业统招本科以上学历,具备较好的学习能力;
- 2.有一定的网络设备操作能力,对网络监控和告警系统的有一定了解;
- 3..具备较好的路由技术理论水平,包括/PBR/OSPF/BGP等路由协议及技术原理,包括各种路由协议的路由控制;
- 4.熟练掌握RSTP/MSTP/802.1X/链路聚合/DHCP等常见二层交换技术,熟悉DNS/Radius/SNMP等企业网络基础服务的工作原理及维护;
- 5.了解L2TP/SSL VPN/GRE/IPSec VPN等VPN技术;
- 6.了解Vxlan、EVPN技术,掌握分布式网关的网络结构和运维的技术细节;
- 7.具备一定的抗压能力和沟通能力,能够处理好同事间的融洽协作关系。
1.PBR策略路由:
策略路由PBR是一种依据用户制定的策略进行路由选择的机制,分为本地策略路由、接口策略路由和智能策略路由SPR。本课程仅讨论本地策略路由。
IP单播策略路由具有如下优点:
- 可以根据用户实际需求制定策略进行路由选择,增强路由选择的灵活性和可控性。
- 可以使不同的数据流通过不同的链路进行发送,提高链路的利用效率。
- 在满足业务服务质量的前提下,选择费用较低的链路传输业务数据,从而降低企业数据服务的成本。
其他特点:
- 策略路由优先性高于查路由表。
- 本地或者接口策略路由一般是使用ACL进行匹配,不能通过其他过滤器进行匹配。
OSPF
OSPF 报文类型以及每一种报文的作用?(提示:hello 作用有4个)
答:OSPF报文一共有5种
1>Hello:作用:1)发现邻居 2)维护邻居关系 3)选举DR/BDR 4)保证邻居的双向通信
2>DBD(Database description)1)选举master slave 2)交互数据库摘要信息
3>LSR( LSA Request) 向对方请求对方有, 本地没有的LSA信息
4>LSU(LSA Update) 给邻居发送LSA 信息
5>LSACK(Link State Acknowledgement) 确认邻居发送的LSA 信息和对DBD 报文进行确认
描述一下OSPF 工作流程?
1>交互hello:路由器向每一个启用OSPF 进程的接口发送hello接收邻居发送过来的hello,并且匹配hello中的各种参数, 如果参数匹配, 就进行下一步, 建立邻居关系。
2>邻居/邻接:接口根据OSPF 网络类型建立邻居或者邻接的关系, 邻居关系就是只交互过hello报文,并不知道邻居具体的物理拓扑信息.邻接关系就是两个邻居之间完全交互过各种报文, 两台路由器拥有各自的明细拓扑信息LSDB 完全同步。
3>发送LSA:路由器根据与对方建立的邻居或邻接关系向邻居发送不同类型的LSA,这些LSA 包含了路由器所有启用了OSPF 进程的链路信息,接口信息,这些信息可以是末梢网络,也可以是去往其他OSPF 区域的传输网络,或者是去往外部自治系统的网络, 根据各种各样的情形设计了不同的LSA。
4>LSA 泛洪:接收邻居发送过来的LSA ,加入LSDB,并且根据路由器自身的角色对邻居发送过来的LSA 进行泛洪发送,以及转换工作。
5>收敛:当一个区域内的所有路由器的LSDB 完全同步, 网络就完成收敛。
6>执行SPF计算:一个区域内每个路由器以自身为树根, 计算到达每一个节点的最短路径, 画出一个最短路径的矢量图, 这个拓扑图就是SPF算法树。
7>计算路由:根据SPF 计算得到的矢量图计算到达每一个节点的最优路径, 放到路由表。
Router ID 选举原则
Router ID是一个32位的值,它唯一的标识了一个自治系统内的路由器,可以为每台运行OSPF的路由器上可以手动配置一个RouterID,或者指定一个IP地址作为RouterID。
如果设备存在多个逻辑接口地址,则路由器使用逻辑接口中最大的IP地址作为RouterID,如果没有配置逻辑接口,则路由器使用物理接口的最大IP地址作为RouterID。
OSPF建立邻接的条件:【提示:报头、hello、DBD 中的参数, 共11点】
答:
1) 报头中要匹配的字段
1>版本一致.IPv4 版本的OSPF 和IPv6版本的OSPF 版本报文不兼容
2>RID不能冲突.
3>一条链路的两端 必须在同一个区域.
4>认证类型和密钥.
2)hello报文中需要匹配的字段
5>掩码需要匹配
并不是所有的掩码都需要匹配,当你的网络类型为广播和NBMA的时候,大家要建立邻居,掩码必许要一致。如果网络类型为点到点或点到多点的时候,掩码是不需要一致的。
6>hello时间dead时间需要匹配。
7>option中的E位和N位必须要一致的。
8>Router priority字段,为0 代表该路由器没有资格选举DR/BDR , 在要求选举DR/BDR 的网络类型中, 必须至少有一个DR 存在,即在这个网络中至少有一个路由器接口路由器优先级不为0。
9> NBMA中要对邻居指peer,双方要互指
10> 建立邻居的接口不能是静默接口
OSPF 邻居建立过程
1>Down
在Down状态下,OSPF进程还没有与任何邻居交换信息。OSPF在等待进入Init状态。
1.5>Attempt 尝试。只有在Non-Broadcast非广播和point-to-multipoint non-Broadcast点到多点非广播才能见到尝试。在这2种接口使用OSPF,不会主动发送hello,因为在发送ospf报文的时候,必须只能以单播的形式发送。
Cisco需要使用neighbor 华为需要指peer 命令指定单播报文发送的目的地,就是单播指定了一个邻居,已经给他发送了一个单播hello,还没收到任何回应,我的邻居状态就是attempt。
这个阶段是临时阶段,最多维持hello时间4倍,没有收到回应就回到down。
2>Init 初始化状态
OSPF路由器以固定的时间间隔(缺省10s)发送类型1(Hello)的分组,以便与邻居路由器建立特殊的关系。
3>Two-way 双边邻居
每台OSPF路由器都使用分组试图与同一个IP网络中的所有邻居路由器建立双向状态或双向通信。Hello分组中含有发送者已知的OSPF邻居列表。当路由器看到它自己出现在一个邻居路由器的Hello分组中时,它就进入了双向状态。
4>Exstart 准启动状态
当路由器与它的邻居进入到ExStart状态后,他们之间的会话就表征为一种毗邻关系,但这时路由器还没有变成全毗邻状态。
ExStart状态是使用类型2的数据库描述(DBD,DataBase Description)分组建立的,两个路由器用Hello分组协商在它们之间的关系谁是“主”,谁是“从”(具有最高OSPF路由器ID的路由器将胜出并变成“主”)。
5>Exchange 阶段
主路由器带动从路由器交互DBD 报文
6>loading:根据交互的DBD 报文可以得知双方需要的LSA 信息, 根据自己没有而邻居有的LSA向邻居请求
7>FULL完全邻接状态 :最终状态,邻居建立完成
OSPF 网络类型
答:Point-to-point点到点类型
Point-to-multipoint点到多点类型
Broadcast广播类型
NBMA 非广播多路访问网络
Virtual-link 虚链路
BGP
1、 IBGP 为什么采用全互联?不采用全互联怎么部署?
由于IBGP的水平分割导致一个路由器收到的一条BGP路由不能传递给其他IBGP的邻居。这样的话,如果要让一个iGp中所有路由器都要可以给别的路由器传递BGP路由的话,就需要建立全互连这样的邻居关系就是每个路由器两两之间都要建立邻居,这样才能解决那个数据层面路由黑洞的问题。
可以采用反射器和联邦
2、 Bgp 中团体的作用
标准团体属性:针对传递的路由信息进行标记
扩展团体属性:定义BGP路由的传播范围
扩展团体属性:
Internet—可以传递给所有邻居
no-advertise—不能传递给任何邻居
no-export—不能传递出大的AS
no-export-subconfed—不能传递出小的AS
3、 BGP 的选路原则
选路条件: BGP路由必须有效,无环的,不能被惩罚 。
当到达同一目的地存在多条路由时,BGP依次对比下列属性来选择路由:1)优选协议首选值(PrefVal)最高的路由:
数值范围: 0-65535 , 越大越优,默认值为0
协议首选值(PrefVal)是华为设备的特有属性,该属性仅在本地有效。2)优选本地优先级(Local_Pref)最高的路由。
作用: 用于控制离开本AS的流量,离开本AS时使用
范围:0-2^32 , 默认值为100 , 数值越大越优;在AS内可以传递,传出AS后失效
部署位置: 一般建议在存在EBGP邻居的IBGP邻居之间
3)依次优选手动聚合路由、自动聚合路由、network命令引入的路由、import-route命令引入的路由、从对等体学习的路由。(next-hop为 0.0.0.0 最优先)
在思科中,next-hop为0.0.0.0是通过network or import or 路由聚合产生的
0.0.0.0整体优于IBGP或EBGP学习的4)优选AS路径(AS_Path)最短的路由。
作用:代表本路由信息经过了那些AS
默认值:无,越短越优
5)依次优选Origin类型为IGP、EGP、Incomplete的路由。
作用:代表着BGP路由的来源
默认值: 无, i>e>? i(0) e(1)?(2)
部署位置:所有BGP路由器上
ibgp路由是来自自身的通告,or IBGP or ebgp邻居network通告的路由
?是重发布的
6)对于来自同一AS的路由,优选MED值最低的路由。
MED:多出口鉴别属性 做在EBGP邻居间
作用:用于影响进入某AS的流量控制时使用
默认值为空:med 可以当做metric值,med 属性也是只能在某一个AS之内使用,med的比较默认一定是来自于直连相同的AS中路由
设置时就是修改cost值 ,越小越优
4、 BGP 的 AS-PATH 属性有什么作用?
代表本路由信息经过了那些AS
5、 BGP 的 local-performance 属性有什么作用?如何使用?
作用: 用于控制离开本AS的流量,离开本AS时使用
6、 BGP 的反射原则?
反射规则: 非非不传(非客户端收到的路由不能传递给其他的非客户端)
一、STP工作机制。
1. STP根桥、根端口和指定端口的选举原则。
在STP网络中,选举根桥、根端口和指定端口主要使用配置BPDU中报文中的消息优先级向量:{ 根桥ID,根路径开销,发送设备BID,发送端口PID}。
2.STP拓扑计算方法。
- 初始状态:由于每个桥都认为自己是根桥,所以在每个端口所发出的BPDU中,根桥字段都是用各自的BID,Root Path Cost字段是累计的到根桥的开销,发送者BID是自己的BID,端口PID是发送该BPDU端口的端口ID。
- 选择根桥:网络初始化时,网络中所有的STP设备都认为自己是“根桥”,根桥ID为自身的设备ID。通过交换配置消息,设备之间比较根桥ID,网络中根桥ID最小的设备被选为根桥。
- 根端口和指定端口的选择过程:
- 非根桥设备将接收最优配置消息的那个端口定为根端口。
- 设备根据根端口的配置消息和根端口的路径开销,为每个端口计算一个指定端口配置消息:
- 根桥ID替换为根端口的配置消息的根桥ID;
- 根路径开销替换为根端口配置消息的根路径开销加上根端口对应的路径开销;
- 发送者BID替换为自身设备的ID;
- 发送端口PID替换为自身端口ID。
- 设备将计算出的配置消息与角色待定端口自己的配置消息进行比较:
- 如果计算出的配置消息更优,则该端口被确定为指定端口,其配置消息也被计算出的配置消息替换,并周期性地向外发送;
- 如果该端口自己的配置消息更优,则不更新该端口的配置消息并将该端口阻塞。该端口将不再转发数据,且只接收不发送配置消息。
二、RSTP对STP的改进。
1. 端口角色方面。
通过端口角色的增补, 简化了生成树协议的理解及部署。
- STP:三种端口角色分别是DP、RP、Blocking。
- 指定端口(DP):负责在链路上转发根桥的最好BPDU的端口,一般情况下根桥的所有端口都是DP,在每条链路(每个冲突域)上都会选举一个DP。
- 根端口(RP):接收来自根桥最优BPDU的端口,根桥上没有根端口。在每个非根桥设备上都会选举一个RP。
- 阻塞端口:既不是非根桥的RP,也不是链路的DP,则该端口为block port即阻塞端口。
- RSTP:增加了两种端口角色AP端口和BP端口。
-
AP:
- 从配置BPDU报文发送角度来看:Alternate端口就是由于学习到其它网桥发送的更优配置BPDU报文而阻塞的端口。
-
BP:
- 从配置BPDU报文发送角度来看:Backup端口就是由于学习到自己发送的更优配置BPDU报文而阻塞的端口。
2. 端口状态的重新划分。
- STP五种端口状态:禁用(Disable)、阻塞(Blocking)、侦听(Listening)、学习(Learning)、转发(Forwarding)。
三、MSTP和STP、RSTP的对比。
1. 应用场景不同。
- STP/RSTP:单生成树,无需区分用户或业务流量,所有VLAN共享一棵生成树。
- MSTP:需要区分用户或业务流量,并实现负载分担。不同的VLAN通过不同的生成树转发流量,每棵生成树之间相互独立。
VPN技术
L2TP是一种用于承载PPP报文的二层隧道技术,为是应用层协议,端口号为UDP
L2TP属于V P D N(虚拟专有拨号网络)中的一种技术,
主要应用在远程办公场景种为出差员工远程访问企业内网资源提供接入服务
SSL VPN 与 IPsec VPN
安全套接层(Secure Sockets Layer)
网际协议安全(Internet Protocol Security)
封装位置:
IPSEC和SSL两种不同的加密协议可以加密数据包,以防止中间黑客劫持数据。但两者的加密位置不同。
IPSEC在网络层工作,即包装原始数据的网络层:
SSL VPN在传输层工作,包装应用信息
IPSEC和SSL对比
sslvpn能对应用做到精细化管控,可以对具体的应用做保护。但是ipsec是原始数据包的封装,所有流量都会走隧道。
远程用户访问公司内部网络Ipsec客户端一般需要单独布置
sslvpn可以使用浏览器,因为浏览器基本上是内置的ssl协议。
比如校园网的访问一般都是登录网页,然后输入账号密码vpn登录方式都是sslvpn。
Vxlan
VxLAN 全称是 Visual eXtensible Local Area Network(虚拟扩展本地局域网),从名字上就知道,这是一个VLAN的扩展协议。
VxLAN本质上是一种隧道封装技术。它使用TCP/IP协议栈的惯用手法——封装/解封装技术,将L2的以太网帧(Ethernet frames)封装成L4的UDP数据报(datagrams),然后在L3的网络中传输,效果就像L2的以太网帧在一个广播域中传输一样,实际上是跨越了L3网络,但却感知不到L3网络的存在。
2 为什么需要VxLAN?
一台服务器可虚拟多台虚拟机,而一台虚拟机相当于一台主机。主机的数量发生了数量级的变化,这也为虚拟网络带来了如下问题:
1. 虚拟机规模受网络规格限制
在传统二层网络环境下,数据报文是通过查询MAC地址表进行二层转发,而MAC地址表的容量限制了虚拟机的数量。
2. 网络隔离能力限制
当前主流的网络隔离技术是VLAN,在大规模的虚拟化网络中部署存在如下限制:
① 由于IEEE 802.1Q中定义的VLAN Tag域只有12比特,仅能表示4096个VLAN,无法满足大二层网络中标识大量租户或租户群的需求。
② 传统二层网络中的VLAN无法满足网络动态调整的需求。
EVPN
EVPN(Ethernet Virtual Private Network)是一种二层VPN技术。该技术借助BGP协议实现了路由的传递,可以用于VXLAN场景下VNI隧道的动态建立与维护,可以看做是VXLAN的控制层面。在云计算中心的数据中心组网模式中,EVPN被广泛应用于VXLAN分布式网关场景下主机路由传递。但是EVPN本身也可以应用于集中式网关下的场景。
EVPN在BGP协议的基础上,新增了一种NLRC(Network Layer Reachability Information ,网络层可达信息,其实也可以简单理解为一种特殊的路由),即EVPN NLRC。
DNS相关面试问题
1、DNS为什么用UDP?
更正确的答案是 DNS 既使用 TCP 又使用 UDP。当进行区域传送(主域名服务器向辅助域名服务器传送变化的那部分数据)时会使用 TCP,因为数据同步传送的数据量比一个请求和应答的数据量要多,而 TCP 允许的报文长度更长,因此为了保证数据的正确性,会使用基于可靠连接的 TCP。
当客户端向 DNS 服务器查询域名 ( 域名解析) 的时候,一般返回的内容不会超过 UDP 报文的最大长度,即 512 字节。用 UDP 传输时,不需要经过 TCP 三次握手的过程,从而大大提高了响应速度,但这要求域名解析器和域名服务器都必须自己处理超时和重传从而保证可靠性。
2、递归查询和递归查询区别?
递归查询: 如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS 客户端的身份,向其他根域名服务器继续发出查询请求报文,即替主机继续查询,而不是让主机自己进行下一步查询。
迭代查询: 当根域名服务器收到本地域名服务器发出的迭代查询请求报文时,要么给出所要查询的IP 地址,要么告诉本地服务器下一步应该找哪个域名服务器进行查询,然后让本地服务器进行后续的查询。
3、使用域名访问web服务器过程
具体请看本专栏的这篇文章:面试官问我:从地址栏输入URL到显示页面都发生了什么?
4、讲讲DNS解析过程?
详细解析过程请看上文DNS域名解析过程,这里我们做一个总结:
浏览器缓存——》系统hosts文件——》本地DNS解析器缓存——》本地域名服务器(本地配置区域资源、本地域名服务器缓存)——》根域名服务器——》主域名服务器——》下一级域名域名服务器 客户端——》本地域名服务器(递归查询) 本地域名服务器—》DNS服务器的交互查询是迭代查询
-