Транспортный уровень
Модель TCP/IP.
Стек протоколов TCP/IP — набор сетевых протоколов передачи данных, используемых в сетях, включая сеть Интернет. Название TCP/IP происходит из двух наиважнейших протоколов семейства — Transmission Control Protocol (TCP) и Internet Protocol (IP), которые были разработаны и описаны первыми в данном стандарте. Также изредка упоминается как модель DOD в связи с историческим происхождением от сети ARPANET из 1970 годов (под управлением DARPA, Министерства обороны США).
Протоколы работают друг с другом в стеке (англ. stack, стопка) — это означает, что протокол, располагающийся на уровне выше, работает «поверх» нижнего, используя механизмы инкапсуляции. Например, протокол TCP работает поверх протокола IP.
Стек протоколов TCP/IP включает в себя четыре уровня:
· прикладной уровень (application layer),
· транспортный уровень (transport layer),
· сетевой уровень (Internet layer),
· канальный уровень (link layer).
Протоколы этих уровней полностью реализуют функциональные возможности модели OSI. На стеке протоколов TCP/IP построено всё взаимодействие пользователей в IP-сетях. Стек является независимым от физической среды передачи данных. Прикладной уровень
На прикладном уровне (Application layer) работает большинство сетевых приложений.
Эти программы имеют свои собственные протоколы обмена информацией, например, HTTP для WWW, FTP (передача файлов), SMTP (электронная почта), SSH(безопасное соединение с удалённой машиной), DNS (преобразование символьных имён в IP-адреса) и многие другие.
В массе своей эти протоколы работают поверх TCP или UDP и привязаны к определённому порту, например:
· HTTP на TCP-порт 80 или 8080,
· FTP на TCP-порт 20 (для передачи данных) и 21 (для управляющих команд),
· SSH на TCP-порт 22,
· запросы DNS на порт UDP (реже TCP) 53,
· обновление маршрутов по протоколу RIP на UDP-порт 520.
Эти порты определены Агентством по выделению имен и уникальных параметров протоколов (IANA).
К этому уровню относятся: DHCP[1], Echo, Finger, Gopher, HTTP, HTTPS, IMAP, IMAPS, IRC, NNTP, NTP, POP3, POPS, QOTD, RTSP, SNMP, SSH, Telnet, XDMCP.
Транспортный уровень
Протоколы транспортного уровня (Transport layer) могут решать проблему негарантированной доставки сообщений («дошло ли сообщение до адресата?»), а также гарантировать правильную последовательность прихода данных. В стеке TCP/IP транспортные протоколы определяют, для какого именно приложения предназначены эти данные.
Протоколы автоматической маршрутизации, логически представленные на этом уровне (поскольку работают поверх IP), на самом деле являются частью протоколов сетевого уровня; например OSPF (IP идентификатор 89).
TCP (IP идентификатор 6) — «гарантированный» транспортный механизм с предварительным установлением соединения, предоставляющий приложению надёжныйпоток данных, дающий уверенность в безошибочности получаемых данных, перезапрашивающий данные в случае потери и устраняющий дублирование данных. TCP позволяет регулировать нагрузку на сеть, а также уменьшать время ожидания данных при передаче на большие расстояния. Более того, TCP гарантирует, что полученные данные были отправлены точно в такой же последовательности. В этом его главное отличие от UDP.
UDP (IP идентификатор 17) протокол передачи датаграмм без установления соединения. Также его называют протоколом «ненадёжной» передачи, в смысле невозможности удостовериться в доставке сообщения адресату, а также возможного перемешивания пакетов. В приложениях, требующих гарантированной передачи данных, используется протокол TCP.
UDP обычно используется в таких приложениях, как потоковое видео и компьютерные игры, где допускается потеря пакетов, а повторный запрос затруднён или не оправдан, либо в приложениях вида запрос-ответ (например, запросы к DNS), где создание соединения занимает больше ресурсов, чем повторная отправка.
И TCP, и UDP используют для определения протокола верхнего уровня число, называемое портом.
Сетевой уровень
Сетевой уровень (Internet layer) изначально разработан для передачи данных из одной (под)сети в другую. Примерами такого протокола является X.25 и IPC в сетиARPANET.
С развитием концепции глобальной сети в уровень были внесены дополнительные возможности по передаче из любой сети в любую сеть, независимо от протоколов нижнего уровня, а также возможность запрашивать данные от удалённой стороны, например в протоколе ICMP (используется для передачи диагностической информации IP-соединения) и IGMP (используется для управления multicast-потоками).
ICMP и IGMP расположены над IP и должны попасть на следующий — транспортный — уровень, но функционально являются протоколами сетевого уровня, и поэтому их невозможно вписать в модель OSI.
Пакеты сетевого протокола IP могут содержать код, указывающий, какой именно протокол следующего уровня нужно использовать, чтобы извлечь данные из пакета. Это число — уникальный IP-номер протокола. ICMP и IGMP имеют номера, соответственно, 1 и 2.
К этому уровню относятся: DVMRP, ICMP, IGMP, MARS, PIM, RIP, RIP2, RSVP
Канальный уровень
Канальный уровень (Link layer) описывает, каким образом передаются пакеты данных через физический уровень, включая кодирование (то есть специальные последовательности бит, определяющих начало и конец пакета данных). Ethernet, например, в полях заголовка пакета содержит указание того, какой машине или машинам в сети предназначен этот пакет.
Примеры протоколов канального уровня — Ethernet, IEEE 802.11 Wireless Ethernet, SLIP, Token Ring, ATM и MPLS.
PPP не совсем вписывается в такое определение, поэтому обычно описывается в виде пары протоколов HDLC/SDLC.
MPLS занимает промежуточное положение между канальным и сетевым уровнем и, строго говоря, его нельзя отнести ни к одному из них.
Канальный уровень иногда разделяют на 2 подуровня — LLC и MAC.
Кроме того, канальный уровень описывает среду передачи данных (будь то коаксиальный кабель, витая пара, оптическое волокно или радиоканал), физические характеристики такой среды и принцип передачи данных (разделение каналов, модуляцию, амплитуду сигналов, частоту сигналов, способ синхронизации передачи, время ожидания ответа и максимальное расстояние).
2Сетевая модель OSI (базовая эталонная модель взаимодействияоткрытых систем, англ. Open Systems Interconnection Basic Reference Model) — абстрактная сетеваямодель для коммуникаций и разработки сетевых протоколов. Представляет уровневый подход к сети. Каждыйуровень обслуживает свою часть процесса взаимодействия. Благодаря такой структуре совместная работасетевого оборудования и программного обеспечения становится гораздо проще и прозрачнее.
В настоящее время основным используемым семейством протоколов является TCP/IP, разработка которогоне была связана с моделью OSI.
Семиуровневая модель OSI является теоретической, и содержит ряд недоработок. Были попытки строитьсети в точном соответствии с моделью OSI, но созданные таким образом сети были дорогими, ненадёжнымии неудобными в эксплуатации. Реальные сетевые протоколы, используемые в существующих сетях,вынуждены отклоняться от неё, обеспечивая непредусмотренные возможности, поэтому привязка некоторыхиз них к уровням OSI является несколько условной: некоторые протоколы занимают несколько уровнеймодели OSI, функции обеспечения надёжности реализованы на нескольких уровнях модели OSI.
Основная недоработка OSI — непродуманный транспортный уровень. На нём OSI позволяет обмен даннымимежду приложениями (вводя понятие порта — идентификатора приложения), однако, возможность обменапростыми датаграммами (по типу UDP) в OSI не предусмотрена — транспортный уровень долженобразовывать соединения, обеспечивать доставку, управлять потоком и т. п. (по типу TCP). Реальные жепротоколы реализуют такую возможност
3В модели OSI сетевые функции распределены между семью уровнями. Каждому уровню соответствуют различные сетевые операции, оборудование и протоколы.
- Прикладной уровень
- Представительский уровень
- Сеансовый уровень
- Транспортный уровень
- Сетевой уровень
- Канальный уровень
- Физический уровень
Это и есть многоуровневая архитектура модели OSI. На каждом уровне выполняются определенные сетевые функции, которые взаимодействуют с функциями соседних уровней, вышележащего и нижележащего. Например, Сеансовый уровень должен взаимодействовать только с Представительским и Транспортным уровнем и т.п. Все эти функции подробно описаны.
Нижние уровни — Физический и Канальный — определяют физическую среду передачи данных и сопутствующие задачи (такие, как передача битов данных через плату сетевого адаптера и кабель). Самые верхние уровни определяют, каким способом осуществляется доступ приложений к услугам связи. Чем выше уровень, тем более сложную задачу он решает.
Каждый уровень предоставляет несколько услуг (т.е. выполняет несколько операций), подготавливающих данные для доставки по сети на другой компьютер. Уровни отделяются друг от друга границами — интерфейсами. Все запросы от одного уровня к другому передаются через интерфейс. Каждый уровень использует услуги нижележащего уровня.
Взаимодействие уровней модели OSI
Задача каждого уровня - предоставление услуг вышележащему уровню, «маскируя» детали реализации этих услуг. При этом каждый уровень на одном компьютере работает так, будто он напрямую связан с таким же уровнем на другом компьютере. Эта логическая, или виртуальная, связь между одинаковыми уровнями показана на рисунке ниже. Однако в действительности связь осуществляется между смежными уровнями одного компьютера — программное обеспечение, работающее на каждом уровне, реализует определенные сетевые функции в соответствии с набором протоколов.
Компьютер А | <---------> | Компьютер B | ||
Прикладной | <---------> | Прикладной | ||
Представительский | <---------> | Представительский | ||
Сеансовый | <---------> | Сеансовый | ||
Транспортный | <---------> | Транспортный | ||
Сетевой | <---------> | Сетевой | ||
Канальный | <---------> | Канальный | ||
Физический | <---------> | Физический |
Перед подачей в сеть данные разбиваются на пакеты. Пакет (packet) — это единица информации, передаваемая между устройствами сети как единое целое. Пакет проходит последовательно через все уровни программного обеспечения. На каждом уровне к пакету добавляется некоторая информация, форматирующая или адресная, которая необходима для успешной передачи данных по сети. На принимающей стороне пакет проходит через все уровни в обратном порядке. Программное обеспечение на каждом уровне читает информацию пакета, затем удаляет информацию, добавленную к пакету на этом же уровне отправляющей стороной, и передает пакет следующему уровню. Когда пакет дойдет до Прикладного уровня, вся адресная информация будет удалена и данные примут свой первоначальный вид. Таким образом, за исключением самого нижнего уровня сетевой модели, никакой иной уровень не может непосредственно послать информацию соответствующему уровню другого компьютера. Информация на компьютере-отправителе должна пройти через все уровни. Затем она передается по сетевому кабелю на компьютер-получатель и опять проходит сквозь все слои, пока не достигнет того же уровня, с которого она была послана на компьютере-отправителе. Например, если Сетевой уровень передает информацию с компьютера А, она спускается через Канальный и Физический уровни в сетевой кабель, далее по нему попадает в компьютер В, где поднимается через Физический и Канальный уровни и достигает Сетевого уровня.
В клиент-серверной среде примером информации, переданной Сетевым уровнем компьютера А Сетевому уровню компьютера В, мог бы служить адрес и, очевидно, информация контроля ошибок, добавленные к пакету.
Взаимодействие смежных уровней осуществляется через интерфейс. Интерфейс определяет услуги, которые нижний уровень предоставляет верхнему, и способ доступа к ним. Поэтому каждому уровню одного компьютера «кажется», что он непосредственно взаимодействует с таким же уровнем другого компьютера. Далее описывается каждый из семи уровней модели OSI и определяются услуги, которые они предоставляют смежным уровням.
Прикладной уровень
Уровень 7, Прикладной (Application), — самый верхний уровень модели OSI. Он представляет собой окно для доступа прикладных процессов к сетевым услугам. Этот уровень обеспечивает услуги, напрямую поддерживающие приложения пользователя, такие, как программное обеспечение для передачи файлов, доступа к базам данных и электронная почта. Нижележащие уровни поддерживают задачи, выполняемые на Прикладном уровне. Прикладной уровень управляет общим доступом к сети, потоком данных и обработкой ошибок.
Дата добавления: 2016-05-11; просмотров: 2635;