EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Correction: summary: ca client connection pattern
From: Geoff Savage <[email protected]>
To: [email protected]
Date: Thu, 05 Apr 2001 16:41:28 -0500
I have the directions of the TCP messages reversed.  The client, in this
case IOC A, must initiate the connection based on the information
returned in the directed UDP message.

Sorry for the confusion.

Geoff

Geoff Savage wrote:
> 
> Hi,
> 
> Make sure you close channels using ca_clear_channel when you are done.
> 
> I changed my version (R3.13.1.1) of ca_test to call ca_clear_channel at
> the end and connections were made flawlessly.  I also avoided the
> problem by usig a connection callback and extending the ca_pend_io
> timeout to 5 seconds.
> 
> Here's the problem with some details.  With two IOCs, A and B, you run a
> client on A that connects to a PV on B.  If you reboot A without closing
> the connection then B still thinks that the connection still exists.
> More importantly B's TCP layer has an expected sequence number that was
> generated when the initial connection was made.  Now reboot A and run a
> ca client that attempts to connect to a PV on B.  When B initiates the
> connection with A the sequence number is not understood by A so A tells
> B and B tells A to reset.  A few seconds (~3 seconds) B attempts to
> connect again and things go as expected.
> 
>                         Succesful connection
>         IOC A                           IOC B
> 1       UDP broadcast   -->     Looking for a PV                -->     UDP received
> 2       UDP received    <--     PV located here                 <--     UDP directed
>         Establish TCP connection (these are TCP messages)
> 3       SYN received    <--     <SEQ=100><CTL=SYN>              <--     SYN sent
> 4       SYN received    -->     <SEQ=300><ACK=101><CTL=SYN, ACK>-->     Established
> 5       Established     <--     <SEQ=101><ACK=301><CTL=ACK>     <--     Established
> 
>                         Failed connection
>         IOC A                           IOC B
> 1       UDP broadcast   -->     Looking for a PV                -->     UDP received
> 2       UDP received    <--     PV located here                 <--     UDP directed
>         Establish TCP connection (these are TCP messages)
> 3       SYN received    <--     <SEQ=500><CTL=SYN>              <--     SYN sent
> 4       SYN received    -->     <SEQ=350><ACK=150><CTL= ACK>    -->     SYN sent
> 5       Listen          <--     <SEQ=150><CTL=RST>              <--     SYN sent
>         After a few seconds
> 6       SYN received    <--     <SEQ=100><CTL=SYN>              <--     SYN sent
> 7       SYN received    -->     <SEQ=300><ACK=101><CTL=SYN, ACK>-->     Established
> 8       Established     <--     <SEQ=101><ACK=301><CTL=ACK>     <--     Established
> 
> For more information on TCP see RFC 793.
> 
> Thanks for the assistance and suggestions.
> 
> Geoff


Navigate by Date:
Prev: summary: ca client connection pattern Geoff Savage
Next: 3.14.0alpha2 Thomas Fechner
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: summary: ca client connection pattern Geoff Savage
Next: 3.14.0alpha2 Thomas Fechner
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·