Книга: UNIX: разработка сетевых приложений

27.8. История развития интерфейса IPv6

27.8. История развития интерфейса IPv6

Документ RFC 2292 [113] определял более раннюю версию описываемого интерфейса, которая была реализована в некоторых системах. В этой версии для работы с параметрами получателя и транзитных узлов использовались функции inet6_option_space, inet6_option_init, inet6_option_append, inet6_option_alloc, inet6_option_next и inet6_option_find. Эти функции работали непосредственно с объектами типа struct cmsghdr, предполагая, что все параметры содержатся во вспомогательных данных. Для работы с заголовками маршрутизации были предназначены функции inet6_rthdr_space, inet6_rthdr_init, inet6_rthdr_add, inet6_rthdr_lasthop, inet6_rthdr_reverse, inet6_rthdr_segments, inet6_rthdr_getaddr и inet6_rthdr_getflags. Эти функции также работали непосредственно со вспомогательными данными.

В этом API закрепленные параметры устанавливались при помощи параметра сокета IPV6_PKTOPTIONS. Объекты вспомогательных данных при этом передавались в качестве данных параметра IPV6_PKTOPTIONS. Нынешние параметры сокета IPV6_DSTOPTS, IPV6_HOPOPTS и IPV6_RTHDR были флагами, позволявшими получать соответствующие заголовки во вспомогательных данных.

Подробнее обо всем этом вы можете прочесть в разделах 4–8 документа RFC 2292 [113].

Оглавление книги


Генерация: 1.590. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз