Citrix ADC

思杰ADC设备如何与客户端和服务器通信

Citrix ADC设备通常部署在服务器场的前面,作为客户机和服务器之间的透明TCP代理,不需要任何客户端配置。这种基本操作模式被称为请求切换技术,是Citrix ADC功能的核心。请求交换使设备能够多路复用和卸载TCP连接,保持持久连接,并在请求(应用层)级别管理流量。这是可能的,因为设备可以将HTTP请求与发送请求的TCP连接分开。

根据配置的不同,设备可能会在将请求转发到服务器之前处理流量。例如,如果客户端试图访问服务器上的安全应用程序,设备可能会在向服务器发送通信之前执行必要的SSL处理。

为了促进对服务器资源的高效和安全访问,设备使用一组IP地址,统称为Citrix adc拥有的IP地址。要管理网络流量,您可以将Citrix adc拥有的IP地址分配给虚拟实体,这些虚拟实体将成为配置的构建块。例如,要配置负载平衡,您可以创建虚拟服务器来接收客户端请求并将它们分发给服务,这些服务是表示服务器上应用程序的实体。

了解Citrix adc拥有的IP地址

为了充当代理,Citrix ADC设备使用各种IP地址。关键的Citrix adc拥有的IP地址是:

  • Citrix ADC IP (NSIP)地址

    NSIP地址是用于管理和对设备本身的一般系统访问的IP地址,也是用于高可用性配置中设备之间通信的IP地址。

  • 虚拟服务器IP (VIP)地址

    VIP地址是与虚拟服务器相关联的IP地址。客户端连接的公网IP地址。管理广泛流量的设备可能配置了许多vip。

  • 子网IP (SNIP)地址

    SNIP地址用于连接管理和服务器监控。每个子网可以指定多个SNIP地址。SNIP地址可以与VLAN绑定。

  • IP组

    IP集是一组IP地址,在设备上配置为SNIP。IP集用一个有意义的名称标识,该名称有助于标识其中包含的IP地址的使用情况。

  • 网络配置文件

    网络配置文件(或网络配置文件)包含一个IP地址或IP集。网络配置文件可以绑定到负载均衡或内容交换虚拟服务器、服务、服务组或监视器。在与物理服务器或对等体通信时,设备使用概要文件中指定的地址作为源IP地址。

如何管理交通流

由于Citrix ADC设备充当TCP代理,因此它在将数据包发送到服务器之前转换IP地址。在配置虚拟服务器时,客户端将连接到Citrix ADC设备上的VIP地址,而不是直接连接到服务器。由虚拟服务器上的设置决定,设备将选择适当的服务器,并将客户机的请求发送到该服务器。默认情况下,设备使用一个SNIP地址与服务器建立连接,如下图所示。

图1。基于虚拟服务器的连接

图像

在没有虚拟服务器的情况下,当设备接收到请求时,它会透明地将请求转发到服务器。这被称为透明操作模式。在透明模式下运行时,设备将传入客户端请求的源IP地址转换为SNIP地址,但不更改目的IP地址。要使该模式工作,必须适当配置L2或L3模式。

对于服务器需要实际客户端IP地址的情况,可以将设备配置为通过插入客户端IP地址作为附加字段来修改HTTP报头,或者配置为使用客户端IP地址而不是SNIP地址来连接服务器。

交通管理的组成部分

Citrix ADC设备的配置通常由一系列虚拟实体构建而成,这些虚拟实体充当流量管理的构建块。构建块方法有助于分离交通流。虚拟实体是抽象,通常表示用于处理流量的IP地址、端口和协议处理程序。客户端通过这些虚拟实体访问应用程序和资源。最常用的实体是虚拟服务器和服务。虚拟服务器表示服务器群或远程网络中的服务器组,服务表示每个服务器上的特定应用程序。

大多数功能和流量设置都是通过虚拟实体启用的。例如,您可以配置一个设备,将所有服务器响应压缩到通过特定虚拟服务器连接到服务器场的客户机。要为特定环境配置设备,您需要确定适当的特性,然后选择正确的虚拟实体组合来交付它们。大多数功能都是通过相互绑定的虚拟实体级联交付的。在这种情况下,虚拟实体就像被组装成交付应用程序的最终结构的块。通过添加、移除、修改、绑定、启用和禁用虚拟实体,实现对虚拟实体特性的配置。下图显示了本节中涉及的概念。

图2。交通管理积木是如何工作的

图像

一个简单的负载平衡配置

在下面的图中所示的示例中,Citrix ADC设备被配置为负载均衡器。对于此配置,需要配置特定于负载均衡的虚拟实体,并按特定顺序绑定它们。作为负载平衡器,设备将客户端请求分布到多个服务器上,从而优化资源的利用。

典型负载均衡配置的基本构建块是服务和负载均衡虚拟服务器。服务表示服务器上的应用程序。虚拟服务器通过提供客户端连接到的单个IP地址来抽象服务器。为了确保客户端请求被发送到服务器,您需要将每个服务绑定到虚拟服务器。也就是说,您必须为每台服务器创建服务,并将服务绑定到虚拟服务器。客户端使用VIP地址连接到Citrix ADC设备。当设备接收到发送到VIP地址的客户端请求时,它将这些请求发送到由负载均衡算法确定的服务器。负载平衡使用一个称为监视器的虚拟实体来跟踪特定配置的服务(服务器加应用程序)是否可用来接收请求。

图3。负载均衡虚拟服务器、服务和监视器

图像

除了配置负载均衡算法外,还可以配置几个参数,这些参数会影响负载均衡配置的行为和性能。例如,可以将虚拟服务器配置为基于源IP地址进行持久化。然后,设备将来自任何特定IP地址的所有请求定向到同一服务器。

了解虚拟服务器

虚拟服务器是一个名为Citrix ADC的实体,外部客户端可以使用它来访问托管在服务器上的应用程序。它由字母数字名称、虚拟IP (VIP)地址、端口和协议表示。虚拟服务器的名称仅具有本地意义,其目的是使虚拟服务器更容易识别。当客户端试图访问服务器上的应用程序时,它将请求发送到VIP,而不是物理服务器的IP地址。当设备在VIP地址接收到请求时,它将终止虚拟服务器上的连接,并代表客户端使用自己与服务器的连接。虚拟服务器的端口和协议设置决定了虚拟服务器所代表的应用程序。例如,web服务器可以由虚拟服务器和服务表示,其端口和协议分别设置为80和HTTP。多个虚拟服务器可以使用相同的VIP地址,但可以使用不同的协议和端口。

虚拟服务器是交付特性的点。大多数特性,如压缩、缓存和SSL卸载,通常在虚拟服务器上启用。当设备在VIP地址接收请求时,它根据接收请求的端口及其协议选择适当的虚拟服务器。然后,设备根据虚拟服务器上配置的特性适当地处理请求。

在大多数情况下,虚拟服务器与服务协同工作。可以将多个服务绑定到一个虚拟服务器。这些服务表示在服务器群中的物理服务器上运行的应用程序。设备处理从VIP地址接收的请求后,将它们转发到由虚拟服务器上配置的负载均衡算法确定的服务器。下图说明了这些概念。

图4。多个虚拟服务器与单个VIP地址

图像

上图为两个虚拟服务器的配置,它们的VIP地址相同,但端口和协议不同。每个虚拟服务器都绑定了两个服务。服务s1和s2绑定到VS_HTTP,分别代表Server 1和Server 2上的HTTP应用程序。服务s3和s4绑定到VS_SSL,并表示Server 2和Server 3上的SSL应用程序(Server 2同时提供HTTP和SSL应用程序)。当设备在VIP地址上接收到HTTP请求时,它将按照VS_HTTP设置所指定的方式处理该请求,并将其发送到Server 1或Server 2。类似地,当设备在VIP地址上接收到HTTPS请求时,它将按照VS_SSL设置指定的方式处理该请求,并将其发送到Server 2或Server 3。

虚拟服务器并不总是由特定的IP地址、端口号或协议表示。它们可以用通配符表示,在这种情况下,它们被称为通配符虚拟服务器。例如,当您使用通配符而不是VIP配置虚拟服务器,但使用特定的端口号时,设备将拦截并处理所有符合该协议并目的地为预定义端口的流量。对于使用通配符而不是vip和端口号的虚拟服务器,设备将拦截并处理符合协议的所有流量。

虚拟服务器可以分为以下几类:

  • 负载均衡虚拟服务器

    接收请求并将其重定向到适当的服务器。选择合适的服务器取决于用户配置哪种负载平衡方法。

  • 缓存重定向虚拟服务器

    将客户端对动态内容的请求重定向到源服务器,将静态内容的请求重定向到缓存服务器。缓存重定向虚拟服务器通常与负载平衡虚拟服务器一起工作。

  • 内容切换虚拟服务器

    根据客户端请求的内容将流量引导到服务器。例如,您可以创建一个内容切换虚拟服务器,将所有客户机对图像的请求定向到只提供图像的服务器。内容切换虚拟服务器通常与负载平衡虚拟服务器一起工作。

  • VPN (Virtual private network)虚拟服务器

    解密隧道流量并将其发送到内网应用程序。

  • SSL虚拟服务器

    接收并解密SSL通信,然后重定向到适当的服务器。选择合适的服务器类似于选择负载平衡虚拟服务器。

了解服务

服务表示服务器上的应用程序。虽然服务通常与虚拟服务器相结合,但在没有虚拟服务器的情况下,服务仍然可以管理特定于应用程序的流量。例如,您可以在Citrix ADC设备上创建HTTP服务来表示web服务器应用程序。当客户端试图访问web服务器上托管的网站时,设备将拦截HTTP请求并创建与web服务器的透明连接。

在仅服务模式下,设备充当代理。它终止客户端连接,使用一个SNIP地址建立到服务器的连接,并将传入客户端请求的源IP地址转换为一个SNIP地址。尽管客户端直接向服务器的IP地址发送请求,但服务器认为它们来自SNIP地址。该设备转换IP地址、端口号和序列号。

服务也是应用特性的一个点。考虑SSL加速的例子。要使用此特性,必须创建SSL服务并将SSL证书绑定到该服务。当设备接收到HTTPS请求时,它解密流量并以明文形式将其发送到服务器。在仅服务的情况下,只能配置有限的特性集。

服务使用称为监控器的实体跟踪应用程序的运行状况。每个服务都有一个绑定到它的默认监控器,该监控器基于服务类型。根据监控器上配置的设置指定,设备定期向应用程序发送探测,以确定其状态。如果探测失败,设备将该服务标记为关闭。在这种情况下,设备用适当的错误消息响应客户机请求,或者根据配置的负载均衡策略重新路由请求。

思杰ADC设备如何与客户端和服务器通信