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

Мы еще не коснулись множества инструментов, которые могут быть использованы при отслеживании потребления сетевых ресурсов. Чтобы их применять, сначала необходимо понять, как устроена сеть. Именно к этому мы сейчас и перейдем.

9. Представление о сети и ее конфигурации

Создание сети — это установка соединения между компьютерами и пересылка данных между ними. Звучит достаточно просто, но, чтобы понять, как это работает, необходимо задать два главных вопроса.

• Каким образом компьютер, отправляющий данные, знает, куда их отправлять?

• Когда компьютер-адресат получает данные, как он догадывается о том, что он только что получил?

Компьютер отвечает на эти вопросы, используя набор компонентов, каждый из которых ответственен за определенный аспект отправки, получения и идентификации данных. Эти компоненты организованы в виде групп, которые формируют сетевые уровни, расположенные один над другим, чтобы создать законченную систему. Ядро Linux обращается с сетью подобно тому, как оно работает с подсистемой SCSI, описанной в главе 3.

Поскольку каждый уровень стремится быть независимым, есть возможность построить сети с помощью различных комбинаций компонентов. Именно здесь конфигурация сети может стать очень сложной. По этой причине мы начнем данную главу с рассмотрения уровней в очень простых сетях. Вы узнаете о том, как просматривать параметры вашей сети, а когда усвоите основы работы каждого уровня, вы будете готовы к изучению того, как самостоятельно конфигурировать эти уровни. Наконец, мы перейдем к таким сложным темам, как построение соб­ственных сетей и настройка брандмауэров. Пропустите этот материал, если ваши глаза начинают тускнеть; вы всегда сможете вернуться к нему позже.

9.1. Основные понятия о сети

Прежде чем разбираться с теорией сетевых уровней, взгляните на простую сеть, показанную на рис. 9.1.

Такой тип сети является повсеместным, подобным образом сконфигурировано большинство сетей в квартирах и небольших офисах. Каждый компьютер, подключенный к этой сети, называется хостом. Хосты подключены к маршрутизатору, который является хостом, способным передавать данные от одной сети к другой. Эти компьютеры (то есть хосты A, B и C) и маршрутизатор составляют локальную сеть (LAN, local area network). Подключения в локальной сети могут быть проводными или беспроводными.

Рис. 9.1. Типичная локальная сеть с маршрутизатором, который обеспечивает доступ в Интернет

Маршрутизатор подключен также к Интернету, изображенному на рисунке в виде облака. Поскольку маршрутизатор подключен одновременно и к локальной сети, и к Интернету, все компьютеры локальной сети также имеют доступ к Интернету через маршрутизатор. Одной из целей данной главы является описание того, каким образом маршрутизатор обеспечивает такой доступ.

Наша исходная точка обзора будет располагаться в компьютере с Linux, таком как хост А в локальной сети на рис. 9.1.

Пакеты. Компьютер передает данные по сети в виде небольших порций, называемых пакетами. Они состоят из двух частей: заголовка и полезной нагрузки. Заголовок содержит такую идентифицирующую информацию, как хосты происхождения/назначения и основной протокол. С другой стороны, полезная нагрузка — это реальные данные, которые компьютер собирается передать (например, код HTML или изображение).

Пакеты позволяют хосту взаимодействовать с другими хостами «одновременно», поскольку хосты могут отправлять, получать и обрабатывать пакеты в любом порядке, вне зависимости от того, откуда они поступили и куда направляются. Разбиение сообщений на небольшие части также облегчает нахождение и устранение ошибок, возникших при передаче.

В большинстве случаев вам не придется заботиться о переводе пакетов в данные, которые используют ваши приложения, поскольку в операционной системе есть необходимые для этого средства. Однако полезно узнать о роли пакетов в сетевых уровнях, к чему мы и приступаем.

9.2. Сетевые уровни

Полностью функционирующая сеть содержит полный набор сетевых уровней, называемый сетевым стеком. В любой действующей сети есть стек. Типичный интернет-стек выглядит следующим образом, от верхнего уровня к нижнему.

Прикладной уровень. Содержит «язык», с помощью которого общаются приложения и серверы. Как правило, это какой-либо протокол верхнего уровня. Самыми распространенными протоколами прикладного уровня являются: HTTP (Hypertext Transfer Protocol, протокол передачи гипертекстовых файлов; используется во Всемирной паутине), SSL (Secure Socket Layer, протокол защищенных сокетов) и FTP (File Transfer Protocol, протокол передачи файлов). Протоколы прикладного уровня часто могут сочетаться. Так, например, протокол SSL обычно используется в соединении с протоколом HTTP.

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

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

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по 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