Difference between revisions of "Layer-7 switching"

From LVSKB
Jump to: navigation, search
(New page: == Introduction == Layer-7 switching, also known as application-level load balancing, is to parse requests in the application layer and distribute requests to servers based on different ...)
 
m
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
 
== Introduction ==
 
== Introduction ==
  
Layer-7 switching, also known as application-level load balancing, is to parse requests in the application layer and distribute requests to servers based on different types of request contents, so that it can provide quality of service requirements for different types of contents and improve overall cluster performance.
+
Layer-7 switching, also known as layer-7 [[load balancing]] or application-level load balancing, is to parse requests in the application layer and distribute requests to servers based on different types of request contents, so that it can provide quality of service requirements for different types of contents and improve overall cluster performance.
  
 
== Technology ==
 
== Technology ==
 +
 +
The layer-7 switching can be implemented either in kernel space or in user space.
 +
 +
If the layer-7 switching is implemented in kernel space, its performance is relatively good because there is no overhead of context switching and memory copying between kernel space and user space. However, the implementation of layer-7 switching might be more complicated.
 +
 +
If the layer-7 switching is implemented in user space, the implementation might be easier, it can have more flexibility. Once the sufficient information is parsed from request to make routing decision, some technologies can be used to speed up data relay between client and server:
 +
* [[TCP Splicing]]
 +
* [[TCP Handoff]]
  
 
== Implementation ==
 
== Implementation ==
 +
 +
There are some open source implementation of layer-7 switching:
 +
 +
* [[KTCPVS]] - a layer-7 switching inside the Linux kernel
 +
* [[TCPSP]] - a [[TCP Splicing|TCP splicing]] implementation for the Linux operating system
 +
* [[TCPHA]] - a [[TCP Handoff|TCP handoff]] implementation for the Linux operating system
 +
* [[L7SW]] - a layer-7 switching framework
 +
 +
== Reference ==
 +
 +
* [http://www.linux-l7sw.org/documentation.html Research papers collected at the L7SW project]
  
  

Latest revision as of 16:42, 29 June 2007

Introduction

Layer-7 switching, also known as layer-7 load balancing or application-level load balancing, is to parse requests in the application layer and distribute requests to servers based on different types of request contents, so that it can provide quality of service requirements for different types of contents and improve overall cluster performance.

Technology

The layer-7 switching can be implemented either in kernel space or in user space.

If the layer-7 switching is implemented in kernel space, its performance is relatively good because there is no overhead of context switching and memory copying between kernel space and user space. However, the implementation of layer-7 switching might be more complicated.

If the layer-7 switching is implemented in user space, the implementation might be easier, it can have more flexibility. Once the sufficient information is parsed from request to make routing decision, some technologies can be used to speed up data relay between client and server:

Implementation

There are some open source implementation of layer-7 switching:

  • KTCPVS - a layer-7 switching inside the Linux kernel
  • TCPSP - a TCP splicing implementation for the Linux operating system
  • TCPHA - a TCP handoff implementation for the Linux operating system
  • L7SW - a layer-7 switching framework

Reference


LVS.png "Layer-7 switching" is an load balancing related stub. You can help LVSKB by expanding it