В статье исследуется структура сетевого стека Linux с точки зрения его уровней, а также рассматриваются некоторые из основных структур.
А разнообразие интерфейсов - это как раз огромный минус, а не плюс. На уровне приложения вообще не должно существовать сети. ОС должна предоставить единообразный файлоподобный поступ к удалённым ресурсам, как это слелано в Plan 9. Унификация и упрощение - правильный путь, а не усложнение и раздувание ядра до размеров венды.