PPPOE-RELAY(8) System Manager's Manual PPPOE-RELAY(8)

pppoe-relay - عامل رله PPPoE در فضای کاربری.

pppoe-relay [گزینه‌ها]

برنامه pppoe-relay یک عامل رله در فضای کاربری برای PPPoE (Point-to-Point Protocol over Ethernet یا پروتکل نقطه به نقطه روی اترنت) برای لینوکس است. pppoe-relay در هماهنگی با کلاینت pppoe و سرور pppoe-server کار می‌کند. برای مشاهده جزئیات مربوط به نحوه کارکرد pppoe-relay، بخش «نحوه عملکرد» را در ادامه این راهنما ببینید.

رابط اترنت interface را به فهرست رابط‌های مدیریت‌شده توسط pppoe-relay اضافه می‌کند. تنها سرورهای PPPoE می‌توانند به این رابط متصل شوند.
رابط اترنت interface را به فهرست رابط‌های مدیریت‌شده توسط pppoe-relay اضافه می‌کند. تنها کلاینت‌های PPPoE می‌توانند به این رابط متصل شوند.
رابط اترنت interface را به فهرست رابط‌های مدیریت‌شده توسط pppoe-relay اضافه می‌کند. هم کلاینت‌ها و هم سرورهای PPPoE می‌توانند به این رابط متصل شوند.
حداکثر num نشست هم‌روند PPPoE را مجاز می‌داند. در صورت عدم تعیین، مقدار پیش‌فرض ۵۰۰۰ است. مقدار num می‌تواند در محدوده ۱ تا ۶۵۵۳۴ باشد.
مدت‌زمان مجاز برای عدم فعالیت (idle timeout) نشست را مشخص می‌کند. اگر هر دو طرف در یک نشست بیش از timeout ثانیه غیرفعال باشند، نشست خاتمه می‌یابد. اگر timeout برابر صفر تعیین شود، نشست‌ها هرگز به‌دلیل عدم فعالیت خاتمه نخواهند یافت.

توجه داشته باشید که روال انقضای نشست‌های غیرفعال هرگز با بسامدی بیشتر از هر ۳۰ ثانیه یک‌بار اجرا نمی‌شود، بنابراین مهلت زمانی تقریبی است. مقدار پیش‌فرض برای timeout ۶۰۰ ثانیه (۱۰ دقیقه) است.

گزینه -F باعث می‌شود pppoe-relay به پس‌زمینه فورک نشود؛ در عوض در پیش‌زمینه باقی می‌ماند.
گزینه -h یک پیام کوتاه از نحوه استفاده را چاپ کرده و خارج می‌شود.

دستور pppoe-relay به فریم‌های ورودی PPPoE PADI روی تمامی رابط‌های مشخص‌شده با گزینه‌های -B یا -C گوش فرا می‌دهد. هنگامی که یک فریم PADI دریافت می‌شود، pppoe-relay یک برچسب Relay-Session-ID به آن افزوده و فریم PADI را روی تمامی رابط‌های مشخص‌شده با گزینه‌های -B یا -S (به‌جز رابطی که فریم از طریق آن دریافت شده است) همه‌پخشی (broadcast) می‌کند.

هر فریم PADO دریافت‌شده به کلاینتی که فریم PADI را ارسال کرده بود رله می‌شود (به شرط آنکه حاوی برچسب‌های معتبر Relay-Session-ID باشند). به همین ترتیب، فریم‌های PADR از سوی کلاینت‌ها به متمرکزکننده دسترسی (access concentrator) مربوطه رله می‌شوند.

هنگامی که یک فریم PADS دریافت می‌شود، pppoe-relay آدرس‌های MAC دو طرف ارتباط و شناسه‌های نشست (session-ID) آن‌ها را در یک جدول درهم‌سازی وارد می‌کند. (شناسه نشستی که توسط متمرکزکننده دسترسی دیده می‌شود ممکن است با آنچه توسط کلاینت دیده می‌شود متفاوت باشد؛ pppoe-relay باید نشست‌ها را مجدداً شماره‌گذاری کند تا از احتمال وجود شناسه‌های نشست تکراری جلوگیری شود.) هر زمان که هر یک از دو طرف یک فریم نشست ارسال کنند، pppoe-relay مدخل نشست را در جدول درهم‌سازی جستجو کرده و فریم را به طرف مربوطه رله می‌کند.

هنگامی که یک فریم PADT دریافت می‌شود، pppoe-relay آن را به طرف مقابل رله کرده و مدخل نشست را از جدول درهم‌سازی خود حذف می‌کند.

اگر یک کلاینت و سرور دچار فروپاشی (crash) شوند (یا فریم‌ها از بین بروند)، ممکن است فریم‌های PADT هرگز ارسال نشوند و جدول درهم‌سازی pppoe-relay با نشست‌های راکد و کهنه پر شود. بنابراین، یک روال پاک‌سازی نشست به‌صورت دوره‌ای اجرا می‌شود و نشست‌های قدیمی را از جدول درهم‌سازی حذف می‌کند. یک نشست در صورتی «قدیمی» در نظر گرفته می‌شود که در طول timeout ثانیه هیچ ترافیکی در آن مشاهده نشده باشد. هنگامی که یک نشست به‌دلیل اتمام مهلت زمانی حذف می‌شود، یک فریم PADT به هر یک از طرفین ارسال می‌شود تا اطمینان حاصل شود که آن‌ها از پایان یافتن نشست آگاه هستند.

pppoe-relay -C eth0 -S eth1

مثال بالا فریم‌ها را بین کلاینت‌های PPPoE در شبکه eth0 و سرورهای PPPoE در شبکه eth1 رله می‌کند.

pppoe-relay -B eth0 -B eth1

این مثال یک رله شفاف (transparent relay) است -- فریم‌ها بین هر ترکیبی از کلاینت‌ها و سرورها در شبکه‌های eth0 و eth1 رله می‌شوند.

pppoe-relay -S eth0 -C eth1 -C eth2 -C eth3

این مثال فریم‌ها را بین سرورها در شبکه eth0 و کلاینت‌ها در شبکه‌های eth1، eth2 و eth3 رله می‌کند.

برنامه pppoe-relay توسط Dianne Skoll <dianne@skoll.ca> نوشته شده است.

صفحه خانگی pppoe در آدرس https://dianne.skoll.ca/projects/rp-pppoe/ قرار دارد.

pppd(8), pppoe(8), pppoe-sniff(8), pppoe-server(8)

26 January 2001 4th Berkeley Distribution