Тср это протокол с гарантированной доставкой данных

Обновлено: 18.05.2024

Содержание

Стек протоколов ТСР/IP

IP-сеть

IP-сеть (какой является Интернет) отличается от глобальных сетей тем, что является составной сетью из подсетей, число которых измеряется тысячами. Для Интернета характерно использование стека протоколов не эталонной модели OSI, а эталонной модели TCP/IP [1] [2] . На рис. 1 представлен стек протоколов TCP/IP и его соответствие уровням модели OSI. Отличительной особенностью TCP/IP является также то, что IP-пакеты могут передаваться с использованием различных технологий составных сетей, в том числе посредством уже рассмотренных глобальных сетей Х.25, FR и ATM, которые являются самостоятельными со своими протоколами, адресацией и др. Другой особенностью является то, что эталонная модель TCP/IP в отличие от эталонной модели OSI была разработана под конкретную составную сеть (интерсеть или internet). Подсети, составляющую эту составную сеть, соединяются между собой маршрутизаторами. Такими подсетями могут быть как локальные, так и глобальные сети различных технологий.


Транспортный уровень стека TCP/IP

Транспортный уровень стека TCP/IP (уровень 3) обеспечивает передачу данных между прикладными процессами. Транспортный уровень включает два протокола TCP и UDP. Протокол управления передачей TCP (Transmission Control Protocol) является надёжным протоколом с установлением соединения, позволяющим управлять потоком, т.е. без ошибок доставлять байтовый поток с одной машины на любую другую машину составной сети. Для того чтобы обеспечить надёжную доставку данных, протокол TCP предусматривает установление логического соединения. Это позволяет ему нумеровать пакеты, подтверждать их прием квитанциями, в случае потери организовывать повторные передачи, распознавать и уничтожать дубликаты, доставлять прикладному уровню в том порядке, в котором они были отправлены. Пакеты, поступающие на транспортный уровень, организуются в виде множества очередей к точкам входа прикладных процессов. В терминологии TCP/IP такие очереди, однозначно определяющие приложение в пределах хоста, называется портами. За портами каждого стандартного приложения определён номер например, порт TCP № 21 - за протоколом передачи файла FTP (File Transport Protocol). Номер порта в совокупности с номером сети и номером конечного узла имеет название сокет (socket). Каждое логическое соединение идентифицируется парой сокетов взаимодействующих процессов. Второй протокол транспортного уровня -протокол пользователей дейтаграмм UDP (User Data Protocol) является простейшим дейтаграммным протоколом (т.е. без установления соединения). К протоколу транспортного уровня относится протокол информационной безопасности SSL/TLS. Протоколы прикладного и транспортного уровней стека уровней TCP/IP устанавливаются на оконечных станциях (хостах) сети.

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

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

Пример переноса данных в IP-сети

На примере IP-сети (рис. 2) покажем перенос данных оконечной станции А локальной вычислительной сети (подсети) Ethernet в оконечную станцию В сети (подсети) АТМ. Как видно из рисунка в эту составную сеть еще входит сеть (подсеть) Frame Relay. В основу приведенного упрощенного описания положен пример межсетевого взаимодействия сетей Ethernet и АТМ, приведенный в работе [3] . Дополнительно в эту составную сеть введена сеть (подсеть) Frame Relay. Принцип маршрутизации и краткое описание протоколов маршрутизации в сети Интернет приведены в следующей главе. Для того, чтобы технология TCP/IP могла решать задачу объединения сетей, ей необходима собственная глобальная система адресации, не зависящая от способов адресации узлов в отдельных подсетях. Таким адресом является IP-адрес, состоящий из адреса подсети (префикса) и адреса оконечного устройства (хоста). Приведем пример адресации подсети и хоста. IP-адрес 200.15.45.126/25 означает, что 25 старших бит из выделенных 4-х байт под адресацию являются адресом подсети, а оставшиеся 7 бит означают адрес хоста в этой сети.

Как видно из предыдущих глав, глобальные сети Frame Relay и АТМ имеют различные системы нумерации, которые отличаются от системы нумерации локальной вычислительной сети (ЛВС) технологии Ethernet. Каждый компьютер Ethernet имеет уникальный физический адрес, состоящий из 48 бит. Этот адрес называется МАС-адресом и относится к канальному уровню — управлению доступом к среде MAC (Media Access Control). Для организации межсетевого взаимодействия подсетей различной технологии и адресации используются маршрутизаторы, включающие IP-пакеты. В состав этих пакетов входят глобальные IP-адреса. Каждый интерфейс маршрутизатора IP-сети и оконечного устройства включает два адреса – локальный адрес оконечного устройства подсети и IP-адрес.


Рассмотрим продвижение IP-пакета в сети (рис. 2).

  1. Пользователь компьютера А сети Ethernet, имеющий IP-адрес (IP-адрес 1), обращается по протоколу передачи файла FTP к компьютеру В, подключенному к сети АТМ и имеющий IP-адрес (IP-адрес 6).
  2. Компьютер А формирует кадр Ethernet для отправки IP-пакета. По таблице маршрутизации в компьютере А на основании IP-адресов А и В определятся маршрутизатор М1 и входящий интерфейс для передачи этого IP-пакета. При этом становится известен IP-адрес интерфейса маршрутизатора М1(IP-адрес 2).
  3. Компьютер А отправляет по сети Ethernet IP-пакет, инкапсулированный в кадр Ethernet и включающий следующие поля (рис. 3).


Протоколы TCP/IP

Ниже приводится краткое описание протокола прикладного уровня SNMP и протокола транспортного уровня TCP архитектуры TCP/IP.

Протокол прикладного уровня SNMP

Большие сети не могут быть настроены и управляться вручную в плане изменения конфигурации сети, устранения неисправности в сети, сбора параметров о качестве обслуживания. Если в сети используется оборудование разных производителей, необходимость таких средств становится особенно необходимой. В связи с этим были разработаны стандарты сетевого управления. Одним из наиболее широко используемых является простой протокол управления сетью SNMP (Simple Network Management Protocol) [4] . Приведем краткие сведения об архитектуре сетевого управления. Система сетевого управления включает инструментальные средства для решения задач управления. При этом необходимо использование уже имеющегося оборудования путем внедрения в него дополнительных аппаратных и программных средств для управления сетью. Это программное обеспечение размещается в хостах, коммуникационных процессорах и других устройствах сети. Модель сетевого управления, используемая для SNMP состоит из следующих элементов:

  • станция управления, выполняющая роль интерфейса между сетевым администратором и системой сетевого управления. Станция управления позволяет осуществить мониторинг сети и управление сетью. В этой станции имеется база данных с информацией, полученной из информационных баз всех управляемых объектов сети;
  • агент управления (хосты, коммутаторы и др.), которые отвечают на запросы от станции управления. Агент обеспечивает информацией станцию и без запроса;
  • агент поддерживает базу данных, именуемую MIB (база управляющей информации, Management Information Base), в которой записаны конфигурация, характеристики и состояние устройств.

Обеспечение информационной безопасности протокола SNMP

В документе RFC 2574 [6] определяется модель USM (User Security Model – модель защиты пользователя) при использовании протокола SNMP. USM разрабатывалась с целью защиты от угроз следующих типов.

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

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

Аннотация: TCP/IP (Transmission Control Protocol/Internet Protocol - Протокол управления передачей/Межсетевой протокол) был и остается протоколом, с помощью которого работает интернет. За то время, что интернет базировался на TCP/IP, он превратился в протокол, который используется в сетях любых конфигураций и размеров. В этой лекции исследуется протокол TCP/IP и возможность его применения в сети, работающей под операционной системой Windows XP Professional.

TCP/IP

Вся прелесть протокола TCP/IP заключается в том, что он позволяет обмениваться информацией между компьютерами, работающими в разных операционных системах. Например, Novell NetWare умеет "разговаривать" на языке TCP/IP , как и Windows XP Professional .

TCP/IP разработан DARPA ( Defense Advanced Research Projects Agency ) в 1970-х годах. Целью его разработки являлось создание возможности для обмена информацией между различными компьютерами, независимо от их местоположения. С самого начала TCP/IP разрабатывался на компьютерах UNIX , что способствовало росту популярности протокола, так как производители включали TCP/IP в набор программного обеспечения каждого UNIX -компьютера. TCP/IP находит свое отображение в эталонной модели OSI , как это показано на рисунке 3.1.

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

Благодаря своему широкому распространению протокол TCP/IP фактически стал интернет -стандартом. Компьютер , на котором реализована сетевая технология , основанная на модели OSI ( Ethernet или Token Ring ), имеет возможность устанавливать связь с другими устройствами. В "Основы организации сети" мы рассматривали уровни 1 и 2 при обсуждении LAN -технологий. Теперь мы перейдем к стеку OSI и посмотрим, каким образом компьютер устанавливает связь в интернете или в частной сети. В этом разделе рассматривается протокол TCP/IP и его конфигурации.

Что такое TCP/IP

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

TCP и UDР

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

Формат IP-дейтаграммы

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

Важно помнить, что IP-пакеты могут иметь различную длину. В "Основы организации сети" говорилось о том, что информационные пакеты в сети Ethernet имеют размер от 64 до 1400 байт. В сети Token Ring их длина составляет 4000 байт, в сети ATM - 53 байта.

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

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

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

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

Маршрутизация - это процедура определения пути следования пакета из одной сети в другую.

2. Иерархия протоколов TCP/IP

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

Семейство TCP/IP принято подразделять на четыре уровня:

1. Канальный уровень (link layer, data-link layer), или уровень сетевого интерфейса (network interface), содержит две основные компоненты: аппаратный сетевой интерфейс компьютера (сетевую карту) и со от соответствующий драйвер этого сетевого интерфейса в операционной системе. Вместе они обеспечивают как физическое подключение к кабелю (или к другой физической среде), так и управление всеми аппаратными процессами передачи.

2. Сетевой уровень (network layer, internet layer) отвечает за перемещение пакетов по тому или иному маршруту в сети. В семействе протоколов ТСР/IР сетевой уровень представлен: протоколами: IP (Internet Protocol), ICMP (Internet Control Message Protocol) и IGMP (Internet Group Management Protocol).

3. Транспортный уровень (transport, layer) организует для вышестоящего прикладного уровня обмен данными между двумя компьютерами и сети. В семействе протоколов TCP/IP одновременно используются два существенно различных транспортных протокола: TCP (Transmission Control Protocol — протокол управления передачей данных) и UDP (User Datagram Protocol — протокол дейтаграмм пользователя). TCP обеспечивает надежную передачу потоков данных между двумя компьютерами в сети. В его задачи входит: разделять данные, поступающие от обслуживаемых им приложений, на блоки приемлемого размера для нижестоящего сетевого уровня; подтверждать получение пришедших к нему по сети пакетов; в течение установленных им периодов времени (таймаутов) ожидать прихода подтверждений о получении отправленных им пакетов и т. п. Поскольку TCP берет нa себя все проблемы обеспечения надежной доставки врученных ему данных по назначению, то прикладной уровень освобождается от этих забот. Напротив, UDP предоставляет прикладному уровню намного более примитивный сервис. Он лишь рассылает данные адресатам в виде пакетов, называемых UDP-дейтаграммами (UDP datagrams), без гарантии их доставки, Предполагается, что требуемая степень надежности пересылки должна обеспечиваться самим прикладным уровнем. Каждый из этих двух транспортных протоколов находит соответствующее его достоинствам и недостаткам применение. Причины, по которым для одних приложений предпочтителен TCP, а для других — UDP, станут понятны при рассмотрении самих приложений.

4. Прикладной уровень (application layer) обеспечивает выполнение разнообразных прикладных задач. Существует определенный "классический” набор стандартных прикладных сервисов, которые предлагаются в большинстве реализаций семейства TCP/IP. В их числе:

· Telnet - протокол удаленного доступа,

· FTP (File Transfer Protocol) — протокол передачи файлов.

· SMTP (Simple Mail Transfer Protocol) — простой протокол обмена электронной почтой,

· SNMP (Simple Network Management Protocol) — простой протокол управления сетью.

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

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

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

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

Структура связей протокольных модулей

прямоугольники – обработка данных;

линии, соединяющие прямоугольники , - пути передачи данных;

горизонтальная линия внизу рисунка - к абель сети Ethernet, которая используется в качестве примера физической среды;

"o" - это трансивер;

"*" - обозначает IP-адрес;

"@" - адрес узла в сети Ethernet (Ethernet-адрес).


Рис.1 . Структура протокольных модулей в узле сети TCP/IP

4. Основные протоколы семейства TCP/IP

В семействе протоколов TCP/IP на транспортном уровне действуют протоколы TCP и UDP. Оба опираются на протокол IP в качестве нижележащего сетевого уровня.

TCP обеспечивает надежную транспортную службу поверх ненадежного сервиса IP.

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

Основным протоколом сетевого уровня является IР. Он обслуживает как TCP, так и UDP. Каждая порция данных формируемых TCP или UDP для пересылки по интерсети, проходит через уровень IP как на оконечных хостах, так и на каждом промежуточном маршрутизаторе. Также некий пользовательский процесс, имеющий прямой доступ к IP. Это допустимое исключение — некоторые протоколы маршрутизации напрямую контактируют с IP; кроме того, эта возможность используется и при проведении экспериментов с новыми протоколами транспортного уровня

IGMP используется при групповой пересылке данных, то есть когда UDP-дейтаграммы предназначены одновременно нескольким хостам. Мы расскажем об основных свойствах широковещательной (broadcasting) передачи UDP-дейтаграмм, адресованных всем хостам указанной сети, и о групповой пересылке данных (multicasting).

ARP и RARP — специализированные протоколы, используемые определенными типами сетевых интерфейсов (например, Ethernet или Token Ring) для отображения адресов уровня IP в соответствующие им адреса канального уровня.

5. Межсетевой протокол IP

В семействе TCP/IP протоколу IP отведена роль "рабочей лошадки": в IP-дейтаграммах передаются все данные TCP, UDP, ICMP и IGMP. Однако доставка IP-дейтаграмм — это по определению ненадежный и не поддерживающий соединение сервис.

Ненадежный сервис не гарантирует того, что IP-дейтаграмма успешно доберется к месту назначения. О такой доставке пакетов принято говорить, что делается все возможное, но успех попытки зависит от обстоятельств (best effort deliveiy). Если на промежуточном узле происходит сбой (например, временно переполнен буфер маршрутизатора), то его IP-модуль действует просто: он уничтожает дейтаграмму. Предполагается, что требуемая степень надежности должна обеспечиваться протоколами верхних уровней (например, TCP).

Термин не поддерживающий соединение (connectionless) означает, что IP не ведет никакого учета очередности доставки дейтаграмм и каждая обрабатывается независимо от остальных. Как следствие, очередность доставки может нарушаться. Когда хост одну за другой последовательно отправляет две дейтаграммы (сначала А, потом В) одному и тому же адресату, маршрутизация обеих происходит независимо. Маршруты их продвижения могут оказаться разными, причем такими, что В прибудет раньше А.

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

5.1. Маршрутизация

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

5.1.1. Прямая маршрутизация

Рис.2 . Простая IP -сеть

На рисунке 2 показана небольшая IP-сеть, состоящая из 3 машин: A, B и C. Каждая машина имеет такой же стек протоколов TCP/IP как на рис.1. Каждый сетевой адаптер этих машин имеет свой Ethernet-адрес. Менеджер сети должен присвоить машинам уникальные IP-адреса.

Когда A посылает IP-пакет B, то заголовок IP-пакета содержит в поле отправителя IP-адрес узла A, а заголовок Ethernet-кадра содержит в поле отправителя Ethernet-адрес A. Кроме этого, IP-заголовок содержит в поле получателя IP-адрес узла B, а Ethernet-заголовок содержит в поле получателя Ethernet-адрес B.

В этом простом примере протокол IP является излишеством, которое мало что добавляет к услугам, предоставляемым сетью Ethernet. Однако протокол IP требует дополнительных расходов на создание, передачу и обработку IP-заголовка. Когда в машине B модуль IP получает IP-пакет от машины A, он сопоставляет IP-адрес места назначения со своим и, если адреса совпадают, то передает датаграмму протоколу верхнего уровня.

В данном случае при взаимодействии A с B используется прямая маршрутизация.

5.1.2. Косвенная маршрутизация

Рис.3 . Сеть internet , состоящая из трех IP -сетей

На рисунке 3 представлена более реалистичная картина сети internet. В данном случае сеть internet состоит из трех сетей Ethernet, на базе которых работают три IP-сети, объединенные шлюзом D. Каждая IP-сеть включает четыре машины; каждая машина имеет свои собственные IP- и Ethernet адреса.

За исключением D все машины имеют стек протоколов, аналогичный показанному на рисунке. Шлюз D соединяет все три сети и, следовательно, имеет три IP-адреса и три Ethernet-адреса. Машина D имеет стек протоколов TCP/IP, он содержит три модуля ARP и три драйвера Ethernet.

Менеджер сети присваивает каждой сети Ethernet уникальный номер, называемый IP-номером сети. На рис.3 IP-номера не показаны, вместо них используются имена сетей.

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

Когда машина D взаимодействует с машиной A, то это прямое взаимодействие. Когда машина D взаимодействует с машиной E, то это прямое взаимодействие. Когда машина D взаимодействует с машиной H, то это прямое взаимодействие. Это так, поскольку каждая пара этих машин принадлежит одной IP-сети.

Однако, когда машина A взаимодействует с машинами, включенными в другую IP-сеть, то взаимодействие уже не будет прямым. Машина A должна использовать шлюз D для ретрансляции IP-пакетов в другую IP-сеть. Такое взаимодействие называется "косвенным".

Маршрутизация IP-пакетов выполняется модулями IP и является прозрачной для модулей TCP, UDP и прикладных процессов.

Если машина A посылает машине E IP-пакет, то IP-адрес и Ethernet-адрес отправителя соответствуют адресам A. IP-адрес места назначения является адресом E, но поскольку модуль IP в A посылает IP-пакет через D, Ethernet-адрес места назначения является адресом D.

Модуль IP в машине D получает IP-пакет и проверяет IP-адрес места назначения. Определив, что это не его IP-адрес, шлюз D посылает этот IP-пакет прямо к E.

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

6. Протокол TCP

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

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

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

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

7. Заключение

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

В общем случае термин TCP/IP обозначает целое семейство протоколов: TCP (Transmission Control Protocol/Internet Protocol) для надежной доставки данных, UDP (User Datagram Protocol) для негарантированной доставки, IP (Internet Protocol) и других прикладных служб.

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

Международная организация по стандартизации (ISO, International Organization for Standardization) разработала эталонную модель взаимодействия открытых систем (OSI, Open Systems Interconnection) в 1978/1979 годах для упрощения открытого взаимодействия компьютерных систем. Открытым называется взаимодействие, которое может поддерживаться в неоднородных средах, содержащих системы разных поставщиков. Модель OSI устанавливает глобальный стандарт, определяющий состав функциональных уровней при открытом взаимодействии между компьютерами.

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

Эталонная модель TCP / IP

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

Гибкость эталонной модель TCP/IP по сравнению с эталонной моделью OSI продемонстрирована на рисунке.

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

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

Межхостовой уровень

К функциям этого уровня относится сегментирование данных в приложениях для пересылки по сети, выполнение математических проверок целостности принятых данных и мультиплексирование потоков данных ( как передаваемых, так и принимаемых) для нескольких приложений одновременно. Отсюда следует, что межхостовой уровень располагает средствами идентификации приложений и умеет переупорядочивать данные, принятые не в том порядке.

В настоящее время межхостовой уровень состоит из двух протоколов: протокола управления передачей TCP и протокола пользовательских дейтаграмм UDP. С учетом того, что Интернет становится все более транзакционно-ориентированным, был определен третий протокол, условно названный протоколом управления транзакциями/передачей T/TCP (Transaction/Transmission Control Protocol). Тем не менее, в большинстве прикладных сервисов Интернета на межхостовом уровне используются протоколы TCP и UDP.

Межсетевой уровень

Межсетевой уровень IPv4 состоит из всех протоколов и процедур, позволяющих потоку данных между хостами проходить по нескольким сетям. Следовательно, пакеты, в которых передаются данные, должны быть маршрутизируемыми. За маршрутизируемость пакетов отвечает протокол IP (Internet Protocol).

Межсетевой уровень должен поддерживать маршрутизацию и функции управления маршрутами. Эти функции предоставляются внешними протоколами, которые называются протоколами маршрутизации. К их числу относятся протоколы IGP (Interior Gateway Protocols) и EGP (Exterior Gateway Protocols).

Уровень сетевого доступа

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

Протокол TCP/IP обеспечивает возможность межплатформенных сетевых взаимодействий ( то есть связи в разнородных сетях). Например, сеть под управлением Windows NT/2000 может содержать рабочие станции Unix и Macintosh, и даже другие сети более низкого порядка. TCP/IP обладает следующими характеристиками:

o Хорошие средства восстановления после сбоев.

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

o Устойчивость к ошибкам.

o Независимость от платформы реализации.

o Низкие непроизводительные затраты на пересылку служебных данных.

Уровни и протоколы TCP/ IP

Протоколы TCP и IP совместно управляют потоками данных ( как входящими, так и исходящими) в сети. Но если протокол IP просто передает пакеты, не обращая внимания на результат, TCP должен проследить за тем, чтобы пакеты прибыли в положенное место. В частности, TCP отвечает за выполнение следующих задач:

o Открытие и закрытие сеанса.

o Управление пакетами.

o Управление потоком данных.

o Обнаружение и обработка ошибок.

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

Семейство протоколов IP состоит из нескольких протоколов, часто обозначаемых общим термином “TCP/IP”:

o IP – протокол межсетевого уровня;

o TCP – протокол межхостового уровня, обеспечивающий надежную доставку;

o UDP – протокол межхостового уровня, не обеспечивающий надежной доставки;

o ICMP – многоуровневый протокол, упрощающий контроль, тестирование и управление в сетях IP. Различные протоколы ICMP распространяются на межхостовой и прикладной уровни.

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

Благодаря неустанной работе IETF протокол IP постоянно развивается. В последующих RFC (Request for Comments) были добавлены многочисленные новые возможности. Тем не менее, все они строятся на основе, заложенной в RFC 791. С архитектурной точки зрения текущая версия IP имеет номер 4 (Ipv4). Со временем новая версия (Ipv6) постепенно вытеснит Ipv4, но в настоящее время повсеместно поддерживается стандарт Ipv4.

Задачи протокола IP

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

o адресация и маршрутизация;

o фрагментация и повторная сборка;

o выявление и исправление данных, поврежденных в процессе пересылки;

Протокол TCP (Transmission Control Protocol) пользуется сервисом IP для обеспечения надежной доставки прикладных данных. ТСР создает между двумя или более хостами сеанс, ориентированный на соединение. Он обладает такими возможностями, как поддержка нескольких потоков данных, координация потока и контроль ошибок и даже восстановление нарушенного порядка пакетов. Протокол ТСР также разрабатывался посредством публикации общедоступных документов RFC группой IETF.

Задачи протокола ТСР

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

o мультиплексирование данных между приложениями и сетью;

o проверка целостности полученных данных;

o восстановление нарушенного порядка данных;

o подтверждение успешного получения данных;

o регулирование скорости передачи данных;

o измерение временных характеристик;

o координация повторной передачи данных, поврежденных или потерянных в процессе пересылки.

Задачи протокола UDP

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

UDP не обладает ни одной из нетривиальных возможностей, обеспечиваемых протоколом ТСР. В нем не предусмотрены таймеры, средства управления потоком или регулировки скорости передачи, подтверждения, механизмы ускоренной доставки срочных данных и т.д. Протокол UDP просто пытается доставить дейтаграмму. Если попытка по какой-либо причине завершается неудачей, дейтаграмма теряется без каких-либо попыток повторной передачи данных.

В системах Unix поддержка FTP обычно обеспечивается программами ftpd и ftp. По умолчанию протокол FTP работает на портах 20 (пересылка данных) и 21 (пересылка команд). FTP отличается от всех остальных протоколов ТСР/IP тем, что команды могут передаваться одновременно с передачей данных в реальном времени; у других протоколов подобная возможность отсутствует.

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

Название протокола TFTP (Trivial FTP) выбрано весьма удачно. TFTP поддерживает лишь малое подмножество функций FTP. Он работает на базе протокола UDP. TFTP не следит за доставкой пакетов и практически не обладает средствами обработки ошибок. С другой стороны, эти ограничения снижают непроизводительные затраты при пересылке. TFTP не выполняет аутентификации; он просто устанавливает соединение. В качестве защитной меры TFTP позволяет перемещать только общедоступные файлы.

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

Протокол SMTP (Simple Mail Transfer Protocol) является фактическим стандартом пересылки электронной почты в сетях, особенно в Интернете. Во всех операционных системах имеются почтовые клиенты с поддержкой SMTP, а большинство поставщиков услуг Интернета использует SMTP для работы с исходящей почтой. Серверы SMTP существуют для всех операционных систем, включая Windows 9x/NT/2K, MacOS, семейство Unix, Linux, BeOS, и даже AmigaOS.

Файловая система NFS (Network File System) создавалась компанией Sun Microsystems, Inc. для решения проблем в сетях с несколькими операционными системами. NFS поддерживает только совместны доступ к файлам и является компонентом многих операционных систем семейства Unix. Кроме того, NFS хорошо поддерживается большинством других операционных систем.

В NFS версии 1 и 2 в качестве основного транспортного протокола использовался протокол UDP. Поскольку UDP не обеспечивает гарантированной доставки, для ненадежных каналов эта проблема должна решаться на уровне NFS, а не на уровне протокола. Из-за этого в некоторых ранних реализациях NFS существовали проблемы с порчей содержимого файлов.

Начиная с NFS версии 3, в качестве транспортного протокола может использоваться TCP. Впрочем, появившаяся в NFS 3 поддержка TCP не оптимизирована. При использовании TCP в качестве транспортного протокола NFS может использовать надежность ТСР для повышения качества доставки по ненадежным каналам. Соответственно, NFS версии 3 лучше работает в глобальных сетях и в Интернет.

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

Сетевые устройства передают информацию о себе через базу управляющей информации MIB (Management Information Base). Эти данные, описывающие устройство, передаются станции управления SNMP (SNMP Management Station), которая поочередно идентифицирует каждое устройство и сохраняет информацию о нем. Станция управляет всеми SNMP-совместимыми устройствами. Для каждого устройства запускается агент SNMP, представляющий клиентскую сторону операций с устройствами. Когда станция управления запрашивает информацию о порте командой GET, агент возвращает эту информацию.

World Wide Web часто называют технологическим прорывом 1990-х годов. Web стала величайшим достижением с первых дней революции, произведенной широким внедрением персональных компьютеров.

Концепция World Wide Web разрабатывалась в Европейской лаборатории по ядерным исследованиям (CERN) для упрощения совместного доступа к файлам и обмена информацией между учеными-физиками. В 1993 году в Национальном центре по использованию суперкомпьютеров (NCSA) был разработан первый графический браузер Mosaic. С разработки этого web-клиента началась World Wide Web в том виде, в котором она существует сегодня.

Семейство протоколов TCP/IP (включая UDP и ICMP) удовлетворяло быстро растущие потребности пользователей и приложений более 20 лет. За это время протоколы постоянно обновлялись, что объяснялось новыми технологическими разработками и превращением Интернета из исследовательской среды с ограниченным кругом пользователей в общедоступную коммерческую инфраструктуру.

Коммерциализация Интернета вызвала бурный рост сообщества пользователей и изменила его демографическую структуру. В свою очередь, это обусловило необходимость в новых адресах и поддержки новых типов сервиса на уровне Интернета. Ограниченные возможности Ipv4 привели к разработке совершенно новой версии протокола. Новой версии IP был присвоен номер 6 (Ipv6), но также часто используется термин Ipng (Internet Protocol: Next Generation).

TCP / IP . Для профессионалов. 3-е издание / Т. Паркер, К. Сиян –СПб.: Питер, 2004

Персональные компьютеры в сетях TCP/IP / Крейг Хант; перев. с англ. - BHV-Киев, 1997.

Высокопроизводительные сети. Энциклопедия пользователя / Марк А. Спортак и др.; перев. с англ. - Киев, ДиаСофт, 1998

Сети ЭВМ: протоколы, стандарты, интерфейсы / Ю. Блэк; перев. с англ. - М.: Мир, 1990.

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