14 دی 1404
وقتی در گوگل سرچ میکنید، واقعاً چه اتفاقی میافتد؟
ما عادت کردهایم هر چیزی را در گوگل جستوجو کنیم و در کمتر از یک ثانیه پاسخ بگیریم؛ آنقدر سریع که اصلاً به فرآیندی که پشت این اتفاق رخ میدهد فکر نمیکنیم. اما واقعیت این است که پشت هر سرچ ساده، زنجیرهای از پیچیدهترین عملیاتهای سختافزاری، نرمافزاری و شبکهای دنیا در حال اجراست.
همهچیز از یک دکمه شروع میشود
در لحظهای که شما روی کیبوردتان یک کلید را فشار میدهید، اتفاق مهمی رخ میدهد:
برای هر دکمهای که میزنید، یک Interrupt به CPU ارسال میشود.
پردازندهها بهصورت پیشفرض منتظر کاربر نمیمانند؛ اگر بخواهید توجه CPU را جلب کنید، باید آن را «قطع» کنید. این کار با اینتراپت انجام میشود.
این فرآیند آنقدر سریع است که مغز ما اصلاً متوجه آن نمیشود، اما برای هر حرفی که تایپ میکنید، دقیقاً در حال رخ دادن است.
گوگل یعنی چه؟ یک نام یا یک مقصد؟
وقتی عبارت خود را در گوگل سرچ میکنید، اولین سؤال این است:
«گوگل کجاست؟»
کامپیوتر شما چیزی به نام google.com را نمیفهمد. این نام باید ابتدا به یک IP Address تبدیل شود.
اینجاست که DNS وارد عمل میشود تا نام دامنه را به آدرس عددی قابل فهم برای شبکه تبدیل کند.
بستهبندی دادهها و شروع سفر
بعد از مشخص شدن مقصد، درخواست شما:
-
تکهتکه میشود (Packetization)
-
از طریق کارت شبکه ارسال میشود
-
وارد شبکهی اینترنت میشود
اما این درخواست مستقیماً به دیتاسنتر اصلی گوگل نمیرسد.
Edge Network و POPs؛ گوگل نزدیکتر از آنیست که فکر میکنید
گوگل در سراسر دنیا شبکههایی به نام Edge Network دارد.
در این شبکهها سرورهایی قرار دارند که به آنها PoP (Point of Presence) گفته میشود.
وظیفهی این سرورها این است که:
-
درخواستهای پرتکرار و عمومی را پاسخ دهند
-
بار سنگین را از روی دیتاسنترهای اصلی بردارند
اگر پاسخ جستوجوی شما در این لایه وجود داشته باشد، همانجا جواب برمیگردد.
اما اگر نباشد، درخواست به دیتاسنترهای اصلی گوگل ارسال میشود.
قلب تپندهی گوگل
در دیتاسنترها:
-
درخواست شما پردازش میشود
-
الگوریتمهای بسیار پیچیده اجرا میشوند
-
از بین میلیاردها رکورد، مرتبطترین پاسخ انتخاب میشود
بعد از این مرحله، پاسخ دوباره:
-
بستهبندی میشود
-
مسیریابی میشود
-
و راه بازگشت را در پیش میگیرد
مسیر بازگشت؛ مسیریابی در مقیاس جهانی
پکتهای پاسخ از میان شبکههای مختلف، کشورها و حتی قارهها عبور میکنند.
در این مسیر، پیچیدهترین الگوریتمهای Routing و Path Selection تصمیم میگیرند هر بسته از کدام مسیر عبور کند تا سریعتر و مطمئنتر به مقصد برسد.
در نهایت:
-
بستهها به مودم شما میرسند
-
کارت شبکه آنها را دریافت میکند
-
سیستمعامل پردازش میکند
-
GPU درگیر میشود
-
پیکسلهای مانیتور تغییر میکنند
-
و شما نتیجهی جستوجو را میبینید
همهی اینها… زیر یک ثانیه
نکتهی حیرتانگیز اینجاست که تمام این فرآیند عظیم، معمولاً در کمتر از یک ثانیه انجام میشود.
سرعتی نزدیک به سرعت نور.
حالا یک سؤال مهم:
اگر انسان بخواهد فیزیکی چنین مسیری را در این زمان طی کند، چه مقدار انرژی نیاز دارد؟
حتی بدون وارد شدن به فرمولهای فیزیکی، بهصورت شهودی میدانیم که انرژی مورد نیاز، غیرقابل تصور است.
و اگر این موضوع را وارد معادلات دقیق فیزیکی کنیم، به نتایجی میرسیم که عملاً به سمت بینهایت میل میکنند.
اما این بحث، داستانی مفصلتر دارد که باید در فرصتی جداگانه به آن پرداخت.