免费智能真题库 > 历年试卷 > 软件设计师 > 2023年上半年 软件设计师 上午试卷 综合知识
  第7题      
  知识点:   TCP/IP协议簇   消息   OSI参考模型   加密   应用层
  关键词:   OSI参考模型   加密   消息   应用层   OS   OSI        章/节:   计算机网络知识       

 
OSI参考模型中,负责对应用层消息进行压缩、加密功能的层次为()。
 
 
  A.  传输层
 
  B.  会话层
 
  C.  表示层
 
  D.  应用层
 
 
 

 
  第31题    2022年上半年  
   45%
在OSI参考模型中,()在物理线路上提供可靠的数据传输。
  第32题    2022年上半年  
   45%
在TCP/IP协议栈中,远程登录采用的协议为()。
  第11题    2021年上半年  
   52%
通常使用( )为IP数据报文进行加密。
   知识点讲解    
   · TCP/IP协议簇    · 消息    · OSI参考模型    · 加密    · 应用层
 
       TCP/IP协议簇
        TCP/IP作为Internet的核心协议,被广泛应用于局域网和广域网中,目前已成为事实上的国际标准。TCP/IP包含许多重要的基本特性,这些特性主要表现在5个方面,即逻辑编址、路由选择、域名解析、错误检测与流量控制以及对应用程序的支持等。
               TCP/IP分层模型
               (1)应用层。处在分层模型的最高层,用户调用应用程序来访问TCP/IP互联网络,以享受网络上提供的各种服务。
               (2)传输层。提供应用程序之间的通信服务。这种通信又叫端到端的通信。传输层既要系统地管理数据信息的流动,还要提供可靠的传输服务,以确保数据准确而有序地到达目的地。
               (3)网际层。又称为IP层,主要处理机器之间的通信问题。它接受传输层请求,传送某个具有目的地址信息的分组。该层主要完成:把分组封装到IP数据报中,填入数据报的首部,使用路由算法选择;处理接收到的数据报;适时发出ICMP的差错和控制报文,并处理收到的ICMP报文。
               (4)网络接口层。处在TCP/IP的最底层,主要负责管理为物理网络准备数据所需的全部服务程序和功能。该层包含设备驱动程序,也可能是一个复杂的使用自己的数据链路协议的子系统。
               网络接口层协议
               TCP/IP不包含具体的物理层和数据链路层,只定义了网络接口层作为物理层与网络层的接口规范。这个物理层可以是广域网,如X.25公用数据网;可以是局域网,如Ethernet、Token-Ring和FDDI等。任何物理网络只要按照这个接口规范开发网络接口驱动程序,都能够与TCP/IP集成起来。网络接口层处在TCP/IP的最底层,主要负责管理为物理网络准备数据所需的全部服务程序和功能。
               网际层协议——IP
               IP所提供的服务通常被认为是无连接的和不可靠的。事实上,在网络性能良好的情况下,IP传送的数据能够完好无损地到达目的地。
               IP的主要功能包括将上层数据(如TCP、UDP数据)或同层的其他数据(如ICMP数据)封装到IP数据报中;将IP数据报传送到最终目的地;为了使数据能够在链路层上进行传输,对数据进行分段;确定数据报到达其他网络中的目的地的路径。
               ARP和RARP
               地址解析协议(Address Resolution Protocol,ARP)及反地址解析协议(RARP)是驻留在网际层中的另一个重要协议。ARP的作用是将IP地址转换为物理地址,RARP的作用是将物理地址转换为IP地址。
               网际层协议——ICMP
               Internet控制信息协议(Internet Control Message Protocol,ICMP)是网际层的另一个比较重要的协议。由于IP是一种尽力传送的通信协议,即传送的数据报可能丢失、重复、延迟或乱序,因此IP需要一种避免差错并在发生差错时报告的机制。ICMP就是一个专门用于发送差错报文的协议。ICMP定义了5种差错报文(源抑制、超时、目的不可达、重定向和要求分段)和4种信息报文(回应请求、回应应答、地址屏蔽码请求和地址屏蔽码应答)。IP在需要发送一个差错报文时要使用ICMP,而ICMP也是利用IP来传送报文的。ICMP是让IP更加稳固、有效的一种协议,它使得IP传送机制变得更加可靠。而且利用ICMP还可以用于测试因特网,以得到一些有用的网络维护和排错的信息。例如,著名的ping工具就是利用ICMP报文进行目标是否可达测试。
               传输层协议——TCP
               TCP(Transmission Control Protocol,传输控制协议)是整个TCP/IP协议簇中最重要的协议之一。它在IP提供的不可靠数据服务的基础上,为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。
               TCP是如何实现可靠性的?最主要和最重要的是TCP采用了一个叫重发(Retransmission)的技术。具体来说,在TCP传输过程中,发送方启动一个定时器,然后将数据包发出,当接收方收到这个信息就给发送方一个确认(Acknowledgement)信息。而如果发送方在定时器到点之前没收到这个确认信息,就重新发送这个数据包。
               传输层协议——UDP
               用户数据报协议(User Datagram Protocol,UDP)是一种不可靠的、无连接的协议,可以保证应用程序进程间的通信。与同样处在传输层的面向连接的TCP相比较,UDP是一种无连接的协议,它的错误检测功能要弱得多。可以这样说,TCP有助于提高可靠性;而UDP则有助于提高传输的高速率性。
               应用层协议
               随着计算机网络的广泛应用,人们也已经有了许多基本的、相同的应用需求。为了让不同平台的计算机能够通过计算机网络获得一些基本的、相同的服务,也就应运而生了一系列应用级的标准,实现这些应用标准的专用协议称为应用级协议,相对于OSI参考模型来说,它们处于较高的层次结构,所以也称为高层协议。应用层的协议有NFS、Telnet、SMTP、DNS、SNMP和FTP等。
 
       消息
        对象之间进行通信的一种构造叫做消息。但一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息,接收到消息的对象经过解释,然后予以响应,这种通信机制叫做消息传递。发送消息的对象不需要知道接收消息的对象如何对请求予以响应。
 
       OSI参考模型
        OSI/RM最初用来作为开发网络通信协议族的一个工业参考标准,是各个层上使用的协议国际化标准。严格遵守OSI模型,不同的网络技术之间可以轻而易举地实现互操作。整个OSI/RM模型共分7层,从下往上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
               物理层
               物理层的所有协议就是人为规定了不同种类的传输设备、传输媒介如何将数字信号从一端传送到另一端,而不管传送的是什么数据。它是完全面向硬件的,通过一系列协议定义了通信设备的机械、电气、功能和过程特征。
               (1)机械特征:规定线缆与网络接口卡的连接头的形状、几何尺寸、引脚线数、引线排列方式和锁定装置等一系列外形特征。
               (2)电气特征:规定了在传输过程中多少伏特的电压代表1,多少伏特代表0。
               (3)功能特征:规定了连接双方每个连接线的作用,即哪些是用于传输数据的数据线,哪些是用于传输控制信息的控制线,哪些是用于协调通信的定时线,、哪些是用于接地的地线。
               (4)过程特征:具体规定了通信双方的通信步骤。
               数据链路层
               数据链路层在物理层已能将信号发送到通信链路中的基础上,负责建立一条可靠的数据传输通道,完成相邻结点之间有效地传送数据的任务。正在通信的两个站点在某一特定时刻,一个发送数据,一个接收数据。数据链路层通过一系列协议实现以下功能。
               (1)封装成帧。把数据组成一定大小的数据块(称之为帧),然后以帧为单位发送、接收和校验数据。
               (2)流量控制。根据接收站的接收情况,发送数据的一方实时地进行传输速率控制,以免出现发送数据过快,接收方来不及处理而丢失数据的情况。
               (3)差错控制。当接收到数据帧后,接收数据的一方对其进行检验,如果发现错误,则通知发送方重传。
               (4)传输管理。在发送端与接收端通过某种特定形式的对话来建立、维护和终止一批数据的传输过程,以此对数据链路进行管理。
               就发送端而言,数据链路层将来自上层的数据按一定规则转化为比特流送到物理层进行处理;就接收端而言,它通过数据链路层将来自物理层的比特流合并成完整的数据帧供上层使用。最典型的数据链路层协议是IEEE开发的802系列规范,在该系列规范中将数据链路层分成了两个子层:逻辑链路控制层(LLC)和介质访问控制层(MAC)。
               (1)LLC:负责建立和维护两台通信设备之间的逻辑通信链路。
               (2)MAC:就像交通指挥中心控制汽车通行的车道一样,控制多个信息通道复用一个物理介质。MAC提供对网卡的共享访问与网卡的直接通信。网卡在出厂前会被分配给唯一的由12位十六进制数表示的MAC地址,MAC地址可提供给LLC来建立同一个局域网中两台设备之间的逻辑链路。
               网络层
               网络层用于从发送端向接收端传送分组,负责确保信息到达预定的目标。看到这里,也许读者会觉得不可思议:数据链路层不是已经保证了相邻结点之间无差错传送数据帧了吗?那么网络层到底有什么用呢?实际上它存在的主要目的就是解决以下问题。
               (1)通信双方并不相邻。在计算机网络中,通信双方可能是相互邻接的,但也可能并不是邻接的,这样当一个数据分组从发送端发送到接收端时,就可能要经过多个其他网络结点,这些结点暂时存储“路过”的数据分组,再根据网络的“交通状况”选择下一个结点将数据分组发出去,直到发送到接收方为止。
               (2)正如前面所阐述的一样,由于OSI参考模型是出现在许多网络协议之后的,它就必须为使用这些已经存在的网络协议的计算机网络之间的相互通信做出贡献。事实上,网络层的一些协议解决了这样的异构网络的互联问题。
               工作在网络层上的协议主要有IP协议和IPX协议。
               传输层
               传输层实现发送端和接收端的端到端的数据分组传送,负责保证实现数据包无差错、按顺序、无丢失和无冗余地传输。在传输层上所执行的任务包括检错和纠错。它的出现是为了更加有效地利用网络层所提供的服务。它的作用主要体现在以下两方面。
               (1)将一个较长的数据分成几个小数据包发送。实际在网络中传递的每个数据帧都是有一定大小限制的。假设如果要传送一个字串“123456789”,它太长了,网络服务程序一次只能传送一个数字(当然在实际中不可能这么小,这里仅是为了方便讲解所做的假设),因此网络就需要将其分成9次来传递。就发送端而言,当然是从1传到9,但是由于每个数据分组传输的路径不会完全相同(因为它是要根据当时的网络“交通状况”而选择路径的),先传送出去的包不一定会先被收到,因此接收端所收到的数据的排列顺序是与发送的顺序不同的。而传输层的协议就给每一个数据组加入排列组合的记号,以便接收端能根据这些记号将它们“重组”成原来的顺序。
               (2)解决通信双方不只有一个数据连接的问题。这个问题从字面上可能不容易理解,来看一个例子,比如用一台计算机与另一台计算机连接复制数据的同时,又通过一些交谈程序进行对话。这个时候,复制的数据与对话的内容是同时到达的,传输的协议负责将它们分开,分别传给相应的程序端口,这也就是端到端的通信。
               工作在传输层的协议有TCP协议、UDP协议和SPX协议。
               会话层
               会话层主要负责管理远程用户或进程间的通信。该层提供如名字查找和安全验证等服务,允许两个程序能够相互识别并建立和维护通信连接。会话层还提供数据同步和检查点功能,这样当网络失效时,会对失效后的数据进行重发。在OSI参考模型中,会话层的规范具体包括通信控制、检查点设置、重建中断的传输链路、名字查找和安全验证服务。
               表示层
               表示层以下的各层只关心从源地到目的地可靠地传输数据,而表示层则关心的是所传送信息的语义与语法。它负责将收到的数据转换为计算机内的表示方法或特定程序的表示方法。也就是说,它负责通信协议的转换、数据的翻译、数据的加密和字符的转换等工作。在OSI参考模型中表示层的规范具体包括数据编码方式的约定和本地句法的转换。各种表示数据的格式的协议也属于表示层,例如MPEG、JPEG等。
               应用层
               应用层就是直接提供服务给使用者的应用软件的层,比如电子邮件和在线交谈程序都属于应用层的范畴。应用层可实现网络中一台计算机上的应用程序与另一台计算机上的应用程序之间的通信,就像在同一台计算机上操作一样。在OSI参考模型中应用层的规范具体包括各类应用过程的接口和用户接口。
               模型的工作模式
               当接收数据时,数据是自下而上传输的;当发送数据时,数据是自上而下传输的。在网络数据通信的过程中,每一层要完成特定的任务。当传输数据的时候,每一层接收上一层格式化后的数据,对数据进行操作,然后把它传给下一层。当接收数据的时候,每一层接收下一层传过来的数据,对数据进行解包,然后把它传给上一层。这就实现了对等层之间的逻辑通信。OSI模型并未确切描述用于各层的协议和服务,它仅仅告诉我们每一层该做些什么。
               为了便于读者复习,本书对OSI参考模型各层的主要功能进行总结和归纳,如下表所示。
               
               七层的主要功能
               
 
       加密
               保密与加密
               保密就是保证敏感信息不被非授权的人知道。加密是指通过将信息进行编码而使得侵入者不能够阅读或理解的方法,目的是保护数据和信息。解密是将加密的过程反过来,即将编码信息转化为原来的形式。古时候的人就已经发明了密码技术,而现今的密码技术已经从外交和军事领域走向了公开,并结合了数学、计算机科学、电子与通信等诸多学科而成为了一门交叉学科。现今的密码技术不仅具有保证信息机密性的信息加密功能,而且还具有数字签名、身份验证、秘密分存、系统安全等功能,来鉴别信息的来源以防止信息被篡改、伪造和假冒,保证信息的完整性和确定性。
               加密与解密机制
               加密的基本过程包括对原来的可读信息(称为明文或平文)进行翻译,译成的代码称为密码或密文,加密算法中使用的参数称为加密密钥。密文经解密算法作用后形成明文,解密算法也有一个密钥,这两个密钥可以相同也可以不相同。信息编码的和解码方法可以很简单也可以很复杂,需要一些加密算法和解密算法来完成。
               从破译者的角度来看,密码分析所面对的问题有三种主要的变型:①“只有密文”问题(仅有密文而无明文);②“已知明文”问题(已有了一批相匹配的明文与密文);③“选择明文”(能够加密自己所选的明文)。如果密码系统仅能经得起第一种类型的攻击,那么它还不能算是真正的安全,因为破译者完全可能从统计学的角度与一般的通信规律中猜测出一部分的明文,而得到一些相匹配的明文与密文,进而全部解密。因此,真正安全的密码机制应使破译者即使拥有了一些匹配的明文与密文也无法破译其他的密文。
               如果加密算法是可能公开的,那么真正的秘密就在于密钥了,密钥长度越长,密钥空间就越大,破译密钥所花的时间就越长,破译的可能性就越小。所以应该采用尽量长的密钥,并对密钥进行保密和实施密钥管理。
               国家明确规定严格禁止直接使用国外的密码算法和安全产品,原因主要有两点:①国外禁止出口密码算法和产品,目前所出口的密码算法都有破译手段,②国外的算法和产品中可能存在“后门”,要防止其在关键时刻危害我国安全。
               密码算法
               密码技术用来进行鉴别和保密,选择一个强壮的加密算法是至关重要的。密码算法一般分为传统密码算法(又称为对称密码算法)和公开密钥密码算法(又称为非对称密码算法)两类,对称密钥密码技术要求加密解密双方拥有相同的密钥。而非对称密钥密码技术是加密解密双方拥有不相同的密钥。
               对称密钥密码体制从加密模式上可分为序列密码和分组密码两大类(这两种体制之间还有许多中间类型)。
               序列密码是军事和外交场合中主要使用的一种密码技术。其主要原理是:通过有限状态机产生性能优良的伪随机序列,使用该序列将信息流逐比特加密从而得到密文序列。可以看出,序列密码算法的安全强度由它产生的伪随机序列的好坏而决定。分组密码的工作方式是将明文分成固定长度的组(如64比特一组),对每一组明文用同一个密钥和同一种算法来加密,输出的密文也是固定长度的。在序列密码体制中,密文不仅与最初给定的密码算法和密钥有关,同时也是被处理的数据段在明文中所处的位置的函数;而在分组密码体制中,经过加密所得到的密文仅与给定的密码算法和密钥有关,而与被处理的明数据段在整个明文中所处的位置无关。
               不同于传统的对称密钥密码体制,非对称密码算法要求密钥成对出现,一个为加密密钥(可以公开),另一个为解密密钥(用户要保护好),并且不可能从其中一个推导出另一个。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。另外,公钥加密也用来对专用密钥进行加密。
               公钥算法不需要联机密钥服务器,只在通信双方之间传送专用密钥,而用专用密钥来对实际传输的数据加密解密。密钥分配协议简单,所以极大简化了密钥管理,但公共密钥方案较保密密钥方案处理速度慢,因此,通常把公共密钥与专用密钥技术结合起来实现最佳性能。
               密钥及密钥管理
               密钥是密码算法中的可变参数。有时候密码算法是公开的,而密钥是保密的,而密码分析者通常通过获得密钥来破译密码体制。也就是说,密码体制的安全性建立在对密钥的依赖上。所以,保守密钥秘密是非常重要的。
               密钥管理一般包括以下8个内容。
               (1)产生密钥:密钥由随机数生成器产生,并且应该有专门的密钥管理部门或授权人员负责密钥的产生和检验。
               (2)分发密钥:密钥的分发可以采取人工、自动或者人工与自动相结合的方式。加密设备应当使用经过认证的密钥分发技术。
               (3)输入和输出密钥:密钥的输入和输出应当经由合法的密钥管理设备进行。人工分发的密钥可以用明文形式输入和输出,并将密钥分段处理;电子形式分发的密钥应以加密的形式输入和输出。输入密钥时不应显示明文密钥。
               (4)更换密钥:密钥的更换可以由人工或自动方式按照密钥输入和密钥输出的要求来实现。
               (5)存储密钥:密钥在加密设备内采用明文形式存储,但是不能被任何外部设备访问。
               (6)保存和备份密钥:密钥应当尽量分段保存,可以分成两部分并且保存在不同的地方,例如一部分存储在保密设备中,另一部分存储在IC卡上。密钥的备份也应当注意安全并且要加密保存。
               (7)密钥的寿命:密钥不可以无限期使用,密钥使用得越久风险也就越大。密钥应当定期更换。
               (8)销毁密钥:加密设备应能对设备内的所有明文密钥和其他没受到保护的重要保护参数清零。
 
       应用层
        TCP/IP的应用层大致对应于OSI模型的应用层和表示层,应用程序通过本层协议利用网络。这些协议主要有FTP、TFTP、HTTP、SMTP、DHCP、NFS、Telnet、DNS和SNMP等。
        文件传输协议(File Transport Protocol,FTP)是网络上两台计算机传送文件的协议,是通过Internet把文件从客户端复制到服务器上的一种途径。
        简单文件传输协议(Trivial File Transfer Protocol,TFTP)是用来在客户端与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。TFTP协议设计的时候是进行小文件传输的,因此它不具备通常的FTP的许多功能,它只能从文件服务器上获得或写入文件,不能列出目录,也不进行认证。它传输8位数据。
        超文本传输协议(Hypertext Transfer Protocol,HTTP)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示等。
        简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)是一种提供可靠且有效的电子邮件传输的协议。SMTP是建模在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。
        动态主机配置协议(Dynamic Host Configuration Protocol,DHCP)分为两个部分,一个是服务器端,另一个是客户端。所有的IP网络设定数据都由DHCP服务器集中管理,并负责处理客户端的DHCP要求;而客户端则会使用从服务器分配下来的IP环境数据。DHCP透过“租约”的概念,有效且动态地分配客户端的TCP/IP设定。DHCP分配的IP地址可以分为三种方式,分别是固定分配、动态分配和自动分配。
        网络文件系统(Net File System,NFS)是FreeBSD支持的文件系统中的一种,允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
        远程登录协议(Telnet)是登录和仿真程序,它的基本功能是允许用户登录进入远程主机系统。以前,Telnet是一个将所有用户输入送到远方主机进行处理的简单的终端程序。它的一些较新的版本在本地执行更多的处理,于是可以提供更好的响应,并且减少了通过链路发送到远程主机的信息数量。
        域名系统(Domain Name System,DNS)用于命名组织到域层次结构中的计算机和网络服务。在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS就是进行域名解析的服务器。DNS通过对用户友好的名称查找计算机和服务。当用户在应用程序中输入DNS名称时,DNS服务可以将此名称解析为与之相关的其他信息,如IP地址。
        简单网络管理协议(Simple Network Management Protocol,SNMP)是为了解决Internet上的路由器管理问题而提出的,它可以在IP、IPX、AppleTalk、OSI及其他用到的传输协议上被使用。SNMP事实上指一系列网络管理规范的集合,包括协议本身、数据结构的定义和一些相关概念。目前SNMP已成为网络管理领域中事实上的工业标准,并被广泛支持和应用,大多数网络管理系统和平台都是基于SNMP的。
   题号导航      2023年上半年 软件设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第7题    在手机中做本题