Flow Control: Difference between revisions

From
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
Um Überlastungen eines Servents zu vermeiden wurde bei der neueren Version von Gnutella (v.0.6)
Um Überlastungen eines Servents zu vermeiden wurde bei der neueren Version von Gnutella (v0.6) ein Algorithmus zur Flow Control implementiert. <br>
Der einfachste Ansatz wäre, die Verbindung zu schliessen, wenn zu viel Bandbreite beansprucht wird; besser ist es jedoch, weiterzuleitende Nachrichten zu verwerfen um der Traffic zu verringern. Somit würden aber auch Query Hits verworfen, wodurch vorangegangene Querys umsonst Traffic im Gnet verursacht hätten. <br>
Daher wurde eine Outputqueue in Gnutella implementiert:
*solange Queue < 25% ihrer max. Größe in Bytes, nichts weiter tun
*ab 50%, Flow-Control-Modus benutzen
*;solange bis wieder unter 25%
*Größe der Queue sollte mindestens 150% der max. zulässigen Nachrichtengröße sein

Revision as of 15:41, 4 February 2006

Um Überlastungen eines Servents zu vermeiden wurde bei der neueren Version von Gnutella (v0.6) ein Algorithmus zur Flow Control implementiert.
Der einfachste Ansatz wäre, die Verbindung zu schliessen, wenn zu viel Bandbreite beansprucht wird; besser ist es jedoch, weiterzuleitende Nachrichten zu verwerfen um der Traffic zu verringern. Somit würden aber auch Query Hits verworfen, wodurch vorangegangene Querys umsonst Traffic im Gnet verursacht hätten.
Daher wurde eine Outputqueue in Gnutella implementiert:

  • solange Queue < 25% ihrer max. Größe in Bytes, nichts weiter tun
  • ab 50%, Flow-Control-Modus benutzen
    solange bis wieder unter 25%
  • Größe der Queue sollte mindestens 150% der max. zulässigen Nachrichtengröße sein