互联网OSI七层模型详细解析(三)

让我们接着上一篇继续讨论OSI模型的第5层、第6层和第7层。网络上很少有资源能够真正帮你区分OSI模型的最后三层:会话层、表示层和应用层,因为另一个较为流行的计算机网络模型TCP/IP协议已经将这三层组合为一个整体的应用层结构。

要理解OSI会话层,你必须得知道这个模型是早在个人计算机或笔记本电脑问世以前就已经创建了。那时,计算机的运行是在被称为大型计算机的大型机器上完成的,这些机器通常很大,占据了整个房间。后来人们使用被称为哑终端(字符终端)的设备来访问这些巨大主机上的计算资源(CPU资源、内存资源、磁盘资源、网络资源)。哑终端实际上只是插入这些主机的显示器和键盘,并不会执行实际的数据处理。所有的实际计算都是在大型机上完成的。这也是Linux创建的模型,也是Linux经常被描述为多用户操作系统的原因。在任何情况下,所有的计算都是在这些大型主机上完成的,用户通过哑终端连接到这些大型主机上,它们的另一端又连接着其它的大型主机,而其它的大型主机另一端又是与哑终端相连着的用户组。     

说到这里我们就可以定义会话层主要解决的问题了。如图示,左边的蓝色用户正在通过该大型机与右边也连接着大型主机的蓝色用户进行对话,与此同时还有两个绿色用户也在使用这两个主机相互对话。好吧,如果所有的数据都需要在这两个相连的大型主机上处理和发送,那么从左侧主机发送到右侧主机的数据包将具有相同的第二层地址(-MAC地址),相同的第三层地址(-IP地址),甚至可能具有相同的第四层地址(-端口号),这就引出了一个问题,如何将这两个蓝色用户之间的对话从这两个绿色用户那里保持分离呢?这就是会话层发挥作用的地方。

  • OSI会话层的作用:

会话层是用于区分用户会话的,它允许网络协议独立于OSI模型的第二层、第三层或第四层地址来识别用户。其实第五层也使用了一些被称之为第五层的组件。假设这两个蓝色用户在没有使用大型主机的情况下需要进行交谈,实际上右边蓝色用户是xxx site.com的网络服务器,而左边蓝色用户只是使用手机的人。

该移动电话当前连接的是此用户家中的Wi-Fi,并登录到了网站xxx.site.com。但是如果这个用户决定去咖啡店并连接到那里的Wi-Fi网络时又会是怎样的情形呢?因为咖啡店的网络不同于家中的网络,是一个新的IP地址,因此很多信息也会发生变化。如果网站需要使用OSI模型的第一层到第四层的信息来识别这个用户,那么该用户将不得不重新登录到该网站。因为网站每次连接到新的Wi-Fi网络时,都会获得一个新的IP地址。

由于我们是使用HTTP协议来访问该网站的,HTTP中有一种名为HTTP cookie的功能。这些cookie只是一些任意文本字符串,用于存储由服务器创建的用户特定信息。当用户登录到网站时,服务器会生成这些cookie中的一个并将其发送给用户,然后该cookie就会与用户信息联系在一起。所以你可以看到HTTP cookie是OSI模型会话层协议的最好例子,它们允许网络独立于数据链路层、网络层和传输层地址来识别用户。这就是我前面提到的第五层组件。

  • 表示层提供的功能

接下来是OSI模型第六层-表示层。我们先模拟一个数据包到达xxx.site.com的web服务器的场景。前面我们说过每个数据包实际上只不过是一系列的1和0。在OSI模型前五层的协调工作下,我们知道这个数据包会被成功传递到web服务器,传递到正确的Mac地址、正确的IP地址,正确的端口号以及启动正确的用户会话,那么OSI第六层负责什么功能?是告诉我们如何转换这些1和0吗?

事实上我们可以采用不同的计算机数据表示方法来解释这些1和0。例如,我们是不是可以按照Base64的编码规则将这些1和0划分为6位一组的编码,如此就意味着这些6位一组的编码会变成一组新的64字符集。

或者我们是不是应该以4位为一组来解释那些1和0,也就是十六进制,每组由四个1和0组成,代表着一个新的十六进制字符:

或者我们应该将这些1和0解释为长数字或整数,如果我们将所有这些1和0解释为32位随机整数,这些数字的变化将会庞大到数不胜数。

这就是表示层的功能,它是要告诉我们如何处理这些1和0。之前的会话层我们是以HTTP为例的,在表示层我们仍会使用HTTP协议来作说明。

HTTP协议使用的是扩展ASCII码对照表,扩充ASCII码将所有的1和0分组为八个比特的集合(也就是8位码),并将每一组8位码解释为不同的ASE字符,将每一组不同的1和0组合转换为字母G、字母E以及字母T。以此类推,这就是表示层提供的服务。它告诉我们如何处理通过OSI模型成功接收的比特1 和0并将其交付给正确的用户会话(用户会话是指用户与系统进行交互的一系列对话过程)。

  • OSI应用层有何作用?

如果表示层的主要功能是告诉我们如何翻译这些已经接收到的1和0, 那么第七层-应用层是要告诉我们如何处理这些被翻译的字符,或者说是第七层实际上定义了应用程序命令。

前三个字节的1和0分别被转变成字母G、E和T,HTTP中的get命令是用于获取特定网页的命令,是一种网页请求的方式。实际上是HTTP request的前8个字符使用主机packet.net中的http P 1.1 请求访问简单html页面。这就是OSI模型第七层应用层的功能。

在本节中,我们一直使用HTTP作为示例协议。为了实现会话管理目标,HTTP使用了HTTP cookie,无论你使用的是ipv4还是IPv6,HTTP cookie的工作原理都是一样的。对于第六层,HTTP使用的是扩展的询问编码;对于第七层,HTTP有自己的一组应用程序命令。当然这只是教你了解计算机网络是如何工作的,网络协议也不只有HTTP,还有其它协议在OSI模型上工作。例如FTP协议。这些协议中的每一个都可以以任何对特定应用程序最有意义的方式实现第5层、第6层和第7层的功能。

这就是为什么TCP/IP模型将这些层合并为一个聚合应用程序层的原因,因为应用程序的每个协议都将以自己的方式实现这三个目标, 因此才将它们组合为一个有益的应用层。所以最终无论你使用的是七层OSI模型、五层TCPIP模型,还是有点传统的四层TCP/IP模式,它们都是帮你理解计算机网络的一种方式。

互联网OSI七层模型详细解析(二)

为了进一步了解数据包是如何在互联网上移动的以及要具备的条件。我们会以实用性为导向继续讨论OSI模型。在上一篇中,我们揭示了OSI物理层、数据链路层和网络层是如何为网络的总体目标(即数据的传输)做出贡献的,也讨论了第一层物理层负责的是跨线传输比特1和比特0。还解释了如果a1主机有一些数据需要发送到e8主机, 那么就需要从添加第3层报头(网络层报头)开始,来完成数据从一端到另一端的传输,另外还需要添加新的第2层报头(数据链路层报头)来完成数据的逐跳传递。现在我们将继续讨论OSI模型的第4层-传输层。

  • OSI传输层作用

传输层– OSI模型传输层的总体目标是完成服务到服务的交付。我们来举例说明一下,比如这里有一台计算机,它有一个IP地址和一个MAC地址,这时你打开了一个网页浏览器正在浏览网页,还在运行某个聊天程序,如slack聊天群组、discord或IRC,以及一些在线游戏。

它意味着每一个程序都需要通过网络发送和接收数据,而所有这些数据都将被指定给第三层网络层报头来完成端到端的传递,以及第二层数据链路层报头来完成节点与节点之间的通信。那么电脑是如何确保正确的程序接收到正确的数据包呢?这就是OSI第4层发挥作用的地方。

OSI第四层的作用:用于区分数据流。OSI传输层将接收所有传入的数据,并确保正确的程序能接收正确的数据。就像第三层(网络层)有一个寻址技术(IP地址)来进行端到端传输,第二层(数据链路层)有一种寻址方式(MAC地址)来完成节点到节点的传输,第四层也将使用自己的寻址方式来实现服务到服务的传输方式。

OSI传输层的寻址方式涉及的是端口。现在有两组端口TCP和UDP。TCP和UDP是区分数据流的两种不同策略。TCP提供可靠性服务,而UDP提供高效性服务,TCP和UDP协议都是实现传输层目标的不同策略。TCP与UDP的工作原理:每一个在网络上预期接收或发送数据的程序都将与指定的端口号相关联。当数据到达线路时,除了我们已经讨论过的网络层报头和数据链路层报头之外,还需要封装传输层报头。

  • 传输层报头封装的是什么?

传输层报头将指示哪个特定程序应该接收哪种数据,传输层主要用于确保正确的应用程序能接收正确的比特1和比特0。这是OSI第四层如何区分数据流的高级概述。让我们更详细地举例分析一下,如下图所示有一个客户端和三个服务器,正如之前所讨论的,服务器只不过是一台运行软件的计算机,但它知道如何响应特定的请求。服务器上的每一个软件都被分配了与底层网络应用程序相关的预定义的已知的端口号。

假设bank.com正在使用https侦听加密的web访问,被分配的是TCP端口443(HTTPS协议的默认端口号),site.com的服务器正在使用http响应一般web请求,被分配在TCP协议的默认端口80上侦听。该聊天服务器正在运行IRC (internet relay chat) ,IRC代表互联网中继聊天,它是运行在UDP端口6667上的在线聊天应用程序。

当客户端向这些服务器发出请求时,它不仅向IP地址发出请求,还会向相关的指定端口发出请求。从客户端发出的每个请求,都会选择一个随机端口号作为连接的源端口。因此,从客户端到site.com的连接包含了源端口号9999,这是客户端为这个特定连接随机选择的端口,该数据包的目的地指向site.com网站的IP地址,以及http应用程序的TCP端口80。

请记住,源IP地址和目的地IP地址将封装于数据包的第三层报头中,而源端口和目的地端口将封装于数据包的第四层报头中。实际上这个随机选择的源端口非常重要,它是客户端用于侦听并对原始请求做出响应的端口,这意味着当服务器响应web请求时,会发出一个包含发出端的源IP地址&端口号以及接收方的IP地址&端口号的响应包,目标端口9999与客户端最初发出的请求包上随机选择的端口相同。由此可以看出对于网络上所有的连接,都要有一个源端口和一个目标端口参与其中。

目的端口号通常由使用中的应用程序管理,源端口号则由客户端随机选择,因此从客户端到site.com的连接具有以下属性:它是从客户端的源IP地址1.1.1.1和源端口9999到服务器端的目的IP地址3.3.3.3和目标端口80的TCP连接。请注意,在原始数据包中,SRC 1.1.1.1 :9999是源地址和端口,DST 3.3.3.3 :80是目的地址和端口。但在响应包中,情况正好相反,SRC 3.3.3.3 :80是源数据,DST 1.1.1.1 :9999是目的数据。这个过程发生在与客户端产生的每次连接,也就是客户端每次的数据传输都会选择一个新的随机的源端口(比如图例的8888和7777)。这样当所有这些服务器响应时,从端口8888上返回的任何内容都将被提供给网络浏览器,从端口7777上返回的内容都将提供给IRC客户端。

通过这种方式,数据流之间会保持相互隔离,这些端口将确保正确的应用程序获得正确的数据,这一流程还允许客户端多次连接到同一服务器上。试想一下,当你浏览互联网时,你会在同一个网站上打开多个选项卡,而这些浏览器选项卡中的每一个都不会错误地显示另一个选项卡中的数据,原因是每次打开一个新选项卡时,客户端都会生成一个新的随机源端口。这就是数据流能彼此区分的原因。这是UDP或TCP协议的一个功能,这两种协议都是第四层传输层协议,第4层提供的是数据的服务到服务交付。

最后我们简单概括下OSI模型的最高层次。实际上,TCP/IP协议将OSI模型的会话层、表示层和应用层视为单个通用的应用层,我们将在下篇文章中详细说明。因为每个应用程序都可以自由地实现第5层、第6层和第7层的功能。因此,通常将这三个层简单地视为单个通用应用层。而另一种流行的互联网通信模型正是这样做的,TCP模型将OSI七层模型的5、6和7层的所有功能合并到一个层中。

互联网OSI七层模型详细解析(一)

互联网行业的总体目标是允许两个主机之间共享数据。在网络还没这么发达的时候,如果你想把数据从一台主机传输到另一台主机上,就必须借助外部设备将其从一台主机拷贝到另一台主机。而当下连网的方式允许主机通过网络自动共享数据来帮我们实现数据的自动化传输。要做到这一点,这些主机必须遵循一组规则。

这与语言规则相类似,比如英语有自己的一套规则,法语也有自己的一套规则,两个讲英语的人必须遵守这套规则才能更好的交流。网络也有自己的一套规则。网络规则被分为7个层次,这些层被称为OSI七层模型。

OSI七层模型各层功能及协议

首先,我们将人体各大系统的构成与网络七层模型做一个类比。人体是由各种系统组成的,骨骼系统、呼吸系统、神经系统、心血管系统、肌肉系统等,如果这些系统都能正常工作,那么人体的目标就达标了,这意味着我们拥有着健康的体魄。网络连接的方式也相同,OSI参考模型的每一层都有一个特定的功能,如果所有这七个功能都顺利实现了,那么联网的目标也就完成了,也就是说主机之间可以共享数据。这篇文章的目的是帮助我们了解OSI模型每一层的作用,了解它们如何为联网的总体目标做出贡献,即允许不同主机之间的数据共享。

  • OSI物理层的设备

我们从OSI模型的第一层开始说起,即物理层。计算机上的数据是以比特的形式存在的,即1和0。这些主机与其它主机共享数据所需要的首要条件是,必须将这些1和0从这台计算机传输到下一台计算机,这就是OSI物理层协议。物理层的目标是传输比特,任何有助于将1和0从这台计算机传输到另一台计算机的设备都被认为是物理层技术。

例如,电缆都属于物理层设备的范畴,所有这些电缆的作用是从一端接收比特并将其传输到另一端。不过OSI模型早在无线互联网通信的概念被认可之前就已经存在了。因此Wi-fi被认为是一种物理层技术,因为Wi-fi的存在只是为了将1和0从一台计算机传输到下一台计算机。现在我们知道,这些电缆或Wi-fi不仅位于物理层,还有一些设备也位于物理层。其中一种设备被称为中继器(Repeaters)。在网络基础知识(二)中,我们了解到中继器的作用只是将信号从一端延长到另一端。在某种程度上,我们可以说中继器实际上只不过是帮你延长网络传输距离的设备。因此,中继器被视为第一层设备,这意味着像集线器(Hub)这样的多端口中继器也将被视为物理层设备。

  • OSI数据链路层的设备

OSI模型的第二层为数据链路层,它会与物理层交互,这种交互实际上是将比特放在网线上,并从网线中检索比特,这意味着这条网线与电脑连接的任一设备都被视为第二层上的设备,也就是说与物理层网线实际相连的是这台计算机的NIC(Network Interface Card)或网络接口卡,因此NIC被视为是数据链路层上的设备。无线网链接卡也被认为是第二层协议上的设备,因为它与Wi-fi无线电波相互作用。   

现在的NIC和Wi-fi链接卡看起来不再是这样了,但曾经有一段时间,你必须购买单独的卡,并将其安装到计算机中才能访问网络或Wi-fi。如今,Wi-fi网卡可以放在你的智能手机或手表里。数据链路层的主要目标是实现中继式传输(hop to hop delivery,指的是路由传送封包的协定),数据链路层的工作原理是从某个特定的NIC中获取1和0,并将其传输到另一个NIC。为了实现这一目标,第二层将使用一种特定的寻址方式,该寻址方式被称为MAC地址。MAC地址是48位,通常表示为12个十六进制数。这里有三个MAC地址的例子,其实它们都是完全相同的MAC地址。唯一不同的是在Windows机器上的显示方式通常是在十六进制数字之间使用短划线(94-65-9C-3B-8A-E5) 。Linux机器通常会使用冒号来表示MAC地址(94:65;9C: 3B: 8A: 5E), Cisco 路由器和交换机通常使用中间有点的四个十六进制数(9465.9C3B.8A5E)来表示。

无论采用哪种方式表达MAC地址,转换成48位的仍然只有12个十六进制。它的工作方式是每个NIC都有一个唯一的MAC地址。无论是windows系统还是Liunx系统,它们的MAC地址都将允许数据从一个NIC传输到下一个NIC。我们已经确定NIC是位于OSI模型第二层,其实还有另一类型的设备也位于第二层,那就是交换机。之前我们讨论过交换机是提供网络内部通信的设备,这意味着这两个主机(a1和e8)是通过交换机连接来实现它们之间的传输的。

此外,交换机允许我们将许多设备连接在同一个网络系统上,例如:如果下图的a1a1想要和b4b4通信(a1a1和b4b4都是MAC地址的前四位,此处用作代指),交换机将在内部连接这些线路,以便数据可以从左一的NIC传输到左二的NIC上,因此交换机也被视为数据链路层设备,因为它帮助了a1和b4之间的数据传输。

一般来说,与你通信的互联网并不一定都是在同一网段上。也就是说主机之间的通信通常需要多个跳跃点(multi hops),这意味着我们需要跨越多个路由器才能将数据传送到目标主机。如下图所示:

而这些路由器中的每一个都会使用一个NIC来连接到一条线路上,也就是说每个NIC都有自己的MAC地址,数据链路层负责从第一个MAC地址(a1a1)获取数据并将其传递到下一个MAC地址(b2b2),然后从第一个NIC(Router1/b3b3端口)传递到下个NIC,依次传递给最后一个NIC。正如图中所示,数据链路层都在处理数据的逐段传递,那么是什么负责确保数据从一个端点(a1a1)传到另一个端点(e8e8)呢。这就引出了OSI模型第三层-网络层。

  • OSI网络层的设备

OSI模型网络层的目标是实现端到端的传输。为了实现这一目标,第三层将使用自己的寻址方式,即IP地址。之前我们有对IP地址做过解释,说IP地址是32位,表示为4个八位字节,每个八位字节可以是0-255。每个主机都将通过其IP地址进行标识,这些IP地址将允许数据从a1a1一直传输到e8e8。现在,正如我们从下图所看到的,帮助从端到端传输数据的是路由器。因此路由器被认为是位于OSI模型的第三层。主机也被认为是位于OSI模型的第3层,但实际上任何含有IP地址的设备都可以被认为是位于OSI模型的第3层。

说到这儿你可能就要问了,既然我们已经有了第3层的IP地址,为什么还需要MAC地址,或者你会这么想,我们已经有第2层的MAC地址,为什么还要IP寻址方式呢。这个问题将有助于揭示数据包是如何在互联网上移动的。之所以有两种不同的寻址方式是因为每种寻址方式都有不同的用途。

我们假设a1主机有一些数据需要发送到e8主机上,当然,这些数据只是一堆1和0,OSI第二层(数据链路层)和第三层(网络层)并不知道这些数据包含了什么,实际上它们只是一组任意组合的1和0需要送到e8主机而已。由于a1计算机知道数据需要送达到e8端,它将给数据添加一些第三层信息。第三层信息包括源IP地址和目的地IP地址。

但现在该计算机(a1)知道第一步是将添加好的第三层信息(IP地址)传输到第一个路由器b2,该路由器会提示计算机(a1)将第二层(数据链路层)信息添加到里面,第二层信息包含了计算机(a1) NIC的源MAC地址和第一路由器NIC的目的地MAC地址,这就是由a1计算机发送到第一路由器的信息。一旦该信息到达第一路由器,我们就可以去掉第二层的信息(MAC地址)。

这个过程将从中间的路由器上继续进行,通过添加第二层信息(MAC地址)来完成这个跳跃,直至序列中的最后一个路由器d7添加完最后的第二层header(报头),数据包就完成了从d7端的NIC到主机e8的NIC的传输工作。一旦数据包到达最终主机e8时,第二层报头就可以被移除了。数据链路层报头的目的仅仅是将封装好的数据从一个结点带到下一个结点。另外第三层报头也可以移除了,因为网络层报头的用途是将数据从a1端传输到e8端。最后,经过多个跳跃点(multi hops)数据包最终被传输到了计算机e8,数据也将由e8主机处理,这就是为什么我们需要IP地址和MAC地址的原因,因为它们具有不同的功能。数据链路层完成的是点到点的传输,只负责直接相连的两个结点之间的通信,如图中的主机a1和Router1,Router1和Router 2;而网络层完成的是端到端的传输,即a1到e8的传输。

我们一直将IP地址和MAC地址作为独立的函数在讨论,事实上它们的确是独立的,但有一个协议可以将它们联系在一起,这个协议被称为地址解析协议(ARP),它能把一个网络层的IP地址链接到数据链路层的MAC地址上。ARP协议对于理解数据如何在网络中移动是至关重要的。

在本节中,我们讨论了OSI模型第一层、第二层和第三层,以及每一层的主要任务以及相关的设备,及其它们是如何帮助数据在网络中传输的。尤其详述了第二层和第三层之间是如何协同工作,及它们在从一端发送数据到另一端获取数据时所需的许多不同路由之间的数据移动路径。在下节中,我们将继续讨论传输层协议。

网络基础知识(二)

网络基础知识点

在网络基础知识(一)中,我们讨论了主机的概念、IP地址的定义&作用以及网络的定义。在本篇中,我们将探讨网络设备具体有哪些。如果你还没看过上一期的内容,建议先了解一下,这样便于你更好的理解接下来要讨论的网络设备及其功能。

(五) 中继器是什么? 中继器的作用

上期我们聊了网络的概念,知道了只要你用一根电线将两台计算机连接起来,就会创建一个网络。不过关于通过导线发送数据,你还需要了解的一件事是,随着距离的加长通信会变得微弱。当然如果两台需要通信的计算机是在同一个房间里,那就无需担忧。因为在这种情况下,即使通信会有所衰减,主机间的传输仍然可以顺利完成。但如果这些主机之间的跨越更大,比如是一栋建筑最两侧的两台计算机,或者是位于两栋不同的建筑中的两台电脑之间的通信,如果信号在到达另一侧之前衰减,那么传输就可能会遇到问题,就会出现这两台主机无法共享数据的结果。这时你就需要一个中继器。中继设备的唯一作用是再生信号。中继器负责从一端接收数据通过“再生”功能将数据传输到另一端,从而实现那些跨度较远的设备之间的数据传输。中继器英文是repeater。

(六) 集线器是干什么用的?集线器的功能

到目前为止,我们一直在讨论如何将一台主机直接连接到另一台主机上。如果要添加第三个主机,则需要将该主机连接到已经建立好的其他两个主机上。如果要添加第四台主机,要将第四台主机连接到已连接好的其它三台主机上。同理,如果要添加第五台主机,则必须将第五台连接到已连接好的每一台主机上。这样一来,添加新主机到已有网络系统的工作就会变得更加繁琐。

为此人们创建了一种能置于网络中心的设备,并让所有主机与之相连。这些设备负责处理不同主机之间的漏斗式通信,好处在于如果你需要在网络系统中添加第六台主机,只需将其连接到该设备上即可,不需要使之与其它主机一一相连。我们将这种设备称为集线器。集线器英文:Hub。简单来说,集线器不过是一个多端口的中继器。

之前我们说中继器的作用只是再生信号。其实集线器执行的也是相同的操作,只不过它们需要跨多个端口执行。如下图,如果左边这两个绿色主机之间需要通信,其中一个主机向另一个主机发送数据包时,数据包会先到达集线器(图中的Hub),集线器会简单地复制该数据包并将其发送到所有与之相连的端口,也就是说右边两个端口也会接收到集线器发送的数据。谨记,集线器是第一个允许我们在网络中心连接多个主机的设备。这里集线器解决的只是网络规模扩展问题,还有一个问题就是与它相连的其它主机也同样能接收到它发出的数据。

(七) 网桥是什么?网桥的主要作用?    

如上图所示,右侧的两个主机并没有参与左侧绿色主机之间的通信,但它们也在接收对方发送的数据副本,这就引出了网桥设置这一概念。(网桥英语:bridge)在下图中,我们有两组主机,它们各自都与一个集线器相连,一个桥接器(也就是网桥)位于两个连接着其它主机的集线器之间。根据定义,网桥只有两个端口。一个端口面向一组与集线器连接的设备,另一个端口则面向另一组与集线器相连的设备。

网桥的作用是了解哪些主机位于自己的哪个端口,这意味着网桥会只参与和数据传输相关的通信。例如,下图这两台绿色主机通过集线器需要再次通信发送数据时,集线器会在所有端口重新生成传输信号。这就是说与集线器相连的网桥的左侧端口也会获得该数据包的副本,不过它会知道参与数据传输的另一个绿色主机是位于网桥的左侧,因此不会将数据包带到与通信不相干的右侧。谨记,网桥是第一个将数据包只传输到相关网络的设备。

此外,如果网桥左侧的某个主机需要与其右侧某个主机相互通信时,也可以通过集线器相互发送数据包。网桥会负责不让这些数据包渗入到与不参与通信的其它主机上,因为它知道右侧设备是存在于右侧集线器上的。当然,如果上图左侧左上方的主机需要向右侧右下方的设备发送一些信息时,网桥也会确保流量的正常传输,并且会允许数据包穿过它正确传输到另一侧。网桥的特点是梳理哪些主机是与它的哪侧端口相连接的从而确保数据包的准确准时传输。  

(八) 交换机是什么?交换机的作用与功效

现在我们来说说交换机,一起探讨一下交换机的作用和功能都有哪些?(交换机英文:switch)实际上交换机有点像集线器和网桥的组合,说它像集线器,其实是说它与集线器一样上面可以连接许多设备;说它像网桥,其实是说二者都清楚地知道哪些主机是与哪些端口相连接的,也就是说如果左侧这两个绿色主机想相互通信,交换机将知道接收流量的唯一端口是与绿色主机的两个端口相连的,因此只会将数据传输到这两个端口。同理,如果右侧这两个黄色主机想要相互通信,交换机将再次确保通信仅在右侧两个相关端口之间流动。因此我们在某种意义上说交换机是集线器和网桥的组合。

那究竟交换机的定义是什么?交换机是一种促进网络内部通信的设备。上一篇我们将网络定义为有着类似连接的主机的逻辑分组,就是说所有这些设备都属于同一网络,且共享一个IP地址范围。我们以家庭WIFI为例,假设家里所有主机的IP都是以下图的192.168.1.x开头的,192.168.1.11可能是你的手机,192.168.1.22可能是打印机,其余端口号各自对应着不同的设备。你也可以将其看成是某个公司内部设立的不同部门的主机IP地址,或者是某个学校的不同学院的主机IP,无论它们代表的是什么,基于所有这些设备都是与交换机相连的,因此它们都属于同一网络。

(九) 路由器      路由器主要用途

接下来我们以学校网络为例来探讨下路由器功能。假设某个学校有很多不同的教室,每个教室都有自己的专属网络IP。如下图所示,比如第二教室的IP范围是172.16.20.x,第三教室的IP 范围是172.16.30.x。之所以将两组设备分离到不同的网络中是因为它们可能具有不同的连接要求。比方说教室2是生物教室,学生只需要简单的互联网连接;但教室3属于计算机科学教室,学生不仅需要互联网连接,还需要访问各种云资源来进行研究。因为左侧计算机群与右侧计算机群具有不同的连接需求,所有我们要将它们分离成单独的网络。

This image has an empty alt attribute; its file name is image-12.png

在这种情况下,我们仍然可以使用交换机来实现网络内部的所有通信,这意味着左侧的交换机可以处理左侧三个主机之间的所有通信,右侧交换机则负责处理右侧三个主机间的所有通信。但是,如果上图左侧.33的主机想在不同网络上与右侧.44主机通话那该怎么实现呢?

因为交换机只负责提供网络内部的通信,在上述情况下我们就需要另一种网络设备来处理不同网络之间的通信,那就是路由器。路由器是主要负责网络之间通信的设备,它提供了网络之间的流量控制点。比方说,我们会限制从.11这台电脑到.44这台电脑的流量,注意这两台电脑不是独立的网络,所有的流量必须通过路由器,这也为安全策略或流量过滤的添加以及将流量重新定向到其它地方创造了便利的条件。

由于路由器(路由器英语:router)位于网络之间的边界处,它们为应用安全策略的部署提供了逻辑位置。从传统意义上来说,交换机并不适用于这种类型的安全过滤,因为人们普遍认为,处于同一网络上的设备基本上是不需要对网络内的流量进行过滤的。但如果你有设备需要不同类型的连接,那就需要把它们放在不同的网络中,而网络边界就是设备的逻辑分离点。

路由器的工作方式是了解与它们相连的网络。这意味着路由器将了解在左侧接口处它连接的是172.16.20.x范围内的网络,在右侧接口处连接的是172.16.30.x的网络,其下端是连接互联网的方向。这些面向不同网络的每一个接口都被称为路由,而所有这些路由都存储在路由器的路由表中。因此,路由表是路由器所连接的所有网络端口,而路由器也会使用该路由表来将流量输送到适当的接口。

(十) 网关是什么?网关的作用是什么?

上面我们说各个路由器知道它们连接的是哪个网络时,意思是路由器在它们连接到的每个网络中都有一个IP地址。当某个路由器连接到某个网络时,它在该网络中会被赋予一个IP地址。例如,左侧路由接口的标识IP地址为172.16.20.1,右侧接口的标识IP地址为172.16.30.254,路由与网络连接时被赋予的这个IP地址被称为网关。网关是主机离开本地网络的途径。网关英语:gateway。

例如,左侧右下方这个主机的IP地址是172.16.20.33,如果该主机想与不同网络上的某个设备通话时,它知道自己必须经由路由器,且该路由器的IP地址会被存储为该主机的默认网关。值得注意的是,该主机的默认网关172.16.20.1是该路由器的接口IP地址。更进一步说,路由器实际上是在网络和IP地址中创建层次结构的设备。

让我们再以某个公司纽约办事处设立的不同部门为例,每个部门都有自己的IP网络地址。这些网络中的每一个主机都连接到不同的路由器,而这些不同的路由器又都连接着另一个路由器,如果纽约办事处销售团队的某个主机(10.20.55.x) 想与营销团队(10.20.55.x) 的某一主机通信,则需要使用配置好的网关-即使用离该主机最近的路由器IP地址,将数据包发送到下一个路由器,该路由器再将数据发送到离营销团队最近的路由器,最后发送到营销团队的那个主机上。

以此类推,该公司的东京办事处也会有类似的设置,会分别配置两个路由器并将其连接到互联网上。实际上互联网本身只不过是一堆不同的路由器,如果纽约营销团队的主机A想与东京工程团队的主机C通信时,主机A会将数据发送到最近的路由器,再由其将数据发送给下一个路由器,而该路由将通过互联网上的所有路由器发送数据,最后送达东京路由器,进而发送给工程团队。这就是数据在互联网上传输的方式,也是路由器在实现不同网络主机之间通信所扮演的角色。

最后关于以上定义的路由器和交换机,我们做个小结。路由(routing)是一个在网络之间移动数据的过程,而路由器只是一种设备,其主要目的是以相同方式执行路由。交换(switching) 也是在网络中移动数据的过程。而交换机是一种设备,主要目的是实现局域网内设备之间的数据交换。之所以提到这一点,是因为还有许多其他类型的网络设备存在:接入点、防火墙、负载均衡器、第三层交换机、代理,甚至还有一些设备只存在于云中,比如虚拟交换机和虚拟路由器。

在下一篇中,我们将从实用视角为您分析OSI模型,帮你更好地了解所有这些设备是如何在互联网上完成数据传输的。

网络基础知识(一)

网络基础知识入门

虽然我们处在互联网时代,但并不是每个人都了解互联网上数据的传输模式。本篇我将带你一起探讨一下网络数据传输所需用的网络设备及其概念、以及它们各自负责的功能和它们之间是如何协同完成网络数据传输的。

(-)主机的概念解释

主机是用于发送或接收流量的任何设备。例如,你的台式电脑是一台主机,你的笔记本电脑、手机、打印机、服务器这些都是主机。云计算目前有着广阔的就业前景,这意味着许多与云计算相关的资源也会被视为主机,比如云服务器。此外,还有物联网的兴起,也意味着你周围任何可以发送或接收流量的东西都被将被视为主机,比如通过流式传输同步的智能电视的扬声器、智能手表以及可以远程控制的温度计等。所有这些可以发送和接收流量的设备都可以被视为主机。这一概念之所以重要,是因为所有这些设备在与互联网通信时都需遵循相同的规则。

主机通常分为两类:客户端或服务器。客户端是发起请求的主机,服务器是响应请求的主机。我们以www.xxx.com的网络服务器为例。当一台计算机请求访问某一网站时,它是发起请求的一方,因此被视为客户端;当响应方-网络服务器为请求方提供内容时,它是响应请求的一方,因此被视为服务器。

不过需要记住的一点是,“客户端”和“服务器”是相对于特定的通信而言的。比如说,当web服务器需要从文件服务器或数据库服务器那里更新文件时,web服务器必须向文件服务器发送更新文件的请求。在该通信过程中,web服务器就是客户端,而文件服务器就是服务器。再比如说,当这个文件服务器在某个时间段可能需要运行某种软件的更新时,那它就需要向更新服务器发出下载新软件的请求,在该通信过程中,文件服务器就是客户端,而更新服务器在更新请求返回到文件服务器时,扮演的角色就是服务器。

因此术语“客户端-服务器”只适用于正在发生的通信。虽然我们一直把响应web请求的一方称为web服务器,但你需要清楚地知道什么是服务器主机。服务器实际上是一台安装了软件的计算机,它知道如何响应特定的请求,知道如何提供网页服务。你只需安装适当的web服务器软件,就可以将任何设备变成web服务器。这同样适用于我们刚才讨论的文件服务器和更新服务器,其实它们只是知道如何提供文件或提供更新软件的计算机。我们遇到的每台服务器都只是一台响应请求的计算机。

(二) IP地址

IP地址是每个主机的标识,如果要在互联网上进行通信,每个主机都必须有一个IP地址。这就像你需要一个电话号码来拨打或接听电话,或者一个快递地址来发送和接收快递一样。在互联网世界,你需要一个IP地址才能在网络上发送或接收数据包。这就是IP地址的定义,它是每个主机的标识。实际上,这些IP地址会被标记在每个主机发送的所有内容上。例如,当这个客户端在这个包上向site.com发出web请求(其中包括什么网页)时,它要求客户端标记源IP地址和目标IP地址。源IP地址将是客户端的IP地址,目标IP地址将为服务器的IP地址。

同样地,当服务器提供网页信息作出响应时,也会标记源IP地址和目标IP地址,在这儿,源IP地址将是服务器的IP地址,而目标IP地址将为客户端的。在互联网上发送的所有东西都要有这个来源IP地址和目的地IP地址。

IP地址本身实际上只有32位,都是一些1或0这样的数字,这意味着每个IP地址实际上只是32个比特1和0的不同组合而已。我们所做的是把这32个比特分成四个组块,也就是八位字节,然后把每组八位字节转换成十进制数,这就是我们所知道的IP地址。从八位字节中我们可以得到的最小二进制数是0,最大二进制数是255。这就是为什么你遇到的每个IP地址都是介于数字0-255之间的四组不同组合。这就是IP地址的组成和规则。

(三)子网掩码的作用是什么?   

那么这些IP地址的用途是什么呢?通常情况下,我们会将这些IP地址根据公司体系结构进行分配。比如下图所示这是某公司在三个不同办事处的IP地址,且都是以10.开头的。这些不同分公司的每一个办公部门都会被分配到一个专属的IP地址及子网。纽约的所有办公室IP地址都是以10.20开始的,伦敦的则是以10.30开始的,东京的是以10.40开头的。

另外,纽约办事处会有几个不同的团队,例如,一个销售团队、一个工程团队和一个营销团队,且每个团队都会有自己的专用IP地址范围。销售团队的IP地址范围是以10. 20.55. 开头的,工程团队的是10.20.66.,营销团队的是10.20.77.。我们假设伦敦和东京办事处也有同样的团队,但两个办事处的IP地址范围都会按照其指定位置的前缀开头。这就允许我们通过IP地址来精确定位某个特定主机的存在位置。例如,如果我们的IP地址是10.30.50. ,那么这个IP地址就是该公司位于伦敦办事处的销售团队的某个主机IP。由此可以看出,将IP地址分解为不同的层次结构这一过程是通过IP子网地址来完成的,也就是我们常说的子网掩码。

(四) 网络是什么?怎样联网?

位于不同办事处的各个团队内部的所有主机都处于网络中。实际上网络主要负责主机之间的流量传输。最简单的形式是,当你将两个主机连接在一起时,就构成了一个最简单的网络。如果这些主机之间实现了互通相连那就形成了一个复杂庞大的网络。在最早建立互联网之前,为了实现数据在不同计算机之间的传输,我们必须借助一些外部的驱动设备来完成。但互联网和联网将这一过程自动化了,最终帮我们实现了计算机之间数据的自动传输与共享。

退一步来说,网络实际上只是有着相似连接的主机间的一种逻辑分组。比如,我们的家庭WIFI,它连接了你和家人的iPad、摄像头、打印机、笔记本电脑、手机等一堆设备,而这些设备都有类似的连接配置文件,你可以理解为它们只是需要通过互联网来查看电子邮件或资料等等。再比如,一家咖啡店,店内有提供无线网络连接,每天熙熙攘攘的客户带着不同的移动设备进进出出,他们的设备需要联网,而连接的模式也都相似。

当然网络内部也可以包含其他网络。除了以上我们所举的某家公司在不同办事处不同部门间设立的不同IP地址子网例子外,再比如学校的网络,不同的教室或教学楼的主机都会被分配到自己专属的网络中,也就是都有独属于自己的子网掩码。由此不难看出,实际上我们所知道的互联网只是一堆相互连接的网络。这就是互联网的全部,它只是一堆公司网络连接到一堆学校网络、连接到一群客户网络的集合。

本篇我们主要了解了什么是主机,什么是客户端和服务端,什么是IP地址什么是子网掩码,以及了解了什么是网络,以及它是需要类似连接的相关主机的逻辑分组。下篇我们将继续探讨什么是集线器,交换机,路由器等。

常见的网络协议有哪些?

互联网网络常用协议

在上一篇文章中,我们简述了计算机网络协议的概念,并简要列举了几种常见的网络协议类型。我们知道网络协议只是一组构成互联网标准的规则和消息。例如,地址解析协议或ARP协议。

(一)ARP协议是什么?

在这篇文章中,我们将讨论ARP是如何将IP解析为MAC地址。ARP协议的作用:它准许两个主机在只知道各自IP地址的情况下找出彼此的MAC地址。也就是说,地址解析协议ARP能将IP地址转换成MAC地址。这一转换是通过主机A发送ARP请求和主机B响应ARP请求来实现的。

ARP协议:在ARP的执行过程中,该规则集是由RFC826定义的。RFC 技术 (Request for Comments) 是关于如何进行ARP的工程实施指南,RFC协议包含了管理ARP请求和响应的所有规则。事实上这些规则是作为互联网标准被公布的,RFC规则允许许多不同的供应商实施ARP方案。这也是一台惠普服务器可以与一台苹果macbook通信或dell笔记本电脑可以与三星手机互联的原因,因为所有这些不同的供应商都遵循ARP协议标准,在相互通信时按照ARP规范使用了相同的语言。ARP协议分析在TCP/IP模型中属于网络层(IP层),在OSI模型中属于链路层。

(二)FTP指什么?

FTP协议:文件传输协议或FTP协议也是一种常见的互联网协议。FTP允许客户端和服务器之间发送和接收文件。FTP会话由类似RETR file.pdf这样的消息组成。客户端发送了代表检索的RETR命令并询问特定文件,这将提示服务器使用如file.pdf的文件对这一请求做出响应。

(三)SMTP协议的用途

SMTP协议:SMTP全称英文:Simple Mail Transfer Protocol。它代表简单的邮件传输协议。这是电子邮件服务器用来交换电子邮件的协议。实际上,客户端发送的任何消息都是在向SMTP服务器发送命令请求,SMTP服务器会用指定的代码对相关请求做出响应。

(四)HTTP传输

HTTP协议的中文全称为超文本传输协议,是用户在与网络服务器通信时随时使用的协议。Web服务器托管着许多用HTML编写的网站,HTML代表超文本标记语言,HTML全称为Hyper Text Markup Language。当用户浏览客户端xxx.site.com时,这些HTML页面会使用http进行交换。网络浏览器会向网络服务器发送get请求,网络服务器将以ok消息为准进行响应,然后提供给用户所要访问的网站。

(五)SSL与TLS协议

SSL协议和TLS协议:它们允许客户端和服务器在彼此之间建立一个安全的隧道。这样客户端和服务器就可以在该隧道内执行http会话。这就是https协议及其工作原理。SSL或TLS协议用于保护http会话,并确保用户安全地浏览web网站。

还有一些互联网网络常用协议,在这里我们先集中讨论一下主机以便更深入的了解互联网协议类型。主机通常被划分为客户端或服务器,主机的任务是发送或接受流量。服务器实际上是一台知道如何响应特定请求的计算机,这意味着每一台服务器实际上都只是安装了FTP软件、SMTP软件、HDP或SSL软件的计算机,也就是说这些客户端和服务器都遵循相同的主机与主机之间的通信原则。

其中一个关键因素是,如果一台主机想要与另一台主机通信,它必须知道另一个主机的IP地址。这对于客户端与FTP服务器之间的通信来说是简单易行的,因为已知了一个主机的IP地址。但假如我需要你公司的网址,你发给我xxx.site.com;我要发一份报价给你,你发给我xxx.@gmail.com,而不是直接发给我IP地址。那在这种情况下客户端是如何与SMTP服务器或web服务器通信呢?这就不得不引出DNS解析的作用了。

(六)DNS协议解析

DNS协议全称:Domain Name System。DNS协议工作原理:它可以将这些域名(xxx.site.com/xxx.@gmail.com)转换为IP地址。DNS协议将使用DNS服务器将网站域名以及邮箱域名转换为IP地址。DNS的工作方式是:当你在浏览器中输入一个网站时,你的浏览器首先会向DNS服务器发出请求,询问你刚刚在浏览器中输入的网站的IP地址,然后DNS服务器会提供给你相应的IP地址,这一过程是你使用的主机向实际的web服务器IP地址发出请求。尽管你从未提供过网站的IP地址,但计算机会通过使用DNS协议自动计算出它。  

现在让我们再回到主机这个话题上,主机连接到网络需要配置四个要素才能实现上网功能,也就是我们熟知的主机配置的四个基本要求。其中第一个就是IP地址,它是互联网上的主机标识。其二,主机还需要一个子网掩码subnet,来帮助主机确定它是试图与本地网络上的某个客户端进行通信,还是试图与外部网络上的某些设备连接。子网掩码可以是24,或255.255.255.0,这两种方式都是显示同一子网掩码的不同方式。但无论哪种方式,如果主机只有IP地址和子网掩码,那就能保证该主机与同一本地网络上的其他任何主机进行通信。但如果该主机需要通过互联网与外部网络上的某个设备通信的话,则需要一个路由器,还要将路由器的IP地址配置为默认网关。

在主机上配置了这三个要素后,它就可以通过路由器及使用路由器IP地址与任何服务器进行互联通信了。但大多数时候,当你通过网络查看网站或发送电子邮件时,主机是无法与这些域名直接对话的,它需要将域名转换为IP地址。这就意味着每个主机都需要一个实现通信互联的第四个要素- DNS服务器IP,它主要负责将域名转换成IP地址来实现主机与其他主机域名之间的通信。此外连接到网络的每台主机上都需要配置DNS服务器IP地址。

正如上述所说,主机指的是在互联网上发送或接收流量信息的任何硬件设备,这意味着主机很可能是你的笔记本电脑、打印机或手机。无论在什么情况下,每当这些设备连接到新的网络时,都必须配置这四项。但你肯定会问,每次我在咖啡店、酒店、机场或学校连接到新的Wi-Fi网络时,根本就不需要进行任何配置都是手动连接的。这就要提到另一个因特网上的主要协议,即DHCP,它是动态主机配置协议的英文缩写。

(七)DHCP的作用

DHCP协议功能:动态主机配置协议DHCP的作用是允许DHCP服务器为任何客户端提供IP地址、掩码、默认网关和DNS服务器。事实上每当你连接到一个新的Wifi网络时,主机会发送一条DHCP发现消息来发现DHCP服务器,然后DHCP服务器会向客户端提供这四个要素作为响应,那么客户端就拥有了与互联网通信所需的一切。这就是每次你连接到新的Wi-fi网络时,手机或笔记本电脑都会自动获取网络连接所需的信息的方式。

希望这篇博文可以帮你很好地理解DNS和DHCP及其在互联网通信中的作用,理解每个主机实现任一类型的互联网连接所需的四大要素,以及互联网其他协议的高级定义。虽然我们只是浅谈了这些协议的作用,但对了解这些协议在整个互联网生态系统中的适用范围仍有帮助。

网络协议的定义

网络协议是什么?

网络协议是指一组已经建立好的规则,确定了数据是如何在同一网络的不同设备之间传输的。本质上,网络协议是不考虑所连接设备的内部流程、结构及设计模式之间的差异性,它只负责不同设备之间的相互通信工作。也正是因为有了各种网络协议,我们才能轻松与世界各地的人进行通信交流,因此网络协议在现代数字通信中发挥着重要作用。

网络协议主要作用:与两个来自不同地域的人使同用一种语言交流的目的一样,网络协议的功能是实现两个不同设备之间的交互,而这全靠内置于设备软件和硬件中的预定规则。如果没有网络协议,局域网(LAN)和广域网(WAN)也就不能像当下这样被广泛使用了。

网络协议是如何工作的?

网络协议是将繁琐的流程分解为小型的、特定的任务或功能,并应用在网络的每一个级别,每个功能负责不同级别间的协同工作。互联网协议套件是指一组较小的相互协作的网络协议。计算机网络协议通常是由各种网络或信息技术组织根据行业标准创建。以下组织定义且发布了不同的网络协议:

  • 电气和电子工程师协会 (IEEE-The Institute of Electrical and Electronics Engineers)
  • 互联网工程任务组 (IETF-The Internet Engineering Task Force)
  • 国际标准化组织 (ISO-The International Organization for Standardization)
  • 国际电信联盟 (ITU- The International Telecommunications Union)
  • 万维网联盟 (W3C- The World Wide Web Consortium)

虽然网络协议模型通常都是以相似的方式工作的,但每个协议都具有唯一性,且是以制定它的组织详细规定的特定方式运行的。

网络协议的适用性

网络协议的适用范围包括:除经过认证的网络专家或IT相关专业人员以外,数以万计的网络用户也在使用网络访问协议完成着各种工作。虽然你可能不知道网络协议是如何工作的,也不知道你有多频繁的使用到这些协议,但其实我们与互联网的每一次接触都会运用到不同的网络协议。

网络协议有哪些?

虽然网络协议种类有数千种,但网络协议主要由三部分组成:网络通信、网络管理、网络安全。网络协议的分类是人们快速、安全地使用网络设备所必需的,它们相互协同来促进网络工作的便利开展。

(一)网络通信协议有哪些?

网络协议的主要职责:通信协议允许不同网络设备之间的相互通信。通信协议用于模拟通信和数字通信技术,负责从设备之间的文件传输到访问互联网等一系列工作。

常见的网络通信协议类型包括:

  • 自动化通信协议:这些协议为商业和个人环境提供了不同的自动化流程,例如在智能建筑、云技术或自动驾驶汽车中。
  • 即时通讯协议:许多不同的即时消息网络协议的出现,产生了在智能手机和电脑上进行即时的基于文本的通信。
  • 路由协议:路由协议允许路由器和其他网络设备之间互相通信。还有专门用于Ad Hoc网络的路由协议。
  • 蓝牙协议:各种不同的蓝牙设备-包括耳机、智能手机等就是依靠不同的蓝牙协议而工作的。
  • 文件传输协议:使用物理或数字介质将文件从一个设备移动到另一个设备,使用的就是FTP协议。
  • 互联网协议:互联网协议(IP)允许设备之间通过互联网发送数据。如果没有IP地址,互联网就无法像现在这样正常运行。

(二)网络管理协议

网络管理协议定义并描述了计算机网络有效运行所需的各种流程。这些协议影响单个网络上的各种设备,包括计算机、路由器和服务器,想要每个设备都能正常工作,就得保证整个网络体系运行良好。网络管理协议的功能包括:

  • 连接:这些网络连接协议建立并维护了不同设备在同一网络上的稳定的连接。
  • 链路聚合:链路聚合协议有助于用户将多个网络连接合并为两个设备之间的一个链路。链路聚合的作用是增加连接的强度,并在其中一个链接出现故障时帮助维持连接。
  • 故障排除:故障排除协议帮助网络管理员识别影响网络的错误,评估网络连接的质量以及确定该如何解决故障。

(三)网络安全协议

安全协议也被称为加密协议,用于确保网络和通过网络发送的数据免受未经授权用户的攻击。网络安全协议主要功能:

  • 加密:加密协议要求用户输入密钥或密码才能访问这些信息,从而起到保护数据和安全区域的作用。
  • 实体认证:实名认证服务协议创建了一个系统,它要求不同设备或用户在通过网络访问安全区域之前验证其身份。
  • 传输控制协议:信息传输安全协议为数据从一个网络设备传输到另一个设备提供了保护措施。

网络协议示例

常用的网络协议有:

  • 超文本传输协议(HTTP/ Hypertext Transfer Protocol):HTTP协议定义了数据在互联网上的传输方式,以及网络服务器和浏览器应如何响应程序的命令。该协议或超文本传输安全协议HTTPS出现在各种URL网址或web地址的开头。
  • 安全外壳协议(SSH/ Secure Socket Shell):SSH协议提供了对计算机的安全访问,即使是在网络并不安全的情况下。SSH对于需要远程管理不同系统的网络管理员来说特别有用。  
  • 短信通信协议(SMS/ Short Message Service):此通信协议的创建应用于通过蜂窝网络发送和接收的文本消息。SMS协议特指基于文本的消息。图片、视频或其它需要多媒体信息服务(MMS/ Multimedia Messaging Service)的媒体传输协议是SMS协议的扩展。

网络协议的特点:网络协议并不是简单地定义设备和进程的工作方式,网络通讯协议定义的是设备和进程之间如何协同工作。如果没有这些预先规定的惯例和规则,互联网将缺少良好运作和实现可用性所需的必要基础设施。网络协议是支撑网络运行的基础,如果没有网络协议,数字世界就无法生存。  

互联网常用英语词汇

通信网络的英文Communication network
即时消息的英文Instant messaging
网络管理协议的英文简称NMP (Network Management Protocol)
协议套件英文翻译Protocol suite
FTP全称File transfer protocols

集成测试定义

什么是集成测试?

集成测试解释:集成测试是一种软件测试类型,集成测试技术是将软件模块从逻辑上集成并将其作为一个组进行测试。一个典型的软件项目是由多个软件模块组成,而这些软件模块又是由不同的程序员编码而成。集成测试的任务是在这些软件模块集成时暴露它们交互中的缺陷。集成测试的侧重点是检查这些模块之间的数据通信。因此,集成测试也叫做“I&T”(集成和测试)、“字符串测试(String Testing)”,有时也称为“线程测试- Thread Testing”。

为什么进行集成测试?

虽然每个软件模块在这之前都经过了单元测试,但由于以下各种原因缺陷仍然存在:

  • 每个模块通常都是由软件开发人员独立设计的,且每个开发人员的理解和编程逻辑会与其他程序员有所不同。集成测试作用便是验证软件模块是否能统一工作。
  • 在模块开发时期,客户的需求很有可能会发生变化。这些新需求可能没有经过单元测试,因此系统集成测试就变得极其重要。
  • 软件模块与数据库的接口可能出现错误
  • 如果系统有外部硬件接口,为了避免可能存在的错误,也需要进行测试
  • 异常处理不当可能会导致问题的出现

集成测试用例 示例

集成测试用例与其他测试用例的不同之处在于,集成测试主要测试的是模块之间的接口、数据流和信息流。这里优先考虑的是集成连接,而不是已经测试过的单元功能。

以下是集成测试用例举例说明:假设一个应用程序有三个模块,分别是“登录页”、“邮箱”和“删除电子邮件”,每个模块都是由逻辑形式集成的。这里我们不太关注界面测试,因为那已经在单元测试中完成了。我们需要检查的是登录界面是如何链接到邮箱页面的。

邮箱登录测试:检查邮箱登录入口与删除邮件模块的集成程度。

测试用例ID 测试用例目标测试用例描述预期结果
1检查登录界面和邮箱模块之间的接口链接输入登录凭据并单击“登录”按钮定向到邮箱
2检查邮箱和删除邮件模块之间的接口链接从邮箱列表中选择电子邮件并单击删除按钮 所选电子邮件应显示在“已删除/垃圾箱”文件夹中

集成测试策略有哪些

集成测试主要测试方法:  

软件工程定义了执行集成测试的各种策略,集成测试的方法有三种:

  • Big Bang Approach :    大爆炸集成测试
  • Incremental Approach:增量集成测试
    1. 自上而下集成测试
    2. 自下而上集成
  • 三明治集成方法

(一)大爆炸测试方法的优点和缺点:

Big Bang测试是一种集成测试方法,是将所有组件或模块一次性集成在一起作为一个单元进行测试。在测试时,集成组合的组件将被视为一个实体。如果单元中还有未完成的组件,那么集成流程将不会被执行。

这也是最简单的集成测试模式,集成测试的流程是将所有模块组合在一起,并在完成单个模块测试后验证其功能。简单地说,测试人员会将系统的所有模块都简单地组装成一个系统进行测试。不过这种方法仅适用于非常小的系统。如果在集成测试期间发现任何错误,定位起来就比较困难,因为这个错误可能属于已经被集成的任何模块。因此,要修复在BigBang集成测试期间报告的调试错误费用是非常高的。

大爆炸集成策略是一种软件测试方法,在Bigbang测试方法中,软件应用程序的所有组件或模块都被合并并同时进行测试。当软件组件的相互依存度较低时,或者当开发环境中存在阻止测试单个组件的约束条件时,才会使用这种方法。大爆炸集成测试的目的是验证系统的整体功能,并识别组件组合时出现的任何集成问题。虽然爆炸测试技术在某些情况下很有用,但它也具有高风险,因为系统的复杂性和组件之间的交互次数会使识别和诊断问题变得困难。

  • 大爆炸测试方法的优点有哪些—爆炸测试技术适用于小型系统;
大爆炸测试方法的缺点:a、定位故障存在困难
b、集成测试需要测试的接口数量较多,有可能会出现漏测一些需要测试的接口链接的情况。
c、由于集成测试只有在“所有”模块设计完成后才能开始,因此留给测试团队在测试阶段执行测试的时间将减少。
d、由于所有模块都是一次性测试的,因此高风险关键模块并没有被隔离以及优先进行测试,且与用户界面交互的外围模块也没有被隔离或被优先测试。

(二)增量式测试

在增量测试方法中,测试是通过集成两个或多个逻辑上相互关联的模块来完成的,主要测试应用程序是否正常运行。然后其他相关模块会被逐步集成,该过程会持续进行直到所有逻辑相关模块被成功集成和测试。

增量测试的方式有两种:1)、自下而上;2)、自上而下

  • 自下而上模式:自底向上集成测试是一种先测试较低级别模块的策略。这些已被测试的模块被进一步用于帮助完成更高级别模块的测试。该过程会持续进行直到所有顶层模块都被测试。一旦较低级别的模块经过测试和集成,那么就形成了较高一层级别的模块。

自下而上集成方式的特点:

优点a、定位故障较为容易
b、与爆炸测试技术不同,它不必浪费时间等待所有模块都被创建才能执行
缺点a、控制应用程序流程的关键模块(该模块位于软件体系结构的顶层)是最后测试的,容易出现缺陷。
b、无法建立初始原型
  • 自上而下测试:

自上而下的集成测试是一种按照软件系统的控制流程从上到下进行集成测试的方法。集成测试过程是首先测试较高级别的模块,其次测试和集成较低级别的模块来检查软件功能。如果某些模块还没有准备就绪,则可以使用存根模块进行测试。

优点a、故障定位变得容易
b、可以实现早期原型的创建工作
c、优先测试关键模块便于很快发现并修复主要的设计缺陷。
自上而下集成的缺点a、需要许多存根
b、较低级别的模块不能得到充分测试。

(三)三明治测试方法:

三明治测试法是一种策略。在三明治测试策略,顶层模块与底层模块的测试是一同的,二者共同集成为一个系统进行测试。它是自上而下预测和自下而上预测方法的结合,因此被称为混合集成测试。它既利用了存根程序,也利用了驱动程序。

存根程序和驱动程序:存根程序和驱动程序是集成测试中的伪程序,有利于软件测试活动。这些程序可以替代测试中缺失的模型。它们不执行软件模块的整个编程逻辑,但在测试时会通过调用模块来模拟它们之间的数据通信。

存根程序/Stub由被测模块调用
驱动程序/Driver调用要测试的模块

怎么进行集成测试?

集成测试步骤包括:

  • 识别组件:识别应用程序中需要集成的各个组件。这包括前端、后端、数据库和任何第三方服务插件。
  • 创建测试计划:制定一个包括测试场景和测试用例在内的测试计划,并执行相应的测试以验证不同组件之间的集成点。其中包括测试数据流、通信协议和错误处理。
  • 设置测试环境:设置一个尽可能接近生产环境的测试环境。这会使得集成测试的结果更加准确可靠。
  • 执行测试:执行列出的测试计划,从最关键和最复杂的场景开始。确保记录集成测试过程中遇到的任何缺陷或问题。
  • 分析测试结果:分析集成测试的结果,以确定需要解决的任何缺陷或问题。这可能涉及到与开发人员一起修复错误或对应用程序架构进行更改。
  • 重复测试:缺陷修复后,重复集成测试的流程,以确保更改成功以及应用程序仍按预期工作。

集成测试的进入退出方法

集成测试的进入步骤:

  • 所有组件/模块要完成单元测试;
  • 修复并关闭所有高优先级错误;
  • 所有模块都要完成代码编写并成功集成;
  • 集成测试计划、测试用例、测试场景都要经过批准并作记录;
  • 部署集成测试所需的测试环境。

集成测试的退出机制:

  • 成功测试集成的应用程序;
  • 记录执行的测试用例;
  • 修复并关闭所有高优先级错误;
  • 提交技术文件之后发布说明。

集成测试原则

  1. 首先,确定可以选用的集成测试策略,再根据相应的测试策略准备测试用例和测试数据;
  2. 研究应用程序的体系结构从而确定关键模块,优先测试这些关键模块;
  3. 从体系结构团队那里获得接口设计,并创建测试用例来详细验证所有接口信息。必须详细测试系统与数据库/外部硬件/软件应用程序交互的接口;
  4. 在完成测试用例之后,测试数据开始发挥关键作用;
  5. 在执行集成测试之前准备好模拟数据。但在执行测试用例时不要选择测试数据。

软件测试英语词汇

登录界面英文Login Interface
优先测试英文Priority testing

单元测试的内容

单元测试的定义

单元测试是软件测试类型的一种,主要测试的是软件的单个单元或组件。单元测试的目的是验证软件代码的每个单元是否按预期执行。单元测试是在编码阶段完成的,方法是隔离一段代码并验证其正确性。一个单元可以是一个单独的功能、方法、进程、模块或对象。

在SDLC、STLC、V模型中,单元测试是在集成测试之前进行的第一级测试。单元测试是一种白盒测试方法,通常由开发人员执行。然而在实际工作中,由于时间关系或开发人员的推诿,很多时候单元测试都是由QA工程师执行的。

单元测试的目的和意义

单元测试的意义:

单元测试之所以很重要是因为软件开发人员有时会为了节省时间做最小的单元测试,而这有一定的风险,因为不健全的单元测试会增加在系统测试、集成测试以及应用程序构建后的Beta测试(一种验收测试)阶段的缺陷修复成本。如果单元测试在早期开发阶段执行得当,那么就会在很大程度上节省时间和金钱。

以下是在软件工程中执行单元测试的主要目的:

  • 单元测试有助于在软件开发周期的早期修复错误以达到节省成本的效果。
  • 单元测试有助于开发人员理解测试代码库,并帮助他们快速做出更改
  • 良好的单元测试可作为项目文档模板
  • 单元测试有助于代码重用。将代码和测试迁移到新项目中,经过调整后的代码就可以再次运行测试。

如何执行单元测试

为了执行单元测试,开发人员会编写一段代码来测试软件应用程序中的特定功能。开发人员还可以隔离此函数来进行更严格的测试,从而揭示被测试的函数和其他单元之间不必要的依赖关系并加以消除。开发人员通常使用UnitTest框架原理来开发可用于单元测试的自动化测试用例。单元测试类型有两种:

  • 手动单元测试
  • 自动单元测试

单元测试通常是自动化执行的,也可以通过手动执行来完成。软件工程并不偏爱其中一种,但自动化是首选。单元测试的手动操作可以采用循序渐进的指导文档。

以下是单元测试自动化测试方法:

  • 开发人员会在应用程序中编写一段代码来测试功能。他们稍后会注释掉该段代码(使其暂时不运行),并最终在部署应用程序时删除测试代码。
  • 开发人员还可以隔离该函数,对其进行更严格的测试。这是一种更彻底的单元测试实验,涉及到将代码复制并粘贴到本地测试环境中而不是真实自然环境中。隔离代码有助于揭示正在测试的代码与产品中的其他单元或数据空间之间的不必要的依赖关系,从而消除这些依赖关系。(本地测试环境-是在自己电脑上配置一个运行网站的虚拟空间, 主要用于测试程序,测试数据,开发程序或者开发模板等)
  • 程序员通常使用UnitTest框架来开发自动化测试用例。开发人员使用自动化框架将标准编码编到测试中,目的是验证代码的正确性。在测试用例的执行过程中,单元测试框架会记录失败的测试用例。而且,许多自动化测试框架还会自动标记这些失败的测试用例并将其生成报告。最后会根据故障的严重程度,框架可能会停止后续测试。
  • 单元测试的测试流程是: a、创建测试用例、b、审查/返工、c、设计测试用例基线(/基础测试用例)、d、执行测试用例。

单元测试技术分类

单元测试技术主要分为三个部分:黑盒测试-测试用户界面的输入输出功能;白盒测试-测试软件应用程序的功能行为;灰盒测试-用于执行测试套件、测试方法、测试用例和执行风险分析。单元测试中使用的代码覆盖技术如下所示:

  • Statement Coverage- 语句覆盖率
  • Decision Coverage- 判定覆盖测试
  • Branch Coverage- 分支覆盖率测试
  • Condition Coverage-条件覆盖测试
  • Finite State Machine Coverage- 有限状态机覆盖率

单元测试用例:模拟对象

单元测试依赖于创建模拟对象来测试一段尚未成为完整应用程序一部分的代码。模拟对象填补了程序中缺失的那部分。例如,你有一个函数需要使用尚未创建的变量或对象。在单元测试中,这部分缺失将以模拟对象的形式进行说明,而该模拟对象仅为该代码段进行单元测试而创建。

单元测试的测试工具

自动化测试中用于实现单元测试的工具是:

  • Junit: Junit是一个免费的测试工具,适用于Java编程语言。它使用断言(assertion)来识别测试方法。Junit工具首先测试数据,然后再将其导入代码段中。
  • NUnit:  NUnit是被所有.net语言广泛使用的单元测试框架。它是一个开源工具,允许测试人员手动编写脚本,还支持可以并行运行的数据驱动测试。
  • JMockit: JMockit是一个开源的单元测试工具。它是一个代码覆盖率工具,允许使用记录和验证语句来模仿API。JMockit测试框架提供了线路覆盖、路径覆盖和数据覆盖。
  • EMMA: 代码覆盖率工具EMMA是一个开源工具包,用于分析和报告由Java语言编写的代码。Emma支持的覆盖类型有方法、线、语句块(basic block)。它是基于Java的,因此没有外部库依赖项,并且可以访问源代码。
  • PHPUnit: PHPUnit是PHP程序员的单元测试工具。它获取被称为单元的代码的一小部分,并分别测试其中的每一段。该工具还允许开发人员使用预定义的断言方法来断言系统以某种方式运行。

测试驱动开发TDD

TDD测试驱动开发中的单元测试涉及了对测试框架的广泛使用。单元测试框架用于创建自动化的单元测试。单元测试框架并不是TDD独有的,但却是对测试驱动开发至关重要的。下面我们来看看TDD帮助单元测试项目实现了些什么:

  • 测试用例是在编写代码之前编写的
  • 极度依赖测试框架
  • 应用程序中的所有类(classes)都经过了测试
  • 实现了快速简便的集成

软件测试知识点:

  • SDLC全称:Software Development Life Cycle/软件生命周期
  • STLC: Software Testing Life Cycle/软件测试生命周期

决策表测试用例怎么做

决策表设计测试用例的步骤

决策表测试用例条件:

让我们以某个应用程序的登录界面为例。登录要求规定如果用户提供了正确的用户名和密码,则会被指引到主页面。如果出现任一输入错误,屏幕上将会显示一条错误消息。

例 1:

条件Rule 1/TC1Rule 2/TC2Rule 3/TC3Rule 4/TC4
邮箱(输入)TTFF
密码 (输入)TFTF
行为(输出)HEEE

在以上的例子中,T代表输入正确的邮箱ID/密码;F代表输入错误的邮箱ID/密码;H代表向用户显示了主页;E代表向用户显示了错误信息;TC代表测试用例。

接下来,让我们根据以上提供的输入值(电子邮件ID和密码)来看一下决策表测试用例怎么写。

  • 测试用例 1– 电子邮件ID和密码都是正确的。因此用户应该被指引到网站的主页;
  • 测试用例 2-电子邮件ID正确,但密码错误。因此用户会收到一条错误消息,提示“密码不正确”;
  • 测试用例 3- 电子邮件ID错误,但密码正确。因此用户会收到一条错误消息,提示“电子邮件ID不正确”;
  • 测试用例 4- 电子邮件ID和密码都不正确。因此用户会收到一条错误消息,提示“电子邮件ID不正确”。

在以上的测试用例中,我们将所有可能的输入条件和测试用例都包括在内了,测试团队可以参考此决策表来创建适合自己产品的测试用例,以便在软件测试级别上发现可能出现的错误。


决策表测试场景有哪些?

例 2:现有一个对话框要求用户上传文件,规格要求:该文件应为.png格式;文件的大小应小于25kb;文件分辨率必须为132*170px。

我们使用决策表法设计测试用例如下:

条件Rule 1/TC1Rule 2/TC2Rule 3/TC3Rule 4/TC4Rule 5/TC5Rule 6/TC6Rule 7/TC7Rule 8/TC8
格式(Input).png.png.png.pngNot.pngNot.pngNot.pngNot.png
大小(Input)<25kb<25kb>=25kb>=25kb<25kb<25kb>=25kb>=25kb
分辨率(Input)= 132*170px!= 132*170px=132*170px!= 132*170px=132*170px!= 132*170px=132*170px!= 132*170px
输出值(Output)成功上传了.png 格式的文件报错:分辨率不匹配报错:大小不匹配报错:大小不匹配报错:格式不匹配报错:格式不匹配报错:格式不匹配报错:格式不匹配
标注:!=为C语言符合,意为不等于

基于上述决策表数据,为了全面覆盖决策表列出的测试规范,我们创建了八个不同的测试用例:

  • 测试用例 1:点击上传,添加一个格式为“.png”类型的文件,文件小于25kb,分辨率为132*170px。预期输出结果是照片成功上传;
  • 测试用例 2:点击上传,添加一个格式为“.png”类型的文件,文件小于25kb,分辨率小于132*170px。预期输出结果是显示“文件分辨率不匹配,用户无法上传文件”字样的报错信息;
  • 测试用例 3:点击上传,添加一个格式为“.png”类型的文件,文件大于25kb,分辨率为132*170px。预期输出结果显示“文件大小不正确,用户无法上传文件”字样的报错信息;
  • 测试用例 4:点击上传,添加一个格式为“.png”类型的文件,文件大于25kb,分辨率小于132*170px。预期结果显示“文件大小不正确,用户无法上传文件”字样的报错信息;
  • 测试用例 5:点击上传,添加一个格式不是“.png”类型的文件,文件小于25kb,分辨率为132*170px。预期输出结果显示“文件格式不匹配,用户无法上传文件”字样的报错信息;
  • 测试用例 6:点击上传,添加一个格式不是“.png”类型的文件,文件小于25kb,分辨率大于132*170px。预期结果显示“文件格式不正确,用户无法上传文件”字样的报错信息;
  • 测试用例 7:点击上传,添加一个格式不是“.png”类型的文件,文件大小为25kb,分辨率为132*170px。预期结果显示“文件格式不正确,用户无法上传文件”字样的报错信息;
  • 测试用例 8:点击上传,添加一个格式不是“.png”类型的文件,文件大于25kb,分辨率小于132*170px。预期结果显示“文件格式不正确,用户无法上传文件”字样的报错信息。

从以上两个例子我们可以得出结论:为了找到决策表的所有可能条件的数量,可以使用2^n公式,其中n表示输入的数量;在示例1中,输入的数量为2个(一个是电子邮件ID,另一个是密码),那么套用公式:

  • 可能的测试条件数量=2^输入条件数量 (2^=2的n次方)
  • 可能的试验条件数量=2^2=4

因此,在示例1的情况下,我们涵盖了四个测试用例。

在示例2的情况下,有3种不同类型的输入:文件格式、大小和文件分辨率。代入相同的2^n公式:

  • 可能的测试条件数量=2^输入条件数量
  • 可能的试验条件数量=2^3=8   

因此,在示例2的情况下,我们就涵盖了八个测试用例。

决策表测试法

决策表软件测试

在软件测试行业里,有一句话是这么说的想要追求“彻底的测试是不可能的”。许多不同类型的软件测试技术都有自身的优缺点。测试人员需要根据项目需求和产品需求来选用一种更合适的测试技术来帮助他们明智地选择测试用例以及确保所有测试场景都能被覆盖。

根据ISTQB体系,软件测试技术分为两大类:

  1. 静态测试技术:在不运行软件产品的情况下,仅在规范或执行级别上测试组件或系统,例如,测试不同类型的计划、项目启动会议、准备工作等。
  2. 动态测试技术:需要测试软件产品或系统的运行。

动态测试技术再次细分为三类:

  • 基于规范的测试技术/黑盒测试技术/行为测试技术
  • 基于结构的测试技术/白盒测试技术/结构测试技术
  • 基于经验的测试技术

基于规范的测试技术是一种根据对规范的分析来推导或选择测试用例的过程,可以是对组件或系统执行的功能性测试也可以是非功能性测试,但不考虑内部结构。简而言之,测试人员更专注于软件的用途,而不是它如何工作。

再往下细分,有四种基于规范的设计技术:等价类划分法、边界值分析法、决策表法、状态转换测试法。等价划分法和边界值法通常更侧重于对用户界面的测试,而决策表法和状态转换测试方法则更侧重于对业务逻辑或业务规则的测试。

决策表的概念

决策表测试的定义是:“决策表”是一种简明的视觉表示,用于明确规定按照既定条件或输入条件需要执行哪些操作。这些算法的输出(是指算法在执行过程中或终止前)是一组操作。这些操作可以进一步被应用于设计测试用例。

决策表测试是一种黑盒测试设计技术,其中测试用例被设计为执行决策表中列出的输入组合。软件测试决策表是测试输入组合的好方法。决策表法测试方法有时也称为“因果”表。因为它包含一种被称为“因果图”的相关逻辑图解技术,有时还会被用于帮助推导决策表。

决策表可以用于自动化操作吗?

如上所述,决策类型测试是一种基于系统或组件的输入和输出相结合来设计测试用例的技术。决策表分析有助于覆盖所有可能的场景,并减少测试冗余和复杂性。不过,手动创建和执行决策表测试是非常耗时且容易出错。使用自动化决策方式可以给我们带来以下几个优势:

  • 节省时间和精力
  • 提高测试覆盖率,提升测试质量。
  • 提高可维护性和可扩展性,促进团队间的沟通与协作。
  • 测试用例自动生成并自动执行消除了人为错误
  • 更新测试用例变得很容易,在不同的场景中重复使用测试用例可以提升流程效率。

这就是测试人员需要使用一些工具或技术来实现自动化决策表测试的原因。

决策表适用于什么场景  

决策表使用条件:使用决策表的第一个任务是识别一个合适的功能或子系统,观察其行为是否会根据输入组合或事件组合做出相应的响应。我们以任一应用程序的登录界面为例,这其中包含如用户名、密码、双因素身份验证等不同的输入,以及如无效密码不允许登录、只有授权的用户名和正确的密码才能登录应用程序等不同的操作/输出。

此外,务必确保不要有太多的输入数据,否则组合数量会变得繁琐和难以管理。如果你必须处理批量的输入条件,建议先把它们划分成子集,一次处理一个子集。一旦你确定了需要组合的方面,可以将它们放入一个表中,列出每个条件的True和False的集合。在下一篇的两个例子中,我们将了解如何在不同的软件项目中应用决策模型。

OSI安全体系结构概念

什么是OSI安全框架      

OSI安全体系结构定义: 企业的网络安全涉及到每一个员工的安全隐患。安全保障体系是网络技术的支柱。如果不考虑网络安全问题,很难想象我们的网络世界会变成怎样。因此,网络安全体系结构是企业的一个重要环节。OSI(开放系统互连)安全体系结构为OSI七层模型提供安全防护措施定义了系统的方法。为了保证通过网络传输的数据安全性,OSI安全体系为OSI每一层的协议都定义了安全服务和安全机制。这些安全服务和安全机制有助于确保数据的保密性、完整性和可用性。OSI体系结构是被世界认可的,它规定了企业提供安全技术服务的流程。

OSI安全体系架构侧重于以下三个部分:

  • 网络安全攻击
  • 网络安全机制:安全机制是一种保护系统、网络或设备免受未经授权的访问、篡改或其他构成安全威胁的手段。
  • 网络安全服务

OSI安全体系结构由哪些部分组成?  

OSI安全体系结构主要包括: 安全攻击、安全机制和安全服务。我们将详细讨论每一个部分:

一 、安全攻击是指个人或实体(可发送或接收信息的硬件或软件进程)试图获得未经授权的访问权限来破坏或危害系统、网络或设备的安全。这些都被认为是将企业的安全置于危险之中的行为。

安全攻击分为哪两类?安全攻击的分类:被动攻击、主动攻击

A、被动攻击是什么?

被动攻击的定义:被动攻击是由第三方入侵者发起的攻击,被动攻击的手段是入侵者通过密切监视或窃听传输信息来设法访问发送方和接收方共享的消息/内容/数据。被动攻击型是指攻击者在不主动破坏或更改系统、网络或设备的情况下观察或监控系统、网络和设备的活动。被动攻击的目的是收集信息或情报而不是造成破坏或中断。被动攻击的本质是窃听或监视数据传输。

被动攻击特点:遭受被动攻击的发送方和接收方都不知道他们的消息/数据已被第三方入侵者访问,因为消息/数据的传输保持了正常的形式,被动攻击行为与正常行为并无二异。这使得被动攻击具有危险性,因为在通信过程中系统不会提示任何正在进行的攻击行为。防止被动攻击的一种方法是加密需要传输的消息/数据,它可以防止第三方入侵者使用已访问到的信息。

被动攻击分为哪两类:

  • 窃听设备:是攻击者在两方或多方不知情或不同意的情况下拦截和监听通信内容。窃听可以利用多种技术来实现,例如数据包嗅探攻击或网络中间人攻击。
  • 流量分析攻击:是指攻击者采用分析网络流量模式和元数据特征来收集有关系统、网络或设备的信息。流量分析攻击的方法:入侵者无法读取消息,只能理解加密的模式和长度。流量分析攻击可以使用各种技术来执行,例如网络流分析或协议分析方法。

B、主动攻击是什么?

主动攻击是一种攻击者主动破坏或更改系统、网络或设备活动的网络攻击类型。主动攻击主要是收集信息而不是访问数据。主动攻击的特点是发送方和接收方都不知道他们的消息/数据已被第三方入侵者修改了。然而消息/数据的传输并没有保持其通常形式,会显示其与通常行为有偏差。这使得主动攻击类型具有危险性,因为在通信过程中系统不会提供发生攻击的信息,而且接收方不知道接收到的数据/消息不是来自发送方的。

主动攻击的方式有哪些?

  • 伪装攻击:是主动攻击方式的一种,攻击者假装是经认证的发送者,以此来获得对系统的未经授权的访问。用户伪装攻击是指攻击者使用被盗或伪造的用户凭据,或以其他方式操纵身份验证或授权控制。
  • 重放攻击是一种主动攻击的类型,攻击者通过被动通道截获传输的消息,然后恶意或欺骗性地重放信息或延迟它的传输。
  • 修改消息攻击:属于主动攻击的分类,它是指攻击者修改传输的消息,并使接收方接收到的最终消息看起来不安全或没有意义。篡改消息的攻击可用于操纵消息内容或中断通信过程。
  • 拒绝服务(DoS)攻击:是指攻击者向系统、网络或设备发送大量流量,试图使其不堪重负无法为合法用户提供服务。

二、OSI安全体系结构中的安全机制

安全机制的概念: 网络安全机制是为了识别企业的安全漏洞或防御攻击而建立的机制。安全机制的核心:负责保护系统、网络或设备免受未经授权的访问、篡改或其他安全威胁。安全机制可以在系统或网络的各个级别上实现,并且可用于提供不同类型的安全服务,例如机密性、完整性或可用性。

安全机制的种类:

  • 加密(Encipherment)是指使用算法将数据转换为只享有正确解密密钥的人才能读取的形式。文件文档加密可用于保护经由网络传输的数据,也用于保护存储在设备上的数据。
  • 数字签名是一种计算机安全机制,是指使用加密技术为数字文档或消息创建唯一的、可验证的标识符。数字签名的目的是确保文档或消息的真实性和完整性。
  • 流量填充:流量填充机制是一种用于向网络流量添加额外数据的技术,填充网络流程的目的是掩盖流量的真实内容,使其更难分析。
  • 路由控制:路由控制机制允许为特定的数据传输选择特定的物理安全路由,并允许更改路由,尤其是在怀疑存在安全漏洞时。

三、OSI安全体系结构的安全服务包括

安全服务是指可用于维护企业安全的不同服务。安全服务有助于防止任何潜在的安全风险的发生。OSI安全体系结构定义了五种安全服务,安全服务的分类

  • 身份验证:用于验证用户或设备身份来决定是授予或拒绝访问系统或设备的过程。
  • 访问控制:是指使用策略和步骤来确定允许谁来访问系统内的特定资源。
  • 数据保密:负责保护信息不被未经授权的一方访问或知晓。
  • 数据完整性:是一种安全机制,指的是使用技术来确保数据在传输或存储过程中不会被篡改或更改。
  • 不可否认性:是指使用技术创建一种可用于验证消息来源和传输记录的模式,主要用于防止发件人否认他们发送了消息。

OSI安全架构的优点有哪些

OSI安全架构的优点是什么 ?以下是OSI体系结构的优点:

  • 提供了安全保障
    • OSI体系结构为企业提供了所需的安全保障,防止了潜在的威胁和风险。
    • 管理人员可以轻松地处理安全问题,通过OSI体系结构轻松实现网络安全维护工作。
  • 高效管理任务
    • OSI体系结构便于管理人员借助强大的安全原则为企业构建安全模型。
    • 管理者在企业内部获得了一个高效地安排任务的机会。
  • 符合国际标准
    • 安全服务是国际化命名且被认可的,符合国际标准。
    • 以OSI体系结构命名的需求的标准定义是全球公认的。

网络安全英语词汇

主动攻击英语Active Attacks
安全机制的英文Security Mechanism

网络安全CIA的重要作用

网络安全CIA的重要性和意义

CIA三元组作用      

CIA三属性为评估企业安全程序和工具提供了一个简单而全面的高级检查表。一个有效的网络安全防护体系需要同时满足这三个组成要素:保密性、完整性和可用性,因为它们在信息安全系统中是缺一不可的。

CIA安全三要素在评估负面事件发生后出现了哪些错误以及哪个要素发挥了作用方面也很有价值。例如,在遭受勒索软件攻击事件后,发现可用性受到了损害,但现有系统仍然保护了重要信息的机密性。那么这些数据就可用于解决弱点并复制成功的策略和实施方案了。

什么时候使用CIA三要素最好?

出于对安全方面的考虑,在大多数情况下企业都应该使用CIA安全信息模型三要素,因为CIA三元组的每个组件都很重要。尤其是在围绕数据分类、管理权限和访问权限开发系统时极其有用。企业在解决网络漏洞时更应该严格使用信息安全三要素CIA。一方面它可以成为破坏网络Cyber kill chain攻击链的强大工具(网络杀伤链指的是瞄准和执行网络攻击的过程)。另一方面信息安全CIA在帮你深入了解攻击者可能在寻找的目标后,再帮你完善实施政策和工具来充分保护这些资产。

此外,在对员工进行网络安全培训时,也可以借用CIA三元组。企业可以通过假设场景或真实案例研究来帮助员工思考有关信息和系统保密性、完整性和可用性方面的维护问题。

有关网络安全CIA的问题及答案

  • 网络安全的CIA指的是什么?   

网络安全的CIA指的是保密性(Confidentiality)、完整性(Integrity) 和可用性(Availability)。

  • 网络安全CIA的完整性是指什么?

网络安全CIA的完整性是指数据是否真实、准确、可信赖。

  • 如何确保网络安全CIA的保护和安全?

你可以使用安全措施,如FortiSIEM,它对关键业务系统提供了可见性并在CIA三要素受到威胁时执行响应。

网络安全词汇

保密性英文Confidentiality
直接攻击英文Direct Attacks
完整性英文Integrity
可用性英文Availability
实施工具英文Implement tools
拒绝服务攻击英文Denial-of-service /DoS Attack

网络安全词语: 中间人攻击英语怎么说-MITM/Man-in-the-middle attack

CIA概念的阐述

网络安全CIA是什么?    

网络安全主要包括哪三个要素?

网络安全的CIA指的是保密性(Confidentiality)、完整性(Integrity) 和可用性(Availability)。网络安全CIA三原则是构成安全系统发展基础的一种常见模式。网络安全CIA用于查找漏洞和寻找创建解决方案的方法。

网络安全CIA全称信息的保密性、完整性和可用性,这三大网络安全原则对企业的运营至关重要。网络安全CIA三要素将这三个概念划分为单独的重点分类。网络安全CIA三准则之间的差异性在指导安全团队精准采用不同方法处理不同问题时是非常有用的。

在理想情况下,当网络安全CIA的三个准则都得到满足时,企业的安全状况会达到更优,才能够更好地处理威胁事件。

  • 保密性原则

保密性是指企业为了确保数据保密或机密所做的努力。为实现数据的保密性,就必须要控制对信息的访问权限以防止有意无意的未经授权获得数据共享的权限。实现保密性的一个重要手段是确保未经适当授权的人员无法访问企业的重要资产。相反,一个有效的防护系统也能确保那些需要访问的人获得应得的权限。

例如,那些在企业里从事财务工作的人应该获得访问电子表格、银行账户和其他与资金流动相关的信息权限。然而,绝大多数其他员工,甚至是某些高管可能也无法获得此类访问权限。为了确保这些政策得到良好的遵守,企业必须制定严格的限制措施来限制企业内部人员获得应得的访问权限。

破坏数据保密性的攻击有好几种。它可能是直接攻击,攻击者主要获取对系统的访问权限但他们却无查看权限;也可能是攻击者发起的直接攻击,旨在尝试潜入应用程序或数据库来获取或更改数据。

这些直接攻击可能使用中间人(MITM)攻击方法,即攻击者将自己定位在信息流中拦截数据,然后再窃取或更改数据。一些攻击者也会通过参与其他类型的网络间谍活动来获取网络访问凭证。还有一些情况,攻击者会试图获得更多的系统权限来取得下一级别的清除权限。

然而,并非所有违反保密规定的行为都是故意的。人为失误或安全控制不足也可能是罪魁祸首。例如,无论是在工作站还是登录到受限区域,有人可能没有很好地保护自己的登录密码。还有就是用户可能会与其他人共享他们的登录凭据,或者允许他人在旁观看他们的登录信息。还有其它情况就是用户可能无法正确加密通信,从而导致攻击者截获了信息。此外,小偷也可能会窃取整个计算机或是登录过程中使用的硬件设备趁机来访问机密信息。

为了防止机密泄露,企业可以对保密数据进行分类和标记、并启用访问控制策略、实行加密数据及使用多因素身份验证(MFA)系统。此外,企业还需确保所有人员都接受了识别危险源并避免网络风险所需的培训和知识。

  • 数据完整性原则

完整性认定要求企业数据可信且不被篡改。数据完整性的维护需要数据真实、准确和可靠。

例如,如果公司网站上有显示相关高级管理人员的信息,这些信息需要具有完整性。如果信息不准确,那些访问网站想要获取信息的用户可能会觉得该企业不值得信任。而那些想要损害该企业声誉的既得利益者也可能会试图入侵您的网站,更改高管的描述、照片或头衔来损害个人或整个公司的声誉。

一般来说,对信息完整性的威胁往往是有意为之。攻击者可以绕过入侵检测系统(Intrusion Detection System /IDS)来更改文件配置以允许未经授权的访问,或者修改日志文件以隐藏攻击痕迹。而且信息完整性也可能因意外而受到侵犯。比如有人不小心输入了错误的代码或犯了其它粗心的错误。另外,如果公司的安全政策、保护和程序管理制度不充分,那么企业中任何一个人的信息都可能受到侵犯。

为了保护数据的完整性,企业可以使用hashing算法、加密软件、数字证书或数字签名技术。企业也可以依靠值得信赖的证书颁发机构(Certificate Authorities /CA)来验证网站的真实性,以便访问者知道他们正在访问自己想要访问的网站。

一种验证数据完整性的方法是不可否认性,指的是不能否定或否认某些事实。例如,如果公司的员工在发送电子邮件时有使用数字签名,则不能否认电子邮件是自己发送的。而收件人也不能否认他们收到了发件人的电子邮件。

  • 服务可用性

即便数据有被保密且具有完整性,如果企业人员和他们服务的客户不能够及时访问到这些数据也是无用的。这意味着系统、网络和应用程序必须在应该工作的时候正常工作。还要保证需要访问特定信息的个人在必要时能够使用这些信息,并且快速地获取数据。

例如,如果出现停电且没有适当的灾难恢复策略来帮助用户重新获得对关键系统的访问权限时,产品可用性将会受到影响。此外,洪水甚至严重的暴风雪等自然灾害可能会阻止用户进入办公区域,中断他们的工作站和阻碍其他提供关键业务信息或应用程序设备的可用性。还有,可用性也可能因蓄意破坏行为而受到损害,例如攻击者使用拒绝服务(Denial-of-service /DoS)攻击方式或勒索软件等。

为了确保产品或服务的可用性,企业可以使用冗余网络、服务器和应用程序。当主系统中断或被损坏时它们可以经过编程立马上任。企业还可以通过随时掌握软件包和安全系统的升级情况来提高其可用性。这样就可以降低应用程序发生故障的可能性或避免相对较新的威胁渗透到企业系统中。备份软件或数据以及制定一套完整的灾难恢复计划可以帮助公司在发生负面事件后尽快恢复产品或服务可用性。

网络安全的主要内容

网络安全的定义

网络安全的基本概念:网络安全,也称为信息技术安全。网络安全侧重于保护计算机系统、网络和数据免受盗窃、损坏或未经授权的访问。在当今互联互通的世界里,网络威胁来源可能来自各个方面,包括黑客入侵、恶意软件,甚至心怀不满的员工。网络安全的主要目标是为了保证信息的机密性、完整性和可用性。


网络安全的类型有哪些?

网络安全的类型可以分为以下几种,分别针对特定的威胁和漏洞。网络安全的类型有:

  • 网络安全防护:主要是针对通过网络传输或在网络访问过程中保护数据的完整性、机密性和可用性采取的措施。网络安全技术包括防火墙、入侵检测系统和VPNs。
  • 信息安全方针:主要保护的是数据免受未经授权的访问、并确保其机密性、完整性和可用性(也称为“CIA三要素”)。保护措施既可以采用密码学等数字化技术,也可以采用数据中心和服务器机房的物理安全措施等非数字化技术。
  • 端点安全管理:主要作用保护端点或“终端用户”设备,如计算机、移动设备和笔记本电脑。端点安全工具包括防病毒软件和反恶意软件。
  • 云安全技术:该领域专注于保护存储在云系统中的文件,因为网络安全云服务正日益受到企业和个人的青睐。
  • 应用程序安全性:可以确保软件应用程序安全、免受威胁。应用程序的安全方式有-使用软件、硬件和程序设计方法来保护应用程序免受外部威胁。
  • 身份和访问管理(IAM):IAM确保只有经过授权的个人才能使用多因素身份验证等工具访问某些特定的资源。

网络安全的职业有哪些?

网络安全领域为就业者提供了丰富的就业机会,每一个职位都需要独特的技能和一些挑战。网络安全领域的工作主要包括:

  • 网络安全分析师:网络安全分析师负责监控和保护企业的计算机系统和网络免受网络威胁。他们综合运用各种技术和分析技能来检测漏洞、应对违规行为和实施网络保护措施。
  • 网络安全架构师:安全架构师设计和创建用来保护企业计算机系统和网络所需的框架和结构。他们负责开发复杂的安全基础设施,并确保其能够适应不断演变的威胁形势。
  • 事件响应者:事件响应者的任务是迅速解决和管理企业内的安全漏洞或网络攻击。他们的主要职责是控制事件,最大限度地减少损害,恢复数据文件损坏,并确定漏洞的原因。这通常涉及到与各个团队的协调,分析入侵的性质,并实施策略以防止未来再次发生该类事件。
  • 法医计算机分析师:法医计算机分析师会从计算机系统、存储设备和网络中搜集、分析和保存电子证据来调查数字犯罪。他们的专业知识有助于揭示网络事件的细节,追踪恶意活动的起源,并提供可用于法律诉讼或加强安全措施的关键证据。

软件测试等价类划分法

等价类划分测试的重要性

等价分区技术增强了测试覆盖率,节省了时间和精力,提升了错误检测的能力,实现了测试用例的可重用性,提高了可维护性,并保证了测试的全面性。让我们进一步看看为什么要进行等价类划分。

  • 提高测试覆盖率:等价分区允许测试人员用最少的测试用例覆盖范围较广的输入值,确保软件在没有全面组合的情况下进行全面的测试。
  • 时间和精力成本:通过减少测试用例的数量,等价类划分帮助节省了花费在测试过程中的时间和精力,使其更具高效性和成本效益,这在营销活动中测试大量电子邮件中的HTML/CSS时尤为重要。
  • 错误处理测试:等价划分通过关注每个等价类中的临界值和边界值来帮助寻找缺陷,以此来增加识别潜在问题的可能性
  • 测试用例的可重用性:等价划分提高了测试用例的可重用性,因为定义良好的等价类分组可以为未来的测试周期生成额外的测试用例,从而减少重复工作。
  • 等价分类法的可维护性:使用等价划分维护测试用例会变得更容易,因为对底层等价类的更改可以反映在多个测试用例中,这样能确保一致性并减少维护工作量。

等价类划分优缺点

  • 等价类划分优点
  1. 提高测试覆盖率:等价划分允许测试人员从每个等价类中选出具有代表性的测试用例来覆盖大范围的输入值,既确保了全面覆盖率,又最大限度地减少了冗余测试。
  2. 测试用例设计的高效性:通过将输入值划分为等价类,测试用例设计会变得更加结构化和系统化。它帮助测试人员确定每个类的关键值和边界值,从而能够对潜在的失败区域进行集中测试。
  3. 节省时间和精力:等价划分减少了所需的测试用例数量、同时还保证了足够的覆盖率、优化了测试工作。这不仅节省了时间和精力,使得测试过程更加高效。
  4. 缺陷检测:等价划分通过针对特定等价类及其边界的检验来增加检测缺陷的可能性。通过测试每个类的代表性值,测试人员可以识别潜在的问题或故障。
  • 等价类划分缺点
  1. 局限于输入值:等价划分主要聚焦在输入值及其等价类分组。它解决不了包含系统行为或组件之间的交互等在内的其他因素,而这些因素也可能是导致缺陷的原因。
  2. 复杂场景的不适应性:在具有多个输入或依赖项的复杂场景中,定义准确而全面的等价类分组可能会有一定的挑战性。它需要仔细分析和考虑各种因素,这可能会增加测试过程的复杂性。
  3. 对领域知识的要求:等价划分依赖于领域知识和对被测系统的理解。测试人员需要清楚地了解输入值及其分类来准确地识别和定义等价类。
  4. 忽略缺陷的可能性:虽然等价分区提高了测试覆盖率,但它不能保证能检测到所有缺陷,有可能会忽略已被定义的等价类之外的特定场景或边缘场景。

通过对等价类划分优缺点分析,测试人员可以就何时以及如何在测试方法中有效地应用该技术做出明智的决定。

软件测试面试题

Q1、等价划分是黑盒还是白盒?   

等价分类法属于黑盒测试技术。它侧重于从外部角度测试软件的功能,而不考虑内部结构或实现细节。测试人员在不了解系统内部工作的情况下,根据输入值的预期行为将其识别并分类为等价类。等价类测试方法是在保持与内部代码独立性的情况下对系统执行全面测试的。

Q2、等价类划分测试需要多少测试用例呢?

等价划分的测试用例数量取决于已识别的等价类的数量。一般来说,每个等价类至少需要一个测试用例来表示该类。因此,测试用例的总数将等于已识别的等价类的数量。不过值得注意的是,可能还需要一些额外的测试用例来覆盖每个等价类中的特定边界或边缘用例。所以,测试用例的确切数量可能会根据系统的复杂性和已识别的等价类而有所不同。

Q3、等价类测试方法用于哪些方面?

等价划分可以被软件测试中的各种利益相关者所使用,包括手动测试人员、测试自动化工程师、QA分析师和经理、开发人员以及非技术产品团队成员。通过将输入值分类为等价类,不仅提高了测试工作的有效性和准确性,还能生产出更高质量的软件产品。

IT常用英语 

等价划分英文简称是Equivalence Partitioning
CSS英文全称Cascading Style Sheets /层叠样式表
缺陷检测英语Defect Detection

简述等价类划分法的原则

软件测试中的等价划分

在软件测试领域,确保应用程序的可靠性和准确性是极其重要的工作。然而,为了节省时间和精力,我们也需要高效地执行测试。这也是测试技术开始发挥作用的地方。在本文中,我们将深入研究如何进行等价类划分、等价类划分的步骤以及如何实现等价类划分的自动化来执行高效和有效的测试。

  • 等价类测试是什么?

等价类划分定义:等价划分法是一种典型的黑盒测试,它允许测试人员将输入数据分组到集合或分组,并在尽可能减少测试用例数量的同时保证测试覆盖率的全面性。等价划分测试方法适应于处理大范围的输入值,我们可以通过一个例子来理解等价划分的概念和步骤。

  • 等价类划分法测试用例

以测试登录表单为例:假设我们有一个用户名字段的登录表单。为了执行等价划分法、应用等价类划分给出测试用例,我们将可能的输入值按照预期行为划分为等价类。

  1. 有效的用户名:长度为5到15个字符的字母数字用户名。
  2. 无效的用户名:用户名包含特殊字符或超过了长度限制。
  3. 用户名字段为空:将用户名字段留空。
  • 等价类划分的步骤
  1. 识别输入字段:确定要测试的输入字段,比如我们示例中的用户名的字段名。
  2. 定义等价类:将可能的输入值分为不同的等价类。所有等价类代表着一组具有相似行为或特征的输入。
  3. 确定代表值:从每个等价类中选择代表值。这些数值应涵盖每组分类的边界条件和关键场景。
  4. 创建测试用例:生成涵盖每个等价类的测试用例。例如,一个测试用例将包括一个有效的用户名,另一个将包含一个无效的用户名,而第三个测试用例则包含一个空用户名。
  5. 执行测试用例:使用定义好的等价类运行测试用例,来验证系统的行为、观察并记录每个测试用例的结果。

通过遵循这个等价类划分法步骤,测试人员可以有效地应用等价类划分测试方法来简化测试用例设计,全面测试覆盖点,同时最大限度地减少测试冗余。

功能测试与性能测试

功能测试和性能测试的区别与联系

  • 软件测试的基本原则

理想的软件测试流程必须包括一套整体的方案,还要结合各种测试技术来交付高质量的软件。从广义上讲,任何应用程序的测试都可以基于两个前提进行分解—“可操作性”和“高效性”。“可操作性”是功能测试的主要任务,“高效率”是性能测试的主要任务。

  • 功能测试主要测什么?

功能测试评估了软件系统的个体行为和内聚行为功能,以验证它们是否符合预定义的规范要求。功能测试主要测试的是:在满足功能和业务需求的条件下,软件系统功能的准确性、子系统的互操作性以及对预定义标准的遵从性。

  • 性能测试主要测什么?

性能测试是一种非功能测试技术,性能测试主要是对系统进行测试,然后在类似生产的环境中测量、验证及确认系统的响应时间、稳定性、可扩展性、响应速度和可靠性。


性能测试与功能测试的关系

  • 软件测试的目的是什么?

软件测试检查所有类型的应用程序和系统程序,预先识别以后可能引起问题的故障,如软件的可用性和可靠性、数据输入&数据处理&数据输出,以及其他可能让用户感到沮丧或比如损害用户数据等更糟糕的问题。

功能测试定义

软件功能测试确保了软件应用程序符合基于项目需求的功能规范。功能测试由运行每个软件功能的测试人员执行,功能测试包括什么?

  • 测试登录界面:观察登录过程,看看用户是否能够顺利进入应用程序
  • 测试主要功能:确保应用程序是否运行正确操作
  • 测试用户界面:确保屏幕导航简单直观,每个按钮或链接都能将用户带到预期位置
  • 测试错误率:确定产生错误必备的条件以及是否出现适当的错误消息
  • 测试支付功能:检查支付系统的稳定性,以确保用户能够无缝支付

功能测试包含哪些测试?

  • 单元测试:确保应用程序的每个组件(或“单元”)按预期工作
  • 冒烟测试:确定每个功能是否正常工作
  • 安全性测试:检查并确定微小的修改是否解决了本应被解决的问题
  • 回归测试:确保某些更新不会导致新问题出现
  • 系统测试:是一种高级测试,它显示了系统是否满足技术、功能和业务需求
  • 用户验收测试:通常在一系列测试中最后执行,它需要确保应用程序能够适用于真实的场景

性能测试的定义

性能测试的主要目的是什么?性能测试的主要目的是消除任何阻碍性能顺利工作的因素。功能测试的侧重点是应用程序的功能,而性能测试是将软件视为一个系统应用来检查的,目的是确保它能够处理预期的流量,快速响应用户需求,并以适当的速度运行。系统会在各种条件下进行测试,来确保它能够应对不同的场景。

性能测试与功能测试一样重要,因为它对公司及客户的影响同等重要。比如说,如果一个web应用程序加载速度慢的话客户就很容易放弃它。当太多人使用客户关系管理(CRM)系统时,该程序如果崩溃,那么员工就会摈弃它。

性能测试的方法:

  • 负载测试:检查系统允许载流量和最大载流量
  • 耐久性测试:检查一段时间内的负载是否正常、确保系统稳定运行
  • 性能测试容量测试:确定加载大量数据时应用程序的工作效率
  • 可扩展性测试:确保软件能够处理不断增长的用户或数据
  • 压力测试:确定硬件资源(如CPU、内存和磁盘空间)对软件的最大支持量

功能测试与性能测试的区别

 功能测试性能测试
目标验证性能完好验证行为
测试的重点用户期望值用户的需求
测试数据输入性能要求功能需求
测试执行顺序功能测试之后性能测试之前
测试方法支持自动化手工、自动化或众包
模拟生产环境测试方法偏爱不要求
基础设施的要求
测试时长
功能要求改变的影响
测试工具类型Loadrunner, JmeterSelenium, QTP, WinRunner

IT专业术语英语

可操作性英文Operability
高效性英文Efficiency
子系统英文Subsystems
预定义英文Pre-defined
用户需求英文User Requirements
测试方法英文Test approach
用户界面英文User Interface
预期位置英文Expected location
耐久性测试英文Endurance Testing

网络基础设施安全的主要内容有哪些?

网络基础设施安全的主要内容

网络基础设施安全是指什么?

网络基础设施安全通常应用于企业IT环境,网络基础设施安全是指通过建立网络预防措施来保护根本网络基础设施的流程,目的是拒绝未经授权的访问、修改、删除以及盗用资源和数据盗用。网络安全措施有哪些互联网网络安全措施包括访问控制、应用程序安全设置、防火墙配置、虚拟专用网络连接(VPN)、网络行为分析软件、入侵防护系统和无线网络安全设置。

网络基础设施安全是如何工作的?

网络基础设施安全需要一个整体的方案来应对正在运行的流程和实践来确保底层基础设施得到全面防护。网络安全和基础设施安全局(CISA)建议在解决实施方案时可以考虑多种方法。

网络基础设施安全包括:

  • 网络分段&隔离网络功能:在做网络划分&网络功能区域划分时应特别注意基础设施的总体布局。按网络的功能和结构适当的划分与隔离是一种极其有效的安全机制,这样做可以阻止潜在的入侵者利用漏洞将病毒传播到内网范围。使用诸如路由器之类的硬件可以分割网络,并创建过滤广播流量的边界。而且,这些微分段可以进一步限制流量,甚至在检测到有攻击时会关闭网络。虚拟分离在设计上类似于使用物理路由器分割网络,只不过无需硬件设备。  
  • 限制不必要的横向通信:网络中的对等通信也是不容忽视的。对等机之间未经过滤的通信允许入侵者在计算机之间自由活动。这为攻击者提供了运用植入后门程序或安装应用程序等方法在目标网络中注入顽固病毒的机会。
  • 强化网络设备管理:强化网络设备是增强网络基础设施安全性的主要方法。建议网络安全员遵守与网络加密、可用服务网络、安全访问、强密码以及保护路由器、限制物理访问、备份配置以及定期测试安全设置要求等相关的行业标准和最佳范例。
  • 保护网络基础设施设备的访问权限:授予受信任用户某些管理权限,允许其访问相关资源。为了确认用户的真实有效,网络安全工程师会执行多因素身份验证(MFA)、管理访问权限和管理管理员凭证等措施。
  • 执行带外(OoB)网络管理OoB管理是采用专用通信路径来远程管理网络设备的。它是将用户流量从流量管理中分离出来从而加强网络安全的。
  • 验证硬件和软件的完整性:灰色市场商品是IT基础设施的一大威胁,因为它们允许入侵者实施网络攻击。非法产品可能已经预装了恶意软件,等待入侵毫无防范措施的网络系统。企业应定期对其设备和软件实施完整性检查。

网络基础设施安全的意义和作用

网络基础设施安全的重要性是什么?

网络基础设施安全面临的最大威胁来自黑客和恶意应用程序,它们不断攻击并试图控制路由基础设施。网络基础设施组件包括网络通信所需设备,包括路由器、防火墙、交换机、服务器、负载均衡器、入侵检测系统(IDS)、域名系统(DNS)和存储系统。网络基础设施的每一个部分都为想要在目标网络上放置恶意软件的黑客们提供了一个入口点。

  • 网关风险:获得访问网关路由器权限的黑客可以监控、修改和拒绝进出的网络流量。
  • 络安全渗透风险:黑客从内部路由器和网络交换设备获得更多的控制权,就可以监控、修改和拒绝网络内部关键主机设备之间的流量传输,并利用内部主机之间的信任关系横向传播到其他主机。

尽管黑客对网络会造成许多破坏性的攻击,但保护和防御路由基础设施对于防止深层系统渗透来说是至关重要的。

网络基础设施安全的意义是什么?

网络基础设施安全实施得当将会为企业网络带来几个关键好处,网络基础设施安全的优点包括:

  • 强化资源共享节省了成本:出于对数据资源的保护,网络上的资源在没有威胁的情况下可以被多个用户共享,这也降低了运营成本。
  • 共享站点许可证:站点证书要比给每台机器安装许可证更划算。
  • 文件共享提高了生产效率:用户可以通过企业网络安全地共享文件。
  • 内部通信具有安全性:内部邮箱系统和聊天系统都会受到保护,免遭窥探。
  • 分区和加密文件:与使用多用户共享的机器相比,分区或加密的用户文件和数据起到了互相保护的作用。
  • 数据保护:将数据备份到本地服务器既简单又安全,还保护了重要的知识产权。
网络基础设施安全的内容有哪些方面?

网络基础设施安全有多种类型,最好坚持多种形式来加强网络安全防护。网络基础设施安全的措施包括:

  • 访问控制:防止未经授权的用户和设备访问网络。
  • 应用程序安全设置:在硬件和软件上采取安全措施来锁定潜在的漏洞。
  • 防火墙:一种可以允许或阻止特定流量进入或离开网络的网关设备。
  • 虚拟专用网络VPN):VPN加密端点之间的连接,并在互联网上创建一个安全的通信“隧道”。
  • 网络行为分析系统:这些工具会自动检测那些偏离常规活动的网络活动。
  • 无线安全设置:无线网络远不如有线网络安全性高,随着新的移动设备和应用程序的激增,网络渗透的媒介也越来越多。

IT相关术语
网络基础设施英文Network Infrastructure
虚拟专用网络英文简称VPN/Virtual Private Network
虚拟分离英文翻译Virtual separation
对等通信英文翻译Peer-to-peer communications
网络基础设施安全英语翻译NIS/Network Infrastructure Security
入口点英文Entry point
内部通信的英文Internal communications
带外网络OoB/Out of Band network

网络安全是如何运行的?

网络安全的核心是什么?

在企业内部实施一个完整的、多层安全体系结构的网络安全包括两大类要素:访问控制和威胁管理。

  • 访问控制技术

防范网络安全是从访问控制开始的。如果危险分子获得了访问网络的权限,他们就可以监视流量并掌握网络基础设施建设的情况。一旦他们了解了网络基础设施和网络应用程序,就可以向其发起DDoS攻击或插入恶意软件。而访问控制模型限制了危险分子在整个网络中的活动。

  • 威胁管理

其次,即便采取了适当的访问控制,也可能出现问题。例如,一个危险分子可能会采取损害用户登录信息的方式来获得访问权限。因此,网络安全人员需要对已经允许的流量进行网络威胁控制。威胁管理阻止了危险分子在网络范围内可能造成的任何损害。

网络威胁怎么处理?

威胁控制技术实施的首要环节是部署防火墙和负载均衡器。首先,这些设备可保护网络免受DoS/DDoS攻击。其次,IDS/IPS计数器熟知那些通过网络传播的病毒攻击。最后,这些经由网络传播的未知恶意软件目标会被安全沙箱技术截获,而那些有着潜在威胁症状的异常网络流量则由NTA/NDR捕获。


网络安全的意义

网络安全是企业向客户和员工提供产品和服务保证的关键。从在线商店到企业应用程序再到远程桌面,保护网络应用程序和数据对推进业务及企业声誉来说至关重要。此外,有效的网络安全措施可以通过消除那些因攻击成功而造成的停工检修以此来提高网络性能。


网络安全的主要工具有哪些?

为了给网络安全提供全面的访问控制和威胁管理,我们通常会在网络内的多个点采用多层方法来实施控制。

网络安全的主要工具包括:

  • 防火墙软件:防火墙策略是在网络的可信区域和不可信域之间建立一道屏障。因此,防火墙是基于IP子网来执行访问控制和宏分割的。同一道防火墙还可以执行更细微化的分割,称为宏分割。  
  • 负载均衡器:负载均衡技术原理-负载均衡器会根据指标来分配网络负载。通过运用特定的缓解技术,负载均衡器超越了传统意义上的负载平衡,更具有对付如体积型DDoS攻击的能力。
  • IDS/IPS:典型的IDS/IPS防御系统是部署在防火墙后方的,它为数据包的各个部分提供了协议分析和签名匹配。协议分析是针对公开声明的协议规范进行的合规性检查。而签名匹配则可以防止那些已知攻击,比如SQL注入攻击。
  • 网络沙盒:沙盒技术原理类似于IDS/IPS技术,只是它不依赖于签名识别。沙箱软件可以模拟终端系统环境,并确定是否有恶意软件目标正在尝试扫描网段端口。
  • NTA/NDR网络流量分析:NTA/NDR技术用于直接查看流量或进行NetFlow流量分析,此外,它还会使用机器学习算法和统计技术来评估网络异常情况并确定是否存在威胁。NTA/NDR技术原理会尝试确定一个基线,有了合适的基线,就可以识别异常情况,如流量峰值或间歇性通信。

IT行业英语词汇

网络基础设施英语Network Infrastructure
DDos全称Distributed Denial of Service/分布式拒绝服务
负载均衡器英文Load balancer
IDS 翻译Intrusion Detection System/入侵检测系统
IPS入侵防御系统Intrusion Prevention System
NAT转换Network Address Translation/网络地址转换
NDR指标Network Detection and Response/网络检测与响应
流量峰值英文翻译Traffic Spikes
间歇通信英文翻译Intermittent Communication
宏分割Macro-segmentation

功能测试与非功能测试

功能测试包含哪些测试?

什么是功能测试服务?

软件测试中的功能测试是将软件系统的实际输出与预期行为进行了对比。功能测试提供的有关系统的整体情况要比单独测试单个模块更为清晰。系统频繁出现错误的地方正是模块之间交互的领域。功能测试包括测试底层代码的部分。

功能测试的类型:
  • 单元测试(又被称为非功能测试)
  • 集成测试
  • 用户验收测试
  • 封闭测试

功能测试基本测试方法  

  1. 单元测试
    • 单元测试的特点:API应用程序下的单元测试可能会对部署在测试环境中的系统发出请求,并将请求响应与文档规范进行对比。不过单元测试也有自身的局限性。当应用程序在功能方面出现偏差或回归时,通常只有在应用程序内执行的功能测试会检测到这些变化,而单元测试则检测不到。
  2. 集成测试
    • 集成测试的目的:集成测试验证了软件模块是如何协同工作的。当开发人员将代码编写为松散耦合的模块时(通常应该是这样),组件则依赖于显现契约来进行交互。集成测试验证了软件的每一部分是否履行合同约定,并在这些交互引入回归时生成警告。  
  3. 用户验收测试
    • 用户验收测试的主要目的:软件测试中的用户验收测试:在软件测试的用户接收阶段,开发人员会为终端用户或其代表提供应用程序的部分或全部,来展示其在真实世界的交互和功能运转。
  4. 封闭式测试
    • 封闭测试是什么?功能测试还包括对整个应用程序的封闭测试。封闭式测试是在不检查系统内部运行的情况下全面地处理应用程序的输出请求。许多测试工程师在编写功能测试方案时都倾向于使用封闭测试来完善软件测试非功能测试部分。在封闭测试中,与软件系统最外层交互的代码会被执行自动化测试,而且工程师也只评估代码输出。封闭式测试流程对于只需要执行API测试的应用程序来说简单易行,因为代码只需进行API调用和做结果评估。
    • 软件封闭测试:当封闭式测试用于有用户界面的应用程序时,软件测试流程就会变得越来越复杂。解决这个难题的一种方法是使用像Selenium这样先进的测试工具。这种测试工具允许代码与应用程序交互,正如用户与web浏览器之间的交互一样。Selenium及其类似的工具在将用户验收测试自动化的同时也提高了测试的可靠性。

非功能性测试有哪些

什么是非功能性测试?

软件测试之非功能性测试用于评估相对功能而言不太重要但有利于提高终端用户体验的应用程序属性。欠载状态下的性能和可靠性虽不是软件系统的组成部分,但无疑会影响用户体验的成败。非功能测试中的失败并不总会产生一些能让用户可能会注意到的问题,但它会表明系统存在着问题。  

非功能测试的类型:
  • 性能测试
  • 负载测试
  • 可用性测试
  • 安全测试

非功能测试的测试方法

  1. 性能测试
    • 性能测试的作用:在非功能测试类型中一个必不可少的流程就是性能测试。性能测试确保软件系统能够及时响应请求。糟糕的延迟会破坏用户体验,而一份书写良好的软件性能测试用例往往会在用户察觉之前就发现问题。
  2. 负载测试
    • 什么是负载测试?负载测试也是非功能测试的一种。鲜有系统能在每秒响应一个请求下与每秒响应10000个请求时执行相同的操作。负载测试验证了系统是否能够处理峰值负载,并在缺乏处理工作负载峰值资源的情况下坦然面对失败。
  3. 可用性测试
    • 可用性测试的必要性:可用性测试是用来衡量用户体验的质量。在大多数情况下,产品可用性测试是一个手动执行的过程,但适用范围有限。如果在应用程序本地化过程中缺少了可用性测试,用户界面就会出现混乱且不直观的情况。可用性测试在软件开发过程中还是必不可少的。
  4. 安全性测试
    • 安全性测试的必要性:安全测试也是非功能测试的一种。测试团队应该定期测试他们负责的应用程序,以确保它们的安全性以及能正确地处理数据。安全测试的主要内容包括从自动扫描到定期渗透测试等,具体方法取决于应用程序暴露于潜在威胁的程度。

功能测试和性能测试的区别与联系

功能测试需要确认的是代码有否正常运行,而非功能测试则验证了代码是否按软件规范标准运行。功能测试和非功能测试都包含了可用于验证前端元素和后端元素及其行为的方法。在开发人员可能运行的测试类型分类中,功能与非功能测试间会有一些重叠。

参数功能测试非功能测试
定义功能测试验证应用程序的操作和行为过程。非功能性验证应用程序的性能。
测试基于基于客户的要求基于客户的期望
目标验证软件的功能验证软件系统的性能
必要条件功能测试的执行需参照功能规范要求。非功能测试的执行需参照性能规范要求
功能性描述了产品的功能描述了产品的工作原理
测试方法单元测试
集成测试
健全测试
冒烟测试
回归测试
性能测试
负载测试
压力测试
容量测试
可用性测试

IT英语单词合集

底层代码英文Underlying code
请求响应英文Request response
松散耦合模块Loosely-coupled modules
显现契约Explicit contracts
封闭测试英文Closed-box testing
功能组件英文Functional components
延时的英文Latency
手动执行英语Manual executive
负载英文Load

功能测试介绍

功能测试常用的技术有哪些?

  • 单元测试:单元测试是一种功能测试技术,用于测试应用程序的单个单元或模块。它的职责是确保每个模块都能正常运行。
  • 集成测试:在集成测试中,组合起来的单个单元会被当成一个组来进行测试,这样方便测试工程师在集成单元交互过程中发现并找出故障。
  • 冒烟测试:冒烟测试是一种功能测试技术,该技术用于测试应用程序的基本功能或特性,以确保系统中最重要的功能可以正常运行。
  • 用户验收测试:用户验收测试是由客户进行的,以此来证明系统符合要求并能按预期工作。这是产品发布前软件测试的最后阶段。
  • 接口测试:接口测试是一种软件测试技术,用于检查两个不同软件系统之间能否正确交互。
  • 可用性测试:执行可用性测试是为了估量软件应用程序的易用性和用户友好性。
  • 系统测试:系统测试是在完整的集成系统上执行的一种软件测试方法,用来评估系统是否符合相应的要求。
  • 回归测试:回归测试是为了确保代码更改后不会影响应用程序的现有功能和特性。它的测试重点在于检查所有部件是否工作。
  • 健全测试:健全测试是回归测试的一个子集,它的执行旨在确保插入的修改代码可以按预期工作。
  • 白盒测试:白盒测试是一种软件测试方法,白盒测试法允许测试人员验证软件系统的内部工作。白盒测试包括分析代码、基础结构以及软件与外部系统的集成情况。
  • 黑盒测试:也叫黑匣子测试法,黑匣子测试是一种软件测试方法,它是在不查看软件系统内部工作或结构的情况下测试软件系统功能的。
  • 数据库测试:数据库测试是一种软件测试方法,用于检查被测数据库架构、表等。
  • 特设测试:特设测试也称为猴子测试或随机测试,随机测试是在不遵循任何测试文档或测试计划的情况下而进行的一种软件测试方法。
  • 恢复测试:恢复测试是一种软件测试方法,用于验证软件从硬件故障、软件故障、软件崩溃等故障中恢复的能力。
  • 静态测试:静态测试是一种软件测试方法,它适用于在没有实际执行软件应用程序代码的情况下检查软件中的缺陷。
  • 灰盒测试:灰盒测试是一种软件测试方法,它包括黑盒和白盒测试。
  • 组件测试:组件测试也称为程序测试或模块测试,是在单元测试之后进行的一种软件测试方法。在组件测试中,受测对象可以作为一个组件进行独立测试,不需要与其他组件集成。

IT英语词汇

单元测试英语Unit Testing
集成测试英文Integration Testing
冒烟测试英文Smoke Testing
用户验收测试英语User Acceptance Testing
接口测试英文Interface Testing
可用性测试英文Usability Testing
系统测试System Testing
回归测试英文Regression Testing
健全性测试英文翻译Sanity Testing
白盒测试英文White box Testing
黑盒测试英文Black box Testing
数据库测试英文Database Testing
随机测试英语Adhoc Testing
恢复测试Recovery Testing
静态测试英文Static Testing
灰盒测试英文Greybox Testing
组件测试英文Component Testing

功能测试包括哪些方面内容?

功能测试的范围

  • 功能测试目标有哪些?

功能测试的目标是检查被测应用程序的功能。功能测试的范围:

基本可用性测试:功能测试包括基本可用性测试,来检查用户是否可以无障碍、无困难地浏览屏幕;

主线功能测试:包括测试应用程序的主要特性和功能;

可访问性测试:主要测试了用户对系统的可访问性;

测试错误条件:功能测试包括检查在出现错误条件时软件系统是否显示了恰当的错误消息。


功能测试流程

  • 功能测试的基本流程:

1、定义测试输入:该步骤是要确认需要测试的功能。软件测试输入会因测试可用性功能、主要功能及错误条件而有所不同;

2、计算预期结果:根据功能的规范创建需要输入的数据,并根据这些规范来确定输出结果;

3、执行测试用例:这一步包括执行已设计好的测试用例并记录输出;

4、比较实际输出和预期输出:在该步骤中,我们将执行测试用例后取得的实际输出与预期输出做一个比较,以确定结果中的偏差量。此步骤会显示系统是否按预期工作。


IT英语词汇

可用性英文Usability
可用性测试英文翻译Usability Testing
可访问性英语Accessibility Testing
可访问性测试英文Accessibility Testing

功能测试的概念

功能测试是什么测试?

功能测试是软件测试的一种类型,它是根据功能需求和规格要求对系统进行的测试。功能测试极其注重软件进程处理结果,且侧重于对系统实际使用情况的模拟,它并不开发任何软件体系结构性假设。

  • 功能测试是什么意思?

功能测试基本上被定义为一种验证软件应用程序的每个功能是否符合需求和技术规格的软件测试类型。功能测试与应用程序的源代码无关。


功能测试是怎么测试的? 

功能测试是通过提供适当的测试输入、预期输出以及将实际输出与预期输出进行比较来测试软件应用程序的每个功能的。功能测试的目标有:检查用户界面、APIs 、数据库、安全性、客户端或服务器应用程序以及受测应用程序的功能。功能测试可以是手动的,也可以是自动的。

  • 功能测试的目的是什么?  

功能测试主要涉及到黑盒测试,它可以是手动也可以运用自动化技术来执行。功能测试的目的是:

  • 测试应用程序的每个功能:功能测试通过提供适当的输入并按照应用程序的功能需求来验证输出,顾名思义它测试的就是应用程序的每个功能。
  • 测试主要的输入功能:在功能测试中,测试人员测试应用程序的每个输入功能,目的是检查所有进入点和退出点是否按需工作。
  • GUI屏幕的测试流程:在功能测试中,需要检查GUI屏幕的流程,这是为了方便用户在整个应用程序中轻松的使用网站的导航系统。

IT 英文词汇

功能测试英文翻译Functional testing
API接口Application Programming Interface/应用程序界面接口
GUI英文全称Graphical user interface/图形用户界面

什么是边界测试?

功能测试主要做什么?

功能测试是软件测试的一种,在功能测试下软件的系统需要按照系统的功能需求来测试。

功能测试的目的是什么?

功能测试的执行是为了确保所有的要求都能被应用程序正确地满足。功能测试验证了软件应用程序的每个功能是否达到了要求和规范。而边界值分析(BVA- Boundary Value Analysis)就是功能测试的一种。


边界测试方法-边界值分析

边界值分析是基于对边界值有效分区和无效分区的测试。软件的性能在等价分区边缘比在分区内更有可能出错,因此边界是软件测试可能产生缺陷的区域。

边界值是什么意思?边界测试方法会检查边界附近错误几率较高的输入值。每个分区都有它的最大值和最小值,这些最大值和最小值是分区的边界值。

边界值测试用例
  • 有效分区的边界值就是有效的边界值。
  • 无效分区的边界值是无效的边界值。
  • 我们检查的每个变量-
    • 最小值
    • 刚好高于最小值
    • 标准值
    • 刚好低于最大值
    • 最大值
边界值测试用例举例:以一个可接受18至56岁年龄段的系统为例
无效值 (最小值-1)有效值 (min, min + 1, nominal, max – 1, max)无效值 (最大值 + 1)
1718, 19, 37, 55, 5657

IT 英语词汇

功能测试英文Functional testing
边界测试英文Boundary testing
边界值分析   Boundary Value Analysis
单一的故障假设Single Fault Assumption
等价分区英文翻译Equivalence Partition

2023年影响我们生活和职业的十大科技趋势

2023年IT行业前景怎么样?目前IT行业哪个方向前景最好?

技术创新的惊人速度使得人们几乎很难预测2023年的科技发展趋势,尤其是那些改变生活的科技突破每天都在发生。2022年国际消费电子展上Ameca机器人的亮相标志着人型机器人在该领域的重大转变:流畅的身体动作以及丰富的面部表情使得它与消费者之间的无缝对话更加理想。

为了让大家了解技术先驱将如何影响我们的生活,本文对2023年可能或已经实现的所有成熟的技术趋势进行了全面预测,话题涵盖了从超自动化技术到元宇宙的引入等。

Continue reading “2023年影响我们生活和职业的十大科技趋势”

Docker怎么使用?

云计算Docker

哈喽,大家好,欢迎观看由wintesting制作的新视频,本视频我们会带你了解什么是Docker以及Docker是干什么的。

Docker教程目录:

  • 什么是Docker
  • Docker怎么用
  • Docker Container是什么
  • Docker作用
  • Docker容器和虚拟机的区别
Continue reading “Docker怎么使用?”

如何选择云服务模型?

如何选择合适的云服务?

大家好,欢迎观看Wintesting云计算培训的最后一个视频,目前为止,我们已经简述了云计算的概念、云部署模式以及云服务模式。本视频我们将进一步探讨SaaS、PaaS 、IaaS如何选择?

云服务模式的优点- IAAS PAAS SAAS 三种云服务区别:

Continue reading “如何选择云服务模型?”

云计算服务模式有哪些?

云计算有哪些服务模式?

上期视频我们讲解了云计算的类型及实例以及云计算部署模型,本期视频我们将带你了解云服务的服务模式及其功能以及云计算服务模式的特点。

云计算服务模式:

在云计算的部署模型中我们学习了公有云,公有云架构又被进一步分类为云服务最常见的三种模式, 包括: 基础设施即服务IaaS、平台即服务 PaaS、软件即服务SaaS。

我们也经常把云计算的三种服务模式称为Iaas,Paas和Saas。

Continue reading “云计算服务模式有哪些?”

云计算的类型有哪些?

云计算的类型及实例


上个视频我们探讨了云计算的定义。下面我带大家了解下云计算的类型有哪几种。

云计算的类型划分:

根据分类不同,云计算的类型可分为两大类:一类是云计算部署模型,另一类是云计算服务模型。 

云计算的部署:

本视频我们会先讲解云计算的部署模式。云计算部署模式分为三种类型:公共云部署模式、私有云部署模式和混合云部署模式。换句话说,云计算包括私有云、公有云和混合云。

Continue reading “云计算的类型有哪些?”

云计算的概念

什么是云计算?

你好,欢迎观看云计算培训的第一个视频。本视频我们将讨论计算机云计算是什么、为什么需要云计算、 以及与本地数据中心相比,为什么说云计算成本更低、并且能更有效的解决问题。

 云计算的作用是什么?

首先,我们简单了解下云计算是做什么的:云计算是通过互联网为用户提供的一种按需计算服务,云计算的付费模式是按使用量付费(PAYU:Pay-As-You-Use)。这意味着你的文件和数据是储存在云基础设施中,不需要你在本地储存设备上管理它们,通过互联网就可以访问它们。云基础设施是不受地理区域限制的,比如说你的访问权限不会因为工作地点调动而受到影响;还有如果你授予了某个用户某些访问权限,只要该用户联网就可以使用该权限。


Continue reading “云计算的概念”

OSI物理层的主要功能

OSI七层模型各层功能简介

OSI物理层的特性

上期视频我们讲解了OSI数据封装及解封装的过程,本视频我们将带你了解OSI物理层负责什么功能、OSI物理层特性以及OSI物理层的作用是什么。

OSI物理层传输的是什么?

OSI参考模型的最底层是物理层。到目前为止,应用层的数据在传输层分段,在网络层为数据包,在数据链路层形成以0和1组成的二进制代码序列的数据帧,物理层将这些二进制位转换成信号并通过本地媒体传输。

Continue reading “OSI物理层的主要功能”

OSI数据链路层的主要功能

OSI七层模型各层功能简介

OSI数据链路层的功能

上期视频我们讲解了OSI参考模型网络层的功能,本视频我们将带你了解OSI数据链路层协议。

OSI数据链路层协议:  

数据链路层从网络层接收数据包。接收的数据包包含了发送方和接收方的IP地址。

数据链路层寻址类型有两种:1)逻辑寻址;2)物理寻址。逻辑寻址是在网络层完成的,发送方和接收方的IP地址被分配给每个数据段,从而形成数据包。物理寻址是在数据链路层完成的,发送方和接收方的 MAC地址被分配给每个数据包从而形成数据帧。 MAC地址是计算机制造商嵌入到网络接口卡的12位字母字符号码。

Continue reading “OSI数据链路层的主要功能”

OSI网络层的主要功能

OSI七层模型各层功能简介

OSI网络层功能

上期视频我们讲了OSI模型传输层主要功能,本期视频带大家一起来了解下什么是OSI的网络层功能是什么以及OSI网络层提供的服务。

OSI网络层协议:OSI传输层将数据段传递到网络层。OSI网络层负责将接收的数据段从一台计算机传输到不同网络的另一台计算机。网络层的数据单位是数据包。路由决策是由网络层实现的。

Continue reading “OSI网络层的主要功能”

OSI传输层的主要功能

OSI七层模型各层功能简介

OSI传输层作用

上个视频教程我们讲解了OSI会话层功能及作用,下面我们一起来看看OSI传输层协议:

Continue reading “OSI传输层的主要功能”

OSI会话层的主要功能

OSI七层模型各层功能简介

OSI会话层提供的服务

上一个教程我们学习了OSI表示层协议,接下来我们要讲的是OSI会话层:

假设你要举行一个聚会,为了保证活动的顺利进行,你会雇佣几个帮手。他们会帮你布置场地、做好服务工作、事后还要清理场地、做收尾工作结束这场聚会。这就好比会话层,会话层用于设置、管理连接,发送和接收数据,然后终止连接或会话。

Continue reading “OSI会话层的主要功能”

OSI表示层的主要功能

OSI各层功能简介

OSI表示层协议的功能

在上一个视频我们讲解了OSI应用层协议,这一期我们一起来了解下OSI表示层的功能。

OSI应用层的下一层是表示层,表示层从应用层接收数据,接收的数据格式为字符和数字。OSI表示层协议会将这些字符和数字转换为机器可读的二进制格式。例如,将ASCII码转换为EBCDIC码,这一功能表示层称之为转化。

Continue reading “OSI表示层的主要功能”

OSI应用层的主要功能

OSI各层功能简介

OSI应用层有什么作用?

之前我们以blog的形式为大家介绍了OSI模型的七个层次,并简述OSI七层模型的基本功能,在本系列的OSI视频讲解中我们会为大家一一 简述OSI参考模型中各层的功能,希望可以帮助你更深刻的了解OSI体系结构。

OSI Model是什么?

OSI model定义、解释了在计算机网络里数据是如何从一台电脑传输到另一台电脑的。最基本的网络连接方式是使用网络电缆将两台电脑连接在一起,连接器借助网卡分享数据从而形成网络。

Continue reading “OSI应用层的主要功能”

职位申请书英文

职位申请书怎么写?

工作申请英文-job application letter,也称为求职信(a cover letter). 工作申请书应该与你的简历一起发送或上传给HR。虽然你的简历已经介绍了你的工作经历、技能和工作中所取得的成就,但你寄给雇主的求职信能更好地解释为什么你适合这份工作、应该被选中参加面试。 即使雇主不需要一封求职申请信,一封求职信也能帮助你突出你的技能和成就,并引起招聘经理的注意。 

Continue reading “职位申请书英文”

自动化测试工具Loadrunner

Loadrunner基本概念

Loadrunner是什么测试工具? Loadrunner是哪个公司的?

Loadrunner是一种性能测试工具,1999年由Mercury公司率先推出,后来在2006年被HPE收购。2016年,Loadrunner再次被MicroFocus收购。 

LoadRunner工具是什么?

LoadRunner性能测试工具支持各种开发工具、技术和通信协议。事实上,Loadrunner负载测试是市场上唯一一个支持大量协议进行性能测试的工具。Loadrunner软件性能测试报告被视为是对抗其他软件性能测试工具的基准。

Continue reading “自动化测试工具Loadrunner”

渗透测试是什么?

什么是渗透测试?

渗透测试是什么意思?渗透测试主要是干什么的?

渗透测试的定义:渗透测试是对现有信息系统和支持领域在安全措施方面的一种测试、估量及改进方法。渗透性测试也被称为安全评估。

Continue reading “渗透测试是什么?”

什么是网络测试工具?

网络测试软件有哪些?

网络测试设备是一个工具集合,它为网络系统提供了全面的网络性能测试。网速测试工具有ping命令测试网络、SNMP ping、路由追踪traceroute分析及WMI查询工具等等。网络测试软件旨在帮助网络管理员快速作出明智的决策。

Continue reading “什么是网络测试工具?”

什么是网络测试?


什么是网络测试技术?

网络测试的定义:网络测试是为利益相关者提供有关产品或服务质量测试是否合格的一项调查。 网络测速的目的:为企业了解和理解网络实施风险提供了一个客观、独立的网络视图。 Continue reading “什么是网络测试?”

1个App的完整测试用例

App测试用例&软件测试场景

我们的学员经常会问到的一个问题就是手机App怎么测。在本教程中,我们将为大家讲解一些手机软件测试用例以及软件测试场景。

你可以根据手机测试需求文档执行以下手机App测试用例,并根据手机软件测试类型来选择合适的手机App测试流程和方法: Continue reading “1个App的完整测试用例”

Web测试是什么?

如何测试一个Web网站

Web测试是什么意思?

Web端测试,或Web网页测试是在产品正式投产及上市前由专业测试人员检查Web应用程序设计或网站设计是否存在潜在故障。Web测试点:检查Web应用程序或网站的功能、可用性、安全性、兼容性以及Web性能测试。

Continue reading “Web测试是什么?”

什么是灰盒测试?

灰盒测试是什么?

什么是灰盒子测试?灰盒测试主要测试什么?

灰盒测试是一种软件测试技术,用于测试软件产品或应用程序,测试工程师需要的技术是了解应用程序的内部结构。灰盒测试方法的目的是查找和识别由于代码结构不一致或应用程序使用不当造成的软件缺陷。灰盒测试只需要了解代码的大体结构。 Continue reading “什么是灰盒测试?”

什么是白盒测试?

白盒测试快速入门

白盒测试是什么意思? 什么是白盒测试法?

白盒测试方法是一种软件测试技术,白盒测试主要用于测试软件的内部结构、软件设计和软件编码来验证软件输入输出流的正确性,并改进软件设计缺陷、提高软件可用性及安全性。在软件白盒测试中,软件代码对测试人员是可见的,所以白盒测试又叫透明盒测试。白盒测试又称为什么?白盒测试又称为开箱测试、结构测试、基于代码的测试和玻璃盒测试。 Continue reading “什么是白盒测试?”

什么是黑盒测试?

黑盒测试的定义

黑盒测试方法介绍:

黑盒测试是一种软件测试方法。黑盒测试原理:软件黑盒测试的方法是在不了解内部代码结构、操作细节和内部路径的情况下,对软件应用程序功能进行测试。 软件黑盒测试主要关注点在于软件应用程序的输入和输出,软件测试黑盒测试方法完全是基于软件需求和规范运行的。黑盒测试又称为什么?黑盒测试也被称为行为测试。 Continue reading “什么是黑盒测试?”

UI测试是什么?

什么是用户界面测试,名词解释定义是  

“User Interface, 用户界面”一词不言而喻:用户界面指的是用户与网站或应用程序交互的一个界面。当然,用户界面的质量决定了用户对网站或应用程序的第一印象,(也有可能是最后印象)。 一个软件开发项目的成败主要取决于UI设计和UI功能设计,这也是为什么软件开发人员和软件测试人员越来越多地将UI界面测试(用户界面测试)看作软件开发蓝图设计的重要组成部分。 Continue reading “UI测试是什么?”

软件测试需要考什么证?

目前软件测试行业需要一些什么资格认证

许多毕业新生将软件测试定为自己的职业目标,并开始从事相关方面的工作或成为一名自由职业者。当公司在雇用软件测试人员或客户在自由职业者平台挑选合格的软件测试人员时,他们往往更看重有丰富工作经验并持有测试工程师证书的软件测试工程师。

Continue reading “软件测试需要考什么证?”