Материал: задание_os7

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

7. Управление внешними коммуникациями в ос

7.1. Протоколы тср/ip

7.1.1. Определение и достоинства протокола tcp/ip

Коммуникационный протокол – это набор правил и форматов данных, необходимых для установления связи и передачи данных.

Достоинства TCP/IP

  1. Протоколы основаны на открытых и доступных стандартах, не зависящих от конкретного оборудования.

  2. Протоколы не зависят от физического уровня, что позволяет использовать их в различных сетях: Ethernet, X.25 и других.

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

  4. Протоколы поддерживают стандартные протоколы высокого уровня для передачи файлов, электронной почты, терминального доступа.

7.1.2. Архитектура tcp/ip

Архитектура протокола основана на представлении, что коммуникационная инфраструктура включает три объекта:

  1. Процессы;

  1. Хосты;

  1. Сети.

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

Выполнение процессов происходит на хостах.

Передача информации проходит через сети, к которым подключены хосты.

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

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

На этих концепциях сформированы четыре уровня архитектуры:

  1. Уровень приложений/процессов;

  1. Транспортный уровень (хост – хост);

  1. Интернет-уровень;

  1. Уровень сетевого интерфейса.

Уровни сетевого интерфейса составляют протоколы доступа к физической сети. К этому уровню относятся протоколы Ethernet, IEEE802.x, PPP (Point-to-Point Protocol)

Уровень Интернет составляют протоколы, обеспечивающие передачу данных между хостами, подключенными к различным сетям. Основной функцией этих протоколов является выбор маршрута – маршрутизация. Сетевые элементы, осуществляющие передачу из одной сети в другую, называются маршрутизаторами. Иногда их называют шлюзами. Основной представитель уровня Интернет – протокол IP (Internet Protocol).

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

К транспортному уровню относятся протоколы TCP (Transmission Control Protocol) и UDP (User Datagram Protocol).

Протоколы уровня приложений обеспечивают функционирование прикладных услуг, таких как:

  1. Терминальный доступ (Telnet);

  1. Передача файлов (FTP);

  1. Передача почты (SMTP);

  1. Сетевая файловая система (NFS);

  1. Управление сетью (SNMP).

Передача файлов

Электронная почта

Эмуляция терминала

Сетевая файловая система

Менеджмент сети

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

Процессов

FTP

SMTP

Telnet

NFS

SNMP

Transmission Control Protocol TCP

User Datagram protocol UDP

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

Address Resolution

Internet Protocol IP

Internet Control Message protocol ICMP

Уровень Интернет

Ethernet, serial

Уровень сетевого интерфейса

Витая пара, коаксиальный кабель, волоконно-оптический кабель, спутниковый канал

Архитектура протоколов TCP/IP

Процесс-клиент

Базовая коммуникационная схема TCP/IP

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

Существует несколько уровней адресации:

  1. На сетевом уровне (уровень 1) имеется МАС-адрес (media access control);

  1. На IP-уровне имеется IP- или Интернет-адрес, который адресует хост;

  1. Хост, получив данные, доставляет их процессу. Адрес процесса называется номером порта.

Таким образом, чтобы однозначно адресовать процесс необходимо указать:

  1. Номер порта;

  1. Тип протокола транспортного уровня;

  1. Интернет-адрес.

МАС-адрес используется шлюзами в автоматическом режиме.

7.1.3. Соответствие между моделями tcp/ip и iso osi

TCP/IP

ISO OSI

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

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

Уровень представления

Уровень сеанса

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

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

Уровень Интернет

Сетевой уровень

Уровень сетевого интерфейса

Уровень канала

Физический уровень

7.2. Протокол ip

7.2.1. Структура заголовка ip-пакета

Протокол IP обеспечивает доставку фрагмента данных от источника к получателю.

Протокол IP выполняет три основных функции:

  1. Адресацию;

  1. Фрагментацию;

  1. Маршрутизацию.

Данные, формат которых понятен протоколу IP, называются дейтаграммой.

Дейтаграмма состоит из заголовка и данных, полученных от протоколов верхних уровней.

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

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

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

0 - 3

4 - 7

8 - 11

12 - 15

16 - 19

20 - 23

24 - 27

28 – 31

Version

IHL

Type of service

Total length

Identification

Flags

Fragment Offset

TTL

Protocol

Header Checksum

Source address

Destination address

Options

Padding

Data

Структура заголовка IP-датаграммы

Заголовок занимает минимум 20 байтов и содержит следующие поля:

Version – определяет версию протокола. Обычно, 4.

IHL – internet header length – длина заголовка в 32-битных словах. При 20 байтах IHL = 5.

Type of service - битовое поле:

  1. 0 – 2 - Precedence – относительная значимость дейтаграммы. Большее значение соответствует большему приоритету;

  1. 3 – Delay – 0 – нормальная задержка при обработке, 1 – низкое значение задержки;

  1. 4 – Throughput. Скорость передачи. 0 – нормальная, 1 – высокая скорость;

  1. 5 – Reliability. Надежность. 0 – нормальная, 1 – высокая надежность;

  1. 6 – 7 – резерв.

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

Total length – размер дейтаграммы. Размер ограничен 65535 байтами.

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

Flags – битовое поле, тоже используется при фрагментации:

  1. 0 – резерв;

  1. 1 – DF – 0 – можно фрагментировать, 1 – нельзя фрагментировать;

  1. 2 – MF – 0 – последний фрагмент, 1 – не последний фрагмент.

Fragment offset – номер фрагмента.

Объединяются дейтаграммы с одинаковыми полями Identification, Source address, Destination address, protocol.

TTL – time to live – время жизни дейтаграммы. Если 0, то дейтаграмма уничтожается. Каждый модуль протокола уменьшает значение этого поля на число секунд, затраченных на обработку. Цель этого поля – уничтожать «заблудившиеся» дейтаграммы.

Protocol – номер протокола верхнего уровня. Для TCP – 6, для UDP – 17.

Header checksum – контрольная сумма.

Source address и destination address – IP-адреса источника и получателя.

Options – содержит дополнительные параметры протокола.

Padding – выравнивает заголовок до границы 32-битного слова.

7.2.2. IP-адресация

Каждый IP-адрес состоит из двух частей: адреса сети и адреса хоста в этой сети. Существует 5 форматов адреса, отличающихся по числу битов, отводимых для адреса сети и хоста. Эти форматы определяют классы адресов отA до D.

Класс определяют первые три бита.

0

7 - сеть

24 – хост

Класс A

1

0

14 – сеть

16 - хост

Класс B

1

1

0

21 – сеть

8 – хост

Класс С

1

1

1

0

28 – групповой адрес

Класс D

1

1

1

1

0

Зарезервировано

Класс Е

Уникальность адресов обеспечивается их централизованным назначением.

В классе А число сетей ограничено126 (0 и 127 – зарезервированы). Это устаревшая структура.

В классе В число сетей 16 382. Адреса сетей такого класса также сейчас не предоставляются.

В классе С число сетей равно 2 097 150. При этом число хостов может быть не более 254. Самый распространенный в настоящее время класс сетей. Но и он истощается.

Поэтому введена дополнительная иерархия – адрес хоста может быть разделен на адрес подсети и адрес хоста в подсети.

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

Посмотрим, как используется маска подсети.

Предположим, что есть сеть класса В с адресом 190.50.0.0 и маска подсети равна 255.255.255.0.

190.50.0.0

190.50.1.4

Н1

190.50.1.1

Н2

190.50.1.2

Н3

190.50.2.1

Н4

190.50.2.2

190.50.2.3

Пусть, например, хосту Н1 надо обратиться к хосту Н3. Н1 берет адрес Н3 190.50.2.1 и накладывает на него маску подсети 255.255.255.0, получая результат 190.50.2.0. Поскольку Н1 находится в подсети 190.50.1.0, то Н3 напрямую недоступен. Сверившись со своей маршрутной таблицей Н1 обнаруживает, что следующий адрес на пути к Н3 – это R1.

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

R1 доставляет дейтаграмму хосту Н3, получив предварительно его физический адрес по IP-адресу.

Пусть теперь хост Е из внешней сети хочет отправить дейтаграмму Н3. Поскольку 190.50.2.1 – адрес класса В, то маршрутизатору сети, где находится этот хост Е, известно, что Н3 находится в сети 190.50.0.0. Т. к. шлюзом в эту сеть является R2, то дейтаграмма от Е в конце концов дойдет до R2.

R2 получив дейтаграмму, накладывает маску, выделяет адрес подсети 190.50.2.0, определяет R1 в качестве следующего узла на пути к Н3 и посылает R1 дейтаграмму, которую R1 отправляет Н3.

Источник: https://studfile.net/preview/16676194/