Закон дірявих абстракцій
На сьогоднішній день в Інтернеті є інженерне диво, з яким ми стикаємося кожного дня. Воно укладено в мережевому протоколі TCP, одному з основних цеглин, з яких збудований Інтернет.
TCP - спосіб пересилання даних, який вважається надійним. Це означає: якщо ви з його допомогою відсилаєте сообшеніе по мережі, воно обов'язково прибуде на місце в неспотвореному вигляді.
Ми всі користуємося TCP для повсякденних потреб: завантажити сторінку з вебу, послати електронну пошту. Надійність TCP дозволяє кожному Остапу Бендеру зі Східної Африки розсилати по світу спам найвищої якості. Про щастя, о радість!
Подивимося тепер на іншій, ненадійний, метод пересилання даних під назвою IP. Тут уже ніхто не обіцяє, що посилка доїде до місця призначення, і що по дорозі з нею нічого не станеться. Відправляючи через IP купу повідомлень, не дивуйтеся, якщо половина з них загубиться, а з решти частина виявиться зовсім не тим, що надсилалося: може, вони будуть містити фотографії чарівних кошенят, але швидше за все - просто нечитаний сміття, на зразок такого улюбленого нами всіма тайванського спаму.
Чари ж полягає в тому, що TCP заснований на IP. Іншими словами, TCP зобов'язується працювати надійно, використовуючи лише ненадійні деталі.
Для ілюстрації чарівництва, розглянемо аналогічний, хоча і не цілком звичайний, сценарій з реального життя. Закон Дырявых Абстракций