URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 4232
[ Назад ]

Исходное сообщение
"OpenNews: Улучшения сетевого стека FreeBSD 5"

Отправлено opennews , 05-Сен-04 17:50 
Краткий перевод PDF документа "FreeBSD 5 Network Enhancements (http://people.freebsd.org/~andre/FreeBSD-5.3-Networking.pdf)", в котором детально рассматриваются новшества и изменения в сетевой подсистеме FreeBSD 5 относительно FreeBSD 4.

Ниже, сжатый перевод:

<h3>Таблица маршрутизации</h3>
<ul>
-  Удален PRCLONING.

-  Удален указатель на маршрут из INPCB. Теперь нет необходимости периодически сканировать все INPCB (блокируя их при этом) для удаления указателя после удаления маршрута.

-  RTENTRY выделяются с помощью UMA что позволило объем занимаемый в памяти одним маршрутом с 256 до 130 байт.
</ul>

<h3>Работа с интерфейсам</h3>
<ul>
-  Уведомление о состоянии через RTSOCKET и KQUEUE. Пока реализовано уведомление об отключении/подключении кабеля для Ethernet интерфейсов.
        
-  Переименования интерфейса (например ifconfig bge0 name office).

-  Клонирование для создание виртуальных интерфейсов (например ifconfig gre0 create).

-  Автоматические VLAN'ы. (упрощена настройка vlan интерфейсов, теперь достаточно просто ifconfig bge1.100 inet 192.168.1.1/24 для создания интерфейса в 100 vlan)

-  Бинарная совместимость с NDIS (проект Evil). Теперь во FreeBSD можно использовать бинарные драйвера для Ethernet и WLAN карт написание согласно спецификации Windows XP NDIS 5.1

</ul>

<h3>Работа IPv4</h3>
<ul>
-  IP FastForward. (идея похожа на Cisco CEF). По сравнению с обычным IP forwarding прирост скорости 40-60%. Была достигнута скорость 1Mpps (миллион пакетов в секунду).

-  Генерация случайных IP ID. При обычной последовательной генерации IP ID возможно определить число хостов находящихся за NAT, использование случайных ID делает это невозможным.

-  Обработка опций IP. Реакцией на пакеты содержащие IP опции (такие как record route) можно стало управлять переменной sysctl net.inet.ip.process_options

</ul>

<h3>Фильтрация пакетов</h3>
<ul>
-  PFIL_HOOKS постоянно включены и не требуют перекомпиляции ядра.

-  PF (из OpenBSD) и ALTQ (KAME) импортированы и полностью функциональны, за исключением CARP (скоро будет).
Во FreeBSD 5 теперь три пакетных фильтра IPFW, PF и IPFILTER.
-  IPFW был изменен для использования PFIL_HOOKS как и другие два. Добавлен ряд новых функций в IPFW.
</ul>

<h3>Работа TCP</h3>
<ul>
-  TCP Hostcache. Кэш в котором сохраняются характеристики удаленных хостов от предыдущих соединений, для предварительной настройки новых подключений к этому же хосту. Это позволяет увеличить скорость работы HTTP.
        
-  Inflight Bandwidth-Delay Limiter. Ограничивает размер окна на основе времени прихода ACK позволяя избежать циклов потеря пакетов - уменьшение размеров окна. Это увеличивает скорость длительных соединений таких как FTP.

-  Сжатие состояния TIME_WAIT2. Соединение в состоянии TIME_WAIT2, ожидающее таймаут 2MSL содержит минимум необходимой информации, что сокращает требуемый соединению объем памяти ядра на 80%.
        
-  RFC3042 Limited Transmit. Ускоряет восстановление потерянных сегментов, за счет ускорения отправки данных при получении двойного ACK.

-  RFC3390 - увеличенное начальное окно TCP.

-  SACK, выборные TCP ACK.

-  TCP_MD5 Реализовано только частично, о позволяет Zebra/Quagga подключаться к Cisco и Juniper используя подписанные TCP соединения.
</ul>

<h3>Новые сетевые стеки</h3>
<ul>
-  Поддержка Bluetooth на основе Netgraph
-  Поддержка ATM на основе Netgraph
</ul>


Дополнительная ссылка: Сайт конференции http://www.suug.ch/sucon/04/ (http://www.suug.ch/sucon/04/)

URL: http://people.freebsd.org/~andre/FreeBSD-5.3-Networking.pdf
Новость: http://www.opennet.me/opennews/art.shtml?num=4320


Содержание

Сообщения в этом обсуждении
"Улучшения сетевого стека FreeBSD 5"
Отправлено robin zlobin , 05-Сен-04 17:50 
pf на bridge все равно пока нет... а я так хотел бы перевести свой obsd-мост обратно на фрю..

"Пора собирать подписи?"
Отправлено Банзай , 05-Сен-04 20:12 
Пора собирать подписи под петицией к Free и Open о кросс лицензировании?


"Улучшения сетевого стека FreeBSD 5"
Отправлено Finch , 05-Сен-04 23:42 
А лучше усилия разработчиков фри и опена объединить, и получить 1 ось. Сам использую где то опен, где то фрю,в опене многое хотелось бы из фри, а во фрю хотелось бы что то из опена.
Но думаю, скоро буду избавляться от опена на фрю.... :( Благо для этого скоро будут все условия :)

"Улучшения сетевого стека FreeBSD 5"
Отправлено Danil , 06-Сен-04 12:45 
Хочу спросить robin zlobin и Finch: почему вы бы хотели перейти обратно с OpenBSD на FreeBSD? Дело в том, что я некоторое время работаю с FreeBSD и начал также смотреть в сторону OpenBSD: думаю, может быть, и её попробовать на production-сервере?
Какие у неё по-вашему есть явные недостатки по сравнению с FreeBSD? И достоинства? ;-)

"Улучшения сетевого стека FreeBSD 5"
Отправлено andrew , 06-Сен-04 16:54 
Самый перывый недостаток -- она медленее. Так что если нагрузка велика, а вычеслительные мощности ограничены, то лучше -- FreeBSD. Для router'а лучше всего, конечно, OpenBSD -- лоно PF. Сейчас она у меня там и стоит. Но хотелось бы иметь не одну операционку, а две (на рабочей станции тоже FreeBSD)... Тогда поддержка всего узла сильно упростится. Поэтому я так жду FreeBSD 5.3! Как только выдет -- в тот же день заменю платформу рутера.

"Улучшения сетевого стека FreeBSD 5"
Отправлено robin zlobin , 07-Сен-04 20:05 
1. OpenBSD таки да тормоз. В 3.5-current вроде как нашли мегабаг на эту нему и исправили, посмотрим, что будет в 3.6
2. Удобнее и привычнее держать ферму одинаковых ОС, чем разномастные операционки
3. Ко FreeBSD привык, люблю ее больше.
as the result, 4. Не вижу у OpenBSD преимуществ перед FreeBSD 5. Ну кроме pf bridge, естественно.

"Улучшения сетевого стека FreeBSD 5"
Отправлено Аноним , 06-Сен-04 01:52 
Очень хочется поддержку FORWARD в IPFW2 под бриджем, чтоб сквиду траффик скармливать.
И еще хочется иметь возможность присваивать адрес самому бриджу, а не одному из интерфейсов.

"Улучшения сетевого стека FreeBSD 5"
Отправлено dawnshade , 06-Сен-04 10:21 
А RANDOM_IP_ID еще в 4-ке был..
Как это они его сделали заново в 5-ке???

"Улучшения сетевого стека FreeBSD 5"
Отправлено Аноним , 06-Сен-04 11:14 
они просто перенесли random_ip_id в sysctl - до этого только через конфиг ядра.

"Улучшения сетевого стека FreeBSD 5"
Отправлено dawnshade , 06-Сен-04 11:15 
>они просто перенесли random_ip_id в sysctl - до этого только через конфиг
>ядра.


А. То вроде помню в каких-то 5-ках это еще в ядре было.


"Улучшения сетевого стека FreeBSD 5"
Отправлено Андрей , 07-Сен-04 09:26 
А где вы там про миллион пакетов нашли, я увидел только про 1.2 миллиона правил, покажите, где про это писано?

"Улучшения сетевого стека FreeBSD 5"
Отправлено Nickolay , 07-Сен-04 12:33 
и еще вопрос в догонку: разве количество обрабатываемых пакетов в единицу времени не зависит от процессора?

"Улучшения сетевого стека FreeBSD 5"
Отправлено Algol , 07-Сен-04 14:36 
Страница 11 пдф-ки

"IP_ID"
Отправлено Игорь , 08-Сен-04 04:08 
Ну не знаю, не знаю, у меня 5.1(без обновления src'ов) уже месяц работает с options RANDOM_IP_ID =))