<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>FreeSource - AfanasovDmitry/Сеть/ЯдрёныйПутьПакета</title>
<link>http://freesource.info/wiki/AfanasovDmitry/Сеть/ЯдрёныйПутьПакета</link>
<description>History/revisions of FreeSource/AfanasovDmitry/Сеть/ЯдрёныйПутьПакета</description>
<language>en-us</language>
<item>
<title>2008-03-26 12:21:44</title>
<link>http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa/show?time=2008-03-26+12%3A21%3A44</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".afanasovdmitry.set_.jadrjonyjjput_paketa" href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa&amp;" class="">/Afanasov&amp;nbsp;Dmitry&amp;nbsp;/&amp;nbsp;Сеть&amp;nbsp;/&amp;nbsp;Ядрёный&amp;nbsp;Путь&amp;nbsp;Пакета&lt;/a> за &lt;a href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa?time=2008-03-26+12%3A21%3A44">2008-03-26 12:21:44&lt;/a> и &lt;a href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa">2008-03-26 12:25:42&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">cat&amp;nbsp;/etc/protocols | grep -i &amp;laquo;encap\|gre&amp;raquo;&lt;br />
etherip 97      ETHERIP         # Ethernet-within-IP Encapsulation&lt;br />
pipe    131     PIPE            # Private IP&amp;nbsp;Encapsulation within IP&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">cat&amp;nbsp;/etc/protocols | grep &amp;laquo;encap\|gre&amp;raquo;&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2007-08-30 08:23:30</title>
<link>http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa/show?time=2007-08-30+08%3A23%3A30</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa&amp;" class="">/Afanasov&amp;nbsp;Dmitry&amp;nbsp;/&amp;nbsp;Сеть&amp;nbsp;/&amp;nbsp;Ядрёный&amp;nbsp;Путь&amp;nbsp;Пакета&lt;/a> за &lt;a href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa?time=2007-08-30+08%3A23%3A30">2007-08-30 08:23:30&lt;/a> и &lt;a href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa?time=2008-03-26+12%3A21%3A44">2008-03-26 12:21:44&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">С&amp;nbsp;самого начала для&amp;nbsp;понимания adv&amp;nbsp;linux routing мне&amp;nbsp;не&amp;nbsp;хватало понимания, что&amp;nbsp;вообще происходит с&amp;nbsp;пакетов в&amp;nbsp;ядре linux. Так&amp;nbsp;как мне&amp;nbsp;не&amp;nbsp;хочется травмировать свою же&amp;nbsp;психику, в&amp;nbsp;код я&amp;nbsp;не лез, хотя, как&amp;nbsp;говорят, там&amp;nbsp;&amp;laquo;самая полная документация&amp;raquo; :) Но&amp;nbsp;то что&amp;nbsp;понял постараюсь выложить здесь.&lt;a name="h1244-1">&lt;/a>&lt;h2> 2000 Вступление &lt;/h2>
Сначала определимся, что&amp;nbsp;такое пакет. Вообще есть два&amp;nbsp;вида &amp;laquo;маршрутизации&amp;raquo; &amp;ndash; связи двух точек. &lt;em>Коммутация соединений&lt;/em> и&amp;nbsp;&lt;em>коммутация пакетов&lt;/em>. В&amp;nbsp;первом случае у&amp;nbsp;нас устанавливается физическое подключение (которое характеризуется напряжением, сопротивлением, ещё кучей радиоэлектронных понятий), и&amp;nbsp;электрончики по&amp;nbsp;нему бегают до&amp;nbsp;обрыва соединения. Банальный пример: телефоны. Такие &amp;laquo;маршрутизаторы&amp;raquo; называют ещё АТС.&lt;br />
Во&amp;nbsp;втором же&amp;nbsp;случае физическое соединение присутствует постоянно, просто связующая аппаратура перебрасывает не&amp;nbsp;все &amp;laquo;электрончики&amp;raquo; от&amp;nbsp;одной соединённой точки к&amp;nbsp;другой, а&amp;nbsp;ещё и&amp;nbsp;пытается решить на&amp;nbsp;основе дополнительных данных, что&amp;nbsp;несут эти&amp;nbsp;самые &amp;laquo;электрончики&amp;raquo;, в&amp;nbsp;какое соединение их&amp;nbsp;бросать. Это&amp;nbsp;локальная сеть; и&amp;nbsp;занимаются описанным делом маршрутизаторы. Ethernet Switch'и тоже в&amp;nbsp;какой-то мере, так&amp;nbsp;как они&amp;nbsp;анализируют ethernet frame'ы для&amp;nbsp;выбора порта, куда выкидывать полученный frame.&lt;br />
&lt;span class="cite">Для работы &lt;em>пакетной коммутации&lt;/em> соединения уже&amp;nbsp;дожны быть скоммутированы, то&amp;nbsp;есть &lt;em>пакетная коммутация&lt;/em> работает &lt;u>поверх&lt;/u> &lt;em>коммутации соединений&lt;/em>. Что&amp;nbsp;означает, что&amp;nbsp;ваш ethernet провод должен быть воткнут в&amp;nbsp;концентратор/коммутатор (hub/switch), в&amp;nbsp;другую сетевую карту; АТС&amp;nbsp;должна соеденить ваши модемы; etc.&lt;/span>&lt;br />
И&amp;nbsp;наконец, рассматривается только &lt;!--notypo-->Tcp/Ip&lt;!--/notypo--> протокол. С&amp;nbsp;остальными не&amp;nbsp;работал, хотя давно хочу изучить netbios/smb.&lt;br />
Вот&amp;nbsp;сетевая железка у&amp;nbsp;нас зафиксировала электромагнитную активность на&amp;nbsp;своём входе. (в это&amp;nbsp;время она&amp;nbsp;ещё бывает подмигивает :). Так&amp;nbsp;как железка умная, без&amp;nbsp;чего при&amp;nbsp;работе с&amp;nbsp;пакетами ну&amp;nbsp;просто никуда, то&amp;nbsp;она из&amp;nbsp;этой активности вытягивает &lt;u>весь&lt;/u> пакет своего уровня. В&amp;nbsp;ethernet это&amp;nbsp;frame, в&amp;nbsp;ATM ещё что-то, в&amp;nbsp;X.25 &amp;ndash; и&amp;nbsp;вообще, пусть кто&amp;nbsp;другой дополнит. Сам&amp;nbsp;с&amp;nbsp;удовольствием почитаю :) &lt;br />
&lt;ul>&lt;li> &lt;em>широковещательные&lt;/em> (англ. broadcast). &lt;br />
Суть их&amp;nbsp;в том, что&amp;nbsp;пакет (последовательность ноликов-единичек, электрических импульсов)  доходят до&amp;nbsp;&lt;u>всех&lt;/u> подключенных в&amp;nbsp;сеть (правильнее было бы&amp;nbsp;сказать &lt;em>коммутируемые&lt;/em>. Потому что, например, switch не&amp;nbsp;пропустит пакет машине, которой он&amp;nbsp;не предназначался. По&amp;nbsp;крайней мере на&amp;nbsp;это хочется надеятся :). И&amp;nbsp;уже сетевое устройство решает, что&amp;nbsp;с&amp;nbsp;ним делать. Решает оно&amp;nbsp;на&amp;nbsp;основе &lt;em>физического адреса&lt;/em> (метки?), что&amp;nbsp;в&amp;nbsp;таком случае обязательно сопровождает каждый пакет. В&amp;nbsp;ethernet этот адрес обзывают &lt;em>MAC-адресом&lt;/em> (от англ. Media Access Control — управление доступом к&amp;nbsp;носителю). Если адрес не&amp;nbsp;совпадает с&amp;nbsp;указанным в&amp;nbsp;памяти чипсета, то&amp;nbsp;пакет игнорируется; если да, то&amp;nbsp;пропускается дальше на&amp;nbsp;следующий уровень обработки. &lt;br />
Исключая один режим &amp;ndash; &lt;em>promisc&lt;/em> (promiscuous &amp;ndash; безалаберный, беспорядочный, неразборчивый, разнородный, разношерстный, смешанный). В&amp;nbsp;этом режиме устройство пропускает всё, что&amp;nbsp;только видит.
&lt;/li>&lt;li> &lt;em>точка-точка&lt;/em> (англ. point-to-point) &lt;br />
тут&amp;nbsp;всё проще. Так&amp;nbsp;как мы&amp;nbsp;имеем лишь одно физическое соединение, и&amp;nbsp;на другом конце &lt;u>гарантировано&lt;/u> находится нужный peer (одно из&amp;nbsp;значений слова peer &amp;ndash; &amp;laquo;равный, ровня&amp;raquo;, предлагаю переводить, как&amp;nbsp;&amp;laquo;напарник, партнер&amp;raquo;), то&amp;nbsp;данные просто сбрасываются в&amp;nbsp;физическую среду; причём я&amp;nbsp;даже не&amp;nbsp;уверен, что&amp;nbsp;они имеют хоть какой-нибудь заголовок физического уровня. Поэтому ни&amp;nbsp;в телефонной линии, ни&amp;nbsp;в туннелях не&amp;nbsp;существует &lt;em>физического адреса&lt;/em>. Хотя нет, существует: в&amp;nbsp;туннеле это&amp;nbsp;ip&amp;nbsp;peer'а, а&amp;nbsp;ppp &amp;ndash; телефонный номер :) То&amp;nbsp;есть эти&amp;nbsp;адреса характеризуют предшествующую маршрутизации &lt;em>коммутацию соединений&lt;/em>.&lt;/li>&lt;/ul>
Хардварная (железная, канальный с&amp;nbsp;физическим уровнем) часть передала наверх пришедшие данные, удалив по&amp;nbsp;пути свои заголовки. Теперь то, что&amp;nbsp;для уровнем ниже было данными опять расщепляется на&amp;nbsp;заголовок/данные. &lt;br />
В&amp;nbsp;ethernet frame, как&amp;nbsp;я&amp;nbsp;помню (надо уточнить) заголовок содержит ещё и&amp;nbsp;протокол, что&amp;nbsp;идёт на&amp;nbsp;следующем уровне. Как&amp;nbsp;ip&amp;nbsp;заголовок содержит, кто&amp;nbsp;идёт за&amp;nbsp;ним &amp;ndash; udp, tcp, gre. На&amp;nbsp;основе того номера определяется, кто&amp;nbsp;будет анализировать всё это&amp;nbsp;дело дальше.&lt;br />
На&amp;nbsp;данном этапе пакет анализируется целиком, часто вплоть до&amp;nbsp;прикладного уровня &amp;ndash; сокетов. Исключения raw&amp;nbsp;sockets, что&amp;nbsp;читают сразу из&amp;nbsp;интерфейса. Происходит это&amp;nbsp;следущим образом&lt;br />
Анализ &lt;!--notypo-->tcp/ip&lt;!--/notypo-->: после расшифровки ip&amp;nbsp;заголовка, запускается анализ следующего в&amp;nbsp;зависимости от&amp;nbsp;указанного протокола. Как&amp;nbsp;происходит анализ tcз, udp, icmp нас&amp;nbsp;сейчас не&amp;nbsp;волнует, интересен анализ 47 (gre) и&amp;nbsp;98 (ipip). Это&amp;nbsp;туннели. Здесь данные после ip&amp;nbsp;заголовка просто напросто передаются заново вниз, только от&amp;nbsp;имени другого интерфейса, и&amp;nbsp;происходит уже&amp;nbsp;анализ как&amp;nbsp;бы&amp;nbsp;с нуля.&lt;a name="h1244-2">&lt;/a>&lt;h2> Замечание к&amp;nbsp;предыдущему абзацу from Черносов Денис  26.03.2008&lt;/h2>
В&amp;nbsp;нескольких статьях наткнулся на&amp;nbsp;разные номера протоколов для&amp;nbsp;туннелей. Обратился к&amp;nbsp;первоисточнику:&lt;br />
&lt;!--notypo-->&lt;textarea class="code" rows="6" readonly="readonly">cat /etc/protocols | grep &amp;quot;encap\|gre&amp;quot;
ipencap 4       IP-ENCAP        # IP encapsulated in IP (officially ``IP'')
gre     47      GRE             # Generic Routing Encapsulation
ipip    94      IPIP            # Yet Another IP encapsulation
encap   98      ENCAP           # Yet Another IP encapsulation&lt;/textarea>&lt;!--/notypo-->&lt;br />
Так&amp;nbsp;что, если у&amp;nbsp;кого-то будут затыки со&amp;nbsp;связью, проверьте и&amp;nbsp;этот момент, какой именно протокол нужно разрешить в&amp;nbsp;вашем случае...&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">С&amp;nbsp;самого начала для&amp;nbsp;понимания adv&amp;nbsp;linux routing мне&amp;nbsp;не&amp;nbsp;хватало понимания, что&amp;nbsp;вообще происходлит с&amp;nbsp;пакетов в&amp;nbsp;ядре linux. Так&amp;nbsp;как мне&amp;nbsp;не&amp;nbsp;хочется травмировать свою же&amp;nbsp;психику, в&amp;nbsp;код я&amp;nbsp;не лез, хотя, как&amp;nbsp;говорят, там&amp;nbsp;&amp;laquo;самая полная документация&amp;raquo; :) Но&amp;nbsp;то что&amp;nbsp;понял постараюсь выложить здесь.
===
2000
 Вступление ===&lt;br />
Сначала определимся, что&amp;nbsp;такое пакет. Вообще есть два&amp;nbsp;вида &amp;laquo;маршрутизации&amp;raquo; &amp;ndash; связи двух точек. &lt;em>Коммутация соединений&lt;/em> и&amp;nbsp;&lt;em>коммутация пакетов&lt;/em>. В&amp;nbsp;первом случае у&amp;nbsp;нас устанавливается физическое подключение (которое характеризуется напряжением, сопротивлением, ещё кучей радиоэелектронных понятий), и&amp;nbsp;электрончики по&amp;nbsp;нему бегают до&amp;nbsp;обрыва соединения. Банальный пример: телефоны. Такие &amp;laquo;маршрутизаторы&amp;raquo; называеют ещё АТС.&lt;br />
Во&amp;nbsp;втором же&amp;nbsp;случае физическое соединение присутствует постоянно, просто связующая аппаратура перебрасывает не&amp;nbsp;все &amp;laquo;электрончики&amp;raquo; от&amp;nbsp;одной соединённой точки к&amp;nbsp;другой, а&amp;nbsp;ещё и&amp;nbsp;пытаеся решить на&amp;nbsp;основе дополнительных данных, что&amp;nbsp;несут эти&amp;nbsp;самые &amp;laquo;элетрончики&amp;raquo;, в&amp;nbsp;какое соединение их&amp;nbsp;бросать. Это&amp;nbsp;локальная сеть; и&amp;nbsp;занимаются описанным делом маршрутизаторы. Ethernet Switch'и тоже в&amp;nbsp;какой-то мере, так&amp;nbsp;как они&amp;nbsp;анализируют ethernet frame'ы для&amp;nbsp;выбора порта, куда выкидывать полученный frame.&lt;br />
&lt;span class="cite">Для работы &lt;em>пакетной коммутации&lt;/em> соединения уже&amp;nbsp;дожны быть скоммутированы, то&amp;nbsp;есть &lt;em>пакетная коммутация&lt;/em> работает &lt;u>поверх&lt;/u> &lt;em>коммутации соединений&lt;/em>. Что&amp;nbsp;означает, что&amp;nbsp;ваш ethernet провод должен быть вокнут в&amp;nbsp;концентратор/коммутатор (hub/switch), в&amp;nbsp;другую сетевую карту; АТС&amp;nbsp;должна соеденить ваши модемы; etc.&lt;/span>&lt;br />
И&amp;nbsp;наконец, рассматривается только &lt;!--notypo-->Tcp/Ip&lt;!--/notypo--> протокол. С&amp;nbsp;отсальными не&amp;nbsp;работал, хотя давно хочу изучить netbios/smb.&lt;br />
Вот&amp;nbsp;сетевая железка у&amp;nbsp;нас зафиксировала электромагнитную активность на&amp;nbsp;своём входе. (в это&amp;nbsp;время она&amp;nbsp;ещё бывает подмиивает :). Так&amp;nbsp;как железка умная, без&amp;nbsp;чего при&amp;nbsp;работе с&amp;nbsp;пакетами ну&amp;nbsp;просто никуда, то&amp;nbsp;она из&amp;nbsp;этой активности вытягивает &lt;u>весь&lt;/u> пакет своего уровня. В&amp;nbsp;ethernet это&amp;nbsp;frame, в&amp;nbsp;ATM ещё что-то, в&amp;nbsp;X.25 &amp;ndash; и&amp;nbsp;вообще, пусть кто&amp;nbsp;другой дополнит. Сам&amp;nbsp;с&amp;nbsp;удовольствием почитаю :) &lt;br />
&lt;ul>&lt;li> &lt;em>широковещательные&lt;/em> (англ. broadcast). &lt;br />
Суть их&amp;nbsp;в том, что&amp;nbsp;пакет (последовательность ноликов-единичек, электрических импульсов)  доходят до&amp;nbsp;&lt;u>всех&lt;/u> подключенных в&amp;nbsp;сеть (правильнее было бы&amp;nbsp;сказать &lt;em>коммутируемые&lt;/em>. Потому что, например, switch не&amp;nbsp;пропустит пакет машине, которой он&amp;nbsp;не предназначался. По&amp;nbsp;крайней мере на&amp;nbsp;это хочется надеятся :). И&amp;nbsp;уже сетевое устройство решает, что&amp;nbsp;с&amp;nbsp;ним делать. Решает оно&amp;nbsp;на&amp;nbsp;основе &lt;em>физического адреса&lt;/em> (метки?), что&amp;nbsp;в&amp;nbsp;таком случае обязательно сопровождает каждый пакет. В&amp;nbsp;ethernet этот адрес обзывают &lt;em>MAC-адресом&lt;/em> &lt;span class="mark">(интересно, а&amp;nbsp;как он&amp;nbsp;рашифровывается?)&lt;/span>. Если адрес не&amp;nbsp;совпадает с&amp;nbsp;указанным в&amp;nbsp;памяти чипсета, то&amp;nbsp;пакет игнорируется; если да, то&amp;nbsp;пропускатся дальше на&amp;nbsp;ледующий уровень обработки. &lt;br />
Исключая один режим &amp;ndash; &lt;em>promisc&lt;/em> (promiscuous &amp;ndash; безалаберный, беспорядочный, неразборчивый, разнородный, разношерстный, смешанный). В&amp;nbsp;этом режиме устройство пропускает всё, что&amp;nbsp;только видит.&lt;br />
&lt;/li>&lt;li> &lt;em>точка-точка&lt;/em> (англ. point-to-point) &lt;br />
тут&amp;nbsp;всё проще. Так&amp;nbsp;как мы&amp;nbsp;имеем лишь одно физическое соединение, и&amp;nbsp;на другом конце &lt;u>гарантировано&lt;/u> находится нужный peer &lt;span class="mark">(как перевести?)&lt;/span>, то&amp;nbsp;данные просто сбрасываются в&amp;nbsp;физическую среду; причём я&amp;nbsp;даже не&amp;nbsp;уверен, что&amp;nbsp;они имеют хоть какой-нибудь заголовок физического уровня. Поэтому ни&amp;nbsp;в телефонной линии, ни&amp;nbsp;в туннелях не&amp;nbsp;существует &lt;em>физического адреса&lt;/em>. Хотя нет, существует: в&amp;nbsp;туннеле это&amp;nbsp;ip&amp;nbsp;peer'а, а&amp;nbsp;ppp &amp;ndash; телефоный номер :) То&amp;nbsp;есть эти&amp;nbsp;адреса характеризуют предшествующую маршрутизации &lt;em>коммутацию соединений&lt;/em>.&lt;/li>&lt;/ul>
Хардварная (железная, канальный с&amp;nbsp;физическим уровнем) часть передала наверх пришедшие данные, удалив по&amp;nbsp;пути свои загловки. Теперь то, что&amp;nbsp;для уровнем ниже было данными опять расщепляется на&amp;nbsp;заголовок/данные. &lt;br />
В&amp;nbsp;ethernet frame, как&amp;nbsp;я&amp;nbsp;помню (надо уточнить) загловок содержит ещё и&amp;nbsp;протокол, что&amp;nbsp;идёт на&amp;nbsp;следующем уровне. Как&amp;nbsp;ip&amp;nbsp;заголовок содержит, кто&amp;nbsp;идёт за&amp;nbsp;ним &amp;ndash; udp, tcp, gre. На&amp;nbsp;основе того номера определяется, кто&amp;nbsp;будет анализировать всё это&amp;nbsp;дело дальше.&lt;br />
На&amp;nbsp;данном этапе пакет анализируется целиком, часто вплоть до&amp;nbsp;прикладного уровня &amp;ndash; сокетов. Исключения raw&amp;nbsp;sockets, что&amp;nbsp;читают сразу из&amp;nbsp;интерфейса. Происзодит это&amp;nbsp;следущим образом&lt;br />
Анализ &lt;!--notypo-->tcp/ip&lt;!--/notypo-->: после расшифровки ip&amp;nbsp;заголовка, запускается анализ следущего в&amp;nbsp;зависимости от&amp;nbsp;указанного протокола. Как&amp;nbsp;происходит анализ tcз, udp, icmp нас&amp;nbsp;сейчас не&amp;nbsp;волнует, интересен анализ 47 (gre) и&amp;nbsp;98 (ipip). Это&amp;nbsp;туннели. Здесь данные после ip&amp;nbsp;заголовка просто напросто передаются заного вниз, только от&amp;nbsp;имени другого интерфейса, и&amp;nbsp;проиходит уже&amp;nbsp;анализ как&amp;nbsp;бы&amp;nbsp;с нуля.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2005-09-19 18:26:14</title>
<link>http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa/show?time=2005-09-19+18%3A26%3A14</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa&amp;" class="">/Afanasov&amp;nbsp;Dmitry&amp;nbsp;/&amp;nbsp;Сеть&amp;nbsp;/&amp;nbsp;Ядрёный&amp;nbsp;Путь&amp;nbsp;Пакета&lt;/a> за &lt;a href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa?time=2005-09-19+18%3A26%3A14">2005-09-19 18:26:14&lt;/a> и &lt;a href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa?time=2007-08-30+08%3A23%3A30">2007-08-30 08:23:30&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">===
2000
 Вступление ===&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;a name="h1244-1">&lt;/a>&lt;h2> Вступление &lt;/h2>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2005-09-19 17:55:57</title>
<link>http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa/show?time=2005-09-19+17%3A55%3A57</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa&amp;" class="">/Afanasov&amp;nbsp;Dmitry&amp;nbsp;/&amp;nbsp;Сеть&amp;nbsp;/&amp;nbsp;Ядрёный&amp;nbsp;Путь&amp;nbsp;Пакета&lt;/a> за &lt;a href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa?time=2005-09-19+17%3A55%3A57">2005-09-19 17:55:57&lt;/a> и &lt;a href="http://freesource.info/wiki/AfanasovDmitry/Set'/JadrjonyjjPut'Paketa?time=2005-09-19+18%3A26%3A14">2005-09-19 18:26:14&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">На&amp;nbsp;данном этапе пакет анализируется целиком, часто вплоть до&amp;nbsp;прикладного уровня &amp;ndash; сокетов. Исключения raw&amp;nbsp;sockets, что&amp;nbsp;читают сразу из&amp;nbsp;интерфейса. Происзодит это&amp;nbsp;следущим образом&lt;br />
&lt;ul>&lt;li> &lt;strong>ppp&lt;/strong> интерфейс. Вся&amp;nbsp;пакетина принимается демоном pppd. Из&amp;nbsp;/dev/ttyS*, из&amp;nbsp;pty (ssh соединение, например, pptpd подключение). Из&amp;nbsp;него выдирается &lt;!--notypo-->tcp/ip&lt;!--/notypo--> пакет (в случае с&amp;nbsp;параметром pty&amp;nbsp;pppd сразу принимает &lt;!--notypo-->tcp/ip&lt;!--/notypo--> пакеты), затем через модули передаётся на&amp;nbsp;уровень ядра. Ядро расшифровывает как&amp;nbsp;обычно tcp/ip пакет. &lt;br />
Pppd понимает только &lt;!--notypo-->tcp/ip&lt;!--/notypo--> пакеты. 
&lt;/li>&lt;li> &lt;strong>ethernet&lt;/strong> интерфейс. Пакет принимается сразу ядром. Анализируется им&amp;nbsp;же. Если это&amp;nbsp;&lt;!--notypo-->tcp/ip&lt;!--/notypo--> пакет &amp;ndash; как&amp;nbsp;обычно. Если же&amp;nbsp;другой &amp;ndash; анализирует модуль этого &amp;laquo;другого&amp;raquo;, с&amp;nbsp;чем я&amp;nbsp;уже не&amp;nbsp;работал.
&lt;/li>&lt;li> &lt;strong>tun/tap&lt;/strong>.
&lt;/li>&lt;li> &lt;strong>dvb&lt;/strong>. работает как&amp;nbsp;обычный ethX.&lt;/li>&lt;/ul>
Анализ &lt;!--notypo-->tcp/ip&lt;!--/notypo-->: после расшифровки ip&amp;nbsp;заголовка, запускается анализ следущего в&amp;nbsp;зависимости от&amp;nbsp;указанного протокола. Как&amp;nbsp;происходит анализ tcз, udp, icmp нас&amp;nbsp;сейчас не&amp;nbsp;волнует, интересен анализ 47 (gre) и&amp;nbsp;98 (ipip). Это&amp;nbsp;туннели. Здесь данные после ip&amp;nbsp;заголовка просто напросто передаются заного вниз, только от&amp;nbsp;имени другого интерфейса, и&amp;nbsp;проиходит уже&amp;nbsp;анализ как&amp;nbsp;бы&amp;nbsp;с нуля.&lt;a name="h1244-1">&lt;/a>&lt;h2> После анализа &lt;/h2>
Всё, мы&amp;nbsp;проанализировали пакет, заполнили структуру skb, и&amp;nbsp;вот сдесь начинается самое интересное. Для&amp;nbsp;ip&amp;nbsp;протокола &amp;ndash; остальные не&amp;nbsp;рассматриваем.&lt;a name="h1244-2">&lt;/a>&lt;h3> Netfilter hooks (iptables) &lt;/h3>
Сейчас мы&amp;nbsp;сразу попадаем в&amp;nbsp;netfilter.&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
