Re: [Tsvwg] EndPoint and Association Address conflict
Jon Grimm <jgrimm@austin.ibm.com> Mon, 29 April 2002 18:44 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 OAA10813 for <tsvwg-archive@odin.ietf.org>; Mon, 29 Apr 2002 14:44:27 -0400 (EDT)
Received: (from daemon@localhost) by optimus.ietf.org (8.9.1a/8.9.1) id OAA12390 for tsvwg-archive@odin.ietf.org; Mon, 29 Apr 2002 14:44:29 -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 OAA08685; Mon, 29 Apr 2002 14:01:30 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id NAA07800 for <tsvwg@ns.ietf.org>; Mon, 29 Apr 2002 13:58:03 -0400 (EDT)
Received: from mg03.austin.ibm.com (mg03.austin.ibm.com [192.35.232.20]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id NAA06482 for <tsvwg@ietf.org>; Mon, 29 Apr 2002 13:58:00 -0400 (EDT)
Received: from austin.ibm.com (netmail1.austin.ibm.com [9.3.7.138]) by mg03.austin.ibm.com (AIX4.3/8.9.3/8.9.3) with ESMTP id MAA31170; Mon, 29 Apr 2002 12:53:34 -0500
Received: from austin.ibm.com (sctptest.dynamic.austin.ibm.com [9.111.216.144] (may be forged)) by austin.ibm.com (AIX4.3/8.9.3/8.9.3) with ESMTP id MAA38466; Mon, 29 Apr 2002 12:57:52 -0500
Message-ID: <3CCD844A.DB1BC960@austin.ibm.com>
Date: Mon, 29 Apr 2002 12:35:06 -0500
From: Jon Grimm <jgrimm@austin.ibm.com>
X-Mailer: Mozilla 4.76 [en] (X11; U; Linux 2.4.18lksctp i686)
X-Accept-Language: en
MIME-Version: 1.0
To: Ivan.Arias-Rodriguez@nokia.com
CC: bidulock@openss7.org, Michael.Tuexen@icn.siemens.de, qxie1@email.mot.com, randall@stewart.chicago.il.us, s_balani@trillium.com, Qiaobing.Xie@motorola.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>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Content-Transfer-Encoding: 8bit
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: 8bit
Ivan/All I think something that needs to come out of this discussion are scenarios and mandatory behavior in those scenarios (or why flexibility is allowed if not mandatory behavior). Its a little disturbing that a similar 'what is an endpoint?' discussion seems to pop up again every so often. (e.g.bindx discussion last Sept in ftp://ftp.ietf.org/ietf-mail-archive/tsvwg/2001-09.mail ) and still does not seem to be completely clear even to those following SCTP closely over the last year. For each of the following scenarios, 1) A new address is to be added an endpoint. (manual) 2) An address is to be deleted from an endpoint. (manual) 3) A new NIC/address is configured and an endpoint is bound to all (auto) 4) An address bound is brought down (no longer available) (auto). 5) An address bound is brought down for maintenance and then brought on-line again. (auto) consider each of the following subcases (assuming multiple associations under an ep). a) All Peers have ADD-IP. b) No Peers have ADD-IP. c) A subset of Peers support ADD-IP. What happens? Another comment: Dropping down a little bit into the Sockets API for illustration: Depending on one's interpretation of endpoint, what is the endpoint for the association of a peeled-off UDP style socket or for that matter an 'accepted' TCP-style socket. If the strict interpretation of the endpoint is kept.. wouldn't an ADD-IP on the child sockets (peeled off or accept TCP) affect the local endpoint of the parent socket? Or vise versa, should an ADD-IP on a TCP-style listening socket, affect the accepted sockets? If yes, was this expected? If no, does the original definition of endpoint still hold? Even if each expected behavior does not get spelled it, it would be nice for the SCTP Sockets API I-D to clarify the relationship between a socket and an endpoint, so implementors can at least infer what the intended behavior should be. Best Regards, Jon Grimm Ivan.Arias-Rodriguez@nokia.com wrote: > I don't think it is absurd at all. You need to have a group of IP addresses that "go together". Otherwise, how could you know which addresses you should include in the INIT ACK when an INIT chunk hits one of those addresses/port? Or when the user tells you to establish a new association from endpoint X... > > And the restriction is completely logical... Otherwise, if you receive an INIT going to IPA/PortZ, and that address/port pair is part of two different endpoints, how can you know to which one it goes? > > As far as I understood from this long thread, Brian, you are saying that it is legal to have endpoint E1: [(IPA, IPB); Port 1024], and endpoint E2: [(IPA, IPC); Port 1024] (please, correct me if I'm wrong). Then, you receive an INIT (or any other chunk, but let's say it is an INIT to make things clearer), from endpoint EZ, going to IPA/Port 1024... Should you include IPA, IPB, or IPA, IPC?... That's why you cannot include the same address/port pair in two different endpoints... > > In my understanding, an endpoint is basically a port plus some of the host's addresses, and it is mainly used when responding to datagrams that don't go to any established association. It is kind of listener socket... When you receive something whose source/destination address/port is not part of any existing association, then you try to see if that datagram goes or not to any of the endpoint that might be "listening" to the destination address/port of the datagram (our source address/port). If there is any endpoint listening at the port to which the datagram was sent, then you process the datagram (as stated in section 8.4 of RFC 2960). > > And now, regarding the AddIP issues... Let me show you the way I see all this... > > In my understanding, when you establish a new association, you start with the "default" set of addresses, i.e., all of the addresses of the endpoint. Later on, you can delete some of those addresses in *some* associations, stopping using them as your source addresses. Also, if the endpoint adds new addresses, then, you can add those addresses to the associations that were created inside that endpoint... > > Basically, an association created from your endpoint E1, CAN NOT have more addresses than the ones that currently E1 has, but it CAN have less. > > In the examples given by Randall when you add a new card, I think that you have a problem if you bind to INADDR_ANY... That's because you don't know if the peer supports or not AddIP... If it doesn't, and you are not able to add the new addresses, you might end up receiving an ABORT from you peer if you use the newly added address. > > So I think that the associations should have knowledge about which addresses they can use as source address, because they might not always be all the addresses of the endpoint to which they belong... :-/ > > And the point is not only that I might not be able to add the address, I might simply not want to do it. If it cost more money to send packets through the new address, then I might not want to use it at all, even though I could... > > So, associations can (independently) use AddIP extension to delete a source address in any case (except if it is the last one, of course). BUT, associations might only be able to add a new source address if the endpoint is using it. So, in my mind, I make a distinction between adding/deleting an address to/from an endpoint, and adding/deleting an address to/from a particular association... If you add an address to an association using ASCONFs, you MUST previously add it to the endpoint. If you delete an address from an endpoint, you SHOULD try to delete it previously using ASCONFs for all the associations using that source address and belonging to the endpoint to which the address is about to be added (i.e., also using the source address and the source port of the endpoint). I'm not sure if it should be a MUST or a SHOULD. If you are really unplugging the network card, then it doesn't matter since you are not really going to use that address any more either for sen! di! ! ng or receiving. If you are simply doing it because you want to modify the endpoint (but the address is still physically working), then you should take care of what you are doing... :-/ > > Summarizing: > > - An endpoint can use a subset of the source addresses of the host. > - An association, can use a subset of the source addresses of the endpoint to which it belongs. > > I would very much appreciate comments about this mail... > > Thanks a lot! > > BR Iván Arias Rodríguez > _______________________________________________ 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