<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Glen Zorn (Cisco Systems) -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
	<!ENTITY rfc2865 PUBLIC ''
		'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2865.xml'>
	<!ENTITY rfc2119 PUBLIC '' 
		'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
	<!ENTITY rfc3588 PUBLIC '' 
		'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3588.xml'>
	<!ENTITY rfc4005 PUBLIC '' 
		'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4005.xml'>
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="compact" ?>
<rfc category= "std" updates="4005" ipr="pre5378Trust200902" docName="draft-zorn-dime-radia-gate-04.txt">
	<front>
		<title abbrev="RADIA">The RADIUS-Diameter Gateway (RADIA) Application</title>
		
		<author fullname="Glen Zorn" initials="G." surname="Zorn">
			<organization>Network Zen</organization>
			<address>
				<postal>
					<street>227/358 Thanon Sanphawut</street>
					<city>Bang Na</city>
					<region>Bangkok</region>
					<code>10260</code>
					<country>Thailand</country>
				</postal>
				<phone>+66 (0) 87-040-4617</phone>
				<email>glenzorn@gmail.com</email>
			</address>
		</author>
				
		<author fullname="Lionel Morand" initials="L.M." surname="Morand">
			<organization>Orange Labs</organization>
			<address>
				<postal>
					<street>38-40 rue du general Leclerc</street>
					<city>Issy-moulineaux Cedex 9</city>
					<code>92794</code>
					<country>France</country>
				</postal>
				<email>Lionel.morand@orange-ftgroup.com</email>
			</address>
		</author>
     
		<author fullname="Tom Hiller" initials="T.H." surname="Hiller">
			<organization>Lucent Technologies</organization>
			<address>
				<postal>
					<street>1960 Lucent Lane</street>
					<city>Naperville</city>
					<region>Illinois</region>
					<code>60566</code>
					<country>USA</country>
				</postal>
				<email>tom.hiller@alcatel-lucent.com</email>
			</address>
		</author>

		<date year="2011"/>
		<keyword>Diameter</keyword>
		<keyword>RADIUS</keyword>
		<keyword>Security</keyword>
		<keyword>AAA</keyword>
		<abstract>
			<t>
			   This document describes the Diameter RADIUS-Diameter Gateway (RADIA) Application, which is designed to facillitate the interoperability of
			   Authentication, Authorization and Accounting (AAA) systems based upon RADIUS and Diameter.
			</t>
		</abstract>
	</front>
	
	<middle>
		<section title="Introduction" anchor="Intro">
			<t>
				The  <xref target="RFC4005">Diameter Network Access Server (NASREQ) Application</xref> specifies methods to deal
				with various interactions between the <xref target="RFC2865">RADIUS</xref>
				and <xref target="RFC3588">Diameter</xref>
				protocols.  
				In particular,
				the translation of RADIUS messages and attributes to and from Diameter commands and Attribute-Value Pairs (AVPs) is described at some length.
				However,
				there is a fundamental and insurmountable problem with attempting to translate Diameter protocol elements into RADIUS protocol elements:
				a single Diameter AVP may be much larger than an entire RADIUS message.
				Various workarounds have been proposed to ameliorate this proble,
				including limiting the size of Diameter elements that might require translation into RADIUS and returning an error upon receipt of an untranslatable AVP.
				The former approach uneccessarily limits the utility of,
				for example,
				the NASREQ application in pure Diameter deployments while the latter can result in the denial of service to otherwise legitimate users.
				<vspace blankLines="1"/>
				This document describes a simple method to solve the problems of interaction between RADIUS and Diameter by taking advantage of the fact thata  RADIUS message 
				can fit into a single Diameter AVP.
			</t>
		</section>
		
		<section title="Requirements Language" anchor="Term">
			<t>
				The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
				"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
				document are to be interpreted as described in <xref target="RFC2119">RFC 2119</xref>.
		   </t>
		</section>

		<section title="The RADIUS-Diameter Gateway Application" anchor="RADIA">
			<t>
				The following sections define the syntax, semantics and usage of the RADIA application.
			</t>
			<section title="Advertising Application Support" anchor="AppSupp">
				<t>
				Servers and proxies supporting the RADIUS-Diameter Gateway application MUST advertise
				support by including the value &lt;AID&gt; in the Auth-Application-Id of the Capabilities-Exchange-Request (CER), Accounting-Request (ACR), Accounting-Answer (ACA), RADIA-Request (RDR), 
				and RADIA-Answer (RDA) messages.					
				</t>
			</section>
			<section title="Diameter Session Usage">
				<t>
					Session usage in the RADIA application is identical to that in NASREQ.
				</t>
			</section>
			<section anchor="Commands" title="Commands">
				<t>
					The RADIA application defines two new commands: Gateway-Request (RDR) and Gateway-Answer (RDA).
					The following sections describe these commands.			
				</t>
				<section title="The RADIA-Request (RDR) Command" anchor="RDR">
					<t>
						The peer sends the RADIA-Request (RDR) command, indicated by the Command-Code
						field set to &lt;CC1&gt; and the Command Flags' 'R' bit set, in order to transmit a RADIUS message (encapsulated in the <xref target="RadMsg">Radius-Message AVP</xref>)
						toward its final destination.
						The Radius-Message AVP will generally encapsulate a RADIUS request message (e.g., Access-Request).
						<vspace blankLines="1"/>
						Message format:
<figure>
<artwork>
      &lt;RDR&gt; ::= &lt; Diameter Header: CC1, REQ, PXY &gt;
                { Origin-Host }
                { Origin-Realm }
                { Destination-Realm }
                { Auth-Application-Id }
                { Radius-Message}
                [ Destination-Host ]
              * [ Proxy-Info ]
              * [ Route-Record ]
              * [ AVP ]
</artwork>
</figure>
					</t>
				</section>
				<section title="The RADIA-Answer (RDA) Command" anchor="RDA">
					<t>
						The peer sends the RADIA-Answer (RDA) command, indicated by the Command-Code
						field set to &lt;CC2&gt; and the Command Flags' 'R' bit set, in order to transmit a RADIUS message (encapsulated in the <xref target="RadMsg">Radius-Message AVP</xref>)
						toward its final destination.
						The Radius-Message AVP will generally encapsulate a RADIUS reply message (e.g., Access-Accept).
					<vspace blankLines="1"/>
					Message format:
<figure>
<artwork>
      &lt;RDA&gt; ::= &lt; Diameter Header: CC2, REQ, PXY &gt;
                { Origin-Host }
                { Origin-Realm }
                { Destination-Realm }
                { Auth-Application-Id }
                { Radius-Message}
                [ Destination-Host ]
              * [ Proxy-Info ]
              * [ Route-Record ]
              * [ AVP ]
</artwork>
</figure>
					</t>
				</section>
			</section>
			<section title="Attribute-Value Pairs" anchor="AVPS">
				<t>
					This section describes the single AVP specific to the RADIUS-Diameter Gateway application. 
				</t>
				<section title="Radius-Message AVP" anchor="RadMsg">
					<t>
						The Radius-Message AVP (AVP code &lt;AVP&gt;) is of type OctetString.
						The 'M' bit MUST be set and the 'V' bit MUST NOT be set.
						The AVP contains a complete RADIUS message.
					</t>
				</section>
			</section>
		</section>
		
		<section title="Security Considerations" anchor="SecCon">
			<t>
				The protocol defined in this specification has no effect upon the security of either Diameter or RADIUS.
			</t>		
		</section>
		
		<section title="IANA Considerations" anchor="IanaCon">
			<t>
				Upon publication of this memo as an RFC, IANA is requested to assign values as described in the following sections.
			</t>
			<section title="Diameter Application Identifier">
				<t>
					An application identifier for Diameter RADIUS-Diameter Gateway (&lt;AID&gt;, <xref target="RADIA"/>)
					must be assigned according to the policy specified in Section 11.3 of RFC 3588.
				</t>
			</section>
		
			<section title="Diameter Command Codes">
				<t>
					Command codes must be assigned for the RADIA-Request (RDR) (&lt;CC1&gt;, <xref target="RDR"/>)
					and RADIA-Answer (RDA) (&lt;CC2&gt;, <xref target="RDA"/>)
					commands according to the policy specified in RFC 3588, Section 11.2.1.
				</t>		
			</section>
		
			<section title="Attribute-Value Pairs">
				<t>
					A code must be assigned for the following AVP using the policy specified in RFC 3588, Section 11.1.1:
					Radius-Message (&lt;AVP&gt;, <xref target="RadMsg"/>). 
				</t>
			</section>
		</section>
	</middle>
	
	<back>
		<references title="Normative References">
			&rfc4005;
			&rfc2865;
			&rfc3588;
			&rfc2119;
		</references>
	</back>
</rfc>
