Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Mar 2009 23:52:53 -0400
From:      Yoshihiro Ota <ota@j.email.ne.jp>
To:        Robert Watson <rwatson@FreeBSD.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: 2 uni-directional TCP connection good?
Message-ID:  <20090322235253.432874dd.ota@j.email.ne.jp>
In-Reply-To: <alpine.BSF.2.00.0903201321570.48549@fledge.watson.org>
References:  <20090320045319.04484fc5.ota@j.email.ne.jp> <alpine.BSF.2.00.0903201321570.48549@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 20 Mar 2009 13:24:09 +0000 (GMT)
Robert Watson <rwatson@FreeBSD.org> wrote:

> 
> On Fri, 20 Mar 2009, Yoshihiro Ota wrote:
> 
> > 1. With TCP connections, only sender side can detect some communication 
> > issues passively if happened.  By using two connections, you lost that 
> > ability by your self.  I agree on this one.
> 
> Could you expand a bit on this point?  While the connection creation process 
> (usually) asymmetric, once the connection is built it's essentially the same 
> state machine on both sides of the connection, and socket semantics with 
> respect to the state machine are effectively identical.  Application on both 
> sides should be able to detect disconnect, monitor connection state using 
> TCP_INFO, etc.


What I meant was that there were cases when a receiver could not tell weather
no data was coming or communication was interrupted.  Once connection is
established, a route is available between a server and a client.  Let's say
this  route is broken for some reasons, i.e. someone unplugged a cable or
a firewall started dropping or rejecting between these server and client,
a sender may not notice as soon as it happens but at least, a sender knows
a massages was not delivered right.  On the other hand, receiver side does
not have any idea that a message delivery failure has happened at all or
for a while unless using heartbeat messages in upper layer.  KEEP_ALIVE option
seems to be implementation dependent such that you cannot assure TCP
connection availability for every minute.


Thanks,
Hiro



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090322235253.432874dd.ota>