1、 介绍 TCP 连接的三次握手?追问:为什么 TCP 握手需要三次?
首先,服务端和客户端都是处于CLOSED状态的,然后服务端启动,监听端口,状态变为LISTEN(监听)状态
客户端为了请求资源,发送连接,发送同步序列号SYN,此时客户端就变成了SYN-SEND状态
服务端接收到客户端请求之后,发送SYN和ACK,然后服务端状态就变成SYN-RCVD状态
解释1
客户端接收到信息之后,再次发送ACK,然后变成ESTABLISHED(已确认)状态,服务端接收到返回信息后,状态也变成ESTABLISHED(已确认)状态
设计成三次握手的情况,客户端在接收到服务端SEQ+1的返回消息之后,就会知道这个连接是历史连接,所以会发送报文给服务端,告诉服务端。
TCP设计成三次握手的目的就是为了避免重复连接
解释2
用户发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达服务端。本来这是一个早已失效的报文段。但服务端收到此失效的连接请求报文段后,就误认为是用户端再次发出的一个新的连接请求。于是就向客户端发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要服务端发出确认,双方的连接就建立了。由于现在用户端并没有发出建立连接的请求(需求),因此不会理睬客户端的确认,也不会向客户端发送数据。但客户端却以为新的运输连接已经建立,并一直等待用户端发来数据。这样,客户端的很多资源就白白浪费掉了。采用“三次握手”的办法可以防止上述现象发生。例如刚才那种情况,用户端不会向客户端的确认发出确认。客户端由于收不到确认,就知道用户端并没有要求建立连接。
2、 介绍 TCP 断开的四次挥手,追问:为什么 TCP 的挥手需要四次?
四次挥手是为了防止数据在没有传输完就断开连接,那么客户端将收到不完整的数据,将需要再次建立起连接浪费网络资源
3、 TCP 的 syn 攻击的过程?追问:怎么防御?
SYN攻击(syn flood)就是,攻击的客户端在短时间内伪造大量不存在的IP地址,向服务器不断发送syn请求建立连接,服务器回复确认报,并等待客户端的确认,由于源地址不存在,服务器需要不断重发直至超时,这些伪造的syn包将长时间占用半连接队列,正常的SYN请求被抛弃,目标系统运行慢,严重引起网络堵塞甚至瘫痪。常见的有DOS和DDOS攻击
Syn Flood类型:
Direct Attact:攻击方使用固定的源地址发起攻击,这种方法对攻击者的消耗最小;
spoofing attact:攻击方使用变化的源地址发起攻击,消耗有些大;
distributeed direct attact:这种攻击主要是使用僵尸网络进行固定原地址的攻击
如何防御
1、具有SYN proxy(SYN代理)功能的防火墙
每秒通过指定对象(目标地址和端口、仅目标地址或仅源地址)的SYN片段数的阀值,当来自相同源地址或发往相同目标地址的SYN片段数达到一定阀值时,防火墙开始截断连接请求和代理回复SYN/ACK片段,当防火墙代理半连接的队列被填满,防火墙拒绝来自相安全同区域所有地址的新SYN片段。
缺点:当攻流量较大时,连接出现较大延迟,网络负载高,很多时候成为整个网络瓶颈
2、加快淘汰无效SYN请求,通过降低tcp_syn_retries实现;加大队列长度,长度和tcp_max_syn_backing相关,但不完全由它决定。
缺点:在高强度攻击面前这两个不能根本解决问题,更有效的是tcp_syncookies。
3、SYN Cookie,给每一个请求连接的IP地址分配一个Cookie,若短时间内收到某个连续的SYN报文,就认定受到攻击,再来就丢弃。
原理:服务器收到SYN报文,返回SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值,在收到TCP_ACK时,服务器对比cookie对比检查合法性,再分配专门的数据区处理连接。
4、 为什么连接的时候是三次握手,关闭的时候却是四次握手?
5、 TCP 是如何通过滑动窗口协议实现流量控制和拥塞控制的?
(1)接收端将自己可以接收的缓冲区大小放入TCP首部中的“窗口大小”字段,通过ACK来通知发送端
(2)窗口大小字段越大,说明网络的吞吐率越高
(3)窗口大小指的是无需等待确认应答而可以继续发送数据的最大值,即就是说不需要接收端的应答,可以一次连续的发送数据
(4)操作系统内核为了维护滑动窗口,需要开辟发送缓冲区,来记录当前还有那些数据没有应答,只有确认应答过的数据,才能从缓冲区删掉
ps:发送缓冲区如果太大,就会有空间开销
(5)接收端一旦发现自己的缓冲区快满了,就会将窗口大小设置成一个更小的值通知给发送端,发送端收到这个值后,就会减慢自己的发送速度
(6)如果接收端发现自己的缓冲区满了,就会将窗口的大小设置为0,此时发送端将不再发送数据,但是需要定期发送一个窗口探测数据段,使接收端把窗口大小告诉发送端
ps:在TCP的首部中,有一个16为窗口字段,此字段就是用来存放窗口大小信息的
滑动窗口中的数据类型:
1.已发送,但是未确认的
2.可以发送,但未发送的。
流量控制
防止对方发送太快,耗尽 接收方 的资源,从而使接收方来不及处理
(1)接收端抑制发送端的依据:接收端缓冲区的大小
(2)流量控制的目标是接收端,是怕接收端来不及处理
(3)流量控制的机制是丢包
拥塞控制 --- 防止发送方发的太快,使得网络来不及处理,从而导致网络拥塞;
拥塞控制使用的机制:AIMD\slow start、
slow start: 慢启动
AIMD:
A: additive(加法的)
I: increase(增加)
M: multiplicative(乘法的)
D: decrease(减少)
即就是加法增加,乘法减少—->加增乘减
加法增加
是指执行拥塞避免算法后,在收到对所有报文段的确认后(即经过一个往返时间),就把拥塞窗口cwnd增加一个MSS大小,使拥塞窗口缓慢增大,以防止网络过早出现拥塞
乘法减少
出现一次超时(即出现一次网络拥塞),就把慢开始门限值ssthresh设置为当前的拥塞窗口值乘以0.5
ps:当网络频繁出现拥塞时,ssthresh值就下降的很快,以大大减少注入到网络中的分组数
发送端是如何知道丢包的 :
1.定时器超时
2.收到三个重复的ACK
为什么会有拥塞控制?
因为虽然流量控制可以高效可靠的传递大量的数据,但是如果一开始就进行大量的流量数据传输,则网络就很有可能出现网络拥塞,毕竟网络中的计算机数量太庞大。
拥塞控制的表现为丢包,延时变大。
拥塞控制的工作过程
1.当开始 cwnd初始值为1 随着发送方收到接收方发送的确认,cwnd呈现指数增长 发送1 2 4 8
2.当到达ssthresh的初始值时 开始实施拥塞避免的加法增大,每次收到确认 cwnd增加1
3.假设拥塞窗口的数值增长到24时 网络出现超时,表明网络拥塞
4.则实行乘法减小 ssthresh初始值变为拥塞时的0.5;cwnd初始值为1; 并执行慢开始算法
流量控制和拥塞控制的区别
1.相同点
(1)现象都是丢包;
(2)实现机制都是让发送方发的慢一点,发的少一点
2.不同点
(1)丢包位置不同
流量控制丢包位置是在接收端上
拥塞控制丢包位置是在路由器上
(2)作用的对象不同
流量控制的对象是接收方,拥塞控制的对象是网络,
6、 描述 TCP 和 UDP 的区别?
TCP是面向连接的,虽然说网络的不安全不稳定 特性 决定了多少次握手都不能保证连接的可靠行,但是TCP在最低限度上保证了连接的可靠性;而UDP不是面向连接的,UDP传送数据前并不与对方建立连接,对接受的数据也不发送确认信号,发送端不知道数据会正确接收,当然也不会重发,所以UDP是一种无连接的、不可靠的数据传输协议;即TCP是面向连接的可靠的传输协议,而UDP是一种无连接的不可靠但是快的传输协议
7、 TCP 有哪些定时器?
重传计时器
若在计时器截止时间到之前收到了对此特定报文段的确认ACK,则撤销此计时器
若计时器截止时仍未收到对此特定报文的确认ACK,则重传此报文段,计时器复位
持续计时器
窗口大小通知:接收方可接收缓存的数据大小;接收方发送窗口大小通知给传送方,传送方才能发送数据,如果接收方缓存已满,会发送零窗口大小通知给发送方。
为了对付零窗口大小通知,TCP需要另一个计时器。
假定接收TCP宣布了窗口大小为零:发送TCP就停止传送报文段,直到接收TCP发送确认并宣布一个非零的窗口大小。但这个确认可能会丢失。我们知道在TCP中,对确认是不需要发送确认的。若确认丢失了,接收TCP并不知道,而是会认为它已经完成任务了,并等待着发送TCP接着会发送更多的报文段。但发送TCP由于没有收到确认,就等待对方发送确认来通知窗口的大小。双方的TCP都在永远地等待着对方。
为了解决这种死锁等待情况,TCP为每一个连接使用一个坚持计时器。当发送TCP收到一个窗口大小为零的确认时,就启动坚持计时器。当坚持计时器期限到时,发送TCP就发送探测报文段。这个报文段只有一个字节的数据,有一个序号,但它的序号永远不需要确认;甚至在计算对其他部分的数据的确认时该序号也被忽略。探测报文段提醒对方:确认已丢失,必须重传。
坚持计时器的值设置为重传时间的数值。但是,若没有收到从接收端来的响应,则需发送另一个探测报文段,并将坚持计时器的值加倍和复位。发送端继续发送探测报文段,将坚持计时器设定的值加倍和复位,直到这个值增大到门限值(通常是60秒)为止。在这以后,发送端每隔60秒就发送一个探测报文段,直到窗口重新打开。
保活计时器
当客户端打开了到服务器的连接,传送完数据后就保持沉默了,也可能是客户端宕机了。这个时候保活计时器的时间是两小时,两个小时到了以后,服务端将发送 十 个探测报文段,每个相隔75秒,仍未响应就判定客户端出了故障,断开连接
时间等待计时器
在连接终止期间使用。即TCP四次挥手的最后一次。当TCP关闭一个连接时,他并不认为这个连接马上就真正地关闭了。时间等待期间的连接还处于中间过渡状态。主要是为了让FIN报文到达目的端,将其丢弃,这个计时器的值通常设置为一个报文段的寿命期待值的两倍。
8、 什么是 CDN?CDN 是如何工作的?
CDN的全称是Content Delivery Network,即内容分发网络。客户端向服务器请求一个数据,当这个数据很大,请求频繁,而且服务器距离客户端很远这样是不是很浪费资源,浪费大量的带宽,严重时候还会造成网络阻塞。而且这样响应时间非常慢。
CDN的基本原理是在用户访问相对集中的地区和网络设置一些缓存服务器。当用户访问网站时,利用全局的负载均衡技术将用户的访问指向距离最近的缓存服务器,由缓存服务器代替源站响应用户的访问请求。这样一方面减轻了源站服务器的工作压力,另一方面使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
9、 什么是 DNS?说说 DNS 的解析过程?
域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,分为正向与反向域名解析,适用C/S,端口路53/udp,53/tcp,属于应用层协议;
作用:
人得记忆有限,如果没有dns得记下多少IP地址;从网络来说由于tcp/ip协议族是基于ip地址,所以需要一个翻译器即DNS;可以1对多也可以多对1,那么正向解析即域名解析为ip地址,反向解析即ip地址解析为域名。
浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束。同时域名被缓存的时间也可通过TTL属性来设置。
如果浏览器没命,浏览器会检查操作系统缓存中有没有对应的已解析过的结果。而操作系统也有一个域名解析的过程。操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个ip地址映射,完成域名解析,或者在windows中可通过c盘里一个叫hosts的文件来设置,如果你在这里指定了一个域名对应的ip地址,那浏览器会首先使用这个ip地址。
但是这种操作系统级别的域名解析规程也被很多黑客利用,通过修改你的hosts文件里的内容把特定的域名解析到他指定的ip地址上,造成所谓的域名劫持。所以在windows7中将hosts文件设置成了readonly,防止被恶意篡改。
如果至此还没有命中域名,首先会找TCP/IP参数中设置的首选DNS服务器,在此我们叫它本地DNS服务器(LDNS),这台服务器一般在你的城市的某个角落,距离你不会很远,并且这台服务器的性能都很好,一般都会缓存域名解析结果,大约80%的域名解析到这里就完成了。
如果LDNS仍然没有命中,本地DNS就把请求发至13台根DNS (Root Server )域名服务器请求解析, 根DNS服务器收到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。本地DNS服务器收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果自己无法解析,它就会找一个管理.com域的下一级DNS服务器地址(baidu.com)给本地DNS服务器。当本地DNS服务器收到这个地址后,就会找baidu.com域服务器,重复上面的动作,进行查询,直至找到www.baidu.com主机。
LDNS缓存这个域名和对应的ip
LDNS把解析的结果返回给用户,用户根据TTL值缓存到本地系统缓存中,域名解析过程至此结束
浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,顶级域名服务器缓存,主域名服务器缓存。
10、 什么是 DHCP?描述工作过程?
DHCP(Dynamic Host Configuration Protocol)是一种动态的向Internet终端提供配置参数的协议。在终端提出申请后,DHCP可以向终端提供IP地址、网关、DNS服务器地址等参数。
DHCP是Bootstrap协议的一种扩展配置,基于UDP协议,客户端的端口号是68,服务器的端口号是67,位于OSI的应用层
工作过程
1、当客户机第一次接入网络时,客户机在本网段内广播DHCP DISCOVER报文已发现网络中的DHCP服务器,DHCP Relay可将此报文广播到其他网段
2、服务器向客户机回应请求,并给出一个可用的IP地址。此地址并非真的被分配。但在给出此地之前,应当用ICMP ECHO REQUEST报文进行检查
3、当收到DHCP REQUEST报文后,服务器将客户机的网络的网络地址、硬件地址同分配的IP地址绑定,再将IP地址发送给客户机
4、当收到DHCP REQUEST报文后,如果发现其申请的地址无法被分配,则用DHCP NAK报文回应
5、客户机收到DHCPACK报文后,再对所有的参数进行一次最后的检查,如果发现由地址冲突存在,则使用DHCPDE CLINE报文回复服务器
6、如果客户机放弃现在使用的IP地址,则它使用DHCP RELEASE报文通知服务器,服务器将此地址回收以备下次使用
7、当客户机的地址到达50%租用期时,客户机进入RENEW状态,使用DHCP REQUEST报文续约;当客户机的地址到达87.5%租用期时,客户机进入REBINDING状态,使用DHCPREQUEST报文续约
11、 DHCP 有什么安全问题?如何防范?
一、IP/MAC Snooping DHCP饿死攻击
CHADDR:客户端的硬件地址(源MAC地址)
攻击原理:攻击者持续大量的向服务器申请IP地址,导致服务器地址池地址耗尽,从而不能正常给客户分配地址。
利用的漏洞:DHCP服务器无法分辨主机。
防御:DHCP snooping(窥探)防饿死攻击----致性检查(request报文帧头mac地址和chaddr报文字段是否相同,相同才转发)、限制接口允许学习的DHCP snoping绑定表项的MAC数量。
二、仿冒服务器攻击
攻击原理:攻击者仿冒服务器,向客户端分配错误的网关地址等参数,导致客户无法正常的访问网络。
利用的漏洞:主机无法分辨合法的服务器。
防御:DHCP Snooping防伪冒服务器攻击---配置信任接口和非信任接口(默认都为非信任接口,需要手动修改)
为防止DHCP Server仿冒者攻击,还可为DHCP Snooping配置白名单规则。
把DHCP客户端和服务器加入白名单列表,DHCP Snooping只上送白名单范围内的DHCP报文,对于不在白名单范围内的报文直接走硬件转发不上送CPU,以防止黑客攻击
三、中间人攻击
中间人攻击:中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信设备之间,并且盗用这两台设备的信息分别与对端设备通信,这台计算机就称为“中间人”。
中间人向客户端发送带有自己MAC和服务器IP的报文,让客户端学到中间人的MAC,达到仿冒DHCP Server的目的。达到目的后,客户端发到服务器的报文都会经过中间人。同理,中间人盗用客户端的IP与服务器进行通信。从而由中间人完成服务器和客户端的数据交换。在服务器看来,所有的报文都是来自或者发往客户端;在客户端看来,所有的报文也都是来自或者发往服务器端。但实际上这些报文都是经过了中间人的“二手”信息。
防御:交换机添加DHCP snooping表,查看映射,攻击不符合的报文
四、IP/MAC Snoop攻击
Spoofing攻击:欺骗攻击,通过伪造他人的信息,攻击者可以假扮成合法的用户来使用网络服务,但真正的合法用户却不能获得服务。
攻击者向服务器发送带有合法用户IP和MAC的报文,令服务器误以为已经学到这个合法用户的IP和MAC。服务器将合法信息都发往攻击者,而真正的合法用户不能从服务器获得服务
DHCP Snooping是DHCP安全特性,通过截获DHCP Server与DHCP Client之间的DHCP报文,建立和维护一张记录Client信息的绑定表,同时对报文进行分析和处理,过滤从非信任端口收到的服务器侧发回的响应DHCP报文,为DHCP提供安全服务。另外,DHCP Snooping可以与IP Source Guard、动态ARP检测DAI(Dynamic ARP Inspection)联动,实现对非法IP报文、非法ARP报文的过滤。DHCP Snooping绑定表包含用户MAC地址、IP地址、租用期、VLAN ID、接口等信息。
DHCP Snooping具有以下价值:
当配置了DHCP Snooping功能后,它可以将交换机的接口分为信任接口与不信任接口,DHCP Snooping只对信任接口上送DHCP请求和应答报文。DHCP Snooping可以根据信任接口收到的报文信息生成DHCP Snooping绑定表。DHCP Snooping绑定表是DHCP Snooping的一个重要概念,它是进行报文检查的基本信息表。Option 82是DHCP报文的一个特殊字段,它可以用来标识DHCP报文的发送路径,有助于建立精确到接口的绑定表项。此外,还可以为DHCP Snooping配置白名单功能,以精确控制信任的客户端或者服务器发送的报文上送行为。
把网络侧的接口配置为Trusted模式,把用户侧的接口配置为Untrusted模式,凡是从Untrusted接口收到的DHCP Reply报文全部丢弃。
DHCP Snooping允许将某个物理端口设置为信任端口或不信任端口,一般把与合法DHCP服务器连接的接口设置为信任(Trusted)接口,其它接口都设为不信任(Untrusted)接口。当使能了DHCP Snooping时,所有接口都默认为不信任接口。
DHCP Snooping绑定表
绑定表是接入用户的信息集合,它包括:IP地址、MAC地址、接口及VLAN信息。DHCP Snooping绑定表包括动态绑定表和静态绑定表。动态绑定表是在使能了DHCP Snooping功能后自动生成,静态绑定表是由手动配置的。
DHCP Snooping绑定表的老化:
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用于传输控制信息。
但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,
采用主动模式,那么数据传输端口就是20;
采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。
主动模式(PORT FTP)
FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
(登录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服务器,享受FTP服务器提供的服务。
地址格式
FTP地址如下:
ftp://用户名:密码@FTP服务器IP或域名:FTP命令端口/路径/文件名
上面的参数除FTP服务器IP或域名为必要项外,其他都不是必须的。如以下地址都是有效FTP地址:
ftp://list:list@foolish.6600.org
ftp://list:list@foolish.6600.org:2003
ftp://list:list@foolish.6600.org:2003/soft/list.txt
13、 什么是路由器?描述一下工作过程?
路由器是连接两个或多个网络的硬件设备,在网络中起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议,例如某个局域网使用以太网协议,因特网使用的TCP/IP协议。
工作过程
当数据到达路由器时,路由器会先查询路由表,查到则无条件转发,反则丢弃;
路由器加表规则:
路由器会优先比较优先级(管理距离, AD值),优先级大的(数字小的)优先加表,如果优先级相同,比较度量值(metric值),度量值小的优先加表,如果度量值相同,则同时加表,负载均衡
等开销负载均衡:当学习到多条开销相似的路径时,路由器会将流量拆分,同时传输
浮动静态路由:路由器会优先选走优先级高的路由条目;浮动静态路由的目的是为了备份,当一条线路断掉之后,另一条线路可以直接使用
查表规则:递归查询,最长匹配(子网掩码最长),缺省默认排在路由表的最后
14、 什么是交换机?描述一下工作过程?
交换机是一种多端口的网桥,在数据链路层使用MAC地址转发数据。通过引入路由功能,一些交换机也可以在网络层转发数据,这种交换机一般被称为三层交换机或者多层交换机。
当数据到达交换机,交换机将根据自身的MAC地址表查询目标MAC地址,查询到则无条件转发,反之则广播,广播未能获取到MAC地址则丢弃,获取到将,MAC地址和端口信息一一对应下来
15、 什么是三层交换机?和二层交换机有什么区别?三层交换机是否可以代 替路由器?为什么?
三层交换机就是具有部分路由器功能的交换机,工作在OSI网络标准模型的第三层:网络层。三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。
对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。
16、 讲一讲什么是 ARP?
地址解析协议 -- 二层
基本功能:知道目的主机的IP地址但是不知道MAC地址,此时通过ARP协议查询目标IP的MAC地址
他是IP v4中必不可少的部分,但是在IP v6中被邻居发现协议取代 -- NDP
工作过程:
假设A将要与b通信,首先会查询自己的ARP缓存表,如果有就转发,没有就通过广播方式广播出去,源IP和源MAC为主机A,目标MAC为全0,目标IP为主机B,只有主机b会相应此数据报文,主机b先将A的IP和mac信息加入ARP表中,然后再将自己的MAC地址发送给A
17、 ARP 毒化过程和原理?怎么防御?(终端和交换机)
过程
ARP欺骗(ARP spoofing),又称ARP毒化(ARP poisoning,网络上多译为ARP病毒)或ARP攻击,是针对 以太网 地址解析协议 ( ARP )的一种攻击技术,通过欺骗局域网内访问者PC的网关MAC地址,使访问者PC错以为攻击者更改后的MAC地址是网关的MAC,导致网络不通。
原理
利用ARP缓存机制存在的缺陷:就是当请求主机收到ARP应答包后,不会去验证自己之前是否向对方发送过ARP请求包,就直接把返回包中的IP与MAC对应的关系保存在ARP缓存表中,如果原有相同的IP对应关系,原有的就会被替代
防御:
18、 说明什么是 PPPoE 协议?如何工作?
19、 交换机是如何转发数据包的?
一个数据到达交换机,交换机首先记录下来发送主机的MAC地址和端口信息,并形成映射关系存于MAC地址表,并在表中查询接受主机的MAC地址,如果有就转发,没有就洪泛获取对应的MAC地址,之后转发
20、 什么是 VLAN?
虚拟局域网,是一组逻辑上的设备和用户,这些设备不受物理位置因素限制,可以根据功能,部门将其组织起来,相互之间通信好像在同一个局域网,因此叫虚拟局域网,但有可能同一vlan实际并不在同一网段,相应的不同网段也可以在同一vlan
优点:
设备的移动、增加、修改将减少管理压力
可以控制广播活动
提高网络安全性
21、 如何实现 VLAN 间通信?有几种方法?
二层交换机 + 路由器 --- 多臂路由 --- 随着设备增多,交换机与路由器之间的接口需求也将增多,但配置简单
二层交换机 + 路由器 --- 单臂路由 --- 配置复杂,当实际接口出现问题,整个vlan域将出现问题,但节省接口数量
运用vlanif逻辑接口 --- 三层交换 --- 性价比和稳定性都很高
22、 什么广播域?什么是冲突域?
广播域
是计算机网络的逻辑划分,广播域中的任意一个节点可以在数据链路层通过广播的方式到达任意节点。广播域可以被部署在同一个局域网或者被桥街到其他局域网
冲突域
所有节点都链接到同一个被交换机或学习型网桥划分的相互连接的中继器集合。冲突域一般来说被包括在广播域中,一些处在数据链路层的设备能够划分冲突域但是广播域只能被路由器或者三层交换机划分
23、 简述 STP(802.1D)的作用及工作原理. RSTP(802.1W)收敛速度为 什么比 802.1D 快?有哪些方面?
STP协议是一个二层管理协议,标准为IEEE802.1D。
作用:当交换机之间存在冗余备份时,因为交换机的洪泛机制,导致交换机之间产生二层交换环路,造成广播风暴,MAC地址表不稳定,数据帧被重复拷贝,而STP协议提供了网络的动态冗余切换机制。即逻辑性的阻塞某个接口,能在网络设计中部署备份线路,主线路工作,备线路关闭,主死备上。主要通过采用无环路经来避免和消除网络环路
工作过程
选根桥
在BPDU中包含桥id = 优先级(2字节)+交换机MAC地址(6字节),先比较优先级,优先级小的成为根桥,相同比较MAC,小的为根桥
选根端口 -- 只在非根网桥上选,且只选一个
非根网桥端口开销小的为根端口,开销相同比较 port id,小的成为根端口,通常为端口MAC地址 + 端口优先级,小的成为根端口,一般来说面向根桥的端口就是根端口
选指定端口
端口开销小的成为指定端口,开销相同比较BID,BID相同比较port ID,通常根网桥端口一定是指定端口
RSTP是STP的拓展,增加了端口状态快速切换机制,实现网络拓扑的快速转换
24、 MSTP 原理?
基于实例计算出多课生成树,每个实例都会生成自己的生成树,并且每个实例可以包含一个或多个vlan
25、 生成树有什么缺点?你知道有哪些技术可以弥补这些缺点?
STP的缺点在于无法在一棵树中利用所有的线路,链路利用率低;解决方法:使用RSTP或MSTP
26、 简述传统的多层交换与基于 CEF 的多层交换的区别
27、 有一台交换机上的所有用户都获取不了 IP 地址,但手工配置后这台交换机上的同一 vlan 间的用户之间能够相互 ping 通,但 ping不通外网,请说 出排障思路.
首先判断是否存在DHCP服务器,若存在再判断连接网关的物理线路是否正常,正常判断网关的地址或者是否有虚拟子接口的地址与地址池中的网关地址相同;
若是三层交换机,判断是否配置了trunk干道以及正确划分了vlan,或是hybrid接口是否允许所有vlan不带标签通过;不能够访问外网,判断是否配置NAT协议,若存在判断ACL列表是否允许其通过
28、 你都知道网络的那些冗余技术,请说明.
电源冗余:USP电源,不间断供电设备
线路冗余:ethernet-channel(链路聚合)
网关冗余:VRRP(虚拟路由冗余)
设备冗余:STP/RSTP/MSTP
29、 策略路由和路由策略的区别?
策略路由:在路由表已经生成的前提下,不按照路由表进行转发,使用流量策略来实现选路的转发。
策略路由可以根据源地址、目标地址、源端口、目的端口、协议、TOS等特征来做决策提供路由;路由表与策略路由的关系;策略路由是先于路由表执行的,策略路由没有捕获的流量依然回去执行路由表
路由策略:在控制层面抓取流量,修改流量,来影响路由表的生成,控制选路
30、 说明什么 NAT 技术?有哪些 NAT?
NAT网络地址转换,将私网地址转换为公网地址;在边界路由器上,流量从内部去往外部时,将数据包中的源IP地址进行修改(内部本地修改为内部全局);当流量从外部进入内部时,修改目标IP地址(外部全局修改为外部本地)。NAT技术也是缓解了IPV4地址不够用的问题,IPV6中没有NAT技术;NAT技术还能有效防止外部的网络攻击。
分类:
1.静态NAT:一对一,将一个私网地址转换为一个公网地址
2.动态NAT:多对多,将多个私网地址转换为多个公网地址
3.PAT端口映射:一对多,将多个私网地址转换为一个公网地址,当多个私网需要转换时,会使用端口号进行区分。
注:
1、接口在做了inside配置之后,流量经过该接口先查路由表在进行地址转换。
2、接口在做了outside配置之后,流量经过该接口先将地址转换再查询路由表。
另:在面试中问到的最多的是DNAT(目的NAT转换)和SNAT(源NAT转换)技术 。
主要应用:
SNAT:代理上网
DNAT:内网服务器对外网提供网络服务。
将内网的服务器映射到公网地址供外网用户使用:SNAT+DNAT。
内网用户用公网IP访问内网的服务器:DNAT+SNAT。
31、 当你使用计算机上网浏览 www.baidu.com 网站时,你的计算机可能会依次发送哪些类型的报文?
终端打开浏览器,搜索引擎输入:www.baidu.com,首先查找浏览器缓存,再查询本地的Hosts文件,然后再到本地的DNS服务器(这里是递归查询);若无对应的缓存,则请求网关设备。
在请求网关设备时首先需要网关设备的MAC地址,终端向网关设备发出ARP请求报文,请求网关设备的MAC地址。
终端发出的数据包达到接入交换机,接入交换机转发到其他所有接口,网关路由器收到该数据包
网关路由器回复ARP请求报文,发出ARP应答报文
ARP应答报文到达交换机后,交换机将该网关MAC地址存于自己的MAC地址表项中,并转发到终端
终端收到ARP应答报文后,将重新发送数据包,访问HTTP服务,发送DNS请求报文
当DNS请求报文到达网关路由器时,路由器需要配置SNAT(源地址转换)将源IP地址从终端IP地址修改为网关路由器的公网IP地址,再次发送到ISP路由器 。
当ISP路由器接收到DNS请求数据包后,修改源MAC地址与目的MAC地址后转发到 DNS服务器(这里是迭代查询)。
DNS服务器收到DNS请求报文后,回复DNS应答报文到ISP路由器。
ISP路由器转发到终端出口路由器,终端出口路由器接收到的数据包信息。
经过终端出口路由器时,由于该路由器配置了SNAT,SNAT会话会将映射后的IP地址转换为映射前的IP地址,返回到内网中
DNS应答报文达到终端,终端开始访问Web服务器的IP地址,并且建立TCP连接 。
TCP连接数据转发效果与前面相同,不再赘述(这里涉及到TCP的三次握手)
TCP连接建立后,终端发送HTTP请求报文。
Web服务器接收到HTTP请求报文后回复HTTP响应报文。
响应完毕后,就可以进行四次断开了。
32、 当你在浏览器输入 www.baidu.com 并按下回车后发生了什么?(要说 出 HTTP 的工作原理)
HTTP(超文本传输协议)采用了B/S模型,定义了web客户端如何从web服务器请求web页面并且把数据返回给客户端,HT TP协议是无状态的,就是说客户端在访问该服务器之后,下次再访问服务器时,服务器不知道是否见过该客户,不会有该客户的连接资料,这可以简化服务器的设计,也保护了服务器的缓存资源,是服务器更容易的支持大量并发的HTTP请求。
首先客户端通过浏览器的默认80端口创建TCP的套接字;发送请求报文到服务器;服务器解析该请求并定位请求资源,将请求资源复写到TCP的套接字,由客户端读取;释放连接时由web主动关闭TCP的套接字,来关闭连接;客户端被动关闭套接字,释放TCP连接;客户端首先解析状态行,查询是否请求成功,然后解析每个响应头,读取对应的HTML数据,并在浏览器窗口显示。
执行动作:
浏览器分析超链接中的URL
浏览器向DNS请求解析www.baidu,com的IP地址
DNS将解析出的IP地址返回给浏览器
浏览器与服务器建立TCP连接(80端口)
浏览器请求文档:GET/index.html
服务器给出相应,将文档index.html发送给浏览器
释放TCP连接
浏览器显示index.html中的内容
33、 RIP 的防环机制
1.水平分割
从此口进不从此口出
核心作用——消除MA网络中的重复更新量,只适用于直线拓扑和星型拓扑下的防环
2.跳数限制——最大15跳,16跳标记不可达
3.毒性逆转水平分割
路由器从某个接口上接收到某个网段的路由信息之后,并不是不往回发送信息了,而是发送,只不过是将这个网段的跳数设为无限大,再发送出去。收到此种的路由信息后,接收方路由器会立刻抛弃该由,而不是等待其老化时间到(Age Out)。这样可以加速路由的收敛
4.触发更新——若网络中没有变化,则按通常的30秒间隔发送更新信息。但若有变化,路由器就立即发送其新的路由表。这个过程叫做触发更新。
5.抑制计时器
计时器:更新时间 失效时间 抑制计时器 刷新时间
30S 180S 180S 240S
华为设备:更新时间 无效时间 垃圾回收时间
30S 180S 120S
34、 OSPF 中承载完整的链路状态的包?
LSU
35、 OSPF 中 DBD 报文是如何进行确认的?
DBD包:数据库描述包,描述了本地LSDB的摘要信息,用于两台路由器进行数据库同步。DBD包中携带MTU值,邻居关系间若MTU值不一致,将无法完成邻接关系的建立;
在exstart状态时不携带拓扑目录信息,仅进行RID的比较选择主从关系;
在exstart状态时,使用了隐形确认来进行可靠保障;从使用主的序列号,来确认接收到了主的DBD,收集完所有邻居的DBD后在本地生成LSDB。
在exchange状态时,使用LSack进行确认;在exchange状态时才真正进行拓扑目录共享。
36、 OSPF 中既是 ABR 又是 ASBR 在生成什么类型的 LSA?
37、 .OSPF 中 LSA 类型 NSSA 区域里都有哪些 LSA?
38、 LSA5 外部路由可以在 ABR 上做汇总吗?
39、 OSPF 有哪几种协议包?作用分别是什么?
40、 OSPF 区域划分的好处?
41、 OSPF 的 1 类和 2 类外部路由之间的区别?
42、 在 OSPF 中。为什么第三类 LSA 传播超过一个区域?路由信息就会被修改呢?他不是使用 SPF 算法么?如果这样那么他跟 RIP 的 DV 算法有啥区 别?OSPF 没有形成 FULL 状态的原因?
43、 在什么情况下 ospf error 的 OSPF Router ID confusion 数值会增加
44、 说到虚连接。哪虚连接为什么能保证第三类 LSA 的路由信息不被修改 呢?
45、 两台路由器通过直连链路,建立 OSPF 邻居,那么在一边使用 P2P,而 一边使用 P2MP 的情况下,能正常建立到邻接状态么?
46、 ospf 卡在 init 状态机哪。这样的情况是怎么引发的?
47、 OSPF 在进程重启。为什么邻居能快速的建立起来。而不是像创建进程 一样。需要等待 那么长时间? 48、 ospf 一直提示 LSA disabled。为什么会产生这种情况?
49、 ospf 如果不同进程不同区域使能。邻居能正常建立起来么?
50、 ospf 本身能过滤掉自身产生的 LSA 吗?
51、 那虚连接是怎样使用 SPF 算法的呢?准确的说。虚连接是怎么确定他报 文的目的地址的?
52、 为什么 ospf 中四种网络类型所定义的 hello time 和生存时间都不一样?
53、 OSPF 在 NBMA 网络要配置些什么?
54、 Ospf 产生环路的原因以及解决的办法?(OSPF 防环措施?)
55、 Ospf 中有哪几种特殊区域?
56、 Stub 区域的作用?
57、 为什么在 OSPF 中要划分区域?
58、 OSPF 初始化的时候,路由器之间是如何进行交互?(OSPF 邻居形成过 程?)
59、 OSPF 是纯链路状态的协议吗?
60、 OSPF 中 DR 选举的意义?DR 选举时的网络类型?DR 和其它路由器的 关系?
61、 OSPF 虚链路在什么情况下用到?为什么要用到虚链路?
62、 OSPF 虚链路的作用?为什么有骨干区域?
63、 ISIS 与 OSPF 的区别谈一谈吧,各个方面
64、 BGP 是怎样实现跨自治系统交互路由信息?为什么需要 BGP 路由协议?
65、 IBGP 为什么采用全互联?不采用全互联怎么部署?
66、 IBGP 为什么不相互通告路由?
67、 Bgp 中团体的作用
68、 如果 BGP 加上 max path,会在哪个 BGP 选路属性之前应用这个选 项?
69、 谈谈 BGP 反射器的缺点
70、 BGP 的属性在 MPLS 中的应用?选路控制?
71、 QOS,整形和限速的区别以及使用场景
72、 BGP 路由协议和 IGP 路由协议的区别?
73、 BGP 的选路原则
74、 BGP 的 AS-PATH 属性有什么作用?
75、 BGP 的 local-performance 属性有什么作用?如何使用?
76、 如果 BGP 加上 max path,会在哪个 BGP 选路属性之前应用这个选 项?
77、 BGP 的反射原则?
78、 BGP 的反射如何防环?
79、 谈谈 BGP 反射器的缺点
80、 MPLS L3 VPN,如果我想让两个不同的 VPN 作单向互访,怎么做?
81、 跨域的 MPLS L3 VPN 可以谈谈思路吗?
82、 MPLS L3 VPN 的一个用户,他有上 internet 的需求,如何实现?有 几种实现方法?特点各是什么? 83、 PPP 的协议过程?
84、 CHAP 认证过程?
85、 对称性加密算法和非对称型加密算法的不同?
86、 什么是 IKE?作用是什么?
87、 安全关联的作用?
88、 ESP 和 AH 的区别?
89、 IPSEC VPN 的阶段一与阶段二的作用?
90、 IPSEC 第一阶段主模式和野蛮模式有什么不同?
91、 什么是 SSL/TLS?
92、 什么是数字证书?
93、 CA 是什么?
94、 什么是 PKI?
95、 什么是 DDOS 攻击?和 DOS 攻击有什么区别?
96、 什么是防火墙?工作原理是什么?
97、 谈谈会话表的如何建立以及作用?
98、 防火墙如何处理 FTP 协议的防御问题?
99、 描述一下手机上网的过程?
手机开机、扫频
手机开机以后,立刻开始扫描网络,寻找可用的频点;
手机锁频(FCCH)
手机找到可用频点后,通过 FCCH 信道上的“频率校正信号”,锁定该频点频率;
手机同步(SCH)
手机锁定该频点后,通过 SCH 信道上的“同步信号”与该频点的 0 时隙同步;
手机接收系统消息(BCCH)
手机与该频点的0时隙同步后,就可以从该时隙获取该频点所在小区的系统消息。系统消息的内容很多,在这一步,手机主要通过系统消息确定该频点是否为该手机所在网络(移动、联通)的频点,如果是,手机将开始接入过程;如果不是,手机会放弃该频点,继续扫频,寻找其他频点。
手机(MS)向基站(BTS)发送“接入请求”消息(RACH)
手机向基站发出“接入请求”,要求基站给它分配一个 SDCCH 信道;
基站(BTS)向手机(MS)发送“接入允许”消息(AGCH)
如果基站有信令信道资源,就会向手机发送“接入允许”消息,并在该消息中告知手机所需的 SDCCH 信道号;
手机(MS)向基站(BTS)发送“位置更新请求”消息(SDCCH)在“位置更新请求”消息中,手机会将其 IMSI 号码上报给 BTS,由 BTS 上报给 BSC->MSC->HLR,以检验手机用户的合法性;
基站(BTS)向手机(MS)发送“位置更新接受”消息(SDCCH)
如果通过检测,发现用户的 IMSI 是合法的,基站就会向手机发送“位置更新接受”消息; 如果发现用户的IMSI是非法的,基站就会向手机发送“位置更新拒绝”消息,并说明拒绝的原因;
手机显示网标,上网成功。(某些型号的手机,在“位置更新接受”消息下发之前,就把网标显示出来了,这时手机实际并未上网,即所谓的“假上网”)
其他信道的作用如下:
PCH(寻呼信道)用于手机做被叫,寻呼该手机的消息,通过该信道发送;
ACCH(随路控制信道,包括 SACCH 和 FACCH)用于手机在通话期间传送必要的信令消息,如切换。所谓的随路,就是在“话路”中传送信令消息,区别于只用于传送信令的 SDCCH信道。
100、 什么是 1G/2G/3G/4G/5G 谈谈你的认识
一、1G
第一代移动通信技术(1G)是指最初的模拟、仅限语音的蜂窝电话标准。
主要技术:主要采用的是模拟技术和频分多址(FDMA)技术。
代表系统:移动电话系统(AMPS),全球接入通信系统(TACS)
主要缺陷:
模拟移动通信系统制式复杂,不易实现国际漫游。
模拟移动通信系统不能提供综合业务数字网(ISDN)业务,而通信网的发展趋势最终将向ISDN过渡。因此随着非话业务的发展,综合业务数字网逐步投入使用,对移动通信领域数字化要求越来越迫切。
模拟移动通信系统设备价钱高,手机体积大,电池充电后有效工作时间短,目前只能持续工作8小时,给用户带来不便。
模拟移动通信系统用户容量受限制,在人口密度很大的城市,系统扩容困难
容易串号、盗号
二、2G
第二代蜂窝移动通信(2G)的代表性体制就是最流行的GSM系统。这个系统使用的带宽只有200kHz,因此除了基本的话音通信,它只能提供低速数字通信(短信服务)。为了能够提供接入到互联网的服务,2G蜂窝移动通信系统增加了如GPRS和EDGEO等技术。也有人称GPRS为2.5G,而EDGE为2.75G,表明它们还属于2G,但比2G要强些,并且是从2G向第三代(3G)过渡的衔接性技术。目前在我国这种2G手机还在大量使用。
缺点:传输速率慢且不稳定
三、3G
第三代蜂窝移动通信(3G)使用的带宽增大到5MHz,并且使用IP的体系结构和混合的交换机制(电路交换和分组交换),能够提供移动宽带多媒体业务(话音、数据、视频等,可收发电子邮件,浏览网页,进行视频会议等)。3G现有三个无线接口国际标准,即美国提出的CDMA2000(中国电信使用),欧洲提出的WCDMA(中国联通使用)和中国提出的TD-SCDMA(中国移动使用)并且都已在我国开通运营。多种移动通信标准的出现是由于不同厂商为各自利益竞争的结果。每一种制式的调制与编码方法都不相同。3G手机的上网速率比起2G手机有了很大的提高。从3G开始以后的各代蜂窝移动通信都是以传输数据业务为主的通信系统,而且必须兼容2G的功能(即能够通电话和发送短信),这就是所谓的向后兼容。
优点:CDMA系统以其频率规划简单、系统容量大、频率复用系数高、抗多径能力强、通信质量好、软容量、软切换等特点显示出巨大的发展潜力。
四、4G
4G通信技术是第四代的移动信息系统,是在3G技术上的一次更好的改良,其相较于3G通信技术来说一个更大的优势,是将WLAN技术和3G通信技术进行了很好的结合,使图像的传输速度更快,让传输图像的质量和图像看起来更加清晰。在智能通信设备中应用4G通信技术让用户的上网速度更加迅速,速度可以高达100Mbps。
2013年12月工信部正式发放4G牌照,宣告我国移动通信行业进入第四代(4G)。4G正式名称是IMT-Advanced(International Mobile Telecommunications-Advanced),意思是高级国际移动通信。这是国际电联无线电通信部门ITU-R在2008年3月提出的,其中的一个重要技术指标就是要实现更高的数据率。4G的目标峰值数据率是:固定的和低速移动通信时应达到1Gbit/s,在高速移动通信时(如在火车。汽车上)应达到100Mbit/s。
4G当然也要向后兼容3G。因此,现在很多手机都标明具有4G/3G/2G功能。这表示如果手机所在地还没有被4G网络覆盖,那么这个手机还可以使用3G网络的功能。而如果手机所在地只有2G网络,那么这个手机仍然可以使用原来2G网络的功能。
4G现有两个国际标准,即LTE(Long-Term Evolution)和LTE-A(LTE-Advanced)。LTE的意思就是“长期演进”,表明从3G到4G的过渡需要较长的时间。LTE又分为时分双工TD-LTE和频分双工FDD-LTE两种,而LTE-A是LTE的升级版,俗称为3.9G。LTE把带宽增加到20MHz,采用了高阶调制64QAM和MIMO技术。LTE-A的带宽高达100MHz。据2016年6月的统计,全球投入商用的LTE-A网络已达100个,分布在49个国家和地区。
缺点:覆盖范围有限,数据传输有延迟
五、5G
第五代移动通信技术(5th generation mobile networks或5th generation wireless systems、5th-Generation,简称5G或5G技术)是最新一代蜂窝移动通信技术,也是继4G(LTE-A、WiMax)、3G(UMTS、LTE)和2G(GSM)系统之后的延伸。5G的性能目标是高数据速率、减少延迟、节省能源、降低成本、提高系统容量和大规模设备连接。Release-15中的5G规范的第一阶段是为了适应早期的商业部署。Release-16的第二阶段将于2020年4月完成,作为IMT-2020技术的候选提交给国际电信联盟(ITU) [1] 。ITU IMT-2020规范要求速度高达20 Gbit/s,可以实现宽信道带宽和大容量MIMO。
缺点:我他妈苹果手机没信号啊