Subject: Re: [Tsvwg] End point and association Address conflict

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Mon, 29 Apr 2002 07:16:25 -0500

Michael,

You may as well let the RFC talk for itself, then.

--brian

On Mon, 29 Apr 2002, Tuexen Michael wrote:

> Brian,
> 
> I'm talking ONLY about an 'SCTP endpoint', as being defined in
> RFC 2960. I agree, that the term endpoint is used with a lot
> of meanings in natural language. I'm using it not implying any
> other meaning (for example for TCP or so), it is just a term
> defined in RFC 2960. 
> 
> I do understand your examples and I only say that the notion 
> defined in RFC 2960 does not apply to them in a way you are using
> them. 
> 
> Maybe you think that is the wrong notion, but I think that is the 
> one used in RFC 2960 and the extension IDs. Since it is necessary
> to use the same one, Randy or Qiaobing could state which one they
> had in mind when writing the RFC. Then we can all use the same.
> 
> Best regards
> Michael
> Michael Tuexen    Tel.:   +49 89 722 47210
> Siemens AG        Fax:    +49 89 722 48212
> ICN WN CC SE 7    E-mail: [email-masked]
> 
> > -----Original Message-----
> > From:	Brian F. G. Bidulock [SMTP:[email-masked]]
> > Sent:	Monday, April 29, 2002 1:31 PM
> > To:	Tuexen Michael
> > Cc:	Qiaobing Xie; Balani, Sandeep; 'Qiaobing Xie'; [email-masked]; [email-masked]; Khan, Mohammad; [email-masked]
> > Subject:	Re: [Tsvwg] End point and association Address conflict
> > 
> > Michael,
> > 
> > Please see comments below...
> > 
> > On Mon, 29 Apr 2002, Tuexen Michael wrote:
> > 
> > > > On Mon, 29 Apr 2002, Tuexen Michael wrote:
> > > > 
> > > > > Hi Brian,
> > > > > 
> > > > > if a host A has two IP-addresses IP' and IP'' and two associations
> > > > > from (IP', Port) to a peer (IP, Port) and (IP'', Port) to the peer
> > > > > (IP, Port) then 
> > > > > - host A has two IP-addresses
> > > > > - there are two end-points (IP', Port), (IP'', Port), each of them
> > > > >   uses only one IP address available at host A.
> > > > > This 'splits' (in your terminology) host A into two end points.
> > > > > The difference between IP addresses of the end point and IP addresses
> > > > > of the host is also the reason why it is valid to say
> > > > > - you MUST include all IP address of the end point in the INIT INIT-ACK.
> > > > > - you include a subset of all addresses of the host in the INIT INIT-ACK.
> > > > 
> > > > Why do you call (IPA, Port) one endpoint?  I view an endpoint as
> > > > half an association.  When two associations are formed from (IPA, Port),
> > > > there are two endpoints, not one.  When adding IPB and IPC and can
> > > > add IPB to one endpoint to form (IPB, IPA, Port) and IPC to another
> > > > to form (IPC, IPA, Port).  Why restrict this?  Particularly if that is
> > > > the way I would have bound them if IPB and IPC where available in the
> > > > first place?
> > > 
> > > [Tuexen Michael]  I think we are not using the same definition of end
> > > point. I'm using an abstract one based on RFC 2960. 
> > > Def.: An SCTP end point is a pair of a set of IP addresses and a port
> > >       number.
> > 
> > We all agree that an endpoint is a set of IP addresses and a port.  This
> > does not say that an endpoint is a unique set of IP addresses and a
> > port.  The cardinality of endpoints is not defined.
> > 
> > > This means, considering a server, I have only one end point for the
> > > server.
> > 
> > Your interpretation.  I have given an example where more than one server
> > can service the same endpoint.  This is typical and true even for TCP
> > (where multiple HTTP servers, for example, service the same IP/Port).
> > 
> > > Mulitple clients can conncect to the server.  These associations share
> > > the same end point.
> > 
> > Depending on how one views the cardinality of endpoints, these
> > associations can be viewed as connecting to different endpoints (even
> > though those endpoints were orginally bound to the same IP...IP/Port,
> > that is they had the same name).
> > 
> > > 
> > > This definition is in tune with the sentence "Two SCTP end points MUST
> > > not have more than one SCTP association between them at any time
> > > given" RFC 2960, page 13, defintion of SCTP association.
> > 
> > This gives no clues as to the cardinality of endpoints.  It only states
> > the cardinality of associations.
> > 
> > > 
> > > Using your definition as an end point is "half of an association" The
> > > sentence cited abover would be trivial.
> > 
> > The sentence above is what makes an endpoint half an association...
> > 
> > > 
> > > That is why I'm still thinking that my notion of SCTP end point is the
> > > one the authors of RFC 2960 had in mind.
> > 
> > Endpoint has had far more before RFC 2960.  An endpoint for
> > communication is the full duplex communications endpoint which occurs at
> > either end of the association.  When we bind and endpoint (give it a
> > name) we associate the IP...IP/Port with the endpoint.  When we connect
> > an association, we form a unique connection to another endpoint.  That
> > endpoint also has an name: IP...IP/Port, but we only contact it using
> > one IP address.
> > 
> > Just as with TCP, if we make an active connection from an endpoint only
> > (that is, we are not listening) then multiple sockets/streams can be
> > bound (named) with the same IP...IP/Port combination.  In fact, with
> > dynamic port allocation, IP/Port combinations are reused on TCP every
> > day between multiple connecting TCP endpoints (sockets/streams) that
> > have no clue that the magic port number `0' has yeilded the same IP/Port
> > combination as another TCP endpoint (socket/stream).
> > 
> > This is also the case of SCTP.  I have two sockets which I have bound
> > to IPA/IPB/Port`0'.  I connect from one socket to Host B and the
> > implementation assigns me port 10000.  I connect from the other socket
> > to Host C and the implementation also assigns me port 10000  (knowing
> > that there is no conflict because one IPA/IPB/Port10000 socket is
> > connected to HostB and the other IPA/IPB/Port10000 socket is connected
> > to HostC).  Now how can you call these the same endpoint?
> > 
> > --brian
> > 
> > > 
> > > Best regards
> > > Michael
> > > 
> > 
> > -- 
> > Brian F. G. Bidulock    ¦ The reasonable man adapts himself to the ¦
> > [email-masked]    ¦ world; the unreasonable one persists in  ¦
> > http://www.openss7.org/ ¦ trying  to adapt the  world  to himself. ¦
> >                         ¦ Therefore  all  progress  depends on the ¦
> >                         ¦ unreasonable man. -- George Bernard Shaw ¦

-- 
Brian F. G. Bidulock    ¦ The reasonable man adapts himself to the ¦
[email-masked]    ¦ world; the unreasonable one persists in  ¦
http://www.openss7.org/ ¦ trying  to adapt the  world  to himself. ¦
                        ¦ Therefore  all  progress  depends on the ¦
                        ¦ unreasonable man. -- George Bernard Shaw ¦

_______________________________________________
tsvwg mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/tsvwg

---

From: Qiaobing Xie <[email-masked]>
Date: Mon, 29 Apr 2002 11:59:22 -0500

Tuexen Michael wrote:
...snip...
> had in mind when writing the RFC. Then we can all use the same.

I 100% agree with Michael and it is exactly why we have an endpoint
definition in RFC2960 - it is meant to tell the reader that when RFC2960
is concerned THIS IS THE DEFINITION TO USE. Any other "endpoint"
definition from other literature, no matter how elegant or ugly it might
be, is entirely IRRELEVANT :-)

-Qiaobing

---

From: Tuexen Michael <[email-masked]>
Date: Mon, 29 Apr 2002 13:41:31 +0200

Brian,

Best regards
Michael