ВУЗ:
Составители:
44
}
Пространство имен интернет
Первоначально пространство имен интернет использовало только протокол
интернет (IP) версии 4 (IPv4), имеющий 32-битные адреса. С постоянным ростом
количества хостов в интернет появилась необходимость в создании нового протокола с
большим адресным пространством. В настоящее время Linux может использовать также
и версию IPv6 протокола интернет, имеющий 128-битное адресное пространство,
который должен со временем заменить IPv4.
Для создания гнезда в пространстве имен IPv4 используется символьное имя
PF_INET. Для создания гнезда в пространстве IPv6 используется символьное имя
PF_INET6.
Адрес в пространстве интернет включает следующие компоненты:
• адрес машины, к которой необходимо подключиться;
• номер порта этой машины.
Типы данных для представления адреса гнезда в пространстве имен интернет
определены в заголовочном файле <netinet/in.h>. Для адреса IPv4:
struct sockaddr_in {
sa_family_t sin_family;
struct in_addr sin_addr;
unsigned short int sin_port;
};
Структура данных используется для представления адресов в пространстве
имен интернет стандарта IPv4. Здесь sin_family определяет формат адреса гнезда;
sin_addr определяет адрес хоста в сети; sin_port – номер порта.
При вызове функций bind и getsockname аргумент LENGTH нужно установить
значением sizeof (struct sockaddr_in).
Для представления адреса IPv6 используется структура
struct sockaddr_in6 {
sa_family_t sin6_family;
struct in6_addr sin6_addr;
uint32_t sin6_flowinfo;
uint16_t sin6_port;
};
Здесь sin6_family – формат адреса гнезда, sin6_addr – адрес хоста, sin6_flowinfo
– в настоящий момент не используется, sin6_port – адрес порта.
Адреса хостов
Каждый компьютер в сети интернет имеет один или несколько адресов,
номеров, которые идентифицируют компьютер среди всех остальных в сети. Обычно
адреса пространства IPv4 представляется в виде четырех чисел, разделенных точками,
адреса пространства IPv6 – в виде последовательность до восьми чисел, разделенных
двоеточиями. Примеры адресов:
IPv4 - 128.52.46.32,
IPv6 - 5f03:1200:836f:c100::1.
Каждый компьютер имеет также одно или более символьных имен, состоящих
из слов, разделенных точками. Программы, позволяющие пользователю указать хост, с
которым необходимо установить соединение, должны давать возможность указывать и
символьное и числовое представление адреса. Однако, программе необходим числовой
адрес для установления соединения, поэтому необходимо конвертировать символьное
представление в числовое.
} Пространство имен интернет Первоначально пространство имен интернет использовало только протокол интернет (IP) версии 4 (IPv4), имеющий 32-битные адреса. С постоянным ростом количества хостов в интернет появилась необходимость в создании нового протокола с большим адресным пространством. В настоящее время Linux может использовать также и версию IPv6 протокола интернет, имеющий 128-битное адресное пространство, который должен со временем заменить IPv4. Для создания гнезда в пространстве имен IPv4 используется символьное имя PF_INET. Для создания гнезда в пространстве IPv6 используется символьное имя PF_INET6. Адрес в пространстве интернет включает следующие компоненты: • адрес машины, к которой необходимо подключиться; • номер порта этой машины. Типы данных для представления адреса гнезда в пространстве имен интернет определены в заголовочном файле. Для адреса IPv4: struct sockaddr_in { sa_family_t sin_family; struct in_addr sin_addr; unsigned short int sin_port; }; Структура данных используется для представления адресов в пространстве имен интернет стандарта IPv4. Здесь sin_family определяет формат адреса гнезда; sin_addr определяет адрес хоста в сети; sin_port – номер порта. При вызове функций bind и getsockname аргумент LENGTH нужно установить значением sizeof (struct sockaddr_in). Для представления адреса IPv6 используется структура struct sockaddr_in6 { sa_family_t sin6_family; struct in6_addr sin6_addr; uint32_t sin6_flowinfo; uint16_t sin6_port; }; Здесь sin6_family – формат адреса гнезда, sin6_addr – адрес хоста, sin6_flowinfo – в настоящий момент не используется, sin6_port – адрес порта. Адреса хостов Каждый компьютер в сети интернет имеет один или несколько адресов, номеров, которые идентифицируют компьютер среди всех остальных в сети. Обычно адреса пространства IPv4 представляется в виде четырех чисел, разделенных точками, адреса пространства IPv6 – в виде последовательность до восьми чисел, разделенных двоеточиями. Примеры адресов: IPv4 - 128.52.46.32, IPv6 - 5f03:1200:836f:c100::1. Каждый компьютер имеет также одно или более символьных имен, состоящих из слов, разделенных точками. Программы, позволяющие пользователю указать хост, с которым необходимо установить соединение, должны давать возможность указывать и символьное и числовое представление адреса. Однако, программе необходим числовой адрес для установления соединения, поэтому необходимо конвертировать символьное представление в числовое. 44
Страницы
- « первая
- ‹ предыдущая
- …
- 42
- 43
- 44
- 45
- 46
- …
- следующая ›
- последняя »