Читаем Внутреннее устройство Linux полностью

Если вам повезет, вы будете иметь дело в основном с простыми масками подсети вроде 255.255.255.0 или 255.255.0.0. В случае невезения вам может попасться адрес 255.255.255.192, для которого не так-то просто установить набор адресов, принадлежащих подсети. Более того, возможно, что вы встретите другую форму представления подсети, которая называется нотацией CIDR (Classless Inter-Domain Routing, бесклассовая междоменная маршрутизация). В ней подсеть 10.23.2.0/255.255.255.0 будет записана в виде 10.23.2.0/24.

Чтобы понять, что это значит, посмотрите на маску в двоичной форме (как в примере, который вы видели в предыдущем разделе). Вы обнаружите, что практически все маски подсетей являются всего лишь набором единиц, за которыми следует набор нулей. Например, вы только что видели, что адрес 255.255.255.0 в двоичной записи представлен в виде 24 единичных бит, за которыми следуют 8 нулевых бит. Нотация CIDR идентифицирует маску подсети по количеству ведущих единиц в записи маски подсети. Следовательно, такая комбинация, как 10.23.2.0/24, содержит как префикс подсети, так и маску подсети.

В табл. 9.1 приведено несколько примеров масок подсети и их записи в форме CIDR.


Таблица 9.1. Маски подсети

Длинная форма

Форма CIDR

255.0.0.0

8

255.255.0.0

16

255.240.0.0

12

255.255.255.0

24

255.255.255.192

26


примечание

Если вы не очень хорошо знакомы с преобразованием чисел в десятичный, двоичный и шестнадцатеричный форматы, можно воспользоваться утилитой-калькулятором, например bc или dc, чтобы переводить числа с различными основаниями системы счисления. Например, в утилите bc можно запустить команду obase=2; 240, чтобы вывести число 240 в двоичной форме (основание равно 2).

Идентификация подсетей и их хостов является первым строительным блоком в понимании того, как работает Интернет. Но тем не менее подсети еще предстоит соединить.


9.4. Маршруты и таблица маршрутизации ядра

Соединение подсетей Интернет заключается в основом в идентификации хостов, подключенных к более чем одной подсети. Вернитесь к рис. 9.2 и поразмышляйте о хосте А с IP-адресом 10.23.2.4. Этот хост подключен к локальной сети 10.23.2.0/24 и может напрямую взаимодействовать с хостами этой сети. Чтобы добраться до остальной части Интернета, он должен «общаться» через маршрутизатор с адресом 10.23.2.1.

Как ядро Linux различает эти два типа назначений? Чтобы выбрать для себя образ действий, оно использует конфигурацию назначений, которая называется таблицей маршрутизации. Чтобы отобразить таблицу маршрутизации, применяйте команду route -n. Вот что вы могли бы увидеть для простого хоста, такого как хост с адресом 10.23.2.4:

$ route -n

Kernel IP routing table

Destination     Gateway     Genmask       Flags Metric Ref     Use Iface

0.0.0.0         10.23.2.1   0.0.0.0       UG    0      0         0 eth0

10.23.2.0       0.0.0.0     255.255.255.0 U     1      0         0 eth0

Две последние строки здесь содержат информацию о маршрутизации. Столбец Destination сообщает префикс сети, а столбец Genmask — маску, которая соответствует данной сети. В этом выводе определены две сети: 0.0.0.0/0 (которая соответствует каждому адресу в Интернете) и 10.23.2.0/24. У каждой из этих сетей в столбце Flags стоит символ U, который говорит о том, что данный маршрут активен («up»).

Различие между назначениями заложено в комбинации значений столбцов Gateway и Flags. Для адреса 0.0.0.0/0 в столбце Flags указан флаг G, который означает, что для данной сети связь должна проходить через шлюз, указанный в столбце Gateway (в данном случае 10.23.2.1). Однако для сети 10.23.2.0/24 в столбце Flags нет символа G, это говорит о том, что данная сеть подключена напрямую каким-либо способом. Здесь 0.0.0.0 используется в качестве заместителя значения в столбце Gateway. Не обращайте пока внимания на остальные столбцы вывода.

Есть некоторая хитрость: допустим, хост собирается отправить что-либо по адресу 10.23.2.132, который соответствует обоим правилам таблицы маршрутизации, 0.0.0.0/0 и 10.23.2.0/24. Как ядро узнает о том, что необходимо применить второй адрес? Оно выбирает самый длинный совпадающий префикс назначения. Именно здесь нотация CIDR становится чрезвычайно удобной: адрес 10.23.2.0/24 годится, и длина его префикса равна 24 битам; адрес 0.0.0.0/0 тоже подходит, но его префикс — нулевой длины (то есть у него нет префикса), поэтому берет верх правило для адреса 10.23.2.0/24.


примечание

Параметр -n просит команду route отобразить IP-адреса вместо имен хостов и сетей. Следует помнить об этом важном параметре, поскольку вы сможете использовать его в других командах, относящихся к работе с сетью, таких как netstat.

Перейти на страницу:

Похожие книги

Сетевые средства Linux
Сетевые средства Linux

В этой книге описаны принципы действия и область применения многих серверов, выполняющихся в системе Linux. Здесь рассматриваются DHCP-сервер, серверы Samba и NFS, серверы печати, NTP-сервер, средства удаленной регистрации и система X Window. He забыты и средства, традиционно используемые для обеспечения работы Internet-служб: серверы DNS, SMTP, HTTP и FTP. Большое внимание уделено вопросам безопасности сети. В данной книге нашли отражения также средства удаленного администрирования — инструменты Linuxconf, Webmin и SWAT.Данная книга несомненно окажется полезной как начинающим, так и опытным системным администраторам.Отзывы о книге Сетевые средства LinuxПоявилась прекрасная книга по Linux, осталось воспользоваться ею. Не упустите свой шанс.Александр Стенцин, Help Net Security. Если вы стремитесь в полной мере использовать сетевые возможности Linux — эта книга для вас. Я настоятельно рекомендую прочитать ее.Майкл Дж. Джордан, Linux OnlineВыхода подобной книги давно ожидали читатели. Менее чем на 700 страницах автор смог изложить суть самых различных вопросов, связанных с работой Linux. Автор является высококвалифицированным специалистом в своей области и щедро делится своими знаниями с читателями.Роджер Бертон, West, DiverseBooks.com

Родерик В. Смит

ОС и Сети / Книги по IT
Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT
Сетевые средства Linux
Сетевые средства Linux

В этой книге описаны принципы действия и область применения многих серверов, выполняющихся в системе Linux. Здесь рассматриваются DHCP-сервер, серверы Samba и NFS, серверы печати, NTP-сервер, средства удаленной регистрации и система X Window. He забыты и средства, традиционно используемые для обеспечения работы Internet-служб: серверы DNS, SMTP, HTTP и FTP. Большое внимание уделено вопросам безопасности сети. В данной книге нашли отражения также средства удаленного администрирования — инструменты Linuxconf, Webmin и SWAT.Данная книга несомненно окажется полезной как начинающим, так и опытным системным администраторам.Отзывы о книге Сетевые средства LinuxПоявилась прекрасная книга по Linux, осталось воспользоваться ею. Не упустите свой шанс.Александр Стенцин, Help Net Security. Если вы стремитесь в полной мере использовать сетевые возможности Linux — эта книга для вас. Я настоятельно рекомендую прочитать ее.Майкл Дж. Джордан, Linux OnlineВыхода подобной книги давно ожидали читатели. Менее чем на 700 страницах автор смог изложить суть самых различных вопросов, связанных с работой Linux. Автор является высококвалифицированным специалистом в своей области и щедро делится своими знаниями с читателями.Роджер Бертон, West, DiverseBooks.com

Родерик В. Смит

ОС и Сети, интернет / ОС и Сети / Книги по IT