Hi Sriram,

Thanks a lot for your detailed comments. I answer your questions one-by-one as 
follows.

[To Comment #1]: When DSAV is partially deployed, the source prefixes which do 
not appear in the SAV table will not be blocked. So there will not be improper 
block problem due to partial deployment. This operation also helps understand 
the incentive of DSAV: if you deploy DSAV, other ASes can identify and reject 
packets with spoofed source addresses of you (which can avoid reflective DDoS); 
if you do not deploy DSAV, you do not get the benefits.

In the example, if AS1 does not deploy DSAV, it will not generate original 
notification messages and AS4 will not learn the valid incoming port for source 
prefixes of AS1 (i.e., P1, P2, P3). So, AS4 will pass those packets with source 
addresses of P1, P2, and P3.

We have talked about our incremental deployment considerations with Ben in the 
mailing list. In incremental/partial deployment scenario, each “deployed area” 
gains benefits: “ASes within the deployed area cannot spoof each other, and 
ASes in the undeployed area cannot spoof the source addresses of the deployed 
area”. Moreover, if disconnected “deployed areas” can be logically connected 
(by crossing the “undeployed areas”), multiple disconnected “deployed areas” 
can form an “alliance” to protect their addresses from being forged by 
“outside-alliance” networks.

[To Comment #2]: RFC 8704 proposes two EFP-uRPF algorithms, namely, algorithm A 
and algorithm B. However, since algorithm A has improper block problems (as 
described in RFC 8704 Section 3.3), RFC 8704 (Section 3.7) recommends to deploy 
algorithm B at customer ports. Algorithm A can only be used when operators are 
confident that their inter-domain routing scenarios will not trigger improper 
block, which we think is difficult for operator in practice. But we think the 
recommendation is reasonable. So, we mainly focus on the problem of EFP-uRPF 
algorithm B. We also give the gap analysis of EFP-uRPF algorithm A in the 
slides presented in the BoF meeting. If there is any more confusion for this 
issue, we can discuss further.

[To Comment #3]: Yes I agree with you for the conclusion when AS3 is not 
upgraded in the example. Both uRPF-based solutions and DSAV use the incoming 
interface as the signal to determine spoofed packets. So if two source prefixes 
use the same valid incoming port, spoofing between the two source prefixes 
cannot be identified at the incoming port. But DSAV can still do more than 
existing uRPF-based solutions. Let's use the same example but assume AS3 
deploys SAV filtering now. If AS3 uses EFP-uRPF algorithm B (following the 
recommendations of RFC 8704), AS1 and AS2 can spoof each other. If AS3 uses 
DSAV and receives notification messages from AS1 and AS2, it can generate a 
finer-grained SAV table: packets with source addresses of P1 must come from 
AS1, and packets with source addresses of P2 must come from AS2. In this case, 
DSAV can achieve more accurate SAV.

[To Comment #4]: In DSAV notification message, the source prefix field is used 
to generate SAV rules, while the propagation scope (or the list of destination 
prefixes) is used to discover the real data-plane forwarding path. More 
specifically, during the prefix notification process, each router looks up the 
local FIB table against the destination prefixes in the propagation scope, to 
determine toward which interface to relay the notification message. Before an 
AS relays the notification message to neighboring ASes, it will delete its own 
prefixes from the propagation scope. Therefore, the destination prefixes in the 
propagation scope field will become less and less as the notification process 
goes on. The notification process will be terminated when the scope becomes 
empty.

In the draft, maybe we used a too simple example, which did not clearly 
describe the process. Without the prefix notification process, the other ASes 
do not know how map source prefixes to the correct incoming interface(s). In 
the updated draft, we will use a better example.

[To Comment #5]: DSAV is short for “Validating Source Addresses via SAV Tables 
Generated by a Distributed Control-plane Protocol”, while not short for 
“Distributed SAV”. We use the full name in the BOF meeting. Yes uRPF is fully 
distributed. To avoid confusion, we will change it to a better short name in 
the updated draft.

Best,
Dan

发件人: Sriram, Kotikalapudi (Fed) <[email protected]> 
发送时间: 2022年5月12日 4:53
收件人: Dan Li <[email protected]>
抄送: [email protected]; 'RTGWG' <[email protected]>
主题: some questions about basic principles -- DSAV vs. RFC 8704

Hi, Dan and co-authors (DSAV):

I am still catching up with the discussions on the mailing list. So please let 
me know if I am repeating any questions already discussed and point me to the 
relevant messages on the list to catch up. I am up to speed in the sense I 
attended the BoF at the March IETF and I have read the drafts on gap analysis 
and DSAV.  

Comment #1: Regarding the accuracy of the permit list, in the following example 
(see the figure below copied from RFC 8704), assume that AS1 is not upgraded 
and does not do DSAV (partial deployment scenario). It does not announce P3 by 
its policy to AS2 or AS3 and announces P3 only to AS5. But it sends data 
traffic with source addresses in P3 towards AS2 and AS3. Am I right in 
understanding that, with the DSAV protocol, AS4 will block data with SA in P3 
on the interfaces with customers AS2 and AS3?
By comparison, with Algorithm A of EFP-uRPF (RFC 8704), AS4 will not block 
(data with SA in P3 on the interfaces with customers AS2 and AS3) in this 
partial deployment scenario. As you have acknowledged, Algorithm A is 
reasonably good with directionality. 
Partial deployment usually lasts for years, and hence any proposed method 
should provide benefits to early adopters during partial deployment. RFC 8704 
(EFP-uRPF) has the benefit that it works for an AS higher in the 
provider-customer hierarchy even when all ASes in the lower levels in the 
hierarchy have not adopted the method. (Granted that some education is needed 
about the operational recommendations in Sec 3.2.)   
                    +----------+   P3[AS5 AS1]  +------------+
                    | AS4(ISP4)|<---------------|  AS5(ISP5) |
                    +----------+      (P2P)     +------------+
                        /\   /\                        /\
                        /     \                        /
            P1[AS2 AS1]/       \P2[AS3 AS1]           /
                 (C2P)/         \(C2P)               /
                     /           \                  /
              +----------+    +----------+         /
              | AS2(ISP2)|    | AS3(ISP3)|        /
              +----------+    +----------+       /
                       /\           /\          /
                        \           /          /
                  P1[AS1]\         /P2[AS1]   /P3[AS1]
                     (C2P)\       /(C2P)     /(C2P)
                           \     /          /
                        +----------------+ /
                        |  AS1(customer) |/
                        +----------------+
                             P1, P2, P3 (prefixes originated)
               (Figure 4 in RFC 8704.)

Comment #2: You did not give weight to Algorithm A in RFC 8704 in your gap 
analysis. IMO, Algorithm A works well and works even better if the operational 
recommendations in Sec 3.2 are heeded. And also, it does not have the messaging 
overhead that DSAV has. 

Comment #3: In the gap analysis document you stated:

“When AS1 spoofs IP address prefix P2 of
   AS2, the malicious Northward traffic cannot be filtered by AS4.  The
   same is true when AS2 forges P1 of AS1.  That is to say, EPF-uRPF
   cannot prevent source address spoofing among customers even though it
   only focus on Northward traffic.”

I know precisely what you mean. However, I think the DSAV also has the same 
shortcoming. It is unavoidable when ASes in the middle (along the path) are not 
upgraded. Consider this example:

    AS4
     |
    AS3 (not upgraded to do SAV filtering)
   /   \
AS1     AS2
(P1)    (P2)

AS4 is compliant but still, it cannot block if a hacker at AS2 spoofs a source 
address in P1 because the data packets have no path information. Some 
compromise about directionality seems inevitable. Do you agree?

Comment #4: In the example (figure below) in your DSAV draft, nodes 2, 3, and 4 
already know P2, P3, and P4 via BGP Updates. Based on that they can set their 
permit lists for SAV on the appropriate interfaces. It seems redundant to send 
dest_v = [P2, P3, P4]. What does it convey to Nodes 2, 3, and 4 that is new? 
What am I missing?  

                                      +----------+
                                      |  Node 1  +---+P1
                                      +----+-----+
                                           | pkt:src_v=[P1],
                                           | dst_v=[P2,P3,P4]
                        pkt:src_v=[P1],    |
            +----------+  dst_v=[P4] +-----#-----+
            |  Node 4  #-------------+  Node 2   |---+P2
            +-----+----+             +-----+-----+
                  |                        | pkt:src_v=[P1],
                  +                        | dst_v=[P3]
                  P4                       |
                                     +-----#-----+
                                     |  Node 3   +---+P3
                                     +-----------+
                  (Figure 1 in the DSAV draft.)

Comment #5: Is there a statement being made by the name ‘Distributed SAV 
(DSAV)’ that other proposals such as EFP-uRPF are not distributed? I think all 
uRPF schemes are distributed. Each AS or node can implement any kind of uRPF 
independently of the other ASes. The more the ASes that adopt uRPF, the better 
it is to stop the spoofing closer to the source. But with DSAV there are 
dependencies – an AS needs other ASes to deploy DSAV messaging to create its 
permit list.

I am happy to discuss, correct any misunderstandings on my part, and learn 
further 😊 
Thank you. 

Sriram  


_______________________________________________
rtgwg mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/rtgwg

Reply via email to