История изменений
Исправление 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), но это будет как-то совсем по-хакирски