From owner-freebsd-net Thu May 11 6: 4:26 2000 Delivered-To: freebsd-net@freebsd.org Received: from pooh.aist-nara.ac.jp (inet1.aist-nara.ac.jp [163.221.52.121]) by hub.freebsd.org (Postfix) with ESMTP id 5671937BB5F for ; Thu, 11 May 2000 06:04:22 -0700 (PDT) (envelope-from demizu@dd.iij4u.or.jp) Received: from localhost by pooh.aist-nara.ac.jp (8.8.7/2.8Wb) id NAA23075; Thu, 11 May 2000 13:04:24 GMT From: Noritoshi Demizu To: freebsd-net@FreeBSD.ORG Subject: Re: load-balancing over routes and redundancy In-Reply-To: Your message of "Thu, 11 May 2000 14:00:25 +0200" References: <20000511140025.B14744@cichlids.cichlids.com> X-Mailer: Mew version 1.69 on Emacs 19.28.1 / Mule 2.3 X-URL: http://infonet.aist-nara.ac.jp/member/nori-d/ Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20000511220423Y.demizu@dd.iij4u.or.jp> Date: Thu, 11 May 2000 22:04:23 +0900 X-Dispatcher: impost version 0.99i (Apr. 6, 1997) Lines: 46 Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > Would you mind explaining me how that works? On web servers: lo0 of web servers are configured to have the shared IP addresses in order to receive and send packets. On a dispatcher: +------------+-----------------+--------------+ | ---> ip_forward() ---> | | ip_input() +-----------------+ ip_output() | | A | | | | +-----|------+ +------|-------+ +-----+ +------+ | (ethernet) | | V |-->|flow |-->|server| | A | |ether_output()| |table| |table | +-----|------+ +------|-------+ +-----+ +------+ packet V When a packet reaches at a dispatcher, it is just forwarded to a segment where web servers are connected to. When the packet reaches at ether_output(), las_resolve() is called instead of arpresolve(). las_resolve() looks up a flow table to check if the flow ((ip_src, ip_dst) or (ip_src, sport, ip_dst, dport)) has been assigned to some web server. If there is an entry in the flow table, the packet is forwarded to the web server. Otherwise, choose one web server and make an entry for this flow in the flow table. Then, las_resolve() returns MAC address of the chosen web server. This MAC address will be used as the destination address in the ethernet frame. I think fastforwarding can be used with this mechanism. We named this mecanism as "Link Address Selector". After that, we found Linux Virtual Server Project. They call it "DirectRouting". We also found that this idea was invented researchers at IBM long ago. (I do not know about patent issues) > > I am sorry they are not released yet. > Would you mind to release it?-)) I'd like to. However, wait a moment, please. I think kernel part can be released as a normal free software. However, userland part will be released under IPA's copyright (IPA = http://www.ipa.go.jp/index-e.html). I have not received their copyright notice yet. Best Regards, Noritoshi Demizu, NAIST To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message