Subject: [Sigtran] single/double exchange mode doubt

From: "Ankit Kumar Sharma" <[email-masked]>
Date: Thu, 5 Jul 2007 15:43:53 +0530

Hi all,

I have a doubt over single/double exchange mode. When we say single/double
exchange mode then do we mean:

a) it is a property of ASP. For all ASs served by this ASP, my mode would be
either single or double exchange, but not both.

b) it is a property of AS. For one AS, an ASP could behave as in single
exchange and for other it could behave as a double exchange.

Please look at the example below:

        ----------                       ------------
        |ASP 1|----------------------|ASP A |
        ----------                       -----------

ASP 1 is serving AS 1 with routing context 1. ASP A is serving AS A, with
routing context 1. This configuration is running fine in single exchange
mode.

Now, I want to add one more AS at ASP 1, say AS 2. Routing context of this
AS would be 2 and I want to run it in double exchange mode. Do someone see
any discrepancy in this configuration?

Cheers,
Ankit
_______________________________________________
Sigtran mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/sigtran

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Tue, 10 Jul 2007 06:26:31 -0600

Ankit,

Ankit Kumar Sharma wrote:                                            (Thu, 05 Jul 2007 15:43:53)
> 
>    Hi all,
>    I  have  a  doubt  over  single/double  exchange  mode.  When  we  say
>    single/double exchange mode then do we mean:
>    a)  it  is  a property of ASP. For all ASs served by this ASP, my mode
>    would be either single or double exchange, but not both.

ASPs do not do single or double exchanges: IPSPs do.

>    b)  it  is  a  property  of  AS. For one AS, an ASP could behave as in
>    single exchange and for other it could behave as a double exchange.

No.

>    ASP  1  is serving AS 1 with routing context 1. ASP A is serving AS A,
>    with  routing  context 1. This configuration is running fine in single
>    exchange mode.
>    Now,  I want to add one more AS at ASP 1, say AS 2. Routing context of
>    this  AS  would  be 2 and I want to run it in double exchange mode. Do
>    someone see any discrepancy in this configuration?

ASPs do not communicate directly with each other in this fashion: IPSPs do.

The RFCs state that both IPSPs must operate in the same mode for all messages.

--brian

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: "Ankit Kumar Sharma" <[email-masked]>
Date: Wed, 11 Jul 2007 12:07:17 +0530

> ASPs do not do single or double exchanges: IPSPs do.

Agreed. Thanks for pointing out this mistake...

> >    single exchange and for other it could behave as a double exchange.

If we look at the IPSP SE/DE communication in sections 5.6.1 and 5.6.2 of
RFC 4666, behavior of IPSP SE and DE is almost same till ASPSM messages are
exchanged. Now, when we exchange ASPTM message(ASPAC), then  there is a
distinction between SE and DE exchange model.
If I am not wrong then ASPTM messages are more specific to AS and hence we
could say that SE/DE is a property of AS. Peer could be configured in such a
way that after recieving ASP-ACTIVE with RC=x, it should make its local IPSP
active with RC=x(SE mode), whereas if it receives RC=y in ASPAC then it
just acknowledges the ASPAC message, as in DE mode.

> ASPs do not communicate directly with each other in this fashion: IPSPs

Why do we send ASP-Active ,when running in IPSP mode, when we do not have
ANY ASP at both ends?...we should send IPSP-Active...:-)

The RFCs state that both IPSPs must operate in the same mode for all
> messages.

--brian

Cheers,
Ankit

---

From: "Asveren, Tolga" <[email-masked]>
Date: Sun, 15 Jul 2007 16:16:48 -0400

I was wondering whether such a restriction is necessary, i.e. that IPSP
needs to use the same mode for all AS. The state machines are per
IPSP/AS, so I would think that it should be possible to operate them
independently. 

Brian, is there any specific problem scenario you have in mind, if this
is allowed?

   Thanks,
   Tolga

> -----Original Message-----
> From: Brian F. G. Bidulock [mailto:[email-masked]]
> Sent: Tuesday, July 10, 2007 8:27 AM
> To: Ankit Kumar Sharma
> Cc: [email-masked]
> Subject: Re: [Sigtran] single/double exchange mode doubt
> 
> Ankit,
> 
> Ankit Kumar Sharma wrote:
(Thu,
> 05 Jul 2007 15:43:53)
> >    b)  it  is  a  property  of  AS. For one AS, an ASP could behave
as
> in
> >    ASP  1  is serving AS 1 with routing context 1. ASP A is serving
AS
> A,
> >    Now,  I want to add one more AS at ASP 1, say AS 2. Routing
context
> of
> >    this  AS  would  be 2 and I want to run it in double exchange
mode.
> Do
> ASPs do not communicate directly with each other in this fashion:
IPSPs
> do.

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Sun, 15 Jul 2007 19:05:03 -0600

Tolga,

I don't see the need for DE in the first place, far less mixing it with SE
on the same IPSP.

--brian

Asveren, Tolga wrote:                               (Sun, 15 Jul 2007 16:16:48)

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: "Ankit Kumar Sharma" <[email-masked]>
Date: Mon, 16 Jul 2007 10:12:10 +0530

Brian,

   I think in some scenarios, mixing SE and DE becomes more practical.
Please look at following scenario:

                                                ----------
                      ------------
                                                |IPSP
1|----------------------|IPSP A |
                                                ----------
                      -----------

1) IPSP1 is serving AS-1(PC 111) and IPSP A is serving AS-A(PC 999) with
rc=x. They are running happily in single exchange mode.

2) Now, I want to add an additional AS at IPSP1 ex: AS2(PC 222). For AS2, I
need to configure a new RC(rc=y).

3) Corresponding to rc=y, I need to send ASP-Active towards IPSP-A. Since
there is no local AS with rc=y at IPSP-A, it would return with error code
"invalid RC", unless there is some way to instruct IPSP-A to behave as a
double-exchange IPSP for rc=y. Although I could do the workaround by adding
a dummy AS with rc=y at IPSP-A but that solution is irrational and not so
clean.

Regards,
Ankit

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Mon, 16 Jul 2007 01:48:35 -0600

Ankit,

I think you are confusing RK provisioning with exchange model.  If you want
to define a new AS with a new routing key, either that routing key, RC value
and AS must be provisioned on both sides, or dynamic RK registration needs
to be done.

--brian

Ankit Kumar Sharma wrote:                      (Mon, 16 Jul 2007 10:12:10)
>    1)  IPSP1  is  serving AS-1(PC 111) and IPSP A is serving AS-A(PC 999)
>    with rc=x. They are running happily in single exchange mode.
>    2)  Now,  I want to add an additional AS at IPSP1 ex: AS2(PC 222). For
>    AS2, I need to configure a new RC(rc=y).
>    3)  Corresponding  to  rc=y, I need to send ASP-Active towards IPSP-A.
>    Since  there  is no local AS with rc=y at IPSP-A, it would return with
>    error  code  "invalid RC", unless there is some way to instruct IPSP-A
>    to  behave as a double-exchange IPSP for rc=y. Although I could do the
>    workaround  by adding a dummy AS with rc=y at IPSP-A but that solution
>    is irrational and not so clean.
>    Regards,
>    Ankit
> 
>    On 7/16/07, Brian F. G. Bidulock <[1][email-masked]> wrote:
> 
>      Tolga,
>      [2][email-masked]
>      [3]http://www.openss7.org/
> 
> References
> 
>    1. mailto:[email-masked]
>    2. mailto:[email-masked]
>    3. http://www.openss7.org/

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: "Ankit Kumar Sharma" <[email-masked]>
Date: Mon, 16 Jul 2007 14:58:17 +0530

Brian,

   My apologies for not making myself very clear. I have modified steps (2)
and (3) of earlier scenario to make myself more clear below.

        ----------                       ------------
        |IPSP 1|----------------------|IPSP A |
        ----------                       -----------

2) Now, I want to add an additional AS at IPSP1 ex: AS2(PC 222). For AS2, I
need to send Registration Request with my routing key and suppose peer side
i.e IPSP-A has returned rc=y in Registration Response message.

3) After getting the Registration Response from IPSP-A, I fire
ASP-Active(rc=y) from IPSP-1 towards IPSP-A. Now, what should be the
response from IPSP-A?

Regards,
Ankit

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Mon, 16 Jul 2007 04:13:10 -0600

Ankit,

Ankit Kumar Sharma wrote:                       (Mon, 16 Jul 2007 14:58:17)
> 
>    Brian,
>        My  apologies  for  not  making myself very clear. I have modified
>    steps (2) and (3) of earlier scenario to make myself more clear below.
>            ----------                       ------------
>    AS2,  I  need  to  send  Registration  Request with my routing key and
>    suppose  peer  side  i.e  IPSP-A  has  returned  rc=y  in Registration
>    Response message.

ASP-Active-Ack(rc=y).

--brian

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: "Ankit Kumar Sharma" <[email-masked]>
Date: Mon, 16 Jul 2007 17:22:21 +0530

Brian,

> >    ASP-Active(rc=y)  from  IPSP-1 towards IPSP-A. Now, what should be

After sending ASP Active ack(rc==y), IPSP-A is saying to peer that it could
receive DATA with rc=y as well(at IPSP-A), but note that there is NO local
AS at IPSP-A which could be identified with rc==y. Now, if IPSP-A receives
DATA with RC=y, what should it do?

If I am not wrong then by sending ASP-Active-Ack(rc==y) from IPSP-A, I am
depicting as if, IPSP-A is working in double exchange mode.

Please look at the following scenario(assume single exchange mode):

            ----------                       ------------

1) IPSP-1 wants to receive traffic for AS-1 and IPSP-A wants to receive
traffic for AS-A.

2) IPSP-1 sends the routing key of AS-1 through Registration request API,
and it receives RC=x from IPSP-A in Registration response.

3) IPSP-A sends the routing key of AS-A through Registration request API,
and it receives RC=y from IPSP-B in Registration response.

4) Now, IPSP-1 sends ASP-Active(rc==x). How does IPSP-A should respond?

--brian

Cheers,
Ankit

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Mon, 16 Jul 2007 11:52:31 -0600

Ankit,

Ankit Kumar Sharma wrote:                                            (Mon, 16 Jul 2007 17:22:21)
>    After  sending ASP Active ack(rc==y), IPSP-A is saying to peer that it
>    could  receive  DATA with rc=y as well(at IPSP-A), but note that there
>    is NO local AS at IPSP-A which could be identified with rc==y.

Yes, there is a local AS at IPSP-A: it is the AS for which IPSP-A sent
ASP-Active(rc=y)!

--brian

> Now, if
>    IPSP-A receives DATA with RC=y, what should it do?
>    If I am not wrong then by sending ASP-Active-Ack(rc==y) from IPSP-A, I
>    am depicting as if, IPSP-A is working in double exchange mode.
>    1)  IPSP-1  wants  to  receive  traffic  for  AS-1 and IPSP-A wants to
>    receive traffic for AS-A.
>    2)  IPSP-1  sends the routing key of AS-1 through Registration request
>    API, and it receives RC=x from IPSP-A in Registration response.
>    3)  IPSP-A  sends the routing key of AS-A through Registration request
>    API, and it receives RC=y from IPSP-B in Registration response.

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: "Ankit Kumar Sharma" <[email-masked]>
Date: Tue, 17 Jul 2007 11:31:59 +0530

Brian,

> Yes, there is a local AS at IPSP-A: it is the AS for which IPSP-A sent

Where have I written that ASP-Active is sent by IPSP-A for rc=y?
For rc=y, ASP-Active is sent from IPSP-1 towards IPSP-A(Please see statement
(3) above).

Following diagram gives a much clearer view of this scenario.

      +----+                                               +----+
      |AS-1 |                                             |AS-A |
      |rc=x |                                              |rc=x |
      +----*                                               *----+
            \\                                            //
              \\                                         //
                \\                                      //
                  *------+                   +------+/
                  |IPSP-1+--------------+IPSP-A|
                 /*------+                   +------+
               //
             //
       +----*
       |AS-2 |
       |rc=y |
       +-----+

--brian

Cheers,
Ankit

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Tue, 17 Jul 2007 03:49:45 -0600

Ankit,

Ankit Kumar Sharma wrote:                   (Tue, 17 Jul 2007 11:31:59)
>    For  rc=y,  ASP-Active  is  sent from IPSP-1 towards IPSP-A(Please see
>    statement (3) above).

In SE mode an AS exists at both ends of the association or
not at all.  rc=x is valid in you diagram by rc=y is not.

If an AS with rc=y does not exist at IPSP-A, then it will
not be sending ASP-Active(rc=y) to IPSP-1.

Put an AS-B(rc=y) at IPSP-A and your problems vanish.

--brian

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/

---

From: "Ankit Kumar Sharma" <[email-masked]>
Date: Tue, 17 Jul 2007 16:10:19 +0530

Brian,

> Put an AS-B(rc=y) at IPSP-A and your problems vanish.

I know this, please check one of my previous responses. I have copied that
below for your convenience:

" Corresponding to rc=y, I need to send ASP-Active towards IPSP-A. Since
clean. "

Whole point of this discussion is, why exchange mode(Double/Single) is a
property of IPSP, but not AS?

--brian

Cheers,
Ankit

---

From: "Brian F. G. Bidulock" <[email-masked]>
Date: Tue, 17 Jul 2007 04:48:12 -0600

Ankit,

Ankit Kumar Sharma wrote:                                            (Tue, 17 Jul 2007 16:10:19)
>    I  know this, please check one of my previous responses. I have copied
>    that below for your convenience:
>    "  Corresponding  to  rc=y,  I need to send ASP-Active towards IPSP-A.
>    is irrational and not so clean. "

This is _not_ a workaround.  An AS for rc=y at IPSP-A makes a much sense as
an AS for rc=x.  There is nothing irrational or unclean about it.

>    Whole point of this discussion is, why exchange mode(Double/Single) is
>    a property of IPSP, but not AS?

Because it is simply not necessary.

--brian

-- 
Brian F. G. Bidulock
[email-masked]
http://www.openss7.org/