服务器性能测试中有哪些常用的性能指标?

服务器性能测试中有哪些常用的性能指标?,第1张

ip是八分二进制的很难记,但是域名xxcom容易记住,可是网络又是根据ip进行寻址的;于是就有了用域名访问返回ip的 *** 作;DNS协议便是实现了将域名解析成IP的这一过程。

(1)容易记住
(2)监管方便,网站辨识度高,可作为一个网站的身份象征
(3)不依赖单个IP,用户只需要访问你的域名,不需要知道你的ip地址,因此你的ip地址可以有多个甚至经常更换都可以。
(4)DNS引流:很多高防抗DDOS和云saas的WAF都是利用DNS别名(cname)进行引流清洗的,CDN也是通过cname进行分配的。
(5)DNS负载均衡:可以利用相同A记录不同IP地址对用户的访问进行负载均衡的分配,甚至可以按照ip附属地进行地区上的分配

A记录: 主机名,比如> 域名不仅仅服务于>

《Tcp/Ip协议簇》读书笔记



在IP协议能够把一个分组从源主机交付到目的主机之前,它首先要知道如何将这个分组交付给下一跳;
IP在使用数据链路层服务时,它就需要知道下一跳的物理地址;
通过 地址解析协议(ARP) 可以做到这一点。

目标:




互联网是由许多物理网络和一些像路由器这样的连网设备组成。从源主机出发的分组在最终到达目的主机之前,可能要经过多个物理网络。

在网络这一级,主机和路由器是通过它们的逻辑地址来识别的。
逻辑地址就是互联网地址,它管辖范围是全局,逻辑地址在全局上是唯一的。

在物理这一级,主机和路由器是用它们的物理地址来识别的。
物理地址是一个本地地址,它管辖范围是本地网络,物理地址在本地网络内必须唯一,全局则没有要求。

把一个分组交付到主机或路由器需要用到两级地址:逻辑地址和物理地址。我们要把逻辑地址映射为响应的物理地址,反之亦然。映射可通过静态或动态方法来实现。


静态映射(static mapping) ,就是将逻辑地址和物理地址关联起来,存储在网络中的每一台机器上;

动态映射(dynamic mapping) ,只要机器知道了另一台机器的逻辑地址,它就可以使用协议找出相应的物理地址;
地址解析协议(ARP ) 和 逆向地址解析协议(RARP)。




ARP协议接受来自IP协议的逻辑地址,将其映射为相应的物理地址,再把物理地址递交给数据链路层。

任何时候,当主机或路由器需要找出这个网络上的另一个主机或路由器的物理地址时,它就可以 广播 一个 ARP查询分组 ;
网络上的每一台主机或路由器都会接收并处理这个ARP查询分组,但只有目的接收方认出自己的IP并返回一个 ARP响应分组 。


ARP分组格式如下:


ARP分组直接封装在数据链路层帧中。
帧中类型字段指出此帧所携带的数据是ARP分组。


典型互联网中ARP工作步骤:


有一种技术称为代理ARP,可用于产生一种子网划分的效果。 代理ARP(proxy ARP) 是代表了一组主机的ARP。
当运行代理ARP的Router收到一个ARP请求,希望找出这些主机中的某一台主机的物理地址时,Router就返回一个宣布它自己的硬件地址的ARP响应分组。Router收到真正的IP分组后,再将这些分组发送给响应主机或路由器。




当IP分组要通过一个ATM广域网时,我们需要一种协议来映射ATM广域网中给定的IP地址的离去点路由器的物理地址;
但是,局域网和ATM网络有一些区别。局域网是个广播网络(在链路层),但ATM网络不是一个广播网络,因此要处理这个任务需要其他解决办法。


ATMARP分组格式如下:


有两种方法可以连接ATM上的两个路由器: 永久虚电路(PVC)和 交换虚电路(SVC) ,ATMARP *** 作取决于连接方法。

永久虚电路(PVC)连接是由网络提供者在两个端点之间建立的。这些永久连接都指定了 VPI 和 VCI,且它们的数值被保存在每一个交换机的路由表中。

在PVC的情况下,反向请求报文和反向回答报文可以把物理地址和IP地址绑定起来。
反向请求报文,将自己的IP地址和物理地址告知对方;反向响应报文也是。
交换过报文后,两个路由器都增加了一个表项,将物理地址映射到PVC。

在使用交换虚电路(SVC)连接的情况下,路由器每一次想和另一个路由器(或主机)建立连接时,都必须建立一条新的虚电路。但是,仅当进入点Router知道离去点Router的物理地址时,这条虚电路才能建立(ATM不认识IP地址)。

要把IP地址映射为物理地址,每一个Router必须运行客户ATMARP程序,但只有一个计算机运行ATMARP服务器程序。
ATM是非广播网络,一个ATMARP请求报文不可能到达这个网络上的所有路由器。

建立虚连接的过程需要3个步骤:连接服务器、收到物理地址、建立连接。

连接服务器 通常,每一个路由器和服务器之间都建立了一条永久虚电路;

收到物理地址 如果进入点Router和服务器之间有一条连接,那么路由器就向服务器发送ATMARP请求报文。如果服务器能够找到相应的物理地址,就返回ATMARP响应报文;否则就返回ATMARP NACK报文,进入点Router收到 NACK报文,就丢弃这个数据报;

建立虚电路 在进入点Router收到离去点Router的物理地址后,它就能够请求在自己和离去Router之间建立一条SVC。ATM网络利用这两个物理地址建立虚电路,这条虚电路一致持续到进入点Router要求断开连接为止。

在SVC情况下,用请求报文和回答报文可以将物理地址和IP地址绑定。

建立映射表 当路由器第一次连接到ATM网络上时,在路由器和服务器之间就建立起一条永久虚电路,服务器向该路由器发送一个反向请求报文,路由器则返回一个反向响应报文。
有了这两个地址,服务器就能在它的路由表中建立一个表项,以便今后当这个路由器做为离去点路由器时能够用得上。

反向请求和反向响应报文也可用来构建服务器的映射表。


逻辑子网地址(Logical IP Subnet) ,一个大的局域网可以划分为若干个子网,同样,一个ATM网络也可划分为若干个逻辑上(非物理上)的子网。这样做方便 ATMARP 以及其他一些 需要在ATM网络上模拟广播 *** 作的协议(如IGMP)。

连接在ATM网络上的Router可以属于一个或多个逻辑子网。

属于同一个逻辑子网的Router共享相同的前缀和子网掩码;
要使用ATMARP,各个子网中必须有一个独立的ATMARP服务器。




我们可以假设ARP软件包由以下五个构件构成: 高速缓存表(cache table),队列,输出模块,输入模块和高速缓存控制模块
这个软件包接收的是即将被封装成帧而需要一个物理地址的IP数据报。如果ARP软件包找到了物理地址,它就把这个IP分组和物理地址一起交付给数据链路层以便传输。


发送方往往不止一个IP数据报需要发送,如果对发送到同一个主机或路由器的每一个数据报都使用一次ARP协议,显然效率很低。解决办法就是高速缓存表。
当主机或路由器收到一个IP数据报响应的物理地址时,就可以把这个物理地址存储在高速缓存表中。但是,由于高速缓存表的空间非常有限,表中的映射关系可能只有几分钟。

高速缓存表以表项数组的形式实现,每个表项包含以下一些字段:


ARP软件包维持着一组队列,每个队列对应于一个终点,用来在ARP尝试解析硬件地址时保留IP分组。
输出模块把未解析的分组发送到相应的队列(queue),输入模块从队列中取出分组,并连同解析出物理地址一起发送给数据链路层传输。




高速缓存控制模块(Cache-Control Module)负责维护高速缓存表。




专门讨论ARP的RFC包括: RFC826 , RFC1029 , RFC1166 和 RFC1981


自从 1979 年出现工业串行链路的事实标准以来,Modbus使成千上万的自动化设备能够通信。Modbus 是OSI模型第 7 层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。Modbus应用层协议和服务规范主要包含两类:一类是串行链路上的Modbus(Modbus 串行链路取决于TIA/EIA 标准:232-F 和 485-A),另一类是TCP/IP 上的Modbus(Modbus TCP/IP 取决于IETF 标准:RFC793 和 RFC791 有关)。Modbus通信栈示意图如下所示:

Modbus协议允许在各种网络体系结构内进行简单通信,每种设备(PLC、HMI、控制面板、驱动程序、动作控制、输入/输出设备)都能使用 Modbus协议来启动远程 *** 作。在基于串行链路和以太 TCP/IP 网络的 Modbus上可以进行相同通信,一些网关允许在几种使用 Modbus协议的总线或网络之间进行通信。Modbus网络体系结构的实例如下所示:

Modbus协议本质上和我们平时自定义的协议一致,就是一种数据传输格式,也是由起始帧、数据帧、校验帧等组成,只不过Modbus协议更为规范。

Modbus协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上 的 Modbus协议映射能够在应用数据单元(ADU)上引入一些附加域,通用Modbus帧协议如下图所示:

具体解析如下: 

地址域:子节点的地址信息;

功能码:指明服务器要执行的动作,有效的码字范围是十进制 1-255(128-255 为异常响应保留),当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种 *** 作(功能码内容较多,建议查阅Modbus协议说明手册,上面介绍的很清晰)。

数据:传输的数据内容,在某种请求中,数据可以是不存在的(0 长度),在此情况下服务器不需要任何附加信息,功

能码仅说明 *** 作。

差错校验:验证收、发的数据是否正确。

如果在一个正确接收的 ModbusADU 中,不出现与请求Modbus功能有关的差错,那么服务器至客户机的响应数据域包括请求数据。如果出现与请求 Modbus功能有关的差错,那么域包括一个异常码,服务器应用能够使用这个域确定下一个执行的 *** 作。Modbus事务处理的状态图如下所示:

一旦服务器处理请求,使用合适的 Modbus服务器事务建立 Modbus响应,根据处理结果,可以建立两种类型响应:

一个正确Modbus响应:响应功能码 = 请求功能码 ;

一个 Modbus异常响应:用来为客户机提供处理过程中与被发现的差错相关的信息,提供一个异常码来指示差错原因。响应功能码 = 请求功能码 + 0x80。

将上述图示分解理解,例如,客户机与服务器执行Modbus 通信协议,当服务器对客户机响应时,它使用功能码来指示正常(无差错)响应或者出现某种差错(称为异常响应)。

对于一个正常响应来说,服务器仅对原始功能码响应,Modbus事务处理(无差错)如下图所示:

对于异常响应,服务器返回一个与原始功能码等同的码,设置该原始功能码的最高有效位为逻辑 1,Modbus事务处理(异常响应)如下图所示:
Modbus使用一个Big-Endian 表示地址和数据项。这意味着当发射多个字节时,首先发送最高有效位。例如:

寄存器    数据

0x4001  0x1234

发送的第一字节为 0x12,第一字节为0x34。

Modbus以一系列具有不同特征表格上的数据模型为基础,四个基本表格如下表所示:

对于基本表格中任何一项,协议都允许单个地选择 65536 个数据项,而且设计那些项的读写 *** 作可以越过多个连续数据项直到数据大小规格限制,这个数据大小规格限制与事务处理功能码有关。

数据模型这个概念有限抽象,让我们通过以下两个示例加深理解。

示例1 :有 4 个独立块的设备

示例描述:一个设备中的数据结构,含有数字量和模拟量、输入量和输出量。由于不同块中的数据不相关,每个块是相互独立。使用Modbus数据模型,按不同 Modbus功能码访问每个块,实现原理如下所示:

示例2:仅有 1 个块的设备

示例描述:一个设备仅有 1 个数据块,使用Modbus数据模型,通过几个Modbus功能码可能得到一个相同数据,或者通过 16 比特访问或 1 个访问比特,实现原理如下所示:

解析步骤:
(1)在浏览器中输入 >

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13039798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存