Subject: [Netconf] netconf call home term 'tcp session'

From: Juergen Schoenwaelder <[email-masked]>
Date: Mon, 5 Jan 2015 18:14:08 +0100

Hi,

looking at draft-ietf-netconf-call-home-02.txt section 2.1, I see this:

   o  The TCP connection is accepted and a TCP session is established.

Similar in 3.1, I see this:

   o  The NETCONF/RESTCONF client accepts an incoming TCP connection and
      a TCP session is established.

I am not sure what this "TCP session" is - I think RFC 793 never talks
about a session. Why can we not simply talk about the TCP connection,
thereby eliminating this TCP session term / step?

/js

-- 
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1, 28759 Bremen, Germany
Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>

---

From: Kent Watsen <[email-masked]>
Date: Mon, 5 Jan 2015 19:39:48 +0000

True, RFC 793 does not use the term "tcp session", but other RFCs do:

    https://www.google.com/search?&q=%22tcp+session%22+site:ietf.org

The reason is because of comments received regarding which TCP
connection/session was being used.  The current text uses these different
terms in trying to be more clear (perhaps not).  As currently written, the
term "connection" only appears once, in a desperate attempt to put an end
to how many connections there are  ;)

You still think it should be changed?

Thanks,
Kent

On 1/5/15, 12:14 PM, "Juergen Schoenwaelder"
<[email-masked]> wrote:

>_______________________________________________
>Netconf mailing list
>[email-masked]
>https://www.ietf.org/mailman/listinfo/netconf

---

From: Joe Touch <[email-masked]>
Date: Mon, 05 Jan 2015 12:34:55 -0800

>     https://www.google.com/search?&q=%22tcp+session%22+site:ietf.org

EPP refers to a session, and then goes on to refer (IMO incorrectly) to
TCP sessions. That's the primary BCP/standard doc series that does so.

NAT and STUN refer to sessions to include associations over
non-connection protocols. SIP's and RTP's brief of the term is likely
related to other parts of the protocol being called "session".

Others are Historic.

IMO, it ought to be referred to as a TCP connection. A session is an
association which may or may not involve a TCP connection.

FWIW, I do. Overall, the TCP language needs cleaning. E.g.:

>    o  The NETCONF/RESTCONF server initiates a TCP connection to the

a TCP connection request (SYN)

>       NETCONF/RESTCONF client on one of the IANA-assigned ports for call
>       home (PORT-X for netconf-ch-ssh, PORT-Y for netconf-ch-tls, or
>       PORT-Z for restconf-ch-tls).
> 

The TCP connection request is accepted and a TCP connection is established.

>    o  Using this TCP session, the NETCONF/RESTCONF server immediately

TCP connection

>       starts either the SSH-server or the TLS-server protocol, depending
>       on which port is connected.  The server MUST start the SSH-server

depending on which port is used in the connection.

[note - ports aren't "connected"; they're only 1/4 of a TCP connection
identifier]

>       protocol when port PORT-X is connected or the TLS-server protocol
>       when either port PORT-Y or PORT-Z is connected.  The SSH-server
>       and TLS-server protocols are described by [RFC4253] and [RFC5246]
>       respectively.

I'm not sure why you're mandating when the server must be started.
That's an implementation issue, and when it starts depends on how
incoming connection requests are handled.

However, the server must be started before *user data* is exchanged.
AFAICT there is no requirement that the service be started before a port
is used in a TCP connection in the ESTABLISHED state.

I think what you mean to say here can be sufficiently indicated as:

    o  Using this TCP connection, the NETCONF/RESTCONF server MUST
immediately start using either the SSH-server or the TLS-server
protocol, depending on which port receives the connection request. The
SSH-server and TLS-server protocols are described by [RFC4253] and
[RFC5246] respectively.

Joe

---

From: Juergen Schoenwaelder <[email-masked]>
Date: Mon, 5 Jan 2015 22:24:36 +0100

> You still think it should be changed?

Yes, since as far as I can tell, there are only TCP connections.

/js

---

From: Joe Touch <[email-masked]>
Date: Mon, 05 Jan 2015 13:43:05 -0800

> Yes, since as far as I can tell, there are only TCP connections.

TCP's API (as per RFC793) allows for more than just connections, e.g.,
associations between userland and a socket (i.e., addr/port pair, not
the Unix thing). Those are local within a machine, though.

I don't think that matters much for this doc, though.

Joe

---

From: Kent Watsen <[email-masked]>
Date: Tue, 6 Jan 2015 17:59:16 +0000

+chen.qiaogang

Ok, ok, I'll replace session with connection.  Just opened
https://github.com/netconf-wg/call-home/issues/9 to track this.

Note, issue #9's description contains a link to Joe's email having
specific draft text change suggestions, all of which look very good to me
(thank you Joe!)

Kent

---

From: Andy Bierman <[email-masked]>
Date: Tue, 6 Jan 2015 13:03:53 -0800

Hi,

I agree with all the edits proposed by Joe.
IMO this is a bugfix and should not take long to decide.

Andy