Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Не пройдет 29.09.02 22:22 Число просмотров: 1178
Автор: PS <PS> Статус: Elderman
|
> Задался на днях таким вопросом: а что будет если если я > послал пакет с дестинешен адресом А. а мне пришел ответ с > адресом источника В ? >
Вообщем, пройти не должен, хотя могу и ошибаться. В линухе такой пакет режится еще на IP уровне.
ipv4/raw.c, __raw_v4_lookup() содержит такой код:
if( ... s->daddr != raddr ...) , где s - указатель на sock структуру, а raddr - адрес источника из хидера IP пакета.
Эта ф-ия вызывается из raw_v4_input, которая в свою очередь вызывается из ip_local_deliver_finish /ip_input.c/, которая вызывается ip_local_deliver ...
Вообщем похоже, что это именно то место.
А вообще сетевая часть ядра построена как спагетти :( Сокеты проходят белыми нитками по всем уровням - хотя, по идеи, это всего лишь программный интерфейс. Здесь же - это универсальное хранилище всевозможной сетевой информации. Все уровни знают обо всех - вообщем катастрофа.
|
|
|