LINUX.ORG.RU

Анатомия сетевого стека в Linux


0

0

Одна из величайших возможностей операционной системы Linux — ее сетевой стек. В этой статье исследуется структура сетевого стека Linux с точки зрения его уровней, а также рассматриваются некоторые из основных структур.

>>> Подробности

★★★

Проверено: Shaman007 ()

> структура сетевого стека Linux с точки зрения его уровней, а также рассматриваются некоторые из основных структур.

ужасно написано, речевая "ашипка" господа, пешыте новости парузски пажалусто!

zcrendel
()

Это даже на введение не тянет....

UrbanSerj
()

Ну написано все доступно и понятно, но слишком уж поверхностная информация.

Demon37 ★★★★
()

С тем же успехом можно было написать "Анатомия сетевого стека в оффтопике", и не менять ни одной буквы статьи

anonymous
()
Ответ на: комментарий от zcrendel

странность лора...
когда нечего сказать по сути - доебыватся к граматике...
так обычно делают старые пердуны, а тут вроде достаточно молодой народ тусуеццо...

anonymous
()
Ответ на: комментарий от anonymous

не, ну в статье реально толком сказано по сути всего лишь что мол есть tcp да ip да и над ними http и всё.

anonymous
()

Тема вообще ниразу не раскрыта. Это же самая сложная и запутанная подсистема в линуксовом ядре. А тут... 2 картинки и 3 замечания.

balodja ★★★
()

Чтото кислая статья. Новичку бесполезна, опытному еще более бесполезна.

Orlangoor ★★★★★
()

Говорят, что в свое время Линус так и не осилил написать оригинальную реализацию TCP/IP стека, поэтому весь код линупсоды стянули у Sun или BSD, я уже не помню.

Sun-ch
()
Ответ на: комментарий от Sun-ch

>Говорят, что в свое время Линус так и не осилил написать оригинальную реализацию TCP/IP стека, поэтому весь код линупсоды стянули у Sun или BSD, я уже не помню.

Саныч, это твои ночные фантазии - в TCP/IP стеке ядра Linux нет ни строчки из исходников Sun или BSD. Ни единой. Он несколько раз переписывался и даже в 1.0 ядре был собственный стек.

rtc ★★
()
Ответ на: комментарий от Sun-ch

> Говорят, что в свое время Линус так и не осилил написать оригинальную реализацию TCP/IP стека, поэтому весь код линупсоды стянули у Sun или BSD, я уже не помню.

Говорят, что Sun-ch почти разумная матка африканских муравьев, подключенныя через диоды к новому кластеру Sun.

musha-route
()
Ответ на: комментарий от musha-route

> подключенныя через диоды к новому кластеру Sun

Это каг? :)

defmacro
()
Ответ на: комментарий от Sun-ch

>Говорят, что в свое время Линус так и не осилил написать оригинальную реализацию TCP/IP стека, поэтому весь код линупсоды стянули у Sun или BSD, я уже не помню.

А мне помнится, что мелософты взяли стек из BSD

satellite13
()
Ответ на: комментарий от lester

Пилять, сходите уже по ссылке, а?

"Одна из величайших возможностей операционной системы Linux® — ее сетевой стек. Он является производной стека BSD и хорошо оснащен добротным набором интерфейсов" - пишет господин М. Тим Джонс.

А господину Джонсу можно доверять, поскольку в отличие от ЛОРОвских говнаналитиков, он работает инженером-консультантом и пишет статьи по заказу IBM.

Sun-ch
()
Ответ на: комментарий от Sun-ch

>А по какому поводу в свое время было столько воплей? Ведь какой то код они все равно стянули?

Какой? Может NFS у Sun? Или SLAB (написали хоть и сами, но изначально алгоритм появился в sunos).

Но это далеко не TCP/IP. Последняя реализация написана Алексеем Кузнецовым с нуля (хотя сокетные интерфейсы и опции он подсматривал в BSD для совместимости) кода оттуда нет, т.к. очень различные низкоуровневые структуры и драйверные интерфейсы.

rtc ★★
()
Ответ на: комментарий от Sun-ch

>"Одна из величайших возможностей операционной системы Linux® — ее сетевой стек. Он является производной стека BSD и хорошо оснащен добротным набором интерфейсов" - пишет господин М. Тим Джонс.

>А господину Джонсу можно доверять, поскольку в отличие от ЛОРОвских говнаналитиков, он работает инженером-консультантом и пишет статьи по заказу IBM.

Ога, производной... Трижды, я повторяю для манагеров и блондиног: ТРИЖДЫ стек был переписан с нуля!

Какая производная? Даже в 1.0 стек был свой и его через огромные грабли прикручивали.

TCP/IP стек берет корни в крайнем случае из KA9Q.

rtc ★★
()
Ответ на: комментарий от Sun-ch

Саныч, а ты не думал, что г-н Джонс, хоть и значимая фигура в ИБМ, может попросту не владеть тонкостями.

Лично я соглашусь с г-ном rtc. В линухе всегда был свой стек... и г-н Кузнецов внес туды неоценимый вклад, практически переписав его.

Deleted
()
Ответ на: комментарий от Deleted

>Саныч, а ты не думал, что г-н Джонс, хоть и значимая фигура в ИБМ, может попросту не владеть тонкостями. >Лично я соглашусь с г-ном rtc. В линухе всегда был свой стек... и г-н Кузнецов внес туды неоценимый вклад, практически переписав его.

Возможно Джонс имел в виду не то, что был взят код, а то, что была взята логическая структура...

anonymous
()

Статья ниачом. Лучше бы про NAPI порассказывали, про sk_buff по-подробнее.

neper
()
Ответ на: комментарий от Sun-ch

> Пилять, сходите уже по ссылке, а?

Sun-ch, может что-то в линаксовой сети и произвели откуда-то, но такую какашку как sk_buff взять было точно неоткуда, сами придумали.

dea
()

опять новость на недостатью от межделмаша? б-у-э-э-э

MaratIK
()
Ответ на: комментарий от dea

>Sun-ch, может что-то в линаксовой сети и произвели откуда-то, но такую какашку как sk_buff взять было точно неоткуда, сами придумали.

Это вы с mbuf сравниваете? :)

rtc ★★
()
Ответ на: комментарий от rtc

>>Sun-ch, может что-то в линаксовой сети и произвели откуда-то, но такую какашку как sk_buff взять было точно неоткуда, сами придумали.

>Это вы с mbuf сравниваете? :)

угу, такого грязного кода как работа с sk_buff ни в одном стеке не найдешь...

dea
()
Ответ на: комментарий от dea

> .. линаксовой ...

к логопеду, ...! <ну ты понял>

anonymous
()
Ответ на: комментарий от dea

>угу, такого грязного кода как работа с sk_buff ни в одном стеке не найдешь...

Я с иронией спросил о mbuf - это очень низкопроизводительное решение, да и куча макросов для беганья по цепочкам mbuf не добавляет читабельности...

Чем mbuf лучше sk_buff? В последнем очень грамотная структура head/tail смещений и указателей на заголовки и список фрагментов. Что в нем "грязного"?

rtc ★★
()

Таксе статейка

vada ★★★★★
()
Ответ на: комментарий от rtc

> это очень низкопроизводительное решение

да враки это все, ну немного sk_buff побыстрее, но для того, чтобы этого добиться весь код надо превратить в сплошной хак. Ничего грамотного не вижу, смещения - зло, и то, сколько вылизывали линаксовый стек это подтверждает.

dea
()
Ответ на: комментарий от dea

Смещения для уменьшения использования памяти - добро. mbuf делает несколько аллокаций для одного пакета - когда _одну_ убрали в openbsd (нужна была для PF, вместо этого увеличили первый chunk), производительность возросла в 2 (!) раза.

так что mbuf - это даже не прошлый век...

rtc ★★
()

зачем это надо, если есть замечательная книга Клакса Вейрле, Франка Пэльке, Хартмута Риттера, Даниеля Мюллера, Марка Бехлера "Linux, сетевая архитектура. Структура и реализация сетевых протоколов вядре"?

wieker ★★
()
Ответ на: комментарий от Sun-ch

>линупсоды

К логопеду, быдло!

anonymous
()
Ответ на: комментарий от anonymous

Какойто ананимус появился, быдлом себя зовёт.

anonymous
()
Ответ на: комментарий от Sun-ch

когда Линус писал ядро сан уже открыли исходники соляриса?

alt0v14 ★★★
()
Ответ на: комментарий от Sun-ch

> "Одна из величайших возможностей операционной системы Linux® — ее сетевой стек. Он является производной стека BSD и хорошо оснащен добротным набором интерфейсов" - пишет господин М. Тим Джонс.

Неправильный перевод - совместим с BSD в смысле сохранил все его интерфейся. Таки это правильно. Berkley socket рулядъ не падеццки

anonymous
()
Ответ на: комментарий от Sun-ch

> Он является производной стека BSD и хорошо оснащен добротным набором интерфейсов

Ну да, интерфейс сокетов взят из BSD. И что? Стандарт, надо соблюдать.

tailgunner ★★★★★
()
Ответ на: комментарий от rtc

> так что mbuf - это даже не прошлый век...

тем не менее, mbuf-like - это стандарт для сетевых стеков, в отличие от sk_buff, который такой я только в линаксе знаю

насчет аллокации - не понял, но судя по описанию это не проблема mbuf, или вы chunk'и аллокациями называете? на мелких пакетах sk_buff даже проигрывает.

dea
()
Ответ на: комментарий от dea

> mbuf-like - это стандарт для сетевых стеков

А разве есть стеки, написанные с нуля (не производные от BSD), кроме Линуксового стека?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> А разве есть стеки, написанные с нуля (не производные от BSD), кроме Линуксового стека?

BeOS вроде бы, но даже если нет это мало что меняет - популярен именно BSD, а не линакс стек. Для embedded sk_buff вообще не годится - из-за отсутствия поддержки фрагментации требует больших буферов, иначе производительность падает катастрофически, кроме этого нет buffer sharing, да и обязательное копирование данных хотя бы раз тоже не конфета для слабых процессоров без DMA каналов

dea
()
Ответ на: комментарий от anonymous

>>в линаксе

>К логопеду, быдло!

только что от логопеда, теперь я умею говорить СУН и КЛУСТЕР!

dea
()
Ответ на: комментарий от tailgunner

> И вместо Линукс в embedded используются *BSD? 8)

точнее BSD-стек

именно так, VxWorks, OSE, GHS Integrity, RTEMS, eCOS, список можно продолжать

линакс в embedded используется от лени или от безысходности ;-)

dea
()
Ответ на: комментарий от dea

> именно так, VxWorks, OSE, GHS Integrity, RTEMS, eCOS

Вроде же первые 3 стек Линукс использовать просто не могут - проприетарщина-с?

> RTEMS, eCOS

MVL, BlueCat 8)

> линакс в embedded используется от лени или от безысходности ;-)

"Хороший программист - ленивый программист" (c)

А VxWorks, по рассказам - дерьмо еще то ;)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> MVL, BlueCat 8)

попса :-) (в MVL лично участвовал)

> А VxWorks, по рассказам - дерьмо еще то ;)

это вам Рабинович рассказывал? а он еще вам Шаляпина не напевал случайно? :-)

dea
()
Ответ на: комментарий от dea

>> MVL, BlueCat 8)

>попса :-) (в MVL лично участвовал)

а, ну так бы и сказал :D

>> А VxWorks, по рассказам - дерьмо еще то ;)

> это вам Рабинович рассказывал?

То есть там ты не участвовал и авторитетно сорвать покровы не можешь? ;)

Кстати, rто такой Рабинович и что он рассказывает? :)

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.