LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

Хачу зделать, запрограмировать, кароч, маршрутизацию для embedded устройства. Чо читать?

Про маршрутизацию (точнее, IP-маршрутизацию) пишут вроде в любой книжке о сетях? Там идея очень простая: получили пакет, посмотрели в таблицу, отправили куда надо. Если нет в таблице - в маршрут по умолчанию. Без NAT не надо даже менять IP-заголовки (ну, почти, TTL нужно уменьшить).

Плюс специальным образом нужно обрабатывать широковещательные и многоадресные пакеты (про это есть у Стивенса, его уже посоветовали).

Вот реализации бывают сложные, вроде lc-trie.

происходит проверка с arp таблицей

Это уже не IP, то есть не совсем маршрутизация. ARP - уровень Ethernet. Ну-у, теоретически можно «маршрутизировать», просто изменяя Ethernet-заголовок (и опционально уменьшая TTL), но это будет как-то совсем по-хакирски

UPD: коряво выразился. Можно «маршрутизировать» так: получить пакет на одном интерфейсе, изменить его ethernet-заголовок и отправить с другого интерфейса. Но лучше сделать по-нормальному

Исходная версия Deleted, :

Хачу зделать, запрограмировать, кароч, маршрутизацию для embedded устройства. Чо читать?

Про маршрутизацию (точнее, IP-маршрутизацию) пишут вроде в любой книжке о сетях? Там идея очень простая: получили пакет, посмотрели в таблицу, отправили куда надо. Если нет в таблице - в маршрут по умолчанию. Без NAT не надо даже менять IP-заголовки (ну, почти, TTL нужно уменьшить).

Плюс специальным образом нужно обрабатывать широковещательные и многоадресные пакеты (про это есть у Стивенса, его уже посоветовали).

Вот реализации бывают сложные, вроде lc-trie.

происходит проверка с arp таблицей

Это уже не IP, то есть не совсем маршрутизация. ARP - уровень Ethernet. Ну-у, теоретически можно «маршрутизировать», просто изменяя Ethernet-заголовок (и опционально уменьшая TTL), но это будет как-то совсем по-хакирски