Azure Load Balancer algoritmAzure Load Balancer algorithm

Load Balancer har flera funktioner för både UDP-och TCP-program.Load balancer provides several capabilities for both UDP and TCP applications.

BelastningsutjämningsalgoritmLoad balancing algorithm

Du kan skapa en regel för belastnings utjämning för att distribuera trafik från klient delen till en backend-pool.You can create a load-balancing rule to distribute traffic from the frontend to a backend pool. Azure Load Balancer använder en hash-algoritm för distribution av inkommande flöden (inte byte).Azure Load Balancer uses a hashing algorithm for distribution of inbound flows (not bytes). Load Balancer skriver om meddelandehuvuden för flöden till instanser i backend-poolen.Load balancer rewrites the headers of flows to backend pool instances. En server är tillgänglig för att ta emot nya flöden när en hälso avsökning indikerar en felfri slut punkt för backend.A server is available to receive new flows when a health probe indicates a healthy back-end endpoint.

Som standard använder belastningsutjämnaren en hash med fem tupler.By default, Load balancer uses a Five-tuple hash.

Hashen innehåller:The hash includes:

  • Källans IP-adressSource IP address
  • KällportSource port
  • Mål-IP-adressDestination IP address
  • MålportDestination port
  • IP-protokoll nummer för att mappa flöden till tillgängliga servrarIP protocol number to map flows to available servers

Tillhörighet till en käll-IP-adress skapas med hjälp av en hash med två eller tre tupler.Affinity to a source IP address is created by using a two or three-tuple hash. Paket av samma flöde kommer till samma instans bakom den belastningsutjämnade klient delen.Packets of the same flow arrive on the same instance behind the load-balanced front end.

Käll porten ändras när en klient startar ett nytt flöde från samma käll-IP.The source port changes when a client starts a new flow from the same source IP. Därför kan en hash med fem tupler orsaka att trafiken går till en annan server dels slut punkt.As a result, the five-tuple hash might cause the traffic to go to a different backend endpoint. Mer information finns i Konfigurera distributions läge för Azure Load Balancer.For more information, see Configure the distribution mode for Azure Load Balancer.

Följande bild visar den hash-baserade distributionen:The following image displays the hash-based distribution:

Hash-baserad fördelning

Bild: Hash-baserad distributionFigure: Hash-based distribution

Program oberoende och öppenhetApplication independence and transparency

Load Balancer interagerar inte direkt med TCP eller UDP eller program skiktet.Load balancer doesn't directly interact with TCP or UDP or the application layer. Det kan finnas stöd för alla TCP-eller UDP-programscenarier.Any TCP or UDP application scenario can be supported. Belastningsutjämnaren stänger eller kommer inte att stänga flöden eller interagera med flödets nytto Last.Load balancer doesn't close or originate flows or interact with the payload of the flow. Load Balancer tillhandahåller inte Application Layer Gateway-funktioner.Load balancer doesn't provide application layer gateway functionality. Protokoll hand skakningar sker alltid direkt mellan klienten och backend-instansen.Protocol handshakes always occur directly between the client and the back-end pool instance. Ett svar till ett inkommande flöde är alltid ett svar från en virtuell dator.A response to an inbound flow is always a response from a virtual machine. När flödet kommer till den virtuella datorn bevaras också den ursprungliga käll-IP-adressen.When the flow arrives on the virtual machine, the original source IP address is also preserved.

  • Varje slut punkt besvaras av en virtuell dator.Every endpoint is answered by a VM. En TCP-handskakning sker till exempel mellan klienten och den valda backend-VM: en.For example, a TCP handshake occurs between the client and the selected back-end VM. Ett svar på en begäran till en klient del är ett svar som genereras av en backend-VM.A response to a request to a front end is a response generated by a back-end VM. När du har verifierat anslutningen till en klient del, verifierar du anslutningen i hela till minst en virtuell server dels dator.When you successfully validate connectivity to a front end, you're validating the connectivity throughout to at least one back-end virtual machine.
  • Program nytto laster är transparenta för belastningsutjämnaren.Application payloads are transparent to the load balancer. Alla UDP-eller TCP-program kan stödjas.Any UDP or TCP application can be supported.
  • Eftersom belastningsutjämnaren inte interagerar med TCP-nyttolasten och ger TLS-avlastning, kan du skapa omfattande krypterade scenarier.Because the load balancer doesn't interact with the TCP payload and provide TLS offload, you can build comprehensive encrypted scenarios. Att använda belastningsutjämnare ökar stor skalbarhet för TLS-program genom att avsluta TLS-anslutningen på den virtuella datorn.Using load balancer gains large scale-out for TLS applications by ending the TLS connection on the VM itself. Din nyckel kapacitet för TLS-sessioner begränsas till exempel bara av typen och antalet virtuella datorer som du lägger till i backend-poolen.For example, your TLS session keying capacity is only limited by the type and number of VMs you add to the back-end pool.

Nästa stegNext steps