Главная страница / 36. Принципы построения сетей. Сетевое о...: 36.3. Сетевые протоколы

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

Навигация по разделу:

36.3.1. Модель OSI (взаимодействие открытых систем)
36.3.2. Семейство TCP/IP
36.3.3. Ethernet

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

↑ Наверх
Сетевая модель OSI (базовая эталонная модель взаимодействия открытых систем – англ. Open Systems Interconnection basic reference model) – абстрактная модель для сетевых коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждый уровень обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работа сетевого оборудования и программного обеспечения становится гораздо проще и прозрачнее.

В 1982 году Международная организация по стандартизации (ISO) начала новый проект в области сетевых технологий, названный взаимодействием открытых систем, Open Systems Interconnection, или OSI.

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

Модель OSI состоит из семи уровней, расположенных вертикально друг над другом (рис. 36.9).

Каждый уровень может взаимодействовать только со своими соседями и выполнять отведенные только ему функции.

img369

Рис. 36.9. Модель OSI

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

Они определяют характер аппаратного взаимодействия компонентов сети (аппаратные протоколы) и характер взаимодействия программ и данных (программные протоколы).

Функции поддержки протоколов исполняют аппаратные устройства (интерфейсы) и программные средства (программы поддержки протоколов).

Программы, выполняющие поддержку протоколов, также называют протоколами.

Таблица 36.1. Протоколы модели OSI

Уровень OSI Протоколы
Прикладной HTTP, Telnet, DNS, DHCP, SMTP, SNMP, FTP, NNTP, LDAP, IMAP, POP3
Представления SNMP, Telnet
Сеансовый Named Pipes, NetBIOS, Printer Access Protocol
Транспортный TCP, UDP, SOCKS, NetBEUI
Сетевой IP, IPv6, NetBEUI, IPSec
Канальный Ethernet, PPP, ARP
Физический xDSL, Ethernet (10BASE-T, 10BASE2, 10BASE5), Fast Ethernet (100BASE-T, 100BASE-TX, 100BASE-T4, 100BASE-FX), Gigabit Ethernet (1000BASE-T, 1000BASE-TX)

Прикладной уровень (Application layer)

Верхний (7-й) уровень модели, обеспечивает взаимодействие сети и пользователя. Уровень разрешает приложениям пользователя иметь доступ к сетевым службам, таким как обработчик запросов к базам данных, доступ к файлам, пересылке электронной почты.

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

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

Этот уровень (6-й) отвечает за преобразование протоколов и кодирование/ декодирование данных.

Запросы приложений, полученные с уровня приложений, он преобразует в формат для передачи по сети, а полученные из сети данные преобразует в формат, понятный приложениям.

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

Сеансовый уровень (Session layer)

5-й уровень модели отвечает за поддержание сеанса связи, позволяя приложениям взаимодействовать длительное время.

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

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

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

4-й уровень модели предназначен для доставки данных без ошибок, потерь и дублирования в той последовательности, как они были переданы. При этом неважно, какие данные передаются, откуда и куда, т. е. он предоставляет сам механизм передачи. Блоки данных он разделяет на фрагменты, размер которых зависит от протокола, короткие объединяет в один, а длинные разбивает. Протоколы этого уровня предназначены для взаимодействия типа точка-точка. Пример: TCP, UDP.

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

Сетевой уровень (Network layer)

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

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

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

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

Канальный уровень (Data Link layer)

Этот уровень (2-й) предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля за ошибками, которые могут возникнуть.

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

Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием. Спецификация IEEE 802 разделяет этот уровень на два подуровня: MAC (Media Access Control) регулирует доступ к разделяемой физической среде, LLC (Logical Link Control) обеспечивает обслуживание сетевого уровня. На этом уровне работают коммутаторы, мосты.

В программировании этот уровень представляет драйвер сетевой платы, в операционных системах имеется программный интерфейс взаимодействия канального и сетевого уровней, это не новый уровень, а просто реализация модели для конкретной операционной системы.

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

Самый нижний уровень модели (1-й) предназначен непосредственно для передачи потока данных. Осуществляет передачу электрических или оптических сигналов в кабель или в радиоэфир и соответственно их прием и преобразование в биты данных в соответствии с методами кодирования цифровых сигналов.

Другими словами, осуществляет интерфейс между сетевым носителем и сетевым устройством. На этом уровне работают концентраторы (хабы), повторители (ретрансляторы) сигнала и медиаконверторы. Функции физического уровня реализуются на всех устройствах, подключенных к сети.

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

Свойства среды сети передачи данных также определяются на физическом уровне:

  • оптоволокно;
  • витая пара;
  • коаксиальный кабель;
  • спутниковый канал передач данных;
    и т. п.

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

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

В настоящее время основным используемым семейством протоколов является TCP/IP.

Таблица 36.2. Вид передаваемой информации в модели OSI

Передача Уровень
Данные Прикладной (доступ к сетевым службам)
Данные Представления (представление и кодирование данных)
Данные Сеансовый (управление сеансом связи)
Блоки Транспортный (безопасное и надежное соединение точка-точка)
Пакеты Сетевой (определение пути и IP – логическая адресация)
Кадры Канальный (MAC – физическая адресация)
Биты Физический (кабель, сигналы, бинарная передача)

36.3.2. Семейство TCP/IP

↑ Наверх

Семейство TCP/IP имеет два транспортных протокола: TCP, полностью соответствующий OSI, обеспечивающий проверку получения данных, и UDP, отвечающий транспортному уровню только наличием порта, обеспечивающий обмен датаграммами между приложениями, не гарантирующий получения данных.

Сравним TCP/IP и OSI.

Таблица 36.3. Соотношение уровней TCP/IP и OSI

Уровни TCP/IP
  Уровни OSI
Приложений <---->
Приложений
<----> Презентаций (представлений)
<----> Сессий (сеансовый)
Транспортный <----> Транспортный
Интернет <----> Сетевой
Канальный <----> Канальный
Физический <----> Физический

36.3.3. Ethernet

↑ Наверх

Протокол Ethernet был установлен в 1970 году тремя фирмами: DEC, Intel, Xerox и назывался DIX Ethernet. В середине 1980-x стандарт получил название Ethernet 800.3 и 800.2.

Эти стандарты устанавливают стандарты для физического и канального уровней модели OSI.

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

Передача данных в сети Ethernet происходит фреймами (кадрами), которые состоят из полей.

Существует три главных типа взаимодействий в сети (рис. 36.10):

  • один-с-одним (unicast) – фрейм посылается на конкретный адрес в сети;
  • один-со-всеми (broadcast) – фрейм посылается на все адреса сети;
  • один-со-многими (multicast) – фрейм посылается на адреса некоторой группы.

Каждый уровень может взаимодействовать только со своими соседями и выполнять отведенные только ему функции.

img3610

Рис. 36.10. Типы взаимодействия

Для того чтобы послать данные по назначению (по IP-адресу), компьютер сети Ethernet должен знать физический (MAC) адрес получателя. Служба ARP обеспечивает такую привязку. Для этого требуется надежное соединение, поэтому привязка происходит во время TCP-ессии. Если компьютеры находятся в различных сетях, требуется указать шлюз по умолчанию (Default Gateway, DGW).

ARP (англ. Address Resolution Protocol – протокол разрешения адресов) — сетевой протокол канального уровня, предназначенный для преобразования IP-адресов (адресов сетевого уровня) в MAC-адреса (адреса канального уровня) в сетях TCP/IP.

Основные команды, которые могут понадобиться при проверке конфигурации сети:

  • ipconfig;
  • ping;
  • tracert;
  • arp.

Справку по команде можно получить с помощью параметра /h.