لایه شبکه
بر اساس لایه شبکه
ممکن است شبکههای رایانهای مطابق مدلهای مرجع پایهای که در صنعت به عنوان استاندارد شناخته میشوند مانند «مدل مرجع ۷ لایه OSI» و «مدل ۴ لایه TCP/IP»، بر اساس نوع «لایه شبکه»ای که در آن عمل میکنند طبقهبندی شوند.
بر اساس معماری کاربری
ممکن است شبکههای رایانهای بر اساس معماری کاربری که بین اعضای شبکه وجود دارد طبقهبندی شود، برای نمونه معماریهای Active Networking، «مشتری-خدمتگذار» (Client-Server) و «همتا به همتا» Peer-to-Peer (گروه کاری).
بر اساس همبندی (توپولوژی)
ممکن است شبکههای رایانهای بر اساس نوع همبندی شبکه طبقهبندی شوند مانند: «شبکه باس» (Bus)، «شبکه ستاره» ((Star، «شبکه حلقهای» (Ring)، «شبکه توری» (Mesh)، «شبکه ستاره-باس» (Star-Bus)، «شبکه درختی» (Tree) یا «شبکه سلسله مراتبی» (Hierarchical) و ترکیبی و غیره.
همبندی شبکه را میتوان بر اساس نظم هندسی ترتیب داد. همبندیهای شبکه طرحهای منطقی شبکه هستند. واژه منطقی در اینجا بسیار پرمعنی است. این واژه به این معنی است که همبندی شبکه به طرح فیزیکی شبکه بستگی ندارد. مهم نیست که رایانهها در یک شبکه به صورت خطی پشت سر هم قرار گرفته باشند، ولی زمانیکه از طریق یک «هاب» به یکدیگر متصل شده باشند تشکیل همبندی ستاره میکنند نه باس. و این عامل مهمی است که شبکهها در آن فرق میکنند، جنبه ظاهری و جنبه عملکردی.
بر اساس قرارداد
ممکن است شبکههای رایانهای بر اساس «قرارداد» ارتباطی طبقهبندی شوند.
انواع شبکههای رایانهای از نظر اندازه
شبکه شخصی (PAN)
«شبکه شخصی» (Personal Area Network) یک «شبکه رایانهای» است که برای ارتباطات میان وسایل رایانهای که اطراف یک فرد میباشند (مانند «تلفن»ها و «رایانههای جیبی» (PDA) که به آن «دستیار دیجیتالی شخصی» نیز میگویند) بکار میرود. این که این وسایل ممکن است متعلق به آن فرد باشند یا خیر جای بحث خود را دارد. برد یک شبکه شخصی عموماً چند متر بیشتر نیست. موارد مصرف شبکههای خصوصی میتواند جهت ارتباطات وسایل شخصی چند نفر به یکدیگر و یا برقراری اتصال این وسایل به شبکهای در سطح بالاتر و شبکه «اینترنت» باشد.
ارتباطات شبکههای شخصی ممکن است به صورت سیمی به «گذرگاه»های رایانه مانند USB و فایروایر برقرار شود. همچنین با بهرهگیری از فناوریهایی مانند IrDA، «بلوتوث» (Bluetooth) و UWB میتوان شبکههای شخصی را به صورت بیسیم ساخت.
شبکه محلی (LAN)
«شبکه محلی» (Local Area Network) یک «شبکه رایانهای» است که محدوده جغرافیایی کوچکی مانند یک خانه، یک دفتر کار یا گروهی از ساختمانها را پوشش میدهد. در مقایسه با «شبکههای گسترده» (WAN) از مشخصات تعریفشده شبکههای محلی میتوان به سرعت (نرخ انتقال) بسیار بالاتر آنها، محدوده جغرافیایی کوچکتر و عدم نیاز به «خطوط استیجاری» مخابراتی اشاره کرد.
دو فناوری «اترنت» (Ethernet) روی کابل «جفت به هم تابیده بدون محافظ» (UTP) و «وایفای» (Wi-Fi) رایجترین فناوریهایی هستند که امروزه استفاده میشوند، با این حال فناوریهای «آرکنت» (ARCNET) و «توکن رینگ» (Token Ring) و بسیاری روشهای دیگر در گذشته مورد استفاده بودهاند.
شبکه کلانشهری (MAN)
«شبکه کلانشهری» (Metropolitan Area Network) یک «شبکه رایانهای» بزرگ است که معمولاً در سطح یک شهر گسترده میشود. در این شبکهها معمولاً از «زیرساخت بیسیم» و یا اتصالات «فیبر نوری» جهت ارتباط محلهای مختلف استفاده میشود.
شبکه گسترده (WAN)
«شبکه گسترده» (Wide Area Network) یک «شبکه رایانهای» است که نسبتاً ناحیه جغرافیایی وسیعی را پوشش میدهد (برای نمونه از یک کشور به کشوری دیگر یا از یک قاره به قارهای دیگر). این شبکهها معمولاً از امکانات انتقال خدمات دهندگان عمومی مانند شرکتهای مخابرات استفاده میکند. به عبارت کمتر رسمی این شبکهها از «مسیریاب»ها و لینکهای ارتباطی عمومی استفاده میکنند.
شبکههای گسترده برای اتصال شبکههای محلی یا دیگر انواع شبکه به یکدیگر استفاده میشوند. بنابراین کاربران و رایانههای یک مکان میتوانند با کاربران و رایانههایی در مکانهای دیگر در ارتباط باشند. بسیاری از شبکههای گسترده برای یک سازمان ویژه پیادهسازی میشوند و خصوصی هستند. بعضی دیگر بهوسیله «سرویس دهندگان اینترنت» (ISP) پیادهسازی میشوند تا شبکههای محلی سازمانها را به اینترنت متصل کنند.
شبکه متصل (Internetwork)
دو یا چند «شبکه» یا «زیرشبکه» (Subnet) که با استفاده از تجهیزاتی که در لایه ۳ یعنی «لایه شبکه» «مدل مرجع OSI» عمل میکنند مانند یک «مسیریاب»، به یکدیگر متصل میشوند تشکیل یک شبکه از شبکهها یا «شبکه متصل» را میدهند. همچنین میتوان شبکهای که از اتصال داخلی میان شبکههای عمومی، خصوصی، تجاری، صنعتی یا دولتی به وجود میآید را «شبکه متصل» نامید.
در کاربردهای جدید شبکههای به هم متصل شده از قرارداد IP استفاده میکنند. بسته به اینکه چه کسانی یک شبکه از شبکهها را مدیریت میکنند و اینکه چه کسانی در این شبکه عضو هستند، میتوان سه نوع «شبکه متصل» دسته بندی نمود:
شبکه داخلی یا اینترانت (Intranet)
شبکه خارجی یا اکسترانت (Extranet)
شبکهاینترنت (Internet)
شبکههای داخلی یا خارجی ممکن است که اتصالاتی به شبکه اینترنت داشته و یا نداشته باشند. در صورتی که این شبکهها به اینترنت متصل باشند در مقابل دسترسیهای غیرمجاز از سوی اینترنت محافظت میشوند. خود شبکه اینترنت به عنوان بخشی از شبکه داخلی یا شبکه خارجی به حساب نمیآید، اگرچه که ممکن است شبکه اینترنت به عنوان بستری برای برقراری دسترسی بین قسمتهایی از یک شبکه خارجی خدماتی را ارائه دهد.
شبکه داخلی (Intranet)
یک «شبکه داخلی» مجموعهای از شبکههای متصل به هم میباشد که از قرارداد IP و ابزارهای مبتنی بر IP مانند «مرورگران وب» استفاده میکند و معمولاً زیر نظر یک نهاد مدیریتی کنترل میشود. این نهاد مدیریتی «شبکه داخلی» را نسبت به باقی قسمتهای دنیا محصور میکند و به کاربران خاصی اجازه ورود به این شبکه را میدهد. به طور معمولتر شبکه درونی یک شرکت یا دیگر شرکتها «شبکه داخلی» میباشد.
به طور مثال شبکه ملی در ایران نوعی از شبکههای داخلی (اینترانت) میباشد.
شبکه خارجی (Extranet)
یک «شبکه خارجی» یک «شبکه» یا یک «شبکه متصل» است که به لحاظ قلمرو محدود به یک سازمان یا نهاد است ولی همچنین شامل اتصالات محدود به شبکههای متعلق به یک یا چند سازمان یا نهاد دیگر است که معمولاً ولی نه همیشه قابل اعتماد هستند. برای نمونه مشتریان یک شرکت ممکن است که دسترسی به بخشهایی از «شبکه داخلی» آن شرکت داشته باشند که بدین ترتیب یک «شبکه خارجی» درست میشود، چراکه از نقطهنظر امنیتی این مشتریان برای شبکه قابل اعتماد به نظر نمیرسند. همچنین از نظر فنی میتوان یک «شبکه خارجی» را در گروه شبکههای دانشگاهی، کلانشهری، گسترده یا دیگر انواع شبکه (هر چیزی غیر از شبکه محلی) به حساب آورد، چراکه از نظر تعریف یک «شبکه خارجی» نمیتواند فقط از یک شبکه محلی تشکیل شده باشد، چون بایستی دست کم یک اتصال به خارج از شبکه داشته باشد.
شبکه اینترنت (Internet)
شبکه ویژهای از شبکهها که حاصل اتصالات داخلی شبکههای دولتی، دانشگاهی، عمومی و خصوصی در سرتاسر دنیا است. این شبکه بر اساس شبکه اولیهای کار میکند که «آرپانت» (ARPANET) نام داشت و بهوسیله موسسه «آرپا» (ARPA) که وابسته به «وزارت دفاع ایالات متحده آمریکا» است ایجاد شد. همچنین منزلگاهی برای «وب جهانگستر» (WWW) است. در لاتین واژه Internet برای نامیدن آن بکار میرود که برای اشتباه نشدن با معنی عام واژه «شبکه متصل» حرف اول را بزرگ مینویسند.
اعضای شبکه اینترنت یا شرکتهای سرویس دهنده آنها از «آدرسهای IP» استفاده میکنند. این آدرسها از موسسات ثبت نام آدرس تهیه میشوند تا تخصیص آدرسها قابل کنترل باشد. همچنین «سرویس دهندگان اینترنت» و شرکتهای بزرگ، اطلاعات مربوط به در دسترس بودن آدرسهایشان را بواسطه «قرارداد دروازه لبه» (BGP) با دیگر اعضای اینترنت مبادله میکنند.
اجزای اصلی سختافزاری
همه شبکهها از اجزای سختافزاری پایهای تشکیل شدهاند تا گرههای شبکه را به یکدیگر متصل کنند، مانند «کارتهای شبکه»، «تکرارگر»ها، «هاب»ها، «پل»ها، «راهگزین»ها و «مسیریاب»ها. علاوه بر این، بعضی روشها برای اتصال این اجزای سختافزاری لازم است که معمولاً از کابلهای الکتریکی استفاده میشود (از همه رایجتر «کابل رده ۵» (کابل Cat5) است)، و کمتر از آنها، ارتباطات میکروویو (مانند آیتریپلئی ۸۰۲٫۱۱) و («کابل فیبر نوری» Optical Fiber Cable) بکار میروند.
کارت شبکه (network adapter)
«کارت شبکه»، «آداپتور شبکه» یا «کارت واسط شبکه» (Network Interface Card) قطعهای از سختافزار رایانهاست و طراحی شده تا این امکان را به رایانهها بدهد که بتوانند بر روی یک شبکه رایانهای با یکدیگر ارتباط برقرار کنند. این قطعه دسترسی فیزیکی به یک رسانه شبکه را تامین میکند و با استفاده از «آدرسهای MAC»، سیستمی سطح پایین جهت آدرس دهی فراهم میکند. این شرایط به کاربران اجازه میدهد تا به وسیله کابل یا به صورت بیسیم به یکدیگر متصل شوند.
تکرارگر (repeater)
«تکرارگر» تجهیزی الکترونیکی است که سیگنالی را دریافت کرده و آن را با سطح دامنه بالاتر، انرژی بیشتر و یا به سمت دیگر یک مانع ارسال میکند. بدین ترتیب میتوان سیگنال را بدون کاستی به فواصل دورتری فرستاد. از آنجا که تکرارگرها با سیگنالهای فیزیکی واقعی سروکار دارند و در جهت تفسیر دادهای که انتقال میدهند تلاشی نمیکنند، این تجهیزات در «لایه فیزیکی» یعنی اولین لایه از «مدل مرجع OSI» عمل میکنند.
هاب (جعبه تقسیم)-
«هاب» قطعهای سختافزاری است که امکان اتصال قسمتهای یک شبکه را با هدایت ترافیک در سراسر شبکه فراهم میکند. هابها در «لایه فیزیکی» از «مدل مرجع OSI» عمل میکنند. عملکرد هاب بسیار ابتدایی است، به این ترتیب که داده رسیده از یک گره را برای تمامی گرههای شبکه کپی میکند. هابها عموماً برای متصل کردن بخشهای یک «شبکه محلی» بکار میروند. هر هاب چندین «درگاه» (پورت) دارد. زمانی که بستهای از یک درگاه میرسد، به دیگر درگاهها کپی میشود، بنابراین همه قسمتهای شبکه محلی میتوانند بستهها را ببینند.
پل (bridge)
یک «پل» دو «زیرشبکه» (سگمنت) را در «لایه پیوند داده» از «مدل مرجع OSI» به هم متصل میکند. پلها شبیه به «تکرارگر»ها و «هاب»های شبکهاند که برای اتصال قسمتهای شبکه در «لایه فیزیکی» عمل میکنند، با این حال پل با استفاده از مفهوم پلزدن کار میکند، یعنی به جای آنکه ترافیک هر شبکه بدون نظارت به دیگر درگاهها کپی شود، آنرا مدیریت میکند. بستههایی که از یک طرف پل وارد میشوند تنها در صورتی به طرف دیگر انتشار مییابند که آدرس مقصد آنها مربوط به سیستمهایی باشد که در طرف دیگر پل قرار دارند. پل مانع انتشار پیغامهای همگانی در قطعههای کابل وصلشده به آن نمیشود.
پلها به سه دسته تقسیم میشوند:
پلهای محلی: مستقیماً به «شبکههای محلی» متصل میشود.
پلهای دوردست: از آن میتوان برای ساختن «شبکههای گسترده» جهت ایجاد ارتباط بین «شبکههای محلی» استفاده کرد. پلهای دور دست در شرایطی که سرعت اتصال از شبکههای انتهایی کمتر است با «مسیریاب»ها جایگزین میشوند.
پلهای بیسیم: برای «اتصال شبکههای محلی» به «شبکههای محلی بیسیم» یا «شبکههای محلی بیسیم» به هم یا ایستگاههای دوردست به «شبکههای محلی» استفاده میشوند.
راهگزین (switch)
«راهگزین» که در پارسی بیشتر واژه «سوئیچ» برای آن بکار برده میشود، وسیلهای است که قسمتهای شبکه را به یکدیگر متصل میکند. راهگزینهای معمولی شبکه تقریباً ظاهری شبیه به «هاب» دارند، ولی یک راهگزین در مقایسه با هاب از هوشمندی بیشتری (و همچنین قیمت بیشتری) برخوردار است. راهگزینهای شبکه این توانمندی را دارند که محتویات بستههای دادهای که دریافت میکنند را بررسی کرده، دستگاه فرستنده و گیرنده بسته را شناسایی کنند، و سپس آن بسته را به شکلی مناسب ارسال نمایند. با ارسال هر پیام فقط به دستگاه متصلی که پیام به هدف آن ارسال شده، راهگزین «پهنای باند» شبکه را به شکل بهینهتری استفاده میکند و عموماً عملکرد بهتری نسبت به یک هاب دارد.
از نظر فنی میتوان گفت که راهگزین در «لایه پیوند داده» از «مدل مرجع OSI» عمل کنند. ولی بعضی انواع راهگزین قادرند تا در لایههای بالاتر نیز به بررسی محتویات بسته بپردازند و از اطلاعات بدست آمده برای تعیین مسیر مناسب ارسال بسته استفاده کنند. به این راه گزینها به اصطلاح «راهگزینهای چندلایه» (Multilayer Switch) میگویند.
مسیریاب (router)
«مسیریاب»ها تجهیزات شبکهای هستند که بستههای داده را با استفاده از «سرایند»ها و «جدول ارسال» تعیین مسیر کرده، و ارسال میکنند. مسیریابها در «لایه شبکه» از «مدل مرجع OSI» عمل میکنند. همچنین مسیریابها اتصال بین بسترهای فیزیکی متفاوت را امکانپذیر میکنند. این کار با چک کردن سرایند یک بسته داده انجام میشود.
مسیریابها از «قراردادهای مسیریابی» مانند ابتدا کوتاهترین مسیر را انتخاب کردن استفاده میکنند تا با یکدیگر گفتگو کرده و بهترین مسیر بین هر دو ایستگاه را پیکربندی کنند. هر مسیریاب دسته کم به دو شبکه، معمولاً شبکههای محلی، شبکههای گسترده و یا یک شبکه محلی و یک سرویس دهنده اینترنت متصل است. بعضی انواع مودمهای DSL و کابلی جهت مصارف خانگی درون خود از وجود یک مسیریاب نیز بهره میبرند.
اینترنت
اینترنت (به انگلیسی: Internet) (مخفف interconnected networks شبکههای به هم پیوسته) را باید بزرگترین سامانهای دانست که تاکنون به دست انسان طرّاحی، مهندسی و اجرا گردیدهاست. ریشهٔ این شبکهٔ عظیم جهانی به دههٔ ۱۹۶۰باز میگردد که سازمانهای نظامی ایالات متّحدهٔ آمریکا برای انجام پروژههای تحقیقاتی برای ساخت شبکهای مستحکم، توزیع شده و باتحمل خطا سرمایهگذاری نمودند. این پژوهش به همراه دورهای از سرمایهگذاری شخصی بنیاد ملی علوم آمریکا برای ایجاد یک ستون فقرات جدید، سبب شد تا مشارکتهای جهانی آغاز گردد و از اواسط دههٔ ۱۹۹۰، اینترنت به صورت یک شبکهٔ همگانی و جهانشمول در بیاید. وابسته شدن تمامی فعّالیتهای بشر به اینترنت در مقیاسی بسیار عظیم و در زمانی چنین کوتاه، حکایت از آغاز یک دوران تاریخیِ نوین در عرصههای گوناگون علوم، فنّآوری، و به خصوص در نحوه تفکّر انسان دارد. شواهد زیادی در دست است که از آنچه اینترنت برای بشر خواهد ساخت و خواهد کرد، تنها مقدار بسیار اندکی به واقعیت درآمدهاست.
اینترنت سامانهای جهانی از شبکههای رایانهای بهم پیوستهاست که از پروتکلِ «مجموعه پروتکل اینترنت» برای ارتباط با یکدیگر استفاده مینمایند. به عبارت دیگر اینترنت، شبکهٔ شبکه هاست که از میلیونها شبکه خصوصی، عمومی، دانشگاهی، تجاری و دولتی در اندازههای محلی و کوچک تا جهانی و بسیار بزرگ تشکیل شدهاست که با آرایه وسیعی از فناوریهای الکترونیکی و نوری به هم متصل گشتهاند. اینترنت در برگیرنده منابع اطلاعاتی و خدمات گسترده ایست که برجستهترین آنها وب جهانگستر و رایانامه میباشند. سازمانها، مراکز علمی و تحقیقاتی و موسسات متعدد، نیازمند دستیابی به شبکه اینترنت برای ایجاد یک وبگاه، دستیابی از راه دور ویپیان، انجام تحقیقات و یا استفاده از سیستم رایانامه، میباشند. بسیاری از رسانههای ارتباطی سنتی مانند تلفن و تلویزیون نیز با استفاده از اینترنت تغییر شکل دادهاند ویا مجدداً تعریف شدهاند و خدماتی جدید همچون صدا روی پروتکل اینترنت و تلویزیون پروتکل اینترنت ظهور کردند. انتشار روزنامه نیز به صورت وبگاه، خوراک وب و وبنوشت تغییر شکل دادهاست. اینترنت اشکال جدیدی از تعامل بین انسانها را از طریق پیامرسانی فوری، تالار گفتگو و شبکههای اجتماعی بوجود آوردهاست.
در اینترنت هیچ نظارت مرکزی چه بر امور فنّی و چه بر سیاستهای دسترسی و استفاده وجود ندارد. هر شبکه تشکیل دهنده اینترنت، استانداردهای خود را تدوین میکند. تنها استثنا در این مورد دو فضای نام اصلی اینترنت، نشانی پروتکل اینترنت و سامانه نام دامنه است که توسط سازمانی به نام آیکان مدیریت میشوند. وظیفه پی بندی و استاندارد سازی پروتکلهای هستهای اینترنت، IPv4 و IPv6 بر عهده گروه ویژه مهندسی اینترنت است که سازمانی بینالمللی و غیرانتفاعی است و هر فردی میتواند در وظایفشان با آن مشارکت نماید.
واژهشناسی
در زبان انگلیسی واژهٔ Intrnet هنگامی که به شبکه جهانی مبتنی بر پروتکل IP اطلاق میگردد، با حرف بزرگ در اول کلمه، نوشته میشود.
در رسانهها فرهنگ عامه، گاه با اینترنت به صورت یک مقوله عمومی و مرسوم برخورد کرده و آن را با حرف تعریف و به صورت حروف کوچک مینگارند(the internet)
در برخی منابع بزرگ نوشتن حرف اول را به دلیل اسم بودن آن جایز میدانند نه برای صفت بودن این واژه.
واژهٔ لاتین the Internet چنانچه به شبکهٔ جهانی اینترنت اشاره کند، اسم خاص است و حرف اوّلش با حروف بزرگ آغاز میشود(I). اگر حرف اوّل آن کوچک باشد میتواند به عنوان شکل کوچک شده کلمه Internetwork برداشت شود که به معنی میان شبکه است. واژه "ابر" نیز به صورت استعاری، به ویژه در ادبیات رایانش ابری و نرمافزار به عنوان سرویس، برای اشاره به اینترنت به کار میرود.
اینترنت در برابر وب
غالباً در گفتگوهای روزمره از دو واژهٔ "وب" و "اینترنت"، به اشتباه، بدون تمایز زیادی استفاده میشود، امااین دو واژه معانی متفاوتی دارند. اینترنت یک سامانه ارتباطی جهانی برای داده هاست، زیرساختهای نرمافزاری و سختافزاری است که رایانهها در سراسر جهان به یکدیگر متصل میسازد. در مقابل، وب یکی از خدماتی (سرویس) است که بر روی اینترنت ارائه میشود و برای ارتباط از شبکه اینترنت بهره میجوید. وب مجموعهای از نوشتههای به هم پیوسته(web page) است که به کمک ابرپیوندها و آدرس جهانی(URL) به یکدیگر پیوند خوردهاند.
وب شامل سرویسهای دیگر مانند رایانامه، انتقال فایل(پروتکل افتیپی)، گروه خبری و بازی آنلاین است.
خدمات(سرویس)های یاد شده بر روی شبکههای مستقل و جدا از اینترنت نیز در دسترس هستند. وب به عنوان لایهای در بالای اینترنت قرار گرفته و سطح بالاتری نسبت به آن قرار دارد.
فناوری
پروتکلها
زیرساخت ارتباطی پیچیدهٔ اینترنت، از اجزای سختافزاری به همراه سامانهای از لایههای نرمافزاری که جنبههای مختلفی از معماری آن را کنترل میکنند تشکیل شدهاست. از آنجا که سختافزار اینترنت را غالباً میتوان برای پشتیبانی از هر سامانه نرمافزاری دیگری استفاده کرد، اینترنت ویژگیهایش را مرهون طراحی معماری نرمافزار و پروسه استاندارد سازی قوی این معماری است که زیربنای مقیاسپذیری و موفقیت آن را میسازد. مسئولیت طراحی معماری سامانههای نرمافزاری اینترنت بر عهده گروه ویژه مهندسی اینترنت(IETF) گذارده شدهاست. IETF گروههای کاری استانداردگذاری را در ارتباط باجنبههای مختلف معماری اینترنت مدیریت میکند که به روی هر فردی باز هستند. بحثهای حاصل و استانداردهای نهایی در قالب اسنادی به نام درخواست توضیح(RFC) (به انگلیسی: Request for Comments) منتشر میشوند که به رایگان در وبگاه IETF فابل دسترسی هستند. روشهای اصلی شبکه بندی که اینترنت را راه میاندازند درRFCهایی میآیند که به طور ویژهای متمایز شده اندواستانداردهای اینترنت را تشکیل میدهند. سایر اسناد ضعیف تر اسناد اطلاع رسانی، آزمایشی و تاریخی هستند و یا اسنادی اند که بهترین شیوههای رایج در پیادهسازی فناوریهای اینترنت را بیان میکنند.
استانداردهای اینترنت چارچوبی را مشخص میکنند که به نام بسته پروتکل اینترنت شناخته میشود. این بسته یک مدل معماری است که روشهارا به سامانه لایه بندی شدهای از پروتکلها تقسیم میکند.(RFC 1122, RFC 1123) هرلایه با محیطی متناظر است که سرویسهایی که ارائه میدهد در آن محیط یا حوزه عمل میکنند. بالاترین لایه، لایه کاربرد (به انگلیسی: Application Layer)، فضایی است برای شیوههای شبکه بندی مخصوص برنامههای کاربردی که مورد استفاده نرمافزارهای کاربردی قرار میگیرد، به عنوان مثال یک مرورگروب. در زیر این لایه لایه انتقال (به انگلیسی: Transport Layer) قرار دارد که برنامههای کاربردی را در " میزبانهای متفاوت" از طریق شبکه با شیوههای مناسب مبادله داده به یکدیگر مرتبط میسازد (به عنوان مثال مدل کارخواه-کارساز). در زیر این لایهها فناوریهای شبکه بندی اساسی در قالب دو لایه قراردارند. لایه اینترنت از طریق نشانی پروتکل اینترنت(آدرس IP) این قابلیت را به رایانهها میدهد که یکدیگر را شناسایی کنند و مکان یکدیگر را بیایند و به آنها اجازه میدهد که از طریق شبکههای ترانزیت میانی به هم متصل شوند. درآخر زیر همه لایهها یک لایه نرمافزاری به نام لایه پیوند قرارمی گیرد که اتصال بین میزبانهایی که در یک شبکه محلی قرار دارند ویا از طریق اتصال شماره گیری(Dial-up Connection) را بوجود میآورد. این مدل که به نام مجموعه پروتکل اینترنت خوانده میشود به گونهای طراحی شدهاست که از سختافزاری که بر روی آن کار میکند مستقل باشد و به جزئیات سختافزاری نمیپردازد. مدلهای دیگری نیز علاوه بر این مدل بوجود آمدند (مثل مدل مرجع OSI) که اگرچه شباهتهای زیادی با هم دارند، اما نه از لحاظ جزئیات توصیفی و نه از نظر پیادهسازی با هم سازگار نیستند.
برجستهترین جزء مدل اینترنت پروتکل اینترنت(IP) است که یک سیستم آدرس دهی (آدرسهای IP) برای رایانههای متصل به اینترنت را فراهم میآورد. IP نسخه ۴، نسخه ابتدایی آن بود که در نسل اول اینترنت امروزی بکار گرفته شد و هنوز هم کاربرد عمده دارد. این نسخه به گونهای طراحی شده بود که ۴٫۳~ میلیارد (۱۰۹) میزبان اینترنت را آدرس دهی کند. اما رشد انفجاری ایترنت منجر به اتمام آدرسهای IP شد و گمان میرود که تقریباً در ۲۰۱۱ به مرحله پایانی اش برسد. در اواسط دهه ۹۰ نسخه جدید این پروتکل، ipv6 با قابلیت آدرس دهی بسیار بیشتر و مسیر یابی کارآمد تر ترافیک اینترنت بوجود آمد. این نسخه هم اکنون در مرحله بکارگیری تجاری در سراسر دنیا به سر میبرد و دفاتر ثبت منطقهای اینترنت (RIR) (به انگلیسی: Regional Internet Registry) به تمام مدیران منابع اصرار میکنند که برای پذیرش نسخه جدید و تغییر، برنامه ریزی کنند..
IPv۶ با IPv۴ همکنشپذیر (Interoperable) نیست و در واقع نسخهای موازی از اینترنت ایجاد میکند که در دسترس نرمافزارهای سازگار با IPv۴ نمیباشد. این بدین معنی است که ارتقای نرمافزار و یا استفاده از امکانات ترجمه برای همه دستگاههای شبکه که بخواهند بر روی اینترنت IPv۶ ارتباط برقرار کنند، امری ضروری است. اکثر سیستم عاملهای مدرن امروزی به گونهای تغییر داده شدهاند که از هر دو نسخه IP پشتیبانی کنند، اما زیرساختهای شبکه هنوز از این قافله عقب هستند.
ساختار
ساختار اینترنت و خصوصیات کاربرد آن به گستردگی مورد مطالعه قرارگرفتهاست. این مشخص شدهاست که ساختار مسیردهی پروتکل اینترنت(IP) و پیوندهای ابرمتن وب جهان گستر، هردو شبکههای مقیاس-آزاد هستند. شبیه به شیوه ارائه دهندگان تجاری اینترنت(ISP) که از طریق نقاط تبادل اینترنت(IXP) (به انگلیسی: Internet Exchange Point) به هم وصل میشوند، شبکههای پژوهشی نیز تمایل دارند که در شکل زیرشبکههای بزرگی مانند GEANT، گلوریاد، Internet۲ و JANET (شبکه آکادمی علوم و تحقیقات بریتانیا)، به هم متصل شوند. این زیر شبکهها به نوبه خود پیرامون شبکههای کوچکتری پدید آمدهاند.
بسیاری از دانشمندان علوم رایانه اینترنت را نمونه برجستهای از یک سیستم بزرگ بسیار مهندسی شده و هنوز بسیار پیچیده توصیف میکنند. اینترنت به شدت ناهمگن است. مثلاً نرخهای انتفال داده و ویژگیهای فیزیکی اتصالات بسیار تغییر میکند. اصول مسیریابی و آدرس دهی ترافیک در اینترنت به خاستگاه آن در سال ۱۹۶۰ بر میگردد که اتدازه و محبوبیت آینده اینترنت قابل پیش بینی نبود، از این رو امکان ایجاد ساختارهای دیگر در دست بررسی است.
حاکمیت
اینترنت یک شبکه جهانی توزیع شدهاست که شبکههای خودمختار به انتخاب خود به آن پیوستهاند و بدون هیچ بدنهٔ مرکزی فرماندهی کار میکند. اما برای حفظ همکنشپذیری آن جنبههای فنی و سیاستهای زیر ساخت پایهٔ آن و همچنین فضاهای نام اصلی آن توسط بنگاه اینترنتی نامها و شمارههای تخصیص داده شده(به انگلیسی: Internet Corporation for Assigned Names and Numbers) (ICANN) اداره میشوند که مقر اصلی آن درمارینا دل ری، کالیفرنیا قرار دارد. ICANN مرجعی است که به هماهنگ سازی تخصیص شناسههای یکتا برای استفاده در اینترنت میپردازد. این شناسهها شامل نامهای دامنه، نشانیهای IP، شماره پورتهای برنامهها در لایه انتقال و بسیاری از پارامترهای دیگر میشود. فضاهای نام یکتای جهانی که در آن نامها و شمارهها به صورتی تخصیص داده میشوند که مقادیر یکتا باشند، برای دسترسی جهانی به اینترنت ضروری هستند. ICANN توسط یک هیات مدیره بینالمللی که از بین انجمنهای فنی، آکادمیک و سایر انجمنهای غبر تجاری دیگراینترنت انتخاب میشود. دولت امریکا همچنان نقش اولیه را در تایید تغییرات در حوزه ریشه سامانه نام دامنه (به انگلیسی: DNS root zone) که قلب سامانه نام دامنه(DNS) را تشکیل میدهد. نقش ICANN در هماهنگی تخصیص شناسههای یکتا، آن را به عنوان تنها پیکره هماهنگ سازی در شبکه جهانی اینترنت متمایز میسازد. در ۱۶ نوامبر ۲۰۰۵ نشست جهانی در باره جامعه اطلاعاتی که در تونس برگزار شد انجمن حاکمیت اینترنت(IGF) را تاسیس کردند تا به مسایل مرتبط با اینترنت بپردازد.
کاربردهای امروزی
اینترنت انعطافپذیری بیشتری را در مورد ساعتهای کاری و موقعیت جغرافیایی فراهم میسازد بویژه با گسترش اتصالهای پرسرعت و نرمافزارهای کاربردی وب. امروزه اینترنت تقریباً از همه جا و به طرق مختلفی قابل دسترسی است، بویژه از طریق دستگاههای متحرک اینترنتی (Mobile Internet Device)، تلفن همراه، جعبههای بازی دستی(Handheld Game Console) و مسیریابهای سلولی(Cellular Routers) که به کاربران اجازه میدهد که هرکجا شبکههای بی سیم وجود دارد به اینترنت متصل شوند. با وجود محدودیت اندازه صفحه کوچک دستگاههای جیبی، خدمات اینترنت مانند وب و پست الکترونیک قابل استفادهاند. اینترنت همچنین بازار بزرگی برای شرکتها شدهاست. برخی از بزرگترین شرکتهای دنیا با بهرهگیری از ماهیت کم هزینه تبلیغات و دادوستد اینترنتی (که به دادوستدالکترونیک(E-Commerce) مشهور است) بزرگ شدهاند. این سریعترین راه برای انتشار همزمان اطلاعات بین افراد متعدد است. اینترنت متعاقباً راه و رسم خریدکردن را نیز متحول ساختهاست. به عنوان مثال یک فرد میتوانند کالایی مانند یک لوح فشرده(CD) را به صورت برخط(Online) سفارش داده و ظرف چند روز آن را از طریق پست دریافت کند و یا مستقیماً آن را در رایانهاش بارگیری(Download) نماید. اینترنت همچنین امکانات بزرگی برای بازاریابی شخصی (Personalized Marketing) به ارمغان میآورد و بیشتر از هر رسانه تبلیغاتی دیگری به یک شرکت امکان تبلیغ خصوصی محصول برای یک فرد و یا گروهی از افراد را میدهد. از نمونههای بازایابی شخصی میتوان به اجتماعات برخطی چون Facebook، Orkut، ،Twitter، Friendster، Myspace و مشابه آنها اشاره کرد که هزاران کاربر به عضویت آنها در میآیند تا خود را تبلیغ کنند و به صورت برخط دوست بیابند. بسیاری از آنها نوجوانان و جوانان بین ۱۳ تا ۲۵ سال هستند. وقتی که آنها خود را تبلیغ میکنند، علایق و سرگرمیهای خود را نیز تبلیغ مینمایند و شرکتهای بازاریابی برخط(Online Marketing) نیز از آن سود میجویند تا به اطلاعاتی در مورد اینکه هریک از این کاربران معمولاً جه کالاهایی را به صورت بر خط میخرند، دست یابند و محصولات شرکت خود را برای کاربران مورد نظرشان تبلیغ کنند.
به اشتراک گذاری آنی و کم هزینه ایدهها، دانش و مهارتها، با کمک نرمافزارهای تشریک مساعی (Collaborative Software) کارهای مشارکتی را بسیار آسانتر نمودهاست. گروهها نه تنها میتوانند به ارزانی ارتباط برقرار کنند و ایدهها را به اشتراک بگذارند، بلکه در وهله اول به دلیل دسترسی بسیار گسترده اینترنت تشکیل گروهها آسانتر میشود. مثالی از این موضوع، جنبش نرمافزار آزاد است که محصولاتی چون لینوکس، فایرفاکس موزیلا و اپنآفیس بوجود آورد. "گپ" اینترنتی چه به شکل اتاقهای گپ IRC و چه به شکل پیام رسانی فوری (Instant Messaging) به همکاران اجازه میدهد که به راحتی ضمن کارکردن پشت رایانه هایشان با یکدیگر در تماس باشند. پیامها حتی راحت تر و سریعتر از سیستم پست الکترونیکی مبادله میشوند. این سیستمها میتوانند به گونهای توسعه یابند که امکان مبادله فایل و یا تماس تصویری را نیز به کاربران ارائه دهند.(مانند Yahoo Messenger)
سیستمهای کنترل نسخه (Version Control) به گروههای همکاری کننده اجازه میدهد که بر روی اسناد اشتراکی کار کنند، بدون اینکه تصادفاً کار یکدیگر را رونویسی کنند و یا منتظر رسیدن اسناد به دستشان باشند تا بتوانند کار خود را بر روی اسناد انجام دهند. تیمهای تجاری و پرژهای میتوانند تقویمها را نیز در کنار اسناد و اطلاعات به اشتراک بگدارند. چنین هماهنگیهایی در طیف وسیعی از موضوعات مانند پژوهشهای علمی، تولید نرمافزار، برنامه ریزی کنفرانس وفعالیتهای سیاسی صورت میگیرد. همکاریهای سیاسی و اجتماعی با گسترش دسترسی به اینترنت و افزایش سوادرایانهای افزایش مییابد. از رویدادهای فلش ماب در اوایل ۲۰۰۰ تا استفاده از شبکههای اجتماعی در اعتراضات به انتخابات ۲۰۰۹ در ایران. اینترنت به افراد این امکان را میدهد که به طرز بسیار موثر تری از هرروش دیگری با هم کار کنند.
اینترنت امکان دسترسی از راه دور به رایانههای دیگر و انبارههای اطلاعات در هرجای دنیا که باشندرا به کاربران رایانه میدهد. آنها میتوانند برای این کار، در صورت نیاز، از فناوریهای امنیتی، رمزنگاری و احراز هویت نیز استفاده کنند. مثلاً یک حسابدار که در منزل خود نشستهاست میتواند حسابرسی دفاتر شرکتی را که در کشور دیگری قرار دارد، بر روی سروری که در کشور سومی قرار گرفته و توسط متخصصینی در کشور چهارم نگهداری میشود، انجام دهد ویا یک کارمند اداره میتواند در هر جای دنیا که باشدمی تواند یک نشست میزکاردور (Remote Desktop) رااز طریق اینترنت و یک شبکه خصوصی مجازی (VPN) ایمن به رایانهاش در اداره باز کند.
خدمات
اطلاعات
بسیاری از افراد واژههای "اینترنت" و "وب جهان گستر"(یابه صورت کوتاه "وب") را به جای هم بکار میبرند، حال آنکه این دو واژه معناهای متفاوتی دارند. وب جهان گستر مجموعهای جهانی از اسناد و تصاویر و سایر منابعی است که به وسیله ابرپیوندها با یکدیگر ارتباط منطقی دارند و با استفاده از شناسههای منبع یکنواخت (به انگلیسی: Uniform Resource Identifier) ویا به اختصار URI مورد مراجعه قرار میگیرند. URIها به ارائه دهندگان اجازه میدهد که سرویسها و مشتریان را به صورت سمبولیک مشخص نمایند. تا مکان یابی و آدرس دهی وب سرورها، سرورهای پرونده و سایر پایگاه دادههایی که اسناد را ذخیره میکنند و همچنین عرضه دسترسی به منابع از طریق پروتکل HTTP، اصلیترین پروتکل حامل وب، را ممکن سازند.HTTP تنها یک از صدها پروتکلی است که روی وب استفاده میشود. وب سرویسها نیز میتوانند از این پروتکل برای ارتباط استفاده کنند.
مرورگرهای وب جهان گستر مثل اینترنت اکسپلورر مایکروسافت، فایرفاکس، اپرا، سافاری اپل، و گوگل کروم با استفاده از ابرپیوندهای تعبیه شده درون صفحات، به کاربران امکان میدهند از یک صفحه وب به صفحه دیگرگردش کنند. این اسناد ممکن است ترکیبی از دادههای رایانهای شامل گرافیک، صدا، متن ساده، ویدیو، چندرسانهای و محتوای تعاملی شامل بازی، برنامههای اداری و نمایشهای علمی باشد. از راه پژوهشهای اینترنتی برپایه جستجوی کلیدواژهها با استفاده از موتورهای جستجوی وب مثل یاهو و گوگل کاربران میتوانند به سرعت و سادگی به حجم گسترده و متنوع اطلاعات بر خط دسترسی داشته باشند. در مقایسه با دانشنامههای چاپی و کتابخانههای سنتی، وب جهان گستر امکان عدم تمرکز اطلاعات را فراهم ساختهاست. وب همچنین به افراد و سازمانها توانایی انتشار ایدهها و افکارشان را برای شماربسیاری از مخاطبین بالقوه با هزینه وتاخیر زمانی کمینه میدهد. انتشار یک صفحه وب، وب نوشت، یا ساخت یک وبگاه هزینه اولیه بسیار پایینی دارد و سرویسهای رایگان نیز وجود دارند، هرچندکه انتشار و نگهداری وبگاههای بزرگ و حرفهای بااطلاعات جذاب، متنوع و به روز هنوزمشکل و پرهزینهاست. بسیاری از افراد، شرکتها و گروهها از وب نوشت هاکه به گستردگی برای یادداشتهای روزانه به روزشدنی به کارمی روند نیز استفاده میکنند. برخی از سازمانهای تجاری کارکنان خود کارکنان خود را تشویق میکنند که در حوزه تخصص خود توصیههایی را در وبگاه ارائه دهند، به این امید که با دانش تخصصی و اطلاعات رایگان، بازدیدکنندگان را تحت تاثیر قراردهند وبه شرکت خود جذب کنند. نمونه این روش در مایکروسافت دیده میشود که نرمافزارنویسان این شرکت، وب نوشتهای شخصی خود را منتشر میکنند تا علاقه عمومی را نسبت به کارشان بینگیزند.
تبلیغ برخط در صفحات وب پربیننده میتواند سود زیادی در برداشته باشد. دادوستدالکترونیک یا فروش محصولات مستقیماً از طریق وب نیز به رشد خود ادامه میدهد. در روزهای نخست وب، وبگاهها تنها مجموعهای از پروندههای متنی اچ تی امال(HTML) کامل شده و منزوی بود که بر روی وب سرورها ذخیره میشدند. به تازگی وبگاهها توسط نرمافزارهای مدیریت محتوا و ویکی و با محتوای اولیه اندک ساخته میشوند. مشارکت کنندگان سیستم پایگاه دادههای اصلی را توسط صفحات ویرایشگری که به همین منظور ساخته شدهاند با محتوای مورد نظر پر میکنند، حال آنکه بازدیدکنندگان تنها شکل نهایی HTML صفحات را میبینند. پروسه گرفتن محتوای جدید و دردسترس قرار دادن آن برای بازدیدکنندگان مورد نظر ممکن است شامل سیستمهای سردبیری، تاییدی و امنیتی باشد.
ارتباط
پست الکترونیک یکی از سرویسهای ارتباطی مهم در دسترس بر روی اینترنت است. مفهوم فرستادن پیامهای متنی الکترونیکی که به گونهای به نامهها و یادداشتهای پستی میماند، قدمتی بیش از اینترنت دارد. امروزه یکی از مسایلی که میتواند حائز اهمیت باشد درک تفاوت بین پست الکترونیک اینترنتی و سامانههای پست الکترونیکی داخلی است. یک نامه الکترونیکی اینترنتی ممکن است از شبکههای مختلفی عبورکند و بر روی ماشینهای مختلفی به صورت رمزنشده دخیره شود که از کنترل فرستنده و گیرنده نامه کاملاً خارج اند. دراین مدت کاملاً امکانپذیر است که این نامه توسط اشخاص ثالثی محتوای آن خوانده و یا حتی دستکاری شود. سامانههای پست الکترونیکی کاملاً داخلی که در آن نامه هاهرگزازمحدوده شبکه داخلی سازمان خارج نمیشوند بسیار ایمن تر هستند، هر چند که در هرسازمانی کارکنان فناوری اطلاعات و یا پرسنل دیگری هستند که شغلشان در ارتباط با نظارت و گاهی دسترسی به نامههای دیگران است. تصاویر و اسناد و سایر پروندهها نیز میتواند به صورت پیوست نامه الکترونیک فرستاده شود. نامههای الکترونیکی را میتوان به چندین نشانی پست الکترونیکی رونوشت نمود.
تلفن اینترنتی نیز سرویس ارتباطی دیگری است که با پیدایش اینترنت امکانپذیر شد. صدا روی پروتکل اینترنت(VoIP) نام پروتکلی است که زیر بنای همه ارتباطات تلفنی اینترنتی است. ایده آن در اوایل دهه ۱۹۹۰ همراه با برنامههای واکی-تاکی گونه برای رایانههای شخصی ظهور کرد. در سالهای اخیر سیستمهای VoIP سادگی استفاده و راحتی تلفنهای معمولی را پیدا کردهاند. فایده این کار ان است که چون ترافیک صدارااینترنت حمل میکند، VoIP هزینه بسیار کمی دارد و حتی میتواند رایگان باشد. به ویژه برای آن دسته از اتصالات اینترنت که همیشه برقرارند (مانند مودم کابلی یا ADSL) گزینه مناسبی است. VoIP در حال پخته شدن و تبدیل شدن به رقیب جایگزینی برای سیستمهای تلفن سنتی است. همکنشپذیری بین عرضه کنندگان مختلف بهبود یافته و امکان برقراری و یا در یافت تماس با تلفنهای معمولی نیز به وجود آمدهاست. کارتهای شبکه ساده و ارزان VoIP نیز در دسترس هستند که نیاز به وجود رایانه برای استفاده از VoIPرا ازبین میبرند.
کیفیت صدا از یک تماس تا تماس دیگر تغییر میکند، اما غالباً کیفیت برابر یا بهتر از تلفن معمولی است. مشکلاتی که برای VoIP باقی میمانند، گرفتن شماره تلفنهای اظطراری و قابلیت اطمینان است. در حال حاضر تعدادی از ازائه دهندگان VoIP سرویس شمارههای اظطراری را ارائه میدهند اما هنوز به صورت جهانی در دسترس نیست. تلفنهای سنتی انرژی را از خط تلفن میگیرند و در صورت قطع برق میتوانند همچنان عمل کنند. برای VoIP این امکان بدون استفاده از منبع تغذیه پشتیبان برای تغذیه تجهیزات تلفن و دسترسی به اینترنت، وجود ندارد. VoIP همچنین محبوبیت روزافزونی بین علاقهمندان بازیهای کامپیوتری به عنوان شکلی از ارتباط بین بازیکنان مییابد. محبوبترین برنامههای VoIP برای بازیها عبارتند از: Ventrilo و TeamSpeak. Wii، پلیاستیشن ۳ و ایکسباکس ۳۶۰ نیز ویژگی گفتگو با VoIP را عرضه میکنند.
انتقال داده
اشتراک فایل نمونهای از انتقال مقادیر بزرگ داده از طریق اینترنت است. یک فایل رایانهای را میتوان به صورت پیوست نامه الکترونیکی به دوستان و همکاران فرستاد. میتوان آن را دریک وبگاه ویا اف تی پی سرور(FTP Server) بارگذاری (Upload) نمودتا به آسانی توسط دیگران بارگیری(Download) شود. میتوان آن را در یک "مکان مشترک" در یک کارسازپرونده(File Server) قرار دارد تا به سرعت و آسانی در اختیار همکاران قرار گیرد. بار سنگین بارگیریهای شمار زیاد کاربران را میتوان با به کاربردن کارساز(سرور)های آینه و شبکههای تظیر-به-نظیر کاهش داد. دسترسی به فایل را میتوان از طریق تصدیق هویت کاربر کنترل کرد. انتقال فایل بر روی اینترنت را نیز میتوان با رمزگذاری در پوشش ابهام قرار داد. دستیابی به فایل ممکن است در گرو پرداخت مبلغی باشد که میتواند توسط کارت اعتباری پرداخت شود. مبدا و اعتبار فایل از طریق امضای دیجیتال و یا MD۵ و سایر روشهای هضم پیام قابل بررسی است. این ویژگیهای ساده اینترنت در مقیاس جهانی، به تدریج تولید، فروش و توزیع هر چیزی را که قابل ارائه به صورت فایل باشد را تغییر میدهد که این چیزها شامل همه انتشارات چاپی، محصولات نرمافزاری، اخبار، موسیقی، فیلم، ویدیو، عکاسی، گرافیک و آثار هنری دیگر میباشد.
رسانه جریانی(Streaming Media) همان عملی است که بسیاری از پخش کنندگان صدا و سیما، به واسطه آن، برنامههای خودرا از طریق اینترنت به صورت زنده پخش میکنند.(به عنوان مثال BBC) آنها امکان دیدن برنامههای غیر همزمان ضبط شده را نیز به کاربران میدهند. گروهی از آنها صرفاً برنامههای خود را از طریق اینترنت پخش میکنند. این بدین معنی است که یک رایانه میتواند به این رسانههای برخط، شبیه به همان صورتی که پیش از این تنها از طریق گیرندههای رادیو و تلویزیون امکانپذیر بود دست یابد. پادکستها گونه دیگری از پخش اینترنتی هستند که فایل صوتی توسط رایانه بارگیری میشود و سپس به یک پخش کننده رسانه قابل حمل منتقل میشود تا بتوان بعداً در حرکت بدان گوش داد.
وب بین (Webcam)ها را نیز میتوان گونه کم هزینه تر رسانه جریانی دانست. اگرچه برخی از وب بینها تصویر با ترخ فریم کامل میدهند اما غالباً تصویر کوچک است و به کندی به روز میشود. کاربران اینترنت میتوانند حیواناتی را دریک جنگل افریقایا گزارش تصویری از ترافیک در یک میدان را به صورت زنده و بی درنگ تماشا کنند و یا بر روی داراییهای خود از راه دور نیز نظارت بصری داشته باشند. محبوبیت اتاقهای گپ ویدیویی ویا کنفرانس تصویری نیز با افزایش تعداد کاربرانی که وب بین دارند، افزایش مییابد. یوتیوب در تاریخ ۱۵ فوریه ۲۰۰۵ ایجاد شد و اکنون وبگاه پیشرو در زمینه ویدیوهای جریانی است. یوتیوب از یک پخش کننده وب برپایه فلش برای پخش ویدیو استفاده میکند. کاربران ثبت نام کرده میتوانند مقدار نامحدودی ویدیو را در این وبگاه بارگذاری کنند و پروفایل شخصی بسازند. یوتیوب ادعا میکند که کاربرانش روزانه صدها میلیون ویدیو را بارگذاری و یا تماشا میکنند.
ممکن است شبکههای رایانهای مطابق مدلهای مرجع پایهای که در صنعت به عنوان استاندارد شناخته میشوند مانند «مدل مرجع ۷ لایه OSI» و «مدل ۴ لایه TCP/IP»، بر اساس نوع «لایه شبکه»ای که در آن عمل میکنند طبقهبندی شوند.
بر اساس معماری کاربری
ممکن است شبکههای رایانهای بر اساس معماری کاربری که بین اعضای شبکه وجود دارد طبقهبندی شود، برای نمونه معماریهای Active Networking، «مشتری-خدمتگذار» (Client-Server) و «همتا به همتا» Peer-to-Peer (گروه کاری).
بر اساس همبندی (توپولوژی)
ممکن است شبکههای رایانهای بر اساس نوع همبندی شبکه طبقهبندی شوند مانند: «شبکه باس» (Bus)، «شبکه ستاره» ((Star، «شبکه حلقهای» (Ring)، «شبکه توری» (Mesh)، «شبکه ستاره-باس» (Star-Bus)، «شبکه درختی» (Tree) یا «شبکه سلسله مراتبی» (Hierarchical) و ترکیبی و غیره.
همبندی شبکه را میتوان بر اساس نظم هندسی ترتیب داد. همبندیهای شبکه طرحهای منطقی شبکه هستند. واژه منطقی در اینجا بسیار پرمعنی است. این واژه به این معنی است که همبندی شبکه به طرح فیزیکی شبکه بستگی ندارد. مهم نیست که رایانهها در یک شبکه به صورت خطی پشت سر هم قرار گرفته باشند، ولی زمانیکه از طریق یک «هاب» به یکدیگر متصل شده باشند تشکیل همبندی ستاره میکنند نه باس. و این عامل مهمی است که شبکهها در آن فرق میکنند، جنبه ظاهری و جنبه عملکردی.
بر اساس قرارداد
ممکن است شبکههای رایانهای بر اساس «قرارداد» ارتباطی طبقهبندی شوند.
انواع شبکههای رایانهای از نظر اندازه
شبکه شخصی (PAN)
«شبکه شخصی» (Personal Area Network) یک «شبکه رایانهای» است که برای ارتباطات میان وسایل رایانهای که اطراف یک فرد میباشند (مانند «تلفن»ها و «رایانههای جیبی» (PDA) که به آن «دستیار دیجیتالی شخصی» نیز میگویند) بکار میرود. این که این وسایل ممکن است متعلق به آن فرد باشند یا خیر جای بحث خود را دارد. برد یک شبکه شخصی عموماً چند متر بیشتر نیست. موارد مصرف شبکههای خصوصی میتواند جهت ارتباطات وسایل شخصی چند نفر به یکدیگر و یا برقراری اتصال این وسایل به شبکهای در سطح بالاتر و شبکه «اینترنت» باشد.
ارتباطات شبکههای شخصی ممکن است به صورت سیمی به «گذرگاه»های رایانه مانند USB و فایروایر برقرار شود. همچنین با بهرهگیری از فناوریهایی مانند IrDA، «بلوتوث» (Bluetooth) و UWB میتوان شبکههای شخصی را به صورت بیسیم ساخت.
شبکه محلی (LAN)
«شبکه محلی» (Local Area Network) یک «شبکه رایانهای» است که محدوده جغرافیایی کوچکی مانند یک خانه، یک دفتر کار یا گروهی از ساختمانها را پوشش میدهد. در مقایسه با «شبکههای گسترده» (WAN) از مشخصات تعریفشده شبکههای محلی میتوان به سرعت (نرخ انتقال) بسیار بالاتر آنها، محدوده جغرافیایی کوچکتر و عدم نیاز به «خطوط استیجاری» مخابراتی اشاره کرد.
دو فناوری «اترنت» (Ethernet) روی کابل «جفت به هم تابیده بدون محافظ» (UTP) و «وایفای» (Wi-Fi) رایجترین فناوریهایی هستند که امروزه استفاده میشوند، با این حال فناوریهای «آرکنت» (ARCNET) و «توکن رینگ» (Token Ring) و بسیاری روشهای دیگر در گذشته مورد استفاده بودهاند.
شبکه کلانشهری (MAN)
«شبکه کلانشهری» (Metropolitan Area Network) یک «شبکه رایانهای» بزرگ است که معمولاً در سطح یک شهر گسترده میشود. در این شبکهها معمولاً از «زیرساخت بیسیم» و یا اتصالات «فیبر نوری» جهت ارتباط محلهای مختلف استفاده میشود.
شبکه گسترده (WAN)
«شبکه گسترده» (Wide Area Network) یک «شبکه رایانهای» است که نسبتاً ناحیه جغرافیایی وسیعی را پوشش میدهد (برای نمونه از یک کشور به کشوری دیگر یا از یک قاره به قارهای دیگر). این شبکهها معمولاً از امکانات انتقال خدمات دهندگان عمومی مانند شرکتهای مخابرات استفاده میکند. به عبارت کمتر رسمی این شبکهها از «مسیریاب»ها و لینکهای ارتباطی عمومی استفاده میکنند.
شبکههای گسترده برای اتصال شبکههای محلی یا دیگر انواع شبکه به یکدیگر استفاده میشوند. بنابراین کاربران و رایانههای یک مکان میتوانند با کاربران و رایانههایی در مکانهای دیگر در ارتباط باشند. بسیاری از شبکههای گسترده برای یک سازمان ویژه پیادهسازی میشوند و خصوصی هستند. بعضی دیگر بهوسیله «سرویس دهندگان اینترنت» (ISP) پیادهسازی میشوند تا شبکههای محلی سازمانها را به اینترنت متصل کنند.
شبکه متصل (Internetwork)
دو یا چند «شبکه» یا «زیرشبکه» (Subnet) که با استفاده از تجهیزاتی که در لایه ۳ یعنی «لایه شبکه» «مدل مرجع OSI» عمل میکنند مانند یک «مسیریاب»، به یکدیگر متصل میشوند تشکیل یک شبکه از شبکهها یا «شبکه متصل» را میدهند. همچنین میتوان شبکهای که از اتصال داخلی میان شبکههای عمومی، خصوصی، تجاری، صنعتی یا دولتی به وجود میآید را «شبکه متصل» نامید.
در کاربردهای جدید شبکههای به هم متصل شده از قرارداد IP استفاده میکنند. بسته به اینکه چه کسانی یک شبکه از شبکهها را مدیریت میکنند و اینکه چه کسانی در این شبکه عضو هستند، میتوان سه نوع «شبکه متصل» دسته بندی نمود:
شبکه داخلی یا اینترانت (Intranet)
شبکه خارجی یا اکسترانت (Extranet)
شبکهاینترنت (Internet)
شبکههای داخلی یا خارجی ممکن است که اتصالاتی به شبکه اینترنت داشته و یا نداشته باشند. در صورتی که این شبکهها به اینترنت متصل باشند در مقابل دسترسیهای غیرمجاز از سوی اینترنت محافظت میشوند. خود شبکه اینترنت به عنوان بخشی از شبکه داخلی یا شبکه خارجی به حساب نمیآید، اگرچه که ممکن است شبکه اینترنت به عنوان بستری برای برقراری دسترسی بین قسمتهایی از یک شبکه خارجی خدماتی را ارائه دهد.
شبکه داخلی (Intranet)
یک «شبکه داخلی» مجموعهای از شبکههای متصل به هم میباشد که از قرارداد IP و ابزارهای مبتنی بر IP مانند «مرورگران وب» استفاده میکند و معمولاً زیر نظر یک نهاد مدیریتی کنترل میشود. این نهاد مدیریتی «شبکه داخلی» را نسبت به باقی قسمتهای دنیا محصور میکند و به کاربران خاصی اجازه ورود به این شبکه را میدهد. به طور معمولتر شبکه درونی یک شرکت یا دیگر شرکتها «شبکه داخلی» میباشد.
به طور مثال شبکه ملی در ایران نوعی از شبکههای داخلی (اینترانت) میباشد.
شبکه خارجی (Extranet)
یک «شبکه خارجی» یک «شبکه» یا یک «شبکه متصل» است که به لحاظ قلمرو محدود به یک سازمان یا نهاد است ولی همچنین شامل اتصالات محدود به شبکههای متعلق به یک یا چند سازمان یا نهاد دیگر است که معمولاً ولی نه همیشه قابل اعتماد هستند. برای نمونه مشتریان یک شرکت ممکن است که دسترسی به بخشهایی از «شبکه داخلی» آن شرکت داشته باشند که بدین ترتیب یک «شبکه خارجی» درست میشود، چراکه از نقطهنظر امنیتی این مشتریان برای شبکه قابل اعتماد به نظر نمیرسند. همچنین از نظر فنی میتوان یک «شبکه خارجی» را در گروه شبکههای دانشگاهی، کلانشهری، گسترده یا دیگر انواع شبکه (هر چیزی غیر از شبکه محلی) به حساب آورد، چراکه از نظر تعریف یک «شبکه خارجی» نمیتواند فقط از یک شبکه محلی تشکیل شده باشد، چون بایستی دست کم یک اتصال به خارج از شبکه داشته باشد.
شبکه اینترنت (Internet)
شبکه ویژهای از شبکهها که حاصل اتصالات داخلی شبکههای دولتی، دانشگاهی، عمومی و خصوصی در سرتاسر دنیا است. این شبکه بر اساس شبکه اولیهای کار میکند که «آرپانت» (ARPANET) نام داشت و بهوسیله موسسه «آرپا» (ARPA) که وابسته به «وزارت دفاع ایالات متحده آمریکا» است ایجاد شد. همچنین منزلگاهی برای «وب جهانگستر» (WWW) است. در لاتین واژه Internet برای نامیدن آن بکار میرود که برای اشتباه نشدن با معنی عام واژه «شبکه متصل» حرف اول را بزرگ مینویسند.
اعضای شبکه اینترنت یا شرکتهای سرویس دهنده آنها از «آدرسهای IP» استفاده میکنند. این آدرسها از موسسات ثبت نام آدرس تهیه میشوند تا تخصیص آدرسها قابل کنترل باشد. همچنین «سرویس دهندگان اینترنت» و شرکتهای بزرگ، اطلاعات مربوط به در دسترس بودن آدرسهایشان را بواسطه «قرارداد دروازه لبه» (BGP) با دیگر اعضای اینترنت مبادله میکنند.
اجزای اصلی سختافزاری
همه شبکهها از اجزای سختافزاری پایهای تشکیل شدهاند تا گرههای شبکه را به یکدیگر متصل کنند، مانند «کارتهای شبکه»، «تکرارگر»ها، «هاب»ها، «پل»ها، «راهگزین»ها و «مسیریاب»ها. علاوه بر این، بعضی روشها برای اتصال این اجزای سختافزاری لازم است که معمولاً از کابلهای الکتریکی استفاده میشود (از همه رایجتر «کابل رده ۵» (کابل Cat5) است)، و کمتر از آنها، ارتباطات میکروویو (مانند آیتریپلئی ۸۰۲٫۱۱) و («کابل فیبر نوری» Optical Fiber Cable) بکار میروند.
کارت شبکه (network adapter)
«کارت شبکه»، «آداپتور شبکه» یا «کارت واسط شبکه» (Network Interface Card) قطعهای از سختافزار رایانهاست و طراحی شده تا این امکان را به رایانهها بدهد که بتوانند بر روی یک شبکه رایانهای با یکدیگر ارتباط برقرار کنند. این قطعه دسترسی فیزیکی به یک رسانه شبکه را تامین میکند و با استفاده از «آدرسهای MAC»، سیستمی سطح پایین جهت آدرس دهی فراهم میکند. این شرایط به کاربران اجازه میدهد تا به وسیله کابل یا به صورت بیسیم به یکدیگر متصل شوند.
تکرارگر (repeater)
«تکرارگر» تجهیزی الکترونیکی است که سیگنالی را دریافت کرده و آن را با سطح دامنه بالاتر، انرژی بیشتر و یا به سمت دیگر یک مانع ارسال میکند. بدین ترتیب میتوان سیگنال را بدون کاستی به فواصل دورتری فرستاد. از آنجا که تکرارگرها با سیگنالهای فیزیکی واقعی سروکار دارند و در جهت تفسیر دادهای که انتقال میدهند تلاشی نمیکنند، این تجهیزات در «لایه فیزیکی» یعنی اولین لایه از «مدل مرجع OSI» عمل میکنند.
هاب (جعبه تقسیم)-
«هاب» قطعهای سختافزاری است که امکان اتصال قسمتهای یک شبکه را با هدایت ترافیک در سراسر شبکه فراهم میکند. هابها در «لایه فیزیکی» از «مدل مرجع OSI» عمل میکنند. عملکرد هاب بسیار ابتدایی است، به این ترتیب که داده رسیده از یک گره را برای تمامی گرههای شبکه کپی میکند. هابها عموماً برای متصل کردن بخشهای یک «شبکه محلی» بکار میروند. هر هاب چندین «درگاه» (پورت) دارد. زمانی که بستهای از یک درگاه میرسد، به دیگر درگاهها کپی میشود، بنابراین همه قسمتهای شبکه محلی میتوانند بستهها را ببینند.
پل (bridge)
یک «پل» دو «زیرشبکه» (سگمنت) را در «لایه پیوند داده» از «مدل مرجع OSI» به هم متصل میکند. پلها شبیه به «تکرارگر»ها و «هاب»های شبکهاند که برای اتصال قسمتهای شبکه در «لایه فیزیکی» عمل میکنند، با این حال پل با استفاده از مفهوم پلزدن کار میکند، یعنی به جای آنکه ترافیک هر شبکه بدون نظارت به دیگر درگاهها کپی شود، آنرا مدیریت میکند. بستههایی که از یک طرف پل وارد میشوند تنها در صورتی به طرف دیگر انتشار مییابند که آدرس مقصد آنها مربوط به سیستمهایی باشد که در طرف دیگر پل قرار دارند. پل مانع انتشار پیغامهای همگانی در قطعههای کابل وصلشده به آن نمیشود.
پلها به سه دسته تقسیم میشوند:
پلهای محلی: مستقیماً به «شبکههای محلی» متصل میشود.
پلهای دوردست: از آن میتوان برای ساختن «شبکههای گسترده» جهت ایجاد ارتباط بین «شبکههای محلی» استفاده کرد. پلهای دور دست در شرایطی که سرعت اتصال از شبکههای انتهایی کمتر است با «مسیریاب»ها جایگزین میشوند.
پلهای بیسیم: برای «اتصال شبکههای محلی» به «شبکههای محلی بیسیم» یا «شبکههای محلی بیسیم» به هم یا ایستگاههای دوردست به «شبکههای محلی» استفاده میشوند.
راهگزین (switch)
«راهگزین» که در پارسی بیشتر واژه «سوئیچ» برای آن بکار برده میشود، وسیلهای است که قسمتهای شبکه را به یکدیگر متصل میکند. راهگزینهای معمولی شبکه تقریباً ظاهری شبیه به «هاب» دارند، ولی یک راهگزین در مقایسه با هاب از هوشمندی بیشتری (و همچنین قیمت بیشتری) برخوردار است. راهگزینهای شبکه این توانمندی را دارند که محتویات بستههای دادهای که دریافت میکنند را بررسی کرده، دستگاه فرستنده و گیرنده بسته را شناسایی کنند، و سپس آن بسته را به شکلی مناسب ارسال نمایند. با ارسال هر پیام فقط به دستگاه متصلی که پیام به هدف آن ارسال شده، راهگزین «پهنای باند» شبکه را به شکل بهینهتری استفاده میکند و عموماً عملکرد بهتری نسبت به یک هاب دارد.
از نظر فنی میتوان گفت که راهگزین در «لایه پیوند داده» از «مدل مرجع OSI» عمل کنند. ولی بعضی انواع راهگزین قادرند تا در لایههای بالاتر نیز به بررسی محتویات بسته بپردازند و از اطلاعات بدست آمده برای تعیین مسیر مناسب ارسال بسته استفاده کنند. به این راه گزینها به اصطلاح «راهگزینهای چندلایه» (Multilayer Switch) میگویند.
مسیریاب (router)
«مسیریاب»ها تجهیزات شبکهای هستند که بستههای داده را با استفاده از «سرایند»ها و «جدول ارسال» تعیین مسیر کرده، و ارسال میکنند. مسیریابها در «لایه شبکه» از «مدل مرجع OSI» عمل میکنند. همچنین مسیریابها اتصال بین بسترهای فیزیکی متفاوت را امکانپذیر میکنند. این کار با چک کردن سرایند یک بسته داده انجام میشود.
مسیریابها از «قراردادهای مسیریابی» مانند ابتدا کوتاهترین مسیر را انتخاب کردن استفاده میکنند تا با یکدیگر گفتگو کرده و بهترین مسیر بین هر دو ایستگاه را پیکربندی کنند. هر مسیریاب دسته کم به دو شبکه، معمولاً شبکههای محلی، شبکههای گسترده و یا یک شبکه محلی و یک سرویس دهنده اینترنت متصل است. بعضی انواع مودمهای DSL و کابلی جهت مصارف خانگی درون خود از وجود یک مسیریاب نیز بهره میبرند.
اینترنت
اینترنت (به انگلیسی: Internet) (مخفف interconnected networks شبکههای به هم پیوسته) را باید بزرگترین سامانهای دانست که تاکنون به دست انسان طرّاحی، مهندسی و اجرا گردیدهاست. ریشهٔ این شبکهٔ عظیم جهانی به دههٔ ۱۹۶۰باز میگردد که سازمانهای نظامی ایالات متّحدهٔ آمریکا برای انجام پروژههای تحقیقاتی برای ساخت شبکهای مستحکم، توزیع شده و باتحمل خطا سرمایهگذاری نمودند. این پژوهش به همراه دورهای از سرمایهگذاری شخصی بنیاد ملی علوم آمریکا برای ایجاد یک ستون فقرات جدید، سبب شد تا مشارکتهای جهانی آغاز گردد و از اواسط دههٔ ۱۹۹۰، اینترنت به صورت یک شبکهٔ همگانی و جهانشمول در بیاید. وابسته شدن تمامی فعّالیتهای بشر به اینترنت در مقیاسی بسیار عظیم و در زمانی چنین کوتاه، حکایت از آغاز یک دوران تاریخیِ نوین در عرصههای گوناگون علوم، فنّآوری، و به خصوص در نحوه تفکّر انسان دارد. شواهد زیادی در دست است که از آنچه اینترنت برای بشر خواهد ساخت و خواهد کرد، تنها مقدار بسیار اندکی به واقعیت درآمدهاست.
اینترنت سامانهای جهانی از شبکههای رایانهای بهم پیوستهاست که از پروتکلِ «مجموعه پروتکل اینترنت» برای ارتباط با یکدیگر استفاده مینمایند. به عبارت دیگر اینترنت، شبکهٔ شبکه هاست که از میلیونها شبکه خصوصی، عمومی، دانشگاهی، تجاری و دولتی در اندازههای محلی و کوچک تا جهانی و بسیار بزرگ تشکیل شدهاست که با آرایه وسیعی از فناوریهای الکترونیکی و نوری به هم متصل گشتهاند. اینترنت در برگیرنده منابع اطلاعاتی و خدمات گسترده ایست که برجستهترین آنها وب جهانگستر و رایانامه میباشند. سازمانها، مراکز علمی و تحقیقاتی و موسسات متعدد، نیازمند دستیابی به شبکه اینترنت برای ایجاد یک وبگاه، دستیابی از راه دور ویپیان، انجام تحقیقات و یا استفاده از سیستم رایانامه، میباشند. بسیاری از رسانههای ارتباطی سنتی مانند تلفن و تلویزیون نیز با استفاده از اینترنت تغییر شکل دادهاند ویا مجدداً تعریف شدهاند و خدماتی جدید همچون صدا روی پروتکل اینترنت و تلویزیون پروتکل اینترنت ظهور کردند. انتشار روزنامه نیز به صورت وبگاه، خوراک وب و وبنوشت تغییر شکل دادهاست. اینترنت اشکال جدیدی از تعامل بین انسانها را از طریق پیامرسانی فوری، تالار گفتگو و شبکههای اجتماعی بوجود آوردهاست.
در اینترنت هیچ نظارت مرکزی چه بر امور فنّی و چه بر سیاستهای دسترسی و استفاده وجود ندارد. هر شبکه تشکیل دهنده اینترنت، استانداردهای خود را تدوین میکند. تنها استثنا در این مورد دو فضای نام اصلی اینترنت، نشانی پروتکل اینترنت و سامانه نام دامنه است که توسط سازمانی به نام آیکان مدیریت میشوند. وظیفه پی بندی و استاندارد سازی پروتکلهای هستهای اینترنت، IPv4 و IPv6 بر عهده گروه ویژه مهندسی اینترنت است که سازمانی بینالمللی و غیرانتفاعی است و هر فردی میتواند در وظایفشان با آن مشارکت نماید.
واژهشناسی
در زبان انگلیسی واژهٔ Intrnet هنگامی که به شبکه جهانی مبتنی بر پروتکل IP اطلاق میگردد، با حرف بزرگ در اول کلمه، نوشته میشود.
در رسانهها فرهنگ عامه، گاه با اینترنت به صورت یک مقوله عمومی و مرسوم برخورد کرده و آن را با حرف تعریف و به صورت حروف کوچک مینگارند(the internet)
در برخی منابع بزرگ نوشتن حرف اول را به دلیل اسم بودن آن جایز میدانند نه برای صفت بودن این واژه.
واژهٔ لاتین the Internet چنانچه به شبکهٔ جهانی اینترنت اشاره کند، اسم خاص است و حرف اوّلش با حروف بزرگ آغاز میشود(I). اگر حرف اوّل آن کوچک باشد میتواند به عنوان شکل کوچک شده کلمه Internetwork برداشت شود که به معنی میان شبکه است. واژه "ابر" نیز به صورت استعاری، به ویژه در ادبیات رایانش ابری و نرمافزار به عنوان سرویس، برای اشاره به اینترنت به کار میرود.
اینترنت در برابر وب
غالباً در گفتگوهای روزمره از دو واژهٔ "وب" و "اینترنت"، به اشتباه، بدون تمایز زیادی استفاده میشود، امااین دو واژه معانی متفاوتی دارند. اینترنت یک سامانه ارتباطی جهانی برای داده هاست، زیرساختهای نرمافزاری و سختافزاری است که رایانهها در سراسر جهان به یکدیگر متصل میسازد. در مقابل، وب یکی از خدماتی (سرویس) است که بر روی اینترنت ارائه میشود و برای ارتباط از شبکه اینترنت بهره میجوید. وب مجموعهای از نوشتههای به هم پیوسته(web page) است که به کمک ابرپیوندها و آدرس جهانی(URL) به یکدیگر پیوند خوردهاند.
وب شامل سرویسهای دیگر مانند رایانامه، انتقال فایل(پروتکل افتیپی)، گروه خبری و بازی آنلاین است.
خدمات(سرویس)های یاد شده بر روی شبکههای مستقل و جدا از اینترنت نیز در دسترس هستند. وب به عنوان لایهای در بالای اینترنت قرار گرفته و سطح بالاتری نسبت به آن قرار دارد.
فناوری
پروتکلها
زیرساخت ارتباطی پیچیدهٔ اینترنت، از اجزای سختافزاری به همراه سامانهای از لایههای نرمافزاری که جنبههای مختلفی از معماری آن را کنترل میکنند تشکیل شدهاست. از آنجا که سختافزار اینترنت را غالباً میتوان برای پشتیبانی از هر سامانه نرمافزاری دیگری استفاده کرد، اینترنت ویژگیهایش را مرهون طراحی معماری نرمافزار و پروسه استاندارد سازی قوی این معماری است که زیربنای مقیاسپذیری و موفقیت آن را میسازد. مسئولیت طراحی معماری سامانههای نرمافزاری اینترنت بر عهده گروه ویژه مهندسی اینترنت(IETF) گذارده شدهاست. IETF گروههای کاری استانداردگذاری را در ارتباط باجنبههای مختلف معماری اینترنت مدیریت میکند که به روی هر فردی باز هستند. بحثهای حاصل و استانداردهای نهایی در قالب اسنادی به نام درخواست توضیح(RFC) (به انگلیسی: Request for Comments) منتشر میشوند که به رایگان در وبگاه IETF فابل دسترسی هستند. روشهای اصلی شبکه بندی که اینترنت را راه میاندازند درRFCهایی میآیند که به طور ویژهای متمایز شده اندواستانداردهای اینترنت را تشکیل میدهند. سایر اسناد ضعیف تر اسناد اطلاع رسانی، آزمایشی و تاریخی هستند و یا اسنادی اند که بهترین شیوههای رایج در پیادهسازی فناوریهای اینترنت را بیان میکنند.
استانداردهای اینترنت چارچوبی را مشخص میکنند که به نام بسته پروتکل اینترنت شناخته میشود. این بسته یک مدل معماری است که روشهارا به سامانه لایه بندی شدهای از پروتکلها تقسیم میکند.(RFC 1122, RFC 1123) هرلایه با محیطی متناظر است که سرویسهایی که ارائه میدهد در آن محیط یا حوزه عمل میکنند. بالاترین لایه، لایه کاربرد (به انگلیسی: Application Layer)، فضایی است برای شیوههای شبکه بندی مخصوص برنامههای کاربردی که مورد استفاده نرمافزارهای کاربردی قرار میگیرد، به عنوان مثال یک مرورگروب. در زیر این لایه لایه انتقال (به انگلیسی: Transport Layer) قرار دارد که برنامههای کاربردی را در " میزبانهای متفاوت" از طریق شبکه با شیوههای مناسب مبادله داده به یکدیگر مرتبط میسازد (به عنوان مثال مدل کارخواه-کارساز). در زیر این لایهها فناوریهای شبکه بندی اساسی در قالب دو لایه قراردارند. لایه اینترنت از طریق نشانی پروتکل اینترنت(آدرس IP) این قابلیت را به رایانهها میدهد که یکدیگر را شناسایی کنند و مکان یکدیگر را بیایند و به آنها اجازه میدهد که از طریق شبکههای ترانزیت میانی به هم متصل شوند. درآخر زیر همه لایهها یک لایه نرمافزاری به نام لایه پیوند قرارمی گیرد که اتصال بین میزبانهایی که در یک شبکه محلی قرار دارند ویا از طریق اتصال شماره گیری(Dial-up Connection) را بوجود میآورد. این مدل که به نام مجموعه پروتکل اینترنت خوانده میشود به گونهای طراحی شدهاست که از سختافزاری که بر روی آن کار میکند مستقل باشد و به جزئیات سختافزاری نمیپردازد. مدلهای دیگری نیز علاوه بر این مدل بوجود آمدند (مثل مدل مرجع OSI) که اگرچه شباهتهای زیادی با هم دارند، اما نه از لحاظ جزئیات توصیفی و نه از نظر پیادهسازی با هم سازگار نیستند.
برجستهترین جزء مدل اینترنت پروتکل اینترنت(IP) است که یک سیستم آدرس دهی (آدرسهای IP) برای رایانههای متصل به اینترنت را فراهم میآورد. IP نسخه ۴، نسخه ابتدایی آن بود که در نسل اول اینترنت امروزی بکار گرفته شد و هنوز هم کاربرد عمده دارد. این نسخه به گونهای طراحی شده بود که ۴٫۳~ میلیارد (۱۰۹) میزبان اینترنت را آدرس دهی کند. اما رشد انفجاری ایترنت منجر به اتمام آدرسهای IP شد و گمان میرود که تقریباً در ۲۰۱۱ به مرحله پایانی اش برسد. در اواسط دهه ۹۰ نسخه جدید این پروتکل، ipv6 با قابلیت آدرس دهی بسیار بیشتر و مسیر یابی کارآمد تر ترافیک اینترنت بوجود آمد. این نسخه هم اکنون در مرحله بکارگیری تجاری در سراسر دنیا به سر میبرد و دفاتر ثبت منطقهای اینترنت (RIR) (به انگلیسی: Regional Internet Registry) به تمام مدیران منابع اصرار میکنند که برای پذیرش نسخه جدید و تغییر، برنامه ریزی کنند..
IPv۶ با IPv۴ همکنشپذیر (Interoperable) نیست و در واقع نسخهای موازی از اینترنت ایجاد میکند که در دسترس نرمافزارهای سازگار با IPv۴ نمیباشد. این بدین معنی است که ارتقای نرمافزار و یا استفاده از امکانات ترجمه برای همه دستگاههای شبکه که بخواهند بر روی اینترنت IPv۶ ارتباط برقرار کنند، امری ضروری است. اکثر سیستم عاملهای مدرن امروزی به گونهای تغییر داده شدهاند که از هر دو نسخه IP پشتیبانی کنند، اما زیرساختهای شبکه هنوز از این قافله عقب هستند.
ساختار
ساختار اینترنت و خصوصیات کاربرد آن به گستردگی مورد مطالعه قرارگرفتهاست. این مشخص شدهاست که ساختار مسیردهی پروتکل اینترنت(IP) و پیوندهای ابرمتن وب جهان گستر، هردو شبکههای مقیاس-آزاد هستند. شبیه به شیوه ارائه دهندگان تجاری اینترنت(ISP) که از طریق نقاط تبادل اینترنت(IXP) (به انگلیسی: Internet Exchange Point) به هم وصل میشوند، شبکههای پژوهشی نیز تمایل دارند که در شکل زیرشبکههای بزرگی مانند GEANT، گلوریاد، Internet۲ و JANET (شبکه آکادمی علوم و تحقیقات بریتانیا)، به هم متصل شوند. این زیر شبکهها به نوبه خود پیرامون شبکههای کوچکتری پدید آمدهاند.
بسیاری از دانشمندان علوم رایانه اینترنت را نمونه برجستهای از یک سیستم بزرگ بسیار مهندسی شده و هنوز بسیار پیچیده توصیف میکنند. اینترنت به شدت ناهمگن است. مثلاً نرخهای انتفال داده و ویژگیهای فیزیکی اتصالات بسیار تغییر میکند. اصول مسیریابی و آدرس دهی ترافیک در اینترنت به خاستگاه آن در سال ۱۹۶۰ بر میگردد که اتدازه و محبوبیت آینده اینترنت قابل پیش بینی نبود، از این رو امکان ایجاد ساختارهای دیگر در دست بررسی است.
حاکمیت
اینترنت یک شبکه جهانی توزیع شدهاست که شبکههای خودمختار به انتخاب خود به آن پیوستهاند و بدون هیچ بدنهٔ مرکزی فرماندهی کار میکند. اما برای حفظ همکنشپذیری آن جنبههای فنی و سیاستهای زیر ساخت پایهٔ آن و همچنین فضاهای نام اصلی آن توسط بنگاه اینترنتی نامها و شمارههای تخصیص داده شده(به انگلیسی: Internet Corporation for Assigned Names and Numbers) (ICANN) اداره میشوند که مقر اصلی آن درمارینا دل ری، کالیفرنیا قرار دارد. ICANN مرجعی است که به هماهنگ سازی تخصیص شناسههای یکتا برای استفاده در اینترنت میپردازد. این شناسهها شامل نامهای دامنه، نشانیهای IP، شماره پورتهای برنامهها در لایه انتقال و بسیاری از پارامترهای دیگر میشود. فضاهای نام یکتای جهانی که در آن نامها و شمارهها به صورتی تخصیص داده میشوند که مقادیر یکتا باشند، برای دسترسی جهانی به اینترنت ضروری هستند. ICANN توسط یک هیات مدیره بینالمللی که از بین انجمنهای فنی، آکادمیک و سایر انجمنهای غبر تجاری دیگراینترنت انتخاب میشود. دولت امریکا همچنان نقش اولیه را در تایید تغییرات در حوزه ریشه سامانه نام دامنه (به انگلیسی: DNS root zone) که قلب سامانه نام دامنه(DNS) را تشکیل میدهد. نقش ICANN در هماهنگی تخصیص شناسههای یکتا، آن را به عنوان تنها پیکره هماهنگ سازی در شبکه جهانی اینترنت متمایز میسازد. در ۱۶ نوامبر ۲۰۰۵ نشست جهانی در باره جامعه اطلاعاتی که در تونس برگزار شد انجمن حاکمیت اینترنت(IGF) را تاسیس کردند تا به مسایل مرتبط با اینترنت بپردازد.
کاربردهای امروزی
اینترنت انعطافپذیری بیشتری را در مورد ساعتهای کاری و موقعیت جغرافیایی فراهم میسازد بویژه با گسترش اتصالهای پرسرعت و نرمافزارهای کاربردی وب. امروزه اینترنت تقریباً از همه جا و به طرق مختلفی قابل دسترسی است، بویژه از طریق دستگاههای متحرک اینترنتی (Mobile Internet Device)، تلفن همراه، جعبههای بازی دستی(Handheld Game Console) و مسیریابهای سلولی(Cellular Routers) که به کاربران اجازه میدهد که هرکجا شبکههای بی سیم وجود دارد به اینترنت متصل شوند. با وجود محدودیت اندازه صفحه کوچک دستگاههای جیبی، خدمات اینترنت مانند وب و پست الکترونیک قابل استفادهاند. اینترنت همچنین بازار بزرگی برای شرکتها شدهاست. برخی از بزرگترین شرکتهای دنیا با بهرهگیری از ماهیت کم هزینه تبلیغات و دادوستد اینترنتی (که به دادوستدالکترونیک(E-Commerce) مشهور است) بزرگ شدهاند. این سریعترین راه برای انتشار همزمان اطلاعات بین افراد متعدد است. اینترنت متعاقباً راه و رسم خریدکردن را نیز متحول ساختهاست. به عنوان مثال یک فرد میتوانند کالایی مانند یک لوح فشرده(CD) را به صورت برخط(Online) سفارش داده و ظرف چند روز آن را از طریق پست دریافت کند و یا مستقیماً آن را در رایانهاش بارگیری(Download) نماید. اینترنت همچنین امکانات بزرگی برای بازاریابی شخصی (Personalized Marketing) به ارمغان میآورد و بیشتر از هر رسانه تبلیغاتی دیگری به یک شرکت امکان تبلیغ خصوصی محصول برای یک فرد و یا گروهی از افراد را میدهد. از نمونههای بازایابی شخصی میتوان به اجتماعات برخطی چون Facebook، Orkut، ،Twitter، Friendster، Myspace و مشابه آنها اشاره کرد که هزاران کاربر به عضویت آنها در میآیند تا خود را تبلیغ کنند و به صورت برخط دوست بیابند. بسیاری از آنها نوجوانان و جوانان بین ۱۳ تا ۲۵ سال هستند. وقتی که آنها خود را تبلیغ میکنند، علایق و سرگرمیهای خود را نیز تبلیغ مینمایند و شرکتهای بازاریابی برخط(Online Marketing) نیز از آن سود میجویند تا به اطلاعاتی در مورد اینکه هریک از این کاربران معمولاً جه کالاهایی را به صورت بر خط میخرند، دست یابند و محصولات شرکت خود را برای کاربران مورد نظرشان تبلیغ کنند.
به اشتراک گذاری آنی و کم هزینه ایدهها، دانش و مهارتها، با کمک نرمافزارهای تشریک مساعی (Collaborative Software) کارهای مشارکتی را بسیار آسانتر نمودهاست. گروهها نه تنها میتوانند به ارزانی ارتباط برقرار کنند و ایدهها را به اشتراک بگذارند، بلکه در وهله اول به دلیل دسترسی بسیار گسترده اینترنت تشکیل گروهها آسانتر میشود. مثالی از این موضوع، جنبش نرمافزار آزاد است که محصولاتی چون لینوکس، فایرفاکس موزیلا و اپنآفیس بوجود آورد. "گپ" اینترنتی چه به شکل اتاقهای گپ IRC و چه به شکل پیام رسانی فوری (Instant Messaging) به همکاران اجازه میدهد که به راحتی ضمن کارکردن پشت رایانه هایشان با یکدیگر در تماس باشند. پیامها حتی راحت تر و سریعتر از سیستم پست الکترونیکی مبادله میشوند. این سیستمها میتوانند به گونهای توسعه یابند که امکان مبادله فایل و یا تماس تصویری را نیز به کاربران ارائه دهند.(مانند Yahoo Messenger)
سیستمهای کنترل نسخه (Version Control) به گروههای همکاری کننده اجازه میدهد که بر روی اسناد اشتراکی کار کنند، بدون اینکه تصادفاً کار یکدیگر را رونویسی کنند و یا منتظر رسیدن اسناد به دستشان باشند تا بتوانند کار خود را بر روی اسناد انجام دهند. تیمهای تجاری و پرژهای میتوانند تقویمها را نیز در کنار اسناد و اطلاعات به اشتراک بگدارند. چنین هماهنگیهایی در طیف وسیعی از موضوعات مانند پژوهشهای علمی، تولید نرمافزار، برنامه ریزی کنفرانس وفعالیتهای سیاسی صورت میگیرد. همکاریهای سیاسی و اجتماعی با گسترش دسترسی به اینترنت و افزایش سوادرایانهای افزایش مییابد. از رویدادهای فلش ماب در اوایل ۲۰۰۰ تا استفاده از شبکههای اجتماعی در اعتراضات به انتخابات ۲۰۰۹ در ایران. اینترنت به افراد این امکان را میدهد که به طرز بسیار موثر تری از هرروش دیگری با هم کار کنند.
اینترنت امکان دسترسی از راه دور به رایانههای دیگر و انبارههای اطلاعات در هرجای دنیا که باشندرا به کاربران رایانه میدهد. آنها میتوانند برای این کار، در صورت نیاز، از فناوریهای امنیتی، رمزنگاری و احراز هویت نیز استفاده کنند. مثلاً یک حسابدار که در منزل خود نشستهاست میتواند حسابرسی دفاتر شرکتی را که در کشور دیگری قرار دارد، بر روی سروری که در کشور سومی قرار گرفته و توسط متخصصینی در کشور چهارم نگهداری میشود، انجام دهد ویا یک کارمند اداره میتواند در هر جای دنیا که باشدمی تواند یک نشست میزکاردور (Remote Desktop) رااز طریق اینترنت و یک شبکه خصوصی مجازی (VPN) ایمن به رایانهاش در اداره باز کند.
خدمات
اطلاعات
بسیاری از افراد واژههای "اینترنت" و "وب جهان گستر"(یابه صورت کوتاه "وب") را به جای هم بکار میبرند، حال آنکه این دو واژه معناهای متفاوتی دارند. وب جهان گستر مجموعهای جهانی از اسناد و تصاویر و سایر منابعی است که به وسیله ابرپیوندها با یکدیگر ارتباط منطقی دارند و با استفاده از شناسههای منبع یکنواخت (به انگلیسی: Uniform Resource Identifier) ویا به اختصار URI مورد مراجعه قرار میگیرند. URIها به ارائه دهندگان اجازه میدهد که سرویسها و مشتریان را به صورت سمبولیک مشخص نمایند. تا مکان یابی و آدرس دهی وب سرورها، سرورهای پرونده و سایر پایگاه دادههایی که اسناد را ذخیره میکنند و همچنین عرضه دسترسی به منابع از طریق پروتکل HTTP، اصلیترین پروتکل حامل وب، را ممکن سازند.HTTP تنها یک از صدها پروتکلی است که روی وب استفاده میشود. وب سرویسها نیز میتوانند از این پروتکل برای ارتباط استفاده کنند.
مرورگرهای وب جهان گستر مثل اینترنت اکسپلورر مایکروسافت، فایرفاکس، اپرا، سافاری اپل، و گوگل کروم با استفاده از ابرپیوندهای تعبیه شده درون صفحات، به کاربران امکان میدهند از یک صفحه وب به صفحه دیگرگردش کنند. این اسناد ممکن است ترکیبی از دادههای رایانهای شامل گرافیک، صدا، متن ساده، ویدیو، چندرسانهای و محتوای تعاملی شامل بازی، برنامههای اداری و نمایشهای علمی باشد. از راه پژوهشهای اینترنتی برپایه جستجوی کلیدواژهها با استفاده از موتورهای جستجوی وب مثل یاهو و گوگل کاربران میتوانند به سرعت و سادگی به حجم گسترده و متنوع اطلاعات بر خط دسترسی داشته باشند. در مقایسه با دانشنامههای چاپی و کتابخانههای سنتی، وب جهان گستر امکان عدم تمرکز اطلاعات را فراهم ساختهاست. وب همچنین به افراد و سازمانها توانایی انتشار ایدهها و افکارشان را برای شماربسیاری از مخاطبین بالقوه با هزینه وتاخیر زمانی کمینه میدهد. انتشار یک صفحه وب، وب نوشت، یا ساخت یک وبگاه هزینه اولیه بسیار پایینی دارد و سرویسهای رایگان نیز وجود دارند، هرچندکه انتشار و نگهداری وبگاههای بزرگ و حرفهای بااطلاعات جذاب، متنوع و به روز هنوزمشکل و پرهزینهاست. بسیاری از افراد، شرکتها و گروهها از وب نوشت هاکه به گستردگی برای یادداشتهای روزانه به روزشدنی به کارمی روند نیز استفاده میکنند. برخی از سازمانهای تجاری کارکنان خود کارکنان خود را تشویق میکنند که در حوزه تخصص خود توصیههایی را در وبگاه ارائه دهند، به این امید که با دانش تخصصی و اطلاعات رایگان، بازدیدکنندگان را تحت تاثیر قراردهند وبه شرکت خود جذب کنند. نمونه این روش در مایکروسافت دیده میشود که نرمافزارنویسان این شرکت، وب نوشتهای شخصی خود را منتشر میکنند تا علاقه عمومی را نسبت به کارشان بینگیزند.
تبلیغ برخط در صفحات وب پربیننده میتواند سود زیادی در برداشته باشد. دادوستدالکترونیک یا فروش محصولات مستقیماً از طریق وب نیز به رشد خود ادامه میدهد. در روزهای نخست وب، وبگاهها تنها مجموعهای از پروندههای متنی اچ تی امال(HTML) کامل شده و منزوی بود که بر روی وب سرورها ذخیره میشدند. به تازگی وبگاهها توسط نرمافزارهای مدیریت محتوا و ویکی و با محتوای اولیه اندک ساخته میشوند. مشارکت کنندگان سیستم پایگاه دادههای اصلی را توسط صفحات ویرایشگری که به همین منظور ساخته شدهاند با محتوای مورد نظر پر میکنند، حال آنکه بازدیدکنندگان تنها شکل نهایی HTML صفحات را میبینند. پروسه گرفتن محتوای جدید و دردسترس قرار دادن آن برای بازدیدکنندگان مورد نظر ممکن است شامل سیستمهای سردبیری، تاییدی و امنیتی باشد.
ارتباط
پست الکترونیک یکی از سرویسهای ارتباطی مهم در دسترس بر روی اینترنت است. مفهوم فرستادن پیامهای متنی الکترونیکی که به گونهای به نامهها و یادداشتهای پستی میماند، قدمتی بیش از اینترنت دارد. امروزه یکی از مسایلی که میتواند حائز اهمیت باشد درک تفاوت بین پست الکترونیک اینترنتی و سامانههای پست الکترونیکی داخلی است. یک نامه الکترونیکی اینترنتی ممکن است از شبکههای مختلفی عبورکند و بر روی ماشینهای مختلفی به صورت رمزنشده دخیره شود که از کنترل فرستنده و گیرنده نامه کاملاً خارج اند. دراین مدت کاملاً امکانپذیر است که این نامه توسط اشخاص ثالثی محتوای آن خوانده و یا حتی دستکاری شود. سامانههای پست الکترونیکی کاملاً داخلی که در آن نامه هاهرگزازمحدوده شبکه داخلی سازمان خارج نمیشوند بسیار ایمن تر هستند، هر چند که در هرسازمانی کارکنان فناوری اطلاعات و یا پرسنل دیگری هستند که شغلشان در ارتباط با نظارت و گاهی دسترسی به نامههای دیگران است. تصاویر و اسناد و سایر پروندهها نیز میتواند به صورت پیوست نامه الکترونیک فرستاده شود. نامههای الکترونیکی را میتوان به چندین نشانی پست الکترونیکی رونوشت نمود.
تلفن اینترنتی نیز سرویس ارتباطی دیگری است که با پیدایش اینترنت امکانپذیر شد. صدا روی پروتکل اینترنت(VoIP) نام پروتکلی است که زیر بنای همه ارتباطات تلفنی اینترنتی است. ایده آن در اوایل دهه ۱۹۹۰ همراه با برنامههای واکی-تاکی گونه برای رایانههای شخصی ظهور کرد. در سالهای اخیر سیستمهای VoIP سادگی استفاده و راحتی تلفنهای معمولی را پیدا کردهاند. فایده این کار ان است که چون ترافیک صدارااینترنت حمل میکند، VoIP هزینه بسیار کمی دارد و حتی میتواند رایگان باشد. به ویژه برای آن دسته از اتصالات اینترنت که همیشه برقرارند (مانند مودم کابلی یا ADSL) گزینه مناسبی است. VoIP در حال پخته شدن و تبدیل شدن به رقیب جایگزینی برای سیستمهای تلفن سنتی است. همکنشپذیری بین عرضه کنندگان مختلف بهبود یافته و امکان برقراری و یا در یافت تماس با تلفنهای معمولی نیز به وجود آمدهاست. کارتهای شبکه ساده و ارزان VoIP نیز در دسترس هستند که نیاز به وجود رایانه برای استفاده از VoIPرا ازبین میبرند.
کیفیت صدا از یک تماس تا تماس دیگر تغییر میکند، اما غالباً کیفیت برابر یا بهتر از تلفن معمولی است. مشکلاتی که برای VoIP باقی میمانند، گرفتن شماره تلفنهای اظطراری و قابلیت اطمینان است. در حال حاضر تعدادی از ازائه دهندگان VoIP سرویس شمارههای اظطراری را ارائه میدهند اما هنوز به صورت جهانی در دسترس نیست. تلفنهای سنتی انرژی را از خط تلفن میگیرند و در صورت قطع برق میتوانند همچنان عمل کنند. برای VoIP این امکان بدون استفاده از منبع تغذیه پشتیبان برای تغذیه تجهیزات تلفن و دسترسی به اینترنت، وجود ندارد. VoIP همچنین محبوبیت روزافزونی بین علاقهمندان بازیهای کامپیوتری به عنوان شکلی از ارتباط بین بازیکنان مییابد. محبوبترین برنامههای VoIP برای بازیها عبارتند از: Ventrilo و TeamSpeak. Wii، پلیاستیشن ۳ و ایکسباکس ۳۶۰ نیز ویژگی گفتگو با VoIP را عرضه میکنند.
انتقال داده
اشتراک فایل نمونهای از انتقال مقادیر بزرگ داده از طریق اینترنت است. یک فایل رایانهای را میتوان به صورت پیوست نامه الکترونیکی به دوستان و همکاران فرستاد. میتوان آن را دریک وبگاه ویا اف تی پی سرور(FTP Server) بارگذاری (Upload) نمودتا به آسانی توسط دیگران بارگیری(Download) شود. میتوان آن را در یک "مکان مشترک" در یک کارسازپرونده(File Server) قرار دارد تا به سرعت و آسانی در اختیار همکاران قرار گیرد. بار سنگین بارگیریهای شمار زیاد کاربران را میتوان با به کاربردن کارساز(سرور)های آینه و شبکههای تظیر-به-نظیر کاهش داد. دسترسی به فایل را میتوان از طریق تصدیق هویت کاربر کنترل کرد. انتقال فایل بر روی اینترنت را نیز میتوان با رمزگذاری در پوشش ابهام قرار داد. دستیابی به فایل ممکن است در گرو پرداخت مبلغی باشد که میتواند توسط کارت اعتباری پرداخت شود. مبدا و اعتبار فایل از طریق امضای دیجیتال و یا MD۵ و سایر روشهای هضم پیام قابل بررسی است. این ویژگیهای ساده اینترنت در مقیاس جهانی، به تدریج تولید، فروش و توزیع هر چیزی را که قابل ارائه به صورت فایل باشد را تغییر میدهد که این چیزها شامل همه انتشارات چاپی، محصولات نرمافزاری، اخبار، موسیقی، فیلم، ویدیو، عکاسی، گرافیک و آثار هنری دیگر میباشد.
رسانه جریانی(Streaming Media) همان عملی است که بسیاری از پخش کنندگان صدا و سیما، به واسطه آن، برنامههای خودرا از طریق اینترنت به صورت زنده پخش میکنند.(به عنوان مثال BBC) آنها امکان دیدن برنامههای غیر همزمان ضبط شده را نیز به کاربران میدهند. گروهی از آنها صرفاً برنامههای خود را از طریق اینترنت پخش میکنند. این بدین معنی است که یک رایانه میتواند به این رسانههای برخط، شبیه به همان صورتی که پیش از این تنها از طریق گیرندههای رادیو و تلویزیون امکانپذیر بود دست یابد. پادکستها گونه دیگری از پخش اینترنتی هستند که فایل صوتی توسط رایانه بارگیری میشود و سپس به یک پخش کننده رسانه قابل حمل منتقل میشود تا بتوان بعداً در حرکت بدان گوش داد.
وب بین (Webcam)ها را نیز میتوان گونه کم هزینه تر رسانه جریانی دانست. اگرچه برخی از وب بینها تصویر با ترخ فریم کامل میدهند اما غالباً تصویر کوچک است و به کندی به روز میشود. کاربران اینترنت میتوانند حیواناتی را دریک جنگل افریقایا گزارش تصویری از ترافیک در یک میدان را به صورت زنده و بی درنگ تماشا کنند و یا بر روی داراییهای خود از راه دور نیز نظارت بصری داشته باشند. محبوبیت اتاقهای گپ ویدیویی ویا کنفرانس تصویری نیز با افزایش تعداد کاربرانی که وب بین دارند، افزایش مییابد. یوتیوب در تاریخ ۱۵ فوریه ۲۰۰۵ ایجاد شد و اکنون وبگاه پیشرو در زمینه ویدیوهای جریانی است. یوتیوب از یک پخش کننده وب برپایه فلش برای پخش ویدیو استفاده میکند. کاربران ثبت نام کرده میتوانند مقدار نامحدودی ویدیو را در این وبگاه بارگذاری کنند و پروفایل شخصی بسازند. یوتیوب ادعا میکند که کاربرانش روزانه صدها میلیون ویدیو را بارگذاری و یا تماشا میکنند.
خط مشی جاوا
یکی از ویژگیهای جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سختافزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره میکند، اما نه بهصورت کد ماشین بلکه بهصورت بایتکد جاوا. دستورالعملها شبیه کد ماشین هستند، اما با ماشینهای مجازی که به طور خاص برای سختافزارهای مختلف نوشته شدهاند، اجرا میشوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده میکند. کتابخانههای استاندارد یک راه عمومی برای دسترسی به ویژگیهای خاص فراهم میکنند. مانند گرافیک، نخکشی و شبکه. در بعضی از نسخههای ماشین مجازی جاوا، بایتکدها میتوانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایتکد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامههای ترجمه شده تقریباً همیشه کندتر از برنامههای کامپایل شدهٔ محلی اجرا میشوند. این شکاف میتواند با چند تکنیک خوشبینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیکها JIT است که بایتکد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان میکند. در نتیجه برنامه خیلی سریعتر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا میشود. بیشتر VMهای پیشرفته، بهصورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینهسازی قسمتهای برنامه، استفاده میشوند. کامپایل مجدد پویا میتواند کامپایل ایستا را بهینهسازی کند. زیرا میتواند قسمت hot spot برنامه و گاهی حلقههای داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامههای جاوا اجازه میدهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.
تکنیک بعدی به عنوان کامپایل ایستا شناخته شدهاست. که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایتکدها را به کدهای شی محلی ترجمه میکند.
کارایی جاوا نسبت به نسخههای اولیه بیشتر شد. در تعدادی از تستها نشان داده شد که کارایی کامپایلرJIT کاملاًَ مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمیدهند. یکی از پیشرفتهای بی نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمیکردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثنا رخ میدهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت میکنند.
پیادهسازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستمعامل). دادهاست. همچنین محیطهای دیگری برای دیگر پلت فرمها فراهم آوردهاست. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیادهسازیها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیادهسازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگیهای خاصی را برای خودش اضافه کردهاست. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمیتواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخههای دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه
جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شی استفاده میکند. برنامهنویس زمانی که اشیا به وجود میآیند، این حافظه را تعیین میکند. و در زمان اجرا نیز، زمانی که این اشیا در استفادهٔ زیاد طولانی نباشند، برنامه نویس مسئول بازگرداندن این حافظهاست. زمانی که مرجعی برای شیهای باقیمانده نیست، شیهای غیر قابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب میشوند. اگر برنامهنویس مقداری از حافظه را برای شیهایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق میافتند.
یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامهنویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده میگیرد. در بعضی از زبانها حافظه لازم برای ایجاد یک شی، به صورت ضمنی و بدون شرط، به پشته تخصیص داده میشود. و یا بهطور صریح اختصاص داده شده و از heap بازگردانده میشود. در هر کدام از این راهها، مسئولیت ادارهٔ اقامت حافظه با برنامهنویس است. اگر برنامه شی را برنگرداند، سوراخ حافظه اتفاق میافتد. اگر برنامه تلاش کند به حافظهای را که هماکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بیثبات شده و یا تخریب شود. این ممکن است با استفاده از اشارهگر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد میشود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. بهطوری که این زمانی اتفاق میافتد که برنامه بیکار باشد. اگر حافظهٔ خالی کافی برای تخصیص شی جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیا استفاده میشوند.
جاوا از نوع اشارهگر ریاضی C و ++C پشتیبانی نمیکند. در جایی که آدرس اشیا و اعداد صحیح میتوانند به جای هم استفاده شوند. همانند ++C و بعضی زبانهای شیگرای دیگر، متغیرهای نوعهای اولیهٔ جاوا شیگرا نبودند. مقدار نوعهای اولیه، مستقیماً در فیلدها ذخیره میشوند. در فیلدها (برای اشیا) و در پشته (برای توابع)، بیشتر از هیپ استفاده میشود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شیگرای خالص به حساب نمیآید.
گرامر
گرامر جاوا وسیعتر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شیگرایی، زبان جاوا یک زبان شیگرای خالص میباشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگیها را پشتیبانی میکند و از کلاسها برای سادهتر کردن برنامهنویسی و کاهش خطا استفاده میکند.
بر طبق قرارداد فایل هل بعد از کلاسهای عمومی نام گذاری میشوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد میشود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما میتواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.
کلاسی که به صورت خصوصی تعریف میشود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف میشود یک کلاس فایل تولید میکند. که نام این کلاس فایل همنام کلاس است با پسوند.class
کلمه کلیدی public (عمومی) برای قسمتهایی که میتوانند از کدهای کلاسهای دیگر صدا زده بشوند، به کار برده میشود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونههایی از کلاس، نشان میدهد. فقط تابعهای ایستا میتوانند توسط اشیا بدون مرجع صدا زده شوند. دادههای ایستا به متغیرهایی که ایستا نیستند، نمیتوانند دسترسی داشته باشند.
کلمهٔ کلیدی void (تهی) نشان میدهد که تابع main هیچ مقداری را بر نمیگرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا میزند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.
تابع main باید آرایهای از اشیا رشتهای را بپذیرد. تابع main میتواند از آرگومانهای متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه میدهد اعدادی دلخواه از اشیا رشتهای را فراخوانی کند. پارامترstring[]args آرایهای از اشیا رشته ایست که شامل تمام آرگومانهایی که به کلاس فرستاده میشود، است.
چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کردهاست. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه میکند.
توزیعهای جاوا
منظور از توزیع جاوا پیادهسازیهای مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانههای استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیعکنندهٔ عمده جاوا وجود دارند:
سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن میباشد. در اکثر موارد هنگامی که گفته میشود جاوا منظور توزیع سان میباشد.
GNU Classpath: این توزیع از سوی موسسه نرمافزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهرهگیری از توزیع شرکت سان از اول پیادهسازی شدهاست. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شدهاست. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیطهای احرایی برنامههای جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا میکند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرمافزارهای آزاد به صورت متن باز منتشر کردهاست و قول انتشار قسمت بسیار کوچکی از این مجموعه را که بهدلیل استفاده از کدهای شرکتهای ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها دادهاست.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه میباشد که توسط مایکروسافت و در چارچوب.net ارائه شدهاست. انتظار اینکه در سیستمعاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی میباشد که امکان برنامه نویسی Aspect Oriented را به جاوا میافزاید. این برنامه توسط بنیاد برنامهنویسی جلوهگرا و به صورت کدباز ارائه شدهاست.
کلاسهای خاص
برنامک (برنامههای کاربردی کوچک)
اپلت جاواها برنامههایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شدهاند. واژهٔ import باعث میشود کامپایلر جاوا کلاسهای javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه میدهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست میکند. کلاس اپلت یک تابع پنجرهای مجرد است که برنامههای کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم میکند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل میکند، برای اینکه کدی که اپلت را نمایش میدهد، فراهم کند. تابع paint شیهای گرافیکی را که شامل زمینههای گرافیکی هستند را میفرستد تا برای نمایش اپلتها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا میزند.
جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم میکند. و شامل مکانیزمهایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستمهای تجاری موجود است.servlet قسمتی از javaEE است که به درخواستهای مشتری پاسخ میدهد.
واژهٔ import کامپایلر جاوا را هدایت میکند که تمام کلاسهای عمومی و واسطها را از بستههای java.io وjava.servlet را در کامپایل وارد کند.
کلاس Hello کلاس Genericservlet را توسعه میدهد. کلاس Genericservlet واسطی برای سرور فراهم میکند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید میکند. نوعاً صفحات HTML به درخواستهای HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه میکنند.JSP به javaservlet کامپایل میشود.
سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شدهاند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد میکند.
اولین جملهٔ import کامپایلر جاوا را هدایت میکندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاسهای عمومی و واسط آنها را از بستهٔ javax.swing اضافه میکند. کلاس Hello کلاس Jframe را توسعه میدهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.
زمانی که برنامه آغاز میشود، تابع main با JVM صدا زده میشود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده میشود.
یکی از ویژگیهای جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سختافزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره میکند، اما نه بهصورت کد ماشین بلکه بهصورت بایتکد جاوا. دستورالعملها شبیه کد ماشین هستند، اما با ماشینهای مجازی که به طور خاص برای سختافزارهای مختلف نوشته شدهاند، اجرا میشوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده میکند. کتابخانههای استاندارد یک راه عمومی برای دسترسی به ویژگیهای خاص فراهم میکنند. مانند گرافیک، نخکشی و شبکه. در بعضی از نسخههای ماشین مجازی جاوا، بایتکدها میتوانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایتکد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامههای ترجمه شده تقریباً همیشه کندتر از برنامههای کامپایل شدهٔ محلی اجرا میشوند. این شکاف میتواند با چند تکنیک خوشبینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیکها JIT است که بایتکد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان میکند. در نتیجه برنامه خیلی سریعتر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا میشود. بیشتر VMهای پیشرفته، بهصورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینهسازی قسمتهای برنامه، استفاده میشوند. کامپایل مجدد پویا میتواند کامپایل ایستا را بهینهسازی کند. زیرا میتواند قسمت hot spot برنامه و گاهی حلقههای داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامههای جاوا اجازه میدهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.
تکنیک بعدی به عنوان کامپایل ایستا شناخته شدهاست. که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایتکدها را به کدهای شی محلی ترجمه میکند.
کارایی جاوا نسبت به نسخههای اولیه بیشتر شد. در تعدادی از تستها نشان داده شد که کارایی کامپایلرJIT کاملاًَ مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمیدهند. یکی از پیشرفتهای بی نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمیکردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثنا رخ میدهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت میکنند.
پیادهسازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستمعامل). دادهاست. همچنین محیطهای دیگری برای دیگر پلت فرمها فراهم آوردهاست. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیادهسازیها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیادهسازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگیهای خاصی را برای خودش اضافه کردهاست. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمیتواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخههای دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه
جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شی استفاده میکند. برنامهنویس زمانی که اشیا به وجود میآیند، این حافظه را تعیین میکند. و در زمان اجرا نیز، زمانی که این اشیا در استفادهٔ زیاد طولانی نباشند، برنامه نویس مسئول بازگرداندن این حافظهاست. زمانی که مرجعی برای شیهای باقیمانده نیست، شیهای غیر قابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب میشوند. اگر برنامهنویس مقداری از حافظه را برای شیهایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق میافتند.
یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامهنویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده میگیرد. در بعضی از زبانها حافظه لازم برای ایجاد یک شی، به صورت ضمنی و بدون شرط، به پشته تخصیص داده میشود. و یا بهطور صریح اختصاص داده شده و از heap بازگردانده میشود. در هر کدام از این راهها، مسئولیت ادارهٔ اقامت حافظه با برنامهنویس است. اگر برنامه شی را برنگرداند، سوراخ حافظه اتفاق میافتد. اگر برنامه تلاش کند به حافظهای را که هماکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بیثبات شده و یا تخریب شود. این ممکن است با استفاده از اشارهگر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد میشود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. بهطوری که این زمانی اتفاق میافتد که برنامه بیکار باشد. اگر حافظهٔ خالی کافی برای تخصیص شی جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیا استفاده میشوند.
جاوا از نوع اشارهگر ریاضی C و ++C پشتیبانی نمیکند. در جایی که آدرس اشیا و اعداد صحیح میتوانند به جای هم استفاده شوند. همانند ++C و بعضی زبانهای شیگرای دیگر، متغیرهای نوعهای اولیهٔ جاوا شیگرا نبودند. مقدار نوعهای اولیه، مستقیماً در فیلدها ذخیره میشوند. در فیلدها (برای اشیا) و در پشته (برای توابع)، بیشتر از هیپ استفاده میشود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شیگرای خالص به حساب نمیآید.
گرامر
گرامر جاوا وسیعتر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شیگرایی، زبان جاوا یک زبان شیگرای خالص میباشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگیها را پشتیبانی میکند و از کلاسها برای سادهتر کردن برنامهنویسی و کاهش خطا استفاده میکند.
بر طبق قرارداد فایل هل بعد از کلاسهای عمومی نام گذاری میشوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد میشود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما میتواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.
کلاسی که به صورت خصوصی تعریف میشود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف میشود یک کلاس فایل تولید میکند. که نام این کلاس فایل همنام کلاس است با پسوند.class
کلمه کلیدی public (عمومی) برای قسمتهایی که میتوانند از کدهای کلاسهای دیگر صدا زده بشوند، به کار برده میشود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونههایی از کلاس، نشان میدهد. فقط تابعهای ایستا میتوانند توسط اشیا بدون مرجع صدا زده شوند. دادههای ایستا به متغیرهایی که ایستا نیستند، نمیتوانند دسترسی داشته باشند.
کلمهٔ کلیدی void (تهی) نشان میدهد که تابع main هیچ مقداری را بر نمیگرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا میزند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.
تابع main باید آرایهای از اشیا رشتهای را بپذیرد. تابع main میتواند از آرگومانهای متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه میدهد اعدادی دلخواه از اشیا رشتهای را فراخوانی کند. پارامترstring[]args آرایهای از اشیا رشته ایست که شامل تمام آرگومانهایی که به کلاس فرستاده میشود، است.
چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کردهاست. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه میکند.
توزیعهای جاوا
منظور از توزیع جاوا پیادهسازیهای مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانههای استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیعکنندهٔ عمده جاوا وجود دارند:
سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن میباشد. در اکثر موارد هنگامی که گفته میشود جاوا منظور توزیع سان میباشد.
GNU Classpath: این توزیع از سوی موسسه نرمافزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهرهگیری از توزیع شرکت سان از اول پیادهسازی شدهاست. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شدهاست. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیطهای احرایی برنامههای جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا میکند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرمافزارهای آزاد به صورت متن باز منتشر کردهاست و قول انتشار قسمت بسیار کوچکی از این مجموعه را که بهدلیل استفاده از کدهای شرکتهای ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها دادهاست.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه میباشد که توسط مایکروسافت و در چارچوب.net ارائه شدهاست. انتظار اینکه در سیستمعاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی میباشد که امکان برنامه نویسی Aspect Oriented را به جاوا میافزاید. این برنامه توسط بنیاد برنامهنویسی جلوهگرا و به صورت کدباز ارائه شدهاست.
کلاسهای خاص
برنامک (برنامههای کاربردی کوچک)
اپلت جاواها برنامههایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شدهاند. واژهٔ import باعث میشود کامپایلر جاوا کلاسهای javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه میدهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست میکند. کلاس اپلت یک تابع پنجرهای مجرد است که برنامههای کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم میکند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل میکند، برای اینکه کدی که اپلت را نمایش میدهد، فراهم کند. تابع paint شیهای گرافیکی را که شامل زمینههای گرافیکی هستند را میفرستد تا برای نمایش اپلتها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا میزند.
جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم میکند. و شامل مکانیزمهایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستمهای تجاری موجود است.servlet قسمتی از javaEE است که به درخواستهای مشتری پاسخ میدهد.
واژهٔ import کامپایلر جاوا را هدایت میکند که تمام کلاسهای عمومی و واسطها را از بستههای java.io وjava.servlet را در کامپایل وارد کند.
کلاس Hello کلاس Genericservlet را توسعه میدهد. کلاس Genericservlet واسطی برای سرور فراهم میکند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید میکند. نوعاً صفحات HTML به درخواستهای HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه میکنند.JSP به javaservlet کامپایل میشود.
سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شدهاند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد میکند.
اولین جملهٔ import کامپایلر جاوا را هدایت میکندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاسهای عمومی و واسط آنها را از بستهٔ javax.swing اضافه میکند. کلاس Hello کلاس Jframe را توسعه میدهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.
زمانی که برنامه آغاز میشود، تابع main با JVM صدا زده میشود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده میشود.