The NetScaler appliances have native support for protocols such as HTTP. In addition to this, you can use protocol extensions to add support for custom protocols. Presently only TCP-based custom protocols are supported, for example, Message Queuing Telemetry Transport (MQTT) protocol. For secure transactions, TCP over SSL is also supported.
The protocol extensions on the NetScaler appliance are part of the high-level scripting infrastructure available on the NetScaler appliance. The scripting language is based on the Lua 5.2 programming language. To add a custom protocol to a NetScaler appliance, the user has to write extension code to implement the applicable behaviors. For example, the ns.tcp.client and ns.tcp.server behaviors are applicable to TCP based protocols. To implement a behavior, implement only the callbacks that you want to customize. If callback is not implemented, its default takes effect. For more information about the scripting language, see NetScaler Extensions – Language Overview. For details on behaviors, see NetScaler Extension API Reference.
The NetScaler protocol extensions can be used for the following:
- Add new protocol support on the NetScaler appliance programmatically, using extensions.
- Parse protocol traffic and do protocol-specific message based load balancing (MBLB).
- Configure user defined load balancing persistence.