Internet DRAFT - draft-bichot-network-discovery-protocol

draft-bichot-network-discovery-protocol





                                                                        
   Internet-Draft                                      Guillaume Bichot 
   Category: Experimental                                       THOMSON 
   Document: draft-bichot-network-                 April 2003 
   discovery-protocol-02.txt 
    
    
                    Network Discovery Protocol (NETDIS) 
               draft-bichot-network-discovery-protocol-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 [1].  
    
   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. 
    
   Copyright (C) The Internet Society (2003).  All Rights Reserved. 
    
Abstract 
    
   This document describes the Network Discovery Protocol (NETDIS), a 
   protocol that provides a way to broadcast information about the 
   network service accessible through the access network where the 
   information is broadcasted. This allows several service providers to 
   share the same access network. The public WLAN access network is 
   particularly targeted by this protocol. As a result a mobile terminal 
   listening NETDIS announcements discovers the list of Service 
   providers (Virtual WLAN operator) supported by the WLAN it is 
   currently attached. 
    
     
    
    
    
    
    
 
 
G. Bichot               Expires September 2003                [Page 1] 
 
Internet-Draft Core Network Discovery Protocol (NETDIS)     April 2003 
 
 
    
    
    
    
    
Table of Contents 
    
   1. Introduction...................................................2 
   2. Model..........................................................3 
   3. Network announcement...........................................3 
      3.1 SAP potential usage........................................4 
      3.2 NETDIS announcement protocol...............................4 
      3.3 Transport protocol.........................................4 
      3.4 Announcement interval......................................4 
   4. Packet format..................................................5 
   5. Implementation.................................................9 
   6. Security Considerations.......................................10 
   7. References....................................................10 
   8. Acknowledgments...............................................10 
   9. Author's Addresses............................................10 
   10. Intellectual Property Statement..............................10 
   11. Full Copyright Statement.....................................11 
    
1. Introduction 
    
   The development of public data access network is growing. These 
   networks mainly wireless (WLAN) offer the access to Internet, local 
   services and potentially other core network (3G) services. Since it 
   is impossible, for a customer to subscribe to all possible 
   independent WLAN operators, some service providers provide an 
   aggregation of these WLAN hot spots. They are also called virtual 
   operators. A subscriber of such virtual operator can access to the 
   core network (Internet for instance) through several independent 
   WLANs.  
    
    
   The core network may be Internet or a mobile (3G) network or other 
   private network. The WLAN virtual network operator may be the core 
   network operator. 
    
   It is likely that several [virtual] network operators share a public 
   WLAN access network. For instance, in a hot spot like an airport, the 
   WLAN operator has an agreement with two virtual network operators in 
   such a way the customers from both core network operators may access 
   to their respective service (e.g. Internet) through the airport WLAN. 
   There is a need to announce (broadcast) in the access network such 
   information about, basically, the availability of the [virtual] 

 
 
G. Bichot              Expires - September 2003               [Page 2] 
 
Internet-Draft Core Network Discovery Protocol (NETDIS)     April 2003 
 
 
   network operator and the information for accessing the core network 
   (e.g. Internet). 
    
    
2. Model 
    
    
   The figure 1 illustrates the NETDIS model. A NETDIS controller has in 
   charge to collect NETDIS announcement packets and multicast them 
   within the public access network. The NETDIS announcement packet 
   contains information relative to a [virtual] network operator and the 
   type of core network that can be accessed. The way the NETDIS 
   Announcer delivers the packets to the NETDIS Controller is out of 
   scope of this document. The NETDIS controller may be located within 
   the access network, within a third party operator/aggregator network 
   or anywhere else. The NETDIS Announcer may be located within the 
   access network, the core network, within a third party operator 
   aggregator or anywhere else. 
    
    
                +---------------+        +---------------+  
    +--+        |               |        |               | 
    |  | NETDIS |               |   I1   |               | 
    |MT|<------>|               |--------|               | 
    |  |        |     NETDIS    |        |    NETDIS     | 
    +--+        |   Controller  |        |   Announcer   | 
                +---------------+        +---------------+ 
                        | 
                        | I2 
                        | 
                +---------------+  
                |               | 
                |               | 
                |     NETDIS    | 
                |   Announcer   | 
                +---------------+ 
    
             Figure 1: The NDIS model 
    
    
3. Network announcement 
    
   //The SAP protocol (RFC 2974) could be used to carry the 
   announcements. However RFC 2974 stipulates that a SAP listener shall 
   support SDP (RFC 2327). Due to this constraint we have also defined a 
   new announcement protocol based on SAP. Both options are possible. 
    

 
 
G. Bichot              Expires - September 2003               [Page 3] 
 
Internet-Draft Core Network Discovery Protocol (NETDIS)     April 2003 
 
 
3.1 SAP potential usage 
    
   In case of the usage of SAP, the following constraints apply.  
    
   - Session deletion is not supported 
   - Encryption is not supported 
   - The SAP announcer is located in the NDP controller. 
   - The originating source field shall be empty 
   - A new payload type is defined: 'application/NETDIS' 
    
3.2 NETDIS announcement protocol 
    
   This is the protocol to be used instead of SAP. 
    
   NETDIS uses UDP/IP multicast in order to broadcast the information 
   relative to the different network services. For each network service 
   provider, announcements [packets] are sent regularly and continuously 
   within the well-known multicast channel. 
    
   IPv4 global scope network announcements use multicast addresses in 
   the range 224.2.128.0 - 224.2.255.255 with NETDIS announcements being 
   sent to <TBD> 
    
   IPv6 are announced on the address FF0X:0:0:0:0:0:2:7FFE where X is 
   the 4-bit scope value. For example, an announcement for a link-local 
   session assigned the address FF02:0:0:0:0:0:1234:5678, should be 
   advertised on NETDIS address FF02:0:0:0:0:0:2:7FFE. 
    
   NETDIS announcements MUST be sent on port <TBD> and SHOULD be sent 
   with an IP time-to-live of 255. 
    
   The announcement contains the identity of the [virtual] network 
   operator as well as some information regarding the network. The 
   header MAY be signed.  
    
3.3 Transport protocol 
    
   NETDIS (or SAP) packets are carried over UDP / IP. 
    
3.4 Announcement interval 
    
   The time period between repetitions of an announcement is chosen such 
   that the total bandwidth used by all announcements on a single NETDIS 
   group remains below a preconfigured limit. Each announcement should 
   have an equal announcement interval that will be fixed by the NETDIS 
   controller. 
    

 
 
G. Bichot              Expires - September 2003               [Page 4] 
 
Internet-Draft Core Network Discovery Protocol (NETDIS)     April 2003 
 
 
4. Packet format 
    
   The figure 2 represents an NETDIS announcement packet carried by the 
   SAP packet. The SAP header as well as the payload type field is 
   described in [1]. 
    
   0                   1                   2                   3 
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               | 
   :                         SAP Header                            : 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               | 
   :                         Payload type =                        : 
   :                        'Application/NETDIS'                   : 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                            Org ID                             | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 
   |                                                               | 
   :                        Network Operator Name                  : 
   :                          (up to 256 bytes)                    : 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               | 
   :                          Realm name                           : 
   :                        (Up to 64bytes)                        : 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                          Network type                         | 
   :                        (Up to 30 characters)                  : 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 
   |            Payment            |          Accounting           | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 
   |                    Optional authentication data               | 
   :                              ....                             : 
   *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 
   |                                                               | 
   :                         Optional payload                      : 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   Figure 2: SAP carries NETDIS packet 
    
    
    
   The figure 3 represents a NETDIS announcement packet carried by the 
   NETDIS announcement protocol. 
    
    
    
 
 
G. Bichot              Expires - September 2003               [Page 5] 
 
Internet-Draft Core Network Discovery Protocol (NETDIS)     April 2003 
 
 
    
    
    
    
   0                   1                   2                   3 
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   | V=1 |L|R|R|R|C| Auth len      |         msg id hash           | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                            Org ID                             | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- 
   |                                                               | 
   :                        Network Operator Name                  | 
   :                          (up to 256 bytes)                    : 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               | 
   :                          Realm name                           : 
   |                        (Up to 64 bytes)                       | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                          Network service                      | 
   :                        (Up to 30 characters)                  : 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 
   |            Payment            |          Accounting           | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| 
   |                    Optional authentication data               | 
   :                              ....                             : 
   *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-* 
   |                                                               | 
   :                         Optional payload                      : 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   Figure 2 NETDIS announcement protocol carries NETDIS packet 
    
    
   V: Version Number. The version number field MUST be set to 1. 
    
   L: Indicates whether the announcement relies to the access (local) 
   network. If yes L is set to 1. Otherwise L is set to 0 
    
   R: Reserved. NETDIS announcers MUST set this to 0, NETDIS listeners 
   MUST ignore the contents of this field. 
    
   C: Compressed bit. If the compressed bit is set to 1, the payload is 
   compressed using the zlib compression algorithm [3].  If the payload 
   is to be compressed and encrypted, the compression MUST be performed 
   first. 
    
 
 
G. Bichot              Expires - September 2003               [Page 6] 
 
Internet-Draft Core Network Discovery Protocol (NETDIS)     April 2003 
 
 
   Auth len: An 8 bit unsigned quantity giving the number of 32 bit 
   words following the main NETDIS header that contain authentication 
   data. If it is zero, no authentication header is present. 
    
   Authentication data: containing a digital signature of the packet, 
   with length as specified by the authentication length header field. 
   See [1] for details. Alternatively, an organization (see Organization 
   ID) may specify its own authentication mechanism. If it is the case 
   the Authorization Length MUST be set to zero. 
     
   Msg id hash: A 16 bits quantity that used in combination with the 
   real name and the network service provides a globally unique 
   identifier indicating the precise version of this announcement.  The 
   choice of value for this field is not specified here, except that it 
   MUST be unique for each Network announcement by a particular NETDIS 
   announcer and it MUST be changed if the announcement description is 
   modified. 
    
   Org ID: an organization identifier. Identify the organization (e.g. 
   standardization body) that has characterized this announcement. Extra 
   value is defined and registered through IANA. 
    
   Ox00000000: default value meaning no organization specified. 
   0x10xxxxxx: IETF: the remaining 24 bits point out the RFC that this 
   announcement relies on. 
    
   Network operator name: this is the name of the [virtual] operator of 
   the network. The network operator is a well-identified interlocutor 
   for the customer, the client. The name is a bytes string that may 
   contain any byte with the exceptions of 0x00 that is used to 
   terminate the string. By default the byte string contains US-ASCII 
   characters. The format of this field may however depend on the 
   Organization ID (see above). The value may for instance correspond to 
   the so-called PLMN-ID as defined in [4]. 
     
   Realm name: This gives the domain name the announcement relies on. 
   This is a character string formatted according to [3]. The NETDIS 
   listener may use the realm name to form the Network Access Identifier 
   (NAI) as specified in [3]. One announcement relies on one real name. 
   This means that an operator that wants to propose several different 
   network accesses will use different real names and thus will generate 
   several announcements: one per network access. 
                                                    
   Network service: this identifies the type of service the operator 
   offers the access. The field is a bytes string that may contain any 
   byte with the exceptions of 0x00 that is used to terminate the 
   string. By default the byte string contains US-ASCII characters. This 
   document defines a few services. New network services may be defined 
 
 
G. Bichot              Expires - September 2003               [Page 7] 
 
Internet-Draft Core Network Discovery Protocol (NETDIS)     April 2003 
 
 
   according to the organization ID. One announcement relies on one 
   network service. This means that an operator that wants to propose 
   several network services generates several announcements: one per 
   network service. 
    
   0x00: Null byte string: Not identified: the network type is unknown. 
    
   "IN" - Internet access: The [virtual] network operator offers the 
   access to the Internet. After being authenticated by the service 
   provider, the client can access to the Internet. There is no 
   recommended format for the Network Operator Name. There is no extra 
   information linked with this network type. 
    
   The following values are examples. It is up to each organization body 
   to defines new network service values.  
    
   "3GPP" - 3GPP access: the [virtual] network operator offers the 
   access to a 3GPP network services. Authentication and all 3GPP 
   services are managed through the 3GPP network according to a well-
   known method (e.g. 3GPP). 
    
   "3GPP2" - 3GPP2 access: the [virtual] network operator offers the 
   access to a 3GPP2 network. Authentication and all 3GPP services are 
   managed through the 3GPP network according to a well-known method 
   (e.g. 3GPP2). 
    
   Payment: this 16 bits field identifies the method of payment that is 
   accepted by the service provider. Each bit indicates whether the 
   corresponding method is available (1) or not (0). The following 
   values are defined. 
    
   All 00: not identified: the payment method is not identified 
   0x0001 - pre-paid card: a pre-paid card from the provider may be used 
   0x0002 - subscription: The services from that service provider are 
   available only on subscription. 
   0x0004 - credit card: the service may be paid online with a credit 
   card. 
   0x0008 - Free: the service(s) from that service provider is (are) 
   free 
    
   Accounting: defines the way the [virtual] network operator debits 
   your account. Each bit indicates whether the corresponding method is 
   available (1) or not (0). For each valid method an associated string 
   located in the payload field indicates the price. The price is a 
   bytes string that may contain any byte with the exceptions of 0x00 
   that is used to terminate the string. By default the byte string 
   contains US-ASCII characters. The format of this price string may 
   however depend on the Organization ID (see above).  
 
 
G. Bichot              Expires - September 2003               [Page 8] 
 
Internet-Draft Core Network Discovery Protocol (NETDIS)     April 2003 
 
 
   The following values are defined. 
    
   All 00: not identified: the accounting method is not identified 
   0x0001 - Divers: The method and the fees are explicitly mentioned in 
   the associated string located in the payload part. 
   0x02 - day: the fee is for a 24 hours period 
   0x03 - minute: each minute of the session is counted. 
   0x04 - Size: the fee depends on the total amount of data exchanged 
   during the session 
   0x05 - Connection: each successful connection implies a well-defined 
   fee. 
    
   The header is followed by the optional payload data.  If the C bit is 
   set in the header the payload is compressed. The payload gathers 
   optional accounting information and extra information according to a 
   specification identified by the organization ID. 
    
5. Implementation 
    
   One context this protocol makes sense is the public WLAN. 
    
   A mobile terminal (the NETDIS listener) discovers a set of access 
   points and associates with one according to the WLAN specification 
   (best signal strength for instance). No particular ESSID (or 
   equivalent WLAN ID) is targeted. Once the terminal is associated it 
   listens the NETDIS announcements. The user (or the terminal if only 
   one choice is possible) chooses the network operator he wants to deal 
   with and triggers the authentication process. 
   If no announcement is present, the terminal may try to associate with 
   another access point belonging to another network (different ESSID or 
   equivalent WLAN ID). If there is no other WLAN (ESSID) or no 
   announcement are present then NETDIS fails. 
    
   The mobile terminal can even listens the NETDIS announcement before 
   being associated with whatever access point. The terminal needs only 
   to join/synchronize with an access point and it should be able to 
   listen the multicast/broadcast packets). In case of several access 
   points in range, the terminal listen the different announcement from 
   the different access points. There may be several WLANs. The user (or 
   the terminal if only one choice is possible) chooses the network 
   operator he wants to deal with and triggers the association between 
   the mobile terminal and the corresponding access point. 
    
   The mobile terminal may use the realm name (found in the 
   announcement) as part of the NAI [3] in order to establish the AAA 
   connection (EAP) with the host associated with the chosen [virtual] 
   network operator. 
    
 
 
G. Bichot              Expires - September 2003               [Page 9] 
 
Internet-Draft Core Network Discovery Protocol (NETDIS)     April 2003 
 
 
6. Security Considerations 
    
   NETDIS (as SAP) contains mechanisms for ensuring integrity of session   
   announcements, for authenticating the origin of an announcement. 
    
   In case of non-usage of the integrity protection mechanism some 
   denial of service attacks are possible.  
    
   - A Rogue NETDIS controller can floods the medium with wrong 
     announcements. 
   - A rogue NETDIS controller can spoof announcements by catching real 
     announcements, modify them and forward them. Although in a 
     wireless environment this type of attack is unlikely it may appear 
     when the rogue controller (an access point in that case) has a 
     better signal strength than the regular Controller (access point). 
     The NETDIS listener would then prefer to listen the Rogue 
     controller. A way to solve that problem is for the listener to 
     listen several controllers (access points), one after the other, 
     in order to compare the announcements. 
    
    
7. References
                     
   1  Session Announcement Protocol, RFC 2974, October 2000. 
   2  Session Description Protocol, RFC 2327, April 1998. 
   3  Network Access Identifier, RFC 2486  
   4  Digital cellular telecommunications system (Phase 2+) (GSM); 
      Universal Mobile Telecommunications System (UMTS); Numbering, 
      addressing and identification 
    
    
    
    
8. Acknowledgments 
    
    
    
9. Author's Addresses 
    
   Guillaume Bichot 
   THOMSON 
   2 independence way 
   Princeton, NJ 08540 - USA 
   Email: guillaume.bichot@thomson.net 
    
10. Intellectual Property Statement 
    

 
 
G. Bichot              Expires - September 2003              [Page 10] 
 
Internet-Draft Core Network Discovery Protocol (NETDIS)     April 2003 
 
 
   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.  
 
11. Full Copyright Statement 
    
   Copyright (C) The Internet Society (2003).  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." 








 
 
G. Bichot              Expires - September 2003              [Page 11]