LINUX.ORG.RU — Русская информация об ОС Linux

[#]  

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

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

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

IBM_dW *** (31.10.2007 12:12:26)
Проверено: Shaman007 (31.10.2007 12:31:38)
Juick

[#]  

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

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

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

zcrendel (31.10.2007 12:40:28)
[#]  

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

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

UrbanSerj * (31.10.2007 12:59:09)
[#]  
Demon37

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

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

Demon37 **** (31.10.2007 13:00:54)
[#]  

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

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

anonymous (31.10.2007 13:07:45)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от zcrendel 31.10.2007 12:40:28  

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

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

anonymous (31.10.2007 13:17:57)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от anonymous 31.10.2007 13:17:57  

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

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

anonymous (31.10.2007 13:22:03)
[#]  
balodja

Re: Общие замечания к введению в faq по сетевому стеку в Linux

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

balodja *** (31.10.2007 13:27:36)
[#]  
Orlangoor

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

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

Orlangoor ***** (31.10.2007 13:31:55)
[#]  
Sun-ch

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

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

Sun-ch # (31.10.2007 13:34:03)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 13:34:03  

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

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

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

rtc ** (31.10.2007 13:40:25)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 13:34:03  
musha-route

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

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

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

musha-route (31.10.2007 13:52:59)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от musha-route 31.10.2007 13:52:59  
defmacro

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

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

Это каг? :)

defmacro (31.10.2007 14:07:05)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от musha-route 31.10.2007 13:52:59  
Sun-ch

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

Девочка, не хами дяде.

Sun-ch # (31.10.2007 14:08:22)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от rtc 31.10.2007 13:40:25  
Sun-ch

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

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

Sun-ch # (31.10.2007 14:09:17)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 14:08:22  

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

"дяде" стоило бы перестать разговаривать ерунду, тогда и хамить не будут

lester **** (31.10.2007 14:11:06)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 13:34:03  

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

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

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

satellite13 (31.10.2007 14:18:32)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от lester 31.10.2007 14:11:06  
Sun-ch

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

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

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

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

Sun-ch # (31.10.2007 14:23:41)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 14:09:17  

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

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

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

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

rtc ** (31.10.2007 14:23:50)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 14:23:41  

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

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

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

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

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

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

rtc ** (31.10.2007 14:29:40)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 14:23:41  
halturin

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

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

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

halturin ***** (31.10.2007 14:45:39)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от halturin 31.10.2007 14:45:39  

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

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

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

anonymous (31.10.2007 14:52:14)
[#]  
neper

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

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

neper (31.10.2007 14:56:04)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 14:23:41  

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

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

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

dea * (31.10.2007 15:07:58)
[#]  

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

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

MaratIK * (31.10.2007 15:15:03)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от dea 31.10.2007 15:07:58  

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

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

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

rtc ** (31.10.2007 15:16:03)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от rtc 31.10.2007 15:16:03  

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

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

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

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

dea * (31.10.2007 15:34:51)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от zcrendel 31.10.2007 12:40:28  
Frolic

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

смех смехом а у меня уже 18 713 накапало!

Frolic * (31.10.2007 15:35:22)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от dea 31.10.2007 15:07:58  

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

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

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

anonymous (31.10.2007 15:41:10)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от dea 31.10.2007 15:34:51  

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

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

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

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

rtc ** (31.10.2007 16:02:21)
[#]  
vada

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

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

vada **** (31.10.2007 16:19:26)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от rtc 31.10.2007 16:02:21  

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

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

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

dea * (31.10.2007 16:44:55)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от dea 31.10.2007 16:44:55  

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

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

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

rtc ** (31.10.2007 17:09:14)
[#]  
wieker

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

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

wieker ** (31.10.2007 18:17:55)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 13:34:03  

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

>линупсоды

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

anonymous (31.10.2007 19:44:23)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от dea 31.10.2007 16:44:55  

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

>линаксовый

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

anonymous (31.10.2007 19:45:02)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от anonymous 31.10.2007 19:45:02  

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

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

anonymous (31.10.2007 20:15:18)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 13:34:03  

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

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

alt0v14 ** (31.10.2007 21:32:47)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 14:23:41  

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

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

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

anonymous (31.10.2007 21:58:59)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от anonymous 31.10.2007 21:58:59  

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

Перепечатка?

http://www.books.ru/shop/books/82277

anonymous (31.10.2007 22:00:38)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от Sun-ch 31.10.2007 14:23:41  

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

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

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

tailgunner ***** (31.10.2007 22:13:50)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от rtc 31.10.2007 17:09:14  

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

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

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

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

dea * (01.11.2007 0:13:01)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от dea 01.11.2007 0:13:01  

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

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

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

tailgunner ***** (01.11.2007 0:22:31)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от dea 01.11.2007 0:13:01  

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

>в линаксе

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

anonymous (01.11.2007 0:30:35)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от tailgunner 01.11.2007 0:22:31  

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

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

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

dea * (01.11.2007 0:33:01)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от anonymous 01.11.2007 0:30:35  

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

>>в линаксе

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

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

dea * (01.11.2007 0:38:34)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от dea 01.11.2007 0:33:01  

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

> Для embedded sk_buff вообще не годится

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

tailgunner ***** (01.11.2007 0:41:46)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от tailgunner 01.11.2007 0:41:46  

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

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

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

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

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

dea * (01.11.2007 0:49:27)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от dea 01.11.2007 0:49:27  

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

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

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

> RTEMS, eCOS

MVL, BlueCat 8)

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

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

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

tailgunner ***** (01.11.2007 1:02:42)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от tailgunner 01.11.2007 1:02:42  

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

> MVL, BlueCat 8)

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

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

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

dea * (01.11.2007 1:06:37)
[#] Ответ на: Re: Анатомия сетевого стека в Linux от dea 01.11.2007 1:06:37  

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

>> MVL, BlueCat 8)

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

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

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

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

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

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

tailgunner ***** (01.11.2007 1:29:16)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru