В чем отличие IFA_LOCAL от IFA_ADDRESS
От: k55 Ниоткуда  
Дата: 12.01.11 11:54
Оценка:
День добрый.
Помогите осознать разницу между этими значениями.
В мане пишут следующее:

IFA_ADDRESS     interface address
IFA_LOCAL     local address

Не совсем понимаю чем отличается адрес интерфейса от локального адреса, точнее совсем не понимю .

Погуглил и нашел это:


hi,

Thanks for your answer. The IFA_LOCAL is the address of the the tunnel from
a host to another, it is one of the addresses on the other interfaces.

nary tra


> > I dont understand clearly the IFA_LOCAL and IFA_ADDRESS of the flags of
> > ifaddrmsg in rtnetlink. What is the different between them ? I make a
test
> > to print the IFA_LOCAL and IFA_ADDRESS value on diffrent machines, they
are
> > always the same.
>
> It is not always same. e.g. tunl or sit.
>
> --yoshfuji
>


И стоало еще непонятнее.
Подскажите где можно прочесть про эти понятия interface address и local address или про IFA_ADDRESS и IFA_LOCAL.
В общем хоть что-то, что бы внести ясность в мысли.
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.
Re: В чем отличие IFA_LOCAL от IFA_ADDRESS
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 15.01.11 09:18
Оценка: 3 (1)
Здравствуйте, k55, Вы писали:

k55>День добрый.

k55>Помогите осознать разницу между этими значениями.

Для начала настоятельно прошу описывать платформу/ОС, о которой идёт речь.
По комментарию я увидел, что это Linux (по слову rtnetlink), но в следующий раз просто проигнорирую, если не будет времени вдумываться. Отсутствие других комментариев за 3 дня подсказывает, что остальным тем более облом читать такое. Кстати, версия Linux не указана, а она может быть существенной.

k55>В мане пишут следующее:


В _каком_ мане? Это тоже должно быть сказано и мы не должны угадывать такие детали.

k55>
k55>IFA_ADDRESS     interface address
k55>IFA_LOCAL     local address 
k55>

k55>Не совсем понимаю чем отличается адрес интерфейса от локального адреса, точнее совсем не понимю .

k55>Погуглил и нашел это:


Чужие цитаты надо передавать через <q>, а не <code>. (заменить угловые скобки на квадратные)

k55>Thanks for your answer. The IFA_LOCAL is the address of the the tunnel from

k55>a host to another, it is one of the addresses on the other interfaces.

Существует такое средство (точнее, класс средств) — туннель. Для IP, основные варианты — IPIP туннель (см. RFC1853) и GRE туннель (RFC2784 без PPTP, RFC2637 с PPTP). У туннельного интерфейса 4 адреса — локальный и удалённый внешней стороны (которая поддерживает туннель), локальный и удалённый внутренней стороны (собственно туннель). Так вот — внешние адреса настраиваются отдельно, а для внутренних для point-to-point интерфейсов (включающих туннель, PPP линк, SLIP линк, Frame Relay и так далее) правило такое, что IFA_ADDRESS задаёт адрес _удалённой_ стороны, а IFA_LOCAL — адрес локальной стороны. Вот цитата из <linux/if_addr.h>:

/*
 * Important comment:
 * IFA_ADDRESS is prefix address, rather than local interface address.
 * It makes no difference for normally configured broadcast interfaces,
 * but for point-to-point IFA_ADDRESS is DESTINATION address,
 * local address is supplied in IFA_LOCAL attribute.
 */


(btw, тег code тут только потому, что предформатированный комментарий)
Для broadcast типа интерфейса, к которым относится Ethernet, насколько я понял, IFA_ADDRESS — базовый адрес IP блока, назначенного на интерфейс (облом проверять).

k55>В общем хоть что-то, что бы внести ясность в мысли.


Вот внёс. Если ещё вопросы — настоятельно прошу не заставлять других телепатить. Также прочтите как правильно задавать вопросы (или кэшированную копию на RSDN) и действуйте по ней.
The God is real, unless declared integer.
Re[2]: В чем отличие IFA_LOCAL от IFA_ADDRESS
От: k55 Ниоткуда  
Дата: 15.01.11 14:19
Оценка:
Здравствуйте, netch80, Вы писали:
Сердечно вам признателен, и дико извиняюсь за непотребства.
Если есть желание — найдется 1000 возможностей.
Если нет желания — найдется 1000 причин.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.