В набор протоколов сетевых архитектур входят. Архитектура протоколов в компьютерных сетях

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

Рис. 3.2

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

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

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

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

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

Уровень Приложения

Через уровень Приложения модели TCP/IP приложения и службы получают доступ к сети. Доступ к протоколам TCP/IP осуществляется посредством двух программных интерфейсов (API - Application Programming Interface):

Сокеты Windows;

Интерфейс сокетов Windows, или как его называют WinSock, является сетевым программным интерфейсом, предназначенным для облегчения взаимодействия между различными TCP/IP - приложениями и семействами протоколов.

Интерфейс NetBIOS используется для связи между процессами (IPC - Interposes Communications) служб и приложений ОС Windows. NetBIOS выполняет три основных функции:

определение имен NetBIOS;

служба дейтаграмм NetBIOS;

служба сеанса NetBIOS.

В таблице 3.1 приведено семейство протоколов TCP/IP.

Таблица 3.1

Название протокола

Описание протокола

Сетевой программный интерфейс

Связь с приложениями ОС Windows

Интерфейс транспортного драйвера (Transport Driver Interface) позволяет создавать компоненты сеансового уровня.

Протокол управления передачей (Transmission Control Protocol)

Протокол пользовательских дейтаграмм (User Datagram Protocol)

Протокол разрешения адресов (Address Resolution Protocol)

Протокол обратного разрешения адресов (Reverse Address Resolution Protocol)

Протокол Internet(Internet Protocol)

Протокол управляющих сообщений Internet (Internet Control Message Protocol)

Протокол управления группами Интернета (Internet Group Management Protocol),

Интерфейс взаимодействия между драйверами транспортных протоколов

Протокол пересылки файлов (File Transfer Protocol)

Простой протокол пересылки файлов (Trivial File Transfer Protocol)

Уровень транспорта

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

подтверждение получения информации4

управление потоком данных;

упорядочение и ретрансляция пакетов.

В зависимости от типа службы могут быть использованы два протокола:

TCP (Transmission Control Protocol - протокол управления передачей);

UDP (User Datagram Protocol - пользовательский протокол дейтаграмм).

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

Протокол управления передачей (TCP)

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

Клиент, запрашивающий соединение, отправляет серверу пакет, указывающий номер порта, который клиент желает использовать, а также код (определенное число) ISN (Initial Sequence number).

Сервер отвечает пакетом, содержащий ISN сервера, а также ISN клиента, увеличенный на 1.

Клиент должен подтвердить установление соединения, вернув ISN сервера, увеличенный на 1.

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

Пользовательский протокол дейтаграмм (UDP)

В отличие от TCP UDP не устанавливает соединения. Протокол UDP предназначен для отправки небольших объемов данных без установки соединения и используется приложениями, которые не нуждаются в подтверждении адресатом их получения. UDP также использует номера портов для определения конкретного процесса по указанному IP адресу. Однако UDP порты отличаются от TCP портов и, следовательно, могут использовать те же номера портов, что и TCP, без конфликта между службами.

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

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

Протокол Интернета IP

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

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

Адресация в IP-сетях

Каждый компьютер в сетях TCP/IP имеет адреса трех уровней: физический (MAC-адрес), сетевой (IP-адрес) и символьный (DNS-имя).

Физический, или локальный адрес узла, определяемый технологией, с помощью которой построена сеть, в которую входит узел. Для узлов, входящих в локальные сети - это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС - адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем.

Сетевой, или IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Internet (Network Information Center, NIC), если сеть должна работать как составная часть Internet. Обычно провайдеры услуг Internet получают диапазоны адресов у подразделений NIC, а затем распределяют их между своими абонентами. Номер узла в протоколе IP назначается независимо от локального адреса узла. Деление IP-адреса на поле номера сети и номера узла - гибкое, и граница между этими полями может устанавливаться произвольно. Узел может входить в несколько IP-сетей. В этом случае узел должен иметь несколько IP-адресов, по числу сетевых связей. IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

Символьный адрес, или DNS-имя, например, SERV1.IBM.COM. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена. Такой адрес используется на прикладном уровне, например, в протоколах FTP или telnet.

Протоколы сопоставления адреса ARP и RARP

Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol (ARP). ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети - протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило, не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу - нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP - RARP (Reverse Address Resolution Protocol) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.

В локальных сетях ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом.

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

Протокол ICMP

Протокол управления сообщениями Интернета (ICMP - Internet Control Message Protocol) используется IP и другими протоколами высокого уровня для отправки и получения отчетов о состоянии переданной информации. Этот протокол используется для контроля скорости передачи информации между двумя системами. Если маршрутизатор, соединяющий две системы, перегружен трафиком, он может отправить специальное сообщение ICMP - ошибку для уменьшения скорости отправления сообщений.

Протокол IGMP

Узлы локальной сети используют протокол управления группами Интернета (IGMP - Internet Group Management Protocol), чтобы зарегистрировать себя в группе. Информация о группах содержится на маршрутизаторах локальной сети. Маршрутизаторы используют эту информацию для передачи групповых сообщений.

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

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

Уровень сетевого интерфейса

Этот уровень модели TCP/IP отвечает за распределение IP-дейтаграмм. Он работает с ARP для определения информации, которая должна быть помещена в заголовок каждого кадра. Затем на этом уровне создается кадр, подходящий для используемого типа сети, такого как Ethernet, Token Ring или ATM, затем IP-дейтаграмма помещается в область данных этого кадра, и он отправляется в сеть.

Вопросы

Назначение спецификации стандартов IEEE802.

Какой стандарт описывает сетевую технологию Ethernet?

Какой стандарт определяет задачи управления логической связью?

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

Какой стандарт описывает сетевую технологию ArcNet?

Какой стандарт описывает сетевую технологию Token Ring?

Что такое интерфейс уровня базовой модели OSI?

Что такое протокол уровня базовой модели OSI?

Дать определение стека протоколов.

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

Назвать наиболее популярные сетевые протоколы.

Назвать наиболее популярные транспортные протоколы.

Назвать наиболее популярные прикладные протоколы.

Перечислить наиболее популярные стеки протоколов.

Назначение программных интерфейсов сокетов Windows и NetBIOS.

Чем отличается протокол TCP от UDP?

Функции протокола IP.

Какие существуют виды адресации в IP-сетях?

Какой протокол необходим для определения локального адреса по IP-адресу?

Какой протокол необходим для определения IP-адреса по локальному адресу?

Какой протокол используется для управления сообщениями Интернета?

Назначение уровня сетевого интерфейса стека TCP/IP.

Архитектура протоколов TCP/IP, известная как набор протоколов TCP/IP, возникла в результате исследований в области протоколов и разработок, выпол­нявшихся в экспериментальной сети с коммутацией пакетов под названием ARPANET, которая была основана Управлением перспективных исследователь­ских программ Министерства обороны США (Defense Advanced Research Projects Agency - DARPA). Этот набор протоколов состоит из большого собрания прото­колов, изданных Координационным советом по сети Internet (Internet Activities Board - IAB) в качестве стандартов для Internet.

Уровни протокола tcp/ip

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

Ввиду этого в задаче обмена информацией естественно выделить пять отно­сительно независимых уровней:

    физический уровень (physical layer);

    уровень доступа к сети (network access layer);

    межсетевой уровень (intranet layer);

    транспортный уровень (host-to-host layer или transport layer);

    уровень приложений (application layer).

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

Уровень доступа к сети связан с обменом данными между конечной систе­мой (сервером, рабочей станцией и т.п.) и сетью, к которой подсоединена эта система. Компьютер-отправитель должен передать в сеть адрес компьютера-адресата, чтобы сеть могла направить данные по месту назначения. Компьютеру-отправителю могут понадобиться определенные сервисы, такие, как предостав­ляемый сетью приоритет. Вид используемых на этом уровне программ зависит от типа сети; разработаны различные стандарты для сетей с коммутацией кана­лов, коммутацией пакетов (например, Х.25), локальных сетей (Local Area Net - LAN) (например, Ethernet) и других. Таким образом, имеет смысл выделить функции, связанные с предоставлением сетевого доступа, в отдельный уровень. С помощью этого приема удается избавиться от необходимости рассматривать в ос­тальных программах, предназначенных для обмена информацией на более высо­ких уровнях доступа к сети, специфические вопросы устройства используемых сетей. Одни и те же программы более высоких уровней должны правильно рабо­тать независимо от того, к какой сети подключен компьютер.

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

Независимо от природы приложений обмен данными должен быть надеж­ным. Т.е. хотелось бы иметь уверенность в том, что все данные попали к прило­жению-адресату и что эти данные получены в том порядке, в котором они от­правлены. Как вы увидите, механизмы обеспечения надежности, по сути, неза­висимы от природы приложений. Таким образом, имеет смысл выделить такие механизмы в один общий уровень, совместно используемый всеми приложения­ми; он называется транспортным уровнем. Чаще всего для этого применяется протокол управления передачей (Transmission Control Protocol - TCP).

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

Работа протоколов TCP и IP

На рис. А.1 показано конфигурирование этих протоколов для обмена ин­формацией. Чтобы было ясно, что средство связи в целом может состоять из не­скольких сетей, составляющие сети обычно называются подсетями (subnetworks). Для подключения компьютера в подсеть используется некоторый протокол доступа к сети, например Ethernet. Этот протокол позволяет узлу пере­сылать данные по подсети другому узлу; если же узел-получатель находится в другой подсети, данные попадают на маршрутизатор. Протокол IP реализован на всех конечных системах и маршрутизаторах. При передаче данных от одного узла другому с промежуточным прохождением одного или нескольких маршрути­заторов этот протокол действует как релейная станция. Протокол TCP реализо­ван только на конечных системах; он отслеживает блоки данных, убеждаясь, что все они надежно доставлены соответствующим приложениям.

Чтобы обмен информацией был возможен, каждый элемент системы должен иметь уникальный адрес. Фактически нужно задать два уровня адресации. Каж­дый узел подсети должен обладать своим уникальным глобальным сетевым адре­сом; это позволит доставить данные соответствующему узлу. Каждый процесс узла должен иметь адрес, который был бы уникальным в пределах этого узла, что позволит транспортному протоколу (TCP) доставить данные нужному про­цессу. Этот адрес известен как порт.

Проследим за выполнением простой операции. Предположим, что процессу, выполняющемуся на узле А и связанному с портом 1, нужно отправить сообщение другому процессу, связанному с портом 3 на узле В. Процесс на узле А передает про­токолу TCP сообщение с инструкциями, предписывающими отправить его в порт 3 узла В. Протокол TCP передает сообщение протоколу IP, снабжая это сообщение ин­струкциями отправить его на узел В. Обратите внимание, что протоколу IP не нужно сообщать идентификатор порта назначения. Все, что ему нужно знать, - это сами данные и идентификатор узла В. После этого протокол IP передает сообщение на уровень доступа к сети (например, протоколу Ethernet), снабжая его инструкциями отправить это сообщение маршрутизатору J (первый ретранслятор на пути к узлу В).

Чтобы сообщением можно было управлять, вместе с пользовательскими данны­ми в нем должна передаваться управляющая информация (рис. А.2). Предположим, что процесс-отправитель порождает блок данных и передает его протоколу TCP. Протокол TCP может разбить этот блок на меньшие части, чтобы ими было легче управлять. К каждой из этих частей протокол TCP добавляет управляющую инфор­мацию, известную как TCP-заголовок (TCP header), формируя сегмент TCP (TCP segment). Эта управляющая информация будет использоваться протоколом TCP на узле В. В заголовок среди прочих входят такие пункты.

    Порт назначения (destination port). Когда объект TCP на узле В получает сегмент, ему необходимо знать, кому нужно доставить данные.

    Порядковый номер (sequence number). Протокол TCP нумерует сегменты, которые он последовательно пересылает в определенный порт назначения. Это делается для того, чтобы при нарушении порядка получения сообщений объект TCP на узле В мог расположить их в правильном порядке.

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

Затем протокол TCP передает сегменты протоколу IP, снабжая каждый из них инструкциями передать эти пакеты узлу В. Данные сегменты необходимо будет передать через одну или несколько подсетей, при этом они должны пройти через один или несколько маршрутизаторов. Для этого тоже нужна контрольная информация. Поэтому протокол IP добавляет к каждому сегменту заголовок с контрольной информацией, формируя таким образом IP-датаграмму (IP data­gram). Одним из хранящихся в IP-заголовке каждого сегмента элементов явля­ется адрес узла назначения (в нашем примере, узла В).

Наконец, каждая IP-датаграмма передается на уровень доступа к сети, что­бы на ее пути к месту назначения она могла пересечь первую подсеть. Уровень доступа к сети добавляет свой собственный заголовок, создавая при этом пакет, или кадр (фрейм). Этот пакет передается по подсети маршрутизатору подсети J. В заголовке пакета содержится необходимая для подсети информация, благодаря которой эти данные смогут пройти по подсети. Среди других элементов в заго­ловке могут содержаться такие.

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

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

На маршрутизаторе J из пакета удаляется его заголовок пакета и проверя­ется IP-заголовок. Основываясь на адресе назначения, который содержится в IP-заголовке, IP-модуль маршрутизатора, направляет датаграмму по подсети 2 на узел В. Для этого к ней снова добавляется заголовок доступа к сети.

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

Протоколы TCP и UDP

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

На рис. А.З.а показан формат заголовка TCP, который состоит как минимум из 20 октетов или 160 бит. В полях Порт отправления (Source Port) и Порт назна­чения (Destination Port) указаны идентификаторы приложений исходной системы и системы назначения, которые используют это соединение. 1 Поля Порядковый номер (Sequence Number), Номер подтверждения (Acknowledgment Number) и Окно (Window) обеспечивают текущее управление и контроль ошибок. Каждый сегмент пронумерован, чтобы можно было обнаруживать их потерю и отправлять явные подтверждения при получении сегментов. Объект, отправляющий подтверждения, для каждого из них указывает в поле Окно, сколько еще данных он готов при­нять. Поле Контрольная сумма (Checksum) представляет собой 16-битовый кадр, в котором находится контрольная последовательность, предназначенная для выяв­ления ошибок в сегменте TCP.

Кроме протокола TCP существует еще один широко используемый протокол транспортного уровня, входящий в набор протоколов TCP/IP: пользовательский протокол датаграмм (User Datagram Protocol - UDP). Протокол UDP предостав­ляет сервис без установления соединения, предназначенный для процедур на уровне приложений; этот протокол не гарантирует доставку, сохранение после­довательности или защиту от дублирования. Он позволяет процедуре отправлять сообщения другим процедурам с помощью минимального протокольного меха­низма. Протоколом UDP пользуются некоторые приложения, ориентированные на транзакции. Одним из таких приложений является простой протокол сетевого управления (Simple Network Management Protocol - SNTP), который является стандартным протоколом сетевого администрирования в сетях, работающих по протоколу TCP/IP. Протокол UDP выполняет крайне ограниченный набор функ­ций, так как он работает без установления соединения. По сути, он добавляет к протоколу IP некоторые возможности адресации портов. Легче всего это понять, рассмотрев заголовок UDP, показанный на рис. А.З.б".

Протоколы IP и IPv6

Internet-протокол (IP) на протяжении десятилетий был основным элементом архитектуры протоколов TCP/IP. На рис. А.4,а показан формат IP-заголовка, который состоит как минимум из 20 октетов, или 160 бит. В этом заголовке со­держатся 32-битовые адреса отправления и назначения. Поле Контрольная сум­ма заголовка (Header Checksum) используется для выявления ошибок в заголов­ке, что помогает избежать ошибок при доставке. В поле Протокол (Protocol) ука­зано, какой из протоколов более высокого уровня использует протокол IP, TCP, UDP или какой-то другой. Поля Флаги (Flags) и Смещение фрагмента (Fragment Offset) используются в процессе фрагментации и повторной сборки, в котором IP-датаграмма разбивается на несколько IP-датаграмм, а затем в пункте назна­чения снова собирается воедино.

В 1995 году проблемная группа проектирования Internet (Internet Engi­neering Task Force - IETF), занимающаяся разработкой стандартов для прото­колов Internet, опубликовала спецификацию протокола IP следующего поколе­ния, которая с того момента стала известна как IPng. В 1996 году эта специфи­кация получила статус стандарта, известного как IPv6. Протокол IPv6 предоставляет определенный набор функциональных улучшений существующего протокола IP (известного как IPv4). Он разработан, чтобы иметь возможность работать с более высокими скоростями, достигнутыми в современных сетях, а также с потоками данных, включающими графику и видеосигналы, которые становятся все более распространенными. Однако движущей силой разработки нового протокола послужила необходимость дополнительных адресов. Находящийся в обращении протокол IP поддерживает 32-битовые адреса отправки или назначения, В результате интенсивного расширения сети Internet и роста коли­чества подсоединенных к Internet ведомственных сетей длины этих адресов ста­ло недостаточно для всех систем, которым нужны адреса. Как показано на рис. А.4,б, заголовок IPv6 содержит 128-битовые поля для адресов отправления и назначения. Предполагается, что все системы, в которых используется прото­кол TCP/IP, со временем перейдут от текущего протокола IP к протоколу IPv6, однако этот процесс займет многие годы, если не десятилетия.

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

Таблица 2.1. Семейство протоколов TCP/IP

Название протокола

Описание протокола

Сетевой программный интерфейс

Связь с приложениями ОС Windows

Интерфейс транспортного драйвера (Transport Driver Interface) позволяет создавать компоненты сеансового уровня.

Протокол управления передачей (Transmission Control Protocol)

Протокол пользовательских дейтаграмм (User Datagram Protocol)

Протокол разрешения адресов (Address Resolution Protocol)

Протокол обратного разрешения адресов (Reverse Address Resolution Protocol)

Протокол Internet(Internet Protocol)

Протокол управляющих сообщений Internet (Internet Control Message Protocol)

Протокол управления группами Интернета (Internet Group Management Protocol),

Интерфейс взаимодействия между драйверами транспортных протоколов

Протокол пересылки файлов (File Transfer Protocol)

Простой протокол пересылки файлов (Trivial File Transfer Protocol)

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

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

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

Рис. 2.2. Соответствие семиуровневой модели OSI и четырехуровневой модели TCP/IP

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

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

Уровень Приложения

Через уровень Приложения модели TCP/IP приложения и службы получают доступ к сети. Доступ к протоколам TCP/IP осуществляется посредством двух программных интерфейсов (API – Application Programming Interface):

Сокеты Windows;

Интерфейс сокетов Windows, или как его называют WinSock, является сетевым программным интерфейсом, предназначенным для облегчения взаимодействия между различными TCP/IP – приложениями и семействами протоколов.

Интерфейс NetBIOS используется для связи между процессами (IPC – Interposes Communications) служб и приложений ОС Windows. NetBIOS выполняет три основных функции: определение имен NetBIOS; служба дейтаграмм NetBIOS; служба сеанса NetBIOS.

Уровень транспорта

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

Подтверждение получения информации;

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

Упорядочение и ретрансляция пакетов.

В зависимости от типа службы могут быть использованы два протокола:

TCP (Transmission Control Protocol – протокол управления передачей);

UDP (User Datagram Protocol – пользовательский протокол дейтаграмм).

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

Протокол управления передачей (TCP)

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

Надежность протокола TCP заключается в следующем:

– он диагностирует ошибки,

– при необходимости посылает данные повторно,

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

Перед отправкой сегментов информации вниз по модели отправляющий протокол TCP контактирует с принимающим протоколом TCP с целью установления связи. В результате создается виртуальный канал. Такой тип коммуникации называется ориентированным на соединение.

Установление соединения происходит в три шага:

1. Клиент, запрашивающий соединение, отправляет серверу пакет, указывающий номер порта, который клиент желает использовать, а также код (определенное число) ISN (Initial Sequence number).

2. Сервер отвечает пакетом, содержащий ISN сервера, а также ISN клиента, увеличенный на 1.

3. Клиент должен подтвердить установление соединения, вернув ISN сервера, увеличенный на 1.

Принцип работы TCP:

Берет из приложения большие блоки информации, разбивает их на сегменты,

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

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

После отправки сегментов TCP ждет подтверждения от целевого TCP о получении каждого из них;

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

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

Пользовательский протокол дейтаграмм (UDP)

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

Принцип работы UDP:

Получает с верхних уровней блоки информации, разбивает их на сегменты;

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

Отправляет сегменты и «забывает» о них;

Не ждет подтверждений о получении и даже не допускает таких подтверждений и потому считается ненадежным протоколом. Но это не значит, что UDP неэффективен – просто он не относится к надежным протоколам.

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

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

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

Протокол Интернета IP

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

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

Адресация в IP-сетях

Каждый компьютер в сетях TCP/IP имеет адреса трех уровней: физический (MAC-адрес), сетевой (IP-адрес) и символьный (DNS-имя) .

Физический, или локальный адрес узла, определяемый технологией, с помощью которой построена сеть, в которую входит узел. Для узлов, входящих в локальные сети – это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем.

Сетевой, или IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Internet (Network Information Center, NIC), если сеть должна работать как составная часть Internet. Обычно провайдеры услуг Internet получают диапазоны адресов у подразделений NIC, а затем распределяют их между своими абонентами. Номер узла в протоколе IP назначается независимо от локального адреса узла. Деление IP-адреса на поле номера сети и номера узла гибкое, и граница между этими полями может устанавливаться произвольно. Узел может входить в несколько IP-сетей. В этом случае узел должен иметь несколько IP-адресов, по числу сетевых связей. IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

При разработке протокола IP на основе размера сетей были выделены их классы (табл. 2.2):

· Класс а – немногочисленные сети с очень большим количеством узлов; номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети.

· Класс В – сети средних размеров; под адрес сети и под адрес узла отводится по 16 битов (по 2 байта).

· Класс С – сети с малым числом узлов; под адрес сети отводится 24 бита (3 байта), а под адрес узла – 8 битов (1 байт).

Таблица 2.2. Классы сетей

Диапазон адресов

Максимальное количество сетей

Максимальное количество узлов в одной сети

0Сеть.узел.узел.узел

0.0.0.0 ‑ 0.255.255.255

зарезервировано

1.0.0.0 ‑ 126.255.255.255

127.0.0.0 – 127.255.255.255

зарезервировано

10Сеть.сеть.узел.узел

128.XXX.0.0 – 191.XXX.255.255

110Сеть.сеть.сеть.узел

192.XXX.XXX.0 ‑ 223.XXX.255.255

1110Группа.группа. группа.группа

224.0.0.0 – 239.255.255.255

1111Резерв.резерв. резерв.резерв

240.0.0.0 – 255.255.255.255

зарезервировано

· Адреса класса D – особые, групповые адреса – multicast; могут использоваться для рассылки сообщений определенной группе узлов. Если в пакете указан адрес назначения, принадлежащий классу D, то такой пакет должны получить все узлы, которым присвоен данный адрес.

· Адреса класса Е зарезервированы для будущих применений.

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

Если в поле номера сети стоят 0

0 0 0 0...................................0 Номер узла,

то по умолчанию считается, что этот узел принадлежит той же самой сети, что и узел, который отправил пакет: если адрес компьютера 128.187.0.0, то указанный в сообщении адрес 0.0.25.31 неявно преобразуется в адрес 128.187.25.31;

Адрес 127.0.0.Х зарезервирован для организации обратной связи при тестировании работы программного обеспечения узла без реальной отправки пакета по сети. Этот адрес имеет название loopback или localhost. Если программа отправит пакет с таким адресом, то этот пакет, не выйдя за пределы компьютера, пройдется по всем уровням сетевой подсистемы и вернется к этой программе. Позволяет разрабатывать и тестировать сетевое программное обеспечение на локальном компьютере, в т. ч. и вообще не имеющем сетевого адаптера.

Если все двоичные разряды IP-адреса равны 1

1 1 1 1...................................1 1,

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

Если в поле адреса узла назначения стоят сплошные 1

Адрес сети 1111................11,

то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным адресом. Такая рассылка называется широковещательным сообщением (broadcast);

Адреса класса D ‑ форма группового IP-адреса – multicast. Пакет должен быть доставлен сразу нескольким узлам, которые образуют группу с номером, указанным в поле адреса. Узлы сами идентифицируют себя, то есть определяют, к какой из групп они относятся. Один и тот же узел может входить в несколько групп. Такие сообщения, в отличие от широковещательных, называются мультивещательными. Групповой адрес не делится на поля номера сети и узла и обрабатывается маршрутизатором особым образом.

Символьный адрес, или DNS-имя, например, SERV1.IBM.COM. Этот адрес назначается администратором и состоит из нескольких частей, например, имени машины, имени организации, имени домена. Такой адрес используется на прикладном уровне, например, в протоколах FTP или telnet.

Числовая адресация удобна для машинной обработки таблиц маршрутов. Для использования человеком она представляет определенные трудности. Для облегчения взаимодействия вначале применялись таблицы соответствия числовых адресов именам машин. Например, в ОС UNIX в каталоге /etc находится файл с именем hosts, который может иметь следующий вид:

IP-адрес Имя машины

127.0.0.1 localhost

144.206.160.32 Polyn

144.206.160.40 Apollo

По мере роста сети была разработана система доменных имен – DNS (Domain Name System), которая позволяет присваивать компьютерам легко запоминаемые имена, например yahoo.com, и отвечает за перевод этих имен обратно в IP-адреса. DNS строится по иерархическому принципу, однако эта иерархия не является строгой. Фактически нет единого корня всех доменов Internet.

Компьютерное имя имеет по меньшей мере два уровня доменов, отделяемых друг от друга точкой (.). Идущие после доменов верхнего уровня домены обычно определяют либо регионы (msk), либо организации (ulstu). Следующие уровни иерархии могут быть закреплены за небольшими организациями, либо за подразделениями больших организаций или частными лицами (например, alvinsoft.h11.ru).

Все, что находится слева, является поддоменом для общего домена. Таким образом, в имени somesite.uln.ru, somesite является поддоменом uln, который в свою очередь является поддоменом ru.

Наиболее популярной программой поддержки DNS является BIND, или Berkeley Internet Name Domain, – сервер доменных имен, который широко применяется в Internet. Он обеспечивает поиск доменных имен и IP-адресов для любого узла сети. BIND обеспечивает также рассылку сообщений электронной почты через узлы Internet.

BIND реализован по схеме «клиент-сервер». Различают четыре вида серверов:

· primary master-сервер поддерживает свою базу данных имен и обслуживает местный домен;

· secondary master-сервер обслуживает свой домен, но данные об адресах части своих машин получает по сети с другого сервера;

· caching-сервер не имеет своего домена. Он получает данные либо с одного из master-серверов, либо из буфера;

· удаленный сервер обычный master-сервер, установленный на удаленной машине, к которому обращаются программы по сети.

Primary или secondary master-серверы устанавливаются обычно на машинах, которые являются шлюзами для локальных сетей.

Шлюз (Gateway) – система, выполняющая преобразование из одного формата в другой.

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

Протоколы сопоставления адреса ARP и RARP

Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol (ARP) . ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети – протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило, не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу – нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP – RARP (Reverse Address Resolution Protocol) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.

В локальных сетях ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным
IP-адресом.

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

Протокол ICMP

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

Протокол ICMP для своих целей использует сообщения, два из которых называются эхо-запрос ICMP и эхо-ответ ICMP:

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

· Эхо-ответ – это тип ICMP-сообщения, которое используется для ответа на такой запрос.

Эти сообщения отправляются и принимаются с помощью команды ping (Packet Internet Groper).

С помощью специальных пакетов ICMP можно получить информацию:

· о невозможности доставки пакета,

· о превышении времени жизни пакета,

· о превышении продолжительности сборки пакета из фрагментов,

· об аномальных величинах параметров,

· об изменении маршрута пересылки и типа обслуживания,

· о состоянии системы и т. п.

Протокол IGMP

Узлы локальной сети используютпротокол управления группами Интернета (IGMP – Internet Group Management Protocol), чтобы зарегистрировать себя в группе. Информация о группах содержится на маршрутизаторах локальной сети. Маршрутизаторы используют эту информацию для передачи групповых сообщений.

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

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

Уровень сетевого интерфейса

Этот уровень модели TCP/IP отвечает за распределение IP-дейтаграмм. Он работает с ARP для определения информации, которая должна быть помещена в заголовок каждого кадра. Затем на этом уровне создается кадр, подходящий для используемого типа сети, такого как Ethernet, Token Ring или ATM, затем IP-дейтаграмма помещается в область данных этого кадра, и он отправляется в сеть.

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

Таблица 1. Семейство протоколов TCP/IP

Название протокола

Описание протокола

Сетевой программный интерфейс

Связь с приложениями ОС Windows

Интерфейс транспортного драйвера (Transport Driver Interface) позволяет создавать компоненты сеансового уровня.

Протокол управления передачей (Transmission Control Protocol)

Протокол пользовательских дейтаграмм (User Datagram Protocol)

Протокол разрешения адресов (Address Resolution Protocol)

Протокол обратного разрешения адресов (Reverse Address Resolution Protocol)

Протокол Internet(Internet Protocol)

Протокол управляющих сообщений Internet (Internet Control Message Protocol)

Протокол управления группами Интернета (Internet Group Management Protocol),

Интерфейс взаимодействия между драйверами транспортных протоколов

Протокол пересылки файлов (File Transfer Protocol)

Простой протокол пересылки файлов (Trivial File Transfer Protocol)

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


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

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

Рис. 1. Соответствие семиуровневой модели OSI и четырехуровневой модели TCP/IP

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

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

Уровень Приложения

Через уровень Приложения модели TCP/IP приложения и службы получают доступ к сети. Доступ к протоколам TCP/IP осуществляется посредством двух программных интерфейсов (API – Application Programming Interface):

Сокеты Windows;

Интерфейс сокетов Windows, или как его называют WinSock, является сетевым программным интерфейсом, предназначенным для облегчения взаимодействия между различными TCP/IP – приложениями и семействами протоколов.

Интерфейс NetBIOS используется для связи между процессами (IPC – Interposes Communications) служб и приложений ОС BIOS выполняет три основных функции: определение имен NetBIOS; служба дейтаграмм NetBIOS; служба сеанса NetBIOS.

Уровень транспорта

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

Подтверждение получения информации;

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

Упорядочение и ретрансляция пакетов.

В зависимости от типа службы могут быть использованы два протокола:

TCP (Transmission Control Protocol – протокол управления передачей);

UDP (User Datagram Protocol – пользовательский протокол дейтаграмм).

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

Протокол управления передачей (TCP)

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

Надежность протокола TCP заключается в следующем:

– он диагностирует ошибки,

– при необходимости посылает данные повторно,

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

Перед отправкой сегментов информации вниз по модели отправляющий протокол TCP контактирует с принимающим протоколом TCP с целью установления связи. В результате создается виртуальный канал. Такой тип коммуникации называется ориентированным на соединение.

Установление соединения происходит в три шага:

1. Клиент, запрашивающий соединение, отправляет серверу пакет, указывающий номер порта, который клиент желает использовать, а также код (определенное число) ISN (Initial Sequence number).


2. Сервер отвечает пакетом, содержащий ISN сервера, а также ISN клиента, увеличенный на 1.

3. Клиент должен подтвердить установление соединения, вернув ISN сервера, увеличенный на 1.

Принцип работы TCP:

Берет из приложения большие блоки информации, разбивает их на сегменты,

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

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

После отправки сегментов TCP ждет подтверждения от целевого TCP о получении каждого из них;

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

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

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

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

Протокол Интернета IP

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

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

Уровень сетевого интерфейса

Этот уровень модели TCP/IP отвечает за распределение IP-дейтаграмм. Он работает с ARP для определения информации, которая должна быть помещена в заголовок каждого кадра. Затем на этом уровне создается кадр, подходящий для используемого типа сети, такого как Ethernet, Token Ring или ATM, затем IP-дейтаграмма помещается в область данных этого кадра, и он отправляется в сеть.

Таблица."Стек основных протоколов сетевых архитектур ISO и TCP/IP"

Уровни стандарта ISO

Стек протоколов стандарта ISO

Стек протоколов TCP/IP

7. Прикладной

Набор протоколов

Набор протоколов

6. Представления данных

5. Сеансовый

4. Транспортный

3. Сетевой

2. Канальный

Произвольный

1. Физический

Произвольный

Различия в идеологии построения сетевых архитектур порождают существенные различия механизма передачи данных на всех уровнях стандарта ISO за исключением физического и канального, где могут применяться протоколы LAP-B и Х.21, но могут и другие. Основные отличия в алгоритме передачи данных состоят, во-первых, в идеологии защиты от ошибок, и, во-вторых, в реализации режима коммутации пакетов (КП).
Рассмотрим сначала методы борьбы с ошибками.

Вопросам защиты данных от ошибок и сбоев уделено много внимания. Для этого выделяется второй (канальный) уровень. Обнаружение ошибок выполняется с помощью мощного помехоустойчивого кода типа БЧХ (Рек. V.42) с минимальным кодовым расстоянием d=5, что позволяет обнаруживать любую 4-х кратную ошибку. Исправление ошибок выполняется с помощью алгоритмов с обратной связью – РОС-ОЖ или (чаще) РОС-НП. Для борьбы со вставками и выпадениями кадров используются тайм-аут и циклическая нумерация кадров. На сетевом уровне обеспечиваются нумерация пакетов и их перезапрос. Всё это позволяет использовать передающую среду практически любого качества, однако платой за это является высокая степень вносимой избыточности, т.е. падение реальной скорости передачи информации.

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

Рассмотрим различия в способах коммутации пакетов, т.е. в реализации 3-го уровня ISO.

В архитектуре ISO за маршрутизацию (доставку пакетов по адресу) отвечает третий (сетевой) уровень (Рек. Х.25). Предусматривается создание виртуальных соединений или каналов от источника до получателя, а затем по этому соединению передаются пакеты. Такой режим называется виртуальным режимом КП и по принципам напоминает традиционную коммутацию каналов (КК). В архитектуре TCP/IP реализуется другой подход, называемый дейтаграммным режимом КП. Этот режим резко упрощает задачу маршрутизации, но порождает проблему сборки сообщений из пакетов, т.к. пакеты одного сообщения могут доставляться по разным маршрутам и поступать к получателю в разное время. Дейтаграммный режим КП по принципам напоминает коммутацию сообщений (КС).

Cравнения виртуального и дейтаграммного методов КП по следующим характеристикам:

    установление соединения;

    адресация;

    процедура передачи пакета по сети;

    управление входным потоком сообщений;

    эффективность использования сетевых ресурсов.

Установление соединения. При виртуальной КП до передачи сообщения устанавливается логическое соединение между взаимодействующими объектами транспортного уровня (а возможно и более высоких уровней ISO). Этот логический канал запоминается в маршрутных таблицах всех центров коммутации пакетов (ЦКП), которые участвуют в соединении. Пакеты передаются только по установленному логическому каналу, поэтому порядок их следования при этом не нарушается.

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

Адресация. При виртуальном режиме КП полный адрес объекта-получателя передаётся только при установлении логического соединения, т.е. с первым пакетом. Получив этот пакет, объект-получатель извещает отправителя о согласии на проведение сеанса связи (или несогласии). Создаётся логическое соединение, и передаются остальные пакеты, содержащие только номер логического канала.

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

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

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

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

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

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

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

5.2.1.3Сфера применения архитектуры TCP/IP

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

Достоинства архитектуры TCP/IP:

    небольшие затраты на реализацию протоколов взаимодействия за счёт меньшего набора требуемых протоколов;

    существенное упрощение процедуры маршрутизации, что снижает стоимость базовой сети передачи данных за счёт использования более простых ЦКП;

    возможность построения крупномасштабной ИВС с использованием разнотипного оборудования;

    возможность реализации взаимодействия различных сетей с применением простых алгоритмов согласования.

К недостаткам архитектуры TCP/IP можно отнести:

    возможность реализации только при использовании «хороших» каналов связи (желательно выделенных);

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

    возможность потери сообщения из-за несвоевременной доставки одного из пакетов этого сообщения;

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

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

В архитектуре Internet отдельные сети (ЛВС, региональные и глобальные) соединяются друг с другом специальными устройствами - маршрутизаторами IP-пакетов.

Определение. Устройства объединения сетей в рамках Internet называются IP-шлюзами, или IP-маршрутизаторами, или Router.

5.2.1.3.1
5.2.1.3.2Фрагмент сети Интернет

LAN - локальная вычислительная сеть;
MAN - региональная ИВС;
WAN - глобальная ИВС;
WS (Work Station) - рабочая станция ЛВС;
FS (File Server) - файл-сервер;
Host - узловая машина (компьютер, который подключен к сети в качестве узла);
Router - IP-маршрутизатор.

5.2.1.3.3

Шлюз подключается к двум или более сетям, каждая из которых воспринимает этот шлюз как хост-ЭВМ. Поэтому шлюз имеет физический интерфейс и специальный IP-адрес в каждой из подключаемых сетей. Передача пакетов требует от шлюза определение IP-адреса следующего шлюза или, на последнем участке, IP-адреса хост-машины, которой направляется IP-пакет. Функция шлюза, которая обычно называется маршрутизацией, основана на анализе специальных маршрутных таблиц (матриц маршрутов), которые находятся в специальной базе данных. База данных в каждом из шлюзов должна постоянно обновляться, чтобы отражать текущую топологию сети Internet.

Маршрут - это последовательность маршрутизаторов, которые проходит пакет от отправителя до пункта назначения.

В основе функционирования сети Интернет заложены протоколы TCP/IP.

5.2.1.3.4
5.2.1.3.5Пример цепочки протоколов TCP/IP

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

5.2.1.3.6
5.2.1.3.7Передача сообщений в сети Internet на основе механизма инкапсуляции (encapsulation)
5.2.1.4Физический и канальный уровень

Стек TCP/IP не подразумевает использования каких-либо определенных протоколов уровня доступа к среде передачи и физических сред передачи данных. От уровня доступа к среде передачи требуется наличие интерфейса с модулем IP, обеспечивающего передачу IP-пакетов. Также требуется обеспечить преобразование IP-адреса узла сети, на который передается IP-пакет, в MAC-адрес. Часто в качестве уровня доступа к среде передачи могут выступать целые протокольные стеки, тогда говорят об IP поверх ATM, IP поверх IPX, IP поверх X.25 и т.п.

5.2.1.5Межсетевой уровень и протокол IP (Internet Protocol)

Основу этого уровня составляет IP-протокол:

    Первый стандарт IPv4 определен в RFC-760 (1980 г.).

    Последняя версия IPv4 - RFC-791 (1981 г.).

Назначение протокола IP

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

    Не гарантируется доставка пакетов получателю;

    По пути следования пакет может быть утерян, продублирован, задержан;

    Пакеты могут быть доставлены с нарушением порядка следования.

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

Межсетевая дейтаграмма

Пакет, передаваемый по сети Internet, называют IP-дейтаграммой или IP-пакетом.

Структура пакета: заголовок и блок данных.

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

5.2.1.5.1
5.2.1.6Типы адресов стека TCP/IP

В стеке TCP/IP используются три типа адресов: локальные (называемые также аппаратными), IP-адреса и символьные доменные имена.

В терминологии TCP/IP под локальным адресом понимается такой тип адреса, который используется средствами базовой технологии для доставки данных в пределах подсети, являющейся элементом составной сети. Если подсетью составной сети является локальная сеть, то локальный адрес – это MAC-адрес. MAC-адрес назначается сетевым адаптерам и сетевым интерфейсам маршрутизаторов. MAC-адреса назначаются производителями оборудования и являются уникальными. Для всех существующих технологий локальных сетей MAC-адрес состоит из 6 байт, например 11-A0-17-3D-BC-01. MAC-адрес – это адрес, используемый на канальном уровне.

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

Символьные доменные имена - специальные имена компьютеров в сети Internet.

5.2.1.7Протокол межсетевых взаимодействий (IPv4)
5.2.1.7.1Представление и структура IP-адреса

Двоичный формат

Десятичный формат

5.2.1.7.2Классовая система адресации
5.2.1.7.3
5.2.1.7.4Специальные адреса

00000000

00000000

00000000

00000000

Разрешено использовать только в процессе инициализации сетевого программного обеспечения

11111111

11111111

11111111

11111111

Ограниченный широковещательный адрес в своей локальной сети

00000000

Идентификатор узла

00000000

00000000

Идентификатор узла

00000000

00000000

00000000

Идентификатор узла

Компьютер в своей сети

Идентификатор сети

11111111

11111111

11111111

Идентификатор сети

11111111

11111111

Идентификатор сети

11111111

Направленный широковещательный адрес в указанной сети

01111111

Специальные комбинации

Петля обратной связи

Класс сети

Количество сетей

Количество узлов в сети

Диапазон значений первого байта идентификаторов сети

Класс D имеет следующую сетку групповых IP-адресов:
от 224.0.0.0 до 239.255.255.255.

5.2.1.7.5Назначение идентификаторов сетей

Для подключения сети к Интернет необходимо получить идентификатор сети от Информационного Центра Интернет (InterNIC- Internet NetworkInformation Center). Идентификатор сети должен охватывать все узлы, подключенные к одной физической сети.

5.2.1.7.6
5.2.1.7.7Пример распределения IP-адресов
5.2.1.7.8
5.2.1.7.9Адреса интерфейсов
5.2.1.7.10
5.2.1.7.11Сетевые адреса
5.2.1.7.12
5.2.1.7.13Три маршрутизатора, соединяющие шесть хостов

Адресное пространство, выделенное для Intranet (автономные IP-сети):
в классе А - одна сеть с адресом 10.x.y.z.
в классе B - 16 сетей с адресами 172.16.y.z. - 172.31.y.z.
в классе C - 256 сетей с адресами 192.168.y.z. - 192.168.255.z

5.2.1.7.14Подсети

Традиционная схема деления IP-адреса на номер сети и номер узла основана на понятии класса, который определяется значениями нескольких первых бит адреса. Именно потому, что первый байт адреса 185.23.44.206 попадает в диапазон 128-191, можно сказать, что этот адрес относится к классу B, а значит, номером сети являются первые два байта, дополненные двумя нулевыми байтами – 185.23.0.0, а номером узла – 0.0.44.206. В таком представлении IP-адрес состоит из двух иерархических уровней. Необходимость во введении третьего уровня иерархии – уровня подсетей – была продиктована возникновением дефицита номеров сетей и резким ростом таблиц маршрутизации маршрутизаторов в сети Интернет. После введения уровня подсети номер узла разделяется на две части – номер подсети и номер узла в этой подсети.

5.2.1.7.15
5.2.1.7.16Формирование трехуровневой иерархии

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

Хрестоматия по дисциплине Информатика Составил : ст . преподаватель Столяров А.С. весенний семестр 2009 Содержание 1 Понятие информации 3 ... Как сдать экзамен и централизованное тестирование по информатике на 100 баллов. - Ростов...

  • Основная образовательная программа

    ... по семестрам ... по дисциплинам профессионального цикла привлечено 17 % преподавателей ... а также хрестоматии и методические... в области информатики ; методы и... субъектного состава , содержания и... весеннем ... на основании ст . 11 ... Независимых Государств. – 2009 . – № ...

  • Документ

    Ведущих преподавателей факультета по курсам математических дисциплин Информатика» ), а также дисциплин , наиболее... МЭИ велось по 15 дисциплинам , обучалось 304 студента. В весеннем семестре 2009 /2010 учебного...

  • Межвузовский центр по историческому образованию в технических вузах российской федерации межвузовский центр по политологическому образованию

    Документ

    Ведущих преподавателей факультета по курсам математических дисциплин («Математика», «Математическая психология», «Информатика» ), а также дисциплин , наиболее... МЭИ велось по 15 дисциплинам , обучалось 304 студента. В весеннем семестре 2009 /2010 учебного...

  • Компетентностный подход как концептуальная основа современного образования сборник научных статей по материалам международной научно-практической конференции (февраль 2010 г)

    Документ

    ... по дисциплине «История России». Преподаватель ... мае 2009 года... составить ... течение всего семестра , а... ст .9) ... Современная военная психология: Хрестоматия / сост. ... веселый весенний ... содержании образования должна занять важное место коммуникативность: информатика ...