سلام خدمت دوستان و همراهان گرامی ، طبق تصمیم تیم امنیتی عقاب سایبری یک مجموعه آموزشی تحت عنوان “معماری وب | Web Architecture” به صورت مقاله ای در سایت https://persian-cygle.ir/ منتشر خواهد شد. هدف از انتشار این مجموعه آموزشی برای یادگیری شبکه ، معماری وب و آشنایی با رایانش ابری میباشد . بدلیل کمبود منابع تخصصی به زبان فارسی ، این مجموعه آموزشی گردآوری شده تا قدم کوچکی برای ساختن جامعهIT ایران باشد . این مجموعه آموزشی در سه فصل بر محوریت معماری وب منتشر خواهد شد که هر فصل شامل بخش های مختلفی است که مباحث تخصصی را پوشش میدهد.
سه فصل این مجموعه به ترتیب زیر است :
در فصل اول مقدمات شبکه را مرور خواهیم کرد تا فرصت برای یادگیری در فصل های بعد مهیا شود. طبق تصمیم تیم امنیتی عقاب سایبری بنا بر این شده تا این سه فصل به صورت مرتبط منتشر شود . یعنی هر فصل از این سری مجموعه آموزشی کامل است و می توانید به صورت مجزا و بدون وابستگی فصل ها مطالعه کنید. اما بدلیل دسترسی آسان و راحت تر به صورت مرتبط منتشر خواهد. در فصل دوم به صورت ویژه متمرکز می شویم بر مباحث معماری وب و لازم به ذکر است که فصل دوم (معماری وب) طولانی ترین فصل این مجموعه آموزشی خواهد بود. در فصل سوم هم به مباحث رایانش ابری برای آشنایی مختصر خواهیم پرداخت. مخاطبان این مجموعه ، برنامه نویسان (Programmers)و توسعه دهندگان (Developers) سمت وب به ویژه کسانی که خواهان ورود به حوزه تخصصی تست و نفوذ وب (Web Penetration Testing) هستند خواهد بود.
برنامه نویسان و توسعه دهندگان می توانند تماما وقت خود را بر فصل دوم (معماری وب) این مجموعه آموزشی بگذارند و فصل اول (مقدمات شبکه) و فصل سوم (رایانش ابری) را نادیده بگیرند.برای دوستانی که هم قدم اول ورود به دنیای تست و نفوذ وب را می گیرند برای بازدهی بیشتر بهتر است این سه فصل را کامل مطالعه کنند و انتظار میرود قبل از شروع به مطالعه دوره Network+ را نیز گذرانده باشند. اما باز هم جای نگرانی نیست چراکه سعی شده مطالب به صورت پایه ای آموزش داده شود.
Introduction to Network (مقدمه ای بر شبکه)
مختصری در مورد فناوری شبکه (A Brief History of Network Technology)
قبل از شروع معرفی شبکه بهتر است تا کمی در مورد تاریخ شبکه صحبت کنیم. تا به جواب سوال “شبکه چطور آغاز شد؟” پاسخ دهیم. برمی گردیم به دوران قدرت نمایی دو ابر قدرت یعنی جماهیرشوروی و آمریکا ، در سال 1957 شوروی نخستین ماهواره تحت عنوان SPUTNIK-1 به فضا پرتاب کرد.
این اتفاق زمانی افتاد که جهان شاهد رقابت نفس گیر تسلیحاتی بین دو کشور شوروی و آمریکا بود. جهان درگیر جنگ سرد بود ، تمام اتفاق هایی که افتاد باعث شد وزرات دفاع آمریکا (United States Department of Defense) در اقدام های رقییب خود یعنی شوروی ، آژانس تحقیقاتی پیشرفته آرپا (ARPA) را تاسیس کند.
هدف اصلی ساخت این آژانس تحقیقاتی ، تامین ارتباطات در زمان جنگ جهانی احتمالی بود . در همین سال ها مراکز تحقیقاتی غیر نظامی مثل دانشگاه هایی که دغدغه اتصال کامپیوتر هارا به هم داشتند و این موضوع حسابی آن ها را به خودش جلب کرد.
آژانس آرپا مستقیما منابع مالی پروژه ای تحت عنوان اتصال کامپیوتر از راه دور را درMIT بر عهده گرفت. کمتر کسی است که نام MIT را نشنیده باشد اما اگر برایتان ابهام دارد باید بگویم MIT یک دانشگاه تحقیقاتی واقع در کشور آمریکا است. اولین شبکه جهان در سال 1960 بین چهار کامپیوتر راه اندازی شد که دوتا ازکامپیوترها در MIT یکی دیگر در در دانشگاه کالیفرنیا (University of California) و دیگری در مرکز تحقیقاتی استنفورد (Stanford University ) بود است.
این شبکه آرپانت نام گرفت. آرپانت (ARPANET) یا اختصار Advanced Research Projects Agency Network است که بعد ها به عنوان اینترنت امروزی گسترش یافت ، می توان آراپانت را پدر جد اینترنت امروزی دانست. اتفاقات پر رنگی در هنگام گسترش آرپانت به اینترنت اتفاق افتاد که می توان به ابداع روشی برای تبادل اطلاعات یعنی روش پکت سوئیچینگ بسته ای (Packet Switching) اشاره کرد که جایگزین سوئیچینگ مداری (Switching Circuit) شد و با پیدایش پروتکل TCP/IP ، جایگزین پروتکلNCP شد و گسترش TCP/IP در سوئیچینگ بسته ای از دلایلی است که شاهد اینترنت امروزی هستیم و این اتفاق ها یک انقلابی عظیم دردنیای شبکه رقم زد. زیاد نگران اصطلاحات به کاربرده در متن بالا نشوید در ادامه آن را یاد خواهید گرفت.
تا الان تاریخچه پیدایش شبکه را برسی کردیم اما بهتر است بدانید خیلی ها معتقد هستند که پیدایش شبکه یک هدف از قبل برنامه ریزی شده بوده و اصلا ارتباطی به واکنش آمریکا نسبت به ماهواره اسپوتینک شوروی نداشته است و هدف آن صرفا حکمرانی بر اینترنت است که امروزه شاهد آن هستیم بوده. یکسری دلایل هم مطرح شده که به آن نمی پردازیم و صرفا برای آشنایی شما بیان شد و می توانید شخصا درباره آن تحقیق کنید.
در قرن بیستم شاهد جمع آوری ، پردازش و توزیع اطلاعات در سطوح مختلف هستیم. گسترش شبکه در دنیای امروزی بر علوم مختلف نیز تاثیر بسزایی داشته است. قرن حاضر به شدت زیرسایۀ فناوری اطلاعات و ارتباطات و یافته های نوظهور آن است و فناوری اطلاعات و ارتباطات بخش جدایی ناپذیر زندگی روزمره و مشاغل امروزی است.
پیوند کامپیوتر و مخابرات یک انقلابی عظیم در قرن بیستم بوده است. فعالیت های وابسته به فناوری اطلاعات و ارتباطات در بستر شبکه انجام میشوند که مهمترین این فعالیت ها انتقال داده است و کیفیت تبادل داده در شبکه رایانه ای به نوع و معماری شبکه و تجهیزات مورد استفاده در آن بستگی دارد.
در معماری شبکه نوع رسانه انتقال و استاندارد چیدمان اجزای فیزیکی شبکه تعیین میشود. بعد از صحبت مختصر در مورد تاریخ پیدایش شبکه ، حال قرار است شبکه را تعریف کنیم .
شبکه اشاره به اتصال دو یا مجموعه ای از کامپیوتر دارد که در پی آن دو هدف اساسی را دنبال می کند ، تبادل اطلاعات (Exchange of information) و اشتراک گذاری منابع (Share Resources) .
تصویر بالا نمایانگر یک شبکه محلی است.
در مقابل شبکه کوچک و محدود LAN ، ما شبکه های بزرگ تری به نام WAN را نیز داریم که در ادامه به آن خواهیم پرداختیم. خب قبل تر اشاره کردیم شبکه را به ابعاد خاصی تقسیم بندی می کنیم مثل شبکه LAN که کوچک و محدود به یک دفتر کاری یا یک ساختمان اداری یا چندین ساختمان کنار هم است اما یکسری پارامترهایی دیگری هم دخیل هستند مثل تجهیزاتی که در شبکه محلی ما استفاده شده و سرعت انتقال اطلاعاتی که ارائه می دهد.
مثلا بدون در نظر گرفتن محدودیت جغرافیایی ما تا زمانی یک شبکه LAN خواهیم داشت که از تجهیزاتی که در شبکه محلی استفاده می شود در این شبکه استفاده کنیم یا پارامتر دیگر سرعت انتقال شبکه است. در واقع تا زمانی ما یک شبکه LAN خواهیم داشت که سرعت انتقال آن چیزی بیش از 1Gb باشد.
چندان تعریف دقیقی نمی توان ارائه کرد اما همین قدر با پارامتر های دیگر هم آشنا باشید کفایت می کند. در ادامه با تجهیزات شبکه به صورت تخصصی آشنا خواهید شد. تا قبل از برسی شبکه های WAN بهتر است از مزیت شبکه LAN نسب به شبکه WAN آشنا شوید ، سرعت انتقال اطلاعات در شبکه محلی بسیار بیشتر است دلیل آن هم مشخص است ابعاد کوچک تریی که دارد و مزیت شبکه WAN نسبت به یک شبکه محلی یا LAN وسعت زیاد آن است و محدودیتی در اتصال دستگاه ها در شبکه خود را ندارد.
تفاوت های زیادی در دستگاه ها و رسانه هایی که شبکه مارا می سازند وجود دارد ولی ما رایج ترین آن هارا که در ساخت یک شبکه استفاده می شود را معرفی خواهیم کرد.
سرویس گیرنده (Client) :در بخش اول منابع در شبکه را به دو دسته سخت افزاری و نرم افزاری تقسیم بندی کردیم ، حال باید بدانید سرویس گیرنده در یک شبکه به رایانه ای اطلاق می شود که درخواست استفاده از منابع را در شبکه دارد.
مثالی برای درک آن خواهم زد ، یه فروشگاه مواد غذایی را در نظر بگیرید فردی که برای خرید اغلامی وارد آن فروشگاه می شود کسی است که درخواستی برای ارائه خدمات دارد کسی که سرویسی می گیرد ، به آن سرویس گیرنده یا Client می گویند.
سرویس دهنده (Server): در مقابل سرویس گیرنده ما سرویس دهنده یا Serverرا داریم که به رایانه ای در شبکه اطلاق می شود که سرویسی ارائه می دهد ، برای تکمیل مثال قبل به فروشگاه مواد غذایی فکر کنید. من به عنوان یک Client یا مشتری وارد فروشگاه می شوم ، فروشنده را می بینم که آماده دادن خدمات به من است در واقع من از او طلب ارائه سرویس می کنم و اغلام غذایی خودم را دریافت می کنم . در این مثال من کسی هستم که از سرویسی استفاده می کند و در مقابل فروشنده کسی است سرویسی را به من ارائه می دهد همانند سرویس دهنده یا Server در شبکه است.
با توجه به کارکرد سرور ها ، بخشی از انواع ان را میتوانیم در دسته بندی زیر ببینیم .
File Server , Mail Server , Print Server , Web Server , Fax Server , Proxy Server , Application Server
محیط انتقال (Communication Media) :تا الان با موارد بالا به خوبی آشنا شدید حال باید برسی کنیم که ارتباطات در شبکه به چه صورت است؟ ارتباطات در شبکه به واسطه Media یا رسانه انجام می شود این ارتباط یا رسانه اساسا می تواند به صورت سیمی (Wired) یا بی سیم (Wireless) باشد.
سیستم عامل در شبکه (operating systems): سیستم عامل اجازه استفاده از شبکه را به شما می دهد تا از خدمات شبکه بهره ببرید و سرویس های یک شبکه بر روی سیستم عامل ها به شبکه ها ارائه میشود.
پروتوکل (Protocol) :به مجموعه قوانین و قرار داد هایی اشاره دارد که تعیین می کند کامپیوتر ها در یک شبکه چطور باهم ارتباط برقرار کنند.
این اجزا رایج ترین اجزای تشکیل شبکه است و در ادامه بیشتر با آن آشنا خواهیم شد.
با شبکه محلی آشنا شدید باید بدانید در شبکه گسترده ما با یک شبکه ای عظیم تر با ابعاد جغرافیایی بزرگ تر رو به رو هستیم این ابعاد می تواند به اندازه یک استان باشد یا حتی یک کشور را پوشش دهد . این شبکه عظیم معمولا از زیرخواست های مخابراطی استفاده می کند .
مثال یک شبکه گسترده عبارت است از :
برای درک بهتر آن اینطور تصور کنید که یک شبکه WAN از اتصال چندین شبکه LAN به وجود می آید.
در تصویر بالا ما دو شبکه محلی از هم جدا شده داریم که اصطلاحا به آن separate LANs می گویند.
ما دو شبکه به نام های Sales و Marketing داریم که از هم جدا هستند. حال اگر یک کامپیوتر در شبکه Sales بخواهد با پرینتر شبکه Marketing ارتباط برقرار کند باید چه فرایندی انجام شود.
خب مطمئن هستم که جواب تان این است که باید به هم متصل شوند ، بله درست است. به تصویر زیر دقت کنید.
دو شبکه محلی ما از یک دستگاهی به نام Router یا مسیریاب بهم متصل شدند ، نمی خواهم به آن بپردازم اما بهتر است با آن آشنا باشید که این دستگاه در یک شبکه WAN استفاده می شود. اصل ماجرا اتصال دو شبکه محلی و ساختن یک شبکه گسترده است که با تصویر به خوبی متوجه آن شده ایم. اینظور تمام کنم که از اتصال چندین شبکه محلی یک شبکه گسترده به وجود می آید.