Файл: Учебнометодический комплекс по учебной дисциплине компьютерные системы и сети для специальности 1 40 01 01 Программное обеспечение информационных технологий.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.01.2024

Просмотров: 1061

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Ethernet. Fast Ethernet, Token Ring, FDDI и глобальные сети Frame Relay, X.25, ISDN, ATM. Каждая из этих технологий достаточна, чтобы организовать взаимодействие всех узлов в своей подсети, но не обеспечивает организацию связи между произвольно выбранными узлами, принадлежащими разным подсетям. Для организации взаимодействия требуются дополнительные средства, которые и предоставляет сетевой уровень. Сетевой уровень обеспечивает работу всех подсетей в процессе передачи пакетов сообщений по составной сети. Для перемещения данных в пределах подсетей сетевой уровень обращается к используемым в этих подсетях технологиям. Для сетевого уровня предусматривается собственная система адресации, не зависящая от способов адресации узлов в отдельных подсетях, которая позволяет на сетевом уровне универсальным и однозначным способом идентифицировать любой узел объединенной или составной сети. Естественным способом формирования сетевого адреса является уникальная нумерация всех подсетей составной сети и нумерация всех узлов в пределах каждой подсети. Таким образом, сетевой адрес включает в себя номера сети (подсети) и узла. В качестве номера узла может быть задано некоторое число, никак не связанное с локальной технологией, которое однозначно идентифицирует узел в пределах данной подсети. Такой подход более универсален и характерен для стека протоколов TCP/IP: каждый узел составной сети имеет наряду с локальным адресом еще один - универсальный сетевой. Данные, которые поступают на сетевой уровень и которые необходимо передать через составную сеть, снабжаются заголовком сетевого уровня. Данные вместе с заголовком образуют пакет. Заголовок пакета сетевого уровня имеет унифицированный формат, не зависящий от форматов кадров канального уровня тех сетей, которые могут входить в объединенную сеть, он, наряду с другой служебной информацией, включает данные о номере сети,

60 которой предназначается этот пакет. Сетевой уровень определяет маршрут и перемещает пакет между подсетями.
При передаче из одной подсети в другую пакет сетевого уровня, инкапсулированный в прибывший канальный кадр первой подсети, освобождается от заголовков этого кадра и окружается заголовками кадра канального уровня следующей подсети. Информацией, на основе которой делается эта замена, являются служебные поля пакета сетевого уровня. В поле адреса назначения нового кадра указывается локальный адрес следующего маршрутизатора. При этом если в подсети данные доставляются средствами канального и физического уровней, то пакеты сетевого уровня упаковываются в кадры канального. Если же в какой-либо подсети для транспортировки сообщений используется технология, основанная на стеках с большим числом уровней, то пакеты сетевого уровня упаковываются в блоки передаваемых данных самого высокого уровня подсети.
Кроме номера сети заголовок сетевого уровня должен содержать и другую информацию, необходимую для успешного перехода пакета из одной сети в другую. К такой информации может относиться, например, номер фрагмента пакета, необходимый для успешного проведения операций сборки- разборки фрагментов при соединении сетей с разными максимальными размерами пакетов, время жизни пакета, указывающее, как долго он перемещается по сети, качество услуги - критерий выбора маршрута при межсетевых передачах.
Организация межсетевого взаимодействия средствами сетевого уровня эталонной модели ВОС, в основе которого лежит организация совместной или единой транспортной службы для всей составной или единой транспортной сети, служит основой для интеграции различных сетевых технологий в современных цифровых сетях.
3.2. Сети TCP/IP
В стандартной модели взаимодействия открытых систем в функции сетевого уровня входит решение следующих задач:
• передача пакетов между конечными узлами в составных сетях;
• выбор маршрута передачи пакетов, наилучшего по некоторому критерию;
• согласование разных протоколов канального уровня, использующихся в отдельных подсетях одной составной сети.
Сетевой уровень (протокол IP) мультиплексирует протокольные блоки транспортного уровня в IPпотоки; при этом сегменты транспортного уровня


61 могут фрагментироваться (если они превышают максимально допустимый размер, определяемый канальным протоколом). Протокольные блоки IP обычно называют пакетами.
После вычисления маршрута передачи пакета, посредством протокола
ARP определяется физический адрес следующего на маршруте хоста и пакет направляется на физический уровень сети. Иногда бывает необходимо решить обратную задачу, то есть по заданному физическому адресу определить логический сетевой адрес устройства. В частности, эта проблема актуальна для процедуры загрузки бездисковых станций, когда такая станция рассылает в широковещательном режиме запрос, содержащий ее физический адрес и
«просьбу» сообщить ей логический сетевой адрес. Этот запрос обрабатывается сервером RARP, который и передает пославшей его станции требуемую информацию.
Физический уровень TCP/IP сети может использовать любую технологию канального уровня – Ethernet, Token Ring, ATM, РРР и т.д. Но для обеспечения прозрачности физического уровня необходимо, чтобы на сетевом уровне были предусмотрены процедуры дефрагментации пакетов до размера, разрешенного соответствующим протоколом канального уровня. Обратная процедура, т.е. объединение пакетов малых размеров до величины, приемлемой на канальном уровне, не предусматривается.
Рисунок 3.1. – Инкапсуляция протокольных блоков в TCP/IP стеке
Протокольные блоки вышележащих уровней инкапсулируются в протокольные блоки нижележащих уровней так, как это показано на слайде.
При этом, блок каждого уровня содержит специфическую информацию, позволяющую точно адресовать его. Так, сегмент TCP (UDP
Основной протокол стека TCP/IP, - Internet Protocol (IP), - по своим

62 функциям соответствует сетевому уровню модели взаимодействия открытых систем (OSI). Механизмы протокола, описанные в документе RFC 791, обеспечивают ненадежную доставку пакетов данных между сетевыми устройствами (устройствами, имеющими сетевой адрес) в режиме без предварительного установления соединения (дейтограммный сервис). Этот тип сервиса часто называют сервисом «настолько хорошо, как получиться»
(best effort service), что отражает отсутствие в протоколе процедур контроля доставки пакетов. Решение задачи надежности доставки возлагается на протоколы верхних уровней, главным образом на TCP. Основными функциями протокола IP являются:
• формирование пакетов из сегментов транспортного уровня, с предварительной фрагментацией (если необходимо) последних;
• обеспечение логической адресации сетевых устройств;
• поддержка процесса маршрутизации;
• продвижение пакетов от одного узла коммутации до другого.
Рисунок 3.2. – Формат заголовка IP-пакета
Версия (Version) – поле определяет номер версии протокола. В настоящее время используется версия 4 и ведется активная подготовка к переходу на версию 6. Версия 5 описывает протокол ST2, разработанный для передачи данных потоковых приложений реального времени. Поле проверяется перед обработкой пакета и пакеты несогласующейся с протокольным стеком приемника версией, отбрасываются. Одновременно, включение версии в каждую дейтограмму позволяет использовать разные, но согласующиеся, версии на разных хостах.
Длина заголовка (Internet Header Length, IHL) - Поле определяет длину заголовка, измеренную в 32-битных словах. Корректный заголовок имеет


63 длину не менее 5 слов. Длина поля опций (в 32-разрядных словах ) может быть определена как значение этого поля минус 5.
Тип сервиса (Type of service, ToS) – определяет тип требуемого обслуживания пакета. Первые три бита задают уровень приоритета обслуживания (0-7), 3-5 биты определяют требования к задержке (какая получится, низкая), уровень пропускной способности (обычный, высокий) и надежность доставки (какая получится, высокая). Практически, большая часть маршрутизаторов игнорирует данные этого поля. Однако в настоящее время в связи с разработкой механизмов обеспечения в IP-сетях служб с гаранированным качеством обслуживания делаются попытки использования значений этого поля.
Общая длина (Total length) - поле содержит общую длину пакета, размер которого не может превышать 65535 байт. Практически пакеты такой длины никогда не используются, поскольку технологии канального уровня накладывают свои ограничения. Так, Ethernet не допускает кадров с длиной более 1500 байт, FDDI – 4096 байт и т.д. В этой связи, протокол IP выполняет фрагментацию сегментов данных, поступающих к нему от TCP и UDP протоколов. Следует отметить, что маршрутизатор не выполняет сборку пакетов, даже если следующая сеть имеет параметр MTU (Maximum
Transmission Unit), допускающий более крупные пакеты. Сборка пакетов в исходный сегмент производится на месте назначения.
Поля «Идентификатор», «Флаги» и «Смещение фрагмента» управляют процессом сборки сегмента.
Время жизни (Time to live, TTL) - поле, определяющее максимальное время, которое пакет может существовать в сети. Значение этого поля (в секундах) устанавливается при отправке пакета и уменьшается на единицу по мере прохождения им маршрутизаторов. При достижении нулевого значения этого поля пакет уничтожается. Максимальное значение поля – 255 секунд.
Этот механизм помогает избежать перегрузок сети при возникновении ошибок в таблицах маршруизации, приводящих к образованию петель.

64
Протокол (Protocol) – поле указывает модулю какого протокола (TCP,
UDP, ICMP) передать полученный IP-пакет. На рисунке 3.3. приведены значения этого поля для некоторых из протоколов. В дальнейшем нас будут интересовать TCP, UDP, ICMP.
Рисунок 3.3. – Поле «Протокол» заголовка IP-пакета
Контрольная сумма (Header checksum) – поле содержит значение контрольной суммы, рассчитанной только по заголовку. Поскольку значения некоторых полей заголовка изменяются по мере прохождения пакета по маршруту (поле TTL, например), то значения рассматриваемого поля проверяются и пересчитываются на каждом маршрутизаторе. Этот механизм является единственным средством обеспечения достоверности передачи, содержащимся в протоколе IP.
Адрес отправителя (Source IP address) и Адрес получателя (Destination
IP address) – поля одинаковой длины (32 бита), содержащие соответствующие адреса. Правила адресации в IP-сетях будут рассмотрены далее.
Опции (Options) – необязательное поле, используемое при отладке сетей и для запроса определенных специфических процедур обработки. В настоящее время используется крайне редко. В связи с разработкой новых протоколов, обеспечивающих большую гибкость в обработке IP-трафика, возможность использования этих полей вновь стала предметом обсуждения комитетов по стандартизации.


65
Для идентификации каждого компьютера в IP-сети необходима система их адресации. При этом учитывается, что сетевые устройства (компьютер, маршрутизатор и т.д.) могут иметь несколько сетевых интерфейсов, и каждый из них должен иметь уникальный адрес.
Рисунок 3.4. – Адресация в сетях IP
IP -адрес строится по двухуровневой иерархии, т.е. он объединяет в себе адрес сети и адрес хоста. Разделение сетевого адреса на 2 части имеет большой практический смысл, ибо позволяет магистральным маршрутизаторам существенно сократить размер своих таблиц коммутации, формируя их на основании только сетевой части адреса назначения. Для удовлетворения потребностей адресации сетей различного масштаба были введены несколько классов сетей, отличающиеся размером полей, отводимых для указания номера сети и номера хоста. При этом, размер поля полного адреса всегда равен 32 битам.
IP-адрес обычно записывается в форме 4-х трехразрядных десятичных чисел, разделенных точкой. Каждое из этих десятичных чисел соответствует одному байту двоичного представления адреса. Так, например, адрес 10000000 10000111 01000100 00000101 в десятичном представлении имеет вид
128.135.68.5. В этом случае, т.к. первые два бита адреса – 10, то это адрес хоста, принадлежащего сети класса B и, следовательно, левые 16 бит являются адресом сети, а правые16 бит – адресом хоста.
Некоторые адреса являются зарезервированными и не могут присваиваться хостам. Так, адрес 127.х.х.х (х – означает любое число, обычно

66 0) зарезервирован для обратной связи, используемой при тестировании взаимодействия процессов на одной сетевой станции. Когда приложение использует этот адрес в качестве адреса назначения, стек TCP/IP данного хоста возвращает данные приложению, ничего не передавая на физический интерфейс. Поэтому адреса, начинающиеся на 127, запрещается присваивать сетевым устройствам. Другим зарезервированным адресом является, так называемый, широковещательный адрес, содержащий 1, или 0, во всех своих битах. Пакет с адресом назначения 255.255.255.255 (1.1.1.1) будет доставлен всем устройствам сети, к которой принадлежит узел-отправитель, но маршрутизаторы такие пакеты не обрабатывают. Существует и направленное широковещание – способ адресации, при котором один пакет, отосланный в определенную сеть, будет доставлен всем ее хостам. Такой пакет должен содержать корректный адрес сети и иметь все биты адреса хоста равными 1.
Каждый хост (станция, маршрутизатор) ведет свои маршрутные таблицы, которые и определяют порядок обработки IP-пакетов. Передача пакетов между конечными станциями, требует взаимодействия IP-модулей программного обеспечения этих станций и маршрутизаторов, связывающих сети, в которых они (станции) находятся. Рассмотрим, как обрабатывается пакет на этих сетевых устройствах.
Если в таблице маршрутизации станции-отправителя указано, что станция назначения является непосредственно присоединенной к той же ЛВС, то из таблицы физических адресов, которая ведется на каждой сетевой станции, извлекается физический адрес узла назначения, пакет
инкансулируется (упаковываются данные в один компонент) в кадр канального протокола и передается к станции назначения. Если таблица маршрутизации станции-отправителя не содержит искомый сетевой адрес, то пакет отправляется по адресу маршрутизатора, который был указан при конфигурировании станции в качестве шлюза по умолчанию (default router,
default gateway). Этот шлюз обязательно имеет физический интерфейс в той же ЛВС, что станция-отправитель. При получении пакета маршрутизатор проверяет, не совпадает ли адрес назначения этого пакета с его собственным
IP-адресом. Если это так, то пакет передается модулю протокола, указанного в поле «Протокол» заголовка пакета. В противном случае, маршрутизатор посредством своей таблицы определяет адрес следующего хоста, которому он должен передать этот пакет, и свой интерфейс, на который следует его направить.
Каждая строка в таблице маршрутизации содержит следующую информацию: IP-адрес сети (узла) назначения, IP-адрес следующего маршрутизатора, способного обеспечить передачу пакета в эту сеть (этому


67 узлу), имя выходного интерфейса и некоторые флаги. Флаги содержат уточняющую информацию о каждой записи в таблице.
Два протокола транспортного уровня, UDP и TCP, обеспечивают IP-сетям механизмы взаимодействия прикладных процессов, выполняющихся на конечных станциях. Протокол IP «умеет» доставлять пакеты данных взаимодействующим хостам, но не «знает» как обеспечить взаимосвязь приложений и не имеет почти никаких средств обеспечения надежности доставки сообщений - он проверяет лишь целостность заголовка пакета.
Протокол UDP (User Datagram Protocol) описан в документе RFC 768.
Он ориентирован на сервис без установления соединений и не обеспечивает надежную передачу сегментов между сетевыми приложениями. Это очень простой протокол, который развивает возможности IP-протокола лишь в части демультиплексирования потока пакетов по признаку принадлежности их определенному приложению и контроля целостности данных.
Взаимодействие между прикладными процессами UDP реализует посредством механизма протокольных портов. Протокольный порт можно определить как абстрактную точку присутствия конкретной прикладной программы, выполняющейся на конкретном хосте. Когда рабочая станция получает пакет, в котором указан ее IP-адрес, она может направить его определенной программе, используя уникальный номер порта, назначенный этой программе в ходе выполнения процедуры установления соединения. Таким образом, в стеке протоколов TCP/IP порт является механизмом поддержания рабочей станцией одновременного выполнения нескольких прикладных процессов.
Рисунок 3.5. – Протокол UDP
Каждый порт (прикладной процесс) идентифицируется целым положительным числом (номером порта). Номера портов приложения,

68 выполняющегося на разных станциях, указываются в заголовке UDP- сегмента. Эта информация дополняется на сетевом уровне IP-адресами взаимодействующих станций. Благодаря этому, создается видимость непосредственного обмена данными между процессами.
Сегмент данных протокола UDP (иногда его называют пользовательской дейтограммой) состоит из двух частей: заголовка и области данных (рис. 3.5).
Заголовок имеет четыре 16-битных поля, определяющих порт отправителя, порт получателя, длину сегмента и контрольную сумму.
Поле «Длина UDP-сегмента» содержит количество байтов в дейтограмме с учетом длины ее заголовка.
Вычисление контрольной суммы дейтограммы UDP является опциональным. При работе в надежных локальных сетях она не вычисляется и тогда это поле заполняется нулями. Процедура подсчета контрольной суммы содержит две особенности. Первая состоит в дополнении дейтограммы нулевыми битами до размера, кратного 16. Это делается только на время вычисления контрольной суммы, и незначащие нули не передаются. Второй особенностью является дополнение, на период подсчета контрольной суммы, заголовка сегмента псевдозаголовком
Псевдозаголовок включается перед заголовком дейтограммы; он имеет длину 12 байтов; поле «Протокол» содержит тип протокола сетевого уровня
(IP, ICMP); его значение, как и значения полей с IP-адресами, должны быть извлечены из заголовка IP пакета. Поле «Контрольная сумма» на время ее вычисления заполняется нулями.
Такое дополнение дейтограммы выполняется как на передающей, так и на приемной станции и оно служит гарантией, что если контрольные суммы совпали, то дейтограмма достигла нужной станции и нужного порта. Еще раз подчеркну, что псевдозаголовок и дополнение нулями не передаются.
Если контрольные сумма, вычисленная приемником, не совпала с контрольной суммой, указанной в дейтограмме, то UDP-сегмент уничтожается и никаких уведомлений передающей станции об этом не передается.
Рассмотрим дополнительные протоколы
1   2   3   4   5   6   7   8   9   10   ...   13