Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Администрирование систем Linux. Общая информация о сетях

Оригинал: General networking
Автор: Paul Cobbaut
Дата публикации: 12 марта 2015 г.
Перевод: A. Панин
Дата перевода: 1 апреля 2015 г.

Часть V. Управление сетевыми соединениями

Глава 21. Общая информация о сетях

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

21.1. Уровни сетевых моделей

21.1.1. Семь уровней сетевой модели OSI

При разговоре об уровнях сетевых моделей чаще всего упоминаются семь уровней сетевой модели OSI (прикладной уровень (application layer), уровень представления (presentation layer), сеансовый уровень (session layer), транспортный уровень (transport layer), сетевой уровень (network layer), канальный уровень (data link layer) и физический уровень (physical layer)). В данной главе мы будем подробно обсуждать только уровни 2 и 3 и ограничимся краткими описаниями остальных уровней данной модели. Такое разделение приоритетов объясняется тем, что понимание назначения перечисленных уровней является наиболее важным для понимания принципов работы сетей. Вы можете услышать от администраторов сетей такие описания, как "это устройство, работающее на 2 уровне" или "это широковещательная передача данных на 3 уровне" и вы должны понимать, о чем идет речь.

21.1.2. Четыре уровня сетевой модели DoD

Сетевая модель DoD (или сетевая модель TCP/IP) состоит всего из четырех уровней и, грубо говоря, ее уровень сетевого доступа (network access layer) может быть поставлен в соответствие уровням 1 и 2 сетевой модели OSI (физическому и канальному уровням), межсетевой уровень (internet layer, IP) - сетевому уровню сетевой модели OSI, транспортный уровень (host-to-host layer, TCP/UDP) - уровню 4 сетевой модели OSI (транспортному уровню), а уровень приложений (application layer) - уровням 5, 6 и 7 сетевой модели OSI.

Ниже приведена таблица соответствия уровней сетевых моделей OSI и DoD с примерами некоторых сетевых протоколов и приложений/устройств.

Таблица соответствия уровней сетевых моделей OSI и DoD

21.1.3. Краткое описание физического уровня сетевой модели OSI

На физическом уровне или уровне 1 сетевой модели OSI рассматриваются напряжения, электрические сигналы и механические соединения. Для построения некоторых сетей все еще могут использоваться коаксиальные кабели, но большая часть сетей переведена на использование кабелей UTP (категории 5 и выше) с коннекторами RJ45.

На данном уровне сетевой модели рассматриваются такие устройства, как повторители и хабы. У вас нет возможности 'обнаружения' в сети повторителя или хаба с помощью специального программного обеспечения. Единственной задачей упомянутых устройств является усиление электрических сигналов, проходящих по кабелям. Пассивные хабы являются усилителями с множеством портов, которые усиливают входящий электрический сигнал и передают его через все соединенные с выходными портами кабели. Активные хабы выполняют аналогичную задачу путем приема битов данных и их повторной передачи без какой-либо интерпретации этих битов.

На данном уровне рассматриваются такие сетевые технологии, как CSMA/CD и Token ring.

Это все, что следует сказать об уровне 1 сетевой модели OSI в рамках данной книги.

21.1.4. Краткое описание канального уровня сетевой модели OSI

На канальном уровне или уровне 2 сетевой модели OSI рассматриваются фреймы данных. Каждый фрейм данных содержит поле CRC (cyclic redundancy check - циклический избыточный код). В рамках протокола Ethernet (802.3) каждая сетевая карта идентифицируется с помощью уникального 48-битного MAC-адреса (media access control address - адрес доступа к среде).

На данном уровне мы можем обнаружить упоминания о таких устройствах, как мосты и коммутаторы. Мост является более сложным устройством, чем хаб, ведь он может принимать решения на основе MAC-адресов компьютеров из сети. Коммутатор также обрабатывает MAC-адреса.

В данной книге с целью более подробного исследования данного уровня сетевой модели мы будем обсуждать такие утилиты, как arp и ifconfig.

21.1.5. Краткое описание сетевого уровня сетевой модели OSI

На уровне 3 сетевой модели OSI рассматриваются пакеты IP. На данном уровне сетевой модели каждому устройству выдается уникальный 32-битный IP-адрес. Но протокол IP не является единственным протоколом данного уровня сетевой модели, ведь существуют и такие протоколы данного уровня, как ICMP, IGMP, IPv6 и другие. Полный список протоколов находится в файле /etc/protocols.

На данном уровне мы можем обнаружить упоминания о таких устройствах, как маршрутизаторы и коммутаторы уровня 3 сетевой модели, причем данные устройства обрабатывают (и имеют) IP-адреса.

В случае использования стека протоколов TCP/IP данный уровень обычно называют межсетевым уровнем (intenet layer).

21.1.6. Краткое описание транспортного уровня сетевой модели OSI

Мы будем обсуждать протоколы TCP и UDP в контексте уровня 4 сетевой модели OSI. В рамках сетевой модели DoD данный уровень называется транспортным уровнем.

21.1.7. Об уровнях 5, 6 и 7 сетевой модели OSI

Приложение, работающее со стеком протоколов TCP/IP, работает на уровнях 5, 6 и 7 сетевой модели OSI. Описание различий между этими уровнями сетевой модели выходит за рамки данного курса.

21.1.8. Уровни сетевой модели OSI в рамках данной книги

Описание наложения уровней сетевой модели OSI в рамках данной книги базируется на описании протоколов фрейма (protocols in frame) сниффера wireshark. При захвате пакета DHCP мы увидим следующую информацию в окне сниффера.

[Protocols in Frame: eth:ip:udp:bootp]

При захвате пакетов NTP (Network Time Protocol - сетевой протокол для синхронизации часов) мы получим следующую строку, на основе которой можно сделать вывод о том, что протокол NTP должен быть размещен рядом с протоколом BOOTP на приведенной ниже схеме.

[Protocols in Frame: eth:ip:udp:ntp]

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

[Protocols in Frame: eth:arp]

Ниже приведена схема распределения сетевых протоколов, составленная на основе анализа данных, предоставленных сниффером wireshark. Она содержит некоторые чрезвычайно часто используемые протоколы, которые будут обсуждаться в рамках данной книги. Разумеется, на данной схеме не представлены все существующие сетевые протоколы.

Схема распределения сетевых протоколов

21.2. Одноадресная, многоадресная, широковещательная и произвольная передача данных

21.2.1. Одноадресная передача данных

Одноадресная передача данных (unicast) осуществляется компьютером в том случае, если требуется передать данные только одному другому компьютеру (или узлу). Нередко компьютеры осуществляют большое количество одноадресных передач данных одновременно.

Одноадресная передача данных

21.2.2. Многоадресная передача данных

Многоадресная передача данных (multicast) предназначена для доставки одних и тех же данных группе компьютеров.

Многоадресная передача данных

В качестве примеров использования многоадресной передачи данных можно привести приложение Realpalyer (работающее с файлами с расширением .sdp) и протокол RIPv2 (протокол маршрутизации).

21.2.3. Широковещательная передача данных

Широковещательная передача данных (broadcast) предназначена для доставки данных всем устройствам в сети.

Широковещательная передача данных

В качестве примера использования данного типа передачи данных можно привести общедоступные трансляции BBC (British Broadcasting Corporation - Британская вещательная корпорация). Широковещательная передача данных чаще всего осуществляется в рамках локальной сети.

Следует помнить о том, что описание механизма широковещательной передачи данных на уровне 2 сетевой модели OSI кардинально отличается от описания этого же механизма на уровне 3 сетевой модели OSI. На уровне 2 благодаря широковещательной передаче данные доставляются всем сетевым картам в одном сегменте сети (который не распространяется за рамки маршрутизаторов), в то время, как на уровне 3 данные принимаются всеми узлами, расположенными в одной подсети.

21.2.4. Произвольная передача данных

Корневые серверы имен сети Интернет используют механизм произвольной передачи данных (anycast). В случае произвольной передачи данных данные доставляются наиболее близко расположенному (географически) узлу из четко установленной группы узлов.

Произвольная передача данных

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

21.3. Локальные, глобальные и региональные сети

Аббревиатура LAN используется для обозначения локальных сетей (local area networks) в противоположность аббревиатуре WAN, используемой для обозначения глобальных сетей (wide area networks). Разница между двумя упомянутыми типами сетей заключается в дистанции между подключенными к ним компьютерами, а не в их количестве. Некоторые протоколы, такие, как ATM разработаны специально для глобальных сетей, другие, такие, как Ethernet - для локальных сетей.

21.3.1. Локальная сеть

Аббревиатура LAN (Local Area Network) используется для обозначения локальных сетей. Сеть данного типа может быть развернута в рамках одной комнаты, одного этажа здания или даже одного большого здания. Мы говорим о локальной сети тогда, когда подключенные к сети компьютеры расположены близко друг к другу. Также вы можете считать локальной сетью сеть, в которой все компьютеры соединены друг с другом по протоколу Ethernet.

Локальная сеть может состоять из множества локальных сетей меньших размеров. На рисунке ниже изображены три малых локальных сети, которые образуют одну большую локальную сеть.

Локальная сеть

21.3.2. Региональная сеть

Обозначаемая с помощью аббревиатуры MAN (Metropolitan Area Network) региональная сеть является промежуточным вариантом между локальной и глобальной сетями и обычно охватывает несколько зданий в одном и том же кампусе или городе. Для организации региональной сети могут использоваться протоколы FDDI, Ethernet или другие протоколы.

21.3.3. Глобальная сеть

Обозначаемая с помощью аббревиатуры WAN (Wide Area Network) глобальная сеть является сетью с большими дистанциями между компьютерами (или узлами). Эти узлы обычно соединяются с помощью выделенных каналов для передачи данных. При организации глобальной сети для соединения компьютеров (и сетей) используется не протокол Ethernet, а такие протоколы, как FDDI, Frame Relay, ATM и X.25.

На рисунке ниже показана локальная сеть регионального офиса, которая соединена по протоколу Frame Relay с основным офисом организации.

Глобальная сеть

Акроним WAN также используется для обозначения таких сетей со значительной областью покрытия, как сеть Интернет.

Также широко известна технология WAN, разработанная компанией Cisco. Эта компания выпускает маршрутизаторы, которые объединяют множество локальных сетей по протоколу WAN.

21.3.4. Персональная сеть

Для обозначения вашей домашней сети используется аббревиатура PAN (Personal Area Network). Персональная беспроводная сеть обозначается с помощью аббревиатуры WPAN.

21.4. Интернет, интранет и экстранет

Интернет является глобальной сетью. Эта сеть объединяет множество сетей, использующих стек протоколов TCP/IP.

Основой сети Интернет являлась сеть Arpanet. Сеть Arpanet была создана в 1969 году, причем в этом году к сети были подключены всего четыре компьютера. В 1971 году посредством сети Arpanet было отправлено первое сообщение электронной почты. Трафик сообщений электронной почты составлял 75 процентов от всего трафика сети Arpanet в 1973 году. Кроме того, в 1973 году был представлен протокол FTP, а также осуществлено подключение к сети первых европейских стран (Норвегии и Великобритании). По информации на 2009 год возможностью доступа к сети Интернет обладают 25 процентов населения планеты Земля. По оценкам в 2011 году Английский язык использовался всего на четверти всех страниц сети Интернет.

Сеть интранет является частной сетью, использующей стек протоколов TCP/IP. Интранет использует те же протоколы, что и Интернет, но доступ к сети имеет лишь персонал одной организации.

Сеть экстранет аналогична сети интеранет за исключением того, что к сети также имеет доступ и персонал некоторых доверенных организаций (партнеры/клиенты/поставщики/...).

21.5. Стек протоколов TCP/IP

21.5.1. История разработки стека протоколов TCP/IP

Разработка стека протоколов TCP/IP была начата в шестидесятых годах прошлого века специалистами из министерства обороны США. В восьмидесятых годах многие коммерческие организации разрабатывали свои стеки протоколов: в компании IBM был создан стек протоколов SNA, в компании Novell разрабатывался стек протоколов IPX/SPX, специалисты компании Microsoft разработали стек протоколов NetBeui, а компания Apple внедрила стек протоколов Appletalk. Все технологии из восьмидесятых годов прекратили свое существование в девяностых годах. К концу девяностых годов практически все компьютеры мира могли работать со стеком протоколов TCP/IP.

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

21.5.2. Стандарты RFC (Request For Comment)

Протоколы, которые используются для реализации сети Интернет описаны в стандартах RFC. Стандарт RFC или Request For Comment (Рабочие предложения) описывает низкоуровневые принципы работы всех протоколов, используемых для реализации сети Интернет. Организация IETF (Internet Engineering Task Force - Инженерный совет Интернета) публикует информацию о данных протоколах начиная с 1986 года.

Официальный вебсайт стандартов RFC находится по адресу http://www.rfc-editor.org. Данный вебсайт содержит все стандартны RFC в текстовом формате, к примеру, стандарт RFC 2132 (описывающий принцип работы протоколов dhcp и bootp) доступен по адресу http://www.rfc-editor.org/rfc/rfc2132.txt.

21.5.3. Многообразие протоколов

Для установки надежных соединений используется протокол TCP, при этом протокол UDP не предусматривает возможности установки соединений, но работает гораздо быстрее. Сообщения об ошибках, доставляемые по протоколу ICMP, используются утилитой ping, а управление группами многоадресной передачи осуществляется с помощью протокола IGMP.

Все эти протоколы можно идентифицировать с помощью значения поля протокола заголовка IP, причем список всех допустимых значений находится в файле /etc/protocols.

paul@debian5:~$ grep tcp /etc/protocols 
tcp     6       TCP            # transmission control protocol

21.5.3. Многообразие сетевых служб

Сетевые карты идентифицируются уникальным образом с помощью своих MAC-адресов, узлы - с помощью IP-адресов, а приложения - с помощью номеров портов.

Стандартные протоколы уровня приложений, такие, как smtp, http, ssh, telnet и ftp используют фиксированные номера портов. Список стандартных номеров портов для различных протоколов приведен в файле /etc/services.

paul@ubu1010:~$ grep ssh /etc/services 
ssh             22/tcp                 # SSH Remote Login Protocol
ssh             22/udp

Предыдущий раздел: Оглавление Следующий раздел:
Глава 20. Управление пакетами программного обеспечения   Глава 22. Настройка сетевых интерфейсов