Як влаштований і працює Інтернет? Хороше питання! Його зростання подібний до вибуху, і .com-сайти постійно згадуються на телебаченні, радіо та в журналах. Оскільки він став значною частиною нашого життя, необхідно добре розуміти, щоб використовувати цей інструмент найбільш ефективно. У даній статті пояснюються поняття і види Інтернету, його базова інфраструктура та технології, які забезпечують його функціонування.
Глобальна мережа
Визначення поняття Інтернет зазвичай дають наступне. Це глобальна мережа комп’ютерних ресурсів, сполучених високопродуктивними лініями зв’язку і спільним адресним простором. Тому кожне пристрій, підключений до нього, повинна мати унікальний ідентифікатор. Як влаштований IP-адресу комп’ютера? Інтернет-адреси IPv4 записуються у формі nnn.nnn.nnn.nnn, де nnn – число від 0 до 255. Абревіатура IP означає протокол міжмережевої взаємодії. Це одне з основних понять Інтернету, але докладніше про це пізніше. Наприклад, один комп’ютер має ідентифікатор 1.2.3.4, а інший – 5.6.7.8.
Якщо підключення до Інтернету здійснюється через провайдера, то зазвичай на час сеансу віддаленого доступу користувачу призначається тимчасовий IP-адресу. Якщо з’єднання здійснюється з локальної мережі (LAN), то комп’ютер може мати як постійний ідентифікатор, так і тимчасовий, наданий сервером DHCP (протоколу динамічної настройки конфігурації головної машини). У будь-якому випадку, якщо комп’ютер підключений до Інтернету, то він володіє унікальною IP-адресою.
Програма Ping
Якщо використовується операційна система Microsoft Windows або один з різновидів Unix, є зручна програма, яка дозволяє перевірити підключення до Інтернету. Вона називається ping, можливо, по звуку, який створювали старі сонари на підводних човнах. Якщо використовується Windows, то необхідно запустити вікно командного рядка. У випадку операційної системи, яка є різновидом Unix, то слід перейти в командний рядок. Якщо ввести, наприклад, ping www.yahoo.com програма відправить повідомлення запиту ехо-сигналу ICMP (Internet Control Message Protocol) на вказаний комп’ютер. Опитувана машина відповість. Програма ping підраховує час повернення відповіді (якщо це станеться). Крім того, якщо ввести ім’я домену (наприклад, www.yahoo.com), то утиліта відобразить IP-адресу комп’ютера.
Пакети протоколів
Отже, комп’ютер підключений до мережі і має унікальну адресу. Щоб було зрозуміло і для «чайників», як влаштований Інтернет, необхідно розібратися в тому, як ПК «розмовляє» з іншими машинами. Припустимо, IP-адресу пристрою користувача дорівнює 1.2.3.4, і він бажає відправити повідомлення «Привіт, комп’ютер 5.6.7.8!» на машину з адресою 5.6.7.8. Очевидно, що послання повинно передаватися по будь-якому каналу, що з’єднує користувача ПК з Інтернетом. Припустимо, повідомлення надсилається по телефону. Необхідно перетворити текст в електронні сигнали, передати їх, а потім знову представити у вигляді тексту. Як це досягається? Завдяки використанню пакету протоколів. Він необхідний кожному комп’ютеру для спілкування в глобальній мережі і зазвичай вбудований в операційну систему. Пакет називають TCP/IP через використовуються в ньому 2-х основних протоколів зв’язку. Ієрархія TCP/IP наступна:
- Рівень додатків. Тут використовуються протоколи, специфічні для WWW, електронна пошта, FTP і т. д.
- Рівень протоколу управління передачею даних. TCP направляє пакети до конкретних програм, використовуючи номер порту.
- Рівень протоколу Інтернету. IP направляє пакети на конкретний комп’ютер, використовуючи IP-адресу.
- Апаратний рівень. Перетворює двійкові дані в мережеві сигнали і назад (наприклад, мережева карта Ethernet, модем тощо).
Якщо слідувати по шляху повідомлення «Привіт, комп’ютер 5.6.7.8!», відправленого з ПК користувача на машину з IP-адресою 5.6.7.8, то можна зрозуміти, як влаштований Інтернет. Відбудеться приблизно наступне:
Домашній Інтернет
Отже, все вищесказане пояснює, як пакети переміщуються з одного комп’ютера на інший через глобальну мережу. Але що відбувається в проміжку? Як влаштований і працює Інтернет насправді?
Розглянемо фізичне підключення через телефонну мережу постачальника послуг зв’язку. Це вимагає деякого пояснення того, як влаштований інтернет-провайдер. Постачальник послуг встановлює для клієнтів зі свого боку пул модемів. Зазвичай він підключений до виділеного комп’ютера, який керує напрямком потоку даних з модему на Інтернет-магістраль або виділений маршрутизатор. Таку настройку можна назвати сервером портів, оскільки вона обслуговує доступ до мережі. Тут збирається інформація про використання, а також про обсяг відправлених та отриманих даних.
Після того як пакети пройдуть через телефонну мережу та місцеве обладнання провайдера, вони направляються в магістраль провайдера або орендовану ним частину її пропускної здатності. Звідси дані зазвичай проходять через кілька маршрутизаторів і магістральних мереж, виділених ліній та ін., поки вони не знайдуть своє місце призначення – комп’ютер з адресою 5.6.7.8. Ось як влаштований домашній Інтернет. Але хіба було б погано, якби користувач знав точний маршрут проходження його пакетів по глобальній мережі? Це можливо.
Програма Traceroute
При підключенні до Інтернету з комп’ютера на платформі Microsoft Windows або різновиди Unix нагоді ще одна зручна програма. Вона називається Traceroute і вказує шлях, який проходять пакети, досягаючи певної IP-адреси. Як і ping, її необхідно запускати з командного рядка. У Windows слід використовувати команду tracert www.yahoo.com, а в Unix – traceroute www.yahoo.com. Як і ping-утиліта дозволяє замість імен доменів вводити IP-адреси. Traceroute роздрукує список всіх маршрутизаторів, комп’ютерів і інших інтернет-об’єктів, які повинні пройти пакети, щоб дістатися до місця призначення.
Інфраструктура
Як технічно влаштована інтернет-магістраль? Вона складається з безлічі великих мереж, з’єднаних один з одним. Ці великі мережі відомі як постачальники мережевих послуг або NSP. Прикладами є UUNet, IBM, CerfNet, BBN Planet, PSINet, SprintNet та ін. Ці мережі взаємодіють один з одним для обміну трафіком. Кожному NSP-провайдера потрібне підключення до трьом точкам доступу до мережі (NAP). У них пакетний трафік може переходити від однієї магістральної мережі до іншої. NSP також з’єднуються через міські станції маршрутизації MAE. Останні виконують ту ж роль, що і NAP, але перебувають у приватній власності. NAP використовувалися для підключення до глобальної мережі спочатку. Як MAE, так і NAP називають точками обміну Інтернетом, або IX. Мережеві провайдери також продають пропускну здатність невеликим мережам, таким як ISP-провайдери.
Базова інфраструктура NSP сама по собі представляє собою складну схему. Більшість мережевих провайдерів публікують карти мережевої інфраструктури на своїх веб-сайтах, які можна легко знайти. Реально зобразити те, як влаштована мережа Інтернет, було б майже неможливим через її розміру, складності і постійно мінливої структури.
Ієрархія маршрутизації
Щоб зрозуміти, як влаштований Інтернет, необхідно розібратися з питанням, як пакети знаходять правильний шлях через мережу. Знає кожен комп’ютер, підключений до мережі, де знаходяться інші комп’ютери? Або пакети просто «транслюються» на кожну машину в Інтернеті? Відповідь на обидва питання негативна. Ніхто не знає, де знаходяться інші комп’ютери, й пакети відправляються на всі машини одночасно. Інформація, що використовується для доставки даних до своїх адресатів, міститься в таблицях, що зберігаються на кожному підключеному до мережі маршрутизатор – ще одному понятті Інтернету.
Маршрутизатори – це комутатори пакетів. Зазвичай вони підключаються між мережами для перенаправлення пакетів між ними. Кожен маршрутизатор знає про своїх підмережах і про те, які адреси вони використовують. Пристрою, як правило, невідомі IP-адреси «верхнього» рівня. Великі NSP-магістралі з’єднуються через NAP. Вони обслуговують декілька підмереж, а ті – ще більша кількість підмереж. У нижній частині знаходяться локальні мережі з підключеними комп’ютерами.
Коли пакет надходить на маршрутизатор, останній перевіряє IP-адресу, поміщений там рівнем протоколу IP вихідної машині. Потім перевіряється таблиця маршрутизації. Якщо мережа, що містить IP-адресу знайдено, то пакет відправляється туди. В іншому випадку він слід маршруту за замовчуванням, зазвичай на наступний маршрутизатор в ієрархії мережі. З надією на те, що він буде знати, куди відіслати пакет. Якщо цього не станеться, то дані вирушать вище, поки не досягнуть магістралі NSP. Маршрутизатори верхнього рівня містять найбільші таблиці маршрутизації, і тут пакет буде відправлений в правильний магістраль, де він почне свою подорож «вниз».
Імена доменів та визначення адреси
Але що, якщо невідомий IP-адресу комп’ютера, до якого потрібно підключитися? Що робити, якщо потрібен доступ до веб-сервера, називаному www.anothercomputer.com? Як браузер дізнається, де знаходиться цей комп’ютер? Відповідь на всі ці питання – служба доменних імен DNS. Це поняття мережі Інтернет позначає розподілену базу даних, яка відстежує імена комп’ютерів та відповідні ним IP-адреси.
Багато машини підключені до бази даних DNS і програмного забезпечення, яке дозволяє отримати до нього доступ. Ці машини відомі як DNS-сервери. Вони не містять всієї бази даних, а тільки його частину. Якщо DNS-сервер не має імені домену, запитаного іншим комп’ютером, то він перенаправляє його на інший сервер.
Служба доменних імен структурована як ієрархія, аналогічна ієрархії маршрутизації IP. Комп’ютер, запитувач дозвіл імен, буде перенаправлено «вгору» по ієрархії до тих пір, поки не буде знайдений DNS-сервер, який може дозволити ім’я домену в запиті.
Коли налаштоване підключення до Інтернету (наприклад, по локальній мережі або через телефонне з’єднання в Windows), основний і один або декілька вторинних DNS-серверів зазвичай вказуються при установці. Таким чином, будь-які додатки, які потребують дозволу доменних імен, зможуть нормально функціонувати. Наприклад, при введенні імені домену в браузері останній підключається до основного DNS-сервера. Отримавши IP-адресу, додаток потім підключиться до цільового комп’ютера і запросить потрібну веб-сторінку.
Огляд інтернет-протоколів
Як було зазначено раніше у розділі про ТСР/ІР, в глобальній мережі використовується багато протоколів. До них відносяться протоколи TCP, IP, маршрутизації, керування доступом до середовища, рівня додатків і т. д. В наступних розділах описані деякі найбільш важливі і часто використовувані з них. Це дозволить краще зрозуміти, як влаштована і як працює мережа Інтернет. Обговорюються протоколи у порядку зменшення їх рівня.
HTTP-World Wide Web
Однією з найбільш часто використовуваних служб в Інтернеті є World Wide Web (WWW). Протокол рівня додатка, який забезпечує роботу в глобальній мережі, – це протокол передачі гіпертексту, або HTTP. Його не слід плутати з мовою гіпертекстової розмітки HTML, що використовується для написання веб-сторінок. HTTP є протоколом, який браузери і сервери застосовують для зв’язку один з одним. Це протокол рівня додатка, оскільки він використовується деякими програмами для спілкування один з одним. В даному випадку це браузери і сервери.
HTTP – це протокол, що не вимагає попередньої установки з’єднання. Клієнти (браузери) надсилають запити до серверів для веб-елементів, таких як сторінки і зображення. Після їх обслуговування з’єднання відключається. Для кожного запиту необхідно встановлювати зв’язок знову.
Більшість протоколів орієнтовані на з’єднання. Це означає, що комп’ютери, які взаємодіють один з одним, підтримують зв’язок через Інтернет. Однак HTTP таким не є. Перш ніж клієнт може зробити HTTP-запит, сервер повинен встановити нове з’єднання.
Щоб зрозуміти, як влаштований Інтернет, необхідно знати, що відбувається при введенні URL у веб-браузер:
Використання клієнта Telnet
Telnet – це служба віддаленого терміналу, використовувана в Інтернеті. Її застосування скоротилося, але це корисний інструмент для вивчення глобальної мережі. У Windows програму можна знайти в системному каталозі. Після її запуску необхідно відкрити меню «Термінал» і у вікні налаштувань вибрати Local Echo. Це означає, що можна бачити свій запит HTTP при його введенні.
У меню «З’єднання» необхідно вибрати пункт «Дистанційна система». Далі слід ввести www.google.com для імені хоста і 80 для порту. За замовчуванням веб-сервер прослуховує саме цей порт. Натиснувши Connect, необхідно ввести GET/HTTP/1.0 і двічі натиснути «Enter».
Це простий HTTP-запит на веб-сервер для отримання його кореневої сторінки. Користувач повинен побачити її мигцем, а потім з’явиться діалогове вікно з повідомленням про втрати з’єднання. Якщо необхідно зберегти витягнуту сторінку, то слід увімкнути журналювання. Потім можна переглянути веб-сторінки і HTML-код, який використовувався для її створення.
Більшість інтернет-протоколів, що визначають те, як влаштований Інтернет, описані в документах, відомих як Request For Comments або RFC. Їх можна знайти в Інтернеті. Наприклад, HTTP версії 1.0 описаний в RFC 1945.
Протоколи програм: SMTP електронна пошта
Іншим широко використовуваним інтернет-сервісом є електронна пошта. Вона використовує протокол рівня додатка, званий Simple Mail Transfer Protocol, або SMTP. Це теж текстовий протокол, але на відміну від HTTP, SMTP, орієнтований на з’єднання. Крім того, він також складніше, ніж HTTP. SMTP команд і аспектів більше, ніж в HTTP.
При відкритті поштового клієнта для читання повідомлень електронної пошти, як правило, відбувається наступне:
Ця транзакція запиту/відповіді буде тривати до тих пір, поки клієнт не відправить команду QUIT. Потім сервер попрощається і з’єднання буде закрито.
Протокол управління передачею
Нижче рівня програм у пакеті протоколів знаходиться рівень TCP. Коли програми відкривають з’єднання з іншим комп’ютером, що надсилаються повідомлення передаються по стеку на рівень TCP. Останній відповідає за маршрутизацію протоколів додатків до відповідного ПЗ на комп’ютері. Для цього використовуються номери портів. Порти можна розглядати як окремі канали на кожному комп’ютері. Наприклад, при читанні електронної пошти одночасно можна переглядати веб-сторінки. Це пов’язано з тим, що браузер і поштовий клієнт використовують різні номери портів. Коли пакет надходить на комп’ютер і прокладає шлях до стеку протоколів, рівень TCP визначає, яка програма отримує пакет на основі номера порту.
Нижче перераховані номери портів для деяких найбільш часто використовуваних інтернет-сервісів:
- FTP – 20/21.
- Telnet – 23.
- SMTP – 25.
- HTTP – 80.
Транспортний протокол
ТСР працює наступним чином:
- Коли рівень TCP отримує дані протоколу рівня програми, він поділяє їх на керовані «порції», а потім до кожної з них додає заголовок з інформацією про номер порту, до якого необхідно надсилати дані.
- Коли рівень TCP отримує пакет з більш низького рівня IP, дані заголовка пакета видаляються. При необхідності їх можна відновити. Потім дані відправляються в програму на підставі номера порту.
Так повідомлення, переміщаючись по стеку протоколів, що направляються за правильною адресою.
TCP не є текстовим протоколом. Це орієнтована на з’єднання, надійна служба передачі байтів. Орієнтація на з’єднання означає, що два додатки, що використовують TCP, перед обміном даними повинні встановити з’єднання. Транспортний протокол надійний, оскільки для кожного отриманого пакета для підтвердження доставки відправнику надсилається підтвердження. Заголовок TCP також включає контрольну суму для перевірки помилок в отриманих даних.
У заголовку транспортного протоколу не передбачено місце для IP-адреси. Це пов’язано з тим, що його завдання – забезпечення надійного отримання даних рівня додатки. Завдання передачі даних між комп’ютерами виконує IP.
Протокол Інтернету
На відміну від TCP, IP є ненадійним протоколом без встановлення з’єднання. IP не піклується про те, чи потрапить пакет в пункт призначення чи ні. IP також не знає про з’єднаннях і номерів портів. Завдання IP – направляти дані на інші комп’ютери. Пакети є незалежними об’єктами і можуть прибувати не по порядку або взагалі не досягати мети. Завдання TCP – переконатися, що дані надходять і розташовані вірно. Єдине, що IP має спільне з TCP – це те, як він отримує дані і додає свою власну інформацію заголовка IP TCP дані.
Дані рівня додатки сегментуються на рівні транспортного протоколу, до них додається заголовок TCP. Далі пакет формується на рівні IP, до нього додається IP-заголовок, а потім він передається по глобальній мережі.
Як влаштований Інтернет: книги
Для початківців користувачів по даній темі доступна велика література. Популярністю у читачів користується серія «Для чайників». Як влаштований Інтернет, можна дізнатися з книг «Internet» і «Юзери та Інтернет». Вони допоможуть швидко вибрати провайдера, підключитися до мережі, навчать, як користуватися браузером, і т. д. Для новачків книги стануть корисними провідниками по глобальній мережі.
Висновок
Тепер повинно бути зрозуміло, як влаштована мережа Інтернет. Але як довго він залишиться таким? Використовувалася раніше 4-я версія IP, яка дозволяла тільки 232 адреси, була замінена IPv6 2128 теоретично можливими адресами. Інтернет пройшов довгий шлях з моменту його створення в якості дослідницького проекту Міністерства оборони США. Ніхто не знає, чим він стане. Одне можна сказати напевно: Інтернет об’єднує світ як ніякий інший механізм. Інформаційна епоха наступає повним ходом, і бути свідком цього – велике задоволення.