Subject: Questions about MZAP

From: Arne Hauenschild <[email-masked]>
Date: Wed, 20 Jun 2001 14:09:17 +0200

Hello!

We are a group of students trying to develop a simulation of administratively
scoped multicast including MZAP. 

While implementing MZAP we had some problems understanding several points
in the RFC 2776.

The first problem is about the announcing of a router's ID using ZCMs.
According to the definition of the MZAP header in the RFC the source 
IP address of a zam is the address of the interface originated the message.
But does that mean that if a ZBR has 2 interfaces in a scope-zone it announces
itself with different addresses?

Example 1:
          :   [B]
          :  / |  
          : /  | 
          :/   | 
          X1   |  
  -----[A]:    | 
          X2   | 
          :\   | 
          : \  | 
          :  \ |
          :   [C]
          :
	
 _____________________________
| .... zone boundary          |
|                             |
|  ---- network connection    |
|                             |
|  X    boundary on interface |
 -----------------------------
	  
In this example ZBR A announces itself with the IP address of the 
interface X1 to B and with the address of interface X2 to C. 
When we use a routing protocol like DVMRP the ZBRs B and C won't forward
the packets received from A towards each other. So B will signal a convexity 
problem because it reads about X2 in the ZCMs from C but doesn't receive a 
ZCM from the interfaceX2 directly.
That won't happen if the source address in the ZCMs is always the lowest address 
used by a interface in the scope zone but that isn't the way described in the 
RFC. 
Another problem is about the configuration of a ZBR for the Local-Scope zone.

RFC 2776: 
"When a ZBR is configured correctly, it can deduce which side of the
boundary is inside the scope zone and which side is outside it."

If there is only one interface with a boundary on it the router can assume that 
this interface is in one zone and the other interfaces are in the other one.
But how could a ZBR with multiple interfaces configured with boundaries decide 
which of these interfaces belong to the same zone?

Example 2: 
                          :   [B]-----[D]----
                          :  /         |
        local zone 1      : /          |
                          :/           |
                          X1          [E]----
              ---------[A]:          /
                          X2        /
                          :\       /
                          : \     /  local zone 2
                          :  \   /
                          :   [C]
                          :
 
  fig 1: router A has two interfaces in local zone 2

                          :
                          :   [B]-----[D]----
                          :  /    local zone 3
        local zone 1      : /    ..............
                          :/     :
                          X      :    [E]----
              ---------[A]:......:   /
                          X         /
                          :\       /
                          : \     /  local zone 2
                          :  \   /
                          :   [C]
                          :
 
  fig 2: router A has one interface in local zone 2
         and one in local zone 3

How can router A decide which of the two possibilities is the correct one?

In this context we got a little confused about the definition of a boundary.
Packets sent by router B must be forwarded by router A in order to arrive router
C. This can only be done if the packets are received over the boundary on X1
and leave router A again over a boundary on interface X2. Is that the correct
behaviour although the packet has to cross two boundaries?
In RFC 2365, line 102 a ZBR is defined this way:

   Such a router, called a boundary router, does not forward
   packets matching an interface's boundary definition in either
   direction (the bi-directional check prevents problems with multi-
   access networks)

There is no exception mentioned for the Local-Scope zone.

The last question is about sending ZAMs. In RFC 2776, line 1058
is written

  In addition, the ZBR re-originates the ZAM out each interface with a
  Local Scope boundary [...]

In figure 2 in the same RFC the router B receives the ZAM over a boundary
but re-originates it out an interface without a boundary on it. 

Thanks in advance.

-- 
Arne Hauenschild