Два протокола обеспечивающих транспортировку любых видов информации

Обновлено: 04.07.2024

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

Для каждого уровня определяется набор функций-запросов для взаимодействия с вышележащим уровнем, который называется интерфейсом.

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

Стеки протоколов разбиваются на три уровня:

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

- DDP (Datagram Delivery Protocol, протокол доставки дейтаграмм). Протокол передачи данных Apple, используемый в Apple Talk.

- IP (Internet Protocol, протокол Internet). Протокол стека TCP/IP, обеспечивающий адресную информацию и информацию о маршрутизации.

- IPX (Internetwork Packet eXchange, межсетевой обмен пакетами) в NWLink. Протокол Novel NetWare, используемый для маршрутизации и направления пакетов.

- NetBEUI (NetBIOS Extended User Interface, расширенный пользовательский интерфейс базовой сетевой системы ввода вывода). Разработанный совместно IBM и Microsoft, этот протокол обеспечивает транспортные услуги для NetBIOS.

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

- ATP (Apple Talk Protocol, транзакционный протокол Apple Talk) и NBP (Name Binding Protocol, протокол связывания имен). Сеансовый и транспортный протоколы Apple Talk.

- NetBIOS (Network Basis Input/Output System, базовая сетевая система ввода вывода). NetBIOS устанавливает соединение между компьютерами, а NetBEUIпредоставляет услуги передачи данных для этого соединения.

- SPX (Sequenced Packet eXchange, последовательный обмен пакетами) в NWLink. Протокол Novel NetWare, используемый для обеспечения доставки данных.

- TCP (Transmission Control Protocol, протокол управления передачей). Протокол стека TCP/IP отвечает за надежную доставку данных.

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

- AFP (Apple Talk File Protocol, файловый протокол Apple Talk). Протокол удаленного управления файлами Macintosh.

- FTP (File Transfer Protocol, протокол передачи файлов). Протокол стека TCP/IP, используемый для обеспечения услуг по передачи файлов.

- NCP (NetWare Core Protocol, базовый протокол NetWare). Оболочка и редиректоры клиента Novel NetWare.

- SNMP (Simple Network Management Protocol, простой протокол управления сетью). Протокол стека TCP/IP, используемый для управления и наблюдения за сетевыми устройствами.

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

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

Стек TCP/IP с точки зрения системной архитектуры соответствует эталонной модели OSI (Open Systems Interconnection, взаимодействие открытых систем) и позволяет обмениваться данными по сети приложениям и службам, работающим практически на любой платформе, включая Unix, Windows, Macintosh и другие.

Стандартная реализация TCP/IP (на примере фирмы Microsoft) соответствует четырехуровневой модели вместо семиуровневой модели

Модель TCP/IP включает большее число функций на один уровень, что приводит к уменьшению числа уровней. В модели используются следующие уровни:

- уровень Приложения модели TCP/IP соответствует Прикладному, Представительскому и Сеансовому уровням модели OSI;

- Транспортный уровень модели TCP/IP соответствует аналогичному уровню модели OSI;

- Межсетевой уровень модели TCP/IP выполняет те же функции, что и Сетевой уровень модели OSI;

- уровень Сетевого интерфейса модели TCP/IP соответствует Канальному и Физическому уровням модели OSI.

© 2014-2021 — Студопедия.Нет — Информационный студенческий ресурс. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав (0.003)

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

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

Другая примечательная черта TCP/IP - его "открытость": это полностью общедоступная спецификация. Любой человек может предлагать дополнения к этой спецификации, и процесс протекает абсолютно открыто. Так, многие фирмы предлагают свои платформы с уже встроенными протоколами и сервисами TCP/IP . Это облегчает конечному пользователю задачу совместного использования различных ресурсов без привязки к какому-то одному поставщику.

Третье важное преимущество TCP/IP состоит в том, что это набор очень надежных протоколов, в состав которого входят транспортные протоколы, эффективно работающие в глобальных сетях. Протокол NBF ( и в меньшей степени IPX ) предназначался для использования в локальных сетях. NBF не предусматривает маршрутизацию, т.е. пользователи, подключенные к одному сетевому кабелю, видят серверы, подключенные к другому кабелю, только в том случае, если два этих сегмента соединены мостом и образуют одну логическую сеть. В глобальных сетевых средах эта схема работает плохо. Протокол IPX - полностью маршрутизируемый, но вот более высокоуровневый NCP предусматривает явное квитирование всех передаваемых сетевых пакетов, что сильно замедляет его работу с глобальными сетевыми каналами. Ни один из этих наборов протоколов не подходит для использования в Internet .

Комплект протоколов TCP/IP с самого начала разрабатывался для соединения хост-компьютеров между собой через глобальные сети, поэтому он и маршрутизируемый, и эффективный. Эти достоинства сохраняются и в локальных сетях, что делает TCP/IP отличным вариантом и для мелко-, и для крупномасштабных сетей. Три вышеупомянутых качества (масштабируемость, открытость и надежность) делают TCP/IP привлекательным вариантом для пользователей разнородных сред. Именно поэтому TCP/IP является стержнем Internet .

Функционирование сети TCP/IP

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

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

Саша знает имя своего компьютера, IP- и MAC -адрес, т.к. все эти параметры прописаны в конфигурации его компьютера. Остается узнать только IP- и MAC -адрес компьютера Коли. Для этого Саша должен воспользоваться системой доменных имен ( DNS ) и протоколом разрешения адресов ( ARP ). Саша знает IP -адрес DNS , т.к. он прописан в конфигурации Сашиной машины. Далее Саша отправляет DNS -запрос системе DNS , спрашивая у нее IP- адрес Колиной машины. DNS отвечает адресом 10.1.1.2. Но Саше все еще нужен адрес Ethernet MAC , использующий адрес 10.1.1.2, поэтому он выполняет широковещательный ARP -зарос. Такой запрос отправляется по широковещательному Ethernet -адресу, чтобы все компьютеры, находящиеся в сети, его получили. Поскольку компьютер Коли подключен к сети, он получает этот запрос. А так как адрес его компьютера 10.1.1.2, а ARP -запрос ищет MAC -адрес, связанный с адресом 10.1.1.2, Коля сообщает свой MAC -адрес. На рис.1 схематически показан весь этот процесс.

Рис. 1. Работа служб DNS и протокола ARP

Теперь Саша знает адреса IP и Ethernet MAC , которые необходимы для отправки данных Коле. Весь этот процесс проходит автоматически, невидимо для пользователя, но важно знать, как это все происходит, чтобы уметь решать возникающие проблемы.

Коле, соответственно, необходимо знать, какому приложению какие данные предназначаются, но все три пакета приходят от одного IP - и MAC -адреса. Можно было бы, конечно, распределять пришедшие пакеты по использованному при передаче протоколу UDP или TCP , но в нашем случае два из трех приложений используют протокол TCP . К счастью, разработчики протоколов UDP и TCP позаботились о распределении пакетов по приложениям и вставили в передаваемые пакеты специальное поле, которое называется номером порта. Процесс разбиения данных по номерам портов называется мультиплексированием, т.е. определение приложения, которое получает данные из пакета. Каждое приложение Саши использует разные номера портов, поэтому Коля знает, какому приложению предназначаются данные.

Итак, мы рассмотрели, как работает элементарная сеть с несколькими приложениями. Давайте теперь познакомимся с использованными в данном примере протоколами немного поближе.

Протоколы канального уровня SLIP и PPP

На канальном уровне используются протоколы SLIP ( Serial Link Internet Protocol - межсетевой протокол для последовательного канала ) и PPP ( Point-to-Point Protocol - протокол "точка-точка" ) .

Протоколы канального уровня SLIP и PPP применяются как на коммутируемых линиях, так и на выделенных телефонных каналах. С их помощью к глобальной сети подключается большинство индивидуальных пользователей, а также небольшие локальные сети. Подобные линии связи могут обеспечивать скорость передачи данных до 115200 бит/с.

Serial Line Internet Protocol (SLIP )

Согласно RFC -1055 впервые SLIP был включен в качестве средства доступа к IP -сети в пакет фирмы 3COM-UNET . В 1984 г. Рик Адамс реализовал SLIP для BSD 4.2 , и таким образом SLIP стал достоянием Internet в целом. Обычно этот протокол применяют как на выделенных, так и на коммутируемых линиях связи со скоростью передачи от 1200 до 19200 бит/с.

Такие операционные системы, как FreeBSD, Linux, NetBSD , которые можно свободно скопировать и установить на своем персональном компьютере, или HP-UX , которая поставляется вместе с рабочими станциями Hewlett-Packard , имеют в своем арсенале программные средства типа sliplogin (FreeBSD) или slp (HP-UX ), обеспечивающие работу компьютера в качестве SLIP -сервера для удаленных пользователей, подключающихся к IP -сети по телефону. Хотя в стандарте SLIP нет определения понятия " SLIP -сервер", обычно используют термины " SLIP -клиент" для компьютера, инициирующего физическое соединение, и " SLIP -сервер" для машины, постоянно включенной в IP -сеть.

В рамках протокола SLIP осуществляется фрагментация IP -пакетов, при этом SLIP -пакет должен начинаться символом ESC (восьмеричное 333 или десятичное 219) и заканчиваться символом END (восьмеричное 300 или десятичное 192). Стандарт не определяет размер SLIP -пакета, поэтому любой интерфейс имеет специальное поле, в котором пользователь должен указать эту длину. SLIP -модуль не анализирует поток данных и не выделяет какую-либо информацию в этом потоке, а также не позволяет выполнять какие-либо действия, связанные с адресами, т.к. в структуре пакета не предусмотрены поле адреса и его специальная обработка. Компьютеры, взаимодействующие по SLIP , обязаны знать свои IP -адреса заранее. SLIP не предусматривает корректировку ошибок линии связи, и коррекция ошибок возлагается на протоколы транспортного уровня - TCP, UDP . В стандартное SLIP не предусмотрена компрессия данных, но существуют варианты протокола с такими возможностями.

Point to Point Protocol (PPP )

Согласно RFC -1661 данный протокол обеспечивает стандартный метод взаимодействия двух узлов сети. Предполагается, что обеспечивается двунаправленная одновременная передача данных. Как и в SLIP , данные разбиваются на пакеты, которые передаются от узла к узлу упорядоченно. В отличие от SLIP , PPP позволяет одновременно передавать по линии связи пакеты различных протоколов. Кроме того, PPP предполагает процесс автоконфигурации обеих взаимодействующих сторон. Собственно говоря, PPP состоит из трех частей: механизма инкапсуляции ( encapsulation), протокола управления соединением ( link control protocol) и семейства протоколов управления сетью ( network control protocols ).

Под датаграммой в PPP понимается информационная единица сетевого уровня (применительно к IP - IP- пакет). Под фреймом понимают информационную единицу канального уровня (согласно модели OSI ). Для обеспечения быстрой обработки информации длина фрейма PPP должна быть кратна 32 битам. Фрейм состоит из заголовка и хвоста, между которыми содержаться данные. Датаграмма может быть инкапсулирована в один или несколько фреймов (Рис.2). Пакетом называют информационную единицу обмена между модулями сетевого и канального уровней. Обычно каждому пакету ставится в соответствие один фрейм, за исключением тех случаев когда канальный уровень требует большей фрагментации данных или, наоборот, объединяет пакеты для более эффективной передачи.

В поле "Протокол" указывается тип инкапсулированной датаграммы. Существуют специальные правила кодирования протоколов в этом поле (см. ISO 3309 и RFC -1661). В поле "Информация" записывается собственно пакет данных, а в поле "Хвост" добавляется заполнитель для выравнивания на 32-битовую границу. По умолчанию длина фрейма PPP устанавливается в 1500 байт, но в это число не входит длина поля "Протокол".

Рис. 2. PPP -фрейм

Протокол управления соединением предназначен для установки соглашения между узлами сети о параметрах инкапсуляции (размер фрейма и т.п.), кроме того, он позволяет проводить идентификацию узлов. Первой фазой установки соединения является проверка готовности физического уровня передачи данных. При этом такая проверка может осуществляться периодически, позволяя реализовать механизм автоматического восстановления физического соединения, как это бывает при работе через модем по коммутируемой линии. Если физическое соединение установлено, то узлы начинают обмен пакетами протокола управления соединением, настраивая параметры сессии. Любой пакет, отличный от пакета протокола управления соединением, не обрабатывается во время этого обмена. После установки параметров соединения возможен переход к идентификации. После всех этих действий происходит настройка параметров работы с протоколами межсетевого обмена ( IP, IPX и т.п.). Для каждого из них используется свой протокол управления. Для завершения работы по протоколу PPP по сети передается пакет завершения работы протокола управления соединением.

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

Point-to-Point Tunneling Protocol (PPTP )

Протокол PPTP - туннельный протокол "точка-точка" - продвинул концепцию PPP на шаг вперед: этот протокол "заворачивает" в PPTP -обертку PPP -пакеты. С эксплуатационной точки зрения, разница между PPP и PPTP заключается только в следующем: чтобы создать PPP -канал, вы набираете номер телефона, а чтобы создать PPTP -канал, вы "набираете" IP -адрес.

Как и в случае с PPP , пакеты PPTP "заворачиваются", транспортируются на другой конец канала (в данном случае в систему, обозначенную IP -адресом, упомянутым в предыдущем абзаце), и "разворачиваются". в результате между дв4умя системами создается "частная виртуальная сеть", по которой передаются пакеты PPTP . Чтобы этот канал был действительно частным, PPTP поддерживает ряд возможностей защиты, вплоть до шифрования всех данных пакета.

Таким образом, с помощью протоколов PPP и SLIP можно установить глобально-сетевое соединение по коммутируемым линиям, ISDN , сетям X.25 и другим каналам. И PPP , и SLIP характеризуются относительной нечувствительностью к помехам в линии и задержкам приема пакетов.

Протокол PPP более гибок, чем SLIP . Принцип его работы заключается в "заворачивании" пакетов транспортных протоколов TCP , IPX или NBF в пакет особого формата и транспортировке завернутого таким образом пакета по каналу ГВС (глобальной вычислительной сети). На другом конце соединения пакет "разворачивается", и исходные пакеты передаются по локальной сети. После установления соединения все эти операции становятся полностью прозрачными для приложений - приложения видят абсолютно нормальные пакеты TCP, IPX и NBF (хотя эти пакеты могут прибывать несколько медленнее, чем по локальной сети).

SLIP менее гибок. Он представляет собой, по сути дела, расширение IP , предназначенное для работы по низкоскоростным каналам, поэтому и поддерживает только IP -сети. Кроме того, он менее устойчив к помехам в линии. Сервис RAS ( Remote Access Services - служба удаленного доступа) операционной системы Windows NT поддерживает SLIP , главным образом, для совместимости с серверами ГВС, работающими на базе ОС UNIX .

PPTP обладает наибольшими функциональными возможностями по сравнению с SLIP и PPP , позволяя устанавливать частные виртуальные защищенные каналы связи.

Межсетевые протоколы

Internet Protocol (IP)

Протокол IP используется для управления рассылкой TCP/IP -пакетов по сети Internet . Среди различных функций, возложенных на IP , обычно выделяют следующие:

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

Главной особенностью протокола IP является отсутствие ориентации на физическое или виртуальное соединение. Это значит, что, прежде чем послать пакет в сеть, модуль операционной системы, реализующий IP , не проверяет возможность установк4и соединения, т.е. никакой управляющей информации кроме той, что содержится в самом IP -пакете, по сети не передается. Кроме того, IP не заботится о проверке целостности информации в поле данных пакета, что заставляет отнести его к протоколам ненадежной доставки. Целостность данных проверяется протоколами транспортного уровня (TCP) или протоколами приложений.

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

Существует несколько версий протокола IP . В настоящее время используется версия Ipv4 (RFC 791) , структура пакета которой представлена на рис. 3.

Рис. 3. формат пакета Ipv4

Фактически в заголовке пакета определены все основные данные, необходимые для перечисленных выше функций протокола IP : адрес отправителя, адрес получателя, общая длина пакета и тип пересылаемой дейтаграммы.

Используя данные заголовка, машина может определить, на какой сетевой интерфейс отправлять пакет. Если IP -адрес получателя принадлежит одной из ее сетей, то на интерфейс этой сети пакет и будет отправлен, в противном случае пакет отправят на другой шлюз.

На основе протокола транспортного уровня IP -модуль производит экскапсуляцию информации из IP -пакета и ее передачу на модуль обслуживания соответствующего транспорта.

При обсуждении формата заголовка пакета IP вернемся еще раз к инкапсулированию. Как уже отмечалось, при обычной процедуре инкапсулирован я пакет просто помещается в поле данных фрейма, а в случае, когда это не может быть осуществлено, разбивается на более мелкие фрагменты. Размер максимально возможного фре2йма, который передается по сети, определяется величиной MTU (Maximum Transmission Unit ), определенной для протокола канального уровня. Для последующего восстановления пакет IP должен держать информацию о своем разбиении, и для этой цели используются поля Flags и Fragmentation offset . В этих полях определяется, какая часть пакета получена в данном фрейме, если этот пакет был фрагментирован на более мелкие части.

Internet Control Message Protocol (ICMP)

Routing Information Protocol (RIP)

Address Resolution Protocol (ARP)

К моменту, когда протокол IP должен отправлять дейтаграмму, он уже информирован протоколами верхних уровней об IP -адресе получателя. В свою очередь, он должен сообщить протоколу канального уровня аппаратный адрес удаленного компьютера. Если этот адрес не известен, для поиска нужной информации применяется протокол определения адресов ARP ( Address Resolution Protocol - протокол разрешения адресов), который ведет широковещательный опрос сети - запрашивает у каждого имеющего определенный IP -адрес компьютера адрес его аппаратного обеспечения (или, другими словами, MAC -адрес). Протокол ARP может перевести IP -адрес в адрес аппаратного обеспечения, например, в MAC -адрес сетевой платы удаленного компьютера.

Протоколы транспортного уровня

User Datagram Protocol (UDP)

Таблица 1. Стандартные сетевые сервисы и соответствующие им порты

Наиболее известными сервисами, основанными на UDP , являются служба доменных имен BIND и распределенная файловая система NFS .

Transfer Control Protocol (TCP)

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

Рис. 5. Структура пакета TCP

Потоковый характер протокола определяется тем, что SYN определяет стартовый номер для отсчета переданных байтов, а не пакетов. Это значит, что если SYN был установлен в 0 и было передано 200 байтов, то номер, установленный в следующем пакете, будет равен 201, а не 2.

Потоковый характер протокола и требование подтверждения получения данных порождают проблему скорости передачи данных. Для ее решения используется поле Window ( окно). Идея применения "окна" достаточно проста: передавать данные, не дожидаясь подтверждения об их получении. Это значит, что источник передает некоторое количество данных, равное Window , без ожидания подтверждения об их приеме, и только после этого останавливает передачу и ждет подтверждения. Если он получит подтверждение только на часть переданных данных, то начнет передачу новой порции с номера, следующего за подтвержденным.

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

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

Маршрутизация данных

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

Аналогично, передаваемая по сети информация "упаковывается в конверт", на котором "пишутся" Интернет-адреса компьютеров получателя и отправителя, например: "Кому: 198.78.213.185", "От кого: 193.124.5.33". Содержимое конверта на компьютерном языке называется Интернет-пакетом и представляет собой набор байтов.

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

Маршрутизация Интернет-пакетов обеспечивает доставку информации от компьютера-отправителя к компьютеру-получателю.

Маршруты доставки Интернет-пакетов могут быть совершенно разными, и поэтому первые Интернет-пакеты могут достичь компьютера-получателя в последнюю очередь. Например, в процессе передачи файла от сервера От к серверу Кому маршрут первого Интернет-пакета может быть От-1-2-Кому, второго - От-Кому и третьего - От-3-4-5-Кому (рис. 1).

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

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

Транспортировка данных

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

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

На компьютере-получателе необходимо собрать исходный файл из отдельных частей в правильной последовательности, поэтому файл не может быть собран до тех пор, пока не придут все Интернет-пакеты.

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

Время транспортировки отдельных Интернет-пакетов между локальным компьютером и сервером Интернета можно определить с помощью специальных программ.

Маршрутизация и транспортировка данных в Интернете производится на основе протокола TCP/IP, который является основным "законом" Интернета. Термин "TCP/IP" включает название двух протоколов передачи данных:

Используемый источник: Угринович Н.Д. Информатика и ИКТ: учебник для 8 класса / Н.Д. Угринович. - М.: Бином. Лаборатория знаний, 2009.

Электронные образовательные ресурсы по теме

Задания для самостоятельного выполнения

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

Продумайте и проложите маршрут, по которому могли бы быть соединены первой компьютерной сетью эти исследовательские центры.

Транспортный уровень это 4 уровень в модели взаимодействия открытых систем и 3 уровень в модели TCP/IP.

p, blockquote 1,0,0,0,0 -->


p, blockquote 2,0,0,0,0 -->

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

p, blockquote 3,0,0,0,0 -->

Место транспортного уровня в osi

p, blockquote 4,0,0,0,0 -->

p, blockquote 5,0,0,0,0 -->

передача данных на транспортном уровне

p, blockquote 6,0,0,0,0 -->

Задачи транспортного уровня (ТУ)

Задача транспортного уровня это передача данных между процессами на разных хостах. На транспортном уровне необходимо обеспечить адресацию. Нам нужно знать для какого процесса назначен тот или иной пакет. Важной задачей ТУ является обеспечение надежности передачи данных. ТУ может предоставлять надежность более высокую, чем надежность сети которая используется для передачи данных. С другой стороны ТУ может и не предоставлять дополнительный уровень надежности, все зависит от требований конкретного приложения.

p, blockquote 7,0,0,0,0 -->

Модель OSI

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

p, blockquote 8,0,1,0,0 -->

модель osi

p, blockquote 9,0,0,0,0 -->

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

p, blockquote 10,0,0,0,0 -->

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

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

p, blockquote 12,0,0,0,0 -->

p, blockquote 13,0,0,0,0 -->

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

p, blockquote 14,0,0,0,0 -->

Адресации. Порты

p, blockquote 15,0,0,0,0 -->

Записываются порты, следующим образом 192.168.1.3 :80. Выделенные жирным это IP-адрес, а 80 — это порт. Чтобы в интернете подключиться к какому-нибудь сервису и к службе необходимо указать ip адрес и соответствующий порт.

p, blockquote 16,1,0,0,0 -->

Типы портов

Если мы хотим подключиться к какому-нибудь сервису в интернете нам нужно знать не только ip адрес, но и порт. Поэтому договорились, что популярные сервисы будут работать на одних и тех же портах. Эти порты называются хорошо или широко известные порты 1-1024.

p, blockquote 17,0,0,0,0 -->

Список портов

p, blockquote 18,0,0,0,0 -->

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

p, blockquote 20,0,0,0,0 -->

p, blockquote 21,0,0,0,0 -->

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

p, blockquote 22,0,0,0,0 -->

IP-адреса и порты

Рассмотрим пример сетевого взаимодействия с использованием ip адресов и портов. Есть сервер на котором работает web сервер на порту №80. И есть клиент, который хочет подключиться к этому веб серверу.

p, blockquote 23,0,0,0,0 -->

Клиент открывает браузер, операционная система автоматически назначает ему порт 50298. Браузер выполняет соединение с веб сервером, запрашивает веб страницу. Web сервер отправляет ему эту страницу.

p, blockquote 24,0,0,1,0 -->

Браузер и веб сервер

p, blockquote 25,0,0,0,0 -->

Предположим, что дальше клиент решил открыть еще один браузер и зайти на тот же самый сервер, на ту же самую веб-страницу. Операционная система автоматически назначила браузеру порт 50302. Браузер соединяется с веб-сервером, Web сервер видит в запросе не только ip клиента, но и его порт. Поэтому, когда приходит ответ он отправляется именно в тот браузер, из которого был направлен запрос, а не в другой браузер. Благодаря использованию не только ip адресов, но и портов, никакой путаницы не будет.

p, blockquote 26,0,0,0,0 -->

Взаимодействие между клиентом и сервером

p, blockquote 27,0,0,0,0 -->

Надежность на транспортном уровне

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

p, blockquote 28,0,0,0,0 -->

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

Протоколы транспортного уровня TCP/IP

p, blockquote 30,0,0,0,0 -->

Протокол TCP

p, blockquote 31,0,0,0,0 -->

Заключение

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

Занятие 5 по курсу "Информационные сети"

В модели OSI (рис. 4.2) средства взаимодействия делятся на семь уровней: прикладной, представительный, сеансовый, транспортный, сетевой, канальный и физический. Каждый уровень имеет дело с определённым аспектом взаимодействия сетевых устройств.



Рис. 4.2. Модель взаимодействия открытых систем ISO/OSI.

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

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

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

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

На рис. 4.4. показаны четыре сети, связанные тремя маршрутизаторами. Между узлами А и В данной сети пролегает два маршрута: первый – через маршрутизаторы 1 и 3, а второй – через маршрутизаторы 1, 2 и 3.

Рис. 4.4. Пример составной сети.

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

На сетевом уровне определяется два вида протоколов. Первый вид – сетевые протоколы (routed protocols) – реализуют продвижение пакетов через сеть. Именно эти протоколы обычно имеют в виду, когда говорят о протоколах сетевого уровня. Часто к сетевому уровню относят другой вид протоколов, называемых протоколами обмена маршрутной информацией или просто протоколами маршрутизации (routing protocols). С их помощью маршрутизаторы собирают информацию о топологии межсетевых соединений. Протоколы сетевого уровня реализуются программными модулями ОС, а также программными и аппаратными средствами маршрутизаторов.

На сетевом уровне работают протоколы ещё одного типа, отвечающего за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Такие протоколы часто называют протоколами разрешения адресов – Address Resolution Protocol, ARP. Иногда их относят не к сетевому уровню, а к канальному, хотя тонкости классификации не изменяют сути.

Примерами протоколов сетевого уровня являются протокол межсетевого взаимодействия IP стека TCP/IP и протокол межсетевого обмена пакетами IPX стека Novell.

Транспортный уровень
На пути от отправителя к получателю пакеты могут быть искажены или утеряны. Хотя некоторые приложения имеют собственные средства обработки ошибок, существуют и такие, которые предпочитают сразу иметь дело с надёжным соединением. Транспортный уровень (Transport layer) обеспечивает приложениям или верхним уровням стека – прикладному и сеансовому – передачу данных с той степенью надёжности, которая им требуется. Модель OSI определяет пять классов сервиса, предоставляемых транспортным уровнем. Эти виды сервиса отличаются качеством предоставляемых услуг: срочностью, возможностью восстановления прерванной связи, наличием средств мультиплексирования нескольких соединений между различными прикладными протоколами через общий транспортный протокол, а главное – способ-ностью к обнаружению и исправлению ошибок передачи, таких как искажение, потеря и дублирование пакетов.

Как правило, все протоколы, начиная с транспортного уровня и выше, реализуются программными средствами конечных узлов сети – компонентами их сетевых ОС. В качестве примера транспортных протоколов можно привести протоколы TCP и UDP стека TCP/IP и протокол SPX стека Novell.

Сеансовый уровень
Сеансовый уровень (Session layer) обеспечивает управление диалогом: фиксирует, какая из сторон является активной в настоящий момент, предоставляет средства синхронизации. Последние позволяют вставлять контрольные точки в длинные передачи, чтобы в случае отказа можно было вернуться назад к последней контрольной точке, а не начинать все сначала. На практике немногие приложения используют сеансовый уровень, и он редко реализуется в виде отдельных протоколов, хотя функции этого уровня часто объединяют с функциями прикладного уровня и реализуют в одном протоколе.

  • преобразование данных из внешнего формата во внутренний;
  • шифрование и расшифровка данных.
  • идентификация, проверка прав доступа;
  • принт- и файл-сервис, почта, удалённый доступ.

Существует много различных служб прикладного уровня. Приведём в качестве примера несколько наиболее распространённых реализаций файловых служб: NCP в операционной системе Novell NetWare, SMB в Microsoft Windows NT, NFS, FTP и TFTP, входящие в стек TCP/IP.

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

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

Три верхних уровня – прикладной, представительный и сеансовый – ориентированы на приложения и мало зависят от технических особенностей построения сети. На протоколы этих уровней не влияют изменения в топологии сети, замена оборудования или переход на другую сетевую технологию. Так, переход от Ethernet к высокоскоростной технологии 100VG-AnyLAN не потребует никаких изменений в программных средствах, реализующих функции прикладного, представительного и сеансового уровней.

Рис. 4.5. Сетезависимые и сетенезависимые уровни модели OSI.

На рис. 4.5. показаны уровни модели OSI, на которых работают различные элементы сети. Компьютер с установленной на нём сетевой ОС взаимодействует с другим компьютером с помощью протоколов всех семи уровней. Это взаимодействие компьютеры осуществляют опосредованно, через различные коммуникационные устройства: концентраторы, модемы, мосты, коммутаторы, маршрутизаторы, мультиплексоры. В зависимости от типа, коммуникационное устройство может работать только на физическом уровне (повторитель), на физическом и канальном (мост), или на физическом, канальном и сетевом, иногда захватывая и транспортный уровень (маршрутизатор).
На рис. 4.6. показано соответствие функций различных коммуникационных устройств уровням модели OSI.

Рис. 4.6. Соответствие функций различных устройств сети уровням модели OSI.

Стек протоколов TCP/IP
В качестве примера реального стека протоколов, который в целом соответствует модели OSI, приведём стек протоколов TCP/IP.

Еще раз напомним модель OSI с кратким изложением каждого из уровней (рис.4.7.).

Рис. 4.7. Семиуровневая модель протоколов межсетевого обмена OSI

Стек TCP/IP реализует сетевую модель сети Интернет (рис.4.8) и отличается от рассмотренного стека модели OSI.

Рис.4.8. Структура стека протоколов TCP/IP

Физический уровень данной модели определяет характеристики физической сети передачи данных, используемой для межсетевого обмена. Это такие параметры, как: напряжение в сети, сила тока, число контактов на разъемах и т.п. Типичными стандартами этого уровня являются, например RS232C, V35, IEEE 802.3 и т.п.

К канальному уровню отнесены протоколы, определяющие соединение, например, SLIP (Serial Line Internet Protocol), PPP (Point to Point Protocol), NDIS, пакетный протокол, ODI и т.п. В данном случае речь идёт о протоколе взаимодействия между драйверами устройств и устройствами, с одной стороны, а с другой стороны, между операционной системой и драйверами устройства. Такое определение основывается на том, что драйвер – это, фактически, конвертор данных из оного формата в другой, но при этом он может иметь и свой внутренний формат данных.

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

Уровень сессии определяет стандарты взаимодействия между собой прикладного программного обеспечения. Это может быть некоторый промежуточный стандарт данных или правила обработки информации. Условно к этому уровню можно отнеси механизм портов протоколов TCP и UDP и Berkeley Sockets. Однако обычно, в рамках архитектуры TCP/IP такого подразделения не делают.

Уровень обмена данными с прикладными программами (Presentation Layer) необходим для преобразования данных из промежуточного формата сессии в формат данных приложения. В Интернете это преобразование возложено на прикладные программы.

Вся схема (рисунок 4.8.) называется стеком протоколов TCP/IP или просто стеком TCP/IP. Чтобы не возвращаться к названиям протоколов расшифруем аббревиатуры TCP, UDP, ARP, SLIP, PPP, FTP, TELNET, RPC, TFTP, DNS, RIP, NFS:

TCP (Transmission Control Protocol) – базовый транспортный протокол, давший название всему семейству протоколов TCP/IP.

UDP (User Datagram Protocol) – второй транспортный протокол семейства TCP/IP. Различия между TCP и UDP будут обсуждены позже.

ARP (Address Resolution Protocol) – протокол используется для определения соответствия IP-адресов и Ethernet-адресов.

SLIP (Serial Line Internet Protocol) – Протокол передачи данных по телефонным линиям.

FTP (File Transfer Protocol) – Протокол обмена файлами.

TELNET – протокол эмуляции виртуального терминала.

RPC (Remote Process Control) – Протокол управления удаленными процессами.

TFTP (Trivial File Transfer Protocol) – Тривиальный протокол передачи файлов.

DNS (Domain Name System) –Система доменных имен.

RIP (Routing Information Protocol) – Протокол маршрутизации.

NFS (Network File System) – Распределенная файловая система и система сетевой печати.

Базируясь на классификации OSI всю архитектуру протоколов семейства TCP/IP попробуем сопоставить с эталонной моделью (рисунок 4.9.).

Рис. 4.9. Схема модулей, реализующих протоколы семейства TCP/IP в узле сети

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

Драйвер – программа, непосредственно взаимодействующая с сетевым адаптером.

Модуль – это программа, взаимодействующая с драйвером, с сетевыми прикладными программами или с другими модулями.

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

Сетевой интерфейс – физическое устройство, подключающее компьютер к сети. В нашем случае – карта Ethernet.

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

IP-пакет – это блок данных, которым обменивается модуль IP с сетевым интерфейсом.

UDP-датаграмма – блок данных, которым обменивается модуль IP с модулем UDP.

TCP-сегмент – блок данных, которым обменивается модуль IP с модулем TCP.

Рис. 4.10. Инкапсуляция протоколов верхнего уровня в протоколы TCP/IP

При работе с такими программами прикладного уровня, как FTP или telnet, образуется стек протоколов с использованием модуля TCP, представленный на рисунке 4.11.

Рис. 4.11. Стек протоколов при использовании модуля TCP

При работе с прикладными программами, использующими транспортный протокол UDP, например, программные средства Network File System (NFS), используется другой стек, где вместо модуля TCP будет использовать-ся модуль UDP (рисунок 4.12.).

Рис.4.12. Стек протоколов при работе через транспортный протокол UDP

Технология Интернета поддерживает разные физические среды, из которых самой распространенной является Ethernet. В последнее время большой интерес вызывает подключение отдельных машин к сети через TCP-стек по коммутируемым (телефонным) каналам. С появлением новых магистральных технологий типа ATM или Frame Relay активно ведутся исследования по инкапсуляции TCP/IP в эти протоколы. На сегодняшний день многие проблемы решены и существует оборудование для организации TCP/IP сетей через эти системы.

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

Дело в том, что компьютер сам представляет из себя виртуальную сеть, когда операционная система собрана и настроена для работы в Сети. В этом случае многие программы обращаются к друг другу по локальному сетевому адресу (в сетях TCP/IP – это адрес 127.0.0.1)

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

Основные выводы
Стек протоколов определяет порядок взаимодействия прикладного программного обеспечения при обмене данными между программами по сети.

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

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

Протокол IP обеспечивает связность всей сети Интернет. Каждый сетевой интерфейс должен иметь IP-адрес. Один хост может иметь несколько IP-адресов. Все IP-адреса уникальны, за исключением приватных сетей и адресов.

Читайте также: