PCEF
محتویات |
PCEF/PCRF service
مقدمه
امروزه شبکههای ارتباطات ثابت مانند ADSL در حال گسترش هستند و ظرفیت آنها روز به روز افزایش می یابد. این امر سبب میشود تا این شبکهها با مشکلاتی مانند افزایش تراکنش ها به سبب افزایش روز افزون مشترکین، افزایش تنوع سرویس های قابل ارایه به مشترکین به سبب رقابتی بودن بازار و نیاز به توسعه زیرساخت مواجه باشند که در صورت عدم استفاده از راهکارهای صحیح و استاندارد، این مشکلات پس از مدتی باعث توقف ارایه سرویس مناسب و در نتیجه از رفتن سیستم خواهند شد. از طرفی شبکههای موبایل به دلیل ضریب نفوذ بالا و فراگیری بیشتری که نسبت به شبکههای ثابت دارند، پیشتر با این مشکلات مواجه شدهاند و با ارایه چهارچوبهای صحیح و استاندارد مشکلات ذکر شده را به نحوی حل کردهاند. به همین دلیل میتوان از راهکارهای ارایه شده در شبکههای موبایل جهت رفع مشکلات شبکههای ثابت نیز بهره برد تنها کافیست تطبیق پذیری ای بین استاندارد های شبکههای موبایل و نیازمندی های شبکههای ثابت مانند ADLS برقرار کرد تا مشکلات موجود این شبکهها نیز به روشی صحیح و استاندار که قابلیت توسعه پذیری را نیز داراست، رفع گردند.
استاندارد 3GPP
استاندارد 3GPP مربوط به شبکههای موبایل است که توسعه نسل های متفاوت این شبکهها مانند 3G، 4G، LTE و … را به راحتی ممکن میکند و استانداردهای مربوط به اجزای هسته شبکه (Core Network) آن در شبکههای ثابت نیز قابل استفاده است.
PCRF و PCEF
یکی از نیازمندی های شبکههای ارتباط ثابت، اعمال سیاستهای کنترلی شبکه برای هر یک از مشترکین این نوع شبکه است. این نیازمندی ضرورت وجود دو آلمان در شبکه را ایجاد می کند:
یک المان که به ترافیک مشترک دسترسی مستقیم دارد و میتواند سیاست هایی مانند تعریف پهنای باند، دسترسی به مقاصد مشترک و تفکیک ترافیک مصرفی را روی ارتباط هر از مشترکین اعمال کند که به آن PCEF گفته میشود
یک آلمان که با سیستم شارژینگ در ارتباط است و با توجه به وضعیت مشترک در سیستم شارژینگ وظیفه تعریف سیاستهای کنترلی و اعلام آن به PCEF را دارد که به آن PCRF گفته میشود
این دو المان بنا بر استاندارد 3GPP از رابط های پروتکل Diameter جهت ارتباط با سامانه شارژینگ و اکانتینگ استفاده میکنند و به دلیل پیچیدگی هایی که درعملکرد هر یک وجود دارند اقلب توسط شرکت ها به صورت مجزا طراحی و تولید میشوند و هر شرکت بنا به تکنولوژی خود تمرکز خود را روی تولید یکی و یا هردو معطوف می دارد. شرکت پارس پویش به عنوان تولید کننده نرمافزار های شارژینگ و اکانتینگ نسبت به تولید نرمافزار PCRF اقدام نمود است که قادر است با استفاده از رابط های استاندارد تعریف شده در استاندارد 3GPP به راحتی با سامانه های دیگر مانند PCEF و DPI شرکت های دیگر ارتباط برقرار نماید و وظیفه اعلام سیاستها به هر نرمافزار PCEF/DPI را به راحتی انجام دهد.
محصول PCRF شرکت پارس پویش سازگار با محصول PCEF شرکت دوران
پیرو مصوبه ۲۳۷ کمیسیون تنظیم مقررات ارتباطات در خرداد ماه ۱۳۹۵ که طی آن تمامی شرکت های ارایه دهنده خدمات اینترنتی موظف به تفکیک اکانتینگ ترافیک مصرفی مشترکین خود شدند. به همین دلیل شرکت پارس پویش علاوه برا راهکارهایی که برای این نیازمندی ارایه کرده است، جهت کاهش هزینه برای شرکت های ارایه دهنده خدمات اینترنتی و پشتیبانی از شرکت های داخلی، اقدام به برقراری ارتباط بین نرمافزار اکانتینگ IBSng و نرم افزارهای داخلی ای نمود که قادر به تفکیک ترافیک هستند. محصول PCEF شرکت داده پردازی دوران یکی از این محصولات است که با نرمافزار اکانتینگ IBSng شرکت پارس پویش یکپارچه شده است.
امکانات
نرمافزار PCEF محصول شرکت داده پردازی دوران شامل امکانات زیر می باشد:
- تعریف سرویس ها به صورت ثابت (Static)
- شمارش تفکیک شده میزان مصرف مشترکین در قالب سرویس های از پیش تعریف شده
- فعال و غیر فعال کردن هر یک از سرویس های فعال شده برای هر یک از مشترکین
- ارایه میزان مصرف تفکیک شده ی مشترکین به نرمافزار اکانتینگ با استفاده از واسط Gy پروتکل Diameter
- دریافت اطلاعات مورد نیاز مشترکین از نرمافزار PCRF شرکت پارس پویش فن آور با استفاده از پروتکل Radius
( سرویس به مجموعه تعاریفی گفته میشود که در لایه چهار معماری مرجع OSI قابل انجام بوده و تفکیک اکانتینگ بر اساس آنها انجام می شود.)
به توجه به این امکانات و مدت زمان محدود جهت یکپارچه سازی PCEF با محصول PCRF شرکت پارس پویش، نسخه ارایه شده PCRF شرکت پارس پویش با قابلیتهای زیر ارایه شد:
- ویژگی user awareness و اعلام سیاست های کنترلی با استفاده از پروتکل RADIUS به نرمافزار PCEF شرکت دوران
- دریافت تفکیک شده میزان مصرف هر مشترک از نرمافزار PCEF شرکت دوران با استفاده از رابط Gy پروتکل Diameter
- دریافت اطلاعات مشترکین از سامانه شارژینگ IBSng محصول شرکت پارس پویش جهت پردازش و اعلام به PCEF
- اعلام تفکیک شده میزان مصرف مشترکین به سامانه شارژینگ IBSng محصول شرکت پارس پویش
با این توضیح هر شرکت ارایه دهنده خدمات اینترنتی قادر خواهد بود تا پروژه تفکیک اکانتینگ ترافیک مصرفی مشترکین خود را با معماری زیر پیادهسازی نماید:
در این معماری، محصول PCEF شرکت دوران در مسیر ترافیک مشترکین ADLS قرار می گیرد و ضمن تفکیک ترافیک مشترکین و اعلام جداگانه آن ها به اکانتنیگ IBSng برای هر مشترک، سرویس هایی که توسط اکانتینگ IBSng به آن اعلام میشود را نیز بر اتصال مشترک اعمال می کند.
تعاریف
CCR
به درخواست هایی که روی رابط Gy پروتکل Diameter از PCEF به PCRF ارسال می شود CCR یا Credit Control Request گفته می شود و شامل اطلاعات تفکیک شده ی مصرف مشترک است.
به طور کلی CCR انواع زیر را داراست:
1)INITIAL_REQUEST (CC-Request-Type ID: 1)
An Initial request is used to initiate a credit-control session, and contains credit control information that is relevant to the initiation.
2) UPDATE_REQUEST (CC-Request-Type ID: 2)
An Update request contains credit-control information for an existing credit-control session. Update credit-control requests SHOULD be sent every time a credit-control re-authorization is needed at the expiry of the allocated quota or validity time. Further, additional service-specific events MAY trigger a spontaneous Update request.
3)TERMINATION_REQUEST (CC-Request-Type ID: 3)
A Termination request is sent to terminate a credit-control session and contains credit-control information relevant to the existing session.
CCA
به پاسخ هایی که اکانتینگ IBSng به ازای هر CCR به PCEF ارسال می کند CCA یا Credit Control Answer گفته می شود.
User-Awareness
به فرآیند اعلام زمان اتصال و قطع اتصال مشترک و نیز اعلام سرویس هایی که برای یک مشترک بایستی روی PCEF فعال گردد گفته می شود که توسط اکانتینگ IBSng کنترل می شود. در این فرآیند هنگامی که یک کاربر به RAS متصل می گردد ماژول PCRF اکانتینگ IBSng ، اتصال کاربر، آدرس IP کاربر و سرویس هایی که بایستی برای او روی PCEF فعال گردد را روی پروتکل RADIUS به PCEF اطلاع می دهد و هنگام قطع اتصال نیز این ماژول اتمام سرویس برای این مشترک را به PCEF اعلام می دارد.
Service
به مجموعه تعاریفی گفته می شود که تفکیک ترافیک مشترک و میزان پهنای باند او روی هر سرویس را ممکن می سازد. این تعاریف به صورت Static روی PCEF انجام می شود و نام هر سرویس تعریف شده به صورت Manual روی اکانتینگ IBSng اضافه می شود.
نیازمندی ها
سخت افزار
با توجه به میزان منابعی که محصول PCRF شرکت پارس پویش مصرف می کند تا سقف ۲۰۰،۰۰۰ کاربر آنلاین همزمان، می توان این محصول را روی سرور Core اکانتینگ IBSng نصب کرد به همین دلیل تا این سقف نیاز به سخت افزار جداگانه برای این محصول وجود ندارد.
جهت اطلاع از سخت افزار مورد نیاز برای PCEF لطفا به مستندات محصول PCEF شرکت دوران مراجعه نمایید.
نرم افزار
جهت استفاده از راهکار تفکیک اکانتینگ و ماژولPCRF سازگار با محصول PCEF شرکت داده پردازی دوران تنها نیاز است تا نرم افزار اکانتینگ IBSng به نسخه C_Diameter و تگ 361 و بالاتر بروزرسانی شود.
اطلاعات انتقالی بین PCEF و PCRF
در فرآیند تفکیک اکانتینگ مصرفی مشترکین ADSL با فرض اینکه برای هر کاربر n سرویس تعریف شده بوده، تعداد سرویس های فعال در اکانتینگ IBSng به صورت n+1 خواهد بود. به طور مثال اگر برای کاربردو سرویس اینترنت و اینترانت تعریف شده باشد در اکانتینگ IBSng سه سرویس برای کاربر فعال خواهد بود که میزان مصرف سرویس اینترنت و اینترانت را PCEF به صورت تفکیک شده نمایش می هد و سرویس سوم میزان مصرف کلی است که RAS به طور جداگانه برای اکانتینگ IBSng ارسال می کند.
در تصویر زیرسرویس Master اطلاعات است که RAS به طور کلی برای اکانتینگ IBSng ارسال می کند و شامل مجموعه مصرف مشترک بدون هیچگونه تفکیک ترافیک است. دو زیر سرویس rating-group-101 و rating-group-100 نیز میزان مصرف تفکیک شده ی مشترک (به طور مثال rating-group-100 برای میزان ترافیک اینترنت و rating-group-101 برای میزان ترافیک اینترانت) است که توسط PCEF به صورت تفکیک شده محاسبه و به اکانتینگ IBSng اعلام شده است. طبیعی است در پایان اتصال کاربر میزان مصرف اعلام شده توسط RAS بایستی برابر با مجموعه میزان تفکیک شده توسط PCEF باشد. لازم به ذکر است بسته به نوع شمارش پکت توسط RAS و PCEF ،ممکن است عدد اعلام شده توسط RAS مقداری با مجموعه ترافیک محاسبه شده توسط PCEF فاصله داشته باشد.
تصویر زیر تمام فرآیند تفکیک اکانتینگ ترافیک مصرفی مشترک را نمایش میدهد:
توضیح پیام ها
۱- کاربردرخواست اتصال به شبکه را ارسال می کند
۲- RAS در قالب یک Access-Request درخواست کاربر را به IBSng اعلام می کند
۳- IBSng پس از احراز هویت کاربر اجازه اتصال کاربر به شبکه را صادر می کند (Access-Accept)
۴-RAS پس از اتصال کاربردر قالب یک درخواست اکانتینگ Accounting-Request و از نوع Start زمان و اطلاعات اتصال کاربر را به IBSng اعلام می کند
۵- IBSng به محض دریافت Start از RAS یک درخواست user-awareness به PCEF ارسال کرده ، به PCEF زمان اتصال کاربر و سرویس هایی که بایستی برای کاربر فعال گردد را اعلام می کند
۶- PCEF به محض اطلاع از اتصال کاربر، سرویس های اعلام شده را برای کاربر فعال می کند و لیست سرویس های فعال شده و شروع تفکیک ترافیک را به IBSng اعلام می کند. این درخواست در قالب پروتکل Diameter و رابط Gy ارسال می شود. نوع درخواست CCA در این بخش Initial_Request است
۷- IBSng پس از دریافت CCR نوع 1 یک CCA به PCEF ارسال می کند و زمان ارسال CCR بعدی (CC-Time) برای هر سرویس به PCEF اعلام می کند. همچنین ارسال CC-Total-Octets و re-authorize سرویس در این مرحله کنترل می شود. (جهت اطلاعات بیشتر می توانید به RFC 4006 مراجعه نمایید.)
۸- PCEF آپدیت میزان مصرف کاربر(CCR ) را پس از اتمام زمان اعلام شده (CC-Time) به IBSng اعلام می کند
۹- IBSng پس از دریافت CCR پاسخ درخواست(CCA) را ارسال می کند
۱۰- PCEF آپدیت میزان مصرف کاربر(CCR ) را پس از اتمام زمان اعلام شده (CC-Time) به IBSng اعلام می کند
۱۱- IBSng پس از دریافت CCR پاسخ درخواست(CCA) را ارسال می کند
۱۲- PCEF آپدیت میزان مصرف کاربر(CCR ) را پس از اتمام زمان اعلام شده (CC-Time) به IBSng اعلام می کند
۱۳- IBSng پس از دریافت CCR پاسخ درخواست(CCA) را ارسال می کند
۱۴- کاربر درخواست قطع اتصال را برای RAS میفرستد
۱۵- RAS پس از قطع اتصال کاربر، قطع اتصال را در قالب( Accounting-Request Stop) برای اکانتیگ ارسال می کند
۱۶- IBSng پس از قطع اتصال کاربر یک درخوایت User-Awareness برای PCEF ارسال می کند و زمان قطع اتصال را به PCEF اعلام می کند
۱۷- PCEF پس از اطلاع از قطع اتصال کاربر شمارش تفکیک شده را متوقف و یک CCR از نوع 3 برای اکانتینگ ارسال می کند. در این بخش میزان تفکیک شده مصرف کاربر در اکانتینگ برای این اتصال ثبت می شود.
نکته: در فاصله بین پیام های ۴ تا ۱۵ RAS طبق پروتکل AAA میزان مصرف کلی کاربر را در قالب Accounting-Request Alive)) همچنان برای اکانتینگ ارسال می کند که مقادیر آن در بخش Master نمایش داده می شود.
تنظیم سرویس در پنل IBSng
تفکیک ترافیک با استفاده از اکانتینگ IBSng و PCEF شرکت داده پردازی دوران به صورت کلی شامل مراجل زیر می باشد:
1)افزودن PCEF در پنل مدیریتی اگانتینگ
2)برقراری ارتباط بین RAS و PCEF در پنل مدیریتی اکانتینگ IBSng
3)افزودن سرویس های تعریف شده در PCEF به اکانتینگ
4)تنظیم شارژها
افزودن PCEF در پنل مدیریتی اکانتینگ IBSng
برای افزودن PCEF وارد بخش Settings پنل مدیریتی IBSng شده سپس روی Add new RAS کلیک می کنیم
در این صفحه PCEF را که پیشتر در شبکه نصب شده است و ترافیک مشترکین از روی آن عبور می کند را اضافه می کنیم. لازم به ذکر است که اکانتینگ IBSng بایستی بتواند با PCEF با یک Management IP در ارتباط باشد:
لازم به ذکر است عبارت Radius Secret بایستی روی PCEF و IBSng یکسان باشد.
پارامتر های مهم این صفحه به صورت زیر بایستی تنظیم شود:
Attached_pcef_ras_id: بایستی برای دستگاه PCEF همراه -1 تنظیم شود.
Diameter_max_reauthorized_minutes بایستی برابر با update_accounting_interval باشد.
Update_accounting_interval این عدد مقداری است که اکانتینگ انتظار دارد PCEF آپدیت میزان مصرف مشترک را بر اساس این زمان ارسال کند و آن را در بخش CC-Time در هر CCA به PCEF اعلام می کند. واحد این پارامتر دقیقه است.
برقراری ارتباط بین RAS و PCEF در پنل مدیریتی اکانتینگ IBSng
برقراری ارتباط بین RAS و PCEF در پنل مدیریتی اکانتینگ IBSng به این معنی است که تفکیک ترافیک یک RAS را کدام بخش از شبکه انجام و اطلاعات تفکیک شده مصرف را به اکانتنیگ IBSng اعلام می کند. زمانیکه حجم ترافیک شبکه بالا باشد شاید نتوان تمام ترافیک را از یک PCEF عبور داد و لازم باشد ترافیک برخی از RAS ها را از روی PCEF جداگانه ای عبور داد. آنچه مهم است تنظیم PCEF ی است که وظیفه تفکیک ترافیک یک RAS را دارد.
برای این منظور از قسمت RAS List پنل IBSng ابتدا ID دستگاه PCEF را مشخص می کنیم.
سپس وارد بخش تنظیمات RAS ی می شویم که ترافیک آن یا از این PCEF عبور می کند یا این PCEF میزان مصرف تفکیک شده را به اکانتینگ IBSng اعلام می کند و ID این PCEF را در بخش attached_pcef_ras_id وارد می کنیم:
افزودن سرویس های تعریف شده در PCEF به اکانتینگ
از آنجایی که تعریف سرویس در PCEF انجام می گیرد لازم است نام و شماره سرویس تعریف شده جهت استفاده در شارژها ابتدا به اکانتینگ IBSng معرفی شود تا بتوان از آن ها در تعاریف شارژ استفاده کرد. هر سرویس در PCEF به طور کلی شامل سه پارامتر است:
1)Name: که بایستی بین PCEF و اکانتینگ یکسان باشد
2) Charging: که عددی است که بخش User-Awareness برای فعال و غیر فعال نمودن سرویس های از آن استفاده می شود و با پارامتر connect-info به PCEF اعلام میشود
3) QOS: که کیفیت سرویس تعریف شده را تعیین می کند و در بخش User-Awareness به ازاری هر سرویس، به PCEF تحت پارامتر connect-info اعلام می گردد. جهت اطلاعات بیشتر در مورد سه پارامتر فوق به مستندات PCEF مراجعه کنید
برای انجام تعاریف اولیه وارد بخش Settings -> Advance Config می شویم:
در بخش Charging نیز شماره Charging-Group هایی که پیشتر در PCEF تعریف شده است را وارد می کنیم. در این مثال دو Charging-Group تعریف شده است:
- 100 برای اینترانت
- 101 برای اینترنت
می تواند Charging Group های بیشتری نیز روی PCEF برای انواع سرویس ها مانند ترافیک داخل شبکه مخابرات، شبکه IXP و ... افزود و اینجا ID آن ها را اضافه کرد.
در ادامه جهت جلوگیری از اشتباهات تایپی بایستی نام سرویس ها که درون خود اکانتینگ IBSng استفاده می شود را وارد کرد. از این نام در مرحله بعد در تعریف شارژ ها استفاده می شود:
در بخش Services صفحه Advanced Configs نام سرویس ها را اضافه می کنیم.
تنظیم شارژها
برای تنظیم شارژها تنها کافیست برای هر سرویس مجموع قوانین شارژ را تعریف کنیم. منطق لحاظ شده در مکانیز عملکرد شارژها به این گونه است که هر اتصال کاربر از یک سرویس Master و چند SubService تشکیل شده است و اکاننتینگ کاربر بر این اساس صورت می پذیرد. سرویس Master سرویسی است که اطلاعات آن از RAS دریافت می گردد و در تنظیمات شارژ بایستی نوع SubService آن Master انتخاب شود. تمام قوانینی که SubService آن ها Master است روی RAS و اطلاعات آن لحاظ می گردد. سرویس هایی که روی PCEF تعریف شده اند نیز در قالب SubService روی اتصال کاربر لحاظ می شوند و اطلاعات آن از PCEF دریافت می گردد.
پس برای کاربری که قرار است ترافیک اینترنت و اینترانت او تفکیک شده محاسبه شود بایستی سه نوع قانون شارژ تعریف شود.
1)قانونی که اتصال او به RAS را امکان پذیر می کند و نوع subservice آن در قوانین شارژ Master انتخاب می شود.
2)قانونی که قرار است سرویس Internet را برای او روی PCEF فعال کند و نوع subservice آن در قوانین شارژ Internet (یا هر نامی که پیشتر در PCEF تعریف شده ) است .
3)قانونی که قرار است سرویس INTRANET را برای او روی PCEF فعال کند و نوع subservice آن در قوانین شارژ INTRANET (یا هر نامی که پیشتر در PCEF تعریف شده) است .
چند نکته پیرامون تنظیمات شارژها
- پارامتر Charge Per Megabyte بایستی تنها و تنها یا روی سرویس Master (سرویسی که اطلاعات آن توسط RAS اعلام می شود و میزان مصرف کلی مشترک را شامل میشود) تنظیم شود و یا روی سرویس های Internet و Intranet (سرویس هایی که روی PCEF تعریف شده است). در صورتی این پارامتر روی هردو تنظیم شود میزان مصرف کاربر دوبرابر محاسبه می شود
- کسر اعتبار برای کاربر به دو صورت کلی قابل محاسبه است
الف) به صورت تعیین اعتبار، به این صورت که برای مشترک یک اعتبار (Credit) کلی در نظر گرفته می شود و برای Subservice ها پارامتر Charge Per Megabyte لحاظ می گردد. به این شکل چه کاربر از اینترنت استفاده کند و چه از اینترانت کسر اعتبار به صورت کلی انجام می شود و با اتمام اعتبار اتصال کاربر قطع و کاربر اصطلاحا به حالت Failed در می آید
ب) یه صورت تعیین سقف مصرف روی هر سرویس، به صورت که در هر Subservice با استفاده از پارامتری مانند Maximum Traffic Rule Usage می توان برای کاربر سقف مصرف تعیین کرد. به طور مثال اگر بخواهیم برای کاربر شارژی تعریف کنیم که به او اجازه استفاده 2 گیگابایت اینترنت و 10 گیگابایت اینترانت دهد بایستی ابتدا یک قانون شارژ با نوع سرویس Master و بدون Charge Per Megabyte ایجاد کنیم. سپس یک قانون شارژ با نوع سرویس Internet، بدون Charge Per Megabyte و با Maximum Traffic Rule Usage= 2048MB به همراه یک قانون شارژ با نوع سرویس اینترانت، بدون Charge Per Megabyte و با Maximum Traffic Rule Usage=10240MB ایجاد کنیم.
برای تنظیمات failed نیز در حالت الف به صورت معمول عمل میکنیم اما برای حالت ب چون مشترک ممکن است سقف مصرف مجاز را برای یکی از سرویس ها به اتمام رساند و سرویس دیگری همچنان فعال باشد، بایستی ترافیک کاربر برای سرویسی که حق استفاده از آن را ندارد روی PCEF به صفحه پرتال Redirect شود. برای این امر بایستی پرتال امکان Redirect ترافیک کاربر را دارا باشد.
- برای تعیین سرعت مشترک در صورتی که بخواهیم محدودیت سرعت روی RAS به صورت کلی اعمال شود بایستی روی سرویس Master از پارامتر BW limit in RAS استفاده کرد اما در صورتی که بخواهیم برای هر سرویس محدودیت سرعت روی PCEF اعمال شود بایستی روی Subservice های Internet و Intranet از پارامتر QOS استفاده شود.