From owner-freebsd-net@FreeBSD.ORG Fri Sep 14 10:11:30 2007 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D69BE16A418 for ; Fri, 14 Sep 2007 10:11:30 +0000 (UTC) (envelope-from myronn@seed.net.tw) Received: from seed.net.tw (sn16.seed.net.tw [139.175.54.16]) by mx1.freebsd.org (Postfix) with ESMTP id B3AE713C442 for ; Fri, 14 Sep 2007 10:11:30 +0000 (UTC) (envelope-from myronn@seed.net.tw) Received: from [139.175.54.128] (port=51721 helo=wm8.seed.net.tw) by seed.net.tw with esmtp (Seednet 4.23:1) id 1IW7fp-000Dji-BC for freebsd-net@freebsd.org; Fri, 14 Sep 2007 17:41:17 +0800 Message-ID: <18389100.19191189762877349.JavaMail.root@wm8.seed.net.tw> Date: Fri, 14 Sep 2007 17:41:17 +0800 (CST) From: myronn@seed.net.tw To: freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: text/plain;charset=Big5 Content-Transfer-Encoding: 7bit Subject: ICMP issue while multiple interface in the same subnet X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Sep 2007 10:11:30 -0000 Hi, For a special test reason, I must use two hosts and it has two interfaces to connect each other without any switch or hub. Host1 Host2 |-----| |-----| | 1 0-----------------0 1 | | | | | | 2 0-----------------0 2 | |-----| |-----| Host platform OS is BSD. I assigned Host1 NIC1 ping Host NIC2. Command is correct but I found as follows: 1. Host1 arp broadcast to Host2 and Host2 would be return info to Host1. 2. Then, Host1 sent ICMP request packet to Host2. 3. Host2 received packet and always "USE" NIC2 replaying the ICMP reply. 4. If Host1 use NIC2 ping Host2 NIC2, Host1 NIC2 could get the ICMP reply packet from Host2 NIC2. Question: 1. This behavior is a normal network behavior? 2. If it's a normal network behavior, it followed which standard? 3. I know that there were other softwares could change this behavior but why many platforms(BSD,Linux,.....) used this behavior was its default network behavior? 4. Why default behavior is incoming interface different from outgoing interface? 5. If I set all interfaces are in the same subnet and the incoming interface is the same with outgoing interface, what weakness would be happened? Thanks and Regards, Myron