مفاهیمپیشنمایش
تابآوری
اگر سرور کنترل نردبون در دسترس نباشد، شبکهی شما چطور به کارش ادامه میدهد.
شبکهی شما از طریق سرور کنترل نردبون (control plane) مدیریت میشود، اما کار کردنش به دسترسی دائمی به این سرور وابسته نیست. اگر نودی به سرور کنترل دسترسی نداشته باشد، مثلاً چون این سرور در کشور شما فیلتر شده است، آن نود به کارش ادامه میدهد.
نود چه میکند
وقتی سرور کنترل در دسترس نیست، نود:
- متوجه میشود و در خروجی
nardeboon statusهشدار نشان میدهد. - به کارش ادامه میدهد و از آخرین نقشهی شبکهی امضاشده (network map) و دادههایش استفاده میکند؛ حتی بعد از راهاندازی دوبارهی دستگاه.
- دوباره تلاش میکند؛ از طریق همهی ترنسپورتها و همهی endpointهای شناختهشده، و همچنین از طریق رلهها و همتاها.
$ nardeboon status
Connected to network home as mypc (100.101.12.4)
! Can't reach the control plane since 09:14; the tunnel keeps working on its last network map, valid until Oct 20 09:12.
PEER ADDRESS OS STATUS
hetzner 100.83.20.5 linux active, 4s ago
laptop 100.101.40.7 linux onlineهمتاهایش هم همچنان به آن میرسند. سرور کنترل نودی را که صدایش را نمیشنود آفلاین نشان میدهد، اما همتاها کلیدها و آدرسهایش را نگه میدارند؛ پس اتصالهایی که کار میکنند ادامه پیدا میکنند.
بعد از راهاندازی دوباره
نود آخرین نقشهی شبکه را روی دیسک، کنار وضعیتش در /var/lib/nardeboon و فقط قابل خواندن برای root، نگه میدارد. وقتی روشن میشود و سرور کنترل در چند ثانیه جواب نمیدهد، تونلش را با همان نقشه بالا میآورد: آدرسها، routeها، قوانین دسترسی، نام دستگاهها و همتاهایش برمیگردند و مثل قبل همتاها را مستقیم یا از طریق رله پیدا میکند. همتاها بعد از راهاندازی دوباره هم آن را میشناسند؛ پس لازم نیست سرور کنترل دوباره معرفیاش کند.
بازهی اعتبار آفلاین
نود فقط تا مدت محدودی به وضعیت ذخیرهشدهاش تکیه میکند: بازهی اعتبار آفلاین شبکه. این بازه برای هر شبکه جداگانه تنظیم میشود و پیشفرض آن بازهی بلندی است: یک هفته. بعد از آن، نودی که هنوز به سرور کنترل نمیرسد دیگر از نقشهی نگهداشتهشده استفاده نمیکند.
رسیدن دوباره به سرور کنترل
ترافیک کنترلی از همان ترنسپورتهای پنهانشدهای عبور میکند که ترافیک دادهی شما، و از آن قابل تشخیص نیست. نود با همهی ترنسپورتها و همهی endpointهایی که میشناسد دوباره تلاش میکند. اگر خودش نتواند به سرور کنترل برسد، میتواند از طریق رله یا همتایی که به آن دسترسی دارد، به سرور کنترل برسد.
روی شبکهای که اتصالِ شروعشده از خودِ دستگاه را قطع میکند، سرور کنترل به دستگاه وصل میشود: دستگاه یک پیام کوتاه میفرستد که شبکه راهش میدهد و طوری رمز شده که فقط خودش میتوانسته بفرستدش، و سرور کنترل به آن زنگ میزند؛ پس حتی بدون همتایی که از آن رد شود، جلسهی خودش را دارد. همین پیام باعث میشود همتاها و رلههایش هم با آن تماس بگیرند. ترنسپورتها را ببینید.
دستبهدست شدن بهروزرسانیها بین همتاها
بعضی بهروزرسانیها منتظر سرور کنترل نمیمانند و همتاها آنها را به هم میرسانند (gossip):
| بهروزرسانی | چرا مهم است |
|---|---|
| بهروزرسانی امضاشدهی endpointها | وقتی یکی از همتاها شبکهاش را عوض میکند یا جابهجا میشود، همتاها باز هم همدیگر را پیدا میکنند. |
| ابطالهای امضاشده | دستگاه باطلشده حتی از طرف همتاهایی که به سرور کنترل دسترسی ندارند پذیرفته نمیشود. |
هر دو امضاشدهاند؛ پس همتاها میتوانند آنها را منتقل کنند، ولی نمیتوانند جعلشان کنند یا تغییرشان دهند.
مطالب مرتبط
- ترنسپورتها: ترافیک کنترلی و دادهای چطور پنهان میشود.
- مسیرها و رلهها: رلهها چطور کار میکنند و مسیرها چطور انتخاب میشوند.
- شبکهها و دستگاهها: انقضای کلید و باطل کردن دستگاه.