У питанні, яке буде вирішено в цій публікації, є деякі потенційні помилки чи непорозуміння.
На діаграмі 2 показано подання програмного "стека", який комп'ютер (ПК) використовуватиме для створення, обробки та відправки повідомлення через Інтернет на інший комп'ютер
Чи використовують усі види комп'ютерів - смартфони / телевізори / ігрові консолі тощо ?
(У зв'язку з цим) чи є якась різниця між стільниковим інтернетом та Wifi / Ethernet?
А що з однофункціональними пристроями, які, здається, не мають шару "Додатки" - наприклад, підключена до Інтернету камера, світлодіодні перемикачі або термостати.
Наявність цих помилок потребує включення пояснення наступного (щоб забезпечити контекст для подальшого обговорення):
- Що таке Інтернет
- Що таке набір протоколів TCP / IP
- Що таке додаток
Тоді питання буде вирішено безпосередньо.
Зауважте, що, враховуючи їх важливість та складність, ціла серія книг написана у наборі протоколів TCP / IP. Визначення та пояснення тут будемо брати насамперед із Вікіпедії, TCP / IP Illustrated Volume 1 Друге видання: Протоколи Стівенса і Падіння, а також з підручника та технічного огляду IBM TCP / IP .
1. Інтернет
Інтернет є технічно глобальної мережі (WAN) , але більш корисний спосіб думати це як свого роду supernetwork (мережі мереж) або сукупність різних взаємопов'язаних з'єднаних чистих робіт. Ось малюнок маршрутів маршрутів через частину Інтернету:
- Інтернет складається з багатьох підключених мереж
- Мережа може складатися з 1 або більше систем ( хост )
- Підключена система зазвичай працює на якійсь апаратній платформі
- є значна розбіжність у типах систем, підключених до мереж, та апаратному забезпеченні, яке вони працюють
Про цікаве читання про те, як працює Інтернет, можна знайти у статті Arstechnica Як працює Інтернет: волокно підводного човна, мізки в банках та коаксіальні кабелі .
Отже, як різні системи, що працюють на різних апаратних платформах, підключених до різних мереж, можуть спілкуватися один з одним? Як можливий зв’язок між таким великим, неоднорідним масивом систем і мереж? Як все це може відбуватися одночасно?
2. Набір Інтернет-протоколів
Відповідь надається набором протоколів Інтернет, також набором протоколів TCP / IP. Ці питання були розглянуті в процесі проектування архітектури Інтернету (TCP / IP Illustrated, розділ 1.1: Архітектурні принципи):
Кілька цілей керувались створенням архітектури Інтернету. У роботі [C88] Кларк відзначає, що основною метою було "розробити ефективну техніку для багаторазового використання існуючих взаємопов'язаних мереж". Суть цього твердження полягає в тому, що архітектура Інтернету повинна мати можливість взаємозв'язку декількох різних мереж і що багато заходів повинні вміти працювати одночасно в отриманій взаємопов'язаній мережі .
З набору Інтернет-протоколів (Вікіпедія):
Набір протоколів Інтернет - це концептуальна модель та набір протоколів зв'язку, що використовуються в Інтернеті та подібних комп'ютерних мережах.
Набір протоколів Інтернету забезпечує передачу даних в кінці, вказуючи, як дані повинні бути пакетовані, адресовані, передані, маршрутизовані та отримані . Ця функціональність організована в чотири шари абстракції, які використовуються для сортування всіх пов'язаних протоколів відповідно до сфери мереж, що займаються.
Один із способів продумати набір протоколів TCP / IP - це специфікація того, як процеси, що працюють в різних системах і різних мережах, можуть спілкуватися один з одним. По суті, набір протоколів TCP / IP забезпечує стандарт для міжпроцесорної комунікації.
Будь-яка система, яка правильно реалізує набір протоколів TCP / IP, може використовувати функціонал, який він надає, щоб дозволити своїм процесам спілкуватися через Інтернет. Насправді, для того, щоб процеси спілкувалися через Інтернет з іншими процесами, що працюють у віддалених системах інших мереж, система повинна використовувати протоколи протоколу TCP / IP-пакету, що відповідають стандартам.
3. Програми
З прикладного програмного забезпечення (Вікіпедія):
Прикладна програма (короткий додаток або додаток) - це комп’ютерна програма, призначена для виконання групи скоординованих функцій, завдань чи заходів на користь користувача. Приклади програми включають текстовий процесор, електронну таблицю, програму обліку, веб-браузер, медіаплеєр, аеронавігаційний симулятор польоту, консольну гру або редактор фотографій. Програмне забезпечення для додатків колективного іменника відноситься до всіх програм колективно. Це контрастує із системним програмним забезпеченням, яке в основному пов'язане із запуском комп'ютера.
Програму можна розглядати як процес користувальницького простору, що працює в системі. Окрім перелічених вище прикладів, сюди можна віднести такі програми, як (режим без ядра) комп’ютерні віруси, веб-сервери, програми камер та програми збору даних сенсорів.
Коли програма передає та отримує дані через Інтернет, вона повинна використовувати набір протоколів TCP / IP своєї хост-системи. З шару програми (Вікіпедія):
У TCP / IP прикладний рівень містить протоколи зв’язку та методи інтерфейсу, що використовуються для комунікації між процесами в комп'ютерній мережі Інтернет-протоколу (IP). Прикладний рівень лише стандартизує комунікацію і залежить від протоколів базового транспортного рівня для встановлення каналів передачі даних між хостом і хостом та управління обміном даними в мережі клієнт-сервер або однорангова мережа.
Прикладний рівень набору протоколів TCP / IP включає такі протоколи, як протокол передачі файлів (FTP), система доменних імен (DNS) і, мабуть, найвідоміше, протокол передачі гіпертексту (HTTP).
В якості прикладу протокол HTTP рівня додатків визначає, як передаються дані між двома процесами, що працюють у (зазвичай) різних системах: клієнтська програма, веб-браузер та серверна програма, процес веб-сервера.
Уточнення потенційних помилок
На діаграмі 2 показано подання програмного "стека", який комп'ютер (ПК) використовуватиме для створення, обробки та відправки повідомлення через Інтернет на інший комп'ютер.
Набір протоколів TCP / IP не є стеком програмного забезпечення. З технопедії :
Програмний стек - це група програм, яка працює в тандемі для отримання результату або досягнення спільної мети. Програмний стек також відноситься до будь-якого набору програм, який працює у певному та визначеному порядку для досягнення загальної мети, або будь-якої групи утиліт або звичайних додатків, які працюють як набір. Файли, програмні визначення продуктів та патчі можуть бути включені до програмного пакету. Один з популярних програмних пакетів на базі Linux - це LAMP (Linux, Apache, MYSQL, Perl або PHP або Python). WINS (Windows Server, Internet Explorer, .NET, SQL Server) - популярний стек програмного забезпечення для Windows.
Швидше, це стек протоколів, зазвичай реалізований ядром (також від Technopedia ):
Стек протоколів відноситься до групи протоколів, які працюють одночасно, які використовуються для реалізації набору мережевих протоколів.
Протоколи в стеці визначають правила взаємозв'язку для шаруватої мережевої моделі, наприклад, в моделях OSI або TCP / IP. Щоб стати стеком, протоколи повинні бути сумісними, щоб вони могли з'єднуватися як вертикально між шарами мережі, так і горизонтально між кінцевими точками кожного сегмента передачі.
Є всі види комп'ютерів - смартфони , комунікатори / телевізор / gameconsoles і т.д. використовувати цей формат ?
Набір протоколів TCP / IP - це специфікація зв'язку, що не залежить від апаратної та операційної системи, а не формат . Якщо процес, що працює на одній апаратній платформі, потребує зв'язку з процесом, який працює у віддаленій системі, на іншій апаратній платформі, і спілкування відбувається через Інтернет, то системи повинні
- правильно реалізувати набір протоколів TCP / IP і
- відповідні протоколи в цьому пакеті повинні використовуватися для здійснення міжпроцесорної комунікації
(У зв'язку з цим) чи є якась різниця між стільниковим інтернетом та Wifi / Ethernet?
Моє тлумачення цього питання: "Чи є різниця в способі підключення мобільного пристрою до мережі GSM і в тому, як мобільний пристрій підключається до мережі WiFi?"
Різниця полягає в рівні мережевого інтерфейсу.
Це питання розкриває неякісне відображення набору протоколів TCP / IP на схемі в статті, пов'язаній із запитанням. Для довідки, ось схема:
Нижній шар, званий «заліза», слід називати канальний рівень , управління доступом до середовищі передачі (MAC) шар або шар мережевого інтерфейсу .
З IBM "Підручник і технічний огляд TCP / IP" на сторінці 34:
Рівень мережевого інтерфейсу, який також називають шаром зв'язку або рівнем зв'язку даних, є інтерфейсом до фактичного мережевого обладнання. Цей інтерфейс може або не забезпечує надійну доставку і може бути орієнтований на пакет або потік. Насправді TCP / IP тут не вказує жодного протоколу, але може використовувати практично будь-який доступний мережевий інтерфейс, що ілюструє гнучкість рівня IP. Прикладами є IEEE 802.2, X.25 (що надійно саме по собі), банкомат, FDDI і навіть СНР.
Ось правильне та чудове зображення (з керівництва по TCP / IP ):
Причина того, що обговорення рівня мережевого інтерфейсу є актуальним, полягає в тому, що саме на цьому шарі є різниця в способі підключення стільникового / мобільного пристрою до мережі GSM проти мережі WiFi.
при підключенні до мережі GSM протокол рівня мережевого інтерфейсу, який використовується для обробки зв'язку між мобільним пристроєм та базовою приймально-приймальною станцією (BTS), зазвичай визначається 3G
при підключенні до точки бездротового доступу Wi-Fi (WAP), використовуваний протокол визначається стандартом IEEE 802.11 .
А що з однофункціональними пристроями, які, схоже, не мають шару "Application" - наприклад, підключена до Інтернету камера, вимикачі світла або термостати
Як описано раніше, протоколи в прикладному рівні пакету протоколів TCP / IP забезпечують стандарт для обміну даними програми між процесами.
Шари концептуальні. Вони не проживають в системі або на апаратній платформі.
Підключені до Інтернету камери, вимикачі світла та термостати можуть мати в них процеси, які спілкуються через Інтернет з процесами, що працюють на віддалених системах (перевірка оновлень мікропрограмного забезпечення, обмін даними з сервером тощо). Ці процеси або додатки використовуватимуть реалізацію набору протоколів TCP / IP для здійснення цього міжпроцесорного зв'язку.
Набір протоколів TCP / IP та вбудовані системи ("IoT")
Незважаючи на те, що існує безліч різних додатків, що використовують різні протоколи рівня прикладних програм, що працюють на традиційних ПК або серверах, розширення з точки зору того, як апаратні платформи підключаються до відповідних точок доступу (мережевий інтерфейс / рівень зв’язку даних), не так вже багато. В основному це здійснюється дротовим або бездротовим зв’язком через Ethernet.
Ситуація дещо інша, коли мова йде про велику різноманітність вбудованих систем, які спілкуються через TCP / IP. Ось ілюстрація цього (із Postscapes ):
Для отримання додаткової інформації дивіться ці статті:
Розуміння протоколів, що стоять за Інтернетом речей
Стандарти та протоколи IoT
Посібник з технологій IoT