Path: utzoo!utgpu!water!watmath!clyde!att!pacbell!ames!pasteur!ucbvax!MATHOM.CISCO.COM!BILLW From: BILLW@MATHOM.CISCO.COM (William Westfield) Newsgroups: comp.protocols.tcp-ip Subject: Re: Multiple TCP/IP servers on one host Message-ID: <12432411407.23.BILLW@MATHOM.CISCO.COM> Date: 21 Sep 88 21:15:33 GMT References: <985@helios.ee.lbl.gov> Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 31 Routers from cisco Systems have supported load balancing among equivalent routes for a long time by round robining the packets among routes. We also support a "variance" command for specifying a multiplier that may be applied to consider routes for load sharing. A variance of 1 implies that we use only the best route, a variance of 4 implies that we use the best route, and any other routes up to 4 times as bad as the best route. A route 4 times as bad as the best route will get 1/4 of the packets... This works just fine for relatively simple networks, but for very large networks, there is not enough resolution in routing metrics, and you tend to use routes that you really wish you hadn't for distant hosts (this is true even with cisco's IGRP, which has considerably better resolution than any other routing protocol). It still seems to work for relatively small variance values (say, <4). (What it boils down to is that it is probably reasonable to use a 200 mS path instead of a 50 mS path, but not to use a 16 S path instead of a 4 S path.) Setting the variance to greater than 1 is also a good way to find bugs in reassembly algorithms, as packets WILL arrive in a different order than they were sent. This will not allow a host to pick between several gateways on an ethernet (it only allows a gateway to pick between several paths). But current wisdom is that hosts should not know anything about the internals of routing issues anyway. Bill Westfield cisco Systems. -------