Citrix ADC

Citrix 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 (VIP)地址

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

  • 子网IP (SNIP)地址

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

  • IP组

    IP Set是一组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,并表示服务器1和服务器2上的HTTP应用程序。服务S3和S4绑定到VS_SSL,并且表示服务器2和服务器3上的SSL应用程序(服务器2提供HTTP和SSL应用程序)。当设备在VIP地址处接收HTTP请求时,它会根据VS_HTTP的设置指定的请求,并将其发送到服务器1或服务器2。类似地,当设备在VIP地址处接收HTTPS请求时,IT进程它由VS_SSL的设置指定,它将其发送到服务器2或服务器3。

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

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

  • 负载均衡虚拟服务器

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

  • 缓存重定向虚拟服务器

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

  • 内容交换虚拟服务器

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

  • 虚拟专用网络(VPN)虚拟服务器

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

  • SSL虚拟服务器

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

理解服务

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

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

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

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

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