【Diameter vs RADIUS】5-2. 「AVPに格納できるデータ量」
ユーザー認証、課金情報管理の新世代プロトコルDiameter(ダイアメーター)の機能を、先代プロトコルRADIUSと比較しながらご紹介します。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
デジタル証明書をサクっと送れるDiameter
RADIUSのAVPは、属性番号、長さ、属性値で構成されています。属性番号、長さに割り当てられた領域は1オクテットであるため、属性番号は1~255までしか規定できません。さらに長さフィールドの制限から、属性値には253オクテット(253バイト)が格納の上限となります。
253バイトは、英文字に換算すると253文字、日本語だと126文字に相当します。
一方、DiameterのAVPは
属性番号、フラグ、長さ、ベンダー識別子、属性値で構成されています。
長さを格納する領域には3オクテット割り当てられているので、属性値には最大約1670万オクテット(16Mバイト)まで格納することができます。
さらに通信時の暗号化も規定されています。これによって、最終目的地まで復号できないものと途中のホップで参照可能なものを組み合わせて送信することができます。
たとえば2キロバイト程度のデジタル証明書のやりとりでは、RADIUS(253バイト)では2キロバイトを1項目では運べないため、送信時に情報を細切れに分割し、受信時に、再度情報をつなぎあわせる必要がありますが、Diameter(16メガバイト)なら、1項目の情報をそのまま送受信することができます。