Чтение онлайн

на главную - закладки

Жанры

Linux-сервер своими руками

Колисниченко Денис Николаевич

Шрифт:

Рис. 1.12. Пересылка блока данных в стеке протоколов TCP/IP

Межсетевой уровень

Протоколы Интернет инкапсулируют блоки данных в пакеты (дейтаграммы) и обеспечивают необходимую маршрутизацию. К основным Интернет-протоколам относятся:

IP (Internet Protocol) предназначен для отправки и маршрутизации пакетов.
ARP (Address Resolution Protocol) используется для получения МАС-адресов (аппаратных адресов) сетевых адаптеров.
ICMP (Internet Control Message Protocol) предназначен для отправки извещений и сообщений об ошибках при передаче пакетов.
IGMP (Internet Group Management Protocol) используется
узлами для сообщения маршрутизаторам, которые поддерживают групповую передачу, о своем участии в группах.
RIP (Route Internet Protocol) и OSPF (Open Shortest Path First) протоколы маршрутизации.

На этом уровне реализуется передача пакетов без установки соединения — дейтаграммным способом. Межсетевой уровень обеспечивает перемещение пакетов по сети с использованием наиболее рационального маршрута (протокол OSPF). Основная функция межсетевого уровня — передача пакетов через составную сеть, поэтому этот уровень также называется уровнем Интернет.

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

Данный уровень обеспечивает сеансы связи между компьютерами. Существует два транспортных протокола: TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Протокол TCP ориентирован на установление соединения, то есть перед передачей данных компьютеры «договариваются» между собой. Обычно по этому протоколу передаются большие объемы данных или данные, для которых требуется подтверждение их приема. Этот протокол используется большинством сетевых приложений, так как обеспечивает достаточную надежность при передаче данных.

Протокол UDP не ориентирован на соединение и не гарантирует доставку пакетов (дейтаграмм). Однако протокол UDP является более быстродействующим по сравнению с TCP. Обычно по этому протоколу передаются небольшие объемы данных. Ответственность за доставку данных несет сетевая программа.

Уровень приложений

Данный уровень является вершиной модели TCP/IP. На этом уровне работают практически все распространенные утилиты и службы: DNS, Telnet, WWW, Gopher, WAIS, SNMP, FTP, TFTP, SMTP, POP, IMAP.

В качестве завершения данного пункта рассмотрим соответствие уровней стека протокола TCP/IP семиуровневой модели OSI (см. табл. 1.5).

Соответствие уровней стека TCP/IP модели OSI Таблица 1.5

Уровень модели OSI Протокол Уровень стека TCP/IP
7, 6 WWW (HTTP), FTP, TFTP, SMTP, POP, telnet, WAIS, SNMP 1
5, 4 TCP, UDP 2
3 IP, ICMP, RIP, OSPF, ARP 3
2, 1 Ethernet, PPP, SLIP 4

В следующем пункте рассмотрено такое важное понятие протокола TCP/IP как порт. В том же пункте будут рассмотрены структуры пакетов IP и TCP, поскольку рассмотрение этого материала без введения определения порта не имеет смысла.

1.7.6. Порты и демоны

Дальнейшее изложение материала построено, исходя из того, что вы уже знаете, что такое сервер и какие службы вам придется настраивать. В пункте Как устроена книга (п. 1.5) было подробно описано, в каких главах описана настройка той или иной службы. Здесь же давайте рассмотрим некоторые базовые понятия, каковыми являются понятие «демон» и «порт».

Как уже было отмечено, в заголовке каждого пакета указывается IP-адрес отправителя и IP-адрес получателя, а также номер порта. С IP-адресом отправителя и получателя все понятно, осталось сказать, что же такое порт. Дело в том, что сразу несколько приложений на одном компьютере могут осуществлять обмен данными через сеть. При этом, если в качестве адресата указывать только IP-адрес получателя, то приложения, выполняемые на нем, не смогут разобраться кому из них предназначены присланные данные. Чтобы решить эту проблему используется механизм портов. Номер порта — это просто номер программы, которая будет обрабатывать переданные данные. Каждой сетевой программе, которая работает по протоколу TCP/IP, сопоставлен свой номер порта. Например, 80 — это порт WWW-сервера (обычно это Apache), a 53 — это порт системы доменных имен.

Термин демон происходит от английского слова demon (или daemon) и означает программу, которая выполняется в фоновом режиме и дополняет операционную систему каким-нибудь сервисом. Как правило, пользователь не замечает работу демона: он даже и не подозревает, что данная программа запущена. Программа-демон чем-то напоминает резидентные программы в операционной системе DOS. Как видите, нет ничего общего с ужасными существами потустороннего мира. Обычно демон ожидает определенного события, после которого он активизируется и выполняет свою работу. Сетевые демоны ожидают получения пакета с определенным номером порта и, получив его, обрабатывают содержащиеся в нем данные. В книге мы еще неоднократно поговорим об этих «существах», поэтому сейчас не будем подробно останавливаться

на них.

1.7.7. Структура пакетов IP и TCP

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

Структура заголовка IP-пакета Таблица 1.6

Поле Описание
Source IP-address (IP-адрес отправителя) Отправитель пакета
Destination IP-address (IP-адрес получателя) Получатель пакета
Protocol (Протокол) TCP или UDP
Checksum (Контрольная сумма) Значение для проверки целостности пакета
TTL (Time to Live, время жизни пакета) Определяет, сколько секунд дейтаграмма может находиться в сети. Предотвращает бесконечное блуждание пакетов в сети. Значение TTL автоматически уменьшается на одну или более секунд при проходе через каждый маршрутизатор сети
Version Версия протокола IP — 4 или 6. Шестая версия протокола IP рассматривается в гл. 8 (4 бита)
Header Length (Длина заголовка) Минимальный размер заголовка — 20 байт (4 бита)
Type of Service (Тип обслуживания) Обозначение требуемого для этого пакета качества обслуживания при доставке через маршрутизаторы IP-сети. Здесь определяются приоритет, задержки, пропускная способность. (8 бит)
Total Length (Общая длина) Длина дейтаграммы IP-протокола (16 бит)
Identification (Идентификация) Идентификатор пакета. Если пакет фрагментирован (разбит на части), то все фрагменты имеют одинаковый идентификатор (16 бит)
Fragmentation Flags (Фрагментационные флаги) 3 бита для флагов фрагментации и 2 бита для текущего использования
Fragmentation Offset (Смещение фрагмента) Указывает на положение фрагментов относительно начала поля данных IP-пакета. Если фрагментации нет, смещение равно 0x0 (13 бит)
Options and Padding (Опции и заполнение) Опции

Протокол TCP, в отличие от протокола IP, ориентирован на установление соединения и обеспечивает надежную доставку данных. Структура TCP-пакета описана в табл. 1.7.

Структура TCP-пакета Таблица 1.7

Поле Описание
Source port (Порт отправителя) Порт TCP узла-отправителя
Destination Port (Порт получателя) Порт TCP узла-получателя
Sequence Number (Порядковый номер) Номер последовательности пакетов
Acknowledgement Number (Номер подтверждения) Порядковый номер байта, который локальный узел рассчитывает получить следующим
Data Length (Длина данных) Длина TCP– пакета
Reserved (Зарезервировано) Зарезервировано для будущего использования
Flags (Флаги) Описание содержимого сегмента
Window (Окно) Показывает доступное место в окне протокола TCP
Checksum (Контрольная сумма) Значение для проверки целостности пакета
Urgent Pointer (Указатель срочности) При отправке срочных данных (поле Flags) в этом поле задается граница области срочных данных

1.8. Общие рекомендации

Поздравляю с успешным окончанием курса молодого бойца (администратора)! Осталось только сказать несколько слов об общей настройке сервера. Настройку сервера «с нуля» следует проводить именно в такой последовательности, которая описана в книге. После установки системы следует разобраться с правами пользователей, определить, кто и к чему будет иметь доступ. Именно с этого и начинается локальная безопасность сервера. Нет смысла настраивать все службы с соблюдением всех требований безопасности, если пользователь pupkin имеет доступ ко всему и его пароль 123! (или же установлены права доступа к корневой файловой системе, позволяющие всем модифицировать ее).

Поделиться:
Популярные книги

Наследие Маозари 3

Панежин Евгений
3. Наследие Маозари
Фантастика:
рпг
аниме
5.00
рейтинг книги
Наследие Маозари 3

Совок 13

Агарев Вадим
13. Совок
Фантастика:
попаданцы
5.00
рейтинг книги
Совок 13

Госпожа Доктор

Каплунова Александра
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Госпожа Доктор

Королева Солнца. Предтечи. Повелитель зверей. Кн. 1-17

Нортон Андрэ
Королева Солнца
Фантастика:
фэнтези
6.25
рейтинг книги
Королева Солнца. Предтечи. Повелитель зверей. Кн. 1-17

Кодекс Крови. Книга II

Борзых М.
2. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга II

Хозяйка старой усадьбы

Скор Элен
Любовные романы:
любовно-фантастические романы
8.07
рейтинг книги
Хозяйка старой усадьбы

Вспомнить всё (сборник)

Дик Филип Киндред
Фантастика:
научная фантастика
6.00
рейтинг книги
Вспомнить всё (сборник)

Ученик

Первухин Андрей Евгеньевич
1. Ученик
Фантастика:
фэнтези
6.20
рейтинг книги
Ученик

Жена неверного ректора Полицейской академии

Удалова Юлия
Любовные романы:
любовно-фантастические романы
4.25
рейтинг книги
Жена неверного ректора Полицейской академии

Купец III ранга

Вяч Павел
3. Купец
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Купец III ранга

Мастер Разума III

Кронос Александр
3. Мастер Разума
Фантастика:
героическая фантастика
попаданцы
аниме
5.25
рейтинг книги
Мастер Разума III

На границе империй. Том 8. Часть 2

INDIGO
13. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 8. Часть 2

Сколько стоит любовь

Завгородняя Анна Александровна
Любовные романы:
любовно-фантастические романы
6.22
рейтинг книги
Сколько стоит любовь

Идеальный мир для Лекаря 16

Сапфир Олег
16. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 16