Round-Robin

Round Robin oder Rundlauf-Verfahren ist ein Verfahren zur Lastverteilung bzw. Scheduling-Verfahren, welches die sequentielle oder umlaufende Belegung von Ressourcen durch Geräte oder Prozesse steuert.  Das Scheduling wird durch Zeitschlitze gesteuert (Arbitrierung). Die Auslastung der Ressourcen soll möglichst ausgewogen und effektiv sein.  Konkret werden die Prozesse bzw. Geräte in einer Queue (Warteschlange) verwaltet. Sie werden sequentiell abgearbeitet und erhalten jeweils eine bestimmte Zeitspanne. Die Einlastung erfolgt z. B. nach dem FIFO-Prinzip.  Ein Prozess kann seine Zeitscheibe vorzeitig zurückgeben. Dann werden die Ressourcen neu verteilt. Je kürzer die Zeitscheiben sind, desto mehr Kontextwechsel fallen an und damit steigt die Zeit für den Verwaltungsaufwand. 

DNS Round Robin
Beim DNS Round Robin wird eine Lastverteilung für Netzwerkanfragen im Rahmen des Domain Name System gefahren. Wenn ein Nameserver auf Anfrage mehrere IP-Adressen liefert wird die DNS-Lastverteilung  mit einer Round Robin Strategie gelöst. Im Speziellen liegen mehrere Resource Records mit gleichem Label, Klasse und Typ, aber verschiedenen Datenfeldern vor (Resource Record Set).  Wird ein solcher Resource Record Set von einem Resolver bearbeitet, so gibt der DNS-Server alle IP-Adressen in einer bestimmten Reihenfolge zurück. Diese Reihenfolge kann wechseln, bestimmt sich aber nach einer bestimmten Strategie.  Bei Nameservern, die mit BIND (Berkeley Internet Name Domain) konfiguriert wurden, sind beispielsweise  folgende Strategien vorgesehen: fest (Reihenfolge wird so gewählt, wie sie urspünglich vorliegt), zyklisch oder zufällig. 

Round Robin bei Routing Protokollen
Auch Routing Protokolle setzen Round Robin zur Lastverteilung ein, wie beispielsweise das Routing Information Protocol (RIP). 

Bewertung von Round Robin
Mit Round Robin ist ein durchschnittlicher Durchsatz meist möglich. Die Gefahr, dass ein Prozess völlig auf der Strecke bleibt, besteht nicht, jedoch kann im Gegenzug auch kein wichtiger Prozess  mit hoher Priorität durchgeschleust werden. Die Anwendung von Zeitscheiben führt oft dazu, dass Ressourcen nicht gut ausgelastet werden.                                   
Siehe auch:    Multitasking   NLB   Task   Thread   DNS-Server   Nameserver   Resolver   Router   IP-Adresse   NAT

  NLB

Network Load Balancing. NLB bezeichnet die Lastverteilung von Server-Traffic in einem Netzwerk. Dazu bekommen alle Server (meist bis zu 32) nach aussen hin die gleiche IP-Adresse.  Damit soll erreicht werden, dass bei einem Server-Ausfall, die anderen Server im Server-Verbund  dessen Aufgabe übernehmen können. Die Server teilen sich dazu grundsätzlich die Aufgaben. Dazu muss sichergestellt werden, dass jedes eingehende Paket bei allen Servern ankommt. Die Server bestimmen dann untereinander, wer welche Anfrage bearbeitet.  Bei Network Load Balancing findet also eine echte Lastverteilung, auch bei Server-Ausfall, statt. Bei DNS-Round Robin, bei dem ein NAT-Proxy die Lastverteilung übernimmt, ist dies nicht der Fall, da bei Ausfall eines Servers ein Teil der Anfragen nicht  mehr ankommt und der Zustand der einzelnen Server nicht berücksichtigt wird. Voraussetzung für NLB ist, dass mehrere Server die gleiche Information über TCP/IP empfangen oder senden können.                                                 
Siehe auch:    NAT   ARP   IP-Adresse   TCP-IP   Client-Server   netzwerk   Domain-Name-System   Round-Robin