Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 14 Sep 2007 13:56:59 +0300
From:      Cristian KLEIN <cristi@net.utcluj.ro>
To:        myronn@seed.net.tw
Cc:        freebsd-net@freebsd.org
Subject:   Re: ICMP issue while multiple interface in the same subnet
Message-ID:  <46EA68FB.8010108@net.utcluj.ro>
In-Reply-To: <18389100.19191189762877349.JavaMail.root@wm8.seed.net.tw>
References:  <18389100.19191189762877349.JavaMail.root@wm8.seed.net.tw>

next in thread | previous in thread | raw e-mail | index | archive | help
myronn@seed.net.tw wrote:
> 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?

Hi,

This is the expected behaviour. ICMP reply packets are sent to the destination
based on routing table, and not on the same interface as the incoming ICMP
request packet.

Depending on what you would like to accomplish, your solution could be as easy
as adding a route, or as complicated as using policy routing.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46EA68FB.8010108>