网络基本概念

  • 计算机网络

是指将处于不同位置具有独立功能的多台计算机及其外部设备连接起来,在网络操作系统,网络管理软件,网络协议的管理和协调下,实现资源共享和信息传递的系统。

  • OSI模型中五层网络结构?

物理层,利用传输介质为数据链路层提供物理连接,屏蔽设备之间的差异,透明传输比特流。

数据链路层,在两个网络实体之间提供数据链路的创建,维持和释放。在物理层的基础上为网络层提供服务。数据链路层提供了链路控制,封装成帧,透明传输,差错检测,所以可将有差错的物理连接改造无差错的逻辑连接。,并对物理层原始的数据进行封装。

网络层,提供了路由和选址功能,使得处于不同网络的双方能够相互通信。网络层协议主要有ARP协议,RARP协议,IP协议,ICMP协议等。

传输层,承上为应用层提供了可靠的数据传输,启下为网络层提供了可靠度站点信息。为端到端传输,提供了流量控制和差错检测。传输层协议有TCP,UDP。

应用层,是用户和应用程序的接口,也提供网络服务。如DNS,HTTP,FTP,SMTP ,TELNET协议等。

  • OSI模型五层网络结构功能简介

应用层,为各种数据形式指定统一的格式标准,方便用户看懂。

传输层,加入了端口,明确是何应用程序传输。

网络层,加入IP地址,明确是那些网络传输。

数据链路层,加入MAC地址,明确是何物理主机进行帧的传输。

物理层,通过传输介质在两个主机之间传输。

  • 组成网络协议的三个要素?

协议是对等实体之间通信指定的规则集合。硬件和软件必须遵循的共同守则,网络协议并不是一套单独的软件,融合在其它所有的软件系统中。

语法,构成协议元素的含义和解释。语义,数据域控制信息的结构和形式,完成何种动作以及做出何种应答。同步,规定事件的执行顺序。

  • 计算机网络的各层设备

物理层
网卡,局域网传输介质之间的物理连接和电信号匹配。
中继器,局域网上所有节点的中心,放大信号,补偿信号衰减。支持远距离通信。
集成器(HUB),是计算机网络中连接多个主机或设备的连接设备,是对网络进行集中管理的最小单元。英文HUB是中心的意思,它是各分支的汇集点。HUB是一个共享设备,提供信号放大和中转的功能,把一个端口收到的信号向所有端口都发送出去。
中继器与集成器区别在于连接设备的线缆数量,一个中继器通常有两个端口,一个集成器有4至20个端口。中继器与集成器均不能隔离冲突域和广播域

数据链路层
交换机(SWITCH),是一种基于MAC(网卡硬件地址)识别,能完成封装转发数据包功能的网络设备。交换机学习MAC地址,并将其存放在内部地址表,通过在数据帧的始发者和接收者建立临时的交换路径,使数据帧直接由源地址到达目的地址。现在交换机有两层交换机,三层交换机,或更高层的交换机,三层交换机也有路由功能。特点是一次路由,多次转发。
网卡,帧的发送与接收,帧的封装与拆分,介质访问控制,数据的编码与解码,数据缓存。
交换机,网桥,能够隔离冲突域,但不能隔离广播域。

网络层
路由器,连接不同的网络,选择信息传送的线路。
冲突域(物理分段),连接在同一导线上的所有工作站的集合。或者说是同一网段上的所有节点的集合或以太网中竞争同一带宽的节点集合。这个域代表了冲突发生并传播的区域,这个域被认为是共享段。在OSI模型中,冲突域被看做是第一层的概念,连接同一冲突域的有HUB,reporter能简单复制信号的设备。用HUB,reporter设备连接的节点被认为是在同一个冲突域,不会划分冲突域。
广播域,接收同样广播消息的节点集合。在该集合中的一个节点发送一个广播帧,所有能够收到这个广播帧的节点被认为是广播帧的一部分。广播域被认为是OSI的第二层概念,所以像HUB,交换机等第一层,第二层的设备连接的结点被认为是在同一个广播域中。

  • 单工,半双工,全双工?

单工:单方向的交互,只有一个方向的通信没有另一个方向的交互。无线电广播,电视广播。
半双工:双向交替通信,通信双方都可以发送消息,但不能同时发送,也不能同时接受。
全双工:双向同时通信,通信双方可以同时发送消息,也可以同时接受消息。

  • 时延和带宽?

时延是指网络中的一个报文或分组从网络中的一端到另一端所需要的时间。包括发送时延,传播时延,处理时延,排队时延。

带宽又叫频宽,是指在固定的时间传输的资料数量。也是在传输管道中传输数据的能力。通常,数字设备中,带宽以bps为单位,即每秒传输位数。模拟设备中,频宽以每秒传送周期或赫兹来表示。

  • 模拟信号,数字信号,基带信号,宽带信号?

模拟信号,连续信号,语音信号和广播信号。数字信号,由离散的二进制0或1组成的信号。基带信号,数字0或1用不同的电压表示,送到电路上传输。宽带信号,将基带信号调制成频分复用的模拟信号,基带信号经过调制,每一路基带信号的频谱移动到不同的频段,合在一起也不会互相干扰,可在一条电缆中传输多路数字信号。

  • 调制解调器?

也称为猫,是一种计算机硬件,能够将计算机数字信号转为在电话线上传播的脉冲信号,在线路另一端可被另一个调制解调器接收,再次转为数字信号。实现两台计算机之间的远程通信。

  • 频分复用,时分复用,波分复用,码分复用?

频分复用,给每个信号分配唯一载波频率并通过单一媒体传输多个独立信号。复用的是传输信道。

时分复用,把多个信号复用到单个硬件传输信道上,允许每个信号在很短时间内使用信道,接着再让下一个信号使用。复用的是传输信道。

波分复用,光的频分复用,使用一根光纤传播多个频率接近的光载波信号。

码分复用,是用一组包含相互正交的码字的码组携带多路信号,每一个用户在同样的时间携带同样的频带进行通信。各用户使用经过特殊挑选的不同码型,各用户之间不会互相干扰,这种系统发送的信号有很强的抗干扰能力。

  • 数据链路层协议?

CSMA/CD(carrier sense multiple access with collision detection,载波监听多点接入/碰撞检测)每一个主机在发送之前都要先检测总线上是否有其它主机在发送数据,如果有,则不发送,如果没有则发送。并且主机在发送数据的同时,要检测信道上是否有冲突发生,如果有,则采用截断二进制指数类型规避算法来等待一段时间再次重发。概括来说就是:先听先发,边听边发,冲突停发,随机重发。
PPP(point to point protocol),串行线路通信面向字节的协议,PPP协议应用在直接连接的两个节点链路上。通过拨号或专线建立点对点的连接传送数据,成为主机,网桥,路由器简单连接的解决方法。
PPP组成。链路控制协议LCP,用来建立,配置,测试,管理数据链路。
网络控制协议NCP,由于PPP可以使用多种网络层协议,每个网络层协议都需要一个NCP来配置,一个将IP数据包封装到串行链路的方法。

  • P2P协议

P2P,对等计算机或对等网络。数据存储在客户本地,通过存储信息的查询,让终端之间直接数据传递。P2P网络让网络流量分散化,同时管理点没有服务容量的压力,只存储数据的索引和链接,不对数据本身负责,避免了版权和管理的问题。

  • 两层交换机和三层交换机区别?

两层交换机属于数据链路层的设备,可以根据数据包的MAC地址来转发,并把这些MAC地址记录在内部的数据表中。

三层交换机具有两层交换机的功能,同时还有一些路由器的功能。传统交换机在OSI模型是在数据链路层进行工作。三层交换技术是在OSI模型的第三层网络层进行分组转发,实现网络路由,也能做到最优网络性能。

  • 电路交换,分组交换区别和联系?分组交换优缺点?

电路交换,传输数据之前,两个节点先建立一条物理通信链路,该链路有许多中间节点,在传输数据过程中,这条链路一直被独占,直到传输结束后,才释放链接。电路交换的三个特点。基于位置,某个位置的比特交换后到达另一个位置。面向连接。通信过程中始终占用端到端的固定带宽。

分组交换,采用存储转发解决了传送大报文的问题。把大报文分成合理的小报文,再加上合理的控制信息,构成分组。网络节点根据控制信息把分组送到下一个节点,下一个节点收到分组后暂存,等待传输,再根据分组控制信息选择下一个节点,直到目的节点。分组交换的三个特点,基于标记,要传输的整个数据段称为报文,分割后的数据段称为分组也称为包。无连接。采用存储转发。

分组交换的优点。高效,动态分配资源;迅速,无需连接,直接发送数据;可靠,完善的网络路由;灵活,每个分组可以独立路由。

分组交换的缺点。时延,各个分组在存储转发中要排队,造成时间延迟;开销大,分组头要携带控制信息,造成网络开销。

  • IPv4地址缺乏的解决方法,IPv4和IPv6如何通信?

IPv4地址日益短缺,为了解决这个问题,引入了NAT。在局域网内部网络中使用内部地址,而在和外部网络通信时,就在路由器上,把内部网络地址替换成外部网络地址,从而在外部网络上正常使用。NAT可以使多台计算机共享internet连接。解决公共IP短缺的问题。

NAT的三种实现方式,静态转换,动态转换,端口多路复用。

静态转换,是指将内部网络的私有IP转为公有IP,IP地址是一对一,是一成不变,某个私有IP只转为某个公有IP。可以实现外网对内网的某个特定设备(服务器)的访问。

动态转换,是指将内部网络的私有IP转为公有IP时,IP地址是变化的,不是一成不变的。只要指定某些内网私有IP和某些外网的公有IP,就可以动态转换。

端口多路复用,改变外出数据包的源端口,并进行端口转换。内网中的所有主机都可使用外网中的一个共享IP,实现对互联网的访问,节约IP资源。

IPv4和IPv6的区别

  1. IPv4有4个字节,32位。IPv6有16个字节,128位。
  2. 数据报格式不同。IPv6数据报在IPv4基础上做了优化,提高了处理效率。
  3. 分段策略不同。IPv4数据报传输中可以随时分段。IPv6只能有源主机分段,不能由路由器分段。IPv6规定主机和路由器都支持576字节的数据,所以产生分段的概率就小很多。
  4. 安全性提高,IPv6支持主机鉴别机制,还有交换机密信息的保密机制。
  5. 自动配置,IPv4用户或管理员手动配置IPv4结点地址。IPv6主机自动配置一个或多个地址。

IPv4和IPv6之间的通信。

  1. 双IP层技术,适用于Internet中IPv4向IPv6过渡的前期。具有双协议的结点成为IPv4/IPv6结点。它具有两个协议的完整实现。
  2. 隧道技术,适用于IPv4向IPv6过渡的中期。两个IPv6网络中的中间网络多协议路由器收到源地址的IP数据包后,进入中间网络的域,到达中间网络另一端多协议路由器,再恢复源IP包转发至目的主机。中间网络就像一个隧道。
  3. 报头翻译技术,适用于过渡的后期。可以实现IPv4和IPv6之间的通信。向IPv4结点发送消息,路径上的一个路由器发现是IPv4的映射地址,则进行报头翻译,将IPv6报头转为IPv4报头,并发送至IPv4结点。

物理层,数据链路层,网络层,传输层,会话层,表示层,应用层。

  • 路由协议有哪些?

RIP(路由信息协议),距离矢量协议;适用于小规模网络;实现简单,开销小;传输层使用UDP协议;RIP报文为512字节;仅和邻居交换信息,且交换的是整个路由表,固定时间周期性交换;
OSPF(开放式最短路径优先),链路状态协议;基于IP层;向自治域所有路由器发送链路状态表;更新快;选择最佳路由;支持多路负载均衡。
BGP(border gateway protocol),不同AS之间的路由器交换路由信息的协议。

  • ARP协议,工作流程?

ARP协议是一种把IP地址转为MAC地址的机制。在同一子网中的两个主机,ARP协议发送一个数据包,该数据包为广播消息,子网中的所有主机都会收到这个数据包,从中取出IP,与自身IP比较,如果相同,告诉对方MAC地址,如果不同,丢弃数据包。

  • ICMP协议,原理?

ICMP,internet控制报文协议。是一个在IP主机和路由器之间传递控制消息。控制消息是网络通不通,主机是否可达,路由是否可用等网络消息。ICMP面向无连接,用于传输出错报告控制消息。ping指令检查网络通不通,Tracert指令跟踪路由均使用的是ICMP协议。

  • TCP协议和UDP协议

可靠性,TCP要求通信双方都建立连接,并有差错控制机构,因此是可靠传输。而UDP传输只有源端口,目标端口,校验码。所以相对TCP不可靠。

安全性,由于UDP没有TCP复杂的可靠性和差错控制机构,所以安全性也比较弱。

传输效率,TCP的每次传输都要建立连接,UDP不需要。所以相对于对网络实时性有要求的连接,优先使用UDP,比如视频会议就使用UDP。

传输数据,TCP有滑动窗口控制机制,每次传输数据都会被TCP分成最适合传输的数据块,称为报文段。UDP协议传输应用程序数据一致保持不变。

总之,对传输的可靠性,安全性,完整性有要求就使用TCP。强调传输性和效率时就使用UDP。

  • 停止等待协议

由于IP层传输不可靠,所以TCP协议需要保证传输层的可靠通信,所以引入了停止等待协议,以流量控制,可靠传输为目的。
工作原理就是发送方发送一个数据包后,等待接收方的确认,直到发送方到确认后,才发下一个数据包。如果发送方没有收到确认,则必须一直等待。
如果发送方一段时间后,没有收到确认,就认为之前发送的数据包已丢失,重传之前发送的数据包。
如果接收方的确认分组丢失或其它原因,收到重传分组。则丢弃这个重传分组,向发送方发送确认

  • 流量控制?网络拥塞?拥塞产生原因?控制拥塞方法?TCP拥塞控制的算法?

流量控制,发送方来控制数据发送,不要超过接收方处理数据的速率。在传输层就是控制端到端的流量,在数据链路层就是控制相邻节点间的流量。

网络拥塞就是通信子网中某一部分分组数量过多,使得网络来不及处理,导致整个网络性能的下降,严重时会导致死锁状态。

产生拥塞原因,多条流入的线路有分组到达,并且使用同一输出线路,如果路由器没有足够的内存来存放所有分组,那么有的分组就会丢失,产生拥塞。路由器的处理速度太慢,难以完成必要的处理工作(缓冲区排队,更新路由表),即使有多余的线路,分组也要进入队列,产生拥塞。

防止拥塞在传输层,网络层,数据链路层都有解决方法。

传输层采用重传策略,乱序缓存策略,确认策略,流控制策略,确定超时策略。网络层使用分组排队和服务策略,分组丢弃策略,路由算法和分组生存管理。数据链路层采用重传策略,确认策略,流控制策略,乱序缓存策略。

TCP拥塞控制方法,慢开始,拥塞避免,快重传,快恢复。 

  • 入侵检测过程?

信息收集,网络流量的内容,用户连接活动的状态和行为。信号分析,模式匹配,统计分析和完整性分析。实时记录,报警和有限度的反击。

  • 同步通信和异步通信?

同步通信,一种连续串行传送字符数据的通信方式。一次通信只传送一帧信息,并且以同步的时钟节拍发送数据信号。同步通信的优点,传输速率高,传输量大。缺点发送时钟和接收时钟严格保持同步。

异步通信,以字符数据或字节为单位组成字符帧传送,每个字符数据以相同的帧格式传送。异步通信的优点,可远距离传输。缺点,传输速率慢,传输量小。

  • TCP,UDP联系,区别?

TCP协议的特点
1.面向字节流,把应用程序传下来的数据看成是一连串无结构的字节流。
2.全双工通信,发送缓存,准备发送的数据和已发送的数据但没有收到确认的数据。
接收缓存,按序到达的数据但没有被应用程序读取的数据和不按序到达的数据。
3.TCP提供可靠交付的服务,无差错,不丢失,不重复,按序到达。
4.每个TCP连接只能有两个端点,每个TCP连接是点对点。
5.TCP是面向连接的传输层协议。
TCP的三次握手过程
序列号seq,占四字节,用来标记数据段的顺序。TCP把连接中发送的所有数据字节都标上一个序号,第一个字节的序号由本地随机产生。给字节都编上序号,也给每一个报文段都指派一个序号,seq序列号就是这个报文段第一个字节的数据编号。
确认号ack,占四字节,期待收到对方下一个报文段的第一个数据字节序号。序列号指的是报文段第一个数据字节的序号,确认号指的是期望收到下一个数据字节的序号,因此,当前报文段最后一个字节的编号+1即是确认号。
ACK,占一位,当ACK=1时,确认号才有效,ACK=0,确认号无效。
SYN,建立连接时的同步序号。当SYN=1,ACK=0,表示这是一个连接请求报文段,如果同意连接,则响应字段返回SYN=1,ACK=1。SYN这个标志位只有在TCP建立连接时置为1,握手完成时置0。
FIN,释放连接。当FIN=1时,此报文段的发送方数据已经发送完毕,要求释放连接。截屏

第一次握手,客户端发送SYN=1至服务器,请求连接。序列号seq=x。
第二次握手,服务器响应客户端的请求。发送SYN=1,ACK=1同意连接。发送ack=x+1回应客户端seq=1的序列号。再发送服务器的seq=y。
第三次握手,客户端发送ACK=1,ack=y+1,表示对服务器序列号的确认。再发送紧接第一次握手时的序列号的下一个数据字节编号seq=x+1。

TCP的四次挥手
截屏 1

第一次挥手,客户端主动关闭,发送FIN=1,seq=u,发出连接释放报文。客户端进入终止等待1状态。
第二次挥手,服务器收到客户端释放连接,发送ACK=1,ack=u+1的确认释放请求,再发送自己的seq=v。此时服务器向上通知应用程序,客户端已经没有数据要发送了,出于终止等待状态。但是服务器要发送数据,客户端还需要接收。此时,服务器出于关闭等待状态。客户端在收到服务器的确认关闭请求后,就进入终止等待状态2。
第三次挥手,服务器将最后的数据发送完后,就向客户端发送释放请求,FIN=1,ACK=1,ack=u+1。由于在半关闭状态,服务器很可能又发送了一些数据seq=w。此时服务器进入最后确认状态。
第四次挥手,客户端收到服务器连接释放报文后,做出响应,ACK=1,ack=w+1。同时发送自己数据序列号seq=u+1。此时客户端进入时间等待状态,TCP连接还没有撤销,必须等待2MSL。服务器收到客户端的释放确认后,立刻释放TCP连接。

  • 为什么连接需要三次握手,关闭需要四次挥手?

当服务器收到客户端的SYN连接请求后,会立刻做出SYN,ACK的响应。告诉客户端是否同意连接请求。而当客户端向服务器发送FIN释放请求时,服务器并不会立刻关闭socket,只能发送一个ACK确认报文。告诉客户端,你发送的FIN我收到了,但是要等到我把所有报文都发送完了,才能够发送FIN。因此连接需要三次,关闭需要四次。

  • 为什么不能是两次握手?

三次握手完成两个重要的功能。既要使得双方都做好发送数据的准备,也要双方协商好初始序列号,这个序列号就是在握手阶段发送和确认。
两次握手有可能发生死锁。客户端发送连接请求至服务器,服务器收到请求后,发送确认分组,但是确认分组在传输过程中丢失,造成客户端没有收到确认报文,此时,客户端不知道服务器是否做好准备互发数据,甚至怀疑服务器是否收到连接请求。导致服务器发送的任何分组都被客户端忽略,只等确认报文,而服务器在发出的分组超时后,又会重发同样的分组,这就造成了死锁。 

  • 为什么客户端时间等待需要2MSL?

当客户端发出ACK确认后,并不会立刻关闭TCP连接。有可能ACK会丢失,那么等待时间就是来重发ACK报文。如果ACK丢失,服务器会重发FIN报文。MSL就是一个片段在网络中的最大存活时间。2MSL就是一个发送和一个回复的最大时间,如果直到2MSL,客户端都没有收到FIN,就表示ACK被成功接收,结束TCP连接。 

  • 应用层协议?

DNS(域名解析),计算机域名系统,域名服务器保存有该网络中所有主机的域名和对应的IP地址,并且能够把域名转为IP地址。
DHCP(动态主机设置协议),是一个局域网的协议,使用UDP协议工作。可以给内部网络或网络服务供应商自动分配IP地址。可以给用户或内部网络管理员提供对所有计算机做中央管理的手段。
FTP(文件传输协议),FTP客户机可以发送命令到服务器来下载文件,上传文件,创建或修改服务器上的目录。
TELNET(远程终端协议),可以将用户的击键传到远程主机,也可以将远程主机的输出传到用户屏幕。

  • HTTP协议中的持久连接和非持久连接区别?

非持久连接,客户端请求一个HTML页面和10个JPG图片,就需要11个TCP连接。服务器每发送一个对象时,就断开连接,没有持续到可用于传输其它对象。说明每个TCP连接都只能传输一个响应和一个消息。

持久连接,同一个TCP连接可以接受多个HTTP请求,在响应一个请求消息后,可以继续响应其它请求。

posted @ 2020-03-10 12:03  岐岐卡卡西  阅读(669)  评论(0编辑  收藏  举报