网络面试--
Posted 南岸青栀*
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络面试--相关的知识,希望对你有一定的参考价值。
文章目录
8.什么是CDN?CDN是如何工作的?
CDN(Content Delivery Network,内容分发网络)。CDN是建立在现有网络基础上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
工作原理:当用户请求一个文件时,DNS请求当地local DNS服务器,然后local DNS服务器查询Root DNS服务器,Root服务器根据授权的DNS记录返回给local DNS服务器一个域名,local DNS服务器继续向授权服务器查询,授权服务器查询后回复local DNS服务器,Local DNS得到域名记录后,向智能调度DNS查询域名的ip地址,智能调度DNS根据一定的算法和策略(比如静态拓扑,容量等),将最适合的CDN节点ip地址回应给 Local DNS,Local DNS将得到的域名ip地址,回应给用户端,用户得到域名ip地址后,访问站点服务器
,CDN节点服务器应答请求,将内容返回给客户端.(缓存服务器一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程)
9.什么是DNS?说说DNS解析过程?
DNS(Domain Name System,域名系统):就是主机名和IP地址的映射关系,方便用户访问网站。
- 递归解析
DNS服务器收到一个域名解析请求时,如果所要检索的资源记录不在本地,DNS服务器将和自己的上一层服务器交互,获得最终的答案,并将其返回给客户
- 迭代解析
DNS服务器收到解析请求,首先在本地的数据库中查找是否有相应的资源记录,如果没有,则向客户提供另外一个DNS服务器的地址,客户负责把解析请求发送给新的DNS服务器地址
DNS工作过程
- 1.当客户机提出查询请求时,首先在本地计算机的缓存中查找。如果在本地无法获得查询信息,则将查询请求发给DNS服务器。
- 2.首先客户机将域名查询请求发送到本地DNS服务器,当本地DNS服务器接到查询后,首先在该服务器管理的区域的记录中查找,如果找到该记录,则利用此记录进行解析;如果没有区域心意满足,服务器在本地的缓存中查找。
- 3.如果本地服务器不能在本地找到客户机查询的信息,将客户机请求发送到根域名DNS服务器。
- 4.根域名服务器负责解析客户机请求的根域部分,它将包含下一级域名信息的DNS服务器地址返回给客户机的DNS服务器地址。
- 5.客户机的DNS服务器利用根域名服务器解析的地址访问下一级DNS服务器,得到再下一级域我的DNS服务器地址。
- 6.按照上述递归方法逐级接近查询目标,最后在有目标域名的DNS服务器上找到相应IP地址信息。
- 7.客户机的本地DNS服务器将递归查询结果返回客户机。
- 8.客户机利用从本地DNS服务器查询得到的IP访问目标主机,就完成了一个解析过程
10.什么是DHCP?描述工作过程?
DHCP(dynamic host configuration protocol,动态主机配置协议):
- 用于内部网或网络服务供应商自动分配IP地址给用户
- 用于内部网管理员对所有电脑作中央管理
DHCP工作过程:
(1)请求IP地址
1.发现阶段。DHCP客户机以广播方式发送DHCP DISCOVER报文。
2.提供阶段。HCP服务器提供IP地址的阶段。收到DHCP discover报文后,从IP地址池中选择一个尚未分配的IP地址分配给DHCP客户机,向DHCP客户发送包含租借的IP地址和其他配置参数的DHCP offer。
3.选择阶段。DHCP客户选择IP地址的阶段。如果多台DHCP服务器向该DHCP客户发送DHCPoffer报文,则DHCP客户从中随机挑选,然后以广播方式向各DHCP服务器回应DHCPrequest,宣告宣告使用他挑中的DHCP服务器提供的地址,并正式请求DHCP服务器分配地址。其他发送DHCPoffer报文的DHCP服务器接收到该报文后,将释放已经offer(预分配)DHCP客户的IP地址。
如果发送给DHCP客户的DHCPoffer报文中包含无效的配置参数,DHCP客户会发送DHCPdecline报文拒绝。
4.确认阶段。DHCP服务器确认所提供的的IP地址的阶段。当DHCP服务器收到DHCPrequest报文后,向客户发送包含它所提供的IP地址及其他配置信息的DHCPACK确认报文。然后DHCP客户将接收并使用IP地址及其他TCP/IP配置参数
(2)续租IP地址
在DHCP中,每个IP地址都是有一定租期的,若租期已到,则DHCP服务器就可以将该IP地址分配给其他计算机。续租在租期达到50%时就将启动,DHCP客户发送DHCPrequest报文请求续租,若服务端回复DHCPack报文,续租成功。若此次不成功在租期87.5%时再次续租。若DHCP服务器回复则续租成功。否则租期一到释放该IP地址
(3)释放IP地址
DHCP客户可以通过向DHCP服务器发送DHCErelease报文主动释放IP地址,同时将IP地址设置为0.0.0.0
11.DHCP有哪些安全问题?如何防范?
1.DHCP饿死攻击
攻击原理:攻击者持续大量地向DHCp Server申请IP地址,知道耗尽DHCP Server地址池中的IP地址。
2.仿冒DHCP Server攻击
攻击原理:攻击者仿冒DHCP Server ,向客户端分配错误的IP地址及提供错误的网关地址等参数,导致客户端无法正常访问网络。
3.DHCP中间人攻击
攻击原理:攻击者利用ARP机制,让PC-A学习到IP-S与MAC-B的映射关系,又让Server学习到IP-A与MAC-B的映射关系。如此一来, PC-A与Server之间交互的IP报文都会经过攻击者中转。
防范技术:DHCP snooping
1.防范DHCP饿死攻击
DHCP Server是根据CHADDR字段进行分配地址的(表示MAC地址)。DHCP Snooping技术支持在端口下对DHCP Request报文的源MAC地址与CHADDR进行一致性检查:如果二者相同,则转发报文;如果二者不相同,则丢弃。
2.防范仿冒DHCP Server攻击
DHCP Snooping将交换机上的端口分为两种类型,即信任端口( Trusted端口)和非信任端口( Untrusted端口) ; 与合法的DHCP Server相连接的端口应配置为Trusted端口,其他端口应配置为Untrusted端口。
3.防止DHCP中间人攻击
运行了DHCP Snooping的交换机会"侦听( Snooping )"往来于用户与DHCP Server之间的DHCP消息,并从中收集用户的MAC地址(这里的MAC地址是指DHCP消息中CHADDR字段的值)、用户的IP地址(这里的IP地址是指DHCP Server分配给相应CHADDR的IP地址)等信息,这些信息会集中存放在一 个数据库中,该数据库也被称为DHCP Snooping绑定表。
攻击者为了让Server学习到IP-A与MAC- B的映射关系,会发送ARP请求报文(将ARP报文中的源IP地址填为IP-A ,源MAC地址填为MAC-B)。交换机接收到ARP请求报文后,会检查该ARP请求报文中的源IP地址和源MAC地址,发现该IP/MAC ( IP-A/MAC-B )映射关系不能匹配DHCP Snooping绑定表中的条目, 于是会丢弃该ARP请求报文,这样就有效地防止了Spoofing IP/MAC攻击。
12.简述FTP协议?如何工作?
FTP(File Transfer Protocol ,文件传输协议)。FTP协议包括两个组成部分,(1)FTP服务器,(2)FTP客户端。
其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
注:
(1)默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息
(2)采用主动模式,数据传输端口为20(3)采用被动模式,则最终使用哪个端口是服务器端和客户端协商决定。
主动模式
FTP客户端首先和FTP服务器的TCP21端口建立连接,通过这个通道发送命令,客户端需要接受数据的时候通过这个通道发送PORT命令。PORT命令包括客户端用什么端口接受数据。在传送数据的时候,服务器通过自己的TCP20端口连接到客户端的指定端口发送数据。FTPserver必须在客户端建立一个新的连接用来传送使数据。
(登录FTP服务器成功的过程):
因为FTP使用的是TCP协议,所以客户端在通过ftp 192.168.120.240连接服务器时,首先会经历TCP的三次握手来建立控制通道。客户端使用任意的端口N(N>1024)来连接FTP服务器默认的21端口。
在TCP三次握手结束后,服务器端正式响应客户端的控制连接请求,控制通道建立。
客户端向服务器发送含有ACK的数据段来确认控制连接建立。
客户端向服务器发送用户名。
服务器向客户端发送含有ACK的数据段来确认用户名。
服务器向客户端询问密码。
客户端向服务器发送含有ACK的数据段来确认会发送密码。
客户端向服务器发送密码,密码为明文。
服务器向客户端发送含有ACK的数据段来确认密码收到。
服务器向客户端发送登陆成功的信息。
客户端向服务器发送含有ACK的数据段来确认收到登陆成功的信息。
被动模式(Passive FTP)
在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,通过三次握手建立通道,然后FTP服务器将通过这个端口进行数据的传送。
很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。
用户授权登陆FTP服务器
FTP地址如下: ftp://用户名:密码@FTP服务器IP或域名:FTP命令端口/路径/文件名
13.什么是路由器?描述一下工作原理。
路由器是一种网络设备:主要功能是用来扩展网络规模的,用来连接广域网;三层设备,是使用IP地址寻址,实现源目IP的端到端的服务。
工作原理:
路由器收到数据包后,提取目标IP地址及子网掩码计算目标网络地址。寻址及转发,选择到达目的网络的最佳路径。根据目标无网络地址查找路由表,如果找到目标网络地址就按相应出口转发给下一个路由器;如果没有找到,就寻找是否有缺省路由,如果有缺省路由,就将数据包按照缺省路由进行转发;如果没有缺省路由,就给源IP发送一个出错的ICMP数据包表明没法传递该路由。
路由器作用:
1、不同网络的互联
2、为它所承载的数据做路径的选择—选路
当一个数据包进入路由器后,路由器将基于目标ip地址,查询本地的路由表;若表中存在记录将无条件按照记录转发;若表中不存在记录,将丢弃流量;
当几台设备连接到同一交换机,如何判断他们是否在一个广播域?
标准答案:看洪泛范围。
通过一台主机发送广播包,在其他主机上进行抓包,,能收到洪泛包,说明在同一广播域。
14.什么是交换机?描述一下工作原理。
是一种用于电信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。
工作原理:
流量进入交换机后,先识别数据帧中源MAC地址,然后将该MAC地址与该流量的进入接口进行绑定、记录,生成MAC地址表(再转换为CAM表)
之后查看数据帧中的目标MAC地址,在CAM表中寻找对应的记录,若存在记录,按记录接口单播转发;默认CAM在一个MAC最后出现的后300s将被删除。
MAC地址表内容:
MAC地址:
vlanID:
PEVLAN
CEVLAN
port
Type
LSP/LSR-ID
15.什么是三层交换机?和二层交换机有什么区别?三成交换机是否可以代替路由?为什么?
二层交换机;数据链路层设备,根据MAC表实现数据帧的转发。
三层交换机:将路由技术和交换技术合二为一,三层设备,一般用于局域网中。当它收到包,先去交换模块查找,如果有对应的MAC地址映射就直接转发。如果没有,就到路由模块查询,然后把信息写到交换模块。下次同样目的的包过来时,直接进行转发。消除路由器进行路由选择时造成的网络延时。
三层交换机不能取代路由器:
- 1.三层交换机核心功能还是高速转发,路由器应对复杂的网络环境基于各种协议专于选路
- 2.路由器有丰富的广域网接口,三层交换机只有以太网接口。
- 3.路由器可以做多种策略,例如QOS等。
- 4.路由器可以做NAT,三层交换机不可以。
16.讲一讲什么是ARP?
地址解析协议:通过目标设备的IP地址查询目标设备的MAC地址,以保证通信的顺利进行。
如果主机A在ARP表中找不到对应的MAC地址,则将缓存该数据报文,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的,目标IP地址和目标MAC地址为主机B的地址和全0的MAC地址。
主机B会比较自己的IP地址和ARP请求报文中的目标IP地址:两者相同将ARP请求报文中的发送端(主机A)的IP地址和MAC地址存入自己的ARP表中。之后以单播方式发送ARP响应报文给主机A,其中包含了自己的MAC地址。
主机收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用来后续豹纹的转发,同时将IP数据包进行封装发送出去。
AARP:正向ARP 通过对端的IP地址获取对端的MAC地址–基于广播
RARP:反向ARP 通过对端的MAC地址获取对端的IP地址;
FARP:无故ARP 当设备在刚 使用一个ip地址,将向外进行AARP,但被请求地址为的自己的地址;----用于地址冲突检测
17.ARP毒化过程和原理?怎么防御?(终端和交换机)
1.毒化过程
ARP地址转换表是依赖与计算机中告诉缓存存储器动态更新的,而高速缓冲存储器的更新是受到更新周期的限制的,只保存最近使用的地址的映射关系表项,ARP请求为广播形式发送的,网络上的主机可以自主发送ARP应答消息,并且当其他主机收到应答报文时不会检测该报文的真实性就将其记录在本地的MAC地址转换表,这样攻击者就可以向目标主机发送伪ARP应答报文,从而篡改本地的MAC地址表。ARP欺骗可以导致目标计算机与网关通信失败,更会导致通信重定向,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。
2.防御措施
1.不要把网络安全信任关系建立在IP基础上或MAC基础上,应该是建立在IP+MAC基础上。
2.设置静态的MAC–>IP对应表,不要让主机刷新设定好的转换表。
3.停止使用ARP,将ARP作为永久条目保存在对应表中。
4.使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。
5.使用硬件屏蔽主机。静态配置路由ARP条目。
6.管理员定期用响应的IP包中获得一个RARP请求,然后检查ARP响应的真实性。
7.管理员定期轮询,检查主机上的ARP缓存。
18.说明什么是PPPoE协议?如何进行工作?
(Point-toPoint Protocol Over Ethernet),以太网的点到点协议,是将PPP封装在以太网框架中的一种网络隧道协议。(允许在以太网广播域中的两个以太网接口间创建点到点隧道的协议)
如何工作
两个阶段
- 发现阶段
1.用户主机广播发送PADI包,准备去获得所有可连接的接入设备(获取其MAC地址)
2.接入设备收到PADI包后,单播返回PADO包作为应答
3.用户主机从收到的多个PADO包中,根据名称类型或服务名,选择一个合适的接入设备,然后单播发送PADR包。
如果用户主机发出PADI后在规定时间内没有收到PADO,重新发送PADI
4.接入设备收到PADR后,单播返回PADS包,其中包含了一个唯一sessionID,双方进入PPP会话阶段。
- 会话阶段
双方使用PPP的链路控制协议(LCP)协商链路,网络控制协议(NCP)进行用户名密码检验后,双方可以正常通信。
用户主机或接入设备随之发起PADT包,终止通信。
客户端到服务器:PADI为PPPoE Active Discovery Initiation
服务器到客户端:PADO为PPPoE Active Discovery Offer客户端到服务器:PADR为PPPoE Active Discovery Request
服务器到客户端:PADS为PPPoE Active Discovery Session-confirmation
19.交换机是如何转发数据包的?
流量进入交换机后,先识别数据帧中的源MAC地址,然后将该MAC地址与该流量的进入接口进行绑定、记录、生成MAC地址表,然后转换为CAM表。
之后查看数据帧中的目标MAC地址,在CAM表中寻找对应的记录,若存在记录,按记录接口单播转发;若没有记录将洪泛该流量。
20.什么是VLAN?
虚拟局域网:是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可根据功能、部门等组织起来,相互通信。逻辑的将一个广播域切分为多个。
以上是关于网络面试--的主要内容,如果未能解决你的问题,请参考以下文章