2. Як працює Інтернет?
Кожен комп’ютер у неті має свою унікальну адресу (IP-адресу), що має вигляд наприклад такий: 95.95.171.178 . По прямій аналогії з роботою пошти це адрес будинку відправника або отримувача. Проте у будинку як правило багато квартир (а на комп’ютері встановлено багато програм-додатків, наприклад, пошта, браузер, програма для принтера та інші.) Кожен додаток має свій номер (або порт), ще кажуть – додаток «слухає» порт. Наприклад веб-сервіс прив’язаний до 80 порту (слухає 80 порт), а поштовий клієнт слухає 25 порт, Ftp-клієнт слухає 21 порт. Таким чином, повна адреса відправника або отримувача інтернет-пакету виражається так – IP: номер порта.
Наприклад 95.95.171.178:80
Разом ця пара називається «сокет». Кажуть що пакет відправлено на такий то сокет, маючи на увазі IP-адресу та номер конкретного порта.
Таким чином, кожна одиниця інформації, що передається через Інтернет (або пакет) має такий вигляд:
Адреса відправника (Source address): IP: 81.122.40.50 Port: 2049 Адрес отримувача (Destination address): IP: 195.34.111.111 Port: 53 Дані пакета: ...
Тобто, пакет має бути відправлено з сокету 81.122.40.50:2049 на сокет 195.34.111.111:53
Безпосередню обробку, надсилання та прийом пакетів здійснюють серверні програми.
Як правило, люди-користувачі працюють з клієнтськими програмами, яких на комп’ютері більшість (наприклад поштовий клієнт або браузер) – вони виконують якісь конкретні функції.
Серверні програми забезпечують функціонування всієї системи (наприклад операційна система). Серверна програма на початку роботи призначає порти для клієнтських програм та здатна одночасно обробляти множинні запити від програм-клієнтів.
Така взаємодія має назву клієнт-сервер. Можна тільки здогадуватись, наскільки повільно працював би комп’ютер якби інтернет-пакети оброблялись і надсилались кожною клієнтською програмою.
Для зручності запам’ятовування та візуалізації IP-адреси було винайдено замінювати словами і літерами (наприклад google.com) – так зручніше їх розрізняти та запам’ятовувати.
Функцію співставлення IP адреси та літерної адреси виконує сервер DNS (Domain Name System). Це спеціальний комп’ютер що має базу даних IP-адрес і їх літерних аналогів. Коли ваш комп’ютер підключається до Інтернету, провайдер автоматично надає серверній програмі адресу DNS сервара. Таких серверів багато, вони спілкуються між собою якщо шукана вами адреса у когось раптом відсутня у базі. Як правило, DNS сервер слухає 53 порт.
Таким чином, коли ви набираєте у браузері адресу (наприклад google.com) відбувається наступне: браузер (клієнт) перекидає цей рядок серверній програмі, яка у свою чергу зв’язується з DNS-сервером, що надав провайдер і питає: яка IP-адреса відповідає рядку google.com? Отримавши відповідь, серверна програма формує пакет і надсилає його на відповідний сокет, чекаючи пакет у відповідь.
3. Протоколи Інтернету
В даному випадку протокол − це спосіб взаємодії, обміну даними між комп’ютерами при роботі у мережі. Щоб різні комп’ютери могли разом працювати, вони повинні «розмовляти однією мовою», тобто використовувати однакові протоколи. Сукупність цих протоколів називають стеком протоколів TCP/IP (TCP/IP − це абревіатура терміну Transmission Control Protocol / Internet Protocol (Протокол керування передачею / Протокол Internet). Фактично TCP/IP не один протокол, а декілька. Саме тому ви часто чуєте, як його називають набором, або комплектом протоколів, серед яких TCP і IP − два основних. Фактично TCP/IP представляє цей базовий набір протоколів Інтернету, відповідальний за розбивку вихідного повідомлення на пакети (TCP), доставку пакетів на вузол адресата(IP) і збирання (відновлення) вихідного повідомлення з пакетів (TCP)).
Нижче у алфавітному порядку перелічено найпоширеніші мережеві протоколи відповідно до моделі OSI (модель взаємодії відкритих систем − абстрактна модель для мережних комунікацій і розробки мережних протоколів. Представляє рівневий підхід до мережі. Кожен рівень обслуговує свою частину процесу взаємодії. Завдяки такій структурі спільна робота мережного обладнання й програмного забезпечення стає набагато простіше й зрозуміліше):
На прикладному рівні:
DNS − доменна система імен (англ. Domain Name System, DNS) − розподілена система перетворення імені хоста (комп’ютера або іншого мережевого пристрою) в IP-адресу.
FTP − протокол передачі файлів (англ. File Transfer Protocol, FTP) − дає можливість абоненту обмінюватися двійковими і текстовими файлами з будь-яким комп’ютером мережі що підтримує протокол FTP. Установивши зв’язок із віддаленим комп’ютером, користувач може скопіювати файл із віддаленого комп’ютера на свій або скопіювати файл із свого комп’ютера на віддалений.
HTTP − протокол передачі даних, що використовується в комп’ютерних мережах. Назва скорочена від Hyper Text Transfer Protocol, протокол передачі гіпер-текстових документів.
На сеансовому рівні:
SSL − специфікація протоколу для передачі по Інтернету зашифрованих, аутентифікованих повідомлень, розроблений компанією Netscape Communications. Широко застосовується для перевірки повноважень і шифрування даних на транспортному рівні при роботі веб-оглядача з веб-сервером. Забезпечує безпеку каналу зв’язку між веб-сервером та веб-браузером.
TLS − криптографічний протокол, який забезпечує передачу даних між вузлами в мережі Інтернет.
На транспортному рівні
TCP − один з основних мережевих протоколів Інтернету, призначений для управління передачею даних в мережах і підмережах TCP/IP.
UDP − один із протоколів в стеку TCP/IP. Від протоколу TCP він відрізняється тим, що працює без встановлення з’єднання. UDP − це один з найпростіших протоколів транспортного рівня моделі OSI, котрий виконує обмін дейтаграмами без підтвердження та гарантії доставки. При використанні протоколу UDP обробка помилок і повторна передача даних має виконуватися протоколом більш високого рівня. Але, не зважаючи на всі недоліки, протокол UDP є ефективним для серверів, що надсилають невеличкі відповіді великій кількості клієнтів.
На мережевому рівні
BGP − основний протокол динамічної маршрутизації в Інтернет. Він відрізняється від інших протоколів динамічною маршрутизацією, його призначення для обміну інформації про маршрути не між окремим маршрутизаторами, а між цілими автономними системами, і тому, крім інформації про маршрути в мережі, перенести також інформацію про маршрути на автономні системи.
ICMP − мережевий протокол, що входить в стек протоколів TCP/IP. В основному ICMP використовується для передачі повідомлень про помилки й інші виняткові ситуації, що виникли при передачі даних.
IP − найбільш широко розповсюджена реалізація ієрархічної схеми мережної адресації. Використовуваний в мережі Інтернет, протокол відповідає за адресацію пакетів, але не відповідає за встановлення з’єднань, не є надійним і дозволяє реалізувати тільки негарантовану доставку даних.
OSPF − протокол динамічної маршрутизації, заснований на технології відстеження стану каналу (link-state technology), що використовує для знаходження найкоротшого шляху Алгоритм Дейкстри (Dijkstra’s algorithm).
RIP − один із найбільш розповсюджених протоколів маршрутизації в невеликих комп’ютерних мережах, який дозволяє маршрутизаторам динамічно оновлювати маршрутну інформацію, отримуючи її від сусідніх маршрутизаторів.
На канальному рівні
Ethernet − базова технологія локальних обчислювальних (комп’ютерних) мереж з комутацією пакетів, що використовує протокол CSMA/CD (множинний доступ з контролем несучої та виявленням колізій). Цей протокол дозволяє в кожний момент часу лише один сеанс передачі в логічному сегменті мережі. При появі двох і більше сеансів передачі одночасно, виникає колізія, яка фіксується станцією, що ініціює передачу. Станція аварійно зупиняє процес і очікує закінчення поточного сеансу передачі, а потім знову намагається повторити передачу. Ethernet-мережі функціонують на швидкостях 10Мбіт/с, Fast Ethernet − на швидкостях 100Мбіт/с, Gigabit Ethernet − на швидкостях 1000Мбіт/с, 10 Gigabit Ethernet − на швидкостях 10Гбіт/с. В кінці листопада 2006 року було прийняте рішення про початок розробок наступної версії стандарту з досягненням швидкості 100Гбіт/с (100 Gigabit Ethernet).
Frame relay − протокол канального рівня мережевої моделі OSI. Служба комутації пакетів Frame Relay в наш час широко поширена в усьому світі. Максимальна швидкість, яку допускає протоколом FR − 34.368 мегабіт/сек (канали E3).
SLIP або PPP (Point to Point Protocol − протокол точка − точка). Дуже рідко зустрічається термін X-Remote. Це таке з’єднання TCP/IP, як і в постійному з’єднанні, але воно розраховано на використання телефонної лінії, а не інформаційної мережі.
Окрім того існує цілий ряд ще нестандартизованих, але вже доволі популярних протоколів. Як правило, це протоколи децентралізованого обміну файлами та текстовими повідомленнями; на деяких з них побудовані цілі файлообмінні мережі. Це такі протоколи, як: OSCAR; CDDB; eDonkey; BitTorrent; Gnutella; Skype.
