CDN در فصل ۲ «جادویی» کار کرد؛ این درس جادو را باز میکند: Anycast چطور کاربر را به نزدیکترین لبه میرساند، GeoDNS چه میکند، و چرا TLS 1.3 و edge computing تصمیمهای معماری را عوض کردهاند.
Anycast و BGP: یک IP ،هزار مکان
در Unicast هر IP یک مقصد دارد. در Anycast یک IP واحد از صدها لوکیشن در جهان اعلان (advertise) میشود و BGP — پروتکل مسیریابی اینترنت — ترافیک را به «نزدیکترین» اعلانکننده (از نظر مسیر شبکه، نه لزوماً جغرافیا) میبرد. همین دو معجزه میسازد: کاربر هندی به لبه هند میرسد بدون هیچ منطق اپلیکیشنی، و حمله DDoS حجمی بین صدها لبه پخش و رقیق میشود. DNS های بزرگ و CDN ها همینطور کار میکنند.
GeoDNS و هدایت ترافیک
- GeoDNS بر اساس موقعیت resolverِ کاربر جواب IP متفاوت میدهد: کاربر اروپا → IP اروپا. ساده و قدرتمند، ولی به TTL و کش DNS وابسته است (فصل ۱) و اگر resolver مرکزی باشد، مکان resolver ≠ مکان کاربر.
- ترکیب رایج: Anycast برای ورود به شبکه لبه + routing داخلی هوشمند به سالمترین/نزدیکترین origin.
- برای failover بین region (فصل ۹)، GeoDNS با TTL کوتاه + health check استاندارد است — ولی یادت باشد DNS کش میشود؛ failover «فوری» نیست، «بهاندازه TTL» سریع است.
TLS 1.3 و لبه محاسباتی
- TLS 1.3: handshake در 1-RTT (قدیم 2) و از رمزهای کهنه پاک شده؛ در عمل یعنی اتصال تازه ارزانتر — برای API های پراتصال و موبایل محسوس است.
- Edge Compute (Cloudflare Workers ،Lambda@Edge): کد تو روی همان لبه اجرا میشود — احراز توکن، شخصیسازی سربرگ، A/B ،ردیابی bot — بدون رفتوبرگشت به origin. محدودیت: زمان اجرای کوتاه، state محدود، و هزینه per-invocation.
- قانون: منطق لبه باید سبک و سریع بماند؛ هر چیزی که به دیتابیس اصلی نیاز دارد، به origin برمیگردد — لبه جای تصمیمهای «هر-درخواستیِ کوچک» است.
به زبان ساده
Anycast یعنی یک IP واحد از صدها نقطه جهان اعلام شود تا هر کاربر به نزدیکترین برسد و حمله حجمی بین لبهها پخش شود؛ TLS 1.3 هم دستتکانی اتصال را کوتاه کرده.
مثال واقعی
مثل شعب یک بانک با یک شماره تلفن واحد: هر مشتری به نزدیکترین شعبه وصل میشود و اگر یک شعبه شلوغ شد، بقیه پاسخگویند.