تأثیر BSD بر تولد اینترنت : 19Jun bsd national day
بخش ۱:مانند تفتیش عقاید اسپانیا، هیچکس انتظار اینترنت را نداشت.
اولین ظهور آن (به عنوان ARPANET) در همان سال – ۱۹۶۹ – رخ داد، زمانی که گروه کمدی پشت طنز تفتیش عقاید اسپانیا، مونتی پایتون، قرار داشت.
اما در طول دهه اول، اینترنت به عنوان وسیلهای برای اشتراکگذاری فایل و چند کاربرد دیگر در نظر گرفته میشد؛ ناظران کمی پیشبینی میکردند که چگونه زندگی مدرن را تا دههها بعد تغییر خواهد داد.
موسسه اصلی که کامپیوترها را وارد عصر اینترنت کرد، دانشگاه کالیفرنیا در برکلی بود که نسخهای از یونیکس را ایجاد کرد که آن را توزیع نرمافزار برکلی نامیدند و اکنون با نام BSD شناخته میشود.
موسسه LPI از طریق صدور گواهینامه متخصص BSD ، BSD را ارج مینهد و ترویج میدهد .
این مقاله دو قسمتی در مورد تاریخچههای همپوشانی BSD و اینترنت و وابستگی متقابل آنها صحبت میکند. زیرا اینترنت به همان اندازه که BSD برای اینترنت حیاتی بود، برای توسعه BSD نیز حیاتی بود.
دولت ایالات متحده تصمیم به گسترش بزرگراه اطلاعاتی میگیرد رسماً، اینترنت ساختهی وزارت دفاع ایالات متحده است و میتوان ریشههای آن را در پروژهای در آژانس پروژههای تحقیقاتی پیشرفته (ARPA) این وزارتخانه جستجو کرد. ARPANET در سال ۱۹۶۹ آغاز شد و به تدریج در دهههای ۱۹۷۰ و ۱۹۸۰، همزمان با توسعه TCP/IP توسط وینت سرف و دیگران، به اینترنتی که امروزه میشناسیم تبدیل شد. اما اگرچه پروتکلها استاندارد شده بودند – بنابراین در تئوری، میزبانهای اینترنتی میتوانستند دادهها را تبادل کنند – رابطهای برنامهنویسی ناشیانه و غیراستاندارد بودند.ARPA که به DARPA تغییر نام داد، در اواخر دهه ۱۹۷۰ تصمیم گرفت منابع عظیم خود را صرف ایجاد یک سیستم عامل با قابلیت اتصال به اینترنت کند.
نوعی از یونیکس انتخاب طبیعی بود، زیرا یک سیستم عامل قابل حمل بود که روی انواع مختلف سختافزار اجرا میشد. همچنین در بین دانشمندانی که وزارت دفاع با آنها سر و کار داشت، بسیار محبوب بود. شاید تعجبآور باشد که DARPA به یونیکس اصلی که توسط AT&T، یکی از بزرگترین و پایدارترین شرکتهای جهان، مجوز گرفته بود، پایبند نماند. در عوض، آنها با انتخاب گروهی از دانشجویان فارغالتحصیل دانشگاه کالیفرنیا، برکلی، رگههای نوآورانه قابل توجهی از خود نشان دادند.باید اعتراف کرد که اگرچه بسیاری از پیشرفتهای عمده در BSD توسط دانشجویان دانشگاه توسعه داده شده است، اما این سیستم از مشارکتهای خارجی زیادی نیز بهرهمند بوده است.
مارشال کرک مککیوسیک، یکی از رهبران کلیدی BSD که سهم اولیه و طولانی در کد و سازمان آن داشت، فهرستی از مشارکتکنندگان از سالهای ۱۹۷۹ تا ۱۹۹۳ را در اختیار من قرار داد. این فهرست شامل حدود ۶۰ فرد و سازمان است که یک «زیرسیستم بزرگ» به آنها دادهاند و صدها مشارکتکننده دیگر.من فکر میکنم چندین چیز در مورد برکلی، دارپا را تحت تأثیر قرار داد. آنها پیش از آن سهم عمدهای در یونیکس داشتند و خلاقیت و سختکوشی خود را نشان داده بودند. مجوز آنها شاید از همه مهمتر بود: آنها کد منبع را به صورت رایگان در اختیار همه قرار دادند.به عبارت دیگر، BSD نمونه اولیه نرمافزار آزاد و متنباز بود.
مراحل طی شده در این مسیر پیچیده بود و ارزش ندارد که در اینجا با جزئیات تکرار شود. اساساً، کد برکلی، کد اختصاصی AT&T را تکمیل میکرد (که آن هم زمانی که مشتری مجوز یونیکس را از AT&T دریافت میکرد، در دسترس بود). کد شبکه برکلی اولین کدی بود که به طور مستقل منتشر شد.در پاسخ به حمایت DARPA، دانشگاه کالیفرنیا در برکلی سه گام اساسی برداشت تا BSD را به یک سیستم قابل توجه تبدیل کند.این سازمان، یک سازمان رسمی به نام گروه تحقیقات سیستمهای کامپیوتری (CSRG) برای مدیریت توسعه BSD تأسیس کرد. CSRG پروژه را در دوازده سال بعدی در مسیری سازنده هدایت کرد.این شرکت مجوز معروف BSD را ایجاد کرد و تضمین کرد که این سیستم عامل، نرمافزاری رایگان و متنباز است.این شرکت (طی سالهای متمادی و پس از طرح دعوی در دادگاه AT&T) یک سیستم عامل کامل، مستقل و خودکفا را تکمیل کرد.
به همین دلیل است که میگویم اینترنت برای موفقیت BSD بسیار مهم بود. کاری که آنها تحت قرارداد DARPA انجام دادند، آنها را حتی مهمتر هم کرد. و نتایج آنها، که ابتدا در نسخههای 4.1 و 4.2 BSD منتشر شد، اینترنتی را ایجاد کرد که همه میتوانستند به آن متصل شوند. نسخه کمی جدیدتر، 4.3، در مقالهای در InformationWeek در سال 2006 به عنوان «بزرگترین قطعه نرمافزاری تاریخ، با گستردهترین تأثیر بر جهان» نامگذاری شد .
قبل از اینکه به خود BSD بپردازیم، توجه داشته باشید که نبوغ این ابزارها این بود که میتوانستند روی بسیاری از سیستم عاملهای دیگر، چه یونیکس و چه غیر یونیکس، کار کنند. این همان چیزی بود که اینترنت را به یک پلتفرم ارتباطی جهانی تبدیل کرد که تا سال ۱۹۸۹، زمانی که تیم برنرز-لی با مهارت وب جهانگستر را از قراردادهای رایج اینترنت و سایر ایدههای رایج در حال استفاده، مانند زبانهای نشانهگذاری ساختاریافته، ساخت، به طور مشروع میتوانست «جهانی» در نظر گرفته شود. وب، اینترنت را به اوج محبوبیت فراتر از انتظارات هر کسی رساند و پیشرفتهای بیشتری مانند تجارت اینترنتی و تعاملات برنامهریزیشده از طریق APIها را ممکن ساخت.
مقدمات: اتصال به اینترنت نقطه شروع شبکهسازی، در سیستمهای عامل، شامل فراخوانیهای سیستمی است که دادهها را از طریق لینکهای شبکه ارسال و دریافت میکنند. هر سیستم عاملی به یک رابط برای لایه شبکه نیاز دارد و رابطهای مدرن تقریباً به طور جهانی مبتنی بر سوکتهای برکلی هستند.
سوکتها ساختارهای داده سادهای هستند که برنامهنویسی شبکه را به آسانی عملیات روی فایلها میکنند. (این فقط یک مقایسه تصادفی نیست. در یونیکس، همه چیز یک فایل است.) برنامهنویس مشخص میکند که از چه پروتکلی میخواهد استفاده کند (TCP، UDP و غیره) به علاوه چند آرگومان دیگر که نوع ارتباط را مشخص میکنند.مانند فراخوانی که یک فایل را ایجاد میکند، فراخوانی که یک سوکت را ایجاد میکند، یک عدد صحیح ساده را برمیگرداند که نشان دهنده اتصال شبکه است. از آن به بعد ارسال، دریافت، انتظار برای ورودی و غیره سر راست هستند.
اگر در برنامهنویسی پشت وب، پخش رسانه، ورود از راه دور یا هر استفاده دیگری که از اینترنت میکنید، عمیق شوید، نوعی سوکت مدرن برکلی در سطح پایین قرار دارد.
اما چگونه کامپیوتری را که میخواهید به آن ارسال کنید پیدا میکنید؟
پروژه BSD همچنین سیستم نام دامنه را به واقعیتی تبدیل کرد که افراد میتوانستند آن را با نامهای میزبان و پرسوجو پر کنند.
DNS پیچیده است: یک سیستم توزیعشده از گرهها که در سلسله مراتب چندگانه وجود دارند، همه با هدف ترجمه نامهایی مانند lpi.org به آدرسهای IP مانند 65.39.134.140.
هر برنامهای که از اینترنت استفاده میکند باید بفهمد از چه کسی بپرسد تا یاد بگیرد چگونه به سیستمی که میخواهد با آن ارتباط برقرار کند، دسترسی پیدا کند.در اینترنت اولیه، که مانند یک شهر کوچک بود که همه یکدیگر را میشناختند، مدیران نامها را به صورت دستی در فایلهای HOSTS.TXT در هر میزبان وارد میکردند. آن فایل هنوز هم در هر رایانهای وجود دارد، اما فقط شامل آدرسهای IP محلی است.
آدرسهای IP از راه دور توسط DNS مدیریت میشوند.طراحی سیستمی با چندین میزبان معتبر، تفویض اختیار، افزونگی داخلی و سایر ویژگیهای یک سیستم اطلاعات توزیعشده قوی، همانطور که در مشخصات DNS سال ۱۹۸۳ ( RFC 881 و RFC 882 ) و RFCهای بعدی مشخص شده است، دشوار است. (RFC یک سند معمولی است که توسط کارگروه مهندسی اینترنت منتشر میشود و شامل مشخصات آن برای استانداردهای اینترنت است.)
در طول چند دهه گذشته، تحقیقات زیادی در زمینه طراحی معماری سیستمهای توزیعشده انجام شده است که به روشهای عملی، تعادل بین سازگاری و تحمل تقسیمبندی را برقرار میکنند. پایگاههای داده با تقسیمبندی گسترده مانند کاساندرا، حجم زیادی از دادهها را ذخیره و ارائه میدهند. تصمیمگیری میتواند از طریق Paxos، ZooKeeper، Raft و سایر پروتکلهای اجماع توزیع شود. شبکههای توزیع محتوا بیشتر ترافیک اینترنت جهان را حمل میکنند. اما هیچکدام از اینها زمانی که توسعهدهندگان BSD مجبور به پیادهسازی DNS بودند، وجود نداشتند.سرویس دامنه اینترنتی برکلی (BIND) تیم BSD اولین سرور DNS نبود ، اما خیلی زود در تاریخ DNS ظاهر شد و به نرمافزاری تبدیل شد که تقریباً برای دههها در همه جا مورد استفاده قرار میگرفت. حتی تا سال ۲۰۲۳، زمانی که BIND به اندازه کافی قدیمی شده بود که به عنوان یک فناوری قدیمی در نظر گرفته شود و بسیاری از جایگزینهای دیگر در دسترس بودند، تخمین زده میشد که BIND 60٪ از سرورهای DNS معتبر (یعنی سرورهایی که اطلاعات ارائه میدهند نه فقط ارسال درخواستها) را اجرا میکند.
ادامه در نسخه دوم بزودی منتشر می شود.
