网络面试100道(路由交换)

不积跬步无以至千里 不积小流无以成江海

文章目录


1、介绍TCP连接的三次握手?为什么TCP握手需要三次?

答:

  1. 第一次握手:SYN=1(连接请求报文),seq=a,发送后进入SYN-SENT状态;
  2. 第二次握手:SYN=1,ACK=1(同意连接请求报文),seq=b,发送后服务端进入SYN-RCVD状态;
  3. 第三次握手:ACK=1(确认请求报文),seq=a+1,发送后客户端进入ESTABLISHED状态,服务端收到后也进入ESTABLISHED状态。

TCP三次握手需要确认双发都具有:发送的能力和接收的能力

第一次握手:确认了客户端具有发送的能力
第二次握手:确认了服务端具有发送和接收的能力
第三次握手:确认了客户端具有接收的能力

主要是为了初始化 Sequence Number 的初始值。通信的双方要互相通知对方自己的ISN(Inital Sequence Number,初始序列编号)——所以叫SYN,全称Synchronize Sequence Numbers。也就上图中的 x 和 y。这个号要作为以后的数据通信的序号,以保证应用层接收到的数据不会因为网络上的传输的问题而乱序(TCP会用这个序号来拼接数据)。

相关知识详见:
TCP可靠传输整理

2、介绍TCP断开的四次挥手?为什么TCP挥手需要四次?

答:

  1. 第一次挥手:若A认为数据发送完成,则它需要向B发送连接释放请求。该请求只有报文头,头中携带的主要参数为:FIN=1,seq=u。此时,A将进入FIN-WAIT-1状态。

  2. 第二次挥手:B收到连接释放请求后,会通知相应的应用程序,告诉它A向B这个方向的连接已经释放。此时B进入CLOSE-WAIT状态,并向A发送连接释放的应答,其报文头包含:ACK=1,seq=v,ack=u+1。
    A收到该应答,进入FIN-WAIT-2状态,等待B发送连接释放请求。

    第二次挥手完成后,A到B方向的连接已经释放,B不会再接收数据,A也不会再发送数据。但B到A方向的连接仍然存在,B可以继续向A发送数据。

  3. 第三次挥手:当B向A发完所有数据后,向A发送连接释放请求,请求头:FIN=1,ACK=1,seq=w,ack=u+1。B便进入LAST-ACK状态。

  4. 第四次挥手:A收到释放请求后,向B发送确认应答,此时A进入TIME-WAIT状态。该状态会持续2MSL时间,若该时间段内没有B的重发请求的话,就进入CLOSED状态,撤销TCB。当B收到确认应答后,也便进入CLOSED状态,撤销TCB。

四次挥手,第一次断开客户端与服务端之间的连接,第二次服务端同意断开但服务端可能还有数据未传输完毕,传输完之后第三次挥手,断开服务端与客户端的连接,第四次挥手表示客户端同意断开。

如果是三次握手,那么服务端的第二三次合为一,有可能导致长时间才发送,客户端会以为断开连接请求服务端未收到,重传数据。

3、TCP的 syn 攻击的过程?追问:怎么防御?

答:

  1. 客户端伪造大量的不存在的IP地址向服务端疯狂发送 SYN,会对服务端产生两个后果:
    服务端处理大量的SYN包并回复ACK,势必有大量连接处于SYN-RCVD状态,导致占满半连接队列,无法处理正常请求
  2. 服务端长时间没有收到客户端的确认报文,会导致不断重发数据,从而耗尽服务器资源

防御:

  1. 增加SYN连接,也就是增加半连接队列的数量
  2. 减少重发SYN+ACK的重发次数,避免大量重传数据
  3. 利用SYN Cookie技术,收到SYN后不立即分配连接资源,根据SYN计算出一个Cookie,连通第二次握手发送给客户端,在客户端回复ACK时携带这个Cookie值,然后才分配连接资源。

4、为什么连接的时候是三次握手,断开的时候确是四次挥手?

答:

因为服务端在接收到FIN, 往往不会立即返回FIN, 必须等到服务端所有的报文都发送完毕了,才能发FIN。因此先发一个ACK表示已经收到客户端的FIN,延迟一段时间才发FIN。这就造成了四次挥手。

如果是三次挥手会有什么问题?

等于说服务端将ACK和FIN的发送合并为一次挥手,这个时候长时间的延迟可能会导致客户端误以为FIN没有到达客户端,从而让客户端不断的重发FIN。

5、TCP是如何通过滑动窗口协议实现流量控制和拥塞控制?

答:

流量控制

对于发送端和接收端来说,TCP需要将发送的数据放到发送缓存区,将接收的数据放到接收缓存区

流量控制需要做的是:通过接收缓存区的大小控制发送端的发送。

滑动窗口:发送窗口和接收窗口

发送端的窗口结构中包括四大部分:

  • 已发送且已确认;
  • 已发送但未确认;
  • 未发送但可发送;
  • 未发送且不可发送。

而已发送但未确认(这部分就是接收窗口缓存的数据)和未发送但可发送这两部分就组成了发送窗口。

接收端的窗口结构中包括三大部分:

  • 已接收且已确认;
  • 未接收但可以接收;
  • 未接收且不可接收。

未接收但可以接收 这部分就是接收窗口

如果接收窗口处理不来数据,就会在ACK报文首部带上缩小后的滑动窗口大小:初始化窗口大小 - 缓存区大小(已接收但未确认)

发送端收到后,调整自己的发送窗口大小:等于缩小后的接收窗口大小,且起始位置增加已发送且已确认的大小

拥塞控制

流量控制考虑的是发送端与接收端之间的关系,那么并没有考虑整个网络环境的情况,如果说当前网络特别差,特别容易丢包,那么发送端就应该注意一些了。而这,也正是拥塞控制需要处理的问题。

对于拥塞控制来说,TCP 每条连接都需要维护两个核心状态:

拥塞窗口(Congestion Window,cwnd)
慢启动阈值(Slow Start Threshold,ssthresh)

拥塞窗口

拥塞窗口(Congestion Window,cwnd)是指目前自己还能传输的数据量大小。

接收窗口(rwnd)是接收端给的限制
拥塞窗口(cwnd)是发送端的限制

发送窗口大小 = min(rwnd, cwnd)
取两者的较小值。而拥塞控制,就是来控制cwnd的变化。

cwnd慢启动,每收到一个ack,cwnd+1,一个RTT下来(往返时延),cwnd翻倍,指数增长;增长到阈值之后,拥塞避免加法增大,每收到一个ack,cwnd + 1/cwnd,一个RTT下来,cwnd + 1,直至网络拥塞后,拥塞避免乘法减小,新的sshresh值变为 cwnd / 2(快恢复),cwnd值由此开始加法增大。
在这里插入图片描述

6、描述TCP和UDP的区别?

答:

基本区别:

TCP是面向连接的,可靠的,基于字节流的传输层协议
UDP是面向无连接的传输层协议

具体来讲:

TCP相较于UDP有三大核心特性

面向连接:即客户端与服务端的连接,在双方通信之前,需要通过三次握手建立,而UDP没有相应的建立连接的过程

可靠性:可靠体现在有状态和可控制 TCP会记录哪些数据到达,哪些数据没有收到,然后重传(确认重传),保证数据包按序到达,这就是有状态;当意识到丢包或者网络环境不佳,就会根据情况降低传输速率或者重发,这就是可控制,而UDP是无状态不可控的。

面向字节流:UDP传输是基于数据报的,这是因为仅仅继承了IP层的特性,TCP将一个个IP包变成了字节流

7、TCP有哪些定时器?

答:

  • 建立连接定时器(connection-establishment timer)
  • 重传定时器(retransmission timer)
  • 延迟应答定时器(delayed ACK timer)
  • 坚持定时器(persist timer)
  • 保活定时器(keepalive timer)
  • FIN_WAIT_2定时器(FIN_WAIT_2 timer)
  • TIME_WAIT定时器 (TIME_WAIT timer, 也叫2MSL timer)

建立连接定时器: 建立连接的过程中,在发送SYN时, 会启动一个定时器(在Linux下,默认重试次数为5次(Ubuntu默认是6次,可通过cat /proc/sys/net/ipv4/tcp_synack_retries命令查询),重试的间隔时间从1s开始每次都翻售),如果SYN包丢失了, 那么1秒以后会重新发送SYN包的(当然还会启动一个新的定时器, 设置成2秒超时)

重传定时器: 重传定时器在TCP发送数据时设定,在计时器超时后没有收到返回的确认ACK,发送端就会重新发送队列中需要重传的报文段。使用RTO重传计时器一般有如下规则:

  • 当TCP发送了位于发送队列最前端的报文段后就启动这个RTO计时器;
  • 如果队列为空则停止计时器,否则重启计时器;
  • 当计时器超时后,TCP会重传发送队列最前端的报文段;
  • 当一个或者多个报文段被累计确认后,这个或者这些报文段会被清除出队列

重传计时器保证了接收端能够接收到丢失的报文段,继而保证了接收端交付给接收进程的数据始终的有序完整的。因为接收端永远不会把一个失序不完整的报文段交付给接收进程。

延迟应答计时器: 延迟应答也被成为捎带ACK, 这个定时器是在延迟应答的时候使用的。 为什么要延迟应答呢? 延迟应答是为了提高网络传输的效率。

举例说明,比如服务端收到客户端的数据后, 不是立刻回ACK给客户端, 而是等一段时间(一般最大200ms),这样如果服务端要是有数据需要发给客户端,那么这个ACK就和服务端的数据一起发给客户端了, 这样比立即回给客户端一个ACK节省了一个数据包。

坚持定时器: 我们已经知道TCP通过让接收方指明希望从发送方接收的数据字节数(即窗口大小)来进行流量控制。如果窗口大小为 0会发生什么情况呢?这将有效地阻止发送方传送数据,直到窗口变为非0为止。接收端窗口变为非0后,就会发送一个确认ACK指明需要的报文段序号以及窗口大小。

如果这个确认ACK丢失了,则双方就有可能因为等待对方而使连接终止:接收方等待接收数据(因为它已经向发送方通告了一个非0的窗口),而发送方在等待允许它继续发送数据的窗口更新。为防止这种死锁情况的发生,发送方使用一个坚持定时器 (persist timer)来周期性地向接收方查询,以便发现窗口是否已增大。这些从发送方发出的报文段称为窗口探查 (window probe)。

保活定时器: keeplive timer 每当服务器收到客户的信息,就将keeplive timer复位,超时通常设置2小时,若服务器超过2小时还没有收到来自客户的信息,就发送探测报文段,若发送了10个探测报文段(每75秒发送一个)还没收到响应,则终止连接。 补充: 保活定时器更加的简单,还记得FTP或者Http服务器都有Sesstion Time机制么?因为TCP是面向连接的,所以就会出现只连接不传送数据的“半开放连接”,服务器当然要检测到这种连接并且在某些情况下释放这种连接,这 就是保活定时器的作用。其实现根据服务器的实现不同而不同。另外要提到的是,当其中一端如果崩溃并重新启动的情况下,如果收到该端“前生”的保活探察,则 要发送一个RST数据报文帮助另一端结束连接。

FIN_WAIT_2定时器: 主动关闭的一端调用完close以后(即发FIN给被动关闭的一端, 并且收到其对FIN的确认ACK)则进入FIN_WAIT_2状态。如果这个时候因为网络突然断掉、被动关闭的一段宕机等原因,导致主动关闭的一端不能收到被动关闭的一端发来的FIN,主动关闭的一段总不能一直傻等着,占着资源不撒手吧?这个时候就需要FIN_WAIT_2定时器出马了, 如果在该定时器超时的时候,还是没收到被动关闭一端发来的FIN,那么不好意思, 不等了, 直接释放这个链接。FIN_WAIT_2定时器的时间可以从/proc/sys/net/ipv4/tcp_fin_timeout中查看和设置。

TIME_WAIT定时器: TIME_WAIT是主动关闭连接的一端最后进入的状态, 而不是直接变成CLOSED的状态, 为什么呢?第一个原因是万一被动关闭的一端在超时时间内没有收到最后一个ACK, 则会重发最后的FIN,2MSL(报文段最大生存时间)等待时间保证了重发的FIN会被主动关闭的一段收到且重新发送最后一个ACK;另外一个原因是在2MSL等待时间时,任何迟到的报文段会被接收并丢弃,防止老的TCP连接的包在新的TCP连接里面出现。不可避免的,在这个2MSL等待时间内,不会建立同样(源IP, 源端口,目的IP,目的端口)的连接。

8、什么是CDN?CDN是如何工作的?

答:

CDN的全称是Content Delivery Network,即内容分发网络。

CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络"边缘"的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。

Cache层的技术,消除数据峰值访问造成的结点设备阻塞。Cache服务器具有缓存功能,所以大部分网页对象(Web page object),如html, htm, php等页面文件,gif,tif,png,bmp等图片文件,以及其他格式的文件,在有效期(TTL)内,对于重复的访问,不必从原始网站重新传送文件实体, 只需通过简单的认证(Freshness Validation)- 传送几十字节的Header,即可将本地的副本直接传送给访问者。由于缓存服务器通常部署在靠近用户端,所以能获得近似局域网的响应速度,并有效减少广域带宽的消耗。不仅能提高响应速度,节约带宽,对于加速Web服务器,有效减轻源服务器的负载是非常有效的。

CDN的工作过程

传统访问过程(未加速缓存服务)

1.用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址.
2.LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期)
3.ROOT DNS将域名授权dns记录回应给 LocalDns
4.LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址
5.域名授权dns 查询域名记录后,回应给 LocalDns
6.LocalDns 将得到的域名ip地址,回应给 用户端
7.用户得到域名ip地址后,访问站点服务器
8.站点服务器应答请求,将内容返回给客户端.

CDN访问过程(使用缓存服务)

CDN网络是在用户和服务器之间增加Cache层,主要是通过接管DNS实现,将用户的请求引导到Cache上获得源服务器的数据

下面让我们看看访问使用CDN缓存后的网站的过程:

1.用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址.
2.LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期)
3.ROOT DNS将域名授权dns记录回应给 LocalDns
4.LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址
5.域名授权dns 查询域名记录后(一般是CNAME),回应给 LocalDns
6.LocalDns 得到域名记录后,向智能调度DNS查询域名的ip地址
7.智能调度DNS 根据一定的算法和策略(比如静态拓扑,容量等),将最适合的CDN节点ip地址回应给 LocalDns
8.LocalDns 将得到的域名ip地址,回应给 用户端
9.用户得到域名ip地址后,访问站点服务器
10.CDN节点服务器应答请求,将内容返回给客户端(缓存服务器一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程)

通过以上的分析我们可以得到,为了实现对普通用户透明(使用缓存后用户客户端无需进行任何设置)访问,需要使用DNS(域名解析)来引导用户来访问Cache服务器,以实现透明的加速服务. 由于用户访问网站的第一步就是 域名解析 ,所以通过修改dns来引导用户访问是最简单有效的方式.

9、什么是DNS?说说DNS的解析过程?

答:

DNS(Domain Name System)域名系统,是互联网上是一种层次结构的基于域的命名方式和实现这种命名方式的分布式数据库,其中记录了各种主机域名与 IP 地址的对应关系,能够使用户更加方便的访问网站。用户可以直接输入域名登录网站,DNS会将域名解析成IP地址,然后用户根据这个IP地址找到相应的网站,从而访问到域名对应的网站,通过主机名获取到主机名对应IP地址的过程叫作域名解析。

DNS协议建立在UDP协议之上,在某些情况下可以切换到TCP,使用端口号53,是一种客户/服务器服务模式

DNS解析过程

  1. 当在浏览器中输入URL时,浏览器会先检查自己的缓存是否有域名IP的映射关系,有则直接使用IP进行通信;
  2. 如浏览器没有缓存,则操作系统检查本地Hosts文件是否有域名IP的映射关系,有则使用IP进行通信;
  3. 如果hosts没有这个域名的映射,则查找本地DNS解析器缓存是否有映射关系,有则直接返回完成域名解析;
  4. 如果还未找到映射关系,首先会找TCP/IP参数中设置的首选DNS服务器,也就是常称的本地DNS服务器,如果服务器已缓存了映射关系,则使用这个IP地址映射返回完成域名解析,此时解析不具有权威性;
  5. 如果本地DNS服务器缓存已经失效,进行迭代查询。

详见:
DNS协议概述

10、什么是DHCP?描述其工作过程?

答:

DHCP(Dynamic Host Configuration Protoco)动态主机配置协议,不用手动配置IP地址,减少错误等。

DHCP采用的是c/s模型,DHCP Client 需要从 DHCP Server那里获取各种网络配置参数,这个过程是通过Client与Server之间交互各种DHCP消息完成的,DHCP 消息是封装在UDP消息里的,DHCP Client通过UDP 68端口来接收消息,DHCP Server通过UDP 67端口来接收消息。

工作过程:四个阶段

发现阶段:就是DHCP Client 寻找 DHCP Server 的阶段,客户端广播一个DHCP Discover 消息,二层广播域中运行了DHCP Server的设备都会接收到客户端发送的消息,也都会对DHCP Discover消息进行回复;

提供阶段:DHCP Server向DHCP Client提供IP地址,每一个接收到DHCP Discover消息的DHCP Server都会从自己维护的地址池中选择一个合适的IP地址,并通过DHCP Offer消息将这个地址发送给DHCP Client。(DHCP Server 是以单播发送消息)

请求阶段:DHCP Client会在收到的若干个Offer消息中根据某种原则来选择接受哪一个Offer。通常情况下,会接受最先收到的那一个Offer。假设PC最先收到的消息来自于路由器R,PC上的DHCP Client会广播一个DHCP Request消息,意图是向路由器R上的DHCP Server发出请求,获取到其发送给自己的DHCP Offer中的IP地址,同时这个消息中带有R上的标识(称为Server Identifier),表示PC只愿意接受路由器R上的Server下发的IP地址。R上的Server收到后,知道PC愿意接受自己的Offer,其他DHCP Server收到这个带有R标记的消息后,知道PC拒绝了自己的Offer消息,然后就收回当初给予的Offer,表示这个IP又可以分配给其他人了;

确认阶段:R上的DHCP Server会给PC 上的DHCP Client发送一个DHCP Ack消息。有可能因为其他原因发送一个DHCP Nak消息。如果 PC接受到了Nak消息,表示尝试获取IP地址失败,重新回到发现阶段开始新一轮申请。

还有DHCP 续租,先单播后广播,都得不到确认就不能继续使用此IP

11、DHCP有什么安全问题?如何防范?

答:

DHCP 饿死攻击:客户端大量的向DHCP 服务器申请IP地址,耗尽服务器资源。

DHCP消息中有一个CHADDR(Client Hardware Address)字段,也就是客户端的MAC地址。DHCP Server是根据CHADDR字段分配IP地址的,对于不同的CHADDR分配不同的地址;DHCP Server无法区分CHADDR是否合法,利用这个漏洞,每次申请后,修改一下CHADDR值,就可以冒充不同的用户申请IP。

解决办法:DHCP Snooping支持在端口下对DHCP Request消息的源MAC和CHADDR进行一致性检查:二者相同则转发;二者不同就丢弃。还有一种攻击就是攻击者不断变换MAC和CHADDR为一致,则可以躲过一致性检查。

DHCP 仿冒DHCP Server攻击:攻击者私自开启DHCP Server功能,伪造为合法DHCP Server。

DHCP Discover消息是一个广播消息,开启了DHCP Server功能的攻击者也会收到,并且发送DHCP Offer消息,如果客户端先收到攻击者的Offer消息,那么就会继续向攻击者请求IP地址,于是攻击者就下发错误的IP地址,网关消息等。

解决办法:DHCP Snooping将交换机的端口分为信任端口(Trusted端口)和非信任端口(Untrusted端口),与合法DHCP Server相连的为信任端口,其它端口应配置为非信任端口。交换机从信任端口收到的DHCP消息(如:DHCP Offer消息,DHCP Ack消息等)就转发,从非信任端口收到这些消息就丢弃。

DHCP 中间人攻击:攻击者利用ARP机制,令客户端学习到服务端的IP与攻击者MAC的映射关系,令服务端学习到客户端的IP与攻击者MAC的映射关系,于是客户端与服务端的报文都经过攻击者。

从本质上来讲:DHCP中间人攻击是一种 snooping IP/MAC攻击,中间人利用虚假的IP和MAC映射关系同时欺骗客户端与服务端。消息经过中间人,因此其可以对双方交流信息进行篡改、破坏;也很容易对DHCP消息进行篡改,因为DHCP 消息基于UDP消息发送,UDP封装在IP报文中,可以达到直接攻击DHCP 的目的。

解决方法:运行了DHCP Snooping的交换机会侦听(snooping)往来于用户和服务端的之间的DHCP消息,并从中收集客户端的MAC地址(指的是CHADDR中的值),客户端的IP地址(指的是Server分配给相应CHADDR的IP地址)等信息,将这些信息收集在一个数据库中,称为DHCP Snooping绑定表,运行了DHCP Snooping的交换机会建立并维护这个表,表中还包括IP地址租用期,VLAN-ID等等信息。这样,攻击者想要利用虚假的IP/MAC映射关系欺骗时,交换机会发现MAC和IP不对应DHCP Snooping表,就会丢弃该ARP请求报文。

详见:
DHCP + DHCP Snooping

12、简述FTP协议?如何工作?

答:

File Transfer Protocol,文件传输协议,应用层的文件共享服务,是互联网控制文件实现双向传输,同样ftp也是一个应用程序,不同系统对应的应用程序也不同,但是所遵循的是同一个协议 。

原理:
假设有在两台主机一台主机远程连接的服务器为文件共享服务器本地主机为客户端在两台主机正常建立连接的情况下可以通过本地主机基于ftp协议访问服务器的文件并将文件下载到本地。如果同样服务器允许客户端写入可以将本地文件上传到服务端。
文件传送(file transfer)和文件访问(file access)之间的区别在于:前者由FTP提供,后者由如NFS等应用系统提供。 Ftp. Nfs. Samba.

应用程序 架构C/S
客户端
服务端

模式
被动模式/passive/pasv方式
主动模式/standard/port方式,服务器使用20端口连接客户端

主动模式FTP:
主动模式下,FTP客户端从任意的非特殊的端口(N > 1023)连入到FTP服务器的命令端口–21端口。然后客户端在N+1(N+1 >= 1024)端口监听,并且通过N+1(N+1 >= 1024)端口发送命令给FTP服务器。服务器会反过来连接用户本地指定的数据端口,比如20端口。
以服务器端防火墙为立足点,要支持主动模式FTP需要打开如下交互中使用到的端口:
FTP服务器命令(21)端口接受客户端任意端口(客户端初始连接)
FTP服务器命令(21)端口到客户端端口(>1023)(服务器响应客户端命令)
FTP服务器数据(20)端口到客户端端口(>1023)(服务器初始化数据连接到客户端数据端口)
FTP服务器数据(20)端口接受客户端端口(>1023)(客户端发送ACK包到服务器的数据端口)
用图表示如下:

在这里插入图片描述
被动模式FTP:
为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。在被动方式FTP中,命令连接和数据连接都由客户端,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。当开启一个FTP连接时,客户端打开两个任意的非特权本地端口(N >; 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P >1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:
FTP服务器命令(21)端口接受客户端任意端口(客户端初始连接)
FTP服务器命令(21)端口到客户端端口(>1023)(服务器响应客户端命令)
FTP服务器数据端口(>1023)接受客户端端口(>1023)(客户端初始化数据连接到服务器指定的任意端口)
FTP服务器数据端口(>1023)到客户端端口(>1023)(服务器发送ACK响应和数据到客户端的数据端口)
用图表示如下:
在这里插入图片描述
优缺点:
主动模式对ftp对服务器管理有利,是由FTP服务器主动与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞。而被动模式对客户端管理有效,它是企图与服务端的随机端口建立连接但是这个端口很可能又会被服务端的防火墙所拒绝。
一般做安全措施我们是在被动模式下做,由于主动模式是打开一个端口给客户端传送数据,我们做安全措施都是基于端口来做所以不太好做,一般也不建议去做。但是被动模式也是在不停地放端口,所以慢慢的ftp慢慢的在淘汰。

13、什么是路由器?描述其工作过程?

答:

路由器是一种网络设备,它的主要功能是用来扩展网络规模的 连接广域网(WAN)
路由器是一种三层设备,是使用IP地址寻址,实现从源IP到达目标IP地址的端到端的服务

工作过程:

  • 路由器接收到数据包,提取目标IP地址及子网掩码计算目标网络地址;寻址及转发,选择到达目的网络的最佳路径
  • 根据目标网络地址查找路由表,如果找到目标网络地址就按照相应的出口发送到下一个路由器;
  • 如果没有找到,就看一下有没有默认路由,如果有就按照默认路由的出口发送给下一个路由器;
  • 如果没有找到就给源IP发送一个出错ICMP数据包表明没法传递该数据包;
  • 如果是直连路由就按照第二层MAC地址发送给目标站点。

广播,组播隔绝
流量管理

14、什么是交换机?描述下工作过程?

答:

交换机是一种工作在数据链路层的进行流量转发的网络设备。主要用于延长传输距离,解决冲突域,实现单播等功能。

工作过程:

当流量进入交换机,根据,根据数据帧中的源MAC,建立该地址与交换机端口的映射,并写入MAC地址表中。再查看数据帧中的目的MAC,根据MAC地址表中的信息进行转发;如果MAC地址表中没有相关信息,则进行洪泛处理(目的MAC为全F);若划分了VLAN,则向对应的VLAN进行洪泛。如果收到的为广播帧或组播帧,则直接进行洪泛。

交换机属于二层设备,基于MAC进行转发

交换机通过学习数据帧中的源MAC地址生成交换机的MAC地址表,交换机查看数据帧的目标MAC地址,根据MAC地址表转发数据,如果交换机在表中没有找到匹配项,则向除接受到这个数据帧的端口以外的所有端口广播这个数据帧。

15、什么是三层交换机?和二层交换机有什么区别?三层交换机是否可以替代路由器?为什么?

答:

三层交换机就是具有部分路由功能的交换机,工作在OSI模型的网络层。兼具二层交换机的转发功能,又具有处理三层IP数据包的功能;除了二层交换机用的CAM表外,还有专门用于三层硬件的转发表。主要目的是加快大型局域网内部的数据交换,它对网络结构的变化没有路由器敏感,三层交换机一般部署在三层架构当中,他可以拥有多个SVI接口,用于管理接入层流量,主要功能还是负责数据的交换。

工作的层次不同,实现的功能也就不同;三层交换机工作于网络层可以用于网络互连,二层交换机工作于数据链路层只能用于同一局域网通信。

三层交换机仅仅具有简单的路由转发功能,在路由转发和策略上面远远不及路由器;而三层交换机的数据交换效率要远高于路由器。在大型设备领域,三层交换机要比一般的路由器更昂贵。

所以,由于三层交换机有基本的路由功能,而交换数据的效率比路由要高的多,所以三层交换机可以代替路由器作为局域网内部各子网的网关;至于不同类型网络之间的互联,由于三层交换机的路由功能不能满足要求,所以还是要用路由器。

16、讲一下什么是ARP?

答:

ARP–地址解析协议—通过对端的某个地址来获取对端的另一个地址
AARP:正向ARP 通过对端的IP地址获取对端的MAC地址–基于广播
RARP:反向ARP 通过对端的MAC地址获取对端的IP地址;
FARP:无故ARP 当设备在刚 使用一个ip地址,将向外进行AARP,但被请求地址为的自己的地址;----用于地址冲突检测

17、ARP毒化过程和原理?怎么防御?

答:

ARP毒化也就是ARP欺骗

原理:利用ARP缓存机制存在的缺陷:就是当请求主机收到ARP应答包后,不会去验证自己之前是否向对方发送过ARP请求包,就直接把返回包中的IP与MAC对应的关系保存在ARP缓存表中,如果原有相同的IP对应关系,原有的就会被替换。

防范:
1、主机绑定网关MAC与IP地址为静态(默认动态),命令:arp -s 网关IP 网关MAC;
2、在网关绑定主机MAC与IP地址;
3、使用ARP防火墙。

18、说明什么是PPPoE协议?如何工作?

答:

point-to-point protocol over ethernet

以太网上点对点协议,把最经济的局域网技术-以太网和点对点协议的可扩展性及管理控制功能结合在一起

PPPOE在标准PPP报文的前面加上以太网的报头,使得PPPOE提供通过简单桥接接入设备连接远端接入设备,并可以利用以太网的共享性连接多个用户主机,在这个模型下,每个用户主机利用自身的PPP堆栈,用户使用熟悉的界面。接入控制,计费等都可以针对每个用户来进行。

PPPOE的实现过程

建立一个以太网上点对点协议会话包括两个阶段:

发现(Discovery)阶段

在Discovery过程中用户主机以广播方式寻找可以连接的所有接入设备,获得其以太网MAC地址。然后选择需要连接的用户主机并最后获得所要建立的 PPP会话的SESSION_ID。在Discovery过程中节点间是客户端-服务器关系,一个用户主机(客户端)最终要发现一个接入设备(服务器)。在网络拓朴中,一般有不止一个的接入设备可以通信,Discovery阶段允许用户主机发现所有的接入设备,并从中选择一个。当Discovery阶段结束时,用户主机和接入设备之间都获得了可供以太网上建立PPP连接的全部信息。Discovery阶段保持无连接状态直到一个PPP会话的建立。一旦PPP连接建立,则用户主机和接入设备都必须为PPP虚拟端口分配资源。

PPP 会话阶段

用户主机与在发现阶段确定的接入设备进行PPP协商。这个协商过程与标准的PPP协商并没有任何区别。在PPP会话阶段节点间是对等关系。

发现(Discovery)阶段详述

典型的发现(Discovery)阶段共包括4个步骤:

  • 用户主机发出PPPOE有效发现初始(PADI)包。以太网目的地址为广播地址0xffffffff, CODE 字段为0x09, SESSION_ID为0x0000。PADI包必须至少包含一个服务名称类型(Service-Name)的标签(标签类型字段为0x0101),向接入设备提出所要求提供的服务。一个完整的PADI(包括PPPOE头)不能超过1484字节,以留下充足的预留给agent设备增加Relay-Session-Id标识。
  • 接入设备收到在服务范围内的PADI包后,发送PPPOE有效发现提供(PADO)包以响应请求。其CODE字段为0x07,SESSION_ID仍为0x0000。PADO包必须包含一个接入设备名称类型(AC-Name)的标签(标签类型字段为0x0102)以及一个或多个服务名称类型标签,表明可向用户主机提供的服务种类。
  • 用户主机在可能收到的多个PADO包中选择一个合适的接入设备,选择的原则是根据
    PADO中接入设备名称类型标签和服务名称类型标签的内容。然后向所选择的接入设备发送PPPOE有效发现请求(PADR)包。其CODE字段为0x19,SESSION_ID仍为0x0000。PADR包必须包一个服务名称类型标签,确定向接入设备请求的服务种类。当一个用户主机在确定时间没有收到PADO,他会重发一个PADI,同时等待两倍的时间。这种过程可以根据需要重复多次。
  • 接入设备收到PADR包后准备开始 PPP会话,它发送一个PPPOE 有效发现会话确认( PADS)包。其CODE 字段为0x65 , SESSION_ID为接入设备所产生的一个唯一的PPPOE会话标识号码。0xffff作为预留资源,目前不能被使用作SESSION_ID。PADS包也必须包含一个服务名称类型的标签确认向用户主机提供的服务。当用户主机收到PADS包确认后,双方就进入PPP会话阶段。如果接入设备不能识别PADR中的服务名称类型的标签,则会回一个包含服务名称错误( Service-Name-Error ) 标签的PADS ,其SESSION_ID仍然是0x0000。如果用户主机在确定时间没收到PADS包,与没收到PADO作同样处理。
  • 还有一种PPPOE有效发现终止(PADT)包,在一个PPP会话建立后它随时可由用户主机或接入设备中任何一方发送,指示PPP会话已终止。PADT包不需要任何标签,其CODE字段为0xa7 , SESSION_ID 为需要终止的PPP会话的会话标识号码。

PPP链路,一个典型的链路建立过程分为三个阶段:创建阶段、认证阶段和网络协商阶段。

阶段1:创建PPP链路

LCP负责创建链路。在这个阶段,将对基本的通讯方式进行选择。链路两端设备通过LCP向对方发送配置信息报文(Configure Packets)。一旦一个配置成功信息包(Configure-Ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。 应当注意,在链路创建阶段,只是对验证协议进行选择,用户验证将在第2阶段实现。

阶段2:用户验证

在这个阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的packets是被允许的。在该阶段里接收到的其他的packets必须被静静的丢弃。 最常用的认证协议有口令验证协议(PAP)和挑战握手验证协议(CHAP)。 认证方式介绍在第三部分中介绍。

阶段3:调用网络层协议

认证阶段完成之后,PPP将调用在链路创建阶段(阶段1)选定的各种网络控制协议(NCP)。选定的NCP解决PPP链路之上的高层协议问题,例如,在该阶段IP控制协议(IPCP)可以向拨入用户分配动态地址。 这样,经过三个阶段以后,一条完整的PPP链路就建立起来了。

认证方式

1 口令验证协议(PAP)

PAP 是一种简单的明文验证方式。NAS(网络接入服务器,Network Access Server)要求用户提供用户名和口令,PAP以明文方式返回用户信息。很明显,这种验证方式的安全性较差,第三方可以很容易的获取被传送的用户名和口 令,并利用这些信息与NAS建立连接获取NAS提供的所有资源。所以,一旦用户密码被第三方窃取,PAP无法提供避免受到第三方攻击的保障措施。

2 挑战-握手验证协议(CHAP)

CHAP是一种加密的验证方式,能够避免建立连接时传送用户的真实密码。NAS向远程用户发送一个挑战口令(challenge),其中包括会话ID和 一个任意生成的挑战字串(arbitrary challenge string)。远程客户必须使用MD5单向哈希算法(one-way hashing algorithm)返回用户名和加密的挑战口令,会话ID以及用户口令,其中用户名以非哈希方式发送。

CHAP对PAP进 行了改进,不再直接通过链路发送明文口令,而是使用挑战口令以哈希算法对口令进行加密。因为服务器端存有客户的明文口令,所以服务器可以重复客户端进行的 操作,并将结果与用户返回的口令进行对照。CHAP为每一次验证任意生成一个挑战字串来防止受到再现攻击(replay attack)。在整个连接过程中,CHAP将不定时的向客户端重复发送挑战口令,从而避免第3方冒充远程客户(remote client impersonation)进行攻击。

SLIP (Serial Line Internet Protocol) 串行线路互联网协议
PPP
其中PPP是Point to Point Protocol(点到点协议)的字母缩写。它是TCP/IP网络协议集的成员之一。也可以认为PPP是对TCP/IP的一个扩展,它增加了两组有用的功能。

·它可以通过串行链路来传送TCP/IP信息包。
·用户登录认证

PPP性能更加丰富,而且很大程度上取代了SLIP的地位。因为在公用电话系统中也采用了部分串行链路,所以必须确保通信的可靠性。为此,PPP将用户名与密码安全结合在一起,比如当接驳要求发起时,此要求通过PPP协议转发到路由器和服务器,这时候就可以进行安全验证了。因为PPP具有在串行链路上传递TCP/IP 信息包的能力,并且还可以进行安全验证,所以互联网服务提供商ISP(Internet Service Providers)一般都是利用PPP协议,允许拨号用户与互联网相连。

19、交换机是如何转发数据包的?

答:

当数据包进入交换机后,交换机查看目的MAC地址表的映射关系来转发,如果找到了按照相对应的接口MAC转发;如果没找到,假设配置了vlan信息就在同vlan内(除了接收数据包的接口)洪泛,若没有配置vlan,在除了接收数据包以外所有接口上广播

20、什么是vlan?

答:

VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接通信,从而将广播报文限制在一个VLAN内。

详见:
vlan基础知识+vlan接口模式

21、如何实现vlan间通信?有几种方法?

答:

路由器物理接口
路由器子接口,封装

[r1]int g0/0/1.10   
//进入子接口

[r1-GigabitEthernet0/0/1.10]d t v 10  
//dot1q  temination vid 10 相应的vlan

[r1-GigabitEthernet0/0/1.10]ip add  192.168.1.1 24 
//配置ip地址

[r1-GigabitEthernet0/0/1.1]arp broadcast enable   
//开启arp广播

[R1]int Eth-Trunk 1.? 
//捆绑链路的单臂路由子接口的取值范围
  <1-4094>  

三层交换机配置Vlanif

22、什么是广播域?什么是冲突域?

答:

  • 冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。,交换机的每个接口都是一个冲突域。
  • 广播域:网络中能收到任何一台设备发出的广播包的节点集合,每个路由器的接口都是一个广播域。

集线器(Hub),交换机(Switch)及路由器(Router)的划分(隔离)功能:

  • Hub:不能隔离冲突域百,不能隔离广播域;
  • Switch:可以隔离冲突域(每接口为一冲度突域),不能隔离广播域;(网桥功能同交换机)
  • Router:可以隔离冲突域(每接口为一冲突域),可以隔离广播域(每接口同时为一广播域)

区别:

  • 广播域可以跨网段,而冲突域只是发生的同一个网段的。
  • 冲突域是基于第一层(物理层)而广播域是机于第二层(数据链路层)
  • HUB 所有端口都在同一个广播域,冲突域内。
  • Swith所有端口都在同一个广播域内,而每一个端口就是一个冲突域。

23、简述 STP(802.1D)的作用及工作原理. RSTP(802.1W)收敛速度为 什么比 802.1D 快?有哪些方面?

答:

生成树:在一个二层交换网络中,生成一棵树型结构,逻辑的阻塞部分接口,使得从根到所有的节点仅存在唯一的路径;当最佳路径故障时,自动打开部分阻塞端口,来实现线路备份的作用;

选取唯一一个根网桥,根桥上的所有端口都是指定端口;
在每个非根网桥选取唯一一个根端口;在每网段选取唯一一个指定端口。

RSTP新增两种端口:边缘端口和Backup端口
Backup端口:由于学习到自己发送的配置BPDU报文而阻塞的端口,指定端口的备份,提供了另外一条从根节点到叶节点的备份通路。
边缘端口:如果端口位于整个交换区域边缘,不与任何交换设备连接,这种端口叫做边缘端口。边缘端口一般与用户终端设备直接连接。

P/A机制

详见:
stp(生成树协议)
rstp(快速生成树)

24、MSTP原理?

答:

基于实例(Instance)计算出多棵生成树,每个实例都会生成自己的生成树,并且每个实例可以包含一个或多个VLAN,每一个VLAN只能映射到一个实例。交换机可以通过配置多个实例,实现不同VLAN组之间的负载分担。

在以太网中部署MSTP协议后可实现如下功能:
形成多棵无环路的树,解决广播风暴并实现冗余备份。
多棵生成树在VLAN间实现负载均衡,不同VLAN的流量按照不同的路径转发。

STP/RSTP的缺陷:
RSTP在STP基础上进行了改进,实现了网络拓扑快速收敛。但RSTP和STP还存在同一个缺陷:由于局域网内所有的VLAN共享一棵生成树,因此无法在VLAN间实现数据流量的负载均衡,链路被阻塞后将不承载任何流量,还有可能造成部分VLAN的报文无法转发。

详见:
mstp(多区域生成树协议)

25、生成树有什么缺点?你知道有哪些技术可以弥补这些缺点?

答:

stp的话,收敛慢,逻辑阻塞端口,影响转发效率,所有vlan共用一棵树

rstp相对于stp,收敛速度加快(不需要采用计时器方式),逻辑阻塞端口,所有vlan共用一棵树

mstp相较于以上两种,基于不同实例来生成多棵树,既可以快速收敛,又提供了数据转发的多个冗余路径,在数据转发过程中实现VLAN数据的负载均衡。

生成树配置起来也挺麻烦的

对于生成树来讲,有这些改进方向:

  • 链路聚合
  • 堆叠与虚拟化——减少网络复杂度(华为叫集群,不叫虚拟化)
  • M-LAG是不是也算呢,提供无环二层网络拓扑,不用生成树了
  • trill——算法;不用生成树,SPF算法,普适性比较差,一般用到数据中心里
  • vxlan,大二层,直接干掉生成树协议

详见:
iStack和CSS
Eth-Trunk(链路聚合)
M-LAG原理描述
vxlan基础

26、 简述传统的多层交换与基于 CEF 的多层交换的区别

答:

负载均衡有两种方式∶ 基于目标网络和基于数据包。

1.负载均衡和 Cisco 急速转发

  • 基于目标网络的负载均衡是根据目标地址分配负载。假设到一个网络存在两条路径,那么发往该网络中第一个目标的数据包从第一条路径通过,发往网络中第二个目标的数据包通过第二条路径,发往此网络中第三个目标的所有数据包还通过第一条路径,依此类推。这就是Cisco急速转发(CEF)使用的缺省负载均衡方式。在大部分平台上,IPv4的缺省交换模式是CEF,但是 IPv6却不是。

  • CEF 是一种非常有效的交换方法。它事先从路由表中获取信息并把信息存储在转发信息库(FIB)中,当任何数据包需要这些信息时可以立即使用。FIB包括路由表中的所有目标网络,如果路由表稳定且不发生改变,那么FIB也不会变化。CEF使用一个单独的数据表-邻接关系表,为FIB的每个表项维护第二层转发信息。邻接关系表由第二层信息构成,例如,这些信息可以通过IPARP或IPv6邻居发现协议学习到。FIB和邻接关系表是在数据包转发之前建立的。

  • CEF在缺省情况下是基于目标进行负载均衡。这实际上是按照源目地址对进行负载均衡。所有发往特定目标地址的流量只要源地址相同都会从相同的接口出站,而不同源目地址对的流量可能会从下一个接口出站。

  • 基于数据包的负载均衡是交换 IPv4 数据包的另一种方式。对于IPv6,CEF仅支持基于目标网络的负载均衡方式。基于数据包的负载均衡方式意味着在不同的链路上发送数据包,即使在路径等代价、目标相同的情况下也是这样。如果路径代价不同,那么可能会在高、低代价路径上按照代价比率进行分流。基于数据包的负载均衡方式可以更加均匀地布流量,这取决于不同源目地址对的数量。但是数据包选择不同的路径去往目标网络会引起非顺序到达。对于某些应用来说,这是不能接受的,例如 VoIP。

  • 为了确定 CEF 功能是否在路由器上被全局的打开,可以使用命令show ip cef 和 show ipv6 cef。如果缺省情况下CEF没有被打开,针对 IPv4可以使用命令ip cef,而对IP6来说,必须先打开IPv4 的 CEF,然后使用命令 ipv6 cef打开此功能。

  • 在 IPv4下,命令 ipload-sharing per-packet可以打开基于数据包的负载均衡功能,如果需要打开基于目标地址的负载均衡,可以用 ip load-sharing per-destination命令。你可以使用命令showcefinterface来检查使用了哪一种负载均衡模式,该命令可以给出在这个接口上配置的CEF 信息。

  • 路由器通常根据入站接口和源与目的地址类型确定是否使用 CEF 交换。对于考虑使用CEF的路由器来说,出站接口必须配置为CEF交换模式,如果接口上配置了CEF,那么CEF将尝试交换数据包。否则,CEF将会把数据包交付给仅次于最好的可用交换方法去处理。对于IPv4,这种方法是快速交换,而在IPv6 中叫进程交换(processswitching)。

  • 你可以使用命令showcefinterface{nterface}和showpv6 cef{inerface} detail来验证在接口上CEF 功能是否被打开。

2. 基于目标网络的负载均衡和快速交换

IOS 在配置了快速交换的出站接口上执行基于目标网络的负载均衡,在一些路由器上, IOS 的缺省交换模式是快速交换。

快速交换的工作方式如下∶

  1. 当路由器为第一个去往特定目标的数据包进行交换处理时,路由器将执行路由表查询并选择出站接口。
  2. 然后获取有关被选接口的数据链路信息(例如从ARP表),这些信息对数据包成帧是必需的,最后封装数据包并发送。
  3. 前面获取的路由和数据链路信息被输入到快速交换的高速缓冲内。
  4. 一旦去往相同目的地的后继数据包进入路由器,高速缓冲中的信息使路由器不必查找路由表和 ARP 高速缓冲,就可以立即交换数据包。

快速交换意味着所有去往指定目的地的数据包都从相同的接口被发送出去,因此交换时间和处理器的占用率会大大降低。当去往相同网络内不同主机的数据包进入路由器且还存在一条可选路由时,路由器会在另一条路径上发送数据包到目的地。因此路由器能够做得最好的就是基于目标网络的均衡负载。

3.基于数据包的负载均衡和过程交换

过程交换(process switching)就是对于每个数据包,路由器都要进行路由表查询和接口选择,然后再查询数据链路信息。因为每一次为数据包确定路由的过程都是相互独立的,所以不会强制去往相同目标网络的所有数据包使用相同的接口。为了在接口上打开过程交换功能,可以在IPv4下使用命令no ip route-cache。对于IPv6什么也不需要做,因为缺省情况下该功能是打开的。

27、 有一台交换机上的所有用户都获取不了 IP 地址,但手工配置后这台交换机上的同一 vlan 间的用户之间能够相互 ping 通,但 ping 不通外网,请说出排障思路.

答:

如果其它交换机上的终端设备能够获取 IP 地址 ,看帮助地址是否配置正确(DHCP中继);

此交换机与上连交换机间是否封装为 Trunk;

单臂路由实现 vlan 间路由的话看子接口是否配置正确 ,三层交换机实现 vlan 间路由的话看是否给 vlan 配置 ip 地址及配置是否正确;再看此交换机跟上连交换机之间的级连线是否有问题 ;

28、 你都知道网络的那些冗余技术,请说明.

答:

设备冗余:
链路冗余:e-trunk,mstp
网关冗余:vrrp

  • 1、proxy ARP
  • 2、IRDP
  • 3、HSRP(Cisco私有)
  • 4、VRRP
  • 5、GLBP (Cisco私有)

电源冗余

29、 策略路由和路由策略的区别?

答:

在这里插入图片描述
策略路由与路由策略存在以下不同 ∶

  • 策略路由的操作对象是数据包,在路由表已经产生的情况下,不按照路由表进行转发,而是根据需要,依照某种策略改变数据包转发路径。
  • 路由策略的操作对象是路由信息。路由策略主要实现了路由过滤和路由属性设置等功能,它通过改变路由属性(包括可达性)来改变网络流量所经过的路径。

30、 说明什么是 NAT 技术?有哪些 NAT?

答:

NAT(Network Address Translation)网络地址转换:将私网IP地址转换为合法公网IP地址,在一定程度上,解决了公网IP地址不足的问题。

静态NAT(Stastic NAT)

内部网络地址与公网地址为一对一映射关系

动态地址NAT

只是转换IP地址,它为每一个内部的IP地址分配一个临时的外部IP地址,主要应用于拨号,对于频繁的远程联接也可以采用动态NAT。当远程用户联接上之后,动态地址NAT就会分配给他一个IP地址,用户断开时,这个IP地址就会被释放而留待以后使用。

动态NAT方式适合于 当机构申请到的全局IP地址较少,而内部网络主机较多的情况。内网主机IP与全局IP地址是多对一的关系。当数据包进出内网时,具有NAT功能的设备对IP数据包的处理与静态NAT的一样,只是NAT table表中的记录是动态的,若内网主机在一定时间内没有和外部网络通信,有关它的IP地址映射关系将会被删除,并且会把该全局IP地址分配给新的IP数据包使用,形成新的NAT table映射记录。

网络地址端口转换NAPT(Network Address Port Translation)

是把内部地址映射到外部网络的一个IP地址的不同端口上。它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与 动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的端口号。

NAPT是使用最普遍的一种转换方式,它又包含两种转换方式:SNAT和DNAT。

(1)源NAT(Source NAT,SNAT):修改数据包的源地址。源NAT改变第一个数据包的来源地址,它永远会在数据包发送到网络之前完成,数据包伪装就是一具SNAT的例子。

通过修改IP地址和端口的方法就可以使内网中所有的主机都能访问外网,此类NAT适用于组织或机构内只有一个合法的IP地址的情况,也是动态NAT的一种特例。

(2)目的NAT(Destination NAT,DNAT):修改数据包的目的地址。Destination NAT刚好与SNAT相反,它是改变第一个数据包的目的地地址,如平衡负载、端口转发和透明代理就是属于DNAT。

这种方式适用于内网的某些服务器需要为外网提供某些服务的情况。

31、 当你使用计算机上网浏览 www.baidu.com 网站时,你的计算机可能会依次发送哪些类型的报文?

答:

域名解析成IP

每个主机在网络中都是IP为标识的,IP才是主机在网络中的位置,域名只是为了方便用户记忆而已,这就要求浏览器能够识别域名并且将其转化为对应的IP地址。

所以浏览器会有一个DNS缓存,其中记录了一些域名与IP的对应关系,供浏览器快速查找需要的IP。但是这个DNS缓存不可能存下所有的域名-IP地址,何况IP地址有时候还会变化,因此当在浏览器DNS缓存中没有找到的时候,就要先向DNS服务器请求域名解析,DNS域名解析时用的是UDP协议。

①客户端从浏览器中输入www.baidu.com网站网址后回车,首先浏览器会查询浏览器本身的DNS缓存,一般只有几分钟的缓存,找到了就返回域名对应的IP;如果找不到,系统就会查询本地hosts文件和本地DNS缓存信息,如果找到了,就返回域名对应IP;

②如果没有找到对应的域名解析记录,那么那么系统会把浏览器的解析请求,交给客户端本地设置的DNS服务器地址解析(称为Local DNS,LDNS),如果LDNS服务的本地缓存有对应的解析记录,就会直接返回IP地址;

③如果没有,LDNS会负责继续请求其他DNS服务器;此时就是外网的DNS服务器了,先是根域名服务器,根据浏览器得到的域名,根域名服务器看到.com,会返回.com的顶级域名服务器的ip给LDNS;然后LDNS通过顶级域名服务器的ip,找到了顶级域名服务器,.com顶级域名服务器看到了是找baidu.com一级域名服务器,就将其服务器的ip返回给LDNS;然后一层一层往下找,直到找到了www.baidu.com的DNS记录,并得到对应的IP地址,这时候LDNS会把找到的www.baidu.com的ip发送给客户端浏览器,并记录在缓存中,以便未来再次访问。

④客户端浏览器收到ip之后,就可以通过ip地址找到对应的web服务器了,即服务端主机;接下来就是三次握手建立连接了

在应用层,浏览器会给web服务器发送一个HTTP请求;

请求头为:GET http://www.baidu.com/HTTP/1.1
在传输层,(上层的传输数据流分段)HTTP数据包会嵌入在TCP报文段中;
TCP报文段需要设置端口,接收方(百度)的HTTP端口默认是80,本机的端口是一个1024-65535之间的随机整数,这里假设为1025,这样TCP报文段由TCP首部(包含发送方和接收方的端口信息)+ HTTP数据包组成。

在网络层中,TCP报文段再嵌入IP数据包中;
IP数据包需要知道双方的IP地址,本机IP地址假定为192.168.1.5,接受方IP地址为220.181.111.147(百度),这样IP数据包由IP头部(IP地址信息)+TCP报文段组成。

在网络接口层,IP数据包嵌入到数据帧(以太网数据包)中在网络上传送;
数据帧中包含源MAC地址和目的MAC地址(通过ARP地址解析协议得到的)。这样数据帧由头部(MAC地址)+IP数据包组成。

数据包经过多个网关的转发到达百度服务器,请求对应端口的服务;
服务接收到发送过来的以太网数据包开始解析请求信息,从以太网数据包中提取IP数据包—>TCP报文段—>HTTP数据包,并组装为有效数据交与对应线程池中分配的线程进行处理,在这个过程中,生成相应request、response对象。

请求处理完成之后,服务器发回一个HTTP响应;
请求处理程序会阅读请求及它的参数和cookies。它会读取也可能更新一些数据,并将数据存储在服务器上。处理完毕后,数据通过response对象给客户输出信息,输出信息也需要拼接HTTP协议头部分,关闭后断开连接。断开后,服务器端自动注销request、response对象,并将释放对应线程的使用标识(一般一个请求单独由一个线程处理,部分特殊情况有一个线程处理多个请求的情况)。

响应头为:HTTP/1.1 200 OK

浏览器以同样的过程读取到HTTP响应的内容(HTTP响应数据包),然后浏览器对接收到的HTML页面进行解析,把网页显示出来呈现给用户。
客户端接收到返回数据,去掉对应头信息,形成也可以被浏览器认识的页面HTML字符串信息,交与浏览器翻译为对应页面规则信息展示为页面内容

TCP四次挥手断开连接

32、 当你在浏览器输入 www.baidu.com 并按下回车后发生了什么?(要说出 HTTP 的工作原理)

答:

HTTP工作流程

1)地址解析

如用客户端浏览器请求这个页面:http://localhost.com:8080/index.htm

 从中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下:
 协议名:http
 主机名:localhost.com
 端口:8080
 对象路径:/index.htm

在这一步,需要域名系统DNS解析域名localhost.com,得主机的IP地址。

2)封装HTTP请求数据包

把以上部分结合本机自己的信息,封装成一个HTTP请求数据包

3)封装成TCP包,建立TCP连接

在HTTP工作开始之前,客户机(Web浏览器)首先要通过网络与服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。这里是8080端口

4)客户机发送请求命令

建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。

5)服务器响应

服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

实体消息是服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据

6)服务器关闭TCP连接

一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码

Connection:keep-alive

TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

33、RIP 的防环机制

答:

1. 路由失效计时器:定时更新
2. 水平分割:从此口进不从此口出,防止重复更新
3. 带毒的水平分割:坏消息比没消息好,跳数为无穷大
4. 最大跳数限制(计数到无穷大):15跳,超过为不可达
5. 触发更新:如果一个度量变好或者变坏,不等超时,直接发送更新消息,减少了计数到无穷大的问题
6. 抑制计时器:触发更新为拓扑变换增加了应变能力,为了降低错误信息进入路由表,当收到跳数增大的消息后,为该路由设置抑制计时器,等超时后才可以传递这条路由,但同时重新收敛的时间也减少了
7. 异步跟新:因为在路由器中,更新处理所带来的系统时延将导致更新计时器趋于同步。当几台路由器的计时器同步后,碰撞随之发生,这又进一步影响到系统时延,最终共享广播网络的所有路由器都可能变得同步起来。
可以使用下面两种方法维持异步更新(Asynchronous Update)∶
	a. ·每台路由器的更新计时器独立于路由选择进程,因而不会受到路由器处理负载的影响。
	b. 在每个更新周期中加入一个小的随机时间或定时抖动作为偏移。

34、 OSPF 中承载完整的链路状态的包?

答:

LSU链路状态更新包
链路状态更新包中包含了所有的lsa
在这里插入图片描述

35、OSPF 中 DD 报文是如何进行确认的?

答:

隐式确认
报文传输的可靠性:
在DD报文的发送过程中需要确定双方的主从关系,每次发送DD报文时使用接收到的上一个Master的DD报文中的seq。实际上这种序列号机制是一种隐含的确认方法。如果再加上每个报文都有超时重传,就可以保证这种传输是可靠的。(从使用主的序列号来确认收到了主的DBD)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

36、 OSPF 中既是 ABR 又是 ASBR 在生成什么类型的 LSA?

答:1,3,5,7类,题看不太明白
在这里插入图片描述

37、 OSPF 中 LSA 类型 NSSA 区域里都有哪些 LSA?

答:
1,2,3,7
Router-lsa|Network-lsa|Network-Summary-lsa|NSSA-external-lsa

38、 LSA5 外部路由可以在 ABR 上做汇总吗?

答:

可以在nssa区域的ABR上汇总,外部路由重发布进nssa区域为7类,然后经过abr时需要7类转5类,可以汇总,nssa区域有两个abr的话,只可以在router-di大的上面汇总
1)​域间路由汇总—ABR将本地直连的A区域1/2类LSA计算所得路由,再通过3类LSA共享到其它本地所直连的B区域时;
[r1]ospf 1
[r1-ospf-1]area 1 明细路由所在区域
[r1-ospf-1-area-0.0.0.1]abr-summary 3.3.2.0 255.255.254.0

2)​域外路由汇总—在ASBR上操作,将5类/7类LSA向OSPF发布时进行汇总;
[r2]ospf 1
[r2-ospf-1]asbr-summary 99.1.0.0 255.255.252.0
注:切记华为设备默认设备不会在进行汇总配置的设备上,自动生成空接口防环路由;

39、 OSPF 有哪几种协议包?作用分别是什么?

答:

Hello包:发现建立保活邻居邻接关系 hello interval/ router invalid time interval/ network mask/ router priority/ authentication type authentication/ designated router/ bdr/ neighbors

DBD包:etection master and slave第一个包来进行主从关系选举,接口mtu,dbd sequence number ,lsa headers 数据库目录的共享

LSR包:link-state-type link-state-id link-state-notification,it can be used to request the lsas that it doesn’t have

LSU包: link-state-updata,the numbers of lsa ,lsa

LSAck包:lsa headers

ospf数据包及LSA报文整理,挺详细的

40、 OSPF 区域划分的好处?

答:

It reduces the scope of LSA flooding update, effectively controls the topology change in the region, and achieves the purpose of network optimization

在区域边界可以做汇总路由,减小了路由表

充分利用ospf特殊区域的作用,进一步减少lsa泛洪,从而优化路由(So as to optimize the routing)

多区域提高了网络的扩展性,有利于组建大规模网络(Multi region improves the scalability of the network, which is conducive to the formation of large-scale network)

41、 OSPF 的 1 类和 2 类外部路由之间的区别?

答:

在这里插入图片描述
类型的扩展用法:

E2用法
用法1:根据到ASBR的路径cost值进行流量分担:对于有多个ASBR的OSPF域,使用E2路由时,如果想让OSPF域中的路由器从近的那个ASBR访问域外,则这多个ASBR在重发布域外路由时,将metric
设置为相同的值。

用法2:如果想让一个ASBR作为备份出口,则这个ASBR在重发布域外路由时,设置更大的metric
值。

用法3:如果想要根据目的地址进行流量分担:可以在重发布的同时通过route-map将OSPF域外路由分成几部分,这几部分设置为不同的Metric值。例如:一部分路由(Part1)ASBR1上重发布时metric小,另一部分路由(Part2)ASBR2上重发布的metric值小,则到Part1的数据流走ASBR1,到Part2的数据流走ASBR2。ASBR1 down了之后,到Part1的数据也走ASBR2。配置举例如下:

ASBR1上

router ospf 1

  redistribute bgp route-map com

route-map com permit 10

  match community 10

  set metric 10

route-map com permit 20

  match community 20

  set metric 20

ASBR2上

router ospf 1

  redistribute bgp route-map com

route-map com permit 10

  match community 10

  set metric 20

route-map com permit 20

  match community 20

  set metric 10

则到community 10的数据走ASBR1,到community 20的数据走ASBR2。如果有一个ASBR down了,
则数据全部走另一个ASBR。

E1用法
对应E2的三种用法,E1也可以尝试三种用法。

用法1:对于有多个ASBR的OSPF域,使用E1路由时,如果想让OSPF域中的路由器从近的那个ASBR访问域外,则这多个ASBR在重发布域外路由时,设置相同的metric值。这一点和E2相同。但是使用E1,show ip route的metric值就基本看得出来优选的结果和原因,容易观察。要查看E2被优选的结果和原因,需要查看LSDB。

用法2:如果想让一个ASBR承担多一些的流量,则这个ASBR在重发布域外路由时,设置小一些的
metric值。但是管理上的可控性不太好。

用法3:如果E1像E2一样重发布的时候对不同范围的路由设置不同的metric值,不一定能达到绝对
的流量分担效果。

42、 在 OSPF 中。为什么第三类 LSA 传播超过一个区域路由信息就会被修改呢?他不是使用 SPF 算法么?如果这样那么他跟 RIP 的 DV 算法有啥区别?OSPF没有形成 FULL 状态的原因?

答:

在这里插入图片描述
在这里插入图片描述
第三类lsa传播超过一个区域之后,它的通告abr就会变为当前的abr,路由信息
域内拓扑域间路由 DV算法距离矢量型,逐跳更新,每一次都修改路由信息,所以可能会出现环路

没有形成full状态的原因?(记住各种数据包的参数)
ospf头部检查,都会导致卡在init状态
区域号相同
认证类型一致(1.没认证 2.md5 3.明文)
RID不能一致
ospf Hello包检查
在非点到点网络中需要检查邻居接口掩码一致
hello时间间隔一致
死亡时间一致
MA网络中不能所有的接口优先级都为0·卡在two-way状态
Stub标志位一致(hello包中option E标志位 该标志为表示是否能接受外部路由 1表示是 0表示否 stub会将其置0),不一致会卡在init状态
Nass标志位一致(hello包中option N标志位 该标志位表示是否产生7类-LSA 1表示是 0表示否 NSSA置位1)
ospf DBD包检查
MTU一致(华为默认不开启),不一致会卡在exstart状态
ospf updata检查
如果LSA没有LSAck进行确认也会无法建立邻居关系(链路丢包,设置LSA最大接收限制都会导致LSack无法确认)
lsdb-overflow-limit会导致邻居关系翻滚 init-full-init ,最后会卡在init

43、 在什么情况下 ospf error 的 OSPF Router ID confusion 数值会增加

答:

关于ROUTER-ID 冲突,一共总结出三种情况,分别如下。

  • 第一种:区域内router-id冲突,这种情况大家遇到的最多(骨干区域与骨干区域,非骨干区域与非骨干区域。区域内,)导致的后果是,OSPF不能正常建立邻居,那么自然不能正常交互LSA 信息咯。
  • 第二种:区域间的route-id,这种冲突,必定是在多区域的情况下才会产生,不然怎么叫区域间冲突呢。他导致的后果,路由时有时无,两个冲突的路由器学到的路由,在路由表里, 一下有,然后又消失了,然后又出现了。
  • 第三种:虚连接router-id 冲突,这种情况最明显,虚连接无法正常建立,(区域间冲突的一种)

44、 说到虚连接。哪虚连接为什么能保证第三类 LSA 的路由信息不被修改呢?

答:

虚连接连接的区域相当于在逻辑上属于零区域,所以第三类lsa的路由信息不会被更改

45、 两台路由器通过直连链路,建立 OSPF 邻居,那么在一边使用 P2P,而一边使用 P2MP 的情况下,能正常建立到邻接状态么?

答:

不能,p2p hello时间为10s,p2mp hello时间为30s,所以不可以建立邻接关系

1.p2mp和p2p的网络类型不能建立邻接关系,原因是hello时间不同,并不是因为不同的网络类型导致的,修改成相同的就可以
2.一端为p2p,一端为BMA ,能建立邻接关系(hello时间相同),但是路由有问题
BMA选DR,p2p不选DR,路由有问题,SPF算法无法计算路径,学不到路由,路由不能加表

47、 OSPF 在进程重启。为什么邻居能快速的建立起来。而不是像创建进程一样。需要等待那么长时间?

答:

邻居存活时间内重启ospf进程,每个阶段只需要发一个包就能进入下一个阶段,所以邻居可以快速建立起来,如果等邻居存活时间过了之后重启ospf进程的话,就需要进行每个阶段的重新建立。

48、 ospf 一直提示 LSA disabled。为什么会产生这种情况?

答:

答:导致这种情况的原因是。当LSA 的老化时间结束时。LSA他会在LSDB表里面移除掉。或者此LS的始发者发送消息flooding掉,但。正常的情况下。当邻居正常建立来。并且建立到邻接状态时,他会自动更新LSA 的信息。并且用LS Age和LS 系列号,来区分那条LSA .更新。并在LSDB表中更新最新的LSA,既然LSA出现down的情况。那么首先得把问题定位在邻居是否正常建立起来,并且能正常交互报文( LSU LS ACK具体的请看后面0SPF常见报文错误代码。

49、 ospf 如果不同进程不同区域使能。邻居能正常建立起来么?

答:

区域id不一致的话是不可以的

50、 ospf 本身能过滤掉自身产生的 LSA 吗?

答:

ospf本身没有能过滤lsa的机制,如果有的话,spf算法也就会出问题

51、 那虚连接是怎样使用 SPF 算法的呢?准确的说。虚连接是怎么确定他报文的目的地址的?

答:

每个虚连接都要生成两棵最短路径树(第一棵为本地区域的最短路径树。第二棵为虚连接邻居的最短路径树)计算虚连接最短路径树之后。本地路由器会通过查找对端最短路径树,并通过对端的Router-id 来标识。那么虚连接到达本地路由器的始发端口的IP地址即为本地路由器发给对端虚连接邻居的协议报文的目的IP地址。

52、 为什么 ospf 中四种网络类型所定义的 hello time 和生存时间都不一样?

答:

OSPF -共定义了四种网络类型,而这四种网络类型,大部分都是针对链路,(点到多.点需要手动修改),这也是OSPF的特点之一,能适应更多不同类型的的网络结构中,并且,不同的网络类型,邻居生存时间和hello TIME也随之改变,(并且还可以手动修改),这无不证明此协议的人性化。

53、 OSPF 在 NBMA 网络要配置些什么?

答:

MGRE p2p. hello time10s 自动建邻 不选DR/BDR –在一个网段中只
能存在一个邻居;华为设备在一个MGRE网段,接口为点到点工
作方式时,仅和最先收到hello的设备建立邻居关系;
Cisco在这种情况将出现邻居的翻滚;

注:在MGRE环境中,接口默认的ospf工作方式为点到点,这种方式无法实现该NBMA网段的邻居全连;故只能去修
改接口的工作方式:
修改MGRE网段所有接口为Broadcast工作方式,切记若一部分接口修改为Broadcast,另一部分接口依然保持为点到
点,由于hello time相同可以建立邻居关系,但工作机制在DR/BDR选举处不同,故最终该网段无法正常收敛;
【1】​同时,必须关注网络拓扑结构;若该网段为全连网状结构,那么DR选举将正常进行;但若为部分网状或中心
到站点拓扑,将可能出现DR位置错误问题;
【2】​若网络拓扑只能为部分网状或中心到站点,需要人为手工干预DR位置
或者将所有接口的工作方式修改为点到多点工作方式

站点到中心结构,如果是p2mp类型的话,站点之间通信需要经过中心,dsvpn可以实现站点之间的直接互联

54、 Ospf 产生环路的原因以及解决的办法?(OSPF 防环措施?)

答:

一、OSPF的防环机制
1、OSPF区域内,采用SPF算法防环。
同一个区域内所有的路由器,拥有该区域的LSDB相同,基于LSDB采用dijkstra算法计算出一棵以自己为根的、无环的最短路径树,因此在区域内消除了环路。

2、OSPF区域间,设定规则防环
1.OSPF规定所有非骨干区域必须直接和骨干区域相连,非骨干区域之间需要通信必须经过骨干区域。
2. 水平分割。ABR只会将三类LSA转发到骨干区域,如果始发的是本区域的路由是不会被再次注入进来的。ABR不会向区域0传播它在非0区域学习到的类型为LSA三类的路由。

这个图片中,123之间可能产生环路
在这里插入图片描述

55、 Ospf 中有哪几种特殊区域?

答:

特殊区域 不能是骨干区域,不能存在虚链路;

「1」​同时不存在ASBR
1)末梢区域(Stub)—该区域拒绝4/5的LSA进入;由该区域连接骨干区域的ABR设备,向区域内发送一条3类的缺省路由;
[r1]ospf 1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]stub
注:该区域内所有设备均需要定义,否则无法建立邻居关系;
2)完全末梢区域,在末梢区域的基础上进一步拒绝3类的LSA;仅保留一条3类的缺省路由;
先将该区域配置为末梢区域,然后仅在ABR上定义完全末梢即可;
[r1]ospf 1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]stub no-summary

「2」​同时存在ASBR
1)​NSSA 非完全末梢区域—拒绝非本区域内部产生4/5LSA,本区域ASBR产生的5类将通过7类LSA传输,到达ABR处进入骨干区域时,由7类转换回5类;
在cisco设备中为了避免环路的出现,OSPF协议在NSSA区域配置完成后,不会自动产生缺省路由;而是由管理员在缺省网络无环的前提下,手工添加;
在华为的设备中让由该区域连接骨干0的ABR自动下发一下7类缺省;
[r1]ospf 1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]nssa
注:该区域内所有设备均需要定义,否则无法建立邻居关系;

NSSA区域如果有多个ABR,由router-id最大的进行7类转5类

2)​完全NSSA – 完全的非完全末梢区域;在普通NSSA的基础上,近一步拒绝3类的LSA,由ABR产生一条3类缺省
先将该区域配置为普通的NSSA,然后仅在ABR上定义完全NSSA即可
[r1]ospf 1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]nssa no-summary

特别注意事项:
由于特殊区域将自动产生缺省路由,指向骨干;故ISP所连接的位置很关键,否则将可能与特殊区域产生的缺省路由互为环路;要求ISP所在位置的OSPF区域不要做任何特殊区域配置;
在这里插入图片描述

57、 为什么在 OSPF 中要划分区域?

答:

汇总
1)​域间路由汇总—ABR将本地直连的A区域1/2类LSA计算所得路由,再通过3类LSA共享到其它本地所直连的B区域时;
[r1]ospf 1
[r1-ospf-1]area 1 明细路由所在区域
[r1-ospf-1-area-0.0.0.1]abr-summary 3.3.2.0 255.255.254.0

2)​域外路由汇总—在ASBR上操作,将5类/7类LSA向OSPF发布时进行汇总;
[r2]ospf 1
[r2-ospf-1]asbr-summary 99.1.0.0 255.255.252.0
注:切记华为设备默认设备不会在进行汇总配置的设备上,自动生成空接口防环路由;

划分区域:
1、减小路由表大小
2、限制lsa的扩散
3、加快收敛
4、增强稳定性

58、 OSPF 初始化的时候,路由器之间是如何进行交互?(OSPF 邻居形成过程?)

答:

Down:一旦本地发出hello包,进入下一个状态

Attempt:此状态仅适用于NBMA网络上的邻居,在NBMA上邻居路由器都是手工配置。当NBMA网络上具有DR选取资格的路由器和其他邻居路由器的接口变为有效(Active),或者该路由器成为DR/BDR时,此具有DR选取资格的路由器会把邻居路由器的状态转换到Attempt

Init:初始化 收到的hello包若存在本地的RID进入下一个状态
2way:双向通讯 邻居关系建立的标志

条件匹配:点到点网络将直接进入下一个状态; MA网络类型将进行DR/BDR选举,非DR/BDR间将无法进入下一状态;
注:DR/BDR选举成功后,其他路由器将只和DR/BDR建立邻接关系,所有Router继续以组播发送hello包到AllSPFRouters(组播地址:224.0.0.5),因为它们可以追踪邻居路由器。但是DRothers只以组播方式发送更新包到ALLDRouters(组播地址:224.0.0.6),只有DR/BDR回去侦听这个地址,反过来,DR/BDR路由器以224.0.0.5 泛红扩散更新数据包到DRothers。

Exstart:预启动 使用类似hello的DBD进行主从关系的选举,RID大为主优选进入下一状态
Exchange 准交换 使用真正的DBD进行数据库目录的共享,需要使用ACK确认
Loading 加载 使用LSR/LSU/LSAck来获取未知的LSA信息;
Full转发 邻接关系建立的标志

59、 OSPF 是纯链路状态的协议吗?

答:

不是,域内拓扑(链路状态),域间路由(距离矢量),三类lsa传播每经过一个abr它的abr都会改变,五类lsa不会,asbr是不会变的,有一个四类lsa是用来通告asbr位置的,四类lsa它的abr也会变成经过的abr

60、 OSPF 中 DR 选举的意义?DR 选举时的网络类型?DR 和其它路由器的关系?

答:

1)、DR(designated router)即指定路由,其负责在MA网络建立和维护邻接关系并负责LSA的同步。
2)、DR与其他所有的路由器形成邻接关系并交换链路状态信息,其他路由器之间不直接交换链路状态信息,这样就大大减少了MA网络中的邻接关系数据 及交换链路状态信息消耗的资源。
3)、DR一旦出现故障,其与其他路由器之间的邻接关系将全部失效,链路状态数据库也无法同步,此时就需要重新选举DR、再与非DR路由器建立邻接关系,完成LSA的同步,为了规避单点故障风险,通过选举备份指定路由器BDR,在DR失效时快速接管DR的工作。

在点到点网络中,所有的OSPF邻居将直接建立为邻接关系;
在MA网络中,为了避免大量的重复的LSA更新—因为OSPF需要邻接间进行DBD对比,故没有接口水分割机制;故必须进行DR/BDR选举,非DR/BDR间仅建立邻居关系;—在每一个MA网络中均需要进行一次选举;
选举规则:
1、​优先级 数值大优,默认为1; 若为0为放弃选举;
2、​优先级一致,比较参选接口所有设备的router-id,数值大优;
[r1-GigabitEthernet0/0/1]ospf dr-priority 2
修改参选接口的优先级
切记:DR选举非抢占 ,故在修改优先级后,必须重启参选设备ospf进程来重新选举

61、 OSPF 虚链路在什么情况下用到?为什么要用到虚链路?

答:

在这里插入图片描述
情况一:远离区域0的虚链路

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
情况二:不连续的区域0的虚链路

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

63、 ISIS 与 OSPF 的区别谈一谈吧,各个方面

答:

在这里插入图片描述

64、 BGP 是怎样实现跨自治系统交互路由信息?为什么需要 BGP 路由协议?

答:

BGP路由表和IGP路由表相互引入。
BGP引入路由时支持Import和Network两种方式:

  • Import方式是按协议类型,将RIP、OSPF、ISIS等协议的路由引入到BGP路由表中。为了保证引入的IGP路由的有效性,Import方式还可以引入静态路由和直连路由。
  • Network方式是逐条将IP路由表中已经存在的路由引入到BGP路由表中,比Import方式更精确。

BGP概述

• BGP是一种外部网关协议(EGP),与OSPF、RIP等内部网关协议(IGP)不同,其着眼点不在于自动发现网络拓扑,而在于在AS之间选择最佳路由和控制路由的传播。
• BGP使用TCP作为其传输层协议(监听端口号为179),提高了协议的可靠性,且不需要专门的机制来确保连接的可控性。
• BGP进行域间的路由选择,对协议的稳定性要求非常高。因此用TCP协议的高可靠性来保证BGP协议的稳定性。
• BGP的对等体之间必须在逻辑上连通,并进行TCP连接。目的端口号为179,本地端口号任意。
• 路由更新时,BGP只发送更新的路由,大大减少了BGP传播路由所占用的带宽,适用于在Internet上传播大量的路由信息。BGP从设计上避免了环路的发生。
• AS之间∶ BGP通过携带AS路径信息来标记途经的AS,带有本地AS号的路由将被丢弃,从而避免了域间产生环路。
• AS内部∶BGP在AS内学到的路由不再通告给AS内的BGP邻居,避免了AS内产生环路。
• BGP提供了丰富的路由策略,能够对路由实现灵活的过滤和选择。
• BGP提供了防止路由振荡的机制,有效提高了Internet网络的稳定性。
• BGP易于扩展,能够适应网络新的发展。主要是通过TLV进行扩展。

65、 IBGP 为什么采用全互联?不采用全互联怎么部署?

答:

为了解决路由黑洞,不采用全互联,两个IBGP之间建立邻居关系,但是中间的路由器缺少可达路由,会在数据层面出现路由黑洞

不采用全互联的话,将BGP重发布进入OSPF,IBGP邻居就可以学习到对方的BGP路由
或者可以铺设在中间没有配置BGP的路由器上配置MPLS(多协议标签交换)

66、 IBGP 为什么不相互通告路由?

答:

IBGP水平分割—解决IBGP环路由中的一种机制

本地从一个IBGP邻居处学习到的路由条目,不得传递给本地的其他IBGP邻居;
AS-BY-AS在一个AS内部条目传递的过程中,默认不会修改任何的属性;

由于BGP可以非直连建立邻居关系,故在一个AS内部,可以通过与多台运行BGP协议的路由器建立BGP邻居关系,来稳定关系网络;因此在一个AS内部运行BGP协议的设备,正常均存在EBGP邻居(均同时连接其他AS)

在IBGP水平分割的限制下,虽然避免了IBGP的环路产生,但同时也使得AS内部为了能够传递路由条目,必须两两间建立IBGP邻居关系,邻居关系成指数上升,配置量巨大;

后期可以依赖打破水平分割的机制来解决—联邦、路由反射器

67、 Bgp 中团体的作用

答:

公认团体属性(限定路由传播范围):

  • internet:所有路由都属于internet,此属性的路由可以通告给所有BGP邻居
  • no_export:收到此属性后,不再发布给其它AS
  • no_advertise:收到此属性后,不将该路由通告给任何其它AS
  • no_export_subconfed:不转发给联盟内的EBGP邻居,只转发给IBGP邻居

扩展团体属性(打标记,便于对符合相同条件的路由进行统一处理):

  • 格式为:aa:nn或团体号,a通常为AS编号,nn是管理员定义的团体属性标识

68、 BGP的选路规则

76、 如果 BGP 加上 max path,会在哪个 BGP 选路属性之前应用这个选项?

答:

BGP选路规则
该路由是到达目的地的唯一路径,直接优选
对到达同一目的地的多条路径,优选优先级最高的
对到达同一目的地且具有相同优先级的多条路由,必须用更细的原则去选择一条最优的

当到达同一目的地存在多条路由时,BGP依照如下策略顺序进行路由选择:

1. 如果此路由的下一跳不可达,忽略此路由。(nexthop)
2. 优选协议首选值(Preference_Value)最高的路由。
3. 优选本地优先级(Local_Preference)最高的路由。
4. 优选手动聚合>自动聚合>network>import>从对等体学到的
5. 优选AS路径最短的路由。
6. 比较Origin属性,依稀选Origin类型为IGP、EGP、Incomplete的路由。
7. 对于来自同一AS的路由,优选MED值最小的路由。注:不同AS的MED值不具有可比性,添加[R4-bgp] compare-different-as-med可以
8. 优选从EBGP邻居学来的路由(EBGP路由优先级高于IBGP路由)
9. maximum-pathsN,这可以使得ebgp在多条路径上进行负载分担,前面的规则比较的属性需要完全相同
10. 优选AS内部IGP的Metric最小的路由。
11. 优选Cluster_List最短的路由。
12. 优选Orginator_ID最小的路由
13. 优选Router ID最小的路由器发布的路由。
14. 比较对等体的IP address,优选从具有较小IP地址的对等体学来的路由。

Cluster_List属性

路由反射器和它的客户机组成一个集群(Cluster),使用AS内唯一的Cluster ID作为标识。为了防止集群间产生路由环路,路由反射器使用Cluster_List属性,记录路由经过的所有集群的Cluster ID。Cluster ID为该路由器的Route-ID。

1、当一条路由第一次被RR反射的时候,RR会把本地Cluster ID添加到Cluster List的前面。如果没有Cluster_List属性,RR就创建一个。

2、当RR接收到一条更新路由时,RR会检查Cluster List。如果Cluster List中已经有本地Cluster ID,丢弃该路由;如果没有本地Cluster ID,将其加入Cluster List,然后反射该更新路由。

Originator_ID属性

Originator ID由RR产生,使用RR上一跳路由器的Router ID标识路由的始发者,用于防止集群内产生路由环路。

1、当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起设备。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID属性。

2、当设备接收到这条路由的时候,将比较收到的Originator ID和本地的Router ID,如果两个ID相同,则不接收此路由。

BGP的各种属性验证分析

69、 谈谈 BGP 反射器的缺点

77、 BGP 的反射原则?

答:

路由反射器传递原则:

1、RR收到一条EBGP路由,会将其发送给所有EBGP邻居与IBGP邻居,包含反射器群成员及非成员

2、RR收到一条RRC发送的IBGP路由,会将其发送给所有EBGP邻居,也会发给所有的RRC及Non-RRC

3、RR收到一条Non-RRC发送的IBGP路由,会将其发送给所有的EBGP邻居及RRC,不会发送给Non-RRC

反射器收到两个及以上到达同一目标的路径时,需要判断出最优的路由,然后反射给客户端,这会导致这些设备丧失多条路径判断最优路径的权利。

70、 BGP 的属性在 MPLS 中的应用?选路控制?

答:

MPLS BGP VPN中,使用BGP扩展团体属性,rd,rt值?
有知道兄弟可以提一下,谢谢

71、 QOS,整形和限速的区别以及使用场景

答:

流量监管功能可对接收或发送的流量进行限速控制,限制进入网络的突发流量,为网络提供了基本的QoS功能。
流量监管TP(TrafficPolicing)的典型应用是监督进入网络的某一流量的规格,把它限制在一个合理的范围之内,并对超出部分的流量进行"惩罚",以保护网络资源和运营商的利益。
流量监管通常使用承诺访问速率CAR(Committed Acess Rate)来限制某类报文的流量。

流量整形TS(Traffic Shaping)的典型作用是限制流出某一网络的某一连接的正常流量与突发流量,使这类报文以比较均匀的速度向外发送,是一种主动调整流量输出速率的措施,故只能对输出的流量进行速率控制。常用GTS(Generic Traffic Shaping)技术来限制某类流量。

应用场景∶当网络中上下游的接口带宽不匹配,尤其是上游接口的带宽资源大于下游的带宽资源时,容易在下游网络形成拥塞。如果不希望下游网络因为上游发送数据流量过大造成拥塞,可在上游的出接口配置流量整形,使上游发送的流量与下游接收的能力相匹配。报文可以均匀向外发送,而且部分超出规格的报文不直接丢弃,而是进行缓存,等待链路空闲的时候再发送出去。

限速:QOS令牌桶算法

QoS现网应用 - 规划部署
• 原则上在业务接入端口入方向实施分类、标记和限速;业务侧出方向实施流量整形(如果业务侧端口接入多个不同等级的业务,则业务侧出方向还要实施队列调度和拥塞避免);网络侧出方向实施队列调度和拥塞避免。
• 在部署PQ队列时,建议根据业务需求对PQ队列进行限速.
• 建议在网络边缘(接近用户和业务源)做流分类(复杂流分类),以减少后期分类的复杂度;在汇聚层以上设备只做简单流分类,以降低设备处理负担。
原则上低优先级业务先丢包,多丢包;高优先级业务后丢包,少丢包;实时业务尾丢弃;信令协议报文不丢包。

在这里插入图片描述
QOS原理

72、 BGP 路由协议和 IGP 路由协议的区别?

答:

BGP和IGP的区别
一台路由器只能创建一个BGP实例,而IGP则叫灵活。比如OSPF,有多少个活动的接口,即可创建多少个实例。

协议设计重点的区别:
与 OSPF、RIP等IGP不同,其着眼点不在于发现和计算路由,而在于控制路由的传播和选择最好的路由。

AS号的区别
在BGP中,AS号用于标识路由器属于那个组织,决定两个对等体建立邻居关系是IBGP还是EBGP。在IGP中,比如OSPF,只是一个进程标识,本地有意义;EIGRP中AS的作用也用于标识路由器属于哪个AS,属于不同AS的路由器不能建立邻居关系。

转发表的区别:
BGP没有给出每个AS域内的拓扑结构,因此BGP只能看到AS树,而IGP只能看到AS域内拓扑结构.
与OSPF,RIP等IGP协议相比,BGP的拓扑图要更抽象和粗略一些。因为IGP协议构造的是AS内部的路由器的拓扑图。
IGP把路由器抽象成若干端点,把路由器之间的链路抽象成边,根据链路的状态等参数和一定的度量标准,每条边配以一定的权值,生成拓扑图。根据此拓扑图选择代价(两点间经过的边的权值和)最小的路由。这里有一个假设,即路由器(端点)转发数据包是没有代价的。而在BGP中,拓扑图的端点是一个AS区域,边是AS 之间的链路。此时,数据包经过一个端点(AS 自治区域)时的代价就不能假设为 0了,此代价要由 IGP来负责计算。
这体现了 BGP和 IGP是分层的关系。即IGP负责在AS内部选择花费最小的路由,BGP负责选择AS间花费最小的路由。

network的区别:
BGP中:network将路由宣告给BGP邻居,也可做为汇总的手段。无论是宣告还是汇总,都必需在IGP表中存在精确路由。因此,用作汇总时,须写一条指向null 0的静态路由。 IGP中:network的作用是告诉路由器哪些接口启用该协议。例如在OSPF中,接口s1/1的IP为192.168.1.1/24,而network为:network 192.168.0.0 0.0.0.255 area 0 ,则该接口不在network范围内,该接口没有启用ospf,不能和对端建立邻居。

通告路由的区别:
BGP采用发送路由增量(Incremental)的方法,完成全部路由信息的通告和维护:初始化时发送所有的路由给BGP对等体(BGP Peer),同时在本地保存了已经发送给 BGP对等体的路由信息。当本地的 BGP收到了一条新路由时(如通过 IGP 注入了新路由或加入了新的静态路由),与保存的已发送信息进行比较,如未发送过,则发送,如已发送过则与已经发送的路由进行比较,如新路由花费更小,则发送此新路由,同时更新已发送信息,反之则不发送。当本地BGP发现一条路由失效时(如对应端口失效),如此路由已发送过,则向BGP对等体发送一个撤消路由消息。
对于IGP,虽也存在增量更新,但更新方式不太一样。当感知网络拓扑发生变化时,本地路由协议只将更新的路由发送出去;当收到新路由时,和已存在的路由表比较选出最优的放进路由表,若比较结果路由表发生改变,将变化部分发送给邻居。这两种情况都不保存任何已发送信息,路由选择的工作由对端来完成;而 BGP必须为每个 BGP对端保存已经发送的路由信息(在BGP表中),以便发送一条新路由前确认其是否真的应该发送。

next-hop的区别:
BGP的下一跳与IGP有所不同,它可以是通告此路由的对等体的地址,如EBGP,这同 IGP是相同的。而在其它情况下,BGP使用第三方的下一跳,如 IBGP对从 EBGP对等体获得的下一跳不加改变的在自治系统内传递;在多路访问媒体上,BGP以路由的实际来源为下一跳,即使它不是BGP对等体。

74、 BGP 的 AS-PATH 属性有什么作用?

答:

AS_Path属性按照矢量顺序记录某条路由从本地到目的地址所要经过的AS编号,公认必遵。
AS_Path属性可以当作BGP选路的参考属性之一,长度越短越优先。此外,当BGP路由器从EBGP对等体接收路由时,如果发现AS_Path中有本AS号,拒绝此路由,防止AS间的环路。
在这里插入图片描述
在这里插入图片描述

75、 BGP 的 local-preference 属性有什么作用?如何使用?

答:

Local_Preference属性表明BGP路由器的优先级,该值越大越优先。该属性为公认任意。

该属性仅在IBGP对等体间有效,不通告给其它AS,当BGP路由器通过不同的IBGP对等体得到目的地址相同但下一跳地址不同的时候,将优先选择Local_preference属性值较高的路由,用于干涉本AS内去其它AS的选路,默认优先级为100,越大越优,在控制层面路由发布进本AS的入接口处调用

78、 BGP 的反射如何防环?

答:

Cluster_List属性

路由反射器和它的客户机组成一个集群(Cluster),使用AS内唯一的Cluster ID作为标识。为了防止集群间产生路由环路,路由反射器使用Cluster_List属性,记录路由经过的所有集群的Cluster ID。Cluster ID为该路由器的Route-ID。

1、当一条路由第一次被RR反射的时候,RR会把本地Cluster ID添加到Cluster List的前面。如果没有Cluster_List属性,RR就创建一个。

2、当RR接收到一条更新路由时,RR会检查Cluster List。如果Cluster List中已经有本地Cluster ID,丢弃该路由;如果没有本地Cluster ID,将其加入Cluster List,然后反射该更新路由。

Originator_ID属性

Originator ID由RR产生,使用RR上一跳路由器的Router ID标识路由的始发者,用于防止集群内产生路由环路。

1、当一条路由第一次被RR反射的时候,RR将Originator_ID属性加入这条路由,标识这条路由的发起设备。如果一条路由中已经存在了Originator_ID属性,则RR将不会创建新的Originator_ID属性。

2、当设备接收到这条路由的时候,将比较收到的Originator ID和本地的Router ID,如果两个ID相同,则不接收此路由

80、 MPLS L3 VPN,如果我想让两个不同的 VPN 作单向互访,怎么做?

答:

如果是两个VPN的互通,可以将两个VPN的路由信息输出到相同的一个RT,并都导入,可实现互通。如果要单向访问,可建立一个公共VPN,导出两个VPN的RT,两个VPN都可以对公共VPN实现访问。

81、 跨域的 MPLS L3 VPN 可以谈谈思路吗?

答:

跨域VPN-OptionA(Inter-Provider Backbones Option A)方式∶需要跨域的VPN在ASBR间通过专用的接口管理自己的VPN路由,也称为VRF-to-VRF ;

跨域VPN-OptionA是基本BGP/MPLS IP VPN在跨域环境下的应用,ASBR之间不需要运行MPLS,也不需要为跨域进行特殊配置。这种方式下,两个AS的边界路由器ASBR直接相连,ASBR同时也是各自所在自治系统的PE。两个ASBR都把对端 ASBR看作自己的CE设备,使用EBGP方式向对端发布IPv4路由。
ASBR-PE之间直接相连。两台ASBR-PE之间用多个接口(包括子接口)互连,每个接口关联一个VPN,每个ASBR-PE都把对端当成CE。因此,ASBR-PE相连的接口(包括子接口)需要绑定VRF,并通过eBGP邻居关系把VPNv4路由转变成普通IPv4路由从一个AS传递到另一个AS。因此,两个ASBR相连,但不需要启用MPLS。此方案在MPLS BGP VPN业务属性上没有做扩展。

跨域VPN-OptionB(Inter-Provider Backbones Option B)方式∶ ASBR间通过MP-EBGP发布标签VPN-IPv4路由,也称为EBGP redistribution of labeled VPN-IPv4 routes;
跨域VPN-OptionB中,两个ASBR通过MP-EBGP交换它们从各自AS的PE设备接收的标签VPN-IPv4路由。

跨域VPN-OptionB方案中,ASBR接收本域内和域外传过来的所有跨域VPN-IPv4路由,再把VPN-IPv4路由发布出去。但MPLS VPN的基本实现中,PE上只保存与本地VPN实例的VPN Target相匹配的VPN路由。因此,可以在ASBR上配置不做 RT过滤来传递路由,因此无需在ASBR创建VPN实例,无需绑定任何接口。

可以在网络中叠加部署RR设备,专门负责客户侧VPN路由的传递。

跨域VPN-OptionC(Inter-Provider Backbones Option C)方式∶PE或RR间通过Multi-hop MP-EBGP发布标签VPN-IPv4路由,也称为Multihop EBGP redistribution of labeled VPN-IPv4 routes。

跨域VPN-OptionC中,ASBR通过MP-IBGP向各自AS内的PE设备发布标签IPv4路由,并将到达本AS内PE的标签IPv4路由通告给它在对端AS的ASBR对等体,过渡自治系统中的ASBR也通告带标签的IPv4路由。这样,在入口PE和出口ASBR之间建立一条BGP LSP。

不同AS的PE之间建立Multihop方式的EBGP连接,交换VPNv4路由。

ASBR上不保存VPN-IPv4路由,相互之间也不通告VPNv4路由。

当网络规模较大时,可以在方案中部署RR设备,专门负责用户侧路由的传递。即, PE与RR建立MP-IBGP邻居,RR1与RR2建立MP-EBGP邻居,路由传递为PE1- RR1-RR2-PE2,PE之间无需直接建立BGP邻居关系,当VPN数量较多时,引入RR的方式可以减轻PE的工作负担。

详见于:MPLS BGP 跨域

  • 30
    点赞
  • 297
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
中级网络工程师面试题可以包括以下几个方面的内容: 1. 网络地址和子网划分:有类网络和无类网络的区别是什么?有类网络将IP地址视为三部分:网络字段、地址末尾的主机部分和网络和主机部分之间的子网部分。而无类网络网络部分和子网部分合并为一个单独部分,称为子网或前缀,地址末端也是主机部分。无类网络的IP地址掩码是变长的。划分子网是指在网络内部进行地址分配,从主机号部分借用位来形成子网,涉及到子网时需要使用子网掩码来计算网络号。 2. OSI模型:OSI参考模型由下往上依次包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。各层的PDU单位分别是:物理层的PDU单位是位、数据链路层的PDU单位是帧、网络层的PDU单位是包、传输层的PDU单位是段。 3. 网络安全:网络工程师需要具备网络安全的知识,包括网络攻击与防范、防火墙、入侵检测系统、***连接和通信。 5. 网络协议:网络工程师需要了解常见的网络协议,如TCP/IP协议族、IP地址分配与子网掩码、路由协议(如OSPF、BGP)、网络服务协议(如DNS、DHCP)等。 6. 网络设备配置与故障排除:网络工程师应该熟悉网络设备的配置与管理,包括路由器、交换机、防火墙等设备。同时,他们还需要具备故障排除的能力,能够分析和解决网络故障。 综上所述,中级网络工程师面试题涵盖了网络地址和子网划分、OSI模型、网络安全、路由与交换、网络协议以及网络设备配置与故障排除等方面的知识。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [中级网络工程师面试题60例分析](https://blog.csdn.net/m0_57602298/article/details/129184404)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值