banner banner banner
Linux
Linux
Оценить:
Рейтинг: 5

Полная версия:

Linux

скачать книгу бесплатно

Итоги

Как следует из материалов этой главы, Linux отлично справится со всякими серверными приложениями и сервисами. С точки зрения администрирования тоже особых проблем нет. Миф о том, что Linux – чисто серверная платформа, и решать на ней офисные задачи невозможно, – только миф. Буквально на днях вышла русская редакция OpenOffice 1, причем, как под Linux, так и под Windows. Помимо этого, динамично развиваются офисы KDE и GNOME. В части домашнего применения картина складывается противоречивая. С одной стороны, отличная поддержка мультимедиа, с другой стороны, практически полное отсутствие современных игр под Linux. Остается надеяться, что с увеличением пользователей Linux производители игр будут выпускать и версии для Linux.

Ссылки

• www.freshmeat.net (http://www.freshmeat.net/) – сайт, содержащий большое количество программ для Linux и не только.

• www.openoffice.org (http://www.openoffice.org/) – официальный сайт OpenOffice.

• www.sun.com (http://www.sun.com/) – сайт фирмы Sun.

• koffice.kde.org (http://www.koffice.kde.org/) – официальный сайт Koffice.

• www.gnome.org/gnome-office (http://www.gnome.org/gnome-office) – официальный сайт GNOME-Office.

• www.kdevelop.org (http://www.kdevelop.org/) – официальный сайт KDevelop.

• www.codeforge.com (http://www.codeforge.com/) – официальный сайт Code Forge.

• www.borland.com (http://www.borland.com/) – официальный сайт фирмы Borland, разработчика Kylix.

• www.gnome.org (http://www.gnome.org/) – официальный сайт GNOME.

• www.kde.org (http://www.kde.org/) – официальный сайт KDE.

• www.mozilla.org (http://www.mozilla.org/) – официальный сайт Mozilla.

• www.opera.com (http://www.opera.com/) – сайт фирмы-разработчика Opera.

• www.xlmian.com (http://www.xlmian.com/) – сайт фирмы Ximian, внесшей весомый вклад в разработку GNOME, а также почтового клиента Evolution.

• www.linuxdocs.org (http://www.linuxdocs.org/) – одно из наиболее полных собраний документации о Linux.

• www.linux-ve.chat.ru (http://www.linux-ve.chat.ru/) – электронная библиотека, посвященная Linux.

• www.citforum.ru (http://www.citforum.ru/) – большое собрание русскоязычной документации и книг, в том числе посвященных Linux.

• www.linux.org.ru (http://www.linux.org.ru/) – один из основных русскоязычных сайтов, посвященных Linux.

• www.applix.com (http://www.applix.com/) – сайт фирмы-разработчика Applixware.

• www.mysql.org (http://www.mysql.org/) – официальный сайт MySQL.

• www.interbase.com (http://www.interbase.com/) – официальный сайт Interbase.

• www.idsoftware.com (http://www.idsoftware.com/) – разработчик игр Doom, Quake, Quake II, Quake III.

• www.lokigames.com (http://www.lokigames.com/) – сайт фирмы, которая переносит Windows-игры для Linux.

• www.linuxgames.org.ru (http://www.linuxgames.org.ru/) – сайт, посвященный играм для Linux.

Часть II

Базовая информация о Linux

Глава 3

Работа в сети. Основные понятия

В этой главе будут рассмотрены базовые понятия, лежащие в основе всего последующего изложения. Как уже упоминалось, «компьютер – это сеть». С рассмотрения основных сведений о работе в сети мы и начнем.

Модели сетевых взаимодействий

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

• модель взаимодействия открытых систем (OSI);

• модель сетевого взаимодействия TCP/IP.

Терминология

Для облегчения понимания содержимого этой главы приведем основные термины (табл. 3.1).

Таблица 3.1. Базовые сетевые термины

Модель взаимодействия открытых систем (OSI)

Еще в 1983 году Международная организация по стандартизации (International Organization for Standardization, ISO) разработала стандарт взаимодействия открытых систем (Open System Interconnection, OSI).

В результате получилась семиуровневая модель:

1. Физический уровень (Physical Level).

2. Уровень данных (Data Link Level).

3. Сетевой уровень (Network Level).

4. Транспортный уровень (Transport Level).

5. Уровень сессии (Session Level).

6. Уровень представления (Presentation Level).

7. Уровень приложения (Application Level).

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

Каждый уровень модели OSI решает свои задачи, использует сервисы, предоставляемые предыдущим уровнем и, в свою очередь, предоставляет сервисы следующему уровню. Согласно этой модели, уровни не могут перескакивать через соседей, например, транспортный уровень не может непосредственно пользоваться сервисом физического уровня, он обязан пройти по цепочке: Сетевой уровень ? Уровень данных ? Физический уровень. В табл. 3.2 приведено описание уровней сетевой модели OSI.

Таблица 3.2. Уровни сетевой модели OSI

На каждом уровне блоки информации имеют собственное название (табл. 3.3).

Таблица 3.3. Название блока информации в модели

Несмотря на то что OSI является международным стандартом и на его основе правительство США выпустило спецификации GOSIP (Government Open Systems Interconnection Profile, Государственный регламент взаимодействия открытых систем), у производителей программного обеспечения стандарт OSI широкой поддержки не получил. Это объясняется несколькими причинами:

• на длительное время растянувшаяся процедура принятия стандарта;

• его «оторванность» от реалий;

• наличие большого числа уровней трудно для реализации и приводит к потере производительности;

• широчайшее распространение протокола TCP/IP и нежелание потребителей отказываться от него.

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

Модель сетевого взаимодействия TCP/IP

Архитектура семейства протоколов TCP/IP (Transmission Control Protocol / Internet Protocol, протокол управления передачей / интернет-протокол) основана на представлении, что коммуникационная инфраструктура содержит три вида объектов: процессы, хосты и сети.

Основываясь на этих трех объектах, разработчики выбрали четырехуровневую модель:

1. Уровень сетевого интерфейса (Network interface layer).

2. Уровень межсетевого интерфейса – интернета[1 - Здесь «интернет» – термин, указывающий на межсетевой характер взаимодействия, а, отнюдь, не Глобальная сеть Интернет. – Ред.] (Internet layer).

3. Транспортный уровень (Host-to-host Layer).

4. Уровень приложений/процессов (Application/process layer).

Сопоставление сетевых моделей OSI и TCP/IP

Нетрудно заметить, что модель TCP/IP отличается от модели OSI. В табл. 3.4 показано соответствие модели TCP/IP и модели OSI.

Таблица 3.4. Соответствие модели TCP/IP и модели OSI

Как видно из таблицы, уровень сетевого интерфейса сетевой модели TCP/IP соответствует сразу двум уровням сетевой модели OSI, а уровень приложений сетевой модели TCP/IP – трем уровням сетевой модели OSI.

Сетевые протоколы

В этом разделе мы рассмотрим различные сетевые протоколы, используемые в современной компьютерной индустрии.

Семейство протоколов TCP/IP

Семейство протоколов TCP/IP включает следующие протоколы:

• межсетевой протокол (Internet Protocol – IP, протокол интернета) – соответствует уровню интернет-модели TCP/IP. Отвечает за передачу данных с одного хоста на другой;

• межсетевой протокол управления сообщениями (Internet Control Message Protocol, ICMP) – отвечает за низкоуровневую поддержку протокола IP, включая подтверждение получения сообщения, сообщения об ошибках и многое другое;

• протокол преобразования адресов (Address Resolution Protocol, ARP) – выполняет преобразование логических сетевых адресов в аппаратные МАС-адреса (Media Access Control). Соответствует уровню сетевого интерфейса;

• протокол пользовательских датаграмм (User Datagram Protocol, UDP) – обеспечивает пересылку данных без проверки с помощью протокола IP;

• протокол управления передачей (Transmission Control Protocol, TCP) – обеспечивает пересылку данных (с созданием сессии и проверкой передачи данных) с помощью протокола IP;

• множество протоколов уровня приложений (FTP, Telnet, IMAP, SMTP и др.).

Схема протоколов семейства TCP/IP представлена в табл. 3.5.

Таблица 3.5. Схема семейства протоколов TCP/IP

Протоколы межсетевого уровня (интернет)

Протоколы межсетевого уровня (интернет) являются базовыми протоколами в семействе протоколов TCP/IP. Это протоколы TCP/IP, ARP/RARP и ICMP.

Протокол IP

Первоначальный стандарт IP разработан в конце 1970-х годов и не был рассчитан на огромное количество хостов, которое сейчас находится в Интернете. Поэтому в настоящее время утвержден новый стандарт IP (в литературе часто старый стандарт встречается как IPv4, а новый – как IPv6). Однако массового применения он пока не нашел из-за огромного количества программных и аппаратных средств, не способных работать с IPv6, поэтому мы здесь будем рассматривать, в основном, протокол IPv4.

Формат пакета IPv4

Пакет IP состоит из заголовка и поля данных. Заголовок пакета имеет следующие поля:

• поле Номер версии (VERS) указывает версию протокола IP. Сейчас повсеместно используется версия 4 и готовится переход на версию 6;

• поле Длина заголовка (HLEN) пакета IP. Занимает 4 бита и указывает значение длины заголовка, измеренное в 32-битовых словах. Обычно заголовок имеет длину в 20 байт (пять 32-битовых слов), но при увеличении объема служебной информации эта длина может быть увеличена за счет использования дополнительных байтов в поле Резерв (IP OPTIONS);

• поле Тип сервиса (SERVICE TYPE) занимает 1 байт и задает приоритетность пакета и вид критерия выбора маршрута. Первые три бита этого поля образуют подполе приоритета пакета (PRECEDENCE). Приоритет может иметь значения от 0 (нормальный пакет) до 7 (пакет управляющей информации). Поле Тип сервиса содержит также три бита, определяющие критерий выбора маршрута. Установленный бит D (delay) говорит о том, что маршрут должен выбираться для минимизации задержки доставки данного пакета, бит Т – для максимизации пропускной способности, а бит R – для максимизации надежности доставки;

• поле Общая длина (TOTAL LENGTH) занимает 2 байта и указывает общую длину пакета с учетом заголовка и поля данных;

• поле Идентификатор пакета (IDENTIFICATION) занимает 2 байта и используется для распознавания пакетов, образовавшихся путем фрагментации исходного пакета. Все фрагменты должны иметь одинаковое значение этого поля;

• поле Флаги (FLAGS) занимает 3 бита, оно указывает на возможность фрагментации пакета (установленный бит Do not Fragment, DF – запрещает маршрутизатору фрагментировать данный пакет), а также на то, является ли данный пакет промежуточным или последним фрагментом исходного пакета (установленный бит More Fragments, MF – говорит о том, что пакет переносит промежуточный фрагмент);

• поле Смещение фрагмента (FRAGMENT OFFSET) занимает 13 битов, оно используется для указания в байтах смещения поля данных этого пакета от начала общего поля данных исходного пакета, подвергнутого фрагментации. Используется при сборке/разборке фрагментов пакетов при передачах их между сетями с различными величинами максимальной длины пакета;

• поле Время жизни (TIME ТО LIVE) занимает 1 байт и указывает предельный срок, в течение которого пакет может перемещаться по сети. Время жизни данного пакета измеряется в секундах и задается источником передачи средствами протокола IP. На шлюзах и в других узлах сети по истечении каждой секунды из текущего времени жизни вычитается единица, единица вычитается также при каждой транзитной передаче (даже если не прошла секунда). По истечении времени жизни пакет аннулируется;

• поле Идентификатор протокола верхнего уровня (PROTOCOL) занимает 1 байт и указывает, какому протоколу верхнего уровня принадлежит пакет (например, это могут быть протоколы TCP, UDP или RIP);

• поле Контрольная сумма (HEADER CHECKSUM) занимает 2 байта, она рассчитывается по всему заголовку;

• поля Адрес источника (SOURCE IP ADDRESS) и Адрес назначения (DESTINATION IP ADDRESS) имеют одинаковую длину – 32 бита и одинаковую структуру;

• поле Резерв (IP OPTIONS) является необязательным и используется обычно только при отладке сети. Это поле состоит из нескольких подполей, каждое из которых может быть одного из восьми предопределенных типов. Так как число подпол ей может быть произвольным, то в конце поля Резерв должно быть добавлено несколько байтов для выравнивания заголовка пакета по 32-битной границе.