تدوير عناوين IP في الوكلاء: متى يتغير العنوان
يغيّر التدوير عنوان IP للخروج الذي يراه الموقع عند تلقي حركة بياناتك عبر خادم وكيل. وقد يحدث التغيير مع طلب جديد، أو بعد فترة محددة، أو عندما يطلب تطبيقك عنوانًا آخر. ويتيح التوقيت المناسب توزيع الطلبات المستقلة على عناوين IP مختلفة مع إبقاء الإجراءات المرتبطة معًا.
تتناول مقالة الوكلاء الثابتون والوكلاء بعناوين متناوبة الاختيار الأوسع بين عنوان ثابت وعناوين متغيرة. أما هنا فالسؤال هو ما الذي يطلق التغيير، وكيف يؤثر في الطلبات الجاري تنفيذها.
ما الذي يتغير أثناء التدوير؟
مع بوابة تدوير، قد يبقى العنوان المدخل في برنامجك نفسه بينما يرى الموقع عناوين IP مختلفة للخروج. فأنت تتصل باسم المضيف والمنفذ نفسيهما، وتختار الخدمة نقطة الخروج المستخدمة للاتصال بالموقع.
مثلًا، قد يجلب برنامج لمراقبة الأسعار صفحة منتج عامة عبر 192.0.2.14، وصفحة أخرى عبر 198.51.100.27. وهذه عناوين توضيحية. ولم يغيّر الحاسوب الذي يشغل البرنامج اتصاله بالإنترنت؛ بل تصل الطلبات إلى الموقع عبر نقطتي خروج مختلفتين.
يحدد النتيجة قراران منفصلان: متى يُعاد اختيار نقطة خروج، ومن أين تأتي نقطة الخروج التالية. فقد يختار المؤقت وكيلًا آخر متاحًا، أو يعيد توصيل مودم محمول. والمحفز واحد، لكن العملية وأي انقطاع مصاحب لها قد يختلفان.
التدوير مع كل طلب
في التدوير لكل طلب، تختار الخدمة نقطة خروج مجددًا لكل طلب تستطيع توجيهه على نحو مستقل. ويناسب ذلك صفحات المنتجات المنفصلة أو القوائم العامة أو استعلامات البحث التي لا تحتاج إلى عنوان IP مشترك. ويجب التدقيق في كلمة «طلب» هنا: ففي حركة HTTPS وSOCKS5 عبر TCP، يُطبق التدوير عادةً عند فتح اتصال جديد بالوجهة.
تخيل جمع السعر من 500 صفحة منتج. وتوفر كل صفحة نتيجة مستقلة. ويمكن للخدمة توزيع تلك الطلبات على نقاط الخروج المتاحة بدل إرسال المهمة كلها عبر عنوان واحد. وقد تستخدم طلبات متعددة متزامنة نقاط خروج مختلفة أيضًا.
قد يعيد الاختيار الجديد عنوانًا استُخدم سابقًا. فالمجموعة المتاحة محدودة، وقد يكون الاختيار عشوائيًا. ولا يعد التدوير لكل طلب بحد ذاته بتوفير 500 عنوان IP مختلف لـ500 طلب.
الطلب والاتصال أمران مختلفان
يستطيع التطبيق إرسال عدة طلبات HTTP عبر اتصال واحد. ولإنشاء اتصال HTTPS عادي عبر وكيل، يفتح أولًا نفقًا إلى الوجهة. ثم تمر الطلبات المشفرة داخل النفق، ويمرّر الوكيل بياناتها دون قراءة الطلبات منفردة.
لذلك يبقى عنوان IP للخروج نفسه لذلك النفق. وقد تختار خدمة موصوفة بأنها «لكل طلب» نقطة خروج أخرى عند فتح التطبيق نفقًا جديدًا أو اتصالًا جديدًا بالوجهة. أما إعادة استخدام النفق القائم فقد تُبقي عنوان IP السابق.
قد تحمل صفحة المتصفح موارد كثيرة عبر اتصالات متعددة، وقد يعيد تحديثها استخدام اتصالات مفتوحة أصلًا. لذلك لا يرتبط التدوير بنقرة واحدة أو علامة تبويب واحدة أو تحميل صفحة كاملة مرة واحدة.
التدوير بعد فترة محددة
في التدوير الزمني، يستمر تخصيص عنوان IP مدة محددة، ثم تختار الخدمة نقطة خروج مجددًا. ويمكن للطلبات المرتبطة استخدام العنوان المخصص نفسه خلال تلك المدة، بشرط بقاء نقطة الخروج متاحة.
افترض أن جلسة تبدأ الساعة 10:00 ومدتها خمس دقائق. ويفتح الاختبار كتالوجًا ويطبق مرشحًا ويفحص صفحة النتائج التالية باستخدام نقطة الخروج نفسها. وعند 10:05 ينتهي التخصيص؛ وقد يحصل اتصال جديد بعد انتهائه على عنوان مختلف. وخمس دقائق هنا مثال، وليست فترة معيارية لكل خدمة.
تحقق من وقت بدء المؤقت. فقد يبدأ من أول طلب في الجلسة، أو يتبع جدولًا زمنيًا لمنفذ وكيل. وإذا كان التغيير المجدول التالي بعد دقيقة، فإن بدء المهمة الآن لا يمنحك مدة خمس دقائق كاملة. وقد تنهي مهلة خمول منفصلة التخصيص قبل ذلك أيضًا.
تنطبق الفترة عادةً على جلسة أو منفذ أو إعداد اتصال وكيل معين. ولا تدوّر بالضرورة كل اتصالات الحساب مرة واحدة. وإذا احتاجت عدة مهام إلى تخصيصات IP منفصلة، فلا بد من فصلها بالطريقة المقابلة التي تدعمها الخدمة.
يُسمى الاحتفاظ بنقطة خروج مخصصة عبر عدة طلبات عادةً جلسة ثابتة. ويمكن للخدمة المتناوبة استخدام هذا الوضع للاحتفاظ بعنوان مدة ثم الاختيار مجددًا.
التدوير عند الطلب
في التدوير عند الطلب، تختار أنت أو تطبيقك لحظة طلب نقطة خروج أخرى. وبحسب الخدمة، قد تكون أداة التحكم زرًا في لوحة التحكم أو عنوان URL للتدوير أو أمر API. وتخصص بعض الخدمات عنوانًا جديدًا أيضًا عند بدء جلسة وكيل مختلفة.
يفيد ذلك عندما تتكون المهمة من خطوات مترابطة ومدة غير متوقعة. فقد يفتح الاختبار نموذجًا ويرسله وينتظر صفحة التأكيد. ويمكنه الاحتفاظ بنقطة الخروج الحالية طوال التسلسل، ثم طلب تخصيص آخر قبل بدء الاختبار المستقل التالي.
يمكن أتمتة التدوير عند الطلب: يرسل التطبيق أمر التغيير بعد اكتمال مهمة أو عدد مختار من الطلبات. ويصف «عند الطلب» من يقرر توقيت التبديل. ولا يتطلب ضغط شخص على زر في كل مرة.
يهم نطاق أداة التحكم أيضًا. فقد يؤثر الأمر في جلسة واحدة فقط، أو منفذ وكيل كامل، أو مودم فعلي تشترك فيه عدة اتصالات. وإذا غيّر تخصيص جميع تلك الاتصالات، فقد يتأثر أيضًا العمل الآخر المستخدم لذلك المورد.
ماذا يحدث لطلب جارٍ؟
في اتصال TCP عادي بموقع، يبقى عنوان IP للخروج جزءًا من ذلك الاتصال. ويستخدم الطلب واستجابته الاتصال القائم نفسه. ولا يستطيع التدوير ببساطة نقل التبادل غير المكتمل إلى عنوان IP خروج آخر.
يمكن للخدمة التعامل مع لحظة التدوير بطرق مختلفة. فقد تسمح للاتصال القائم بإكمال عمله عبر نقطة الخروج الحالية، وتطبق التخصيص الجديد على الاتصالات اللاحقة. وقد تغلق الاتصال بدلًا من ذلك، فيضطر التطبيق إلى الاتصال مجددًا. كما قد تقطع إعادة توصيل المودم حركة البيانات المارة عبره.
لنأخذ تنزيلًا يبدأ قبل التدوير الزمني بقليل. إذا بقي الاتصال مفتوحًا، فقد يستمر التنزيل عبر نقطة الخروج القديمة بعد انتهاء المؤقت. وإذا أُغلق، فعلى التطبيق إعادة التنزيل أو استئنافه حيث يكون ذلك مدعومًا. ولا تكشف فترة التدوير وحدها سلوك النقل الجاري.
من أين يأتي عنوان IP التالي؟
اختيار نقطة خروج أخرى من مجموعة
تختار الخدمة القائمة على مجموعة نقطة خروج متاحة. وقد يستخدم الاتصال التالي عنوان IP مختلفًا على خادم مركز البيانات نفسه، أو خادمًا آخر، أو اتصالًا منزليًا، أو جهازًا محمولًا. ولا يتطلب اختيار نقطة خروج من مجموعة إعادة توصيل الجهاز الذي مرّر الطلب السابق.
حيث تدعم الخدمة مرشحات الموقع أو الشبكة، فإنها تقيد نقاط الخروج المؤهلة. ولا يتطلب اختيار عنوان IP آخر ضمن بلد تغيير البلد. وقد يعني الاختيار الضيق مجموعة أصغر من العناوين المتاحة وتكرارًا أكثر.
إعادة توصيل مودم محمول
تدوّر بعض خدمات وكلاء شبكات المحمول بفصل اتصال بيانات المودم الخلوي وإعادة إنشائه. وقد تتوقف حركة البيانات عبره مؤقتًا أثناء العملية. ويحدد مشغل الشبكة العناوين العامة، لذا قد تعيد إعادة الاتصال عنوان IP العام نفسه.
وتختار خدمات محمول أخرى جهازًا مختلفًا متاحًا من مجموعة. وكلاهما شكل من تدوير وكلاء شبكات المحمول، لكن تأثيرهما في العمل الجاري قد يختلف. ولا يحدد مصطلح تدوير شبكة المحمول وحده الآلية المستخدمة.
من يتحكم في التبديل؟
مع بوابة التدوير، يختار المزود نقطة الخروج وفق الوضع المطلوب. ويمكن لتطبيقك إبقاء البوابة نفسها في إعداداته بينما تدير الخدمة عناوين الخروج.
يمكن لتطبيقك أيضًا تدوير قائمة وكلاء ثابتين بنفسه. فمثلًا، يستخدم العنوان الأول لمهمة، والثاني للتالية، ويواصل عبر القائمة. ويمكنه الاختيار بالترتيب أو عشوائيًا، أو التبديل بعد كل طلب مستقل، أو الاحتفاظ بوكيل حتى انتهاء المهمة.
إذًا يمكن لقائمة وكلاء مراكز بيانات أو ISP ثابتين دعم سير عمل متناوب. ويبقى عنوان IP لكل وكيل ثابتًا، بينما يغيّر برنامجك الوكيل الذي يمرّر الاتصال التالي. ويفيد ذلك عندما تريد التحكم بنفسك في تخصيص العناوين للمهام.
استبدال العناوين المشتراة في اشتراك عملية منفصلة. فالتحديث المجدول يغيّر مجموعة عناوين IP التي يمكنك الوصول إليها. ولا يجعل تطبيقك يتنقل بينها تلقائيًا أثناء العمل.
اختيار التوقيت وفق المهمة
ابدأ بتحديد الإجراءات التي تحتاج إلى الاحتفاظ بنقطة الخروج نفسها. ثم ضع التغيير في موضع يسمح للطلب أو المهمة التالية باستخدام عنوان IP آخر.
| المهمة | التوقيت المناسب | السبب |
|---|---|---|
| جمع صفحات منتجات عامة منفصلة | لكل طلب أو اتصال جديد بالوجهة | يمكن جلب كل نتيجة عبر نقطة خروج اختيرت على نحو منفصل. |
| إجراء عدة فحوص مترابطة خلال مدة معلومة | تخصيص زمني يغطي تلك الفحوص | يمكن للطلبات مشاركة نقطة خروج ما دام التخصيص ساريًا. |
| إكمال تسلسل متغير المدة | عند الطلب، بعد الاكتمال | يعرف تطبيقك متى انتهت الخطوات التي تنتمي إلى المهمة نفسها. |
في النقل الطويل، تهم طريقة التعامل مع الاتصالات القائمة أكثر من قِصر فترة التدوير. وللمهام المتزامنة المتعددة، تحقق مما إذا كانت أداة التدوير تنطبق على كل مهمة منفردة أو على مورد تشترك فيه.
لا يؤدي تغيير عنوان IP إلى مسح ملفات تعريف الارتباط أو بيانات الحساب. وقد يظل الموقع قادرًا على ربط الطلبات بالجلسة أو الحساب نفسه. فالتدوير يوزع البيانات على نقاط خروج، ولا يعيد ضبط كل قيد ولا يضمن نجاح الطلب.
اختبر الوضع المختار على نطاق صغير قبل التشغيل الكامل. وسجل عنوان IP للخروج والوقت للاتصالات الجديدة، ثم كرر الفحص عند عبور الحد الزمني المتوقع أو بعد أمر تغيير. وتحقق أيضًا من بقاء اتصال مفتوح. وتبين هذه المشاهدات مدى مناسبة التبديل الفعلي للمهمة؛ فتكرار عناوين IP وحده لا يثبت تعطل التدوير.
