تحلیل سناریو جهانی DNS و کلاسترها

این سناریو یک نمای کلی از فرآیند دسترسی کاربران از نقاط مختلف جهان به یک سرویس وب با زیرساخت توزیع‌شده را به تصویر می‌کشد. در این مدل، از پروتکل‌ها و تجهیزات مختلفی برای بهینه‌سازی عملکرد، افزایش دسترس‌پذیری و مدیریت ترافیک استفاده شده است. در ادامه، به تحلیل اجزای کلیدی این سناریو می‌پردازیم.

graph TB %% کاربران با جزئیات کامل subgraph کاربران_جهانی A[Anna Schmidt - آلمان
IP: 85.10.20.30
MAC: AA:BB:CC:DD:EE:FF
Gateway: 192.168.1.1
MAC Gateway: 00:1A:2B:3C:4D:5E
Router: Cisco ISR 1000
Switch L2: Cisco Catalyst 2950 VLAN10
ISP: Deutsche Telekom] C[Reza Ahmadi - ایران
IP: 185.55.230.40
MAC: 77:88:99:AA:BB:CC
Gateway: 10.0.0.1
MAC Gateway: 11:22:33:44:55:66
Router: Cisco ISR 1000
Switch L2: D-Link DES-1210 VLAN10
ISP: آسیاتک] E[John Doe - آمریکا
IP: 73.45.67.89
MAC: 12:34:56:78:9A:BC
Gateway: 172.16.0.1
MAC Gateway: FF:EE:DD:CC:BB:AA
Router: Cisco ISR 1000
Switch L2: Netgear GS308 VLAN10
ISP: Comcast] end %% ARP محلی A -->|ARP: 192.168.1.1 -> 00:1A:2B:3C:4D:5E| ARP-EU[ARP Table EU
Local LAN] C -->|ARP: 10.0.0.1 -> 11:22:33:44:55:66| ARP-AS[ARP Table AS
Local LAN] E -->|ARP: 172.16.0.1 -> FF:EE:DD:CC:BB:AA| ARP-US[ARP Table US
Local LAN] %% سوئیچ‌های لایه 2 محلی A -->|Switch L2| SW-EU-L2[Cisco Catalyst 2950
VLAN10] C -->|Switch L2| SW-AS-L2[D-Link DES-1210
VLAN10] E -->|Switch L2| SW-US-L2[Netgear GS308
VLAN10] %% روترهای Gateway SW-EU-L2 -->|Router L3| GW-EU[Cisco ISR 1000
IP: 192.168.1.1
NAT, BGP] SW-AS-L2 -->|Router L3| GW-AS[Cisco ISR 1000
IP: 10.0.0.1
NAT, BGP] SW-US-L2 -->|Router L3| GW-US[Cisco ISR 1000
IP: 172.16.0.1
NAT, BGP] %% Local DNS GW-EU -->|DNS: 62.109.200.200| REC-EU[Recursive DNS EU
Deutsche Telekom] GW-AS -->|DNS: 185.55.225.225| REC-AS[Recursive DNS AS
آسیاتک] GW-US -->|DNS: 75.75.75.75| REC-US[Recursive DNS US
Comcast] %% Root Servers subgraph Root_Servers ROOT[Root Servers
Anycast IP: 198.41.0.4
a.root-servers.net
13 Global Clusters] end REC-EU -->|A Record Query| ROOT REC-AS -->|A Record Query| ROOT REC-US -->|A Record Query| ROOT %% TLD Servers ROOT -->|NS .com| TLD[TLD .com
IP: 192.5.6.30
a.gtld-servers.net
Verisign] %% Authoritative DNS TLD --> AUTH-EU[Authoritative DNS EU
Anycast IP: 185.228.228.10
Geo-based] TLD --> AUTH-AS[Authoritative DNS AS
Anycast IP: 104.16.248.249
Geo-based] TLD --> AUTH-US[Authoritative DNS US
Anycast IP: 104.16.0.249
Geo-based] %% هدایت Geo REC-EU -->|Geo Query| AUTH-EU REC-AS -->|Geo Query| AUTH-AS REC-US -->|Geo Query| AUTH-US %% کلاسترهای منطقه‌ای با روتر و سوئیچ subgraph کلاستر_اروپا AUTH-EU -->|IP: 185.10.1.1| LB-EU[Load Balancer EU
HAProxy 2.6
Failover <1s
Health Check: 5s] LB-EU -->|Switch L3| SW-EU-L3[Cisco Nexus 7000
IP: 10.0.1.1
VXLAN, OSPF
VLAN100: Web, VLAN200: DB] subgraph وب_سرورهای_اروپا SW-EU-L3 -->|TCP 80/443
Path: DE-CIX -> AWS eu-central-1| S1-EU[Web Server 1
Nginx 1.24, Ubuntu 22.04
EC2 t3.medium, 2 vCPU, 4GB
Public IP: 185.10.1.10
Private IP: 10.0.1.10
MySQL Galera, Redis v7.0] SW-EU-L3 -->|TCP 80/443| S2-EU[Web Server 2
Nginx 1.24, Ubuntu 22.04
EC2 t3.medium, 2 vCPU, 4GB
Public IP: 185.10.1.11
Private IP: 10.0.1.11
Replication] end end subgraph کلاستر_آسیا AUTH-AS -->|IP: 202.15.2.2| LB-AS[Load Balancer AS
HAProxy 2.6
Failover <1s
Health Check: 5s] LB-AS -->|Switch L3| SW-AS-L3[Cisco Nexus 7000
IP: 10.0.2.1
VXLAN, OSPF
VLAN100: Web, VLAN200: DB] subgraph وب_سرورهای_آسیا SW-AS-L3 -->|TCP 80/443
Path: IXP Tehran -> AWS ap-southeast-1| S1-AS[Web Server 1
Nginx 1.24, Ubuntu 22.04
EC2 t3.medium, 2 vCPU, 4GB
Public IP: 202.15.2.10
Private IP: 10.0.2.10
MySQL Galera, Redis v7.0] SW-AS-L3 -->|TCP 80/443| S2-AS[Web Server 2
Nginx 1.24, Ubuntu 22.04
EC2 t3.medium, 2 vCPU, 4GB
Public IP: 202.15.2.11
Private IP: 10.0.2.11
Replication] end end subgraph کلاستر_آمریکا AUTH-US -->|IP: 198.51.3.3| LB-US[Load Balancer US
HAProxy 2.6
Failover <1s
Health Check: 5s] LB-US -->|Switch L3| SW-US-L3[Cisco Nexus 7000
IP: 10.0.3.1
VXLAN, OSPF
VLAN100: Web, VLAN200: DB] subgraph وب_سرورهای_آمریکا SW-US-L3 -->|TCP 80/443
Path: NYIIX -> AWS us-east-1| S1-US[Web Server 1
Nginx 1.24, Ubuntu 22.04
EC2 t3.medium, 2 vCPU, 4GB
Public IP: 198.51.3.10
Private IP: 10.0.3.10
MySQL Galera, Redis v7.0] SW-US-L3 -->|TCP 80/443| S2-US[Web Server 2
Nginx 1.24, Ubuntu 22.04
EC2 t3.medium, 2 vCPU, 4GB
Public IP: 198.51.3.11
Private IP: 10.0.3.11
Replication] end end %% اتصال نهایی با Latency S1-EU -.->|HTTP 200 /index.html
Localized: German
Latency: ~20ms| A S1-AS -.->|HTTP 200 /index.html
Localized: Persian
Latency: ~150ms| C S1-US -.->|HTTP 200 /index.html
Localized: English
Latency: ~10ms| E

تحلیل پروتکل‌های کلیدی در سناریو

این سناریو از مجموعه‌ای از پروتکل‌های استاندارد شبکه برای مدیریت هر مرحله از فرآیند دسترسی کاربر به وب‌سایت استفاده می‌کند.

پروتکل‌های لایه ۲ و ۳

پروتکل‌های مسیریابی (Routing)

مسیریابی در این سناریو به دو بخش داخلی و خارجی تقسیم می‌شود:

پروتکل‌های مسیریابی داخلی (IGP)

پروتکل‌های مسیریابی خارجی (EGP)

نقش تجهیزات در سناریو

هر دستگاه در این سناریو یک وظیفه مشخص را بر عهده دارد تا سیستم به صورت یکپارچه و کارآمد عمل کند.

روتر و سوئیچ

فرآیند دسترسی به سرویس

فرآیند دسترسی یک کاربر به سرویس از طریق مراحل زیر انجام می‌شود:

  1. مرحله اول: DNS Resolution
    کاربر یک آدرس دامنه را وارد می‌کند. DNS محلی (Recursive DNS) برای یافتن IP سرور، ابتدا از **Root Servers** و سپس از **TLD Servers** و در نهایت از **Authoritative DNS** مربوط به آن دامنه پرس‌وجو می‌کند.
  2. مرحله دوم: Geo-based Traffic Steering
    با استفاده از تکنیک‌های Anycast و Geo-location، درخواست کاربر به نزدیک‌ترین کلاستر (اروپا، آسیا یا آمریکا) هدایت می‌شود تا تأخیر (Latency) به حداقل برسد.
  3. مرحله سوم: Load Balancing و مسیریابی داخلی
    در داخل کلاستر، **Load Balancer** ترافیک ورودی را بین چندین وب سرور توزیع می‌کند. سپس، سوئیچ چندلایه با استفاده از پروتکل‌هایی مانند OSPF و VXLAN، ترافیک را به سرورهای مناسب هدایت می‌کند.
  4. مرحله چهارم: پاسخ سرویس
    وب سرور مربوطه پاسخ (HTTP 200 /index.html) را به کاربر بازمی‌گرداند. این پاسخ با توجه به موقعیت مکانی کاربر، محلی‌سازی (Localized) شده است.

تمامی حقوق این سناریو و تحلیل آن برای میرعلی شهیدی محفوظ است.