Internet DRAFT - draft-aoun-midcom-discovery

draft-aoun-midcom-discovery




 
                                    
   MIDCOM Working Group                                           C.Aoun 
   Internet Draft                                              L-N.Hamer 
   Category: Informational                               Nortel Networks 
   Expires on November 2002                                     May 2002 
                                         
                                              
                  
                    Potential Solutions to the  
                     Middle Box discovery problem 
     
                   <draft-aoun-midcom-discovery-01.txt> 
  
Status of this Memo
 
   This document is an Internet-Draft and is in full conformance 
   with all provisions of Section 10 of RFC2026. 
   Internet-Drafts are working documents of the Internet Engineering  
   Task Force (IETF), its areas, and its working groups.  Note that       
   other groups may also distribute working documents as Internet- 
   Drafts. 
   Internet-Drafts are draft documents valid for a maximum of six  
   months and may be updated, replaced, or obsoleted by other documents  
   at any time.  It is inappropriate to use Internet-Drafts as  
   reference material or to cite them other than as "work in progress." 
   The list of current Internet-Drafts can be accessed at 
    
        http://www.ietf.org/ietf/1id-abstracts.txt 
    
   The list of Internet-Draft Shadow Directories can be accessed at 
    
        http://www.ietf.org/shadow.html 
     
     
Abstract 
       
   This document provides a high level outline of possible solutions 
   for Middle Box discovery which is one of the problems which has not 
   yet been addressed in the Midcom architecture. 
    
    
    
    
    
     
     
 
   Table of Contents 
   Status of this Memo................................................1 
   Abstract...........................................................1 
   1 Introduction.....................................................2 
   2 Conventions used in this document................................3 
   Terminology and acronyms used in this document.....................3 
 
Aoun, Hamer                                                   [Page 1] 

Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   4 Assumptions used for the proposed  discovery models..............3 
   Questions which MB discovery needs to address......................4 
   6 Proposed Discovery models........................................4 
   6.1 Model A discovery operations ..................................6 
   6.2 Model B operations............................................11 
   6.3 Discovery methods comparison..................................14 
   7 DC authorization................................................14 
   8 Sending the resulting discovery messages........................15 
   8.1 Providing the MA(s) contact information to the DC.............15 
   9 Proposed method to reach the remote end DC......................16 
   10 MB discovery interactions with network topology events.........17 
   11 Security considerations........................................17 
   12 Conclusion.....................................................17 
   13 References.....................................................18 
   14 Acknowledgments................................................19 
   15 Author's Address...............................................19 
   16 Intellectual Property Statement................................19 
   17 Full Copyright Statement.......................................19 
    
 
 
1  Introduction
    
   A Middle Box (MB) discovery mechanism is required to discover in 
   real time with which MB a Midcom agent should communicate to allow 
   packet streams to reach their destination. 
   Scenarios requiring MB discovery are documented in [Caoun]. 
    
   A typical network topology requiring MB discovery would be: 
    
     Netx---------+           The Internet                  + Nety 
               MB1|                                         | 
                  |                                         | 
   Host x      MB2|           Application server/           |MB4 Host y 
                  |                                         | 
               MB3|           Midcom agent                  |MB5 
   ---------------+                                         +---------- 
    
   There is no way to allow the Midcom agent to know which MBs will be 
   traversed for flows between Host x and Host y. Middle Box discovery 
   will provide this capability. 
    
    
   This document outlines a number of possible solutions to the Middle 
   Box discovery requirements set out in [Elear].  It also analyses 
   these solutions in the context of the deployment scenarios and 
   associated issues described in[Caoun]. 
    
   Middle box discovery should take into account peer to peer 
   applications as well as cases where application signaling (commonly 
   called routed signaling scenarios) passes through application 
   proxies or "application controllers" (For example in H323 
   architecture this would be the case of Gatekeeper routed signaling 
 
Aoun, Hamer     Informational - Expires November 2002        [Page 2]
                                    
Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   scenarios, SIP when SIP proxies are used and the Megaco 
   architecture). 
    
   The integration of middle box discovery within the Midcom 
   architecture is currently not considered in this document. 
    
   The MB terminology is aligned with the MIDCOM workgroup definitions 
   (set out of in [FRMWRK]), although it is still evolving. 
    
 
    
 
 
2   Conventions used in this document  
        
    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",  
    "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in  
    this document are to be interpreted as described in RFC-2119.  
    
    
3  Terminology and acronyms used in this document 
    
   Terminology already in use [FRMWRK] 
   MB: Middle Box 
   MA: Midcom Agent 
    
   New terminology: 
    
   MS: Midcom Server- The Midcom control functionality  on the MB 
    
   AC: Application Client 
    
   AS: Application Server- the terminology used covers the application 
   server function as well as its host. 
    
   DC: Discovery Client - Entity responsible for sending/receiving 
   discovery messages. 
    
   DN: Discovery Node - Function that sits in a MB and updates 
   discovery messages passing through it. 
    
    
   BDN: Border DN - function that sits in a MB neighboring other 
   administrative networks (i.e another policy domain). Its main role 
   is to police information leaving the network and it will operate in 
   conjunction with a policy server. 
           
   AH: Application Host- Computing platform hosting an application  
    
4  Assumptions used for the proposed discovery models 
    
    
 
Aoun, Hamer     Informational - Expires November 2002        [Page 3]
                                    

Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   The DC needs to be authorized to discover the Middle Boxes as well 
   as the functions applied by the MB to certain packet flows passing 
   through it. The authorization implies that the DC provides 
   credentials to be used during its authentication. These credentials 
   could be owned by the DC or provided by another entity that has a 
   trust relation with the MB (either direct or transitive). 
    
   The circumstances under which a DC needs to discover the MBs on the 
   path are currently not discussed in  this document: The discovery 
   could be requested by a third party (the MA or an application 
   server), or performed by the DC on a session by session basis.  
    
   The results of the discovery process are sent to the MA either 
   directly or to a function co-hosting the MA. The protocol that will 
   need to be used for this operation is not discussed in this 
   document. 
    
5  Questions which MB discovery needs to address 
    
   In the light of the requirements, there are a number of issues that 
   MB discovery must resolve: 
    
   1)Determine the circumstances under which there is a need to 
   discover MBs: 
          a) Does it need to happen for every packet stream? 
               -Even if the destination of the stream is already known? 
               and even if the deployed MBs on the path are known(maybe 
               cached from a previous discovery exercice)? 
          
          b) Which entity triggers the discovery? 
               -Is it the application client? 
               -Is it the application server/proxy co-hosted with the 
               MA function? 
           
   2) How are the results of the discovery process reported to the 
   MA(s) which needs to use them? 
          a) Do the discovered MBs report directly to the MA, that they 
          are on the path of the packet stream? 
          b) Does the DC provide the MB discovery result to the MA(s)? 
    
   3) How will the DCs be authorized to discover MBs and the functions 
   on the MBs will apply to the packet streams? 
          
   4) How can the discovery process access  DCs which are behinds NATs? 
           
   5) How to deal with situations where more than one MA is required? 
    
   In this version of the draft, the authors deal only with questions 
   2), 3), 4) and 5) which concern the actual discovery process. 
    
6  Proposed Discovery models 
    
 
Aoun, Hamer     Informational - Expires November 2002        [Page 4]
                                    

Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   This draft currently outlines two models to solve the MB discovery 
   problem. 
    
   -Model A: the results of the discovery process (i.e. the discovered 
   MBs in the path and the functions which they can apply to the packet 
   stream) are returned initially to the DC, which then sends the 
   result onwards to the MA, where it will be used. 
    
   -Model B: the MBs on the path encountered during the discovery 
   process notify the results directly to the MA(s) that need them.. 
    
   Figure 1 shows a topology example that will benefit from the MB 
   discovery. 
   ++++++++++++++++++++++++++ 
   + +++++                  +  
   + +AC +                  +                     +++++++++++++++++++++ 
   + +---+          +++++++ +   +++++++++++       +Application Service+  
   + +DC +          +BDN-MS+-+--+ Internet+-------+ Provider          + 
   + +++++          +++++++ +   +         +       +                   + 
   + AH1              MB1   +  /+++++++++++       + ++++              + 
   + +++++                  + /     ª             + +MA+              + 
   + +AC +                  +/      ª             + ++++              + 
   + +---+          ++++++++/       ª             +   AS1             + 
   + +DC +          +BDN-MS++       ª             + Policy domain y   + 
   + +++++         +++++++++       ª             +                   + 
   +  AH3              MB2  +       ª             +++++++++++++++++++++ 
   +                        +       ª 
   +                        +       ª 
   + Policy domain x        +       ª 
   ++++++++++++++++++++++++++       ª 
                                    ª 
                         ++++++++++++++++++++++++++++++++++ 
                         +                                + 
                         +  +++++++     +++++++   +++++++ + 
                         +  +DN-MS+     +DN-MS+   +MA   + +   
                         +  +++++++     +++++++   +++++++ + 
                         +    MB3         MB4      AS2    + 
                         +                                +  
                         +  +++++                         +  
                         +  +AC +                         +  
                         +  +---+                         + 
                         +  +DC +                         + 
                         +  +++++                         +  
                         +   AH2                          +  
                         +    Policy domain z             +  
                         ++++++++++++++++++++++++++++++++++ 
                               
                                   Figure 1 
    
   Note that the MA could also reside within the same policy domain as 
   the MB. As seen in figure 1, discovery of MBs is necessary because  
   when AH1 communicates with AH2 several MBs could be traversed and 
   the MA won't know with which MBs it will need to communicate. 
 
Aoun, Hamer     Informational - Expires November 2002        [Page 5]
                                    
Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
    
    
    
 
6.1 Model A discovery operations  
    
   The Model is based on the following: 
    
   -a) The Discovery Client (DC)  will send a discovery message towards 
   the remote end Application Host (AH)'s DC*. 
   -b) Each traversed MB will modify the discovery message by adding 
   within the message the actions that are applied to the packet flows, 
   as well as a MB identifier. 
   -c) The destination AH's DC will loop back the discovery message to 
   the original DC 
   -d) Repeat step (b) as the discovery message returns to the 
   originating DC, thereby discovering the (possibly different) MBs 
   encountered on the return trip. 
   -e) The DC will then pass on the results of the discovery message to 
   the authorized  MAs. 
 
   *The remote end DC contact information will be discussed in a later 
   section 
    
   To minimize the security issues, it is essential that a DC be 
   authenticated and authorized prior to processing (done by the 
   traversed MB) its discovery messages. This should prevent rogue 
   users from discovering Middle Boxe capabilities; however, they could 
   still potentially discover the MBs with existing tools such as 
   trace-route (note that a lot of Middle Boxes could be configured not 
   to reply to ICMP request messages). 
    
    
    
   Figure 2 below provides an example using method A. DN1 applies 
   packet filtering and DN2 applies NAT.
 
Aoun, Hamer     Informational - Expires November 2002        [Page 6]
                                    

Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
    
    
                 +-----------------------+    
                 ª  Policy domain x      ª 
     DC1            DN1            DN2            MA             DC2 
          1-Discover(DC1 Token,DC2) 
     -------------->  
    
                2-Discover(DC1Token,DC2,{DN1,FW}) 
                    ----------->  
                                   3-Discover 
                              (DC1Token,DC2,{DN2,NAT},{DN1, FW}) 
                                  ---------------------------->   
    
                                   4-Discover-returnpath 
               (DC2Token,{Discover(DC1Token,DC2,{DN2,NAT},{DN1,FW}) 
                                 < ----------------------------        
    
                    5-Discover-returnpath 
        (DC2Token,{DN2,NAT},{Discover(DC1Token,DC2,{DN2,NAT},{DN1,FW}}) 
                    < ------------ 
    
     6-Discover-returnpath  
   (DC2Token,{DN1,FW},{DN2,FW}, 
   {Discover(DC1Token,DC2,{DN2,NAT},{DN1,FW}}) 
   < ---------------- 
                              Figure 2 
    
    
   For simplicity, Figure 2, provides an example of message sequences, 
   where DC2 is not deployed behind a MB, 2 MBs are deployed in the 
   network and follows policy rules of policy domain x. 
    
    
   The message sequence provides a high level view of the required 
   message content and should not be seen as adequate message syntax. 
    
   The authorization policy lookup is not shown in this picture for 
   simplicity. It will consist of checking the validity of the DC's 
   credentials provided  within the DCToken. A later section in the 
   document addresses authorization policies. 
    
   Step1: DC1 sends a Discover message to DC2 including an 
   authorization token, DC1Token, and DC2 contact information. The 
   token in this example is assumed to be provided by the MA by some 
   means (discussed in the policy section of the document). 
    
   Step2: When DN1 is traversed by the discover message, it will check 
   the credentials within DC1Token. DC1 is authorized to discover DN1, 
   DN1 will then add an object within the Discover message. The object 
   contains DN1 contact information and the applied function on the 
   packet flows. 
    
 
Aoun, Hamer     Informational - Expires November 2002        [Page 7]
                                    
Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   Step3: DN2 receives the discover message, it will check the 
   contained credentials of the included token. 
    
   Step4: DC2 receives the discovery message, encapsulates it in a 
   discover_returnpath message and includes in it a DC2Token. DC2 sends 
   the discover_returnpath message to DC1 (using the source address 
   (and source port) of the discovery message datagram). 
    
   Step5 and 6 are similar to steps 2 and 3, except that the message is 
   discover_returnpath.  
    
   In steps 5 and 6, the DNs check all the tokens in the message even 
   the ones in the encapsulated Discover message. 
   This will allow scenarios where MBs are deployed in different policy 
   domain. 
    
    
   6.1.1 Model A main issues 
   
  -Model A could have delay issues since the MA is notified of the 
  existence of MBs on the stream path until all the MBs are discovered: 
   
     This delay is highly dependent on the propagation delays, which 
     result from the propagation delays between the DC and the MAs and  
     the round trip between DCs; if we add the MA<->MB signaling and MB 
     authorization we might incur post dial delays (in VoIP 
     applications). 
   
  -Security: since MB information is leaving the policy domain it will 
  be known to other parties outside the policy domain. In some cases 
  this could be seen as security holes. The reason why the MB 
  information is inserted hop by hop by doing a chain, is to provide 
  the sequence in which MBs are deployed in the path. In case NAT 
  functions are applied several times this is an important information 
  to have, since the last translated address port pair will need to be 
  communicated to the remote application client. 
   
  6.1.2 Policing MB information to minimize security threats 
   
  A way to minimize the previously stated security threats is to police 
  MB information leaving a policy domain. 
  We shall call a Border DN, a DN that will police MB information 
  leaving its policy domain. The BDN will obviously be hosted on a MB 
  bordering other policy domains. 
  The policed MB information will be in the form of: MB applied 
  functions and the BDN contact information. 
   
  When using the BDN concept, model A operations works as follows: 
   
   -a) The Discovery Client (DC)  will send a discovery message towards 
   the remote end Application Host (AH)'s DC*. 
 
Aoun, Hamer     Informational - Expires November 2002        [Page 8]
                                    

Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   -b) Each traversed MB will modify the discovery message by adding 
   within the message the actions that are applied to the packet flows, 
   as well as a MB identifier. 
   -c)In the case where the MB hosts a BDN and the message is leaving 
   the policy domain, the BDN will police the information included in 
   the discovery message, and include its own address (and potentially 
   the Middlebox discovery protocol receive port number)  
   -d) The destination AH's DC will loop back the discovery message to 
   the original DC 
   -e) Repeat steps (b) and (c) as the discovery message returns to the 
   originating DC, thereby disocvering the (possibly different) MBs 
   encountered on the return trip. 
    
   -f) The DC will then pass on the results of the discovery message to 
   the authorized  MAs. 
   
   Since the BDN polices the information leaving the network, the MA 
   needs to have a way to contact the anonymized MBs (by the BDN), the 
   Border MB could play a Midcom proxy role to transfer the MA 
   commands, else the Border MB will need to provide the MA with the 
   anonymized MBs contact information. The first option is more secured 
   since the third party (the MA) and all other policy domains'(B)DNs 
   receiving the message will only be aware of the Border MB and not 
   the internal ones. 
   
  When applying the BDN concept within model A in the example shown in 
  figure 2, the message sequences are modified as follows: 
   
                 +-----------------------+    
                 ª  Policy domain x      ª 
     DC1            BDN1           BDN2           MA             DC2 
          1-Discover(DC1 Token,DC2) 
     -------------->  
    
                2-Discover(DC1Token,DC2,{BDN1,FW}) 
                    ----------->  
                                   3-Discover 
                              (DC1Token,DC2,{BDN2,NAT,FW}) 
                                  ---------------------------->   
    
                                   4-Discover-returnpath 
                    (DC2Token,{Discover(DC1Token,DC2,{BDN2,NAT,FW}) 
                                 < ----------------------------        
    
                    5-Discover-returnpath 
          (DC2Token,{BDN2,NAT},{Discover(DC1Token,DC2,{BDN2,NAT,FW}) 
                    < ------------ 
    
     6-Discover-returnpath 
   (DC2Token,{BDN1,NAT,FW},{Discover(DC1Token,DC2,{BDN2,NAT,FW}}) 
   < ---------------- 
                              Figure 3 
    
 
Aoun, Hamer     Informational - Expires November 2002        [Page 9]
                                    
Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
    
   For simplicity, Figure 3, provides an example of message sequences, 
   where DC2 is not deployed behind a MB, 2 MBs are deployed in the 
   network and follows policy rules of policy domain x. 
    
    
   The message sequences provide a high level view of the required 
   message content and should not be seen as adequate message syntax. 
    
   The authorization policy lookup is not shown in this picture for 
   simplicity. It will consist on checking the validity of the DC's 
   credentials provided within the DCToken. A later section in the 
   document addresses authorization policies. 
    
   For security purposes the first MB on the path from DC1 to DC2, is 
   configured as BDN. Therefore all MB information leaving policy 
   domain x will be limited to BDN1 and BDN2 contact information and 
   applied functions to the path. 
    
   In step1 DC1 sends a Discover message to DC2 including an 
   authorization token, DC1Token, and DC2 contact information. The 
   token in this example is assumed to be provided by the MA by some 
   means (discussed in the policy section of the document). 
    
   Step2: When BDN1 is traversed by the discover message, it will check 
   the credentials within DC1Token. DC1 is authorized to discover BDN1, 
   BDN1 will then add an object within the Discover message. The object 
   contains BDN1 contact information and the applied function on the 
   packet flows. 
    
   Step3: BDN2 receives the discover message, it will check the 
   contained credentials of the included token, as the discovery 
   message will be leaving the policy domain, BDN2 will police all the 
   contained information in the message and add the functions that it 
   applies to the packet flows. 
    
   Step4: DC2 receives the discovery message, encapsulates it in a 
   discover_returnpath message and includes in it a DC2Token. DC2 sends 
   the discover_returnpath message to DC1 (using the source address 
   (and source port) of the discovery message datagram). 
    
   Step5 and 6 are similar to steps 2 and 3, except that the message is 
   discover_returnpath.  
    
   In steps 5 and 6, the BDNs check all the tokens in the message even 
   the ones in the encapsulated Discover message. 
  This will allow scenarios where MBs are deployed in different policy 
  domain. 
   
  Even when the BDN concept is used, the BDN provides information on 
  the MB's applied functions and the BDN contact information, this 
  could still be seen as potential security holes (but less than when 
  no policing is done). 
 
Aoun, Hamer     Informational - Expires November 2002       [Page 10]
                                    
Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   
6.2 Model B operations 
    
  The main difference between Model A and B concerns events when the 
  discovery message arrives at a BDN of a policy domain, the BDN will 
  notify the MAs about its existence as well as the functions on the 
  MBs it anonymizes and remove this information from the end to end 
  discovery message which is forwarded out of the policy domain. 
   
  The BDN will send a copy of the existing discovery message but 
  without its domain's MBs information, this copy will include a 
  sequence number identifier that was also included in the discovery 
  message sent to the MA. 
  This method will allow the MAs to be aware of the traversal sequence 
  of MBs whilst limiting the knowledge which leaks out of the domain 
  regarding the functionality of the MBs. 
   
  In order to maintain the sequence in which MBs are traversed, the 
  same sequence number identifier will be inserted by BDNs but with no 
  additional information (i.e. no details on the applied functions and 
  MB contact information).  
   
  Once all BDNs have notified the MAs, and the end to end discovery 
  message containing the sequence of all MBs has been passed to the MAs 
  with a similar way as done in A, the discovery would have been 
  completed. 
   
  The DC will be required to include in the discover message the MA(s) 
  contact information. 
   
  Figure 4 shows a practical message sequence using discovery model B. 
  The example uses the same topology as in method A's example with the 
  additional Middle box (configured as BDN) interconnecting DC2. 
   
  BDN1 applies packet filtering, BDN2 NAT and BDN3 packet filtering and 
  NAT. 
   
    
          +--------------------+          +---------------+ 
          ªPolicy domain x     ª          ªPolicy domain yª 
   DC1      BDN1         BDN2      MA          BDN3             DC2 
    
     1-Discover(DC1Token,DC2,MA) 
   -------->  
    
           2-Discover(DC1Token,DC2,MA,{BDN1,FW}) 
             ----------->  
                          
                         3-Discovered_segment({BDN2,NAT,FW},seg1) 
                         -------->  
                         4-Ack 
                        <------ 
                
 
Aoun, Hamer     Informational - Expires November 2002       [Page 11]
                                    
Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
          +--------------------+          +---------------+ 
          ªPolicy domain x     ª          ªPolicy domain yª 
   DC1      BDN1         BDN2      MA          BDN3             DC2 
                         5-Discover(DC1Token,DC2,MA,seg1) 
                        ---------------------->    
    
                                   6-Discovered_segment 
                                   ({BDN3,NAT,FW},seg2) 
                                    <----------    
                                      7-Ack 
                                      --------> 
                                              
                                              
                                             8-Discover 
                                           (DC1Token,DC2,MA,seg1,seg2) 
                                                   ------------->      
                
    
                                        9-Discover-returnpath 
                    (DC2Token,MA,{Discover(DC1Token,DC2,MA,seg1,seg2) 
                                                  < ----------         
    
                                   10-Discovered_returnpath_segment 
                                   ({BDN3,NAT,FW},seg3, 
                                 {Discover(DC1Token,DC2,MA,seg1,seg2}) 
                                     <----------   
                                      11-Ack 
                                     ----------> 
    
                    12-Discover-returnpath 
                    (DC2Token,seg3,{Discover(DC1Token,DC2,MA,seg1,seg2} 
                           <----------------- 
    
         14-Discover-returnpath 
   (DC2Token,seg3,{BDN2,NAT},{Discover(DC1Token,DC2,MA,seg1,seg2}) 
           < ------------ 
          
               15-Discovered_returnpath_segment 
          ({BDN1,NAT,FW},seg4,Discover(DC1Token,DC2,MA,seg1,seg2}) 
            -------------------->   
                    16-Ack 
           <------------------- 
    
         16-Discover-returnpath 
   (DC2Token,seg3,seg4,{Discover(DC1Token,DC2,MA,seg1,seg2}) 
    <------- 
    
                              Figure 4 
    
   Step 1: DC1 sends a Discover message to DC2 including an 
   authorization token, DC1Token, a DC2 contact information and the MA 
   contact information. The token in this example is assumed to be 
 
Aoun, Hamer     Informational - Expires November 2002       [Page 12]
                                    

Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   provided by the MA by some means (discussed in the policy section of 
   the document). 
    
   Step 2: When BDN1 is traversed by the discover message, it will 
   check the credentials within DC1Token. DC1 is authorized to discover 
   BDN1, BDN1 will then add an object within the Discover message. The 
   object contains BDN1 contact information and the applied function on 
   the packet flows. 
    
   BDN2 receives the discover message, it will check the contained 
   credentials of the included token, as the discovery message will be 
   leaving the policy domain, BDN2 will: 
               -Police all the contained information in the message,  
                
               -Step 3:Send a discovered_segment message to the MA (at 
               the address in the MA contact information) with a 
               reference sequence number being seg1 with the functions 
               that its anonymized MBs apply to the packet flows. 
                
               -Step 5:Send the current discover message without all 
               policy domain x MB information, added with the seg1 
               reference sequence number 
     
   Step 4: the MA acks the discovered_segment message 
    
   BDN3 receives the discover message, it will check the contained 
   credentials of the included token, as the discovery message will be 
   leaving the policy domain, BDN3 will: 
               -Police all the contained information in the message,  
                
               -Step 6:Send a discovered_segment message to the MA (at 
               the address in the MA contact information) with a 
               reference sequence number being seg2 with the functions 
               that its anonymized MBs apply to the packet flows. 
                
               -Step 8:Send the current discover message without all 
               policy domain y MB information, added with the seg2 
               reference sequence number 
    
   DC2 receives the discover message, encapsulates it in a discovery-
   returnpath message and includes in it a DC2Token as well as the 
   MA(s) interacting in the example. DC2 sends the discovery-returnpath 
   message to DC1 (using the source address (and source port) of the 
   discovery message datagram. 
    
   Step 7, the MA acks the discover_segment message. 
    
   Step 9 to 16 are similar to steps 2 to 8, except that the messages 
   are discovered_returnpath_segment and discover_returnpath.  
    
   In steps 9, 12 and 14 the DNs check all the tokens in the message 
   even the ones in the encapsulated Discover message. 
 
Aoun, Hamer     Informational - Expires November 2002       [Page 13]
                                    

Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   This will allow scenarios where MBs are deployed in a different 
   policy domain. 
    
   Once DC1 receives the discover_returnpath it will send its content 
   to the authorized MA(s). 
    
   When the MA(s) will get the information they will be able to know 
   the sequence in which MBs were traversed. 
    
6.3 Discovery methods comparison 
    
   Method A is simpler than method B and in some cases its limitations 
   are not applicable. 
   In particular the latency limitation, in some cases it is more 
   efficient for the MA to wait until all MBs are known to the MA 
   before the MA sends a Midcom message to the MB. This scenario is 
   typically the case when several MBs apply NAT for efficiency reasons 
   we might want to send a request to get the NAT bind to the MB that 
   is traversed last.  
    
    
7  DC authorization 
    
    
   As discussed in the previous sections, the discovery of MBs and the  
   functions which they can apply to packet streams, by unauthorized 
   parties must be prevented. 
    
   The credentials used for the authentication and the authorization 
   could be in the form of a token carried within the discovery 
   protocol. 
     
   There are two ways to provide the token to the DC, either via the 
   application protocol (which is implicitly an application specific 
   mechanism) or via another protocol that would make the mechanism 
   application agnostic. 
   [Marshall] is an example where the application protocol is carrying 
   an authorization token. 
    
   The MB will need to check if the provided authorization is still 
   valid  as well as the normal MA authorization checking procedure and 
   if the DC is authorized to discover the MB capabilities.  
    
   The credentials could be local to the DC or provided by a trusted 
   third party, in both cases the MB will need to query its policy 
   server to see if the DC is authorized or not. 
   In case a trusted third party is used, the MB or its policy server 
   will need to query if the third party is trusted and if the third 
   party has the appropriate relation with the DC (i.e. DC has 
   subscribed to the third party service).  
    
 
Aoun, Hamer     Informational - Expires November 2002       [Page 14]
                                    

Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   The policy query could either be done by communication between the 
   MB's policy server and the MA's policy server or potentially through 
   either the discovery protocol or the Midcom protocol. 
    
    
    
   It is best that for every discovery request, a new authorization 
   token is provided for security purposes; alternatively the token has 
   a defined lifetime. 
    
   The authorization policy mechanism could be based on the used 
   mechanisms in [Lhamer]. 
    
   [Lhamer] discusses media session authorization mechanisms that could 
   easily be adapted to Middle Box discovery. A later version of the 
   draft will discuss more in detail how these mechanisms could be used 
   in the context of MB discovery. 
   
  In addition [Lhamer] proposes a mechanism to combine resource 
  reservation requests to MB discovery, this protocol combo approach 
  will be discussed in a separate draft discussing the integration of 
  MB discovery within the Midcom framework. 
   
    
8  Sending the resulting discovery messages 
    
  Once the DC is authenticated and authorized, the MB's (B)DN will 
  process the discovery message accordingly. Once the discovery result 
  (i.e.discover_returnpath message) reaches the DC who originated the 
  discovery request, the DC needs to send it to the adequate MA(s) 
  controlling the traversed MBs. 
   
  As shown in Figure 1 there maybe 2 (or potentially more) MAs that 
  will need to control the MBs in order to allow the application to be 
  successful. 
  Normally 2 MAs at most could be used, therefore the discovery result 
  will be sent to the 2 MAs (provided in the discover_returnpath 
  message). 
   
  Since not all traversed MBs, are controlled by both MAs, certain 
  Midcom messages will be useless. This is an inefficiency of method A. 
   
  Having the MAs querying the list of MBs with which they are in 
  relation could optimize this. 
   
8.1 Providing the MA(s) contact information to the DC 
   
  Since the originating DC was provided with the list of MAs, there 
  should be some means to inform it about the MAs. 
  The list of MAs could be carried within the authorization token. 
   
  The application protocol could carry the authorization token and will 
  provide it to the application client co-hosting the DC.  
 
Aoun, Hamer     Informational - Expires November 2002       [Page 15]
                                    
Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
  This is not the only way to solve the problem but seems to be the 
  easiest way. 
   
  When several policy domains are traversed, the token provided by the 
  originating DCs need to be accepted by MBs in all the traversed 
  domains. This will require that the application protocol will carry 2 
  authorization tokens one from the local DC's (the one generating the 
  discover message) MA and one from the remote DC's MA. 
   
9  Proposed method to reach the remote end DC 
    
   The discovery methods discussed in the draft assume that the local 
   DC (the one generating the discover message) knows the address (and 
   port) on which the remote end DC is reachable. 
    
   When the remote end DC is behind a MB applying NAT, it is not 
   possible to know in advance the remote end DC's address (and port). 
    
   DNS SRV records could be used to discover the remote end DC contact 
   information, but this will require that the MBs have DNS SRV ALGs. 
   This might not be the case for all MBs. 
   This might not work when NAT is applied twice on the path. 
    
    
   However the following mechanism could solve the problem: 
    
              -The originating DC is provided the address and port of 
              the application client co-hosted with the remote end DC 
               
              -The remote end DC contact information will be the remote 
              end application client co-hosted with the remote end DC 
               
              -The used destination address will be the remote end DC 
              contact address, in case the discovery protocol runs over 
              a transport protocol the transport port number will be 
              the remote end DC port number (provided in the remote end 
              DC contact information) 
               
              -When the MB natting (lets call it MB-NAT) the remote end 
              application host will find the remote end DC contact 
              information it will check its binds, if the check is 
              positive then the MB will replace the remote DC contact 
              with the private remote end DC contact information and 
              replace the destination address (and destination port 
              number). 
               
   The above mechanism will work in most cases even when several NATs 
   are deployed in chain, since the remote end application client 
   address and port pair provided to the DC is the result of the 
   translation of the last traversed MB-NAT in the chain (when the 
   message is sent from the remote end AC to its application 
   server/proxy).  
 
Aoun, Hamer     Informational - Expires November 2002       [Page 16]
                                    

Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
  This method will require that the MAs, exchange the remote end 
  application client address and port. This information will also need 
  to be provided to the DC. 
   
  The  protocol used to carry this information could be potentially the 
  application protocol(s).   
   
    
10 MB discovery interactions with network topology events 
    
   Since the DC has discovered MBs on the path of the application prior 
   to the application session start, after future network topology 
   changes occur, different MBs could be traversed and the application 
   session will be broken. 
    
   A solution to the problem would be that MBs within the same policy 
   domain communicate the installed Midcom policy rules.  
   When a network modification happens due to link failures (or other 
   reasons) the newly traversed MB by the packet flows will notify the 
   MA, that installed the previous policy rule on the previous 
   traversed MB. 
   The MA may or may not require the DC to rediscover the path. 
   The application protocols are impacted by this solution since the 
   ACs will need to inform their application peers of the new 
   translated address and port pair(s) (when NAT is applied). 
    
11 Security considerations 
    
   There are several security threats to the operations proposed in the 
   draft: 
    
    -In case the DC is not authenticated, the MA could be provided 
    faked information. The direct result is a DoS attack since the 
    application won't work and certain holes could be open in the 
    network. 
         -This could be fixed by having the (B)DNs encrypting their MB 
         "objects"; this implies that there is an already established 
         security relation between the MBs and the MAs 
          
     -A fake MB in the path of the discovery messages could announce it 
   self as a MB 
         -Appropriate authentication mechanisms should be used to 
         authenticate the MBs 
    
   -Parties in the path of the MB discovery messages could reuse the MB 
   information for security attacks 
          -MB information should be encrypted, this implies that there 
          is an existing security relation between the MBs and the 
          MA(s) 
    
12 Conclusion 
    
 
Aoun, Hamer     Informational - Expires November 2002       [Page 17]
                                    

Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   The proposals in this draft address the MB discovery mechanisms and 
   the possible associated authorization mechanisms. 
    
   These proposals impacts application protocols because  the 
   application protocols will need to have envelopes carrying 
   authorization tokens and remote application signaling contact 
   information. 
    
   The discovery mechanisms could reuse existing protocols such as RSVP 
   or its replacement being currently defined within the NSIS WG. 
   [Herzog] discusses the usage of RSVP to carry authorization tokens, 
   this shows that not a lot of extensions are required apart the ones 
   of defining the required tokens. 
    
   The proposals set out in the draft are completely decoupled from the 
   Midcom protocol and as such could be integrated in the Midcom 
   architecture as a "black box" informing the MA on which MB it needs 
   to apply control to allow an application to work successfully. 
    
   An initial analysis done by the authors shows that in case the 
   MIDCOM protocol is separate from the discovery protocol, the 
   solution will work but will suffer from latency issues. A separate 
   draft will discuss the pros and cons of having a separate discovery 
   protocol vs having a combo protocol handling MIDCOM and MB 
   discovery. 
    
   The authors invite the IETF community to consider the proposals in 
   the draft and start discussions on the MB discovery framework as 
   well as its impact on other IETF protocols, NSIS and the application 
   protocols that may need to interact with it. 
    
 
    
    
13 References
         
     [Caoun]  C.Aoun, "Network topology considerations in   
               the MIDCOM Architectural framework",  
               Internet draft, draft-aoun-midcom-network-00.txt 
          
     [FRMWRK]  P.Srisuresh et all," MIDCOM Architecture & Framework", 
               Internet draft, draft-ietf-midcom-framework-07.txt  
      
    [Elear]   E. Lear, "Requirements for Discovering Middleboxes", 
               Internet draft, draft-lear-middlebox-discovery-
               requirements-00.txt 
                
     [LHamer]  Hamer, L-N. and Gage, B, "Framework for session setup  
               with media authorization",  
               Internet-Draft, draft-hamer-rap-session-auth-03.txt, 
               February 2002 
    
     [Marshall]W. Marshall et al., "SIP Extensions for Media  
 
Aoun, Hamer     Informational - Expires November 2002       [Page 18]
                                    
Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
               authorization", Internet-Draft, draft-ietf-sip-call-
               auth-02.txt, August 2001, Work in progress. 
 
     [Herzog] Herzog, S., "RSVP Extensions for Policy Control",  
              RFC 2750, January 2000. 
                     
                
                
14 Acknowledgments 
    
   The authors would like to thank Reinaldo Penno and Elwyn Davies for 
   their useful comments and suggestions related to this draft.  
    
     
     
15 Author's Address 
    
   Cedric Aoun 
   Nortel Networks 
   FRANCE 
    
   Email: cedric.aoun@nortelnetworks.com 
    
   Louis-Nicolas Hamer 
   Nortel Networks   
   Ottawa, ON  
   CANADA   
   Email: nhamer@nortelnetworks.com 
      
16 Intellectual Property Statement 
    
   The IETF takes no position regarding the validity or scope of any 
   intellectual property or other rights that might be claimed to 
   pertain to the implementation or use of the technology described in 
   this document or the extent to which any license under such rights 
   might or might not be available; neither does it represent that it 
   has made any effort to identify any such rights.  Information on the 
   IETF's procedures with respect to rights in standards-track and 
   standards-related documentation can be found in BCP-11.  Copies of 
   claims of rights made available for publication and any assurances 
   of licenses to be made available, or the result of an attempt made 
   to obtain a general license or permission for the use of such 
   proprietary rights by implementors or users of this specification 
   can be obtained from the IETF Secretariat. 
       
   The IETF invites any interested party to bring to its attention any 
   copyrights, patents or patent applications, or other proprietary 
   rights which may cover technology that may be required to practice 
   this standard.  Please address the information to the IETF Executive 
   Director. 
    
17 Full Copyright Statement 
    
 
Aoun, Hamer     Informational - Expires November 2002       [Page 19]
                                    
Internet Draft    draft-aoun-midcom-discovery-01.txt          May 2002 
   Copyright (C) The Internet Society (2000).  All Rights Reserved. 
       
   This document and translations of it may be copied and furnished to 
   others, and derivative works that comment on or otherwise explain it 
   or assist in its implementation may be prepared, copied, published 
   and distributed, in whole or in part, without restriction of any 
   kind, provided that the above copyright notice and this paragraph 
   are included on all such copies and derivative works.  However, this 
   document itself may not be modified in any way, such as by removing 
   the copyright notice or references to the Internet Society or other 
   Internet organizations, except as needed for the purpose of 
   developing Internet standards in which case the procedures for 
   copyrights defined in the Internet Standards process must be 
   followed, or as required to translate it into languages other than 
   English.  The limited permissions granted above are perpetual and 
   will not be revoked by the Internet Society or its successors or 
   assigns.  This document and the information contained 
   herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND 
   THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, 
   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT 
   THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR 
   ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A 
   PARTICULAR PURPOSE." 
    
  
 
 



























Aoun, Hamer     Informational - Expires November 2002       [Page 20]