протокол tcp является протоколом какого уровня модели osi
📑 Модели OSI и TCP/IP
В 1982 году Международной организацией по стандартизации (International Organization for Standardization, ISO) при поддержке ITU-T был начат новый проект в области сетевых технологий, который был назван Open System Intercommunication (OSI). Эта модель является первым шагом к международной стандартизации протоколов, используемых на различных уровнях (Day и Zimmerman, 1983). Затем она была пересмотрена в 1995 году (Day, 1995). Открытым называется взаимодействие, которое может поддерживаться в неоднородных средах, содержащих системы разных поставщиков. Модель OSI устанавливает глобальный стандарт, определяющий состав функциональных уровней при открытом взаимодействии между компьютерами.
У моделей OSI и TCP имеется много общих черт. Обе модели основаны на концепции стека независимых протоколов. Функциональность уровней также во многом схожа. Например, в каждой модели уровни, начиная с транспортного и выше, предоставляют сквозную, не зависящую от сети транспортную службу для процессов, желающих обмениваться информацией. Эти уровни образуют поставщика транспорта. Также в каждой модели уровни выше транспортного являются прикладными потребителями транспортной службы.
Прикладной уровень
Обеспечивает преобразование данных, специфичных для каждого приложения. Отвечает за доступ приложений в сеть.
Протоколы
HTTP, gopher, Telnet, DNS, SMTP, SNMP, CMIP, FTP, TFTP, SSH, IRC, AIM, NFS, NNTP, NTP, SNTP, XMPP, FTAM, APPC, X.400, X.500, AFP, LDAP, SIP, ITMS, ModbusTCP, BACnetIP, IMAP, POP3, SMB, MFTP, BitTorrent, eD2k, PROFIBUS
Уровень представления
Осуществляет преобразование данных общего характера (кодирование, компрессия и т.п.) прикладного уровня в поток информации для транспортного уровня. Отвечает за возможность диалога между приложениями на разных машинах.
Протоколы
HTTP, ASN.1, XML-RPC, TDI, XDR, SNMP, FTP, Telnet, SMTP, NCP, AFP
Сеансовый уровень
Добавляет транспортной функции удобства обращения, управляет диалогом на протяжении установленной сессии связи. Отвечает за организацию сеансов обмена данными между оконечными машинами.
Протоколы
ASP, ADSP, DLC, Named Pipes, NBT, NetBIOS, NWLink, Printer Access Protocol, Zone Information Protocol, SSL, TLS, SOCKS
Транспортный уровень
Выполняет свободную от ошибок, ориентированную на работу с сообщениями сквозную передачу. Делит потоки информации на достаточно малые фрагменты (пакеты) для передачи их на сетевой уровень.
Протоколы
TCP, UDP, NetBEUI, AEP, ATP, IL, NBP, RTMP, SMB, SPX, SCTP, DCCP, RTP, TFTP
Сетевой уровень
Обеспечивает маршрутизацию, и управление загрузкой канала передачи, предоставляет необработанный маршрут передачи, состоящий лишь из конечных точек. Отвечает за деление пользователей на группы. На этом уровне происходит маршрутизация пакетов на основе преобразования MAC-адресов в сетевые адреса. Сетевой уровень обеспечивает также прозрачную передачу пакетов на транспортный уровень.
Протоколы
IP, IPv6, ICMP, IGMP, IPX, NWLink, NetBEUI, DDP, IPSec, ARP, RARP, DHCP, BootP, SKIP, RIP
Канальный уровень
Осуществляет свободную от ошибок передачу по отдельному каналу связи. Обеспечивает создание, передачу и прием кадров данных. Этот уровень обслуживает запросы сетевого уровня и использует сервис физического уровня для приема и передачи пакетов. Спецификации IEEE 802.x делят канальный уровень на два подуровня: управление логическим каналом (LLC) и управление доступом к среде (MAC). LLC обеспечивает обслуживание сетевого уровня, а подуровень MAC регулирует доступ к разделяемой физической среде.
Протоколы
ARCnet, ATM, DTM, SLIP, SMDS, Ethernet, FDDI, Frame Relay, LocalTalk, Token ring, StarLan, WiFi, L2F, L2TP, PPTP, PPP, PPPoE, PROFIBUS,STP
Физический уровнь
Выполняет реальную физическую передачу бит данных. Получает пакеты данных от вышележащего канального уровня и преобразует их в оптические или электрические сигналы, соответствующие 0 и 1 бинарного потока. Эти сигналы посылаются через среду передачи на приемный узел. Механические и электрические/оптические свойства среды передачи определяются на физическом уровне и включают:
Протоколы
RS-232, RS-422, RS-423, RS-449, RS-485, ITU-T, xDSL, ISDN, T-carrier (T1, E1), модификации стандарта Ethernet: 10BASE-T, 10BASE2, 10BASE5, 100BASE-T (включает 100BASE-TX, 100BASE-T4, 100BASE-FX), 1000BASE-T, 1000BASE-TX, 1000BASE-SX
Cтек TCP/IP
Модель TCP/IP называют также моделью DARPA (сокращение от Defense Advanced Research Projects Agency, организация, в которой в свое время разрабатывались сетевые проекты, в том числе протокол TCP/IP, и которая стояла у истоков сети Интернет) или моделью Министерства обороны CША (модель DoD, Department of Defense, проект DARPA работал по заказу этого ведомства).
Модель TCP/IP разрабатывалась для описания стека протоколов TCP/IP (Transmission Control Protocol/Internet Protocol). Она была разработана значительно раньше, чем модель OSI — в 1970 г. был разработан необходимый набор стандартов, а к 1978 году окончательно оформилось то, что сегодня мы называем TCP/IP. Позже стек адаптировали для использования в локальных сетях. В начале 1980 г. протокол стал составной частью ОС UNIX. В том же году появилась объединенная сеть Internet..
Стек протоколов TCP/IP — набор сетевых протоколов, на которых базируется интернет. Обычно в стеке TCP/IP верхние 3 уровня (прикладной, представительный и сеансовый) модели OSI объединяют в один — прикладной. Поскольку в таком стеке не предусматривается унифицированный протокол передачи данных, функции по определению типа данных передаются приложению.
В отличие от эталонной модели OSI, модель ТСР/IP в большей степени ориентируется на обеспечение сетевых взаимодействий, нежели на жесткое разделение функциональных уровней. Для этой цели она признает важность иерархической структуры функций, но предоставляет проектировщикам протоколов достаточную гибкость в реализации. Соответственно, эталонная модель OSI гораздо лучше подходит для объяснения механики межкомпьютерных взаимодействий, но протокол TCP/IP стал основным межсетевым протоколом.
Транспортный уровень моделей OSI, TCP/IP
9.1. Общие сведения о транспортном уровне
Основной функцией транспортного уровня является транспортировка сообщений между приложениями узла источника и узла назначения. Приложение узла источника формирует сообщение и передает его на приложение узла назначения независимо от маршрута, т.е. независимо от протоколов сетевого уровня, и независимо от среды передачи, т.е. независимо от протоколов канального и физического уровней. Транспортный уровень реализует управление потоком информации от источника до устройства назначения.
Контроль доставки сообщения из одного конца соединения до другого и надежность обеспечены целым рядом параметров, передаваемых в заголовках сегментов:
Транспортный уровень устанавливает логическое соединение между двумя конечными точками сети. Протоколы транспортного уровня сегментируют данные, посланные приложениями верхнего уровня на передающей стороне, и повторно собирают (реассемблируют) из полученных сегментов целое сообщение на приемной стороне.
На каждом конечном узле сети может быть запущено много разных приложений. Кроме того, сегменты могут быть направлены одному или многим узлам назначения. Процесс обмена данными между приложениями источника и назначения называется сеансом связи. Протоколы транспортного уровня обеспечивают многочисленные одновременно протекающие процессы обмена данными, т.е. отслеживают отдельные сеансы связи. Множество одновременно протекающих процессов обмена данными верхнего уровня (множество сеансов связи) может быть мультиплексировано поверх одного логического транспортного соединения.
Итак, протокол транспортного уровня TCP помимо деления сообщения на сегменты и идентификации приложений обеспечивает:
Для облегчения контроля и обеспечения надежности сообщения передаются частями (порциями), т.е. сегментами. При этом протокол транспортного уровня узла источника должен прослеживать каждый сегмент данных при передаче и повторно передавать любую часть сообщения, прием которой не был подтвержден устройством назначения. Транспортный уровень конечного узла на приемной стороне должен отследить получение данных и подтвердить это получение.
Контроль потока необходим, чтобы гарантировать, что источник, передавая данные с некоторой скоростью, не переполняет буферные устройства узла назначения. Если узел назначения не может обрабатывать данные в темпе их поступления, то может произойти переполнение буферов и потеря данных. Управление скоростью передачи данных обеспечивается изменением размера окна (Window Size ), который указывает, сколько байт данных должно быть передано за одну порцию. При переполнении буферных устройств узел назначения посылает источнику требование уменьшения размера окна, т.е. снижения скорости передачи.
После получения каждой порции данных узел назначения посылает источнику подтверждение принятых данных или подтверждение доставки ( acknowledgment ).
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 |
Номер порта источника | Номер порта назначения | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Номер последовательности | |||||||||||||||||||||||||||||||
Номер подтверждения | |||||||||||||||||||||||||||||||
ДЗ | Резерв | Код | Размер окна | ||||||||||||||||||||||||||||
Контрольная сумма | Индикатор | ||||||||||||||||||||||||||||||
Опции | |||||||||||||||||||||||||||||||
Данные |
Поля заголовка TCP сегмента определяют следующее:
Заголовок TCP (рис. 9.1) содержит номер последовательности ( Sequence Number ), используемый, чтобы гарантировать объединение частей (сегментов) сообщения в том порядке, в котором они были переданы. TCP обеспечивает надежность передачи сообщений за счет передачи номера подтверждения, и контроль потока, управляемого размером окна. Однако TCP потребляет много ресурсов и вносит задержку в передачу данных. При передаче некоторых видов трафика (аудио- и видеоинформация) задержка и особенно ее вариация могут исказить передаваемые сообщения.