اما اینترنت چگونه کار میکند؟ چه اجزایی دارد و مهمتر این که به چه کسی تعلق دارد؟ به سروری که از طریق آن وارد دنیای مجازی وب میشویم؟ به ما که کاربران آن هستیم؟
در واقع هیچکدام. چون اینترنت نه به ما که به هیچ کس دیگری تعلق ندارد.
اینترنت مجموعهای جهانی از شبکههای بزرگ و کوچک است که به هم پیوستهاند و نام اینترنت (شبکههای در هم تنیده) از همین مجموعه گرفته شده است.
اینترنت کارش را سال ۱۹۶۹ با چهار هسته یا سیستم کامپیوتری میزبان شروع کرد اما امروز میلیونها مورد از آنها در سراسر جهان وجود دارند.
- مفاهیم و چطورهای دیجیتال / سیستم عامل چیست؟ / تاریخچه کامپیوتر / شرکتهای فناوری جهان / فناوریهای دیجیتال / نرمافزار / سخت افزار
البته این که گفته میشود اینترنت صاحب ندارد بدان معنا نیست که هیچ کس بر آن نظارت ندارد. یک موسسه غیرانتفاعی به نام انجمن اینترنت (Internet Society) که در سال ۱۹۹۲ تشکیل شده است مسئول نظارت بر آن است و مراقب است که پروتکلها و قوانینی که در مورد اینترنت تصویب شدهاند، در سراسر جهان اجرا شوند.
تسلسل شبکهها
هر کامپیوتری که به اینترنت وصل است - از جمله کامپیوتری که با آن این گزارش را میخوانید- بخشی از یک شبکه است. شما که در خانه با یک مودم به یک موسسه ارائه دهنده سرویسهای اینترنتی (ISP) وصل میشوید؛ در محل کار بخشی از یک شبکه محلی هستید و بیشتر مواقع باز هم از طریق مودم به یک ISP و از آن به اینترنت وصل میشوید و یا اینکه ...
به هر حال این که از چه طریق به اینترنت وصل شوید مهم نیست، مهم این است که با اتصال به اینترنت، بخشی از دنیای شبکهها میشوید. بسیاری از شرکتهای ارتباطاتی بزرگ بکبُنهای (ستون فقرات) اختصاصی خودشان را دارند که مناطق زیادی را به هم وصل میکنند.
معمولا این شرکتها در هر منطقه یک نقطه حضور (POP) دارند. POP جایی است که کاربران محلی با استفاده از مودم و تلفن یا خطوط ارتباطی مشخصی به شبکه شرکت وصل میشوند. نکته جالب این است که در هیچ شبکهای مرجع کنترل کنندهای وجود ندارد و به جای آن چند شبکه سطح بالا وجود دارند که از طریق نقاط دسترسی شبکه (NAP) به هم متصل میشوند.
نمونه شبکهای
برای درک این پروسه به این مثال توجه کنید:
شرکت A یک ISP بزرگ است. این شرکت در هر شهر بزرگی یک نقطه حضور (POP) دارد. این POP ها قفسههای پر از مودم هستند که مشتریان ISP با تلفن به آنها متصل میشوند. شرکت A خطوطی از جنس فیبر نوری را از شرکت مخابرات اجاره کرده است تا به وسیله آنها نقاط حضورش را به هم متصل کند.
حالاشرکت B را در نظر بگیرید. این شرکت از چند ISP کوچکتر تشکیل شده است و در هر شهر بزرگ ساختمانهایی دارد که ISP های آن ماشینهای ارائه دهنده خود را در آنها مستقر کردهاند. این شرکت آن قدر بزرگ است که خودش با استفاده از خطوط فیبر نوری خودش ساختمانهایش را به هم متصل کرده است و در واقع ISP هایی که زیر نظر این شرکت کار میکنند از این طریق به هم وصل شدهاند.
در این ساختار تمام مشتریان شرکت A میتوانند با هم ارتباط داشته باشند و تمام مشتریان شرکت B با هم در ارتباط هستند. اما هیچ کدام از مشتریان شرکت A نمیتواند با مشتریان شرکت B ارتباط داشته باشد.
برای رفع این مشکل دو شرکت توافق میکنند با NAP ها در شهرهای مختلف ارتباط قرار کنند و انتقال دادهها بین مشتریان دو شرکت در شهر های مختلف از طریق نقاط دسترسی شبکه انجام میگیرد. تحت این شرایط تمام کامپیوترهایی که به اینترنت وصل میشوند با هم ارتباط خواهند داشت.
پلی برای انتقال اطلاعات
تمام این شبکهها برای برقراری ارتباط با یکدیگر به نقاط دسترسی شبکه، بکبُنها (ستون فقرات) و روترها (راهبان) نیاز دارند. نکته جالب توجه در این پروسه این است که یک پیغام میتواند در کسری از ثانیه از کامپیوتری به کامپیوتر دیگر برود و با عبور از شبکههای مختلف، نیمی از جهان را بپیماید. اما این پیغامها از کدام مسیر باید رفت و آمد کنند.
مشخص کردن این مسیرها به عهده روترها است. روترها (راهبانها یا مسیریابها) مشخص میکنند که اطلاعات از کدام مسیر از یک کامپیوتر به کامپیوتر دیگر بروند.
آنها در واقع کامپیوترهای حرفهای و قدرتمندی هستند که پیغامهای ما را میفرستند و از طریق هزاران مسیری که تعریف شده است انتقال پیغام را سرعت میبخشند.
یک روتر (راهبان) دو وظیفه مجزا اما مرتبط با هم دارد:
- تضمین میکند که اطلاعات به جایی که نباید بروند، نروند.
- تضمین میکند که اطلاعات به مقصد مورد نظر برسد.
به دلیل انجام این کارها، روترها نقش بسیار موثری در نحوه ارتباط دو شبکه کامپیوتری ایفا میکنند. روترها دو شبکه را به هم متصل میکنند و اطلاعات میان آن دو را رد و بدل میکنند. آنها همچنین از شبکهها در برابر انتقال بیمورد اطلاعات محافظت میکنند. بدون توجه به تعداد شبکهها، طرز کار روترها بدون تغییر باقی میماند.
از آنجا که اینترنت از دهها هزار شبکه مختلف تشکیل شده است، استفاده از روترهادر آن ضروری است.
بکبُنها
اولین بکبُن دنیا در سال ۱۹۸۷ توسط بنیاد ملی علم آمریکا (NFS) درست شد. این بکبُن که NSFNET نام داشت یک خط T۱ بودکه ۱۷۰ شبکه کوچکتر را به هم متصل میکرد و با سرعت انتقال ۵۵۴/۱ مگابایت در ثانیه کار میکرد. یک سال بعد NSF با همکاری IBM و MCI بکبُن T۳ (چهل و پنج مگا بایت بر ثانیه) ایجاد کرد.
بکبُنها معمولا شاهراههایی از جنس فیبر نوری هستند. این شاهراهها از چندین فیبر نوری در هم تنیده تشکیل شدهاند تا ظرفیت انتقال دادههایشان بیشتر شود.
این کابلها با علامت OC مشخص میشوند مانند: OC-۳، OC-۱۲ یا OC-۴۸ . یک OC-۳ توانایی انتقال ۱۵۵ میلیون بایت را در ثانیه دارد در حالی که یک OC-۴۸ میتواند ۲۴۸۸ میلیون بایت(۴۸۸/۲ گیگا بایت) را درثانیه انتقال دهد.
برای این که به سرعت بالای بکبُنهای مدرن پی ببریم کافی است آنرا با مودمهای معمولی ۵۶K مقایسه کنیم که ۵۶۰۰۰ هزار بایت را در ثانیه منتقل میکنند.
امروزه شرکتهای بسیاری وجود دارند که بکبُنهای با ظرفیت بالای خود را دارند و به نقاط اتصال متفاوتی در سراسر جهان متصلاند. در این حالت هر کاربر اینترنتی، بدون توجه به موقعیت جغرافیاییاش و شرکتی که از آن برای اتصال به اینترنت استفاده میکند میتواند با هر کاربر دیگری در زمین به راحتی صحبت کند.
اینترنت موافقتنامهای تو در تو و بسیار عظیم بین شرکتها است تا به صورت مجانی با هم ارتباط برقرار کنند.
پروتکل اینترنتی: نشانیهای IP
هر کامپیوتری در اینترنت یک شماره اختصاصی دارد که به آن نشانی IP میگویند.
IP علامت اختصاری پروتکل اینترنتی است؛ زبانی که کامپیوترها به وسیله آن با هم ارتباط برقرار میکنند. یک پروتکل، راه از پیش تعریف شدهای است که هرگاه کسی میخواهد از یک سرویس استفاده کند، از طریق آن وارد عمل میشود.
این «استفاده کننده» (کاربر) در این جا میتواند یک شخص حقیقی و یا یک برنامه مثل نرم افزارهای استفاده کننده از اینترنت باشد.
یک IP معمولا بدین شکل است:
۳۸.۱۱۳.۱۶۲.۴۲
ما انسانها برای اینکه این نشانیها را راحت حفظ کنیم، آنها را به صورت بالا می نویسی (که البته این هم راحت نیست) اما کامپیوترها به صورت باینری یا با هم ارتباط برقرار میکنند و نشانی IP بالا به زبان باینری بدین شکل است:
۱۰۰۱۱۰.۱۱۱۰۰۱.۱۰۱۰۰۰۱۰.۱۰۱۰۱۰
به عدد چهار بخشی موجود در IP اوکتتز(اوکتتز از ریشه عدد هشت یونانی گرفته شده است) گفته میشود چون هر کدام از آنها در صورت تبدیل به فرم باینری (دو دوئی) هشت موقعیت دارند. اگر این موقعیتها را به هم اضافه کنیم میشود ۳۲ و دلیل این که به نشانیهای IP اعداد ۳۲ بایتی میگویند همین است. [چطور بیت و بایت کار میکند؟ ]
از آن جا که هر کدام از این موقعیتها در سیستم باینری میتوانند دو حالت داشته باشند (صفر یا یک)، تعداد نهایی حالات ترکیب آنها در اوکتتز، ۲۳۲ یا ۴,۲۴۹,۹۶۷,۲۹۶ تعداد منحصر به فرد است.
در ازای تقریبا ۴.۳ میلیارد ترکیب محتمل، اعداد خاصی به عنوان نشانیهای IP مشخص انتخاب شدهاند.
برای نمونه، نشانی ۰.۰.۰.۰ برای شبکههای پیشفرض در نظر گرفته شده است و نشانی ۲۵۵.۲۵۵.۲۵۵.۲۵۵ برای broadcast ها.
اوکتتزها به جز جدا کردن اعداد کار دیگری هم دارند. از آنها برای ساخت کلاسهایی از IP ها استفاده میشود که میتوانند در موارد خاص تجاری، دولتی و ... استفاده شوند.
اوکتتزها به دو بخش نت (Net) و هاست (Host) تقسیم میشوند. بخش نت همیشه اولین اوکتتز را در بر میگیرد و از آن برای یشناسایی شبکهای که کامپیوتر به آن تعلق دارد استفاده میشود. هاست (که گاهی به آن Node هم گفته میشود) کامپیوترهای حقیقی را در شبکه مشخص میکند. بخش هاست همیشه آخرین اوکتتز را در بر میگیرد.
پروتکل اینترنت: سیستم نام دامنه
وقتی که اینترنت در دوران ابتداییاش به سر میبرد، از تعداد کمی کامپیوتر که بوسیله مودمها و خطوط تلفن با هم در ارتباط بودند، تشکیل شده بود.
در آن زمان برای این که ارتباط بین دو کامپیوتر برقرار شود کاربران باید IP کامپیوتری را که میخواستند با آن ارتباط برقرار کنند تهیه میکردند. برای نمونه نشانی IP یک کامپیوتر ۲۱۶.۲۷.۲۲.۱۶۲ بود و کاربر برای برقراری ارتباط با آن باید آن را تهیه میکرد. در اوایل این کار چندان سخت نبود اما با گسترش استفادهکنندگان اینترنت، تهیه IP دیگران دیگر غیر ممکن شد.
اولین راهحل یک تکست فایل ساده بود که توسط مرکز اطلاعات شبکهها تهیه شد و نامها را به نشانیهای IP هدایت میکرد. به زودی این فایل به قدری کند و ناکارآمد شد که نمیشد آن را مدیریت کرد. در سال ۱۹۸۳، دانشگاه وییسکانسین سیستم نام دامنه (DNS) را ابداع کرد که نامهای تکست را به صورت خودکار به نشانیهای IP هدایت میکرد.
در این روش شما به جای این که IP یک سایت، مثلا hamshahrionline.ir را حفظ کنید تنها hamshahrinline.ir را حفظ میکنید.
URL؛ مکاننمای یکسان منبع (نشانی سایت)
وقتی که شما از اینترنت استفاده می کنید یا یک میل میفرستید، از یک نام دامنه استفاده میکنید که این کار را برای شما انجام میدهد.
برای نمونه نشانی www.hamshahrionline.ir نام دامنه hamshahrionline.ir را در بر دارد. همین نام دامنه در example@hamshahrionline.ir هم وجود دارد. هر بار که ما از یک نام دامنه استفاده میکنیم، از سرورهای نامهای دامنه (DNS) استفاده میکنیم که نامهای دامنه قابل خواندن برای انسان را به IP های قابل فهم برای ماشین تبدیل میکند.
نامهای دامنه سطح بالا که به آنها دامنههای سطح اول هم گفته میشود اینها هستند: .COM، ORG، IR، .NET، EDU و. GOV.
چند سایت معروف که از دامنه. COM استفاده میکنند اینها هستند:
هر نامی در دامنه سطح بالای COM. باید منحصر به فرد باشد. کلمه همیشگی سمت چپ مثل WWW، نام میزبان است که نام یک ماشین خاص (با یک IP خاص) را در یک دامنه مشخص میکند.
یک دامنه داده شده میتواند به صورت بالقوه نام میلیونها هاست(میزبان) را تا زمانی که در آن منحصر به فرد هستند در بر بگیرد.
سرور نام ای دامنه (DNS)، درخواستها را از برنامهها و دیگر سرورهای نام دریافت میکنند تا نامهای دامنه را به نشانیهای IP تبدیل کنند.
وقتی که یک درخواست به سرور نامدامنه وارد میشود، سرور یکی از چهار کار زیر را بر روی آن انجام میدهد:
۱- با یک نشانی IP به آن جواب میدهد چون نشانی IP دامنه درخواست شده را میداند.
۲- با دیگر سرورهای سیسم نام دامنه تماس میگیرد و سعی میکند نشانی IP نام درخواست شده را پیدا کند. البته سرور شاید چندین بار این کار را انجام دهد.
۳- امکان دارد بگوید: من نشانی IP دامنهای که شما خواستهاید ندارم اما نشانی IP سرور دیگری را به شما میدهم که نشانیهای بیشتری از من میداند.
۴- یک پیغام ارور(Error) میفرستد، چون دامنه درخواست شده یا وجود ندارد یا دیگر اعتبار ندارد.
برای درک این پروسه بهتر است به این نمونه توجه کنید:
فرض کنید شما نشانی Hamshahrionline.ir را در مرورگر خود تایپ میکنید. مرورگر برای یافتن نشانی IP به یک سرور نام دامنه(DNS) مراجعه میکند. این سرور هم جستجو را با تماس با یکی از روت سرورها(سرورهای اصلی) آغاز میکند.
روت سروها نشانیهای IP تمام DNS سرورها را که با دامنههای سطح بالا (.COM، NET، IR و... ) کار میکنند دارند. سرور DNS شما از روت سرور www.hamshahrionline.ir را میخواهد. اگر روت سرور این IP را نداشته باشد میگوید:
«من IP درخواست شما (www.hamshahrionline.ir) را ندارم اما IP سرور دامنههای. IR را به شما میدهم».
آن وقت سرور نام دامنه شما، یک درخواست به سرور دیاناس. IR میفرستد و از آن میپرسد که آیا نشانی IP برای www.hamshahrionline.ir میشناسد یا نه. سرور DNS دامنههای IR، نشانیهای IP سرور نامی را که با دامنه www.hamshahrionline.ir در ارتباط هستند میشناسند، به همین خاطر درخواست شما را به آنها ارجاع میدهد.
سرور نام شما سپس به سرور دیاناس www,hamshahrionline.ir مراجعه میکند و میپرسد که آیا این سرور DNS، نشانی IP www.hamshahrionline.ir را میشناسد یا نه.
این سرور قطعا نشانی IP مورد درخواست ما را دارد بنابر این آنرا به سرور DNS ما میدهد. این سرور هم آن را به مرورگر ما میدهد و مرورگر برای دریافت یک صفحه وب از www.hamshahrionline.ir به سرور مراجعه میکند.
یکی از کلیدهای موفقیت در انجام چنین کاری افزونگی تکرار و فراوانی است. در هر سطح چندین سرور DNS وجود دارد و هر گاه یک درخواست به جواب نرسد چندین سرور دیگر برای رسیدن به جواب وجود دارد. کلید دیگر cashing است.
وقتی که یک سرور DNS یک درخواست را به جواب میرساند، نشانی IP دریافت شده را ذخیره میکند. و وقتی که یک درخواست دامنه. IR را به یک روت سرور ارجاع میدهد، نشانی IP سروری را که IP دامنههای. IR را دارد ذخیره میکند تا دفعه بعد که دوباره درخواستی برای نشانی IP دامنه. IR دریافت کرد بدون واسطه روت سرور به همین سرور DNS مراجعه کند.
سرور DNS این کار را میتواند برای هر درخواست انجام دهد و cashing به آن این اجازه را میدهد که از جستجوهای بیمورد دست بردارد.
سرورهای DNS روزانه به میلیاردها درخواست پاسخ میدهند و وجود آنها برای عملکرد روان اینترنت بسیار ضروری است.
این حقیقت که این مراکز اطلاعاتی بسیار گسترده و پراکنده به این خوبی و البته به دور از چشم ما کار میکنند، گواه طراحی بینظیر آنهاست.
کلاینتها و سرورها
سرورها دسترسی یه اینترنت را برای ما میسر میکنند. تمام ماشینهای موجود در اینترنت یا سرور هستند یا کلاینت. سرورها دستگاه هایی هستند که به دیگر ماشینها سرویس ارائه میدهند و ماشینهایی که از آنها برای برقراری ارتباط با سرورها استفاده میشود کلاینت هستند.
در فضای اینترنت، این سرورهای وب، سرورهای ایمیل، سرورهای FTP و دیگر سرورها هستند که نیازهای ما برای ایجاد ارتباط را برطرف میکند.
وقتی که شما میخواهید به www.hamshahrionline.ir متصل میشوید تا یک صفحه را بخوانید، از یک کلاینت (کامپیوتری که پشت آن نشستهاید) استفاده می کنید.
در واقع ابتدا به سرور وب www.hamshahri.ir دسترسی پیدا میکنید؛ ماشین سرور صفحهای را که شما درخواست کردهاید پیدا میکند و برایتان میفرستد. کلاینتهایی هم که به یک ماشین سرور متصل میشوند همین کار را با یک منظور مشخص انجام میهند؛ یعنی درخواستهایشان را به یک نرم افزار مشخص سرور که در یک ماشین سرور فعال است هدایت میکنند.
هر سرور یک نشانی IP ثابت دارد که به ندرت تغییر پیدا میکند. در مقابل یک کامپیوتر خانگی که از طریق مودم شمارهگیری میکند هر بار که به ISP متصل میشود یک نشانی IP دریافت میکند.
این IP تا هنگامی که شما به اینترنت وصل هستید منحصراً در اختیار شماست اما هر بار که به یک ISP متصل شوید، یک IP جدید دریافت خواهید کرد. بدین ترتیب ISP به جای این که هر مشتری را با یک IP بشناسد، هر مودم را با یک IP میشناسد.
پورتها
وقتی که یک کلاینت به وسیله یک پورت به یک سرویس متصل میشود، از یک پروتکل مشخص استفاده میکند. پروتکلها معمولاً به صورت تکست هستند و به سادگی تعریف میکنند که چگونه کلاینتها و سرورها با هم ارتباط برقرار میکنند. هر وب سرور در اینترنت پروتکل انتقال تکستهای هایپر (HTTP) را میشناسد.
اجزایی که طرز کارشان در این گزارش معرفی شدند (شبکهها، روترها [راهبانها]، نقاط دسترسی شبکه [NAP]، سیستم نامهای دامنه [DNS] و سرورهای پرقدرت)، جیزهایی هستند که ما برای دسترسی به اینترنت به آنها نیاز داریم.
نکته جالب در مورد آنها این است که این سیستمهای عریض و طویل دسترسی ما به اینترنت را تنها در چند میلیونیوم ثانیه امکانپذیر میکنند.
این اجزا در دنیای مدرن بسیار مهم هستند چرا که بدون آنها دسترسی به اینترنت ممکن نیست و دنیای بدون اینترنت هم برای بسیاری از ما معنایی ندارد