12、 简述 FTP 协议?如何工作?
FTP协议简述
FTP(File Transfer Protocol,文件传输协议)
是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。
其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。
默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。
13、 什么是路由器?描述一下工作过程?
概念:路由器运行在网络层,核心作用是实现不同网段间网络互连,分组数据转发
工作过程:通过查询路由表,把数据从一条链路转发到另一条链路,转发时会变化二层封装
路由器工作于OSI七层协议中的第三层,其主要任务是接收来自一个网络接口的数据包,根据其中所含的目的地址,决定转发到下一个目的地址。因此,路由器首先得在转发路由表中查找它的目的地址,若找到了目的地址,就按照相应的出口发送到下一个路由器,在数据包的帧格前添加下一个MAC地址,同时IP数据包头的TTL(Time To Live)域也开始减数,并重新计算校验和。若没有找到目标地址,则丢弃数据包,给源IP发送一个出错ICMP数据包表明没法传递该数据包。
14、 什么是交换机?描述一下工作过程?
交换机根据网口地址传送信息,它工作在二层(数据链路层)
交换机的作用:
1)无限传输距离
2)没有冲突(所有节点可以同时收发数据/分段传输)
3)单播(当流量进入交换机后,先查看数据包中的源MAC地址,然后记录该MAC地址对应的本地接口,之后关注目标MAC,若表中存在记录将按照记录单播转发,若不存在将泛洪流量)
工作过程:
1)交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。
2)交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。
3)如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪。
15、 什么是三层交换机?和二层交换机有什么区别?三层交换机是否可以代 替路由器?为什么?
二层交换机:属于数据链路层设备,根据MAC地址表实现数据帧的转发。
三层交换机:将路由技术与交换技术合二为一,是一个三层设备,一般用于局域网中。当它收到包,先去交换模块查找,如果有对应的MAC地址映射就直接转发。如果没有,就到路由模块查询,然后把信息写入到交换模块,下次相同目的的包过来时,直接进行转发。消除了路由器进行路由选择时造成的网络延迟。
三层交换机为什么不能取代路由器:1、三层交换机核心功能还是高速转发,路由器应对复杂的网络环境基于各种协议专于选路;
2、路由器有丰富的广域网接口,三层交换机只有以太网接口;
3、路由器可以做多种策略;
4、路由器可以做NAT,而三层交换机不可以。
16、 讲一讲什么是 ARP?
正向ARP:
当一台设备知道对方的IP地址,不知道对方的MAC 地址时,启动ARP,发送ARP Request请求广播包到其他主机,收到广播包的主机查看,只有该请求的设备才会单播回答ARP Reply响应包
ARP工作流程:
1)每个主机都会在自己的ARP缓存区中建立一个ARP列表,用来表示IP地址和MAC地址的对应关系
2)当原主机要发送数据时,首先检查ARP表中是否有对应的IP地址的目的主机的MAC地址,如果有,则直接转发数据,如果没有,就想本网段的所有主机发送ARP请求数据包(洪泛),该数据包内容包括:源主机IP地址、源主机MAC地址,目标主机的MAC地址
3)当本网络的所有主机收到了该ARP洪泛数据包时,首先检查数据包中的IP是否是自己,若不是,则忽略,若是,则把数据包的源主机的IP地址和MAC地址写入自己的ARP列表中,若存在则覆盖,后将自己的MAC地址写入ARP的响应包中,告诉源主机自己是他要找的MAC地址
反向/逆向ARP:
当一台设备知道对方的MAC地址,不知道对方的IP 地址时,启动ARP,发送ARP Request请求广播包到其他主机,收到广播包的主机查看,只有该请求的设备才会单播回答ARP Reply响应包
代理ARP:
1)为什么需要有代理ARP:一个网络范围的设备如果想和另一个网络范围的设备通信时,无法获得另一个网络范围设备的MAC,为什么?网络中的路由器挡住了广播包。需要找到网关,且要知道网关的IP,把数据传到网关才能到达目标,进而需要获得网关的MAC。路由器的一个重要功能就是把局域网广播包限制在该网内,不让扩散,否则会造成网络风暴。ARP request是广播包,它询问的对象若在同一个局域网内,就会回答。但如果不在同一个局域网内,就需要路由器提供一个服务:代理ARP
2)什么是代理ARP :
路由器/三层接口收到ARP request时,若发现查询的目的IP地址在不同子网,路由器/三层接口会扮演代理ARP的角色,代为回答,告诉查询者它所查询的MAC地址
免费/无故ARP:
作用:公告自己,检测重复地址,在ARP报文中请求的IP地址为自己的IP地址
重复地址检测,清除主机ARP 缓存,通告数据链路链接标识
17、 ARP 毒化过程和原理?怎么防御?(终端和交换机)
18、 说明什么是 PPPoE 协议?如何工作?
㈠. 什么是PPPOE协议
PPPOE(Point To Point Protocol Over Ethernet),以太网上的点对点协议。将点对点协议PPP(Point To Point)封装在以太网(Ethernet)框架中的一种网络隧道协议。可以实现传统以太网不能提供身份验证、加密以及压缩等功能,也可用于缆线解调器和数字用户线路(DSL)等以太网协议向用户提供接入服务的协议体系。
㈠. PPPOE工作过程
PPPOE工作过程分为两个阶段:发现阶段(discovery)、ppp会话阶段
发现阶段(Discovery Stage):
1.用户主机广播发送PADI(pppoe active discovery initiatio)包,准备去获得所有可连接的接入设备(获得其MAC地址);
2.接入设备收到PADI包后,单播返回PADO(pppeo active discovey offer)包,作为应答
3.当用户主机从收到的多个PADO包中,根据名称类型或服务名,选择一个合适的接入设备,然后单播发送PADR(pppoe active discovery requset)包。注:如果用户主机发出PADI后在规定时间内没有收到PADO,则重新发送PADI。
4.接入设备收到PADR后,单播返回PAS(pppoe active session-confirmation)包,其中包含了一个唯一session ID,双方进入PPP会话阶段。
PPP会话阶段
双方使用PPP的链路控制协议(LCP)协商链路,网络控制协议(NCP)进行用户名密码检验后,双方可以正常通信。
无论用户主机还是接入设备可随时发起PADT包,中止通信。
19、 交换机是如何转发数据包的?
20、 什么是 VLAN?
1、VLAN—虚拟局域网—一个VLAN为一个广播域,一个逻辑子网
1)VLAN标识/范围:使用十进制数进行划分1-4094,标准VLAN:1-1005,扩展VLAN:1006-4094
2)默认存在的VLAN:1、1002、1003、1004、100
特点:不能再次被创建、修改、删除
VLAN 1:默认VLAN,默认交换机所有接口都属于VLAN 1
VLAN 1002、1003、1004、1005:用于支持早期的令牌环网
3)VLAN分类:
静态VLAN:基于端口划分
动态VLAN:基于MAC划分
数据VLAN:语音VLAN
本地VLAN:端到端VLAN
私有VLAN:Remote SPAN VLAN(远程监控VLAN)
4)VLAN的使用场景:
VLAN最大的好处是可以隔离冲突域和广播域,试想,如果一个局域网内有上百台主机,如果一旦产生广播风暴,那麼,这个网络就会被彻底的瘫痪。
可以通过vlan来划分广播域,这样使得广播被限制在每一个vlan里面,而不会跨VLAN传播。
另一方面,通常局域网内使用的设备是交换机,并且大部分是二层的,其本身就在一个局域网内,不划分vlan是不可能同时存在一个以上的网段的。
不同vlan之间的成员在没有三层路由的前提下是不能互访的,这也是一种安全的考虑。
另外一个好处就是管理灵活,可以对不同网络范围内的主机做不同的管理而不影响其他。当一个用户需要切换到另外一个网络时,只需要更改switch的vlan划分即可,而不用换端口和连线。
举个简单的例子,你们公司有2个办公地点,但是每个地点都只有几个人,但是这几个人都分别属于不同的部门,由于每个二层交换机只能提供一个网段,所以根据部门划分不同网段来实现的话,你们有几个部门就需要提供几个交换机,但是如果通过vlan来实现,你们只需要一台交换机即可实现。这样就节约了成本。另一个方面,如果现在办公点A的某员工需要调到另外一个部门,而这个部门只在办公点B才有,那么这时,他无需搬到B地点去,只需要将A地点的上连交换机的端口的vlan划到B地点的那个部门的vlan即可。这样就方便很多。
5)VLAN之间相互通信:
(a) 使用trunk协议,中继/干道协议,用一条物理链路传递不同vlan间的流量
(b) 单臂路由:指在路由器的一个接口上通过配置子接口或“逻辑接口”,(并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN之间的互联互通。
© 使用三层交换机,开启路由功能
6)trunk:干道协议,中继协议,使用一根链路传递多VLAN流量
封装:(给不同流量打标记/重新封装)ISL:交换机间链路协议,Cisco私有 802.1Q:又称为dot1q,工业标准
802.1Q:数据多,增加4字节,支持QOS,所有VLAN(1-4094)打标记,默认不针对native VLAN(本征/管理VLAN,默认为VLAN1,可以修改)标记,仅仅支持IP协议,标记塞入数据包头部
ISL:Cisco私有,增加40字节,不支持QOS,对1-1005打标记,支持多种网络协议
模式:
on:强制/trunk模式,可以在不使用DTP协商帧的情况下启用trunk链路
desirable:主动模式
auto:被动模式
access:接入模式
21、 如何实现 VLAN 间通信?有几种方法?
1)使用trunk协议,中继/干道协议,用一条物理链路传递不同vlan间的流量
2)单臂路由:指在路由器的一个接口上通过配置子接口或“逻辑接口”,(并不存在真正物理接口)的方式,实现原来相互隔离的不同VLAN之间的互联互通。
3)使用三层交换机,开启路由功能
22、 什么广播域?什么是冲突域?
广播域
广播是一种信息的传播方式,指网络中的某一设备同时向网络中所有的其它设备发送数据,这个数据所能广播到的范围即为广播域(Broadcast Domain)。
简单点说,广播域就是指网络中所有能接收到同样广播消息的设备的集合。
广播域就是说如果站点发出一个广播信号后能接收到这个信号的范围。通常来说一个局域网就是一个广播域。
广播域内所有的设备都必须监听所有的广播包,如果广播域太大了,用户的带宽就小了,并且需要处理更多的广播,网络响应时间将会长到让人无法容忍的地步。
冲突域
一个站点向另一个站点发出信号。除目的站点外,有多少站点能收到这个信号。这些站点就构成一个冲突域。
27、 有一台交换机上的所有用户都获取不了 IP 地址,但手工配置后这台交换 机上的同一 vlan 间的用户之间能够相互 ping 通,但 ping 不通外网,请说 出排障思路.
1、检查交换机与网关间线路情况,接口协议是否是UP;
2、查询网关设备是否正确配置了DHCP服务;
3、若为三层交换机查看是否正确配置了vlan以及是否开启了trunk服务;
4、查看是否直连用户的交换机上有没有正确划分VLAN;
5、交换机之间是否正确开启了trunk
6、ping不同外网查看边界路由器是否做了NAT以及ACL是否有问题,缺省是否下发
28、 你都知道网络的那些冗余技术,请说明.、
(a) 1、设备冗余
(b) 2、链路冗余
© 3、网关冗余(1)HSRP (2)VRRP (3)GLBP
(d) 4、电源冗余(UPS)
29、 策略路由和路由策略的区别?
策略路由(转发策略):(先执行策略,不行再执行路由)
路由表已产生的情况下,不按照现有路由表进行转发;通过流量策略来执行选路的转发手段;
传统的路由表转发只能通过数据的目标地址提供路由,而策略路由可以根据源地址、目标地址、源端口、目标端口、协议、TOS等流量特征来提供路由。
路由表与策略路由的关系:
策略路由是先于路由表执行的,策略路由没有捕获的情况下,流量依然会执行路由表;
路由策略:(通过策略修改路由表,直接查看路由表)
通过在控制层面抓取流量、修改流量从而影响路由表的生成,控制选路
策略路由的优先级比路由策略高,当路由器接收到数据包,并进行转发的时候,会优先根据策略路由的规则进行匹配,如果能匹配上,则根据策略路由来转发,否则按照路由表中转发路径来进行转发
30、 说明什么 NAT 技术?有哪些 NAT?
NAT技术=网络地址转化技术
阐述:私网地址想要进入公网就必须做地址转化,将私网地址转化为公网地址,因为IP地址具有全球唯一性,NAT的出现就是为了解决IPV4地址不够用的情况,IPV6下没有NAT,NAT还能有效抵挡外部攻击。
NAT分类:
1、静态NAT,一对一,只能将一个内网地址转化为另一个外网地址;
2、动态NAT,多对多,将多个内网地址转化为多个外网地址;
3、PAT:端口映射,将多个内网地址转化为同一个外网接口地址,或者将某些服务映射到外网接口,如http、dns、telnet等;
32、 当你在浏览器输入 www.baidu.com 并按下回车后发生了什么?
(要说 出 HTTP 的工作原理)
总的思路:在浏览器地址栏键入URL,按下回车之后发生的几个事件:
1)浏览器向DNS服务器请求解析该URL中的域名所对应的IP地址;
2)解析出IP地址后,根据该IP地址和默认端口80,和服务器建立TCP连接;
3)浏览器发出读取文件(URL中域名后面部分对应的文件)的HTTP请求,该请求报文作为TCP三次握手的第三个报文的数据发送给服务器;
4)服务器给出相应,把对应的html文本发送给浏览器;
5)释放TCP连接;
6)浏览器将该文本显示出来。
具体的实现:
1、浏览器根据域名查询域名对应的服务器的IP地址。
1)检查本地浏览器缓存,有则返回解析结果
2)检查本地hosts文件,有对应则返回解析结果
3)前两部都没有解析,将查询请求传送给首选DNS,若查询就是首选DNS管辖的主机,返回解析
/etc/resolv.conf
4)前3步不成功,检查DNS缓存,有返回解析
5)分两类:一种情况是配置了转发器,则将查询请求转发给相应的DNS服务器
另一种情况,将查询请求发送给根服务器,根服务器会返回.com的DNS服务器地址;
再次向.com发起查询,.com将返回baidu.com的DNS服务器地址
再次向baidu.com发起查询,返回www.baidu.com.对应地址 迭代查询
DNS客户端向DNS服务器端请求叫递归查询,DNS服务器之间的查询请求时迭代查询
服务器之间一般使用迭代查询
2、浏览器主机根据IP地址与服务器建立TCP连接。
建立TCP连接需要进行三次握手。
(1)浏览器主机 >>> 服务器:SYN=1,ACK=0,seq=x;
(2)服务器 >>> 浏览器主机:SYN=1,ACK=1,seq=y,ack=y+1;
(3)浏览器主机 >>> 服务器:ACK=1,seq=x+1,ack=y+1。
3、Web浏览器使用HTTP命令向一个特定的服务器发出Web页面请求,浏览器将访问请求封装为一个HTTP请求报文
HTTP请求报文的方法是get方式;如果浏览器存储了该域名下的Cookies,那么会把Cookies放入HTTP请求头里发给服务器。
4、服务器收到请求并响应,生成一个HTTP响应报文,通过TCP协议发送给浏览器主机。
HTTP响应报文的头部包含了状态码(Status-Code),三位数字,有5大类。HTTP响应报文内容则是网页的编码内容。
5、浏览器得到响应报文之后,对响应报文进行解析。Web浏览器接收到文档后,就将它显示出来。
在浏览器没有完整接受全部HTML文档时,它就已经开始显示这个页面了。如果是个静态的页面,那到此就基本结束了。如果是是动态的,那么在浏览器显示HTML时,会获取嵌入在HTML中的对象,浏览器会发送获取请求来重新获得这些文件。
6、当客户端浏览完成后,就断开与服务器的连接。