home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc2194 < prev    next >
Text File  |  1997-09-15  |  82KB  |  1,964 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         B. Aboba
  8. Request for Comments: 2194                                   Microsoft
  9. Category: Informational                                          J. Lu
  10.                                                         AimQuest Corp.
  11.                                                               J. Alsop
  12.                                                        i-Pass Alliance
  13.                                                                J. Ding
  14.                                                               Asiainfo
  15.                                                                W. Wang
  16.                                                    Merit Network, Inc.
  17.                                                         September 1997
  18.  
  19.  
  20.                    Review of Roaming Implementations
  21.  
  22. 1.  Status of this Memo
  23.  
  24.    This memo provides information for the Internet community.  This memo
  25.    does not specify an Internet standard of any kind.  Distribution of
  26.    this memo is unlimited.
  27.  
  28. 2.  Abstract
  29.  
  30.    This document reviews the design and functionality of existing
  31.    roaming implementations.  "Roaming capability" may be loosely defined
  32.    as the ability to use any one of multiple Internet service providers
  33.    (ISPs), while maintaining a formal, customer-vendor relationship with
  34.    only one.  Examples of cases where roaming capability might be
  35.    required include ISP "confederations" and ISP-provided corporate
  36.    network access support.
  37.  
  38. 3.  Introduction
  39.  
  40.    Considerable interest has arisen recently in a set of features that
  41.    fit within the general category of "roaming capability" for Internet
  42.    users.  Interested parties have included:
  43.  
  44.       Regional Internet Service Providers (ISPs) operating within a
  45.       particular state or province, looking to combine their efforts
  46.       with those of other regional providers to offer service over a
  47.       wider area.
  48.  
  49.       National ISPs wishing to combine their operations with those of
  50.       one or more ISPs in another nation to offer more comprehensive
  51.       service in a group of countries or on a continent.
  52.  
  53.       Businesses desiring to offer their employees a comprehensive
  54.       package of access services on a global basis.  Those services may
  55.  
  56.  
  57.  
  58. Aboba, et. al.               Informational                      [Page 1]
  59.  
  60. RFC 2194           Review of Roaming Implementations      September 1997
  61.  
  62.  
  63.       include Internet access as well as secure access to corporate
  64.       intranets via a Virtual Private Network (VPN), enabled by
  65.       tunneling protocols such as PPTP, L2F, or L2TP.
  66.  
  67.    What is required to provide roaming capability?  The following list
  68.    is a first cut at defining the requirements for successful roaming
  69.    among an arbitrary set of ISPs:
  70.  
  71.       Phone number presentation
  72.       Phone number exchange
  73.       Phone book compilation
  74.       Phone book update
  75.       Connection management
  76.       Authentication
  77.       NAS Configuration/Authorization
  78.       Address assignment and routing
  79.       Security
  80.       Accounting
  81.  
  82.    In this document we review existing roaming implementations,
  83.    describing their functionality within this framework.  In addition to
  84.    full fledged roaming implementations, we will also review
  85.    implementations that, while not meeting the strict definition of
  86.    roaming, address several of these problem elements. These
  87.    implementations typically fall into the category of shared use
  88.    networks or non-IP dialup networks.
  89.  
  90. 3.1.  Terminology
  91.  
  92.    This document frequently uses the following terms:
  93.  
  94.  
  95.    home ISP  This is the Internet service provider with whom the user
  96.           maintains an account relationship.
  97.  
  98.  
  99.    local ISP This is the Internet service provider whom the user calls
  100.           in order to get access. Where roaming is implemented the local
  101.           ISP may be different from the home ISP.
  102.  
  103.  
  104.    phone book
  105.           This is a database or document containing data pertaining to
  106.           dialup access, including phone numbers and any associated
  107.           attributes.
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Aboba, et. al.               Informational                      [Page 2]
  115.  
  116. RFC 2194           Review of Roaming Implementations      September 1997
  117.  
  118.  
  119.    shared use network
  120.           This is an IP dialup network whose use is shared by two or
  121.           more organizations.  Shared use networks typically implement
  122.           distributed authentication and accounting in order to
  123.           facilitate the relationship among the sharing parties. Since
  124.           these facilities are also required for implementation of
  125.           roaming, implementation of shared use is frequently a first
  126.           step toward development of roaming capabilities.  In fact, one
  127.           of the ways by which a provider may offer roaming service is
  128.           to conclude shared use agreements with multiple networks.
  129.           However, to date the ability to accomplish this has been
  130.           hampered by lack of interoperability among shared use
  131.           implementations.
  132.  
  133.    non-IP dialup network
  134.           This is a dialup network providing user access to the member
  135.           systems via protocols other than IP.  These networks may
  136.           implement phone book synchronization facilities, in order to
  137.           provide systems, administrators and users with a current list
  138.           of participating systems.  Examples of non-IP dialup networks
  139.           supporting phone book synchronization include FidoNet and
  140.           WWIVnet.
  141.  
  142. 4.  Global Reach Internet Consortium (GRIC)
  143.  
  144.    Led by a US-based Internet technology developer, AimQuest
  145.    Corporation, ten Internet Service Providers (ISPs) from the USA,
  146.    Australia, China, Japan, Hong Kong, Malaysia, Singapore, Taiwan, and
  147.    Thailand formed the Global Reach Internet Connection (GRIC) in May,
  148.    1996.  The goals of GRIC were to facilitate the implementation of a
  149.    global roaming service and to coordinate billing and settlement among
  150.    the membership.  Commercial operation began in December of 1996, and
  151.    GRIC has grown to over 100 major ISPs and Telcos from all over the
  152.    world, including NETCOM, USA; KDD and Mitsubishi, Japan; iStar,
  153.    Canada; Easynet, UK; Connect.com, Australia; Iprolink, Switzerland;
  154.    Singapore Telecom; Chunghwa Telecom, Taiwan; and Telekom Malaysia.
  155.    Information on GRIC is available from http://www.gric.net/.
  156.  
  157.    In implementing their roaming service, GRIC members have chosen
  158.    software developed by AimQuest. AimQuest Corporation's roaming
  159.    implementation comprises the following major components: the
  160.    AimTraveler Authentication Server (AAS), the AimTraveler Routing
  161.    Server (ARS), and the AimQuest Internet Management System (AIMS),
  162.    software designed to facilitate the billing process. Information on
  163.    the AimQuest roaming implementation is available from
  164.    http://www.aimquest.com/.
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Aboba, et. al.               Informational                      [Page 3]
  171.  
  172. RFC 2194           Review of Roaming Implementations      September 1997
  173.  
  174.  
  175.    The AimTraveler Authentication Server (AAS) runs at each member ISP
  176.    location, and handles incoming authentication requests from NAS
  177.    devices and other AASes. The AimTraveler Routing Server (ARS) can run
  178.    anywhere.  A single routing server can be used where centralized
  179.    routing is desired, or multiple routing servers can be run in order
  180.    to increase speed and reliability or to gateway to networks of
  181.    particularly large partners.
  182.  
  183.    The first version of the AimTraveler software, deployed by AimQuest
  184.    in May, 1996, supported direct authentication between members of the
  185.    roaming consortium, but as GRIC grew, management of the relationships
  186.    between the authentication servers became a problem. In August. 1996,
  187.    AimQuest began development of the AimTraveler Routing Server (ARS) in
  188.    order to improve scalability.
  189.  
  190.    The routing server is comprised of two elements: The Central
  191.    Accounting Server and the Central Routing Server.  The Central
  192.    Accounting Server collects all the roaming accounting data for
  193.    settlement.  The Central Routing Server manages and maintains
  194.    information on the authentication servers in the roaming consortium.
  195.    Adding, deleting, or updating ISP authentication server information
  196.    (e.g. adding a new member ISP) may be accomplished by editing of a
  197.    configuration file on the Central Routing Server. The configuration
  198.    files of the AimTraveler Authentication Servers do not need to be
  199.    modified.
  200.  
  201.    The AimTraveler Authentication and Routing Servers are available for
  202.    various UNIX platforms. Versions for Windows NT are under
  203.    development.  The AimTraveler Authentication Server supports both the
  204.    UNIX password file and Kerberos.
  205.  
  206.    The AimQuest Internet Management System (AIMS) is designed for large
  207.    ISPs who need a centralized management system for all ISP operations,
  208.    including sales, trouble-ticketing, service, and billing.  AIMS
  209.    produces usage and transaction statement reports, and includes a
  210.    settlement module to produce settlement/billing reports for the
  211.    roaming consortium members.  Based on these reports, the providers
  212.    charge their ISP/roaming customers, and pay/settle the roaming
  213.    balance among the providers.  AIMS currently runs on
  214.    Sun/Solaris/Oracle. A version for Windows NT and SQL Server is
  215.    expected to become available in Q4 1996.
  216.  
  217. 4.1.  Phone number presentation
  218.  
  219.    Currently there are two principal methods by which GRIC users can
  220.    discover available phone numbers: a Web-based directory provided by
  221.    the GRIC secretariat, and a GRIC phone book client on the user PC
  222.    with dialing capability.
  223.  
  224.  
  225.  
  226. Aboba, et. al.               Informational                      [Page 4]
  227.  
  228. RFC 2194           Review of Roaming Implementations      September 1997
  229.  
  230.  
  231. 4.1.1.  Web based directory
  232.  
  233.    A directory of GRIC phone numbers is available on the GRIC home page,
  234.    http://www.gric.com/.  The list of numbers is arranged by country and
  235.    provider. For each provider within a country, this directory,
  236.    provided in the form of a table, offers the following information:
  237.  
  238.       Provider address, voice phone and fax
  239.       Customer support phone number
  240.       Provider domain name
  241.       Primary Domain Name Server
  242.       Secondary Domain Name Server
  243.       Dial-up IP Address
  244.       News server
  245.       Web page
  246.       POP phone numbers (i.e. 1-408-366-9000)
  247.       POP locations (i.e. Berkeley)
  248.       Proxy addresses
  249.       Dialer configuration
  250.  
  251.    In order to discover phone numbers using the Web-based directory, it
  252.    is expected that users will be online, and will navigate to the
  253.    appropriate country and provider. They then look up the number and
  254.    insert it into the AimQuest Ranger dialer.
  255.  
  256. 4.1.2.  GRIC phone book client
  257.  
  258.    The GRIC phone book client software provides for phone book
  259.    presentation as well as automated updating of phone numbers.  The
  260.    GRIC phone book includes a list of countries, states, cities and
  261.    area/city codes, as well as detailed provider information, including
  262.    the cutomer support phone number, and Internet server configuration
  263.    info.  The Phone book, developed with Java, is available for download
  264.    from the AimQuest Web site:
  265.  
  266.      http://www.aimquest.com/dialer.html
  267.  
  268. 4.2.  Phone number exchange
  269.  
  270.    GRIC members submit information both about themselves and their POPs
  271.    to the GRIC secretariat, which is run by AimQuest. The GRIC
  272.    secretariat then compiles a new phone book and provides updates on
  273.    the GRIC FTP and Web servers.
  274.  
  275.    GRIC users then download the phone numbers either in Windows .ini
  276.    file format or in HTML.
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Aboba, et. al.               Informational                      [Page 5]
  283.  
  284. RFC 2194           Review of Roaming Implementations      September 1997
  285.  
  286.  
  287. 4.3.  Phone book compilation
  288.  
  289.    GRIC phone books are compiled manually, and represent a concatenation
  290.    of available numbers from all the members of the roaming consortium,
  291.    with no policy application.  As new POPs come online, the numbers are
  292.    forwarded to GRIC, which adds them to the phone book servers.
  293.  
  294. 4.4.  Phone book update
  295.  
  296.    Phone numbers in the GRIC phone book client are updated automatically
  297.    upon connection.  The AimTraveler server includes an address book
  298.    which contains the phone numbers of all the roaming consortium
  299.    members.
  300.  
  301. 4.5.  Connection management
  302.  
  303.    The AimTraveler software supports SLIP and PPP, as well as PAP and
  304.    CHAP authentication.
  305.  
  306. 4.6.  Authentication
  307.  
  308.    GRIC implements distributed authentication, utilizing the user's e-
  309.    mail address as the userID (i.e. "liu@Aimnet.com") presented to the
  310.    remote NAS device.
  311.  
  312.    After the initial PPP authentication exchange, the userID, domain,
  313.    and pasword information (or in the case of CHAP, the challenge and
  314.    the response) are then passed by the NAS to the AimTraveler
  315.    Authentication Server which supports both TACACS+ and RADIUS.
  316.  
  317.    If the authentication request comes from a regular customer login,
  318.    normal user id and password authentication is performed. If the user
  319.    requesting authentication is a "roamer," (has a userID with an @ and
  320.    domain name), the authentication server sends an query to the closest
  321.    routing server. When AimTraveler Routing Server receives the
  322.    authentication request, it first authenticates the AAS sending the
  323.    request, and if this is successful, it checks its authentication
  324.    server table.  If it is able to match the domain of the user to that
  325.    of a "Home ISP", then the Home ISP authentication server's routing
  326.    information are sent back to the local ISP's authentication server.
  327.    Based on the information received from the routing server, the AAS
  328.    makes an authentication request to the user's Home ISP AAS for user
  329.    id and password verification.
  330.  
  331.    If the user is a valid user, the Home ISP authentication server sends
  332.    a "permission granted" message back to the Local ISP authentication
  333.    server. The Local ISP authentication server then requests the NAS to
  334.    grant the user a dynamic IP address from its address pool. If the
  335.  
  336.  
  337.  
  338. Aboba, et. al.               Informational                      [Page 6]
  339.  
  340. RFC 2194           Review of Roaming Implementations      September 1997
  341.  
  342.  
  343.    username or password is incorrect, the Home ISP AAS will send a
  344.    rejection message to the Local ISP AAS, and the user will be dropped
  345.    by the NAS.
  346.  
  347.    If multiple routing servers are installed, and the query to the first
  348.    routing server does not result in a match, the query is forwarded to
  349.    the next routing server. The server queries are cached on the routing
  350.    servers, improving speed for repeated queries. The cache is sustained
  351.    until a routing server table entry is updated or deleted.  Updating
  352.    or deleting results in a message to all neighbor routing servers to
  353.    delete their caches.
  354.  
  355.    The local authentication server also receives the accounting data
  356.    from the NAS.  If the data is for a regular customer login, the data
  357.    is written to the Local ISP AAS log file. If the data is for a
  358.    "roamer," the data is written to three places: the Local ISP AAS log
  359.    file, the Home ISP AAS log file, and the ARS log file.
  360.  
  361.    If the local ISP authentication server has caching turned on, then it
  362.    will cache information on Home ISP authentication server
  363.    configurations sent by the routing server. This means that if the
  364.    same domain is queried again, the local authentication server does
  365.    not need to query the routing server again. The local cache is
  366.    cleared when the local authentication server receives an update
  367.    message from the routing server or system manager.
  368.  
  369. 4.7.  NAS Configuration/Authorization
  370.  
  371.    AimTraveler is comprised of two components, a Client(AAS) and a
  372.    Server(ARS).
  373.  
  374.    The AimTraveler Client acts as the PPP dial-up authentication server.
  375.    When it detects an '@' sign in the userID field, it queries the
  376.    AimTraverler Server for routing information, then forwards the
  377.    authentication request to user's home authentication server.  The
  378.    AimTraveler Server, a centralized routing server, contains the
  379.    authorized ISP's domain name, authentication servers and other
  380.    information.
  381.  
  382.    The AimTraveler currently supports RADIUS and TACACS+, and could be
  383.    extended to support other authentication protocols.  It also receives
  384.    all the accounting records, which are subsequently used as input data
  385.    for billing.
  386.  
  387.    Since ISPs' NAS devices may be configured differently, the attributes
  388.    returned by the home ISP AAS are discarded.
  389.  
  390.  
  391.  
  392.  
  393.  
  394. Aboba, et. al.               Informational                      [Page 7]
  395.  
  396. RFC 2194           Review of Roaming Implementations      September 1997
  397.  
  398.  
  399. 4.8.  Address assignment and routing
  400.  
  401.    All addresses in GRIC are assigned dynamically from within the
  402.    address pool of the local ISP.  Static addresses and routed LAN
  403.    connections will be considered in the future, when GRIC offers
  404.    corporate roaming service, with the implementation of tunneling
  405.    protocols
  406.  
  407. 4.9.  Security
  408.  
  409.    The user's password is hashed with MD5 before being sent from the
  410.    Local ISP AAS to the Home ISP AAS.  An encryption key is shared
  411.    between the AAS and ARS. The current version of AimTraveler AAS does
  412.    not support token cards or tunneling protocols.
  413.  
  414. 4.10.  Accounting
  415.  
  416.    The AimTraveler Authentication Server (AAS) software can act as
  417.    either a RADIUS or TACACS+ accounting server.  When accounting
  418.    information is received from the NAS, the local AimTraveler
  419.    Authentication Server (AAS) sends accounting data (user name, domain
  420.    name, login time) to both the Central Accounting Server (part of the
  421.    ARS) and the user's Home ISP AimTraveler authentication server. In
  422.    the case of GRIC, the Central Accounting Server is run by AimQuest.
  423.  
  424.    The data sent to the central accounting server and home ISP are
  425.    identical except for the form of user id and time stamp.  For a
  426.    traveler whose home ISP is in the US, but who is traveling in Japan,
  427.    the Local (Japanese) ISP AimTraveler authentication server will
  428.    receive an accounting record timestamped with Japan time while the
  429.    Home (US) ISP AimTraveler authentication server will receive an
  430.    accounting record timestamped with the appropriate US timezone.
  431.  
  432.    The accounting data includes 2 new attributes for settlement
  433.    reporting:
  434.  
  435.      Attribute              Number   Type
  436.      ---------              ------   ----
  437.  
  438.      Roaming-Server-ID       101     string
  439.      Isp-ID                  102     string
  440.  
  441.    The Roaming-Server-ID attribute identifies the AAS sending the
  442.    authentication request.  The Isp-ID attribute identifies the local
  443.    ISP.  Using this information the home ISP can track the roaming
  444.    activities of its users (where their users are logging in).
  445.  
  446.  
  447.  
  448.  
  449.  
  450. Aboba, et. al.               Informational                      [Page 8]
  451.  
  452. RFC 2194           Review of Roaming Implementations      September 1997
  453.  
  454.  
  455.    The AimTraveler Server running at AimQuest keeps a record of all
  456.    roaming transactions, which are used as input to the settlement and
  457.    billing process.  At the end of each month, AimQuest provides a
  458.    roaming transaction summary to GRIC members using AIMS. The AIMS
  459.    software is configurable so that it takes into account the settlement
  460.    rules agreed to by GRIC members.
  461.  
  462. 5.  i-Pass implementation
  463.  
  464. 5.1.  Overview
  465.  
  466.    i-Pass Alliance Inc., based in Mountain View, California, has
  467.    developed and operates a commercial authentication and settlement
  468.    clearinghouse service which provides global roaming between Internet
  469.    service providers.  The service is fully operational.
  470.  
  471.    i-Pass Alliance Inc. has additional offices in Toronto, Singapore,
  472.    and London.  More information on i-Pass can be obtained from
  473.    http://www.ipass.com.
  474.  
  475.    The i-Pass network consists of a number of servers that provide
  476.    real-time authentication services to partner ISPs.  Authentication
  477.    requests and accounting records for roaming users are encrypted and
  478.    sent to an i-Pass serverwhere they are logged, and then forwarded to
  479.    a home ISP for authentication and/or logging.
  480.  
  481.    Periodically, i-Pass reconciles all accounting records, generates
  482.    billing statements, and acts as a single point for collecting and
  483.    remitting payments.
  484.  
  485.    i-Pass provides its service only to ISPs and channel partners.  It
  486.    does not attempt to establish a business relationship with
  487.    individual-user customers of an ISP.
  488.  
  489. 5.2.  Access Point Database (APD)
  490.  
  491.    i-Pass maintains a list of roaming access points in an Oracle
  492.    database.  This list is searchable by geographical region using a Web
  493.    browser, and may be downloaded in its entirety using FTP. The
  494.    information stored for each access point includes:
  495.  
  496.       Name of service provider
  497.       Country
  498.       State or Province
  499.       City or Region
  500.       Telephone number
  501.       Technical support phone number
  502.       Service types available
  503.  
  504.  
  505.  
  506. Aboba, et. al.               Informational                      [Page 9]
  507.  
  508. RFC 2194           Review of Roaming Implementations      September 1997
  509.  
  510.  
  511.       Technical information (help file)
  512.       Service pricing information
  513.  
  514.    The Access Point Database is maintained by i-Pass staff, based on
  515.    input from i-Pass partners.
  516.  
  517. 5.3.  Phone number presentation
  518.  
  519.    ni-Pass has developed a Windows application wth a simple point and
  520.    click interface called the "i-Pass Dial Wizard", which assists end-
  521.    users in selecting and connecting to a local Internet access point.
  522.  
  523.    The Dial Wizard allows users to first select the country in which
  524.    they are roaming.  A list of states, provinces, or other regions in
  525.    the selected country is then presented.  Finally a list of access
  526.    points within the state or province is presented.  The Dial Wizard
  527.    displays the city name, modem phone number, and price information for
  528.    each access point within the state or region.
  529.  
  530.    When the user selects the desired access point, a Windows 95 "DialUp
  531.    Networking" icon is created for that access point.  If there is a
  532.    login script associated with the access point, the DialUp Scripting
  533.    tool is automatically configured.  This means that end-users never
  534.    have to configure any login scripting requirements.
  535.  
  536.    The Dial Wizard has a built-in phonebook containing all the i-Pass
  537.    access points.  The phonebook may be automatically refreshed from a
  538.    master copy located onISPs web site.
  539.  
  540.    The Dial Wizard is provided free of charge to i-Pass partners.  i-
  541.    Pass also provides the i-Pass Dial Wizard Customization Kit which
  542.    allows ISP partners to generate customized versions of the Dial
  543.    Wizard with their own logo, etc.
  544.  
  545. 5.4.  Authentication
  546.  
  547.    There are three entities involved in servicing an authentication
  548.    request:
  549.  
  550.  
  551.    Local ISP  At the local ISP, the authentication server is modified to
  552.           recognize user IDs of the form username@auth_domain as being
  553.           remote authentication requests.  These requests are forwarded
  554.           to an i-Pass server.
  555.  
  556.  
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Aboba, et. al.               Informational                     [Page 10]
  563.  
  564. RFC 2194           Review of Roaming Implementations      September 1997
  565.  
  566.  
  567.    i-Pass Server
  568.           The i-Pass server receives the authentication request, logs
  569.           it, and forwards it to the home ISP identified by the
  570.           auth_domain portion of the user ID.
  571.  
  572.    Home ISP The home ISP receives the authentication request, performs
  573.           authentication using its normal authentication method, and
  574.           returns a YES/NO response to the i-Pass server, which in turn
  575.           forwards the reply to the originating ISP.
  576.  
  577.    i-Pass provides software components which run on the authentication
  578.    servers of the local and home ISPs.  Each member ISP must integrate
  579.    these components with the native authentication method being used by
  580.    the ISP.  To simplify this task, i-Pass has developed "drop-in"
  581.    interfaces for the most commonly used authentication methods.  At the
  582.    date of writing, the following interfaces are supported:
  583.  
  584.       Livingston RADIUS
  585.       Ascend RADIUS
  586.       Merit RADIUS
  587.       TACACS+
  588.       Xylogics erpcd (Versions 10 and 11)
  589.  
  590.    A generic interface is also provided which authenticates based on the
  591.    standard UNIX password file.  This is intended as a starting point
  592.    for ISPs using authentication methods other than those listed above.
  593.  
  594.    The software integration effort for a typical ISP is on the order of
  595.    2-5 man-days including testing.  Platforms currently supported
  596.    include:
  597.  
  598.       Solaris 2.5 (Sparc).LI
  599.       Solaris 2.5 (Intel)
  600.       BSDI
  601.       Digital Unix
  602.       Linux
  603.       FreeBSD
  604.       HP/UX
  605.  
  606.    ISPs may chooe to provide authentication for their end-users roaming
  607.    elsewhere, but not to provide access points to the i-Pass network.
  608.    In this case the software integration effort is greatly reduced and
  609.    can be as little as 1/2 a man-day.
  610.  
  611. 5.5.  Accounting
  612.  
  613.    Accounting transactions are handled in the same way as authentication
  614.    requests.  In addition to being logged at the i-Pass servers,
  615.  
  616.  
  617.  
  618. Aboba, et. al.               Informational                     [Page 11]
  619.  
  620. RFC 2194           Review of Roaming Implementations      September 1997
  621.  
  622.  
  623.    accounting transactions are sent in real-time to the home ISP.  This
  624.    is intended to allow ISPs to update users' credit limit information
  625.    on a real-time basis (to the extent that this capability is supported
  626.    by their billing and accounting systems).
  627.  
  628.    Settlement is performed monthly.  The settlement process involves
  629.    calculating the costs associated with each individual session, and
  630.    aggregating them for each ISP.  A net amount is then calculated which
  631.    is either due from i-Pass to the ISP, or from the ISP to i-Pass,
  632.    depending on the actual usage pattern.
  633.  
  634.    The following reports are supplied to member ISPs:
  635.  
  636.       A Monthly Statement showing summaries of usage, service provided,
  637.       and any adjustments along with the net amount owing.
  638.  
  639.       A Call Detail Report showing roaming usage by the ISP's customers.
  640.  
  641.       A Service Provided report showing detailed usage of the ISP's
  642.       facilities by remote users.
  643.  
  644.    The above reports are generated as ASCII documents and are
  645.    distributed to i-Pass partners electronically, either by e-mail or
  646.    from  a  secure area on the i-Pass web site. Hard-copy output is
  647.    available on request.
  648.  
  649.    The Call Detail Report is also generated as a comma-delimited ASCII
  650.    file suitable for import into the ISP's billing database. The Call
  651.    Detail Report will normally be used by the ISP to generate end-user
  652.    billing for roaming usage.
  653.  
  654. 5.6.  Security
  655.  
  656.    All  transactions  between  ISPs  and the i-Pass servers are
  657.    encrypted using the SSL protocol.  Public key certificates are
  658.    verified at  both the  client  and  server. i-Pass issues these
  659.    certificates and acts as the Cetificate Authority.
  660.  
  661.    Transactions are also verified based on a number of other criteria
  662.    such as source IP address.
  663.  
  664. 5.7.  Operations
  665.  
  666.    i-Pass operates several authentication server sites.  Each site
  667.    consists of two redundant server systems located in secure facilities
  668.    and "close" to the Internet backbone.  The authentication server
  669.    sites are geographically distributed to minimize the possibility of
  670.    failure due to natural disasters etc.
  671.  
  672.  
  673.  
  674. Aboba, et. al.               Informational                     [Page 12]
  675.  
  676. RFC 2194           Review of Roaming Implementations      September 1997
  677.  
  678.  
  679.    i-Pass maintains a Network Operations Center in Mountain View which
  680.    is staffed on a 7x24 basis.  Its functions include monitoring the i-
  681.    Pass authentication servers, monitoring authentication servers
  682.    located at partner facilities, and dealing with problem reports.
  683.  
  684. 6.  ChinaNet implementation
  685.  
  686.    ChinaNet, owned by China Telecom, is China's largest Internet
  687.    backbone.  Constructed by Asiainfo, a Dallas based system integration
  688.    company, it has 31 backbone nodes in 31 Chinese provincial capital
  689.    cities.  Each province is building its own provincial network, has
  690.    its own dialup servers, and administers its own user base.
  691.  
  692.    In order to allow hinaNet users to be able to access nodes outside
  693.    their province while traveling, a nationwide roaming system has been
  694.    implemented.  The roaming system was developed by AsiaInfo, and is
  695.    based on the RADIUS protocol.
  696.  
  697. 6.1.  Phone number presentation
  698.  
  699.    Since China Telecom uses one phone number (163) for nationwide
  700.    Internet access, most cities have the same Internet access number.
  701.    Therefore a phone book is not currently required for the ChinaNet
  702.    implementation. A web-based phone book will be added in a future
  703.    software release in order to support nationwide ISP/CSP telephone
  704.    numbers and HTTP server addresses.
  705.  
  706. 6.2.  Connection management
  707.  
  708.    The current roaming client and server supports both PPP and SLIP.
  709.  
  710.  
  711. 6.3.  Address assignment and routing
  712.  
  713.    ChinaNet only supports dynamic IP address assignment for roaming
  714.    users. In addition, static addresses are supported for users
  715.    authenticating within their home province.
  716.  
  717. 6.4.  Authentication
  718.  
  719.    When user accesses a local NAS, it provides its userID either as
  720.    "username" or "username@realm".  The NAS will pass the userID and
  721.    password to the RADIUS proxy/server.  If the "username" notation is
  722.    used, the Radius proxy/server will assume that the user is a local
  723.    user and will handle local authentication accordingly.  If "user-
  724.    name@realm" is used, the RADIUS proxy/server will process it as a
  725.    roaming request.
  726.  
  727.  
  728.  
  729.  
  730. Aboba, et. al.               Informational                     [Page 13]
  731.  
  732. RFC 2194           Review of Roaming Implementations      September 1997
  733.  
  734.  
  735.    When the RADIUS proxy/server handles a request from a roaming user,
  736.    it will first check the cache to see if the user information is
  737.    already stored there. If there is a cache hit, the RADIUS
  738.    proxy/server do the local authentication accordingly.  If it does not
  739.    find user information in its cache, it will act as a proxy,
  740.    forwarding the authentication request to the home RADIUS server.
  741.    When the home RADIUS server responds, the local server will forward
  742.    the response to the NAS.  If the user is authenticated by the home
  743.    server, the local RADIUS proxy will cache the user information for a
  744.    period of time (3 days by default).
  745.  
  746.    Caching is used to avoid frequent proxying of requests and responses
  747.    between the local RADIUS proxy and the home RADIUS server.  When the
  748.    home RADIUS server sends back a valid authentication response, the
  749.    local RADIUS proxy/server will cache the user information for a
  750.    period of time (3 days by default).  When the user next authenticates
  751.    directly against the home RADIUS server, the home RADIUS server will
  752.    send a request to the local server or servers to clear the user's
  753.    information from the cache.
  754.  
  755. 6.4.1.  Extended hierarchy
  756.  
  757.    In some provinces, the local telecommunications administration
  758.    Provincial ISP) further delegates control to county access nodes,
  759.    creating another level of hierarchy. This is done to improve
  760.    scalability and to avoid having the provincial ISP databases grow too
  761.    large.  In the current implementation, each provincial ISP maintains
  762.    its own central RADIUS server, including information on all users in
  763.    the province, while county nodes maintain distributed RADIUS servers.
  764.    For intra-province roaming requests the local RADIUS proxy/server
  765.    will directly forward the request to the home RADIUS server.
  766.  
  767.    However, for inter-province roaming requests, the local RADIUS server
  768.    does not forward the request directly to the home RADIUS server.
  769.    Instead, the request is forwarded to the central provincial RADIUS
  770.    server for the home province. This implementation is suitable only
  771.    when county level ISPs do not mind combining and sharing their user
  772.    information.  In this instance, this is acceptable, since all county
  773.    level ISPs are part of China Telecom. In a future release, this
  774.    multi-layer hierarchy will be implemented using multi-layer proxy
  775.    RADIUS, in a manner more resembling DNS.
  776.  
  777. 6.5.  Security
  778.  
  779.    Encryption is used between the local RADIUS proxy/server and the home
  780.    RADIUS server. Public/Private key encryption will be supported in the
  781.    next release. IP tunneling and token card support is under
  782.    consideration.
  783.  
  784.  
  785.  
  786. Aboba, et. al.               Informational                     [Page 14]
  787.  
  788. RFC 2194           Review of Roaming Implementations      September 1997
  789.  
  790.  
  791. 6.6.  Accounting
  792.  
  793.    Accounting information is transferred between the local RADIUS
  794.    accounting proxy/server and home RADIUS accounting server.  Every day
  795.    each node sends a summary accounting information record to a central
  796.    server in order to support nationwide settlement. The central server
  797.    is run by the central Data Communication Bureau of China Telecom.
  798.    Every month the central server sends the settlement bill to the
  799.    provincial ISPs.
  800.  
  801. 6.7.  Inter-ISP/CSP roaming
  802.  
  803.    ChinaNet supports both ISP and CSP (Content Service Provider) roaming
  804.    on its system. For example, Shanghai Online, a Web-based commercial
  805.    content service, uses RADIUS for authentication of ChinaNet users who
  806.    do not have a Shanghai Online account. In order to support this, the
  807.    Shanghai Online servers function as a RADIUS client authenticating
  808.    against the home RADIUS server. When users access a protected
  809.    document on the HTTP server, they are prompted to send a
  810.    username/password for authentication. The user then responds with
  811.    their userID in "user-name@realm" notation.
  812.  
  813.    A CGI script on the HTTP server then acts as a RADIUS authentication
  814.    client, sending the request to the home RADIUS server. After the home
  815.    RADIUS server responds, the CGI script passes the information to the
  816.    local authentication agent. From this point forward, everything is
  817.    taken care of by the local Web authentication mechanism.
  818.  
  819. 7.  Microsoft implementation
  820.  
  821.    Microsoft's roaming implementation was originally developed in order
  822.    to support the Microsoft Network (MSN), which now offers Internet
  823.    access in seven countries: US, Canada, France, Germany, UK, Japan,
  824.    and Australia.  In each of these countries, service is offered in
  825.    cooperation with access partners.  Since users are able to connect to
  826.    the access partner networks while maintaining a customer-vendor
  827.    relationship with MSN, this implementation fits within the definition
  828.    of roaming as used in this document.
  829.  
  830. 7.1.  Implementation overview
  831.  
  832.    The first version of the Microsoft roaming software was deployed by
  833.    the MSN partners in April, 1996.  This version included a Phone Book
  834.    manager tool running under Windows 95, as well as a RADIUS
  835.    server/proxy implementation running under Windows NT; TACACS+ is
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Aboba, et. al.               Informational                     [Page 15]
  843.  
  844. RFC 2194           Review of Roaming Implementations      September 1997
  845.  
  846.  
  847.    currently not supported.  Additional components now under development
  848.    include a Connection Manager client for Windows 95 as well as an
  849.    HTTP-based phone book server for Windows NT. The Phone Book manager
  850.    tool is also being upgraded to provide for more automated phone book
  851.    compilation.
  852.  
  853.  
  854. 7.2.  Phone number presentation
  855.  
  856.    The Connection Manager is responsible for the presentation and
  857.    updating of phone numbers, as well as for dialing and making
  858.    connections.  In order to select phone numbers, users are asked to
  859.    select the desired country and region/state.  Phone numbers are then
  860.    presented in the area selected.  The primary numbers are those from
  861.    the users service provider which match the service type (Analog,
  862.    ISDN, Analog & IDN), country and region/state selected. The other
  863.    numbers (selected clicking on the More button) are those for other
  864.    service providers that have a roaming agreement with the users
  865.    service provider.
  866.  
  867. 7.2.1.  Cost data
  868.  
  869.    Cost data is not presented to users along with the phone numbers.
  870.    However, such information may be made available by other means, such
  871.    as via a Web page.
  872.  
  873. 7.2.2.  Default phone book format
  874.  
  875.    The Connection Manager supports the ability to customize the phone
  876.    book format, and it is expected that many ISPs will make use of this
  877.    capability. However, for those who wish to use it "off the shelf" a
  878.    default phone book format is provided. The default phone book is
  879.    comprised of several files, including:
  880.  
  881.       Service profile
  882.       Phone Book
  883.       Region file
  884.  
  885.    The service profile provides information on a given service, which
  886.    may be an isolated Internet Service Provider, or may represent a
  887.    roaming consortium. The service profile, which is in .ini file
  888.    format, is comprised of the following information:
  889.  
  890.       The name of the service
  891.       The filename of the service's big icon
  892.       The filename of the service's little icon
  893.       A description of the service
  894.       The service phone book filename
  895.  
  896.  
  897.  
  898. Aboba, et. al.               Informational                     [Page 16]
  899.  
  900. RFC 2194           Review of Roaming Implementations      September 1997
  901.  
  902.  
  903.       The service phone book version number
  904.       The service regions file
  905.       The URL of the service phone book server
  906.       The prefix used by the service (i.e. "MSN/aboba")
  907.       The suffix or domain used by the service (i.e. "aboba@msn.com")
  908.       Whether the user name is optional for the service
  909.       Whether the password is optional for the service
  910.       Maximum length of the user name for the service
  911.       Maximum length of the password for the service
  912.       Information on service password handling (lowercase, mixed case, etc.)
  913.       Number of redials for this service
  914.       Delay between redials for this service
  915.       References to other service providers that have roaming agreements
  916.       The service profile filenames for each of the references
  917.       Mask and match phone book filters for each of the references
  918.         (these are 32 bit numbers that are applied against the capability
  919.         flags in the phone book)
  920.       The dial-up connection properties configuration
  921.         (this is the DUN connectoid name)
  922.  
  923.    The phone book file is a comma delimited ASCII file containing the
  924.    following data:
  925.  
  926.       Unique number identifying a particular record (Index)
  927.       Country ID
  928.       A zero-base index into the region file
  929.       City
  930.       Area code
  931.       Local phone number
  932.       Minimum Speed
  933.       Maximum speed
  934.       Capability Flags:
  935.         Bit 0: 0=Toll, 1=Toll free
  936.         Bit 1: 0=X25, 1=IP
  937.         Bit 2: 0=Analog, 1=No analog support
  938.         Bit 3: 0=no ISDN support, 1=ISDN
  939.         Bit 4: 0
  940.         Bit 5: 0
  941.         Bit 6: 0=No Internet access, 1=Internet access
  942.         Bit 7: 0=No signup access, 1=Signup access
  943.         Bit 8-31: reserved
  944.       The filename of the dialup network file
  945.         (typically refers to a script associated with the number)
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Aboba, et. al.               Informational                     [Page 17]
  955.  
  956. RFC 2194           Review of Roaming Implementations      September 1997
  957.  
  958.  
  959.    A sample phone book file is shown below:
  960.  
  961.       65031,1,1,Aniston,205,5551212,2400,2400,1,0,myfile
  962.       200255,1,1,Auburn/Opelika,334,5551212,9600,28800,0,10,
  963.       200133,1,1,Birmingham,205,5551212,9600,28800,0,10,
  964.       130,1,1,Birmingham,205,3275411,9600,14400,9,0,yourfile
  965.       65034,1,1,Birmingham,205,3285719,9600,14400,1,0,myfile
  966.  
  967. 7.2.3.  Additional attributes
  968.  
  969.    As described previously, it is likely that some ISPs will require
  970.    additional phone number attributes or provider information beyond
  971.    that supported in the default phone book format.  Attributes of
  972.    interest may vary between providers, or may arise as a result of the
  973.    introduction of new technologies.  As a result, the set of phone
  974.    number attributes is likely to evolve over time, and extensibility in
  975.    the phone book format is highly desirable.
  976.  
  977.    For example, in addition to the attributes provided in the default
  978.    phone book, the following additional attributes have been requested
  979.    by customers:
  980.  
  981.       Multicast support flag
  982.       External/internal flag (to differentiate display between the
  983.            "internal" or "other" list box)
  984.       Priority  (for control of presentation order)
  985.       Modem protocol capabilities (V.34, V.32bis, etc.)
  986.       ISDN protocol capabilities (V.110, V.120, etc.)
  987.       No password flag (for numbers using telephone-based billing)
  988.       Provider name
  989.  
  990. 7.2.4.  Addition of information on providers
  991.  
  992.    The default phone book does not provide a mechanism for display of
  993.    information on the individual ISPs within the roaming consortium,
  994.    only for the consortium as a whole. For example, the provider icons
  995.    (big and little) are included in the service profile. The service
  996.    description information is expected to contain the customer support
  997.    number.  However, this information cannot be provided on an
  998.    individual basis for each of the members of a roaming consortium.
  999.    Additional information useful on a per-provider basis would include:
  1000.  
  1001.       Provider voice phone number
  1002.       Provider icon
  1003.       Provider fax phone number
  1004.       Provider customer support phone number
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010. Aboba, et. al.               Informational                     [Page 18]
  1011.  
  1012. RFC 2194           Review of Roaming Implementations      September 1997
  1013.  
  1014.  
  1015. 7.3.  Phone number exchange
  1016.  
  1017.    Currently phone number exchange is not supported by the phone book
  1018.    server. As a result, in the MSN implementation, phone number exchange
  1019.    is handled manually.  As new POPs come online, the numbers are
  1020.    forwarded to MSN, which tests the numbers and approves them for
  1021.    addition to the phone book server. Updated phone books are produced
  1022.    and loaded on the phone book server on a weekly basis.
  1023.  
  1024. 7.4.  Phone book compilation
  1025.  
  1026.    The Phone Book Manager tool was created in order to make it easier
  1027.    for the access partners to create and update their phone books. It
  1028.    supports addition, removal, and editing of phone numbers, generating
  1029.    both a new phone book, as well as associated difference files.
  1030.  
  1031.    With version 1 of the Phone Book Administration tool, phone books are
  1032.    compiled manually, and represent a concatenation of available numbers
  1033.    from all partners, with no policy application.  With version 1, the
  1034.    updates are prepared by the partners and forwarded to MSN, which
  1035.    tests the numbers and approves them for addition to the phone book.
  1036.    The updates are then concatenated together to form the global update
  1037.    file.
  1038.  
  1039.    The new version of the Phone Book Administration tool automates much
  1040.    of the phone book compilation process, making it possible for phone
  1041.    book compilation to be decentralized with each partner running their
  1042.    own phone book server. Partners can then maintain and test their
  1043.    individual phone books and post them on their own Phone Book Server.
  1044.  
  1045. 7.5.  Phone book update
  1046.  
  1047.    There is a mechanism to download phone book deltas, as well as to
  1048.    download arbitrary executables which can perform more complex update
  1049.    processing.  Digital signatures are only used on the downloading of
  1050.    executables, since only these represent a security threat - the
  1051.    Connection Manager client does not check for digital signatures on
  1052.    deltas because bogus deltas can't really cause any harm.
  1053.  
  1054.  
  1055.    The Connection Manager updates the phone book each time the user logs
  1056.    on.  This is accomplished via an HTTP GET request to the phone book
  1057.    server. When the server is examining the request, it can take into
  1058.    account things like the OS version on the client, the language on the
  1059.    client, the version of Connection Manager on the client, and the
  1060.    version of the phone book on the client, in order to determine what
  1061.    it wants to send back.
  1062.  
  1063.  
  1064.  
  1065.  
  1066. Aboba, et. al.               Informational                     [Page 19]
  1067.  
  1068. RFC 2194           Review of Roaming Implementations      September 1997
  1069.  
  1070.  
  1071.    In the GET response, the phone book server responds with the
  1072.    difference files necessary to update the client's phone book to the
  1073.    latest version. The client then builds the new phone book by
  1074.    successively applying these difference files.  This process results
  1075.    in the update of the entire phone book, and is simple enough to allow
  1076.    it to be easily implemented on a variety of HTTP servers, either as a
  1077.    CGI script or (on NT) as an ISAPI DLL.
  1078.  
  1079.    The difference files used in the default phone book consist of a
  1080.    list of phone book entries, each uniquely identified by their index
  1081.    number.  Additions consist of phone book entries with all the
  1082.    information filed in;  deletions are signified by entries with all
  1083.    entries zeroed out. A sample difference file is shown below:
  1084.  
  1085.       65031,1,1,Aniston,205,5551212,2400,2400,1,0,myfile
  1086.       200255,1,1,Auburn/Opelika,334,5551212,9600,28800,0,10,
  1087.       200133,0,0,0,0,0,0,0,0,0
  1088.       130,1,1,Birmingham,205,5551211,9600,14400,9,0,yourfile
  1089.       65034,1,1,Birmingham,205,5551210,9600,14400,1,0,myfile
  1090.  
  1091.  
  1092. 7.6.  Connection management
  1093.  
  1094.    The Connection Manager can support any protocol which can be
  1095.    configured via use of Windows Dialup Networking, including PPP and
  1096.    SLIP running over IP.  The default setting is for the IP address as
  1097.    well as the DNS server IP address to be assigned by the NAS. The DNS
  1098.    server assignment capability is described in [1].
  1099.  
  1100. 7.7.  Authentication
  1101.  
  1102.    The Connection Manager client and RADIUS proxy/server both support
  1103.    suffix style notation (i.e.  "aboba@msn.com"), as well as a prefix
  1104.    notation ("MSN/aboba").
  1105.  
  1106.    The prefix notation was developed for use with NAS devices with small
  1107.    maximum userID lengths.  For these devices the compactness of the
  1108.    prefix notation significantly increases the number of characters
  1109.    available for the userID field.  However, as an increasing number of
  1110.    NAS devices are now supporting 253 octet userIDs (the maximum
  1111.    supported by RADIUS) the need for prefix notation is declining.
  1112.  
  1113.    After receiving the userID from the Connection Manager client, the
  1114.    NAS device passes the userID/domain and password information (or in
  1115.    the case of CHAP, the challenge and the response) to the RADIUS
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Aboba, et. al.               Informational                     [Page 20]
  1123.  
  1124. RFC 2194           Review of Roaming Implementations      September 1997
  1125.  
  1126.  
  1127.    proxy. The RADIUS proxy then checks if the domain is authorized for
  1128.    roaming by examining a static configuration file. If the domain is
  1129.    authorized, the RADIUS proxy then forwards the request to the
  1130.    appropriate RADIUS server. The domain to server mapping is also made
  1131.    via a static configuration file.
  1132.  
  1133.    While static configuration files work well for small roaming
  1134.    consortia, for larger consortia static configuration will become
  1135.    tedious.  Potentially more scalable solutions include use of DNS SRV
  1136.    records for the domain to RADIUS server mapping.
  1137.  
  1138.  
  1139. 7.8.  NAS configuration/authorization
  1140.  
  1141.    Although the attributes returned by the home RADIUS server may make
  1142.    sense to home NAS devices, the local NAS may be configured
  1143.    differently, or may be from a different vendor.  As a result, it may
  1144.    be necessary for the RADIUS proxy to edit the attribute set returned
  1145.    by the home RADIUS server, in order to provide the local NAS with the
  1146.    appropriate configuration information.  The editing occurs via
  1147.    attribute discard and insertion of attributes by the proxy.
  1148.  
  1149.    Alternatively, the home RADIUS server may be configured not to return
  1150.    any network-specific attributes, and to allow these to be inserted by
  1151.    the local RADIUS proxy.
  1152.  
  1153.    Attributes most likely to cause conflicts include:
  1154.  
  1155.       Framed-IP-Address Framed-IP-Netmask Framed-Routing Framed-Route
  1156.       Filter-Id Vendor-Specific Session-Timeout Idle-Timeout
  1157.       Termination-Action
  1158.  
  1159.    Conflicts relating to IP address assignment and routing are very
  1160.    common.  Where dynamic address assignment is used, an IP address pool
  1161.    appropriate for the local NAS can be substituted for the IP address
  1162.    pool designated by the home RADIUS server.
  1163.  
  1164.    However, not all address conflicts can be resolved by editing.  In
  1165.    some cases, (i.e., assignment of a static network address for a LAN)
  1166.    it may not be possible for the local NAS to accept the home RADIUS
  1167.    server's address assignment, yet the roaming hosts may not be able to
  1168.    accept an alternative assignment.
  1169.  
  1170.    Filter IDs also pose a problem. It is possible that the local NAS may
  1171.    not implement a filter corresponding to that designated by the home
  1172.    RADIUS server. Even if an equivalent filter is implemented, in order
  1173.    to guarantee correct operation, the proxy's configuration must track
  1174.    changes in the filter configurations of each of the members of the
  1175.  
  1176.  
  1177.  
  1178. Aboba, et. al.               Informational                     [Page 21]
  1179.  
  1180. RFC 2194           Review of Roaming Implementations      September 1997
  1181.  
  1182.  
  1183.    roaming consortium.  In practice this is likely to be unworkable.
  1184.    Direct upload of filter configuration is not a solution either,
  1185.    because of the wide variation in filter languages supported in
  1186.    today's NAS devices.
  1187.  
  1188.    Since by definition vendor specific attributes have meaning only to
  1189.    devices created by that vendor, use of these attributes is
  1190.    problematic within a heterogeneous roaming consortium. While it is
  1191.    possible to edit these attributes, or even to discard them or allow
  1192.    them to be ignored, this may not always be acceptable. In cases where
  1193.    vendor specific attributes relate to security, it may not be
  1194.    acceptable for the proxy to modify or discard these attributes; the
  1195.    only acceptable action may be for the local NAS to drop the user.
  1196.    Unfortunately, RADIUS does not distinguish between mandatory and
  1197.    optional attributes, so that there is no way for the proxy to take
  1198.    guidance from the server.
  1199.  
  1200.    Conflicts over session or idle timeouts may result if since both the
  1201.    local and home ISP feel the need to adjust these parameters.  While
  1202.    the home ISP may wish to adjust the parameter to match the user's
  1203.    software, the local ISP may wish to adjust it to match its own
  1204.    service policy. As long as the desired parameters do not differ too
  1205.    greatly, a compromise is often possible.
  1206.  
  1207. 7.9.  Address assignment and routing
  1208.  
  1209.    While the Connection Manager software supports both static and
  1210.    dynamic address assignment, in the MSN implementation, all addresses
  1211.    are dynamically assigned.
  1212.  
  1213.    However, selected partners also offer LAN connectivity to their
  1214.    customers, usually via static address assignment. However, these
  1215.    accounts do not have roaming privileges since no mechanism has been
  1216.    put in place for allowing these static routes to move between
  1217.    providers.
  1218.  
  1219.    Users looking to do LAN roaming between providers are encouraged to
  1220.    select a router supporting Network Address Translation (NAT). NAT
  1221.    versions implemented in several low-end routers are compatible with
  1222.    the dynamic addressing used on MSN, as well as supporting DHCP on the
  1223.    LAN side.
  1224.  
  1225. 7.10.  Security
  1226.  
  1227.    The RADIUS proxy/server implementation does not support token cards
  1228.    or tunneling protocols.
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Aboba, et. al.               Informational                     [Page 22]
  1235.  
  1236. RFC 2194           Review of Roaming Implementations      September 1997
  1237.  
  1238.  
  1239. 7.11.  Accounting
  1240.  
  1241.    In the MSN roaming implementation, the accounting data exchange
  1242.    process is specified in terms of an accounting record format, and a
  1243.    method by which the records are transferred from the partners to MSN,
  1244.    which acts as the settlement agent.  Defining the interaction in
  1245.    terms of record formats and transfer protocols implies that the
  1246.    partners do not communicate with the settlement agent using NAS
  1247.    accounting protocols.  As a result, accounting protocol
  1248.    interoperability is not be required.
  1249.  
  1250.    However, for this advantage to be fully realized, it is necessary for
  1251.    the accounting record format to be extensible.  This makes it more
  1252.    likely that the format can be adapted for use with the wide variety
  1253.    of accounting protocols in current use (such as SNMP, syslog, RADIUS,
  1254.    and TACACS+), as well as future protocols. After all, if the record
  1255.    format cannot express the metrics provided by a particular partner's
  1256.    accounting protocol, then the record format will not be of much
  1257.    usefor a heterogeneous roaming consortium.
  1258.  
  1259. 7.11.1.  Accounting record format
  1260.  
  1261.    The Microsoft RADIUS proxy/server supports the ability to customize
  1262.    the accounting record format, and it is expected that some ISPs will
  1263.    make use of this capability. However for those who want to use it
  1264.    "off the shelf" a default accounting record format is provided. The
  1265.    accounting record includes information provided by RADIUS:
  1266.  
  1267.       User Name (String; the user's ID, including prefix or suffix)
  1268.       NAS IP address (Integer; the IP address of the user's NAS)
  1269.       NAS Port (Integer; identifies the physical port on the NAS)
  1270.       Service Type (Integer; identifies the service provided to the user)
  1271.       NAS Identifier (Integer; unique identifier for the NAS)
  1272.       Status Type (Integer; indicates session start and stop,
  1273.         as well as accounting on and off)
  1274.       Delay Time (Integer; time client has been trying to send)
  1275.       Input Octets (Integer; in stop record, octets received from port)
  1276.       Output Octets (Integer; in stop record, octets sent to port)
  1277.       Session ID (Integer; unique ID linking start and stop records)
  1278.       Authentication (Integer; indicates how user was authenticated)
  1279.       Session Time (Integer; in stop record, seconds of received service)
  1280.       Input Packets (Integer; in stop record, packets received from port)
  1281.       Output Packets (Integer; in stop record, packets sent to port)
  1282.       Termination Cause (Integer; in stop record, indicates termination cause)
  1283.       Multi-Session ID (String; for linking of multiple related sessions)
  1284.       Link Count (Integer; number of links up when record was generated)
  1285.       NAS Port Type (Integer; indicates async vs. sync ISDN, V.120, etc.)
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Aboba, et. al.               Informational                     [Page 23]
  1291.  
  1292. RFC 2194           Review of Roaming Implementations      September 1997
  1293.  
  1294.  
  1295.    However, since this default format is not extensible, it cannot
  1296.    easily be adapted to protocols other than RADIUS, services other than
  1297.    dialup (i.e. dedicated connections) or rated events (i.e.  file
  1298.    downloads).  This is a serious limitation, and as a result, customers
  1299.    have requested a more general accounting record format.
  1300.  
  1301. 7.11.2.  Transfer mechanism
  1302.  
  1303.    Prior to being transferred, the accounting records are compressed so
  1304.    as to save bandwidth.  The transfer of accounting records is handled
  1305.    via FTP, with the transfer being initiated by the receiving party,
  1306.    rather than by the sending party.  A duplicate set of records is kept
  1307.    by the local ISP for verification purposes.
  1308.  
  1309. 8.  Merit Network Implementation
  1310.  
  1311. 8.1.  Overview
  1312.  
  1313.    MichNet is a regional IP backbone network operated within the state
  1314.    of Michigan by Merit Network, Inc., a nonprofit corporation based in
  1315.    Ann Arbor, Michigan. Started in 1966, MichNet currently provides
  1316.    backbone level Internet connectivity and dial-in IP services to its
  1317.    member and affiliate universities, colleges, K-12 schools, libraries,
  1318.    government institutions, other nonprofit organizations, and
  1319.    commercial business entities.
  1320.  
  1321.    As of May 1, 1997, MichNet had 11 members and 405 affiliates.  Its
  1322.    shared dial-in service operated 133 sites in Michigan and one in
  1323.    Washington, D.C, with 4774 dial-in lines.  Additional dial-in lines
  1324.    and sites are being installed daily.
  1325.  
  1326.    MichNet also provides national and international dial-in services to
  1327.    its members and affiliates through an 800 number and other external
  1328.    services contracting with national and global service providers.
  1329.  
  1330.    The phone numbers of all MichNet shared dial-in sites are published
  1331.    both on the Merit web site and in the MichNet newsletters. Merit also
  1332.    provides links to information about the national and international
  1333.    service sites through their respective providers' web sites.  Such
  1334.    information can be found at http://www.merit.edu/mich-
  1335.    net/shared.dialin/.
  1336.  
  1337. 8.1.1.  MichNet State-Wide Shared Dial-In Services
  1338.  
  1339.    Each MichNet shared dial-in service site is owned and maintained by
  1340.    either Merit or by a member or affiliate organization. All sites must
  1341.    support PPP and Telnet connections.
  1342.  
  1343.  
  1344.  
  1345.  
  1346. Aboba, et. al.               Informational                     [Page 24]
  1347.  
  1348. RFC 2194           Review of Roaming Implementations      September 1997
  1349.  
  1350.  
  1351.    Each organization participating in the shared dial-in service is
  1352.    assigned a realm-name.  Typically the realm-name resembles a fully
  1353.    qualified domain name. Users accessing the shared dial-in service
  1354.    identify themselves by using a MichNet AccessID which consists of
  1355.    their local id concatenated with "@" followed by the realm-name -
  1356.    e.g.  user@realm
  1357.  
  1358.    Merit operates a set of Authentication, Authorization and Accounting
  1359.    (AAA) servers supporting the RADIUS protocol which are called core
  1360.    servers.  The core servers support all the dial-in service sites and
  1361.    act as proxy servers to other AAA servers running at the
  1362.    participating organizations. For security reasons, Merit staff run
  1363.    all core servers; in particular, the user password is in the clear
  1364.    when the proxy core server decodes an incoming request and then re-
  1365.    encodes it and forwards it out again,
  1366.  
  1367.    The core servers also enforce a common policy among all dial-in
  1368.    servers.  The most important policy is that each provider of access
  1369.    must make dial-in ports available to others when the provider's own
  1370.    users do not have a need for them. To implement this policy, the
  1371.    proxy server distinguishes between realms that are owners and realms
  1372.    that are guests.
  1373.  
  1374.    One piece of the policy determining whether the provider's
  1375.    organization has need of the port, is implemented by having the proxy
  1376.    core server track the realms associated with each of the sessions
  1377.    connected at a particular huntgroup. If there are few ports available
  1378.    (where few is determined by a formula) then guests are denied access.
  1379.    Guests are also assigned a time limit and their sessions are
  1380.    terminated after some amount of time (currently one hour during prime
  1381.    time, two hours during non-prime time).
  1382.  
  1383.    The other part of the policy is to limit the number of guests that
  1384.    are allowed to connect.  This is done by limiting the number of
  1385.    simultaneous guest sessions for realms.  Each realm is allocated a
  1386.    number of "simultaneous access tokens" - SATs.  When a guest session
  1387.    is authorized the end server for the realm decrements the count of
  1388.    available SATs, and when the session is terminated the count of SATs
  1389.    is incremented.  A Merit specific attribute is added to the request
  1390.    by the core if the session will be a "guest" and will require a SAT.
  1391.    The end server must include a reply with an attribute containing the
  1392.    name of the "token pool" from which the token for this session is
  1393.    taken.  The effect of this is to limit the number of guests connected
  1394.    to the network to the total number of tokens allocated to all realms.
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Aboba, et. al.               Informational                     [Page 25]
  1403.  
  1404. RFC 2194           Review of Roaming Implementations      September 1997
  1405.  
  1406.  
  1407.    Each realm is authenticated and authorized by its own AAA server. The
  1408.    proxy core servers forward requests to the appropriate server based
  1409.    on a configuration file showing where each realm is to be
  1410.    authenticated.  Requests from realms not in the configuration are
  1411.    dropped.
  1412.  
  1413.    The Merit AAA server software supports this policy.  Merit provides
  1414.    this software to member and affiliate organizations. The software is
  1415.    designed to work with many existing authentication servers, such as
  1416.    Kerberos IV, UNIX password, TACACS, TACACS+, and RADIUS.  This
  1417.    enables most institutions to utilize the authentication mechanism
  1418.    they have in place.
  1419.  
  1420. 8.1.2.  MichNet National and International Dial-In Services
  1421.  
  1422.    In addition to the MichNet shared dial-in service, Merit also
  1423.    provides access from locations outside of Michigan by interconnecting
  1424.    with other dial-in services. These services are typically billed by
  1425.    connect time. Merit acts as the accounting agent between its member
  1426.    and affiliate organizations and the outside service provider.
  1427.  
  1428.    The services currently supported are a national 800 number and
  1429.    service via the ADP/Autonet dial-in network. Connection with
  1430.    IBM/Advantis is being tested, and several other service interconnects
  1431.    are being investigated.
  1432.  
  1433.    Calls placed by a Merit member/affiliate user to these external
  1434.    dial-in services are authenticated by having each of those services
  1435.    forward RADIUS authentication requests and accounting messages to a
  1436.    Merit proxy core server. The core forwards the requests to the
  1437.    member/affiliate server for approval. Session records are logged at
  1438.    the Merit core server and at the member/affiliate erver. Merit bills
  1439.    members/affiliates monthly, based on processing of the accounting
  1440.    logs. The members and affiliates are responsible for rebilling their
  1441.    users.
  1442.  
  1443.    The Merit AAA software supports the ability to request positive
  1444.    confirmation of acceptance of charges, and provides tools for
  1445.    accumulating and reporting on use by realm and by user.
  1446.  
  1447. 8.2.  Authentication and Authorization
  1448.  
  1449.    Authentication of a Telnet session is supported using the traditional
  1450.    id and password method, with the id being a MichNet AccessID of the
  1451.    form user@realm, while a PPP session may be authenticated either
  1452.    using an AccessID and password within a script, or using PAP.
  1453.    Support for challenge/response authentication mechanisms using EAP is
  1454.    under development.
  1455.  
  1456.  
  1457.  
  1458. Aboba, et. al.               Informational                     [Page 26]
  1459.  
  1460. RFC 2194           Review of Roaming Implementations      September 1997
  1461.  
  1462.  
  1463.    When a user dials into a MichNet shared dial-in port, the NAS sends
  1464.    an Access-Request to a core AAA server using the RADIUS protocol.
  1465.    First the core server applies any appropriate huntgroup access
  1466.    policies to the request. If the Request fails the policy check, an
  1467.    Access-Reject is returned to the NAS.  Otherwise, the core server
  1468.    forwards it to the user's home authentication server according to the
  1469.    user's realm.  The home authentication server authenticates and
  1470.    authorizes the access request.  An Access-Accept or Access-Reject is
  1471.    sent back to the core server.  If an Access-Accept is sent, the home
  1472.    server will create a dial-in session identifier which is unique to
  1473.    this session and insert it in a Class attribute in the Access-Accept.
  1474.    The core server looks at the request and the response from the home
  1475.    server again and decides either to accept or reject the request.
  1476.    Finally, the core server sends either an Access-Accept or Access-
  1477.    Reject to the NAS.
  1478.  
  1479.    When a user dials into a contracted ISP's huntgrup (MichNet National
  1480.    and International Service), the ISP sends a RADIUS access request to
  1481.    a Merit core server. The rest of the authentication and authorization
  1482.    path is the same as in the shared dial-in service, except that no
  1483.    huntgroup access policy is applied but a Huntgroup-Service attribute
  1484.    is sent to the home authentication server with its value being the
  1485.    name of the service, and a copy of the attribute must be returned by
  1486.    the home server with a flag appended to the original value to
  1487.    indicate a positive authorization of user access to the specified
  1488.    service.
  1489.  
  1490.    The MichNet shared dial-in service typically requires authorization
  1491.    of some sort, for example, a user dialing into a huntgroup as a guest
  1492.    must be authorized with a token from the user's realm. Participating
  1493.    institutions have control in defining authorization rules.  Currently
  1494.    authorization may be done using any combination of the user's group
  1495.    status and user's account status. A set of programming interfaces is
  1496.    also provided for incorporating new authorization policies.
  1497.  
  1498. 8.3.  Accounting
  1499.  
  1500.    In the Merit AAA server, a session is defined as starting from the
  1501.    moment the user connects to the NAS, and ending at the point when the
  1502.    user disconnects. During the course of a session, both the core
  1503.    server and the home server maintain status information about the
  1504.    session.  This allows the AAA servers to apply policies based on the
  1505.    current status, e.g. limit guest access by realm to number of
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514. Aboba, et. al.               Informational                     [Page 27]
  1515.  
  1516. RFC 2194           Review of Roaming Implementations      September 1997
  1517.  
  1518.  
  1519.    available tokens, or to limit number of simultaneous sessions for a
  1520.    given AccessID. Information such as whether the session is for a
  1521.    guest, whether it used a token, and other information is included
  1522.    with the accounting stop information when it is logged. Merit has
  1523.    made enhancements to the RADIUS protocol, that are local to the AAA
  1524.    server, to support maintenance of session status information.
  1525.  
  1526.    When a user session is successfully authenticated, the NAS sends out
  1527.    a RADIUS accounting start request to the core server. The core server
  1528.    forwards that request to the user's home server.  The home server
  1529.    updates the status of the session and then responds to the core. The
  1530.    core server in turn responds to the NAS.  In the accounting Start
  1531.    request, a NAS conforming to the RADIUS specification must return the
  1532.    Class attribute and value it received in the Access-Accept for the
  1533.    session, thus sending back the dial-in session identifier created by
  1534.    the session's home server.
  1535.  
  1536.    When a user ends a session, an accounting stop request is sent
  1537.    through the same path.  the same path.  The dial-in session
  1538.    identifier is again returned by the NAS, providing a means of
  1539.    uniquely identifying a session.  By configuring the finite state
  1540.    machine in each of the AAA servers, any accounting requests may be
  1541.    logged by any of the servers where the accounting requests are
  1542.    received.
  1543.  
  1544.    Because the same session logs are available on every server in the
  1545.    path of a session's authorization and accounting message, problems
  1546.    with reconciliation of specific sessions may be resolved easily. For
  1547.    the shared dial-in service, there are no usage charges.  Merit has
  1548.    tools to verify that organizations do not authorize more guest
  1549.    sessions than the number of SATs allocated to the organization.  For
  1550.    surcharged sessions, Merit sends each organization a summary bill
  1551.    each month. Files with detail session records are available for
  1552.    problem resolution.  Each organization is responsible for billing its
  1553.    own users, and should have the same session records as are collected
  1554.    by Merit.
  1555.  
  1556.    Merit receives a monthly invoice from other dial-in service providers
  1557.    and pays them directly, after first verifying that the charges
  1558.    correspond to the session records logged by Merit.
  1559.  
  1560. 8.4.  Software and Development
  1561.  
  1562.    Merit has developed the AAA server software which supports the above
  1563.    capabilities initially by modifying the RADIUS server provided by
  1564.    Livingston, and later by doing a nearly total rewrite of the software
  1565.    to make enhancement and extension of capabilites easier.  Merit makes
  1566.    a basic version of its server freely available for noncommercial use.
  1567.  
  1568.  
  1569.  
  1570. Aboba, et. al.               Informational                     [Page 28]
  1571.  
  1572. RFC 2194           Review of Roaming Implementations      September 1997
  1573.  
  1574.  
  1575.    Merit has started the Merit AAA Server Consortium which consists of
  1576.    Merit and a number of NAS vedors, ISPs and server software vendors.
  1577.    The consortium supports ongoing development of the Merit AAA server.
  1578.    The goal is to build a server that supports proxy as well as end
  1579.    server capabilities, that is feature rich, and that interoperates
  1580.    with major vendors' NAS products.
  1581.  
  1582.    The building block of the Merit AAA server, the
  1583.    Authentication/Authorization Transfer Vector (AATV), is a very
  1584.    powerful concept that enables the ultimate modularity and flexibility
  1585.    of the AAA server. The structure and methods of the AATV model are
  1586.    published with all versions of the AAA server.
  1587.  
  1588.    Objects for extending the authorization server are also available in
  1589.    the enhanced version of the AAA server. Merit is also looking at ways
  1590.    to provide a method of extending the AAA server in its executable
  1591.    form, to improve the server efficiency and scalability, and to
  1592.    provide better monitoring, instrumentation and administration of the
  1593.    server.
  1594.  
  1595. 9.  FidoNet implementation
  1596.  
  1597.    Since its birth in 1984, FidoNet has supported phone book
  1598.    synchronization among its member nodes, which now number
  1599.    approximately 35,000.  As a non-IP dialup network, FidoNet does not
  1600.    provide IP services to members, and does not utilize IP-based
  1601.    authentication technology.  Instead member nodes offer bulletin-board
  1602.    services, including access to mail and conferences known as echoes.
  1603.  
  1604.    In order to be able to communicate with each other, FidoNet member
  1605.    systems require a sychronized phone book, known as the Nodelist. The
  1606.    purpose of the Nodelist is to enable resolution of FidoNet addresses
  1607.    (expressed in the form zone:network/node, or 1:161/445) to phone
  1608.    numbers.  As a dialup network, FidoNet requires phone numbers in
  1609.    order to be deliver mail and conference traffic.
  1610.  
  1611.    In order to minimize the effort required in regularly synchronizing a
  1612.    phone book of 35,000 entries, the weekly Nodelist updates are
  1613.    transmitted as difference files.  These difference files, known as
  1614.    the Nodediff, produce the Nodelist for the current week when applied
  1615.    to the previous week's Nodelist.  In order to minimize transfer time,
  1616.    Nodediffs are compressed prior to transfer.
  1617.  
  1618.    Information on FidoNet, as well as FidoNet Technical Standards (FTS)
  1619.    documents (including the Nodelist specification) and standards
  1620.    proposals are available from the FidoNet archive at
  1621.    http://www.fidonet.org/.
  1622.  
  1623.  
  1624.  
  1625.  
  1626. Aboba, et. al.               Informational                     [Page 29]
  1627.  
  1628. RFC 2194           Review of Roaming Implementations      September 1997
  1629.  
  1630.  
  1631. 9.1.  Scaling issues
  1632.  
  1633.    With a Nodelist of 35,000 entries, the FidoNet Nodelist is now 3.1 MB
  1634.    in size, and the weekly Nodediffs are 175 KB. In compressed form, the
  1635.    Nodelist is approximately 1 MB, and the weekly Nodediff is 90 KB. As
  1636.    a result, the transfer of the Nodediff takes approximately 45 seconds
  1637.    using a 28,800 bps modem.
  1638.  
  1639.    In order to improve scalability, the implementation of a domain name
  1640.    service approach is examined in [8]. The proposal evisages use of a
  1641.    capability analagous to the DNS ISDN record in order to map names to
  1642.    phone numbers, coupled with an additional record to provide the
  1643.    attributes associated with a given name.
  1644.  
  1645. 9.2.  Phone number presentation
  1646.  
  1647.    While FidoNet member systems perform hone book synchronization, users
  1648.    need only know the FidoNet address of the systems they wish to
  1649.    contact. As a result users do not need to maintain copies of the
  1650.    Nodelist on their own systems. This is similar to the Internet, where
  1651.    the DNS takes care of the domain name to IP address mapping, so that
  1652.    users do not have to remember IP addresses.
  1653.  
  1654.    Nevertheless, FidoNet systems often find it useful to be able to
  1655.    present lists of nodes, and as a result, FidoNet Nodelist compilers
  1656.    typically produce a representation of the Nodelist that can be
  1657.    searched or displayed online, as well as one that is used by the
  1658.    system dialer.
  1659.  
  1660. 9.2.1.  FidoNet Nodelist format
  1661.  
  1662.    The FidoNet Nodelist format is documented in detail in [3].  The
  1663.    Nodelist file consists of lines of data as well as comment lines,
  1664.    which begin with a semi-colon.  The first line of the Nodelist is a
  1665.    general interest comment line that includes the date and the day
  1666.    number, as well as a 16-bit CRC. The CRC is included so as to allow
  1667.    the system assembling the new Nodelist to verify its integrity.
  1668.  
  1669.    Each Nodelist data line contains eight comma separated fields:
  1670.  
  1671.       Keyword
  1672.       Zone/Region/Net/Node number
  1673.       Node name
  1674.       Location
  1675.       Sysop name
  1676.       Phone number
  1677.       Maximum Baud rate
  1678.       Flags (optional)
  1679.  
  1680.  
  1681.  
  1682. Aboba, et. al.               Informational                     [Page 30]
  1683.  
  1684. RFC 2194           Review of Roaming Implementations      September 1997
  1685.  
  1686.  
  1687.    FidoNet Nodelists are arranged geographically, with systems in the
  1688.    same zone, region, and network being grouped together. As a result,
  1689.    FidoNet Nodelists do not require a separate regions file. Among other
  1690.    things, the keyword field can be used to indicate that a system is
  1691.    temporarily out of service.
  1692.  
  1693.    Reference [3] discusses Nodelist flags in considerable detail.  Among
  1694.    other things, the flags include information on supported modem
  1695.    modulation and error correction protocols.  Reference [4] also
  1696.    proposes a series of ISDN capability flags, and [5] proposes flags to
  1697.    indicate times of system availability.
  1698.  
  1699.  
  1700. 9.3.  Phone number exchange
  1701.  
  1702.    FidoNet coordinators are responsible for maintaining up to date
  1703.    information on their networks, regions, and zones. Every week network
  1704.    coordinators submit to their regional coordinators updated versions
  1705.    of their portions of the Nodelist. The regional coordinators then
  1706.    compile the submissions from their network coordinators, and submit
  1707.    them to the zone coordinator. The zone coordinators then exchange
  1708.    their submissions to produce the new Nodelist. As a result, it is
  1709.    possible that the view from different zones may differ at any given
  1710.    time.
  1711.  
  1712. 9.3.1.  The Nodediff
  1713.  
  1714.    The format of the Nodediff is discussed in detail in [3]. In
  1715.    preparing the Nodediffs, network coordinators may transmit only their
  1716.    difference updates, which can be collated to produce the Nodediff
  1717.    directly.
  1718.  
  1719.    One weakness in the current approach is that there is no security
  1720.    applied to the coordinator submissions. This leaves oen the
  1721.    possibility of propagation of fraudulent updates. In order to address
  1722.    this, [6] proposes addition of a shared secret to the update files.
  1723.  
  1724.  
  1725. 9.3.2.  Addition of nodes
  1726.  
  1727.    In order to apply for allocation of a FidoNet address and membership
  1728.    in the Nodelist, systems must demonstrate that they are functioning
  1729.    by sending mail to the local network coordinator.  Once the local
  1730.    network coordinator receives the application, they then allocate a
  1731.    new FidoNet address, and add a Nodelist entry.
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.  
  1738. Aboba, et. al.               Informational                     [Page 31]
  1739.  
  1740. RFC 2194           Review of Roaming Implementations      September 1997
  1741.  
  1742.  
  1743. 9.3.3.  Deletion of nodes
  1744.  
  1745.    Since FidoNet nodes are required to be functioning during the zone
  1746.    mail hour in order to receive mail, and since nodes receive the
  1747.    weekly Nodelist from their local network coordinators on a weekly
  1748.    basis, there is a built-in mechanism for discovery of non-functional
  1749.    nodes.
  1750.  
  1751.    Nodes found to be down are reported to the local network coordinator
  1752.    and subsequently marked as down within the Nodelist.  Nodes remaining
  1753.    down for more than two weeks may be removed from the Nodelist, at the
  1754.    discretion of the network coordinator.
  1755.  
  1756. 9.4.  Phone book update
  1757.  
  1758.    The Nodelist contains the phone numbers and associated attributes of
  1759.    each participating system. New Nodelists become available on Fridays,
  1760.    and are made available to participating systems by their local
  1761.    network coordinators, who in turn receive them from the regional and
  1762.    zone coordinators.
  1763.  
  1764.    While it is standard practice for participating systems to get their
  1765.    Nodelists from their local network coordinators, should the local
  1766.    network coordinator not be available for some reason, either the
  1767.    updates or the complete Nodelist may be picked up from other network,
  1768.    or regional coordinators. Please note that since the view from
  1769.    different zones may differ, nodes wishing to update their Nodelists
  1770.    should not contact systems from outside their zone.
  1771.  
  1772. 9.5.  Phone book compilation
  1773.  
  1774.    Once FidoNet systems have received the Nodediff, the apply it to the
  1775.    previous week's Nodelist in order to prepare a new Nodelist.  In
  1776.    order to receive Nodediffs and compile the Nodelist, the following
  1777.    software is required:
  1778.  
  1779.       A FidoNet-compatible mailer implementation, used to transfer files
  1780.       A Nodelist compiler
  1781.  
  1782.    One of the purposes of the Nodelist compiler is to apply Nodediffs to
  1783.    the previous Nodelist in order to produce an updated Nodelist.  The
  1784.    other purpose is to compile the updated Nodelist into the format
  1785.    required by the particular mailer implementation used by the member
  1786.    system.  It is important to note that while the Nodelist and Nodediff
  1787.    formats are standardized (FTS-0005), as is the file transfer protocol
  1788.    (FTS-0001), the compiled format used by each mailer is implementation
  1789.    dependent.
  1790.  
  1791.  
  1792.  
  1793.  
  1794. Aboba, et. al.               Informational                     [Page 32]
  1795.  
  1796. RFC 2194           Review of Roaming Implementations      September 1997
  1797.  
  1798.  
  1799.    One reason that compiled formats to differ is the addition of out of
  1800.    band information to the Nodelist during the compilation process.
  1801.    Added information includes phone call costs as well as shared
  1802.    secrets.
  1803.  
  1804. 9.5.1.  Cost data
  1805.  
  1806.    Although cost information is not part of the Nodelist, in compiling
  1807.    the Nodelist into the format used by the mailer, Nodelist compilers
  1808.    support the addition of cost information. This information is then
  1809.    subsequently used to guide mailer behavior.
  1810.  
  1811.    Since phone call costs depend on the rates charged by the local phone
  1812.    company, this information is local in nature and is typically entered
  1813.    into the Nodelist compiler's configuration file by the system
  1814.    administrator.
  1815.  
  1816. 9.5.2.  Shared secrets
  1817.  
  1818.    In FidoNet, shared secrets are used for authenticated sessions
  1819.    between systems.  Such authenticated sessions are particularly
  1820.    important between the local, regional and zone coordinators who
  1821.    handle preparation and transmission of the Nodediffs. A single shared
  1822.    secret is used per system.
  1823.  
  1824. 9.6.  Accounting
  1825.  
  1826.    Within FidoNet, the need for accounting arises primarily from the
  1827.    need of local, regional and zone coordinators to be reimbursed for
  1828.    their expenses.  In order to support this, utilities have been
  1829.    developed to account for network usage at the system level according
  1830.    to various metrics.  However, the accounting techniques are not
  1831.    applied at the user level. Distributed authentication and acounting
  1832.    are not implemented and therefore users may not roam between systems.
  1833.  
  1834. 10.  Acknowledgements
  1835.  
  1836.    Thanks to Glen Zorn of Microsoft and Lynn Liu and Tao Wang of
  1837.    AimQuest for useful discussions of this problem space.
  1838.  
  1839. Security Considerations
  1840.  
  1841.    Security issues are discussed in sections 5.6 and 6.5.
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850. Aboba, et. al.               Informational                     [Page 33]
  1851.  
  1852. RFC 2194           Review of Roaming Implementations      September 1997
  1853.  
  1854.  
  1855. 11.  References
  1856.  
  1857.    [1]  Cobb, S., "PPP Internet Protocol Control Protocol Extensions for
  1858.    Name Server Addresses", RFC 1877, Microsoft, December 1995.
  1859.  
  1860.    [2]  Fielding, R., et al., "Hypertext Transfer Protocol - HTTP/1.1.",
  1861.    RFC 2068, UC Irvine, January, 1997.
  1862.  
  1863.    [3]  Baker, B., R. Moore,  D.  Nugent.   "The  Distribution
  1864.    Nodelist." FTS-0005, February, 1996.
  1865.  
  1866.    [4]  Lentz, A.  "ISDN Nodelist flags." FSC-0091, June, 1996.
  1867.  
  1868.    [5]  Thomas, D. J.  "A Proposed Nodelist flag indicating Online Times
  1869.    of a Node." FSC-0062, April, 1996.
  1870.  
  1871.    [6]  Kolin, L.   "Security  Passwords  in  Nodelist  Update  Files."
  1872.    FSC-0055, March, 1991.
  1873.  
  1874.    [7]  Gwinn, R.,  D.  Dodell.  "Nodelist Flag Changes Draft Document."
  1875.    FSC-0009, November, 1987.
  1876.  
  1877.    [8]  Heller, R.  "A Proposal  for  A  FidoNet  Domain  Name
  1878.    Service." FSC-0069, December, 1992.
  1879.  
  1880.    [9]  Rigney, C., Rubens, A., Simpson, W., and S. Willens, "Remote
  1881.    Authentication Dial In User Service (RADIUS)", RFC 2058, Livingston,
  1882.    Merit, Daydreamer, January 1997.
  1883.  
  1884.    [10] Rigney, C., "RADIUS Accounting", RFC 2059, Livingston, January
  1885.    1997.
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906. Aboba, et. al.               Informational                     [Page 34]
  1907.  
  1908. RFC 2194           Review of Roaming Implementations      September 1997
  1909.  
  1910.  
  1911. 12.  Authors' Addresses
  1912.  
  1913.      Bernard Aboba
  1914.      Microsoft Corporation
  1915.      One Microsoft Way
  1916.      Redmond, WA 98052
  1917.  
  1918.      Phone: 206-936-6605
  1919.      EMail: bernarda@microsoft.com
  1920.  
  1921.      Juan Lu
  1922.      AimQuest Corporation
  1923.      1381 McCarthy Blvd.
  1924.      Milpitas, California 95035
  1925.  
  1926.      Phone: 408-273-2730  ext. 2762
  1927.      EMail: juanlu@aimnet.net
  1928.  
  1929.  
  1930.      John Alsop
  1931.      i-Pass Alliance Inc.
  1932.      650 Castro St., Suite 280
  1933.      Mountain View, CA 94041
  1934.  
  1935.      Phone: 415-968-2200
  1936.      Fax:   415-968-2266
  1937.      EMail: jalsop@ipass.com
  1938.  
  1939.      James Ding
  1940.      Asiainfo
  1941.      One Galleria Tower
  1942.      13355 Noel Road, #1340
  1943.      Dallas, TX 75240
  1944.  
  1945.      Phone: 214-788-4141
  1946.      Fax:   214-788-0729
  1947.      EMail: ding@bjai.asiainfo.com
  1948.  
  1949.      Wei Wang
  1950.      Merit Network, Inc.
  1951.      4251 Plymouth Rd., Suite C
  1952.      Ann Arbor, MI 48105-2785
  1953.  
  1954.      Phone: 313-764-2874
  1955.      EMail: weiwang@merit.edu
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962. Aboba, et. al.               Informational                     [Page 35]
  1963.  
  1964.