Review of Roaming Implementations
draft-ietf-roamops-imprev-03
The information below is for an old version of the document that is already published as an RFC.
Document | Type |
This is an older version of an Internet-Draft that was ultimately published as RFC 2194.
|
|
---|---|---|---|
Authors | Juan Lu , John Alsop , James Ding , Dr. Bernard D. Aboba , Wei Wang | ||
Last updated | 2013-03-02 (Latest revision 1997-06-10) | ||
RFC stream | Internet Engineering Task Force (IETF) | ||
Intended RFC status | Informational | ||
Formats | |||
Additional resources | Mailing list discussion | ||
Stream | WG state | (None) | |
Document shepherd | (None) | ||
IESG | IESG state | Became RFC 2194 (Informational) | |
Consensus boilerplate | Unknown | ||
Telechat date | (None) | ||
Responsible AD | (None) | ||
Send notices to | (None) |
draft-ietf-roamops-imprev-03
ROAMOPS Working Group Bernard Aboba
INTERNET-DRAFT Microsoft
Category: Informational Juan Lu
<draft-ietf-roamops-imprev-03.txt> AimQuest Corp.
10 June 1997 John Alsop
i-Pass Alliance
James Ding
Asiainfo
Wei Wang
Merit Network, Inc.
Review of Roaming Implementations
1. Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working docu-
ments of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute work-
ing documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference mate-
rial or to cite them other than as ``work in progress.''
To learn the current status of any Internet-Draft, please check the
``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
Directories on ds.internic.net (US East Coast), nic.nordu.net
(Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).
The distribution of this memo is unlimited. It is filed as <draft-
ietf-roamops-imprev-03.txt>, and expires January 1, 1998. Please
send comments to the authors.
2. Abstract
This document reviews the design and functionality of existing roaming
implementations. "Roaming capability" may be loosely defined as the
ability to use any one of multiple Internet service providers (ISPs),
while maintaining a formal, customer-vendor relationship with only
one. Examples of cases where roaming capability might be required
include ISP "confederations" and ISP-provided corporate network access
support.
Aboba, Lu, Alsop, Ding & Wang [Page 1]
INTERNET-DRAFT 10 June 1997
3. Introduction
Considerable interest has arisen recently in a set of features that
fit within the general category of "roaming capability" for Internet
users. Interested parties have included:
Regional Internet Service Providers (ISPs) operating within a
particular state or province, looking to combine their efforts
with those of other regional providers to offer service over a
wider area.
National ISPs wishing to combine their operations with those of
one or more ISPs in another nation to offer more comprehensive
service in a group of countries or on a continent.
Businesses desiring to offer their employees a comprehensive
package of access services on a global basis. Those services may
include Internet access as well as secure access to corporate
intranets via a Virtual Private Network (VPN), enabled by tunnel-
ing protocols such as PPTP, L2F, or L2TP.
What is required to provide roaming capability? The following list is
a first cut at defining the requirements for successful roaming among
an arbitrary set of ISPs:
Phone number presentation
Phone number exchange
Phone book compilation
Phone book update
Connection management
Authentication
NAS Configuration/Authorization
Address assignment and routing
Security
Accounting
In this document we review existing roaming implementations, describ-
ing their functionality within this framework. In addition to full
fledged roaming implementations, we will also review implementations
that, while not meeting the strict definition of roaming, address sev-
eral of these problem elements. These implementations typically fall
into the category of shared use networks or non-IP dialup networks.
3.1. Terminology
This document frequently uses the following terms:
home ISP This is the Internet service provider with whom the user
maintains an account relationship.
local ISP This is the Internet service provider whom the user calls in
order to get access. Where roaming is implemented the local
Aboba, Lu, Alsop, Ding & Wang [Page 2]
INTERNET-DRAFT 10 June 1997
ISP may be different from the home ISP.
phone book
This is a database or document containing data pertaining to
dialup access, including phone numbers and any associated
attributes.
shared use network
This is an IP dialup network whose use is shared by two or
more organizations. Shared use networks typically implement
distributed authentication and accounting in order to facil-
itate the relationship among the sharing parties. Since
these facilities are also required for implementation of
roaming, implementation of shared use is frequently a first
step toward development of roaming capabilities. In fact,
one of the ways by which a provider may offer roaming ser-
vice is to conclude shared use agreements with multiple net-
works. However, to date the ability to accomplish this has
been hampered by lack of interoperability among shared use
implementations.
non-IP dialup network
This is a dialup network providing user access to the member
systems via protocols other than IP. These networks may
implement phone book synchronization facilities, in order to
provide systems, administrators and users with a current
list of participating systems. Examples of non-IP dialup
networks supporting phone book synchronization include
FidoNet and WWIVnet.
4. Global Reach Internet Consortium (GRIC)
Led by a US-based Internet technology developer, AimQuest Corporation,
ten Internet Service Providers (ISPs) from the USA, Australia, China,
Japan, Hong Kong, Malaysia, Singapore, Taiwan, and Thailand formed the
Global Reach Internet Connection (GRIC) in May, 1996. The goals of
GRIC were to facilitate the implementation of a global roaming service
and to coordinate billing and settlement among the membership. Commer-
cial operation began in December of 1996, and GRIC has grown to over
50 major ISPs and Telcos from all over the world, including NETCOM,
USA; KDD and Mitsubishi, Japan; iStar, Canada; Easynet, UK; Con-
nect.com, Australia; Iprolink, Switzerland; Singapore Telecom;
Chunghwa Telecom, Taiwan; and Telekom Malaysia. Information on GRIC
is available from http://www.gric.net/.
In implementing their roaming service, GRIC members have chosen soft-
ware developed by AimQuest. AimQuest Corporation's roaming implementa-
tion comprises the following major components: the AimTraveler Authen-
tication Server (AAS), the AimTraveler Routing Server (ARS), and the
AimQuest Internet Management System (AIMS), software designed to
Aboba, Lu, Alsop, Ding & Wang [Page 3]
INTERNET-DRAFT 10 June 1997
facilitate the billing process. Information on the AimQuest roaming
implementation is available from http://www.aimquest.com/.
The AimTraveler Authentication Server (AAS) runs at each member ISP
location, and handles incoming authentication requests from NAS
devices. The AimTraveler Routing Server (ARS) can run anywhere. A sin-
gle routing server can be used where centralized routing is desired,
or multiple routing servers can be run in order to increase speed and
reliability or to gateway to networks of particularly large partners.
The first version of the AimTraveler software, deployed by AimQuest in
May, 1996, supported direct authentication between members of the
roaming consortium, but as GRIC grew, management of the relationships
between the authentication servers became a problem. In August. 1996,
AimQuest began development of the AimTraveler Routing Server (ARS) in
order to improve scalability.
The routing server is comprised of two elements: The Central Account-
ing Server and the Central Routing Server. The Central Accounting
Server collects all the roaming accounting data for settlement. The
Central Routing Server manages and maintains information on the
authentication servers in the roaming consortium. Adding, deleting, or
updating ISP authentication server information (e.g. adding a new mem-
ber ISP) may be accomplished by editing of a configuration file on the
Central Routing Server. The configuration files of the AimTraveler
Authentication Servers do not need to be modified.
The AimTraveler Authentication and Routing Servers are available for
various UNIX platforms. Versions for Windows NT are under development.
The AimTraveler Authentication Server supports both the UNIX password
file and Kerberos.
The AimQuest Internet Management System (AIMS) is designed for large
ISPs who need a centralized management system for all ISP operations,
including sales, trouble-ticketing, service, and billing. AIMS pro-
duces usage and transaction statement reports, and includes a settle-
ment module to produce settlement/billing reports for the roaming con-
sortium members. Based on these reports, the providers charge their
ISP/roaming customers, and pay/settle the roaming balance among the
providers. AIMS currently runs on Sun/Solaris/Oracle. A version for
Windows NT and SQL Server is expected to become available in Q4 1996.
4.1. Phone number presentation
Currently there are two principal methods by which GRIC users can dis-
cover available phone numbers: a Web-bsed directory provided by the
GRIC secretariat, and an automatically updated phone book supported by
the AimQuest Ranger software.
4.1.1. Web based directory
A directory of GRIC phone numbers is available on the GRIC home page,
http://www.gric.com/. The list of numbers is arranged by country and
Aboba, Lu, Alsop, Ding & Wang [Page 4]
INTERNET-DRAFT 10 June 1997
provider. For each provider within a country, this directory, provided
in the form of a table, offers the following information:
Provider address, voice phone and fax
Customer support phone number
Provider domain name
Primary Domain Name Server
Secondary Domain Name Server
Dial-up IP Address
News server
Web page
POP phone numbers (i.e. 1-408-366-9000)
POP locations (i.e. Berkeley)
Proxy addresses
Dialer configuration
In order to discover phone numbers using the Web-based directory, it
is expected that users will be online, and will navigate to the appro-
priate country and provider. They then look up the number and insert
it into the AimQuest Ranger dialer.
4.1.2. AimQuest Ranger phone book
The AimQuest Ranger software provides for phone book presentation as
well as automated updating of phone numbers. The AimQuest Ranger
phone book includes a country list, provider list, and POP (phone num-
ber) list, as well as detailed provider information, including the
cutomer support phone number, and Internet server configuration info.
The Phone book, developed with Microsoft VC++, is available for down-
load from the AimQuest ftp site:
ftp://ftp.Aimnet.com/pub/traveler/isppb.ini
ftp://ftp.Aimnet.com/pub/traveler/isppb.exe
A copy of the phone book is also available from the GRIC phone book
page, available at http://www.gric.com/.
4.2. Phone number exchange
GRIC members submit information both about themselves and their POPs
to the GRIC secretariat, which is run by AimQuest. The GRIC secre-
tariat then compiles a new phone book and provides updates on the GRIC
FTP and Web servers.
GRIC users then download the phone numbers either in Windows .ini file
format (viewable via the AimQuest Ranger phone book), or in HTML
(viewable via a Web browser).
Aboba, Lu, Alsop, Ding & Wang [Page 5]
INTERNET-DRAFT 10 June 1997
4.3. Phone book compilation
GRIC phone books are compiled manually, and represent a concatenation
of available numbers from all the members of the roaming consortium,
with no policy application. As new POPs come online, the numbers are
forwarded to GRIC, which adds them to the phone book servers.
4.4. Phone book update
Phone numbers in the AimQuest Ranger phone book are updated automati-
cally. The AimTraveler server includes an address book which contains
the phone numbers of all the roaming consortium members.
4.5. Connection management
The AimTraveler and AimQuest Ranger software supports SLIP and PPP, as
well as PAP and CHAP authentication.
4.6. Authentication
GRIC implements distributed authentication, utilizing the user's e-
mail address as the userID (i.e. "liu@Aimnet.com") presented to the
remote NAS device. The AimQuest Ranger software takes care of present-
ing the e-mail address as the userID for PAP or CHAP authentication.
After the initial PPP authentication exchange, the userID, domain, and
pasword information (or in the case of CHAP, the challenge and the
response) are then passed by the NAS to the AimTraveler Authentication
Server which supports both TACACS+ and RADIUS.
If the authentication request comes from a regular customer login,
normal user id and password authentication is performed. If the user
requesting authentication is a "roamer," (has a userID with an @ and
domain name), the authentication server sends an query to the closest
routing server. When AimTraveler Routing Server receives the authenti-
cation request, it first authenticates the AAS sending the request,
and if this is successful, it checks its authentication server table.
If it is able to match the domain of the user to that of a "Home ISP",
then the Home ISP authentication server's routing information are sent
back to the local ISP's authentication server. Based on the informa-
tion received from the routing server, the AAS makes an authenti-
cation request to the user's Home ISP AAS for user id and pass-
word verification.
If the user is a valid user, the Home ISP authentication server sends
a "permission granted" message back to the Local ISP authentication
server. The Local ISP authentication server then requests the NAS to
grant the user a dynamic IP address from its address pool. If the
username or password is incorrect, the Home ISP AAS will send a rejec-
tion message to the Local ISP AAS, and the user will be dropped by the
NAS.
Aboba, Lu, Alsop, Ding & Wang [Page 6]
INTERNET-DRAFT 10 June 1997
If multiple routing servers are installed, and the query to the first
routing server does not result in a match, the query is forwarded to
the next routing server. The server queries are cached on the routing
servers, improving speed for repeated queries. The cache is sustained
until a routing server table entry is updated or deleted. Updating or
deleting results in a message to all neighbor routing servers to
delete their caches.
The local authentication server also receives the accounting data from
the NAS. If the data is for a regular customer login, the data is
written to the Local ISP AAS log file. If the data is for a "roamer,"
the data is written to three places: the Local ISP AAS log file, the
Home ISP AAS log file, and the ARS log file.
If the local ISP authentication server has caching turned on, then it
will cache information on Home ISP authentication server configura-
tions sent by the routing server. This means that if the same domain
is queried again, the local authentication server does not need to
query the routing server again. The local cache is cleared when the
local authentication server receives an update message from the rout-
ing server or system manager.
4.7. NAS Configuration/Authorization
AimTraveler is comprised of two components, a Client(AAS) and a
Server(ARS).
The AimTraveler Client acts as the PPP dial-up authentication server.
When it detects an '@' sign in the userID field, it queries the
AimTraverler Server for routing information, then forwards the
authentication request to user's home authentication server. The Aim-
Traveler Server, a centralized routing server, contains the autho-
rized ISP's domain name, authentication servers and other informa-
tion.
The AimTraveler currently supports RADIUS and TACACS+, and could
be extended to support other authentication protocols. It also
receives all the accounting records, which are subsequently used as
input data for billing.
Since ISPs' NAS devices may be configured differently, the attributes
returned by the home ISP AAS are discarded.
4.8. Address assignment and routing
All addresses in GRIC are assigned dynamically from within the address
pool of the local ISP. Static addresses and routed LAN connections
will be considered in the future, when GRIC offers corporate roaming
service.
Aboba, Lu, Alsop, Ding & Wang [Page 7]
INTERNET-DRAFT 10 June 1997
4.9. Security
The user's password is hashed with MD5 before being sent from the
Local ISP AAS to the Home ISP AAS. An encryption key is shared
between the AAS and ARS. The current version of AimTraveler AAS does
not support token cards or tunneling protocols.
4.10. Accounting
The AimTraveler Authentication Server (AAS) software can act as either
a RADIUS or TACACS+ accounting server. When accounting information is
received from the NAS, the local AimTraveler Authentication Server
(AAS) sends accounting data (user name, domain name, login time) to
both the Central Accounting Server (part of the ARS) and the user's
Home ISP AimTraveler authentication server. In the case of GRIC, the
Central Accounting Server is run by AimQuest.
The data sent to the central accounting server and home ISP are iden-
tical except for the form of user id and time stamp. For a traveler
whose home ISP is in the US, but who is traveling in Japan, the Local
(Japanese) ISP AimTraveler authentication server will receive an
accounting record timestamped with Japan time while the Home (US) ISP
AimTraveler authentication server will receive an accounting record
timestamped with the appropriate US timezone.
The accounting data includes 2 new attributes for settlement report-
ing:
Attribute Number Type
--------- ------ ----
Roaming-Server-ID 101 string
Isp-ID 102 string
The Roaming-Server-ID attribute identifies the AAS sending the authen-
tication request. The Isp-ID attribute identifies the local ISP.
Using this information the home ISP can track the roaming activities
of its users (where their users are logging in).
The AimTraveler Server running at AimQuest keeps a record of all
roaming transactions, which are used as input to the settlement and
billing process. At the end of each month, AimQuest provides a roam-
ing transaction summary to GRIC members using AIMS. The AIMS software
is configurable so that it takes into account the settlement rules
agreed to by GRIC members.
5. i-Pass implementation
Aboba, Lu, Alsop, Ding & Wang [Page 8]
INTERNET-DRAFT 10 June 1997
5.1. Overview
i-Pass Alliance Inc., based in Mountain View, California, has devel-
oped and operates a commercial authentication and settlement clearing-
house service which provides global roaming between Internet service
providers. The service is fully operational.
i-Pass Alliance Inc. has additional offices in Toronto, Singapore, and
London. More information on i-Pass can be obtained from
http://www.ipass.com.
The i-Pass network consists of a number of servers that provide real-
time authentication services to partner ISPs. Authentication requests
and accounting records for roaming users are encrypted and sent to an
i-Pass server where they are logged, and then forwarded to a home ISP
for authentication and/or logging.
Periodically, i-Pass reconciles all accounting records, generates
billing statements, and acts as a single point for collecting and
remitting payments.
i-Pass provides its service only to ISPs and channel partners. It
does not attempt to establish a business relationship with individual-
user customers of an ISP.
5.2. Access Point Database (APD)
i-Pass maintains a list of roaming access points in an Oracle
database. This list is searchable by geographical region using a Web
browser, and may be downloaded in its entirety using FTP. The informa-
tion stored for each access point includes:
Name of service provider
Country
State or Province
City or Region
Telephone number
Technical support phone number
Service types available
Technical information (help file)
Service pricing information
The Access Point Database is maintained by i-Pass staff, based on
input from i-Pass partners.
5.3. Phone number presentation
i-Pass has developed a Windows application wth a simple point and
click interface called the "i-Pass Dial Wizard", which assists end-
users in selecting and connecting to a local Internet access point.
Aboba, Lu, Alsop, Ding & Wang [Page 9]
INTERNET-DRAFT 10 June 1997
The Dial Wizard allows users to first select the country in which they
are roaming. A list of states, provinces, or other regions in the
selected country is then presented. Finally a list of access points
within the state or province is presented. The Dial Wizard displays
the city name, modem phone number, and price information for each
access point within the state or region.
When the user selects the desired access point, a Windows 95 "DialUp
Networking" icon is created for that access point. If there is a
login script associated with the access point, the DialUp Scripting
tool is automatically configured. This means that end-users never
have to configure any login scripting requirements.
The Dial Wizard has a built-in phonebook containing all the i-Pass
access points. The phonebook may be automatically refreshed from a
master copy located onhe ISPs web site.
The Dial Wizard is provided free of charge to i-Pass partners. i-Pass
also provides the i-Pass Dial Wizard Customization Kit which allows
ISP partners to generate customized versions of the Dial Wizard with
their own logo, etc.
5.4. Authentication
There are three entities involved in servicing an authentication
request:
Local ISP At the local ISP, the authentication server is modified to
recognize user IDs of the form username@auth_domain as being
remote authentication requests. These requests are for-
warded to an i-Pass server.
i-Pass Server
The i-Pass server receives the authentication request, logs
it, and forwards it to the home ISP identified by the
auth_domain portion of the user ID.
Home ISP The home ISP receives the authentication request, performs
authentication using its normal authentication method, and
returns a YES/NO response to the i-Pass server, which in
turn forwards the reply to the originating ISP.
i-Pass provides software components which run on the authentication
servers of the local and home ISPs. Each member ISP must integrate
these components with the native authentication method being used by
the ISP. To simplify this task, i-Pass has developed "drop-in" inter-
faces for the most commonly used authentication methods. At the date
of writing, the following interfaces are supported:
Livingston RADIUS
Aboba, Lu, Alsop, Ding & Wang [Page 10]
INTERNET-DRAFT 10 June 1997
Ascend RADIUS
Merit RADIUS
TACACS+
Xylogics erpcd (Versions 10 and 11)
A generic interface is also provided which authenticates based on the
standard UNIX password file. This is intended as a starting point for
ISPs using authentication methods other than those listed above.
The software integration effort for a typical ISP is on the order of
2-5 man-days including testing. Platforms currently supported
include:
Solaris 2.5 (Sparc).LI
Solaris 2.5 (Intel)
BSDI
Digital Unix
Linux
HP/UX
ISPs may chooe to provide authentication for their end-users roaming
elsewhere, but not to provide access points to the i-Pass network. In
this case the software integration effort is greatly reduced and can
be as little as 1/2 a man-day.
5.5. Accounting
Accounting transactions are handled in the same way as authentication
requests. In addition to being logged at the i-Pass servers, account-
ing transactions are sent in real-time to the home ISP. This is
intended to allow ISPs to update users' credit limit information on a
real-time basis (to the extent that this capability is supported by
their billing and accounting systems).
Settlement is performed monthly. The settlement process involves cal-
culating the costs associated with each individual session, and aggre-
gating them for each ISP. A net amount is then calculated which is
either due from i-Pass to the ISP, or from the ISP to i-Pass, depend-
ing on the actual usage pattern.
The following reports are supplied to member ISPs:
A Monthly Statement showing summaries of usage,
service provided, and any adjustments along with the
net amount owing.
A Call Detail Report showing roaming usage by the ISP's
customers.
A Service Provided report showing detailed usage of
the ISP's facilities by remote users.
The above reports are generated as ASCII documents and are distributed
Aboba, Lu, Alsop, Ding & Wang [Page 11]
INTERNET-DRAFT 10 June 1997
to i-Pass partners electronically, either by e-mail or from a secure
area on the i-Pass web site. Hard-copy output is available on request.
The Call Detail Report is also generated as a comma-delimited ASCII
file suitable for import into the ISP's billing database. The Call
Detail Report will normally be used by the ISP to generate end-user
billing for roaming usage.
5.6. Security
All transactions between ISPs and the i-Pass servers are encrypted
using the SSL protocol. Public key certificates are verified at both
the client and server. i-Pass issues these certificates and acts as
the Cetificate Authority.
Transactions are also verified based on a number of other criteria
such as source IP address.
5.7. Operations
i-Pass operates several authentication server sites. Each site con-
sists of two redundant server systems located in secure facilities and
"close" to the Internet backbone. The authentication server sites are
geographically distributed to minimize the possibility of failure due
to natural disasters etc.
i-Pass maintains a Network Operations Center in Mountain View which is
staffed on a 7x24 basis. Its functions include monitoring the i-Pass
authentication servers, monitoring authentication servers located at
partner facilities, and dealing with problem reports.
6. ChinaNet implementation
ChinaNet, owned by China Telecom, is China's largest Internet back-
bone. Constructed by Asiainfo, a Dallas based system integration com-
pany, it has 31 backbone nodes in 31 Chinese provincial capital
cities. Each province is building its own provincial network, has its
own dialup servers, and administers its own user base.
In order to allow hinaNet users to be able to access nodes outside
their province while traveling, a nationwide roaming system has been
implemented. The roaming system was developed by AsiaInfo, and is
based on the RADIUS protocol.
6.1. Phone number presentation
Since China Telecom uses one phone number (163) for nationwide Inter-
net access, most cities have the same Internet access number. There-
fore a phone book is not currently required for the ChinaNet implemen-
tation. A web-based phone book will be added in a future software
release in order to support nationwide ISP/CSP telephone numbers and
Aboba, Lu, Alsop, Ding & Wang [Page 12]
INTERNET-DRAFT 10 June 1997
HTTP server addresses.
6.2. Connection management
The current roaming client and server supports both PPP and SLIP.
6.3. Address assignment and routing
ChinaNet only supports dynamic IP address assignment for roaming
users. In addition, static addresses are supported for users authenti-
cating within their home province.
6.4. Authentication
When user accesses a local NAS, it provides its userID either as
"username" or "username@realm". The NAS will pass the userID and
password to the RADIUS proxy/server. If the "username" notation is
used, the Radius proxy/server will assume that the user is a local
user and will handle local authentication accordingly. If "user-
name@realm" is used, the RADIUS proxy/server will process it as a
roaming request.
When the RADIUS proxy/server handles a request from a roaming user, it
will first check the cache to see if the user information is already
stored there. If there is a cache hit, the RADIUS proxy/server do the
local authentication accordingly. If it does not find user informa-
tion in its cache, it will act as a proxy, forwarding the authentica-
tion request to the home RADIUS server. When the home RADIUS server
responds, the local server will forward the response to the NAS. If
the user is authenticated by the home server, the local RADIUS proxy
will cache the user information for a period of time (3 days by
default).
Caching is used to avoid frequent proxying of requests and responses
between the local RADIUS proxy and the home RADIUS server. When the
home RADIUS server sends back a valid authentication response, the
local RADIUS proxy/server will cache the user information for a period
of time (3 days by default). When the user next authenticates
directly against the home RADIUS server, the home RADIUS server will
send a request to the local server or servers to clear the user's
information from the cache.
6.4.1. Extended hierarchy
In some provinces, the local telecommunications administration
(Provincial ISP) further delegates control to county access nodes,
creating another level of hierarchy. This is done to improve scalabil-
ity and to avoid having the provincial ISP databases grow too large.
In the current implementation, each provincial ISP maintains its own
central RADIUS server, including information on all users in the
province, while county nodes maintain distributed RADIUS servers. For
Aboba, Lu, Alsop, Ding & Wang [Page 13]
INTERNET-DRAFT 10 June 1997
intra-province roaming requests the local RADIUS proxy/server will
directly forward the request to the home RADIUS server.
However, for inter-province roaming requests, the local RADIUS server
does not forward the request directly to the home RADIUS server.
Instead, the request is forwarded to the central provincial RADIUS
server for the home province. This implementation is suitable only
when county level ISPs do not mind combining and sharing their user
information. In this instance, this is acceptable, since all county
level ISPs are part of China Telecom. In a future release, this multi-
layer hierarchy will be implemented using multi-layer proxy RADIUS, in
a manner more resembling DNS.
6.5. Security
Encryption is used between the local RADIUS proxy/server and the home
RADIUS server. Public/Private key encryption will be supported in the
next release. IP tunneling and token card support is under considera-
tion.
6.6. Accounting
Accounting information is transferred between the local RADIUS
accounting proxy/server and home RADIUS accounting server. Every day
each node sends a summary accounting information record to a central
server in order to support nationwide settlement. The central server
is run by the central Data Communication Bureau of China Telecom.
Every month the central server sends the settlement bill to the
provincial ISPs.
6.7. Inter-ISP/CSP roaming
ChinaNet supports both ISP and CSP (Content Service Provider) roaming
on its system. For example, Shanghai Online, a Web-based commercial
content service, uses RADIUS for authentication of ChinaNet users who
do not have a Shanghai Online account. In order to support this, the
Shanghai Online servers function as a RADIUS client authenticating
against the home RADIUS server. When users access a protected document
on the HTTP server, they are prompted to send a username/password for
authentication. The user then responds with their userID in "user-
name@realm" notation.
A CGI script on the HTTP server then acts as a RADIUS authentication
client, sending the request to the home RADIUS server. After the home
RADIUS server responds, the CGI script passes the information to the
local authentication agent. From this point forward, everything is
taken care of by the local Web authentication mechanism.
Aboba, Lu, Alsop, Ding & Wang [Page 14]
INTERNET-DRAFT 10 June 1997
7. Microsoft implementation
Microsoft's roaming implementation was originally developed in order
to support the Microsoft Network (MSN), which now offers Internet
access in seven countries: US, Canada, France, Germany, UK, Japan, and
Australia. In each of these countries, service is offered in coopera-
tion with access partners. Since users are able to connect to the
access partner networks while maintaining a customer-vendor relation-
ship with MSN, this implementation fits within the definition of roam-
ing as used in this document.
7.1. Implementation overview
The first version of the Microsoft roaming software was deployed by
the MSN partners in April, 1996. This version included a Phone Book
manager tool running under Windows 95, as well as a RADIUS
server/proxy implementation running under Windows NT; TACACS+ is cur-
rently not supported. Additional components now under development
include a Connection Manager client for Windows 95 as well as an HTTP-
based phone book server for Windows NT. The Phone Book manager tool is
also being upgraded to provide for more automated phone book compila-
tion.
7.2. Phone number presentation
The Connection Manager is responsible for the presentation and updat-
ing of phone numbers, as well as for dialing and making connections.
In order to select phone numbers, users are asked to select the
desired country and region/state. Phone numbers are then presented in
the area selected. The primary numbers are those from the users ser-
vice provider which match the service type (Analog, ISDN, Analog &
IDN), country and region/state selected. The other numbers (selected
clicking on the More button) are those for other service providers
that have a roaming agreement with the users service provider.
7.2.1. Cost data
Cost data is not presented to users along with the phone numbers. How-
ever, such information may be made available by other means, such as
via a Web page.
7.2.2. Default phone book format
The Connection Manager supports the ability to customize the phone
book format, and it is expected that many ISPs will make use of this
capability. However, for those who wish to use it "off the shelf" a
default phone book format is provided. The default phone book is com-
prised of several files, including:
Service profile
Aboba, Lu, Alsop, Ding & Wang [Page 15]
INTERNET-DRAFT 10 June 1997
Phone Book
Region file
The service profile provides information on a given service, which may
be an isolated Internet Service Provider, or may represent a roaming
consortium. The service profile, which is in .ini file format, is com-
prised of the following information:
The name of the service
The filename of the service's big icon
The filename of the service's little icon
A description of the service
The service phone book filename
The service phone book version number
The service regions file
The URL of the service phone book server
The prefix used by the service (i.e. "MSN/aboba")
The suffix or domain used by the service (i.e. "aboba@msn.com")
Whether the user name is optional for the service
Whether the password is optional for the service
Maximum length of the user name for the service
Maximum length of the password for the service
Information on service password handling (lowercase, mixed case, etc.)
Number of redials for this service
Delay between redials for this service
References to other service providers that have roaming agreements
The service profile filenames for each of the references
Mask and match phone book filters for each of the references
(these are 32 bit numbers that are applied against the capability flags in the phone book)
The dial-up connection properties configuration
(this is the DUN connectoid name)
The phone book file is a comma delimited ASCII file containing the
following data:
Unique number identifying a particular record (Index)
Country ID
A zero-base index into the region file
City
Area code
Local phone number
Minimum Speed
Maximum speed
Capability Flags:
Bit 0: 0=Toll, 1=Toll free
Bit 1: 0=X25, 1=IP
Bit 2: 0=Analog, 1=No analog support
Bit 3: 0=no ISDN support, 1=ISDN
Bit 4: 0
Bit 5: 0
Bit 6: 0=No Internet access, 1=Internet access
Bit 7: 0=No signup access, 1=Signup access
Bit 8-31: reserved
Aboba, Lu, Alsop, Ding & Wang [Page 16]
INTERNET-DRAFT 10 June 1997
The filename of the dialup network file
(typically refers to a script associated with the number)
A sample phone book file is shown below:
65031,1,1,Aniston,205,5551212,2400,2400,1,0,myfile
200255,1,1,Auburn/Opelika,334,5551212,9600,28800,0,10,
200133,1,1,Birmingham,205,5551212,9600,28800,0,10,
130,1,1,Birmingham,205,3275411,9600,14400,9,0,yourfile
65034,1,1,Birmingham,205,3285719,9600,14400,1,0,myfile
7.2.3. Additional attributes
As described previously, it is likely that some ISPs will require
additional phone number attributes or provider information beyond that
supported in the default phone book format. Attributes of interest
may vary between providers, or may arise as a result of the introduc-
tion of new technologies. As a result, the set of phone number
attributes is likely to evolve over time, and extensibility in the
phone book format is highly desirable.
For example, in addition to the attributes provided in the default
phone book, the following additional attributes have been requested by
customers:
Multicast support flag
External/internal flag (to differentiate display between the
"internal" or "other" list box)
Priority (for control of presentation order)
Modem protocol capabilities (V.34, V.32bis, etc.)
ISDN protocol capabilities (V.110, V.120, etc.)
No password flag (for numbers using telephone-based billing)
Provider name
7.2.4. Addition of information on providers
The default phone book does not provide a mechanism for display of
information on the individual ISPs within the roaming consortium, only
for the consortium as a whole. For example, the provider icons (big
and little) are included in the service profile. The service descrip-
tion information is expected to contain the customer support number.
However, this information cannot be provided on an individual basis
for each of the members of a roaming consortium. Additional informa-
tion useful on a per-provider basis would include:
Provider voice phone number
Provider icon
Provider fax phone number
Provider customer support phone number
Aboba, Lu, Alsop, Ding & Wang [Page 17]
INTERNET-DRAFT 10 June 1997
7.3. Phone number exchange
Currently phone number exchange is not supported by the phone book
server. As a result, in the MSN implementation, phone number exchange
is handled manually. As new POPs come online, the numbers are for-
warded to MSN, which tests the numbers and approves them for addition
to the phone book server. Updated phone books are produced and loaded
on the phone book server on a weekly basis.
7.4. Phone book compilation
The Phone Book Manager tool was created in order to make it easier for
the access partners to create and update their phone books. It sup-
ports addition, removal, and editing of phone numbers, generating both
a new phone book, as well as associated difference files.
With version 1 of the Phone Book Administration tool, phone books are
compiled manually, and represent a concatenation of available numbers
from all partners, with no policy application. With version 1, the
updates are prepared by the partners and forwarded to MSN, which tests
the numbers and approves them for addition to the phone book. The
updates are then concatenated together to form the global update file.
The new version of the Phone Book Administration tool automates much
of the phone book compilation process, making it possible for phone
book compilation to be decentralized with each partner running their
own phone book server. Partners can then maintain and test their indi-
vidual phone books and post them on their own Phone Book Server.
7.5. Phone book update
There is a mechanism to download phone book deltas, as well as to
download arbitrary executables which can perform more complex update
processing. Digital signatures are only used on the downloading of
executables, since only these represent a security threat - the Con-
nection Manager client does not check for digital signatures on deltas
because bogus deltas can't really cause any harm.
The Connection Manager updates the phone book each time the user logs
on. This is accomplished via an HTTP GET request to the phone book
server. When the server is examining the request, it can take into
account things like the OS version on the client, the language on the
client, the version of Connection Manager on the client, and the ver-
sion of the phone book on the client, in order to determine what it
wants to send back.
In the GET response, the phone book server responds with the differ-
ence files necessary to update the client's phone book to the latest
version. The client then builds the new phone book by successively
applying these difference files. This process results in the update
Aboba, Lu, Alsop, Ding & Wang [Page 18]
INTERNET-DRAFT 10 June 1997
of the entire phone book, and is simple enough to allow it to be eas-
ily implemented on a variety of HTTP servers, either as a CGI script
or (on NT) as an ISAPI DLL.
The difference files used in the default phone book consist of a list
of phone book entries, each uniquely identified by their index number.
Additions consist of phone book entries with all the information filed
in; deletions are signified by entries with all entries zeroed out. A
sample difference file is shown below:
65031,1,1,Aniston,205,5551212,2400,2400,1,0,myfile
200255,1,1,Auburn/Opelika,334,5551212,9600,28800,0,10,
200133,0,0,0,0,0,0,0,0,0
130,1,1,Birmingham,205,5551211,9600,14400,9,0,yourfile
65034,1,1,Birmingham,205,5551210,9600,14400,1,0,myfile
7.6. Connection management
The Connection Manager can support any protocol which can be config-
ured via use of Windows Dialup Networking, including PPP and SLIP run-
ning over IP. The default setting is for the IP address as well as
the DNS server IP address to be assigned by the NAS. The DNS server
assignment capability is described in [1].
7.7. Authentication
The Connection Manager client and RADIUS proxy/server both support
suffix style notation (i.e. "aboba@msn.com"), as well as a prefix
notation ("MSN/aboba").
The prefix notation was developed for use with NAS devices with small
maximum userID lengths. For these devices the compactness of the pre-
fix notation significantly increases the number of characters avail-
able for the userID field. However, as an increasing number of NAS
devices are now supporting 253 octet userIDs (the maximum supported by
RADIUS) the need for prefix notation is declining.
After receiving the userID from the Connection Manager client, the NAS
device passes the userID/domain and password information (or in the
case of CHAP, the challenge and the response) to the RADIUS proxy. The
RADIUS proxy then checks if the domain is authorized for roaming by
examining a static configuration file. If the domain is authorized,
the RADIUS proxy then forwards the request to the appropriate RADIUS
server. The domain to server mapping is also made via a static config-
uration file.
While static configuration files work well for small roaming consor-
tia, for larger consortia static configuration will become tedious.
Potentially more scalable solutions include use of DNS SRV records for
the domain to RADIUS server mapping.
Aboba, Lu, Alsop, Ding & Wang [Page 19]
INTERNET-DRAFT 10 June 1997
7.8. NAS configuration/authorization
Although the attributes returned by the home RADIUS server may make
sense to home NAS devices, the local NAS may be configured differ-
ently, or may be from a different vendor. As a result, it may be nec-
essary for the RADIUS proxy to edit the attribute set returned by the
home RADIUS server, in order to provide the local NAS with the appro-
priate configuration information. The editing occurs via attribute
discard and insertion of attributes by the proxy.
Alternatively, the home RADIUS server may be configured not to return
any network-specific attributes, and to allow these to be inserted by
the local RADIUS proxy.
Attributes most likely to cause conflicts include:
Framed-IP-Address
Framed-IP-Netmask
Framed-Routing
Framed-Route
Filter-Id
Vendor-Specific
Session-Timeout
Idle-Timeout
Termination-Action
Conflicts relating to IP address assignment and routing are very com-
mon. Where dynamic address assignment is used, an IP address pool
appropriate for the local NAS can be substituted for the IP address
pool designated by the home RADIUS server.
However, not all address conflicts can be resolved by editing. In
some cases, (i.e., assignment of a static network address for a LAN)
it may not be possible for the local NAS to accept the home RADIUS
server's address assignment, yet the roaming hosts may not be able to
accept an alternative assignment.
Filter IDs also pose a problem. It is possible that the local NAS may
not implement a filter corresponding to that designated by the home
RADIUS server. Even if an equivalent filter is implemented, in order
to guarantee correct operation, the proxy's configuration must track
changes in the filter configurations of each of the members of the
roaming consortium. In practice this is likely to be unworkable.
Direct upload of filter configuration is not a solution either,
because of the wide variation in filter languages supported in today's
NAS devices.
Since by definition vendor specific attributes have meaning only to
devices created by that vendor, use of these attributes is problematic
within a heterogeneous roaming consortium. While it is possible to
edit these attributes, or even to discard them or allow them to be
ignored, this may not always be acceptable. In cases where vendor spe-
cific attributes relate to security, it may not be acceptable for the
proxy to modify or discard these attributes; the only acceptable
Aboba, Lu, Alsop, Ding & Wang [Page 20]
INTERNET-DRAFT 10 June 1997
action may be for the local NAS to drop the user. Unfortunately,
RADIUS does not distinguish between mandatory and optional attributes,
so that there is no way for the proxy to take guidance from the
server.
Conflicts over session or idle timeouts may result if since both the
local and home ISP feel the need to adjust these parameters. While
the home ISP may wish to adjust the parameter to match the user's
software, the local ISP may wish to adjust it to match its own service
policy. As long as the desired parameters do not differ too greatly, a
compromise is often possible.
7.9. Address assignment and routing
While the Connection Manager software supports both static and dynamic
address assignment, in the MSN implementation, all addresses are
dynamically assigned.
However, selected partners also offer LAN connectivity to their cus-
tomers, usually via static address assignment. However, these accounts
do not have roaming privileges since no mechanism has been put in
place for allowing these static routes to move between providers.
Users looking to do LAN roaming between providers are encouraged to
select a router supporting Network Address Translation (NAT). NAT ver-
sions implemented in several low-end routers are compatible with the
dynamic addressing used on MSN, as well as supporting DHCP on the LAN
side.
7.10. Security
The RADIUS proxy/server implementation does not support token cards or
tunneling protocols.
7.11. Accounting
In the MSN roaming implementation, the accounting data exchange pro-
cess is specified in terms of an accounting record format, and a
method by which the records are transferred from the partners to MSN,
which acts as the settlement agent. Defining the interaction in terms
of record formats and transfer protocols implies that the partners do
not communicate with the settlement agent using NAS accounting proto-
cols. As a result, accounting protocol interoperability is not be
required.
However, for this advantage to be fully realized, it is necessary for
the accounting record format to be extensible. This makes it more
likely that the format can be adapted for use with the wide variety of
accounting protocols in current use (such as SNMP, syslog, RADIUS, and
TACACS+), as well as future protocols. After all, if the record format
cannot express the metrics provided by a particular partner's account-
ing protocol, then the record format will not be of much use for a
Aboba, Lu, Alsop, Ding & Wang [Page 21]
INTERNET-DRAFT 10 June 1997
heterogeneous roaming consortium.
7.11.1. Accounting record format
The Microsoft RADIUS proxy/server supports the ability to customize
the accounting record format, and it is expected that some ISPs will
make use of this capability. However for those who want to use it "off
the shelf" a default accounting record format is provided. The
accounting record includes information provided by RADIUS:
User Name (String; the user's ID, including prefix or suffix)
NAS IP address (Integer; the IP address of the user's NAS)
NAS Port (Integer; identifies the physical port on the NAS)
Service Type (Integer; identifies the service provided to the user)
NAS Identifier (Integer; unique identifier for the NAS)
Status Type (Integer; indicates session start and stop,
as well as accounting on and off)
Delay Time (Integer; time client has been trying to send)
Input Octets (Integer; in stop record, octets received from port)
Output Octets (Integer; in stop record, octets sent to port)
Session ID (Integer; unique ID linking start and stop records)
Authentication (Integer; indicates how user was authenticated)
Session Time (Integer; in stop record, seconds of received service)
Input Packets (Integer; in stop record, packets received from port)
Output Packets (Integer; in stop record, packets sent to port)
Termination Cause (Integer; in stop record, indicates termination cause)
Multi-Session ID (String; for linking of multiple related sessions)
Link Count (Integer; number of links up when record was generated)
NAS Port Type (Integer; indicates async vs. sync ISDN, V.120, etc.)
However, since this default format is not extensible, it cannot easily
be adapted to protocols other than RADIUS, services other than dialup
(i.e. dedicated connections) or rated events (i.e. file downloads).
This is a serious limitation, and as a result, customers have
requested a more general accounting record format.
7.11.2. Transfer mechanism
Prior to being transferred, the accounting records are compressed so
as to save bandwidth. The transfer of accounting records is handled
via FTP, with the transfer being initiated by the receiving party,
rather than by the sending party. A duplicate set of records is kept
by the local ISP for verification purposes.
8. Merit Network Implementation
8.1. Overview
MichNet is a regional IP backbone network operated within the state of
Michigan by Merit Network, Inc., a nonprofit corporation based in Ann
Aboba, Lu, Alsop, Ding & Wang [Page 22]
INTERNET-DRAFT 10 June 1997
Arbor, Michigan. Started in 1966, MichNet currently provides backbone
level Internet connectivity and dial-in IP services to its member and
affiliate universities, colleges, K-12 schools, libraries, government
institutions, other nonprofit organizations, and commercial business
entities.
As of May 1, 1997, MichNet had 11 members and 405 affiliates. Its
shared dial-in service operated 133 sites in Michigan and one in Wash-
ington, D.C, with 4774 dial-in lines. Additional dial-in lines and
sites are being installed daily.
MichNet also provides national and international dial-in services to
its members and affiliates through an 800 number and other external
services contracting with national and global service providers.
The phone numbers of all MichNet shared dial-in sites are published
both on the Merit web site and in the MichNet newsletters. Merit also
provides links to information about the national and international
service sites through their respective providers' web sites. Such
information can be found at http://www.merit.edu/mich-
net/shared.dialin/.
8.1.1. MichNet State-Wide Shared Dial-In Services
Each MichNet shared dial-in service site is owned and maintained by
either Merit or by a member or affiliate organization. All sites must
support PPP and Telnet connections.
Each organization participating in the shared dial-in service is
assigned a realm-name. Typically the realm-name resembles a fully
qualified domain name. Users accessing the shared dial-in service
identify themselves by using a MichNet AccessID which consists of
their local id concatenated with "@" followed by the realm-name - e.g.
user@realm
Merit operates a set of Authentication, Authorization and Accounting
(AAA) servers supporting the RADIUS protocol which are called core
servers. The core servers support all the dial-in service sites and
act as proxy servers to other AAA servers running at the participating
organizations. For security reasons, Merit staff run all core servers;
in particular, the user password is in the clear when the proxy core
server decodes an incoming request and then re-encodes it and forwards
it out again,
The core servers also enforce a common policy among all dial-in
servers. The most important policy is that each provider of access
must make dial-in ports available to others when the provider's own
users do not have a need for them. To implement this policy, the proxy
server distinguishes between realms that are owners and realms that
are guests.
One piece of the policy determining whether the provider's organiza-
tion has need of the port, is implemented by having the proxy core
Aboba, Lu, Alsop, Ding & Wang [Page 23]
INTERNET-DRAFT 10 June 1997
server track the realms associated with each of the sessions connected
at a particular huntgroup. If there are few ports available (where few
is determined by a formula) then guests are denied access. Guests are
also assigned a time limit and their sessions are terminated after
some amount of time (currently one hour during prime time, two hours
during non-prime time).
The other part of the policy is to limit the number of guests that are
allowed to connect. This is done by limiting the number of simultane-
ous guest sessions for realms. Each realm is allocated a number of
"simultaneous access tokens" - SATs. When a guest session is autho-
rized the end server for the realm decrements the count of available
SATs, and when the session is terminated the count of SATs is incr-
mented. A Merit specific attribute is added to the request by the
core if the session will be a "guest" and will require a SAT. The end
server must include a reply with an attribute containing the name of
the "token pool" from which the token for this session is taken. The
effect of this is to limit the number of guests connected to the net-
work to the total number of tokens allocated to all realms.
Each realm is authenticated and authorized by its own AAA server. The
proxy core servers forward requests to the appropriate server based on
a configuration file showing where each realm is to be authenticated.
Requests from realms not in the configuration are dropped.
The Merit AAA server software supports this policy. Merit provides
this software to member and affiliate organizations. The software is
designed to work with many existing authentication servers, such as
Kerberos IV, UNIX password, TACACS, TACACS+, and RADIUS. This enables
most institutions to utilize the authentication mechanism they have in
place.
8.1.2. MichNet National and International Dial-In Services
In addition to the MichNet shared dial-in service, Merit also provides
access from locations outside of Michigan by interconnecting with
other dial-in services. These services are typically billed by connect
time. Merit acts as the accounting agent between its member and affil-
iate organizations and the outside service provider.
The services currently supported are a national 800 number and service
via the ADP/Autonet dial-in network. Connection with IBM/Advantis is
being tested, and several other service interconnects are being inves-
tigated.
Calls placed by a Merit member/affiliate user to these external dial-
in services are authenticated by having each of those services forward
RADIUS authentication requests and accounting messages to a Merit
proxy core server. The core forwards the requests to the member/affil-
iate server for approval. Session records are logged at the Merit core
server and at the member/affiliate server. Merit bills members/affili-
ates monthly, based on processing of the accounting logs. The members
and affiliates are responsible for rebilling their users.
Aboba, Lu, Alsop, Ding & Wang [Page 24]
INTERNET-DRAFT 10 June 1997
The Merit AAA software supports the ability to request positive con-
firmation of acceptance of charges, and provides tools for accumulat-
ing and reporting on use by realm and by user.
8.2. Authentication and Authorization
Authentication of a Telnet session is supported using the traditional
id and password method, with the id being a MichNet AccessID of the
form user@realm, while a PPP session may be authenticated either using
an AccessID and password within a script, or using PAP. Support for
challenge/response authentication mechanisms using EAP is under devel-
opment.
When a user dials into a MichNet shared dial-in port, the NAS sends
an Access-Request to a core AAA server using the RADIUS protocol.
First the core server applies any appropriate huntgroup access poli-
cies to the request. If the Request fails the policy check, an Access-
Reject is returned to the NAS. Otherwise, the core server forwards it
to the user's home authentication server according to the user's
realm. The home authentication server authenticates and authorizes
the access request. An Access-Accept or Access-Reject is sent back to
the core server. If an Access-Accept is sent, the home server will
create a dial-in session identifier which is unique to this session
and insert it in a Class attribute in the Access-Accept. The core
server looks at the request and the response from the home server
again and decides either to accept or reject the request. Finally, the
core server sends either an Access-Accept or Access-Reject to the NAS.
When a user dials into a contracted ISP's huntgroup (MichNet National
and International Service), the ISP sends a RADIUS access request
to a Merit core server. The rest of the authentication and authoriza-
tion path is the same as in the shared dial-in service, except
that no huntgroup access policy is applied but a Huntgroup-Service
attribute is sent to the home authentication server with its value
being the name of the service, and a copy of the attribute must be
returned by the home server with a flag appended to the original value
to indicate a positive authorization of user access to the specified
service.
The MichNet shared dial-in service typically requires authorization of
some sort, for example, a user dialing into a huntgroup as a guest
must be authorized with a token from the user's realm. Participating
institutions have control in defining authorization rules. Currently
authorization may be done using any combination of the user's group
status and user's account status. A set of programming interfaces is
also provided for incorporating new authorization policies.
8.3. Accounting
In the Merit AAA server, a session is defined as starting from the
moment the user connects to the NAS, and ending at the point when the
user disconnects. During the course of a session, both the core server
Aboba, Lu, Alsop, Ding & Wang [Page 25]
INTERNET-DRAFT 10 June 1997
and the home server maintain status information about the session.
This allows the AAA servers to apply policies based on the current
status, e.g. limit guest access by realm to number of available
tokens, or to limit number of simultaneous sessions for a given Acces-
sID. Information such as whether the session is for a guest, whether
it used a token, and other information is included with the accounting
stop information when it is logged. Merit has made enhancements to the
RADIUS protocol, that are local to the AAA server, to support mainte-
nance of session status information.
When a user session is successfully authenticated, the NAS sends out a
RADIUS accounting start request to the core server. The core server
forwards that request to the user's home server. The home server
updates the status of the session and then responds to the core. The
core server in turn responds to the NAS. In the accounting Start
request, a NAS conforming to the RADIUS specification must return the
Class attribute and value it received in the Access-Accept for the
session, thus sending back the dial-in session identifier created by
the session's home server.
When a user ends a session, an accounting stop request is sent through
the same path. the same path. The dial-in session identifier is
again returned by the NAS, providing a means of uniquely identifying a
session. By configuring the finite state machine in each of the AAA
servers, any accounting requests may be logged by any of the servers
where the accounting requests are received.
Because the same session logs are available on every server in the
path of a session's authorization and accounting message, problems
with reconciliation of specific sessions may be resolved easily. For
the shared dial-in service, there are no usage charges. Merit has
tools to verify that organizations do not authorize more guest ses-
sions than the number of SATs allocated to the organization. For
surcharged sessions, Merit sends each organization a summary bill each
month. Files with detail session records are available for problem
resolution. Each organization is responsible for billing its own
users, and should have the same session records as are collected by
Merit.
Merit receives a monthly invoice from other dial-in service providers
and pays them directly, after first verifying that the charges corre-
spond to the session records logged by Merit.
8.4. Software and Development
Merit has developed the AAA server software which supports the above
capabilities initially by modifying the RADIUS server provided by Liv-
ingston, and later by doing a nearly total rewrite of the software to
make enhancement and extension of capabilites easier. Merit makes a
basic version of its server freely available for noncommercial use.
Merit has started the Merit AAA Server Consortium which consists of
Merit and a number of NAS vedors, ISPs and server software vendors.
The consortium supports ongoing development of the Merit AAA server.
Aboba, Lu, Alsop, Ding & Wang [Page 26]
INTERNET-DRAFT 10 June 1997
The goal is to build a server that supports proxy as well as end
server capabilities, that is feature rich, and that interoperates with
major vendors' NAS products.
The building block of the Merit AAA server, the Authentication/Autho-
rization Transfer Vector (AATV), is a very powerful concept that
enables the ultimate modularity and flexibility of the AAA server. The
structure and methods of the AATV model are published with all ver-
sions of the AAA server.
Objects for extending the authorization server are also available in
the enhanced version of the AAA server. Merit is also looking at ways
to provide a method of extending the AAA server in its executable
form, to improve the server efficiency and scalability, and to provide
better monitoring, instrumentation and administration of the server.
9. FidoNet implementation
Since its birth in 1984, FidoNet has supported phone book synchroniza-
tion among its member nodes, which now number approximately 35,000.
As a non-IP dialup network, FidoNet does not provide IP services to
members, and does not utilize IP-based authentication technology.
Instead member nodes offer bulletin-board services, including access
to mail and conferences known as echoes.
In order to be able to communicate with each other, FidoNet member
systems require a sychronized phone book, known as the Nodelist. The
purpose of the Nodelist is to enable resolution of FidoNet addresses
(expressed in the form zone:network/node, or 1:161/445) to phone num-
bers. As a dialup network, FidoNet requires phone numbers in order to
be deliver mail and conference traffic.
In order to minimize the effort required in regularly synchronizing a
phone book of 35,000 entries, the weekly Nodelist updates are trans-
mitted as difference files. These difference files, known as the
Nodediff, produce the Nodelist for the current week when applied to
the previous week's Nodelist. In order to minimize transfer time,
Nodediffs are compressed prior to transfer.
Information on FidoNet, as well as FidoNet Technical Standards (FTS)
documents (including the Nodelist specification) and standards propos-
als are available from the FidoNet archive at http://www.fidonet.org/.
9.1. Scaling issues
With a Nodelist of 35,000 entries, the FidoNet Nodelist is now 3.1 MB
in size, and the weekly Nodediffs are 175 KB. In compressed form, the
Nodelist is approximately 1 MB, and the weekly Nodediff is 90 KB. As a
result, the transfer of the Nodediff takes approximately 45 seconds
using a 28,800 bps modem.
Aboba, Lu, Alsop, Ding & Wang [Page 27]
INTERNET-DRAFT 10 June 1997
In order to improve scalability, the implementation of a domain name
service approach is examined in [8]. The proposal evisages use of a
capability analagous to the DNS ISDN record in order to map names to
phone numbers, coupled with an additional record to provide the
attributes associated with a given name.
9.2. Phone number presentation
While FidoNet member systems perform phone book synchronization, users
need only know the FidoNet address of the systems they wish to con-
tact. As a result users do not need to maintain copies of the Nodelist
on their own systems. This is similar to the Internet, where the DNS
takes care of the domain name to IP address mapping, so that users do
not have to remember IP addresses.
Nevertheless, FidoNet systems often find it useful to be able to pre-
sent lists of nodes, and as a result, FidoNet Nodelist compilers typi-
cally produce a representation of the Nodelist that can be searched or
displayed online, as well as one that is used by the system dialer.
9.2.1. FidoNet Nodelist format
The FidoNet Nodelist format is documented in detail in [3]. The
Nodelist file consists of lines of data as well as comment lines,
which begin with a semi-colon. The first line of the Nodelist is a
general interest comment line that includes the date and the day num-
ber, as well as a 16-bit CRC. The CRC is included so as to allow the
system assembling the new Nodelist to verify its integrity.
Each Nodelist data line contains eight comma separated fields:
Keyword
Zone/Region/Net/Node number
Node name
Location
Sysop name
Phone number
Maximum Baud rate
Flags (optional)
FidoNet Nodelists are arranged geographically, with systems in the
same zone, region, and network being grouped together. As a result,
FidoNet Nodelists do not require a separate regions file. Among other
things, the keyword field can be used to indicate that a system is
temporarily out of service.
Reference [3] discusses Nodelist flags in considerable detail. Among
other things, the flags include information on supported modem modula-
tion and error correction protocols. Reference [4] also proposes a
series of ISDN capability flags, and [5] proposes flags to indicate
times of system availability.
Aboba, Lu, Alsop, Ding & Wang [Page 28]
INTERNET-DRAFT 10 June 1997
9.3. Phone number exchange
FidoNet coordinators are responsible for maintaining up to date infor-
mation on their networks, regions, and zones. Every week network coor-
dinators submit to their regional coordinators updated versions of
their portions of the Nodelist. The regional coordinators then compile
the submissions from their network coordinators, and submit them to
the zone coordinator. The zone coordinators then exchange their sub-
missions to produce the new Nodelist. As a result, it is possible that
the view from different zones may differ at any given time.
9.3.1. The Nodediff
The format of the Nodediff is discussed in detail in [3]. In preparing
the Nodediffs, network coordinators may transmit only their difference
updates, which can be collated to produce the Nodediff directly.
One weakness in the current approach is that there is no security
applied to the coordinator submissions. This leaves oen the possibil-
ity of propagation of fraudulent updates. In order to address this,
[6] proposes addition of a shared secret to the update files.
9.3.2. Addition of nodes
In order to apply for allocation of a FidoNet address and membership
in the Nodelist, systems must demonstrate that they are functioning by
sending mail to the local network coordinator. Once the local network
coordinator receives the application, they then allocate a new FidoNet
address, and add a Nodelist entry.
9.3.3. Deletion of nodes
Since FidoNet nodes are required to be functioning during the zone
mail hour in order to receive mail, and since nodes receive the weekly
Nodelist from their local network coordinators on a weekly basis,
there is a built-in mechanism for discovery of non-functional nodes.
Nodes found to be down are reported to the local network coordinator
and subsequently marked as down within the Nodelist. Nodes remaining
down for more than two weeks may be removed from the Nodelist, at the
discretion of the network coordinator.
9.4. Phone book update
The Nodelist contains the phone numbers and associated attributes of
each participating system. New Nodelists become available on Fridays,
and are made available to participating systems by their local network
coordinators, who in turn receive them from the regional and zone
coordinators.
Aboba, Lu, Alsop, Ding & Wang [Page 29]
INTERNET-DRAFT 10 June 1997
While it is standard practice for participating systems to get their
Nodelists from their local network coordinators, should the local net-
work coordinator not be available for some reason, either the updates
or the complete Nodelist may be picked up from other network, or
regional coordinators. Please note that since the view from different
zones may differ, nodes wishing to update their Nodelists should not
contact systems from outside their zone.
9.5. Phone book compilation
Once FidoNet systems have received the Nodediff, the apply it to the
previous week's Nodelist in order to prepare a new Nodelist. In order
to receive Nodediffs and compile the Nodelist, the following software
is required:
A FidoNet-compatible mailer implementation, used to transfer files
A Nodelist compiler
One of the purposes of the Nodelist compiler is to apply Nodediffs to
the previous Nodelist in order to produce an updated Nodelist. The
other purpose is to compile the updated Nodelist into the format
required by the particular mailer implementation used by the member
system. It is important to note that while the Nodelist and Nodediff
formats are standardized (FTS-0005), as is the file transfer protocol
(FTS-0001), the compiled format used by each mailer is implementation
dependent.
One reason that compiled formats to differ is the addition of out of
band information to the Nodelist during the compilation process.
Added information includes phone call costs as well as shared secrets.
9.5.1. Cost data
Although cost information is not part of the Nodelist, in compiling
the Nodelist into the format used by the mailer, Nodelist compilers
support the addition of cost information. This information is then
subsequently used to guide mailer behavior.
Since phone call costs depend on the rates charged by the local phone
company, this information is local in nature and is typically entered
into the Nodelist compiler's configuration file by the system adminis-
trator.
9.5.2. Shared secrets
In FidoNet, shared secrets are used for authenticated sessions between
systems. Such authenticated sessions are particularly important
between the local, regional and zone coordinators who handle prepara-
tion and transmission of the Nodediffs. A single shared secret is used
per system.
Aboba, Lu, Alsop, Ding & Wang [Page 30]
INTERNET-DRAFT 10 June 1997
9.6. Accounting
Within FidoNet, the need for accounting arises primarily from the need
of local, regional and zone coordinators to be reimbursed for their
expenses. In order to support this, utilities have been developed to
account for network usage at the system level according to various
metrics. However, the accounting techniques are not applied at the
user level. Distributed authentication and accounting are not imple-
mented and therefore users may not roam between systems.
10. Acknowledgements
Thanks to Glen Zorn of Microsoft and Lynn Liu and Tao Wang of AimQuest
for useful discussions of this problem space.
11. References
[1] S. Cobb. "PPP Internet Protocol Control Protocol Extensions for
Name Server Addresses" RFC 1877, Microsoft, December 1995.
[2] T. Berners-Lee, R. Fielding, H. Frystyk. "Hypertext Transfer
Protocol - HTTP/1.0." RFC 1945, MIT/LCS, UC Irvine, May 1996.
[3] B. Baker, R. Moore, D. Nugent. "The Distribution Nodelist."
FTS-0005, February, 1996.
[4] A. Lentz. "ISDN Nodelist flags." FSC-0091, June, 1996.
[5] D. J. Thomas. "A Proposed Nodelist flag indicating Online Times
of a Node." FSC-0062, April, 1996.
[6] L. Kolin. "Security Passwords in Nodelist Update Files."
FSC-0055, March, 1991.
[7] R. Gwinn, D. Dodell. "Nodelist Flag Changes Draft Document."
FSC-0009, November, 1987.
[8] R. Heller. "A Proposal for A FidoNet Domain Name Service."
FSC-0069, December, 1992.
[9] C. Rigney, A. Rubens, W. Simpson, S. Willens. "Remote Authenti-
cation Dial In User Service (RADIUS)." RFC 2058, Livingston, Merit,
Daydreamer, January, 1997.
[10] C. Rigney. "RADIUS Accounting." RFC 2059, Livingston, January,
1997.
Aboba, Lu, Alsop, Ding & Wang [Page 31]
INTERNET-DRAFT 10 June 1997
12. Authors' Addresses
Bernard Aboba
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
Phone: 206-936-6605
EMail: bernarda@microsoft.com
Juan Lu
AimQuest Corporation
1381 McCarthy Blvd.
Milpitas, California 95035
Phone: 408-273-2730 ext. 2762
EMail: juanlu@aimnet.net
John Alsop
i-Pass Alliance Inc.
650 Castro St., Suite 280
Mountain View, CA 94041
Phone: 415-968-2200
Fax: 415-968-2266
EMail: jalsop@ipass.com
James Ding
Asiainfo
One Galleria Tower
13355 Noel Road, #1340
Dallas, TX 75240
Phone: 214-788-4141
Fax: 214-788-0729
EMail: ding@bjai.asiainfo.com
Wei Wang
Merit Network, Inc.
4251 Plymouth Rd., Suite C
Ann Arbor, MI 48105-2785
Phone: 313-764-2874
EMail: weiwang@merit.edu
Aboba, Lu, Alsop, Ding & Wang [Page 32]