Тема 3 протоколы сетевого и транспортного уровней tcp/ip
Структура стека 1 TCP/IP. В настоящее время TCP/IP – наиболее популярное средство организации составных сетей. Он был разработан до появления модели взаимодействия открытых систем OSI, но также имеет многоуровневую структуру, соответствие уровней TCP/IP уровням модели OSI показано в табл. 1.
Уровни TCP/IP
Уровень сетевых интерфейсов
Протоколы преобразования адресов
Каждый из уровней несет на себе нагрузку по решению основной задачи – организации надежной и производительной работы составной части, части которой построены на основе разных сетевых технологий.
Прикладной уровень соответствует трем верхним уровням модели OSI и объединяет службы, предоставляемые системой пользовательским приложениям, например, протоколы копирования файлов (FTP), протоколы передачи электронной почты (SMTP), протокол передачи гипертекстовой информации (HTTP) и пр. Протоколы прикладного уровня устанавливаются на конечных узлах составной сети – хостах. Прикладной уровень реализуется программными системами, построенными в архитектуре клиент-сервер. Они отрабатывают логику приложений и не интересуются способами передачи данных по сети, обращаясь к протоколам нижних уровней как к инструментам.
Транспортный уровень (называют также основным) может предоставить вышележащему уровню два типа сервиса:
— гарантированная доставка – протокол управления передачей TCP;
— доставка по «возможности» — протокол пользовательский дейтаграмм UDP.
Для обеспечения надежной доставки данных TCP предусматривает установку логического соединения, что позволяет:
— подтверждать их прием квитанциями;
— в случае потери организовывать повторные передачи пакетов;
— распознавать и уничтожать дубликаты;
— доставлять прикладному уровню пакеты в том порядке, в котором они были отправлены.
В итоге протокол TCP без ошибок доставляет сформированный на одном компьютере поток байтов в любой другой компьютер, входящий в составную сеть. Эти байты делятся на части – сегменты, которые передаются нижележащему уровню межсетевого взаимодействия. После того, как сегменты доставлены средствами межсетевого взаимодействия в пункт назначения, протокол TCP снова собирает их в непрерывный поток байтов.
Уровень межсетевого взаимодействия (также называют сетевым) является основным в архитектуре TCP/IP. Именно этот уровень, функции которого соответствуют сетевому уровню модели OSI, обеспечивает перемещение пакетов в пределах всей составной сети. Протоколы уровня меж сетевого взаимодействия поддерживают интерфейсы с вышележащим транспортным уровнем, получая от него запросы на передачу данных по составной сети.
Основным протоколом межсетевого уровня является протокол IP. Название протокола IP – протокол межсетевого взаимодействия, отражает его суть: он должен передать пакеты между сетями. В каждой очередной сети, лежащей на пути перемещения пакета, протокол IP вызывает принятые средства транспортировки сети, чтобы передать пакет на маршрутизатор, ведущий к следующей сети или к узлу получателю.
Протокол IP относится к протоколам без установления соединения. Он не обеспечивает надежной доставки пакетов от отправителя к получателю, обрабатывает каждый IP-пакет как независимую единицу, не имеющую связь с другими IP-пакетами. Здесь нет механизмов увеличения достоверности передачи данных.
Важной особенностью протокола IP, отличающей его от других протоколов, является его способность выполнять динамическую фрагментацию пакетов при передаче их между сетями с различными максимально допустимыми значениями длины поля данных кадров. Именно эта способность сделала протокол IP доминирующим в составных сетях.
Учитывая, что между двумя узлами сети может пролегать несколько возможных путей, задача перемещения пакета в составной сети также включает задачу прокладки маршрута, а значит, протокол IP устанавливается не только на хостах, но и на маршрутизаторах.
Выбор последовательности маршрутизаторов, через которые надо передать пакет – это задача протоколов меж сетевого взаимодействия. А перемещение пакета между маршрутизаторами в пределах каждой из встречающихся на пути пакета подсетей — это задача локальных технологий. А значит, в случае необходимости использования локальных средств доставки пакета в пределах подсети, протокол IP обращается к нижележащему уровню меж сетевых интерфейсов.
Идеологическим отличием архитектуры стека TCP/IP от многоуровневой организации других стеков является интерпретация функций самого нижнего уровня – уровня сетевых интерфейсов. Так, например уровни модели OSI нагружены функциями по доступу к среде передачи, формированию кадров, согласованию уровней электрических сигналов, кодированию, синхронизации и пр. У нижнего уровня стека TCP/IP задача существенно проще – он отвечает только за организацию интерфейса с локальными технологиями под сетей, которая упрощенно сводится:
— к определению способа упаковки пакета IP в единицу передаваемых данных промежуточной сети;
— к определению способа преобразования сетевого адреса следующего маршрутизатора в новый тип адреса, который принят для адресации компьютеров в технологии данной промежуточной сети.
Рассматривая многоуровневую архитектуру TCP/IP, подобно архитектуре модели OSI, в ней можно выделить уровни, функции которых зависят от конкретной технической реализации сети, и уровни, функции которых ориентированы на работу с приложениями.
Протоколы прикладного уровня стека TCP/IP работают на компьютерах, выполняющих приложения пользователей. А значит, даже полная смена сетевого оборудования в общем случае не повлияет на работу приложений, если они получают доступ к сетевым возможностям через протоколы прикладного уровня.
Протоколы транспортного уровня зависят от сети в большей степени, так как они реализуют интерфейс к уровням, непосредственно организующим передачу данных по сети. Однако, подобно протоколам прикладного уровня, протоколы транспортного уровня устанавливаются только на конечных узлах. Протоколы двух нижних уровней являются сете зависимыми, программные модули протоколов межсетевого уровня и уровня сетевых интерфейсов устанавливаются на всех хостах и маршрутизаторах.
Каждый коммуникационный протокол оперирует с некоторой единицей передачи данных. В стеке TCP/IP принята следующая терминология:
— поток – данные, поступающие от приложений на вход протоколов транспортного уровня TCP и UDP;
— протокол TCP «нарезает» из потока данных сегменты;
— единица данных протокола UDP называется дейтаграммой. Дейтаграмма – общее название для единиц данных, которыми оперируют протоколы без установления соединений, в частности, протокол IP, но здесь чаще используется термин – пакет;
— кадр или фрейм в стеке TCP/IP – единица данных любых технологий, в которые упаковываются пакеты IP для последующей переноски их через подсети составной сети.
Типы адресов. В стеке TCP/IP используется три типа адресов:
- локальные или аппаратные адреса — адреса, действующие не во всей сети, а в пределах подсети, определяемые технологией, с помощью которой построена отдельная сеть, в которую входит данный узел. Для узлов, входящих в локальные сети — это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байтов: старшие 3 байта — идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем. Для узлов, входящих в глобальные сети, такие как Х.25 или frame relay, локальный адрес назначается администратором глобальной сети
При использовании термина «локальный» предполагается, что в качестве подсети (локальной сети) может выступать сеть, построенная на основе глобальной технологии (WAN), например, X.25, Frame Relay или локальной технологии (LAN), например, Ethernet, FDDI и т.д.
При использовании термина «аппаратный» предполагается, что подсеть — некоторое вспомогательное аппаратное средство, единственной функцией которого является перемещение пакета через подсеть до ближайшего шлюза. При этом все сложности конфигурирования подсети игнорируются.
- сетевые илиIP-адреса – адреса однозначной идентификации узлов в пределах составной сети. При этом номер узла в протоколе IP назначается независимо от локального адреса узла. Узел может входить в несколько IP-сетей. В этом случае узел должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.
- доменные имена – символьные идентификаторы узлом, необходимые для обращения пользователям, например, SERV1.IBM.COM. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена. Такой адрес, называемый также DNS-именем, используется на прикладном уровне, например, в протоколах FTP или telnet.
В общем случае, сетевой интерфейс может иметь одновременно несколько локальных адресов, несколько сетевых адресов, несколько доменных имен.
IP-адресация. IP-адрес – адрес, характеризующий сетевое соединение, представляет собой основной тип адресов, на основании которых сетевой уровень передает пакеты между сетями.
Идентификация сетевого соединения, а не устройства, при IP-адресации объясняется следующим. По определению маршрутизатор сразу входит в несколько сетей, а, значит, каждый порт маршрутизатора имеет собственный IP-адрес. Конечный узел может входить сразу в несколько IP-сетей, а значит, компьютер также должен иметь несколько IP-адресов (по числу связей).
IP-адрес имеет длину 4 байта (32 бита) и состоит из двух логических частей – номера сети (net id) и номера узла в сети (host id).
Чаще всего IP-адрес представляется в виде четырех чисел, определяющих значение каждого байта в десятичной форме и разделенных точками, например:
Этот адрес в двоичном формате представляется:
1000000 00001010 00000010 00011110
или в шестнадцатеричном формате
Запись адреса не предусматривает специального разграничительного знака между номером сети и номером узла. Для логического разделения IP-адреса используется два способа:
Традиционная схема деления IP-адреса на номер сети и номер узла основана на понятии класса, который определяется значениями первых нескольких битов адреса (табл. 4).
Таблица 4 – Характеристики адресов разного класса
Максимальное число узлов в сети