Що таке demultiplexing?
Demultiplexing (демультиплексування) - це процес на транспортному рівні, при якому вхідні дані з мережі розподіляються по потрібних застосунках.
Простіше і доступно: demultiplexing - це коли ОС розуміє, якому застосунку віддати отримані дані.
Навіщо потрібен demultiplexing
Коли пакет приходить на комп'ютер:
- він приходить на одну IP-адресу
- через один мережевий інтерфейс
Але застосунків багато. Demultiplexing вирішує завдання:
якій програмі передати ці дані
Як працює demultiplexing
1. Приходить сегмент/датаграма
Транспортний рівень отримує дані з мережі.
2. Аналізуються поля заголовка
ОС дивиться:
- протокол (TCP або UDP)
- порт призначення
- (для TCP - також IP-адреси і порт джерела)
3. Дані передаються потрібному сокету
На основі цієї інформації:
- обирається socket
- дані передаються конкретному процесу
Demultiplexing у TCP і UDP
UDP
- вибір робиться переважно за:
- портом призначення
- протоколом
- один сокет може отримувати повідомлення від різних відправників
TCP
-
з'єднання визначається точною парою:
(IP джерела, порт джерела, IP призначення, порт призначення) -
це дозволяє серверу:
- обслуговувати тисячі клієнтів
- на тому самому порту
Зв'язок з multiplexing
Важливо для співбесіди.
- Multiplexing - об'єднання даних від різних застосунків при відправленні
- Demultiplexing - розбір вхідних даних і доставка їх потрібним застосункам
Це дві сторони одного механізму.
Що важливо пам'ятати
- demultiplexing - функція транспортного рівня
- заснований на портах і сокетах
- без нього паралельна робота застосунків була б неможливою
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.