Краткий перевод 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
pf на bridge все равно пока нет... а я так хотел бы перевести свой obsd-мост обратно на фрю..
Пора собирать подписи под петицией к Free и Open о кросс лицензировании?
А лучше усилия разработчиков фри и опена объединить, и получить 1 ось. Сам использую где то опен, где то фрю,в опене многое хотелось бы из фри, а во фрю хотелось бы что то из опена.
Но думаю, скоро буду избавляться от опена на фрю.... :( Благо для этого скоро будут все условия :)
Хочу спросить robin zlobin и Finch: почему вы бы хотели перейти обратно с OpenBSD на FreeBSD? Дело в том, что я некоторое время работаю с FreeBSD и начал также смотреть в сторону OpenBSD: думаю, может быть, и её попробовать на production-сервере?
Какие у неё по-вашему есть явные недостатки по сравнению с FreeBSD? И достоинства? ;-)
Самый перывый недостаток -- она медленее. Так что если нагрузка велика, а вычеслительные мощности ограничены, то лучше -- FreeBSD. Для router'а лучше всего, конечно, OpenBSD -- лоно PF. Сейчас она у меня там и стоит. Но хотелось бы иметь не одну операционку, а две (на рабочей станции тоже FreeBSD)... Тогда поддержка всего узла сильно упростится. Поэтому я так жду FreeBSD 5.3! Как только выдет -- в тот же день заменю платформу рутера.
1. OpenBSD таки да тормоз. В 3.5-current вроде как нашли мегабаг на эту нему и исправили, посмотрим, что будет в 3.6
2. Удобнее и привычнее держать ферму одинаковых ОС, чем разномастные операционки
3. Ко FreeBSD привык, люблю ее больше.
as the result, 4. Не вижу у OpenBSD преимуществ перед FreeBSD 5. Ну кроме pf bridge, естественно.
Очень хочется поддержку FORWARD в IPFW2 под бриджем, чтоб сквиду траффик скармливать.
И еще хочется иметь возможность присваивать адрес самому бриджу, а не одному из интерфейсов.
А RANDOM_IP_ID еще в 4-ке был..
Как это они его сделали заново в 5-ке???
они просто перенесли random_ip_id в sysctl - до этого только через конфиг ядра.
>они просто перенесли random_ip_id в sysctl - до этого только через конфиг
>ядра.
А. То вроде помню в каких-то 5-ках это еще в ядре было.
А где вы там про миллион пакетов нашли, я увидел только про 1.2 миллиона правил, покажите, где про это писано?
и еще вопрос в догонку: разве количество обрабатываемых пакетов в единицу времени не зависит от процессора?
Страница 11 пдф-ки
Ну не знаю, не знаю, у меня 5.1(без обновления src'ов) уже месяц работает с options RANDOM_IP_ID =))