Re: [manet-dlep-rg] TCP clients, servers, and discovery (WAS: Re: notes DLEP meeting @ IETF88)

"Taylor, Rick" <Rick.Taylor@cassidian.com> Fri, 15 November 2013 12:54 UTC

Return-Path: <rick.taylor@cassidian.com>
X-Original-To: manet-dlep-rg@ietfa.amsl.com
Delivered-To: manet-dlep-rg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0423711E80F9 for <manet-dlep-rg@ietfa.amsl.com>; Fri, 15 Nov 2013 04:54:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.724
X-Spam-Level:
X-Spam-Status: No, score=-0.724 tagged_above=-999 required=5 tests=[AWL=-0.017, BAYES_00=-2.599, J_CHICKENPOX_21=0.6, MISSING_HEADERS=1.292]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NsD3ZZ0h-keI for <manet-dlep-rg@ietfa.amsl.com>; Fri, 15 Nov 2013 04:54:27 -0800 (PST)
Received: from mail-dotnet4.eads.net (mail-dotnet4.eads.net [193.56.40.77]) by ietfa.amsl.com (Postfix) with ESMTP id 903F111E80F1 for <manet-dlep-rg@ietf.org>; Fri, 15 Nov 2013 04:54:25 -0800 (PST)
Received: from unknown (HELO fr-gate1.mailhub.intra.corp) ([53.154.16.33]) by mail-dotnet4.eads.net with ESMTP; 15 Nov 2013 13:54:23 +0100
Received: from f8562vs5.main.fr.ds.corp ([10.37.8.22]) by fr-gate1.mailhub.intra.corp with Microsoft SMTPSVC(5.0.2195.7381); Fri, 15 Nov 2013 13:54:20 +0100
Received: from f8562vs4.main.fr.ds.corp ([10.37.8.28]) by f8562vs5.main.fr.ds.corp with Microsoft SMTPSVC(6.0.3790.4675); Fri, 15 Nov 2013 13:54:20 +0100
Received: from SUCNPTEXC01.com.ad.uk.ds.corp ([10.80.73.70]) by f8562vs4.main.fr.ds.corp with Microsoft SMTPSVC(6.0.3790.4675); Fri, 15 Nov 2013 13:54:20 +0100
Received: from SUCNPTEXM01.COM.AD.UK.DS.CORP ([fe80::2543:10a0:fd02:b894]) by SUCNPTEXC01.com.ad.uk.ds.corp ([::1]) with mapi id 14.02.0318.004; Fri, 15 Nov 2013 12:54:18 +0000
From: "Taylor, Rick" <Rick.Taylor@cassidian.com>
Thread-Topic: [manet-dlep-rg] TCP clients, servers, and discovery (WAS: Re: notes DLEP meeting @ IETF88)
Thread-Index: AQHO4fvDOxnM2CwZqEihxE7/87lrqpomPl5Q
Date: Fri, 15 Nov 2013 12:54:18 +0000
Message-ID: <f0edc8cc-2cf8-4a6a-901e-2d7b44c0877d@SUCNPTEXC01.COM.AD.UK.DS.CORP>
References: <979927df-e29f-4d41-b5c6-4c3c0ec70db7@SUCNPTEXC01.COM.AD.UK.DS.CORP> <e65cf55d-2150-4118-8d59-2363da4055a2@SUCNPTEXC01.COM.AD.UK.DS.CORP>
In-Reply-To: <e65cf55d-2150-4118-8d59-2363da4055a2@SUCNPTEXC01.COM.AD.UK.DS.CORP>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.80.23.75]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginalArrivalTime: 15 Nov 2013 12:54:20.0043 (UTC) FILETIME=[CCE075B0:01CEE201]
X-TM-AS-Product-Ver: SMEX-8.0.0.4194-6.500.1024-20292.007
X-TM-AS-Result: No--32.087900-0.000000-31
X-TM-AS-User-Approved-Sender: Yes
X-TM-AS-User-Blocked-Sender: No
Cc: "DLEP Research Group (manet-dlep-rg@ietf.org)" <manet-dlep-rg@ietf.org>, "Dowdell, John" <John.Dowdell@Cassidian.com>
Subject: Re: [manet-dlep-rg] TCP clients, servers, and discovery (WAS: Re: notes DLEP meeting @ IETF88)
X-BeenThere: manet-dlep-rg@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: DLEP Radio Group <manet-dlep-rg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/manet-dlep-rg>, <mailto:manet-dlep-rg-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/manet-dlep-rg>
List-Post: <mailto:manet-dlep-rg@ietf.org>
List-Help: <mailto:manet-dlep-rg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/manet-dlep-rg>, <mailto:manet-dlep-rg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 15 Nov 2013 12:54:32 -0000

> From: Teco Boot [mailto:teco@inf-net.nl]
> Subject: Re: [manet-dlep-rg] TCP clients, servers, and discovery (WAS: Re:
> notes DLEP meeting @ IETF88)
> Op 15 nov. 2013, om 11:33 heeft Taylor, Rick <Rick.Taylor@cassidian.com>
> het volgende geschreven:
>
> >
> > As I understand it, we are all happy with:
> >
> >    Server                                          Client
> >    ======================================================
> >
> > 1)  TCP Listen()
> >
> > 2*) Peer_Discovery (UDP) ------------Multicast----------->
> >      + Version
> >
> > 3)  <--------------------------------------- TCP Connect()
> >
> > 4)  <---------------------------------- Peer_Request (TCP)
> >                                                 + Version
> >                                       + optional extras 1
> >
> > 5)  Peer_Accept (TCP) ----------------------------------->
> >      + Status
> >      + Version
> >      + optional extras 2
> >
> > *Step 2 may be replaced with a-priori configuration, mDNS, etc...
> >
> > What we are arguing about is who should be the Client, and who should be
> the Server.
> >
> > So, I am now calling for everyone's answer to the following question:
> >
> > "Should the modem be the Client or the Server in the above diagram, and
> why?"
>
> Modem should be the server:
>  - modems are servers today, for link metrics, OA&M etc.
>  - modems provide a service, so they act as server
>  - modems are "thumb" devices and can be reach from anywhere in the
> Internet, if permitted. No need to configure the modem for it, except
> setting access rights. No need to fire an "ignition packet".
>  - modems can easily handle many TCP sockets, either TCP server or TCP
> client
>  - TCP server programming is not more difficult than TCP client

I'll send my thoughts on this later.

> >
> > I have intentionally left 'optional extras' 1 and 2 undefined as they
> may be relevant in your answers.
>
> The Ack in the 3-way handshake is missing. After 5, Server thinks the DLEP
> session is open, but Client is not aware of it yet. This is minor detail,
> perhaps indeed use as few packets as possible. Also less state.

Isn't the client aware the session is established when it receives the Peer_Accept (I renamed the ACK) with status code?

> >
> > I will give my answers in a separate email.
> >
> > If anyone has a problem with the above diagram, now is your chance to
> shout!
>
> Yes, TCP server socket must be opened before the Peer_Discovery.

+1 Yes, agreed, it is, that's what I meant by listen() in step 1.

> After connection, Peer_Discovery packets SHOULD continue to be sent, for
> the following reasons:
>  - no relation between UDP and TCP sockets, more lightweight
>  - for modems that support it, other routers may set up DLEP sessions also
>  - better recovery in case of failures, router knows modem is still
> present (think of heartbeat=zero)
>  - in line with other discovery protocols (CDP, LLDP, Bonjour etc).

+1 Yes, I just didn't put this in the diagram for simplicity.

Rick


The information contained within this e-mail and any files attached to this e-mail is private and in addition may include commercially sensitive information. The contents of this e-mail are for the intended recipient only and therefore if you wish to disclose the information contained within this e-mail or attached files, please contact the sender prior to any such disclosure. If you are not the intended recipient, any disclosure, copying or distribution is prohibited. Please also contact the sender and inform them of the error and delete the e-mail, including any attached files from your system. Cassidian Limited, Registered Office : Quadrant House, Celtic Springs, Coedkernew, Newport, NP10 8FZ Company No: 04191036 http://www.cassidian.com