logo
2 / ИСС / Основы сетевых технологий

3.2 Модель tcp/ip.

Для обеспечения сетевых взаимодействий между сетевыми объектами каждый из объектов должен понимать другой объект,говорить с ним на одном языке. Другими словами, сетевые объекты должны удовлетворять определенному протоколу, набору правил общения.Поскольку сетевое общение между сетевыми объектами является достаточно сложным процессом, описываемым всеми уровнями моделиOSI, то и набор правил для организации общения достаточно сложен. Для реализации данного набора правил разработаны наборы, илистеки,взаимосвязанных и логически сгруппированных протоколов. Существует достаточно большое количество стеков протоколов, однако наиболее широкое распространение в настоящее время получили два:стек TCP/IPи стекIPX/SPX.

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

В недавнем прошлом, при построении локальных компьютерных сетей активно использовался стек протоколов IPX/SPX,поддерживаемый фирмойNovell.Он является базовым дляоперационных систем семействаNetWare, производимых Novell. СтекIPX/SPXтакже открыт для дополнений и расширений, но все изменения в рамках данного стека протоколов возможны только после их одобрения специальным подразделением Novell.

Кроме кратко рассмотренных стеков протоколов существуют и другие. Сетевые взаимодействия для аппаратных платформ ведущих производителей поддерживаются их собственными сетевыми архитектурами. Для организации взаимодействий между компьютерами, производимыми корпорацией DEC,была разработана архитектураDECnet, включающая в себя протоколы, реализующие задачи, описанные на всех уровнях моделиOSI. Другим крупным производителем вычислительных систем, поддерживающим собственные сетевые архитектуры -корпорацияIBМ.Для организации сетевых взаимодействий специалисты IBM разработали архитектуруSNA(SystemNetworkArchitecture) Именно эта сетевая архитектура и была взята за основу при создании модели описания сетевых взаимодействий - эталонной моделиOSI.

Соответствие уровней стека TCP/IPуровням моделиOSI

Структура IP-пакета

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

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

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

7

WWW, Gopher, WAIS

SNMP

FTP

Telnet

TFTP

SMTP

I

6

5

TCP

UDP

II

4

3

IP

ICMP

RIP

OSPF

ARP

III

2

нерегламентируется : Ethernet, GigabitEthernet,Token Ring,PPP,FDDI,X.25,SLIP,FrameRelay...

IV

1

уровни OSI

уровни TCP/IP

Прикладной уровень

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

В отличие от протоколов остальных трех уровней, протоколы прикладного уровня занимаются деталями конкретного приложения и «не интересуются» способами передачи данных по сети. Этот уровень постоянно расширяется за счет присоединения к старым, прошедшим многолетнюю эксплуатацию сетевым службам типа Telnet,FTP,TFTP,DNS,SNMP, HTTP, новых служб, таких, например, как протокол передачи HTTP S .

Основной уровень стека TCP/IP

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

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

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

Уровень межсетевого взаимодействия

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

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

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

Уровень сетевых интерфейсов

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

Уровень сетевых интерфейсов в протоколах TCP/IPне регламентируется, но он поддерживает все популярные стандарты физического и канального уровней: для локальных сетей - этоEthernet, TokenRing,FDDI, FastEthernet, GigabitEthernet, 100VG-AnyLAN, для глобальных сетей- протоколы соединений «точка-точка»SLIPиPPP, протоколы территориальных сетей с коммутацией пакетовX.25,FrameRelay. Разработана также специальная спецификация, определяющая использование технологииATMв качестве транспорта канального уровня.

Рисунок 53 . Соответствие уровней стека TCP/IPуровням моделиOSI

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

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

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

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

Единицы данных протоколов стека TCP/IP

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

Рисунок 54 . Пример инкапсуляции пакетов в стеке TCP/IP

Инкапсуляция—свойство языка программирования, позволяющее объединить и защитить данные и код в объект и скрыть реализацию объекта от пользователя (прикладного программиста). При этом пользователю предоставляется только спецификация ( интерфейс ) объекта.

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

I

ПРИКЛАДНЫЕ ПРОТОКОЛЫ  (поток)

II

UDP(дейтаграмма)

TCP(сегмент)

III

IP(пакет илиIP-дейтаграмма)

IV

СЕТЕВЫЕ ИНТЕРФЕЙСЫ  (кадр(фрейм))

Потоком называют данные, поступающие от приложений на вход транспортного уровняTCPилиUDP. ПротоколTCPнарезает из потокасегменты.Единицу данных протоколаUDPчасто называютдейтаграммой.

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

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

Начало формы

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4