x32x01
  • بواسطة x32x01 ||
حاسس انك عايز تعمل حاجه مفيده ف تيجي تشغل اللاب بتاعك وتفتح ال browser وتكتب youtube.com والموقع يفتح معاك عايز تبحث عن حاجه مفيده تتعلمها لكن فجأه يتبادر الى ذهنك وتسأل نفسك هو ازاي الموقع دا ظهرلي ؟ و اي اللى بيحصل خلف الكواليس ؟

فتسمع ان فيه حاجه اسمها الDNS 🤔 فيا ترى اي هو الDNS ؟

كوباية القهوة بتاعتك و عايزك تركز معايا عشان البوست هيكون فيه معلومات تفصيلية تجاوبك على كل دا بإذن الله يلا بينا . . .

www.youtube.com
فى الواقع لما بتكتب اسم موقع وليكن www.youtube.com في المتصفح وتضغط Enter
اللي بيحصل مش مجرد ان الموقع بيفتح زي ما بنشوف كدا وخلاص لكن في الحقيقة، بتبدأ رحلة معقّدة وسريعة جدًا داخل الإنترنت، عشان يقدر يوصلك بالخادم (server) اللي بيحتوي على الموقع.

بس المشكلة إن المتصفح مش بيفهم "youtube.com" كده بالحروف (domain). ولكن الإنترنت كله مبني على عناوين IP، اللي هي أرقام زي كدا مثلاً (142.250.187.206)
عشان كده، أول خطوة هي إن الجهاز بيحوّل اسم الموقع ده لعنوان IP مفهوم وهنا بييجي دور حاجة اسمها DNS ، اللي يعتبر زي "دليل الContact" بتاعك كدا ما انت اكيد مش بتحفظ رقم حد عايز ترن عليه انت بتبحث بالاسم بتاعه وترن عليه اهو هنا نفس مبدأ العمل 🙂 .

تعالى بينا نتكلم تفصيلاً من منظور الnetworking عشان بتختلف
بعد ما كتبت وضغطت Enter ،فى رحلة كدا تتم خلف الكواليس وهى ان أول حاجة الجهاز بيعملها هي إنه يحاول يترجم الاسم ده (youtube.com) لعنوانIP ف يروح يسأل الDNS Server ومن

هنا بييجي دور البطل الخفي:
🌐 DNS – Domain Name System
الـ DNS هو زي دليل التليفونات بتاع الإنترنت. بدل ما تحفظ أرقام كتير (IP addresses) و دا مستحيل للعقل البشري ، بتكتب الاسم، والـ DNS يدوّر عليه ويجيب لك الرقم الصحيح والرحلة دي تسمى الاستعلام (Resolution)

رحلة ال (DNS Resolution)
أول حاجة الجهاز بيعملها: انه يسأل نفسه "هل أنا عارف الـ IP ده من قبل كدا او زرت الموقع دا مؤخراً ؟"
لو كنت زرت الموقع مؤخرًا، ممكن يكون محفوظ :
في DNS cache عند المتصفح.
او DNS cache في نظام التشغيل بتاعك.
أو حتى في جهاز الراوتر بتاعك مع مراعاة الترتيب
لو لقى الـ IP، بيروح له على طول.
لو مش موجود، يبدأ الرحلة 👇

وهي ان الجهاز بيبعت استعلام لـ DNS Resolver لمزود خدمة الانترنت بتاعك او (ISP) او Google DNS و دا بيكون defualt ما لم تغيره و دا ف الواقع بيكون server كل مهتمه انه ي handle طلبات الDNS فقط و الـ Resolver هو اللي هيمشي الرحلة كلها ويدوّر على الـ IP الصح . .

الـ Resolver بيمشي على 3 مراحل وللدقة 4 وهى انه بيترجم عنوان الموقع دا Left To Right
Example : www.youtube.com
Resolve : (www)(youtube)(.com)(.)

1. Root Name Servers(.):​

أول مكان بيروح له (.) اسمه الRoot بيسأله: "أنا بدوّر على youtube.com، تعرف حد يقدر يساعدني؟"
الـ Root بيرد عليه: "أنا معرفش، بس روح اسأل خوادم com. "
والRoot بيكون نقطة كدا بتتضاف by default من الbrowser فى نهاية الاسم بدل ما ندخلها كل شويه والservers دول عددهم 13 ومتمركزين على مستوى العالم اسماءهم من(A-M) وليهم نسخ كتير جداً وفيه نسخة من j_server فى Cairo وطبعاً متحكم فيهم من IANA و ICANN وجهات مختلفة تحت شروط محددة و تقدر تبحث اكتر ..

2. TLD Name Servers (.com):​

بعدين يروح يسأل ال com. : "عندك أي معلومات عنyoutube ؟"
يرد عليه ايوا : "روح اسأل الـ Authoritative Name Server بتاع YouTube"...
والTLD (Top Level Domains) اللى هى المشهورة (com,org,edu,gov ..etc) وكل حاجه ليها server .

3. Authoritative Name Server:​

وبعد كدا هنا المكان اللي عنده المعلومة النهائية. يقول له: انت youtube ؟ يقوله ايوا طيب عايز الwww يقوله اتفضل اهو: 142.250.187.206 .
طيب ليه انا قولت 4 خطوات مش 3 المرحلة الرابعة تعتبر Subdomain Resolution ودي مرحلة غالبًا بتكون جزء من الـ Authoritative Server، مش مرحلة منفصلة.لانه ممكن يكون عندي بدل الwww خدمة تانية زي (support,api,...etc) بعنوان IP آخر او اي خدمة تانية غير الموقع اللى هو (world wide web) www.
وآخيراً الـ DNS Resolver يرجّع الرقم للجهاز، والجهاز يخزنه مؤقتًا فى ال Cache علشان لو احتاجه تاني لا يكرر نفس الخطوات again .

يخلص الموضوع على كدا طبعاً لأ
بعد ما الجهاز عرف الIP للموقع جه وقت الاتصال بيه .. يعني بيعمل كل دا بحث فقط ؟ بالظبط كدا دا بحث بس لكن لسا الاتصال و دا بيتم عن طريق TCP/IP باستخدام حاجه اسمها TWH(Three Way Handshake) by TCP

ومش هذكر تفاصيل هنا... بعد ما يتم الاتصال، المتصفح يبعت طلب للسيرفر باستخدام بروتوكول الـ HTTP OR HTTPS ابحث عنهم وشوف الفرق , الطلب ده بيكون عبارة عن:
"أنا عايز الصفحة الرئيسية لموقعك!"

وهنا السيرفر بيرد على المتصفح بـ HTML ويأتي تباعاً الملفات الأخرى CSS,JS,Files لكن ليس بهذه البساطة فى عملية ب تتم هنا خاصة ب Backend مش موضوعنا
الموضوع قد يكون معقد وهناك تفاصيل اخرى لم اذكرها بالطبع لكن كل ده بيحصل في أجزاء من الثانية... حرفيًا!

في النهاية أحب اقولك ان كل مرة تفتح موقع اعرف إن في جيش من البروتوكولات شغال وراك 😅عشان يوصلك للمعلومة الصح وبكدا نكون خلصنا البوست بتاعنا اتمنى تكون استمتعت واستفدت وشكراً ,وخليك فاكر زكاة العلم نشره خلى بالك أزرار النشر فى أعلى البوست ولا تحقرن من المعروف شيئاً ,نراكم ف بوست قريباً..
• HTTP & HTTPS
• Three Way Handshake (TWH)
• IPv4 & IPv6 and issue With IPv4
• Rendring Operation or Template Engine in Backend
• DNS Records,Performance,Cookies,Cache
 
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
600
x32x01
x32x01
x32x01
الردود
0
المشاهدات
520
x32x01
x32x01
x32x01
الردود
0
المشاهدات
613
x32x01
x32x01
x32x01
الردود
0
المشاهدات
634
x32x01
x32x01
x32x01
  • x32x01
الردود
0
المشاهدات
628
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,718
المشاركات
1,923
أعضاء أكتب كود
372
أخر عضو
برعي المغربي
عودة
أعلى