Re: [Tsvwg] EndPoint and Association Address conflict
Qiaobing Xie <qxie1@email.mot.com> Tue, 30 April 2002 02:09 UTC
Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id WAA26492 for <tsvwg-archive@odin.ietf.org>; Mon, 29 Apr 2002 22:09:34 -0400 (EDT)
Received: (from daemon@localhost) by optimus.ietf.org (8.9.1a/8.9.1) id WAA11165 for tsvwg-archive@odin.ietf.org; Mon, 29 Apr 2002 22:09:37 -0400 (EDT)
Received: from optimus.ietf.org (localhost [127.0.0.1]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id VAA09504; Mon, 29 Apr 2002 21:42:51 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id UAA07140 for <tsvwg@ns.ietf.org>; Mon, 29 Apr 2002 20:59:28 -0400 (EDT)
Received: from ftpbox.mot.com (ftpbox.mot.com [129.188.136.101]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id UAA24669 for <tsvwg@ietf.org>; Mon, 29 Apr 2002 20:59:25 -0400 (EDT)
Received: [from pobox2.mot.com (pobox2.mot.com [136.182.15.8]) by ftpbox.mot.com (ftpbox 2.1) with ESMTP id RAA13392; Mon, 29 Apr 2002 17:59:27 -0700 (MST)]
Received: [from relay1.cig.mot.com (relay1.cig.mot.com [136.182.15.23]) by pobox2.mot.com (MOT-pobox2 2.0) with ESMTP id RAA12377; Mon, 29 Apr 2002 17:59:27 -0700 (MST)]
Received: from quantix20.cig.mot.com (quantix20 [160.47.58.31]) by relay1.cig.mot.com (8.11.4/8.11.4) with ESMTP id g3U0xNb03699; Mon, 29 Apr 2002 19:59:23 -0500 (CDT)
Received: from email.mot.com (d50-384a.cig.mot.com [160.47.56.74]) by quantix20.cig.mot.com (8.8.8+Sun/8.8.8) with ESMTP id TAA22051; Mon, 29 Apr 2002 19:59:33 -0500 (CDT)
Message-ID: <3CCDED1D.EFC1E6F0@email.mot.com>
Date: Mon, 29 Apr 2002 20:02:21 -0500
From: Qiaobing Xie <qxie1@email.mot.com>
X-Mailer: Mozilla 4.77 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Randall Stewart <randall@stewart.chicago.il.us>
CC: Qiaobing Xie <Qiaobing.Xie@motorola.com>, Jon Grimm <jgrimm@austin.ibm.com>, Ivan.Arias-Rodriguez@nokia.com, bidulock@openss7.org, Michael.Tuexen@icn.siemens.de, s_balani@trillium.com, mo_khan@trillium.com, h_pillai@trillium.com, jheitz@lucent.com, tsvwg@ietf.org
Subject: Re: [Tsvwg] EndPoint and Association Address conflict
References: <58AEDE27D48F884285007ABF827FF26308EFB4@esebe017.NOE.Nokia.com> <3CCD844A.DB1BC960@austin.ibm.com> <3CCD9267.6456A90E@stewart.chicago.il.us> <3CCDA2AD.CB11491@austin.ibm.com> <3CCDB210.E8FA4663@stewart.chicago.il.us> <3CCDD167.8A0DBC43@email.mot.com> <3CCDDF18.9DDD2030@stewart.chicago.il.us>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Sender: tsvwg-admin@ietf.org
Errors-To: tsvwg-admin@ietf.org
X-Mailman-Version: 1.0
Precedence: bulk
List-Id: Transport Area Working Group <tsvwg.ietf.org>
X-BeenThere: tsvwg@ietf.org
Content-Transfer-Encoding: 7bit
R, A couple of comments... Randall Stewart wrote: ... > Now I have done a bit more thinking on this. The corner case that > we were worried about was this (if I remember right): > > Host A Host Z > IP-A/IP-B IP-Z > (An UDP model Endpoint > Listening on Port 2222) > IP-A:Port-2222<-----------------INIT(From IP-Z:Port 3333) > ----------INIT-ACK(IP-A,IP-B:Port 2222)--------> > <--------------COOKIE-ECHO---------------------- > ----------------COOKIE-ACK----------------------> > > Now at this point A-1 is up. > > Now along the line we do > > ifconfg New-Intf IP-C > > and magically do > > --------------ASCONF(ADD-IP:IP-C)------------------------> > <---------------------OperationalError(Unknown Chunk ASCONF)----- > > So here we have a potential problem... At this point, would our local stack (I am avoiding to use endpoint here) actually start to use IP-C as the source addr in any outbound packets in the current association? If so, that would trigger an abort from the peer and kill the current association. If not, then strictly speaking, IP-C has not yet been added to the local **endpoint** that the current associaiton is using. It has only been made available to the local stack for future use. > > now our silly peer does > > <------------------------IP-C:2222 INIT(IP-Z:Port 3333) > > What do we do? > > --------INIT-ACK(IP-A,IP-B,IP-C: Port 2222)---------->IP-Z:Port > 3333---> > When the local stack does this, it starts to manage two logically different local endpoints - the one used by the old association that has only IP-A and IP-B; the other is intended for the new association, as advertised in this INIT-ACK, that has IP-A, IP-B, and IP-C. To have multiple logical endpoints here is not a problem. But the problem is that they are sharing IP-A and IP-B. This not only goes against RFC2960 definition, but also becomes the root cause that opens the door for the "corner case" and potential danger of other "duplicate association" cases. Of cause, as you showed below, if a solid implementation is vigorously checking and double-checking for dup associations at multiple points during the initiation process, you may eventually weed them out. But I am not sure about just relying on the implementation to catch dup associations. -Qiaobing > > Now what we have forgotten about is what our silly endpoint is going > to do. > > The SCTP stack on Host-Z must look to see if a collision is > happening.. this is required in RFC2960. So what happens will depend > on where the INIT-ACK is sourced from.. > > If by chance its source is IP-A or IP-B ... guess what? the lookup > at Host-Z will return the OLD association which is NOT in a COOKIE-WAIT > state.. so what will Host-Z doe? Discard the INIT-ACK... This will > happen again (i.e. the INIT-timer will expire on Host-Z and this will > then repeat until we fail).... No problem.. > > Now what happens if by chance it IS sourced from IP-C? We find the > newly forming association. Now it goes throughs its procedures > to attempt to gather all the valuable goodies out of the INIT-ACK. > In the process it must load its peers addresses to the association. > And here is where it SHOULD detect the other association. I know > in our implementation one of the first things I do when loading > an address is do a lookup on the address I am loading.. I want > to make sure it is in the association only ONCE. In the process > I get back the association ... one of the checks I do is verify > that it is the same association that I am working on loading > address to .. if not.. guess what ? I detect the error and > bail out.. dropping the INIT-ACK... so .. same result.. we continue > to send out INIT's and drop the result.. thus the IP-C association > just never forms.. > > Now is this clear in any document that you must look for addresses > as you load them.. no its not specified since it is an implementation > detail. I will admit it is an important one.. Should it be documented > that you SHOULD attempt to detect this? Maybe but I am not sure > where this would fit.. > > But in the end my basic premise is that if the implementation is > coded right the silly endpoint will self-correct and NOT bring up > this strange association. > > I don't think we can dis-allow adding an new address... otherwise > a true restarting association could not come up if I just added > an address until it aborted ... so I don't like that idea... > > Let me also note .. say my implementation hits a peer that does > NOT catch this.. guess what.. the same code is going to run to > load the addresses from the cookie.. It too will find this > double association setup and drop the cookie... > > So my contention is that this corner case is NOT an issue if > the address loading is done properly by the implementation... > > R > _______________________________________________ tsvwg mailing list tsvwg@ietf.org https://www1.ietf.org/mailman/listinfo/tsvwg
- [Tsvwg] EndPoint and Association Address conflict Khan, Mohammad
- Re: [Tsvwg] EndPoint and Association Address conf… Brian F. G. Bidulock
- Re: [Tsvwg] EndPoint and Association Address conf… Qiaobing Xie
- Re: [Tsvwg] EndPoint and Association Address conf… Randall Stewart
- Re: [Tsvwg] EndPoint and Association Address conf… Qiaobing Xie
- Re: [Tsvwg] EndPoint and Association Address conf… Randall Stewart
- RE: [Tsvwg] EndPoint and Association Address conf… Khan, Mohammad
- Re: [Tsvwg] EndPoint and Association Address conf… Brian F. G. Bidulock
- Re: [Tsvwg] EndPoint and Association Address conf… Jacob Heitz
- Re: [Tsvwg] EndPoint and Association Address conf… Brian F. G. Bidulock
- RE: [Tsvwg] EndPoint and Association Address conf… Tuexen Michael
- Re: [Tsvwg] EndPoint and Association Address conf… Brian F. G. Bidulock
- RE: [Tsvwg] EndPoint and Association Address conf… Tuexen Michael
- Re: [Tsvwg] EndPoint and Association Address conf… Brian F. G. Bidulock
- RE: [Tsvwg] EndPoint and Association Address conf… Tuexen Michael
- Re: [Tsvwg] EndPoint and Association Address conf… Brian F. G. Bidulock
- Re: [Tsvwg] EndPoint and Association Address conf… Randall Stewart
- RE: [Tsvwg] EndPoint and Association Address conf… Tuexen Michael
- Re: [Tsvwg] EndPoint and Association Address conf… Brian F. G. Bidulock
- RE: [Tsvwg] EndPoint and Association Address conf… Tuexen Michael
- RE: [Tsvwg] EndPoint and Association Address conf… Ivan.Arias-Rodriguez
- Re: [Tsvwg] EndPoint and Association Address conf… Randall Stewart
- Re: [Tsvwg] EndPoint and Association Address conf… Qiaobing Xie
- Re: [Tsvwg] EndPoint and Association Address conf… Randall Stewart
- Re: [Tsvwg] EndPoint and Association Address conf… Michael Tuexen
- Re: [Tsvwg] EndPoint and Association Address conf… Qiaobing Xie
- Re: [Tsvwg] EndPoint and Association Address conf… Randall Stewart
- Re: [Tsvwg] EndPoint and Association Address conf… Jon Grimm
- Re: [Tsvwg] EndPoint and Association Address conf… Randall Stewart
- Re: [Tsvwg] EndPoint and Association Address conf… Jon Grimm
- Re: [Tsvwg] EndPoint and Association Address conf… Michael Tuexen
- Re: [Tsvwg] EndPoint and Association Address conf… Randall Stewart
- Re: [Tsvwg] EndPoint and Association Address conf… Qiaobing Xie
- Re: [Tsvwg] EndPoint and Association Address conf… Randall Stewart
- Re: [Tsvwg] EndPoint and Association Address conf… Qiaobing Xie
- Re: [Tsvwg] EndPoint and Association Address conf… Randall Stewart
- Re: [Tsvwg] EndPoint and Association Address conf… Jon Grimm
- Re: [Tsvwg] EndPoint and Association Address conf… Randall Stewart
- Re: [Tsvwg] EndPoint and Association Address conf… Jon Grimm
- RE: [Tsvwg] EndPoint and Association Address conf… Balani, Sandeep
- Re: [Tsvwg] EndPoint and Association Address conf… Qiaobing Xie
- Re: [Tsvwg] EndPoint and Association Address conf… La Monte Henry Piggy Yarroll