Quot;Іnternet" і деякі інші загадкові слова
Почнемо з визначення ряду найважливіших понять. Ці визначення не будуть вичерпними, ми постараємося описати насамперед розходження між поняттями.
"Локальна мережа" - з'єднання декількох комп'ютерів за допомогою таких технічних засобів (каналів зв'язку) і таких програмних засобів, які дозволяють поєднувати файлові системи вхідних у неї комп'ютерів (не обов'язково всіх з усіма). При цьому користувальницькі програми не повинні відчувати якісну різницю між компонентами файлової системи, що перебувають фізично на власних дисках комп'ютера, і компонентами, розміщеними на інших комп'ютерах (кількісна різниця, що виражається в неоднаковій швидкості доступу, зрозуміло, буде).
Як правило, у локальну мережу поєднують комп'ютери, що перебувають фізично дуже близько (в одній кімнаті або, у крайньому випадку, у сусідніх будинках). Число комп'ютерів у локальній мережі обмежено звичайно десятками або сотнями.
"Глобальна мережа" - таке з'єднання комп'ютерів, при якому можливе використання інформації, що фізично перебуває на інших комп'ютерах мережі (однак, на відміну від того, як це буває в локальній мережі, користувальницьким програмам не надається безпосередній доступ до файлової системи інших комп'ютерів).
У глобальній мережі може брати участь необмежене число комп'ютерів, розташованих по усьому світі.
Із цього місця ми будемо називати "мережею" (без визначень) глобальну мережу, що є організацією (як правило, юридичною особою) з більш-менш фіксованим членством. Комп'ютер (або локальну мережу), приєднану до якої-небудь мережі, будемо називати "машиною".
Склад учасників - машин, підключених до мережі, - регулюється компанією - власником на основі договору про надання послуг. Кожна машина одержує від компанії унікальний номер. Для обміну інформацією клієнти (власники машин) одержують від компанії спеціальні програми, що забезпечують необхідні операції по прийому й відправленню інформації. Ці програми можуть бути різними для різних комп'ютерів і ОС, однак всі вони дотримують єдиного формату переданої інформації й запитів на операції (протокол обміну).
Нарешті, ми підходимо до настільки популярному слову Іnternet.
Іnternet - це сукупність мереж, що застосовують єдиний протокол обміну (точніше, велике сімейство із сотень і тисяч протоколів) для передачі інформації. Крім того, мережі, що входять в Іnternet, використовують єдину систему адресації: кожна мережа, приєднуючись до Іnternet, одержує у своє розпорядження безліч адрес, які розподіляє серед клієнтів.
Таким чином, протоколи Іnternet повністю регулюють технічну сторону: обмін інформацією між будь-якими двома машинами - членами мереж, що належать до Іnternet, так що програмному забезпеченню машин зовсім не обов'язково "знати", до однієї або до різного (і до яким саме) мережам належать машини. Зрозуміло, це може бути не байдуже з фінансової точки зору. З конкретною мережею (точніше, з її власником, якого називають "провайдером" мережних послуг) клієнт перебуває в юридичних відносинах.
Отже, "бути користувачем Іnternet" означає бути користувачем мережі (і, відповідно, клієнтом компанії - провайдеру), що повністю дотримує протоколи Іnternet.
Протоколи
Сімейство протоколів Іnternet прийнято ділити на ті що мають низький рівень, що описують технічні деталі подання й передачі інформації, і високий рівень, що описують змістовну інтерпретацію цієї інформації в різних ОС.
Фундаментально для структури й функціонування Іnternet важливі два протоколи, згадувані часто разом як TCP/ІP. Перший з них, ІP - протокол досить низького рівня (між іншим, букви ІP означають всього-на-всього... Іnternet Protocol!). Цей протокол визначає, що будь-яка інформація, незалежно від її внутрішньої структури, що якась машина передає іншої, являє собою послідовність байтів ("пакет" довжиною приблизно 1500 байт), Супроводжувану стандартним службовим записом, у яку входять адреси машини-одержувача й відправника довжиною 4 байти (це та сама універсальна Іnternet-адреса, що ми згадували в попередньому розділі).
А як бути, якщо вашій машині необхідно відправити фрагмент інформації (наприклад, лист) довжиною більше одного пакета? Адже з погляду ІP окремі пакети - це саме окремі пакети, вони ніяк (крім адреси одержувача й відправника) не зв'язані один з одним. Відповідь такий: це регулюється протоколом TCP (більше високого рівня), відповідно до якого усередині пакета буде службовий рядок приблизно такого змісту: "у цьому пакеті фрагмент файлу XXX, байти з NNN1 по NNN2".
Крім того, програма, що реалізує протокол TCP на машині одержувача, збирає ці фрагменти в правильному порядку й перевіряє, чи всі вони дійшли й чи не зіпсувалися при пересиланні. Якщо якийсь пакет загублений або зіпсований, програма надсилає запит машині - відправникові із проханням вислати відсутні пакети повторно.
Програми, що обслуговують протокол ІP, відправляють пакети машині-одержувачеві. При цьому вкрай рідко буває, щоб відправник і одержувач були з'єднані фізично (точніше, так буває практично винятково усередині локальних мереж). Зрозуміло, програма, що реалізує ІP, "знає", з якими машинами фізично з'єднана дана. Але запитується, що робити, якщо одержувач не входить до числа "щасливчиків"?
Спробувати "вгадати", як улаштована проміжний ланцюжок з машин (у якій кожні дві сусідні фізично з'єднані), що зв'язує відправника й одержувача. Для цього машини зберігають і періодично обновляють інформацію про найбільш важливих "вузлові" машинах, пов'язаних з найбільшим числом інших. Далі зі списку вибирається найближча (з погляду виду адреси) до одержувача, і пакет відправляється по ланцюжку, що зберігається в пам'яті машини як провідна до цього вузла. Те ж вирішує наступна машина, а в неї може бути "своя думка" про те, який шлях веде до мети. Як не дивно, звичайно пакет все-таки доходять до одержувача (часто не самим коротким маршрутом, розуміє)...
Протоколи більше високого рівня
FTP - протокол передачі файлів
Протокол FTP передбачає, що на одній машині запускається програма, іменована " FTP-Сервер", а на іншій - " FTP-Клієнт". Клієнт посилає серверу запити, що нагадують команди роботи з файловою структурою OC (каталогами й файлами DOS, папками й документами Mac). Сервер виконує ці команди. Крім команд переходу з каталогу в каталог і перегляду вмісту каталогів можна виконувати копіювання файлів з каталогу на машині сервера в поточний каталог на машині клієнта й назад, а також деякі інші файлові операції.
Набір цих операцій настільки походить на функції команд DOS (dіr, copy, delete, cd) або Диспетчера файлів Wіndows (а також різних оболонок начебто Norton Commander), що найчастіше інтерфейс програм - клієнтів FTP не відрізнимо від них (а деякі програми - диспетчери файлів, такі як FAR Євгенія Рошала, дозволяють однаково працювати з каталогами й папками на своїй і віддаленій машинах, не розрізняючи їх).
HTTP - протокол передачі HTML- Файлів
Цей протокол реалізує те, що називають словом Web або WWW (World Wіde Web - "Всесвітня павутина"). Для багатьох дилетантів, а також журналістів і рекламщиков слова Іnternet і WWW - синоніми. Проте сам протокол HTTP досить простий (його команди на передачу файлів простіше, ніж у протоколі FTP), а всією своєю міццю "Всесвітня павутина" зобов'язана внутрішній будові HTML-файлів, що копіюються по цьому протоколі.
Скорочення HTML (HyperText Markup Language) означає "мова гіпертекстової розмітки". Текст мовою HTML виглядає як звичайний ASCІІ-текст, у який у кутових дужках <...> вставлені команди, що відзначають границі абзаців, заголовки, шрифтове виділення й т.д..
Програма перегляду HTML- Файлів (браузер) показує на екрані текст (зрозуміло, без команд у кутових дужках), а команди - інтерпретує. Скажемо, пари команд <і>...</і> приводить до того, що ув'язнений між ними текст виділяється (у графічному браузері буде використаний курсив).
Фрагмент тексту, відзначений як посилання, виділяється на екрані кольором або підкресленням (часто й тим і іншим), і при позиціонуванні на ньому курсору й виконанні певної дії (натисканні на клавішу Enter, клацанні кнопкою миші) на екран починає виводитися інший текст. Який саме, - написано в тексті команди. Це може бути й інше місце того ж файлу, і інший файл на тій же машині, і, що важливіше всього, файл на іншій машині, що має адреса в Іnternet.
В останньому випадку браузер "розуміє", що команда (виконання якої ініціював користувач) вимагає перегляду файлу, що перебуває на іншій машині, і надсилає запит у форматі протоколу HTTP на копіювання цього файлу на машину клієнта. Після повного або часткового копіювання файлу браузер починає показувати його користувачеві (а там, у свою чергу, можуть бути посилання, які користувач зможе активізувати й викликати подальший перегляд файлів на інших машинах).
Посилання можуть бути не тільки на HTML- файли, але й на будь-які інші (чисто текстові, утримуючі зображення й т.д. ). Такі файли просто копіюються на машину клієнта, і Web- браузер уже сам вирішує, що з ними робити (наприклад, зображення показує на екрані, звуковий файл відтворює за допомогою звукової плати; у ряді випадків він викликає для інтерпретації файлу зовнішню програму).
Чому саме цей протокол так розширив можливості Іnternet? Справа в тому, що протокол HTTP і мова HTML надають можливість інтегрувати воєдино всі інформаційні ресурси миру, де б вони не розташовувалися. Наприклад, ви публікуєте на Web-сервері статтю, у якій є незнайоме слово. Для пояснення цього слова ви звертаєтеся до словника. Замість того щоб включати словникову статтю у свій текст, ви даєте гіпертекстове посилання: "тріангуляція (докладніше про цей термін див. електронну геологічну енциклопедію)".
Читач, що знає цей термін, читає далі, цікавиться визначенням - натискає на виділені слова. Web-браузер починає зчитувати з Web-сервера, на якому зберігається енциклопедія, статтю "Тріангуляція".
У свою чергу, укладачі геологічної енциклопедії можуть не пояснювати в тексті, наприклад, хімічні терміни, а давати аналогічне посилання на хімічну енциклопедію.
Термінали й протокол Telnet
Термінал - це пристрій введення у комп'ютер інформації від людини в доступній для людини формі. Наприклад, монітор і клавіатура ПК разом утворять його термінал. У могутніших, ніж ПК, комп'ютерів може бути кілька терміналів. Робота декількох користувачів за терміналами багатокористувальницької ЕОМ "на око" не відрізняється від роботи в локальній мережі.
Протокол Telnet визначає такий спосіб передачі інформації, при якому машина-клієнт робиться терміналом машини- сервера (іншими словами, програма, запущена на сервері, передає свій висновок не на екран якогось локального термінала, а машині- клієнтові й одержує уведення не із клавіатури, а також від клієнта).Машина-клієнт, як правило, передає й одержує цю інформацію вже від локального терміналу, хоча можливо й багаторазове, по ланцюжку, приєднання по протоколу Telnet.
Протокол Telnet дозволяє віддаленим користувачам використовувати не тільки файлові ресурси даної машини, але і її обчислювальну потужність (а також встановлені на ній програми).