28.10.2019

Год документирования первой версии протокола tcp. Теоретические сведения. Единицы передаваемых данных


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

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

Любой протокол интернета TCP/IP работает на своем уровне. Иными словами, каждый занимается своим делом. Все семейство TCP/IP протоколов одновременно выполняет колоссальную работу. А пользователь в это время видит только яркие картинки и длинные строки текста.

Понятие стека протоколов

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

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

Принципы использования адресов в стеке протоколов

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

  • Адреса различного типа, должны быть согласованы. Например преобразование домена сайта в IP адрес сервера и обратно, или преобразование имени узла в адрес и обратно. Таки образом становится возможен доступ к точке не только с помощью IP адреса, но и по интуитивному названию.
  • Адреса должны быть уникальны. Это вызвано тем, что в некоторых частных случаях пакет должен попасть только в одну конкретную точку.
  • Необходимость конфигурирования локальных вычислительных сетей.

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

Именно поэтому для сетей TCP/IP был изобретен специальный подход, который и стал отличительной чертой стека протоколов. Было введено понятие - масштабируемость.

Уровни стека протоколов TCP/IP

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

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

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

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

Данный уровень, предоставляет вышестоящему (прикладному) два типа сервиса:

  • Осуществляет гарантированную доставку, с помощью протокола ТСР.
  • Осуществляет доставку по возможности по протоколу UDP.

Чтобы обеспечить гарантированную доставку, согласно протоколу TCP устанавливается соединение, которое позволяет выставлять на пакетах нумерацию на выходе и подтверждать их прием на входе. Нумерация пакетов и подтверждение приема - это так называемая служебная информация. Этот протокол поддерживает передачу в режиме "Дуплекс". Кроме того, благодаря продуманному регламенту протокола, он считается очень надежным.

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

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

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

На этом уровне используются следующие сетевые протоколы TCP/IP: ICMP, IP, RIP, OSPF. Основным, и наиболее популярным на сетевом уровне, конечно же является протокол IP (Internet Protocol). Основной его задачей является передача пакетов от одного роутера к другому до тех пор, пока единица данных не попадет на сетевой интерфейс узла назначения. Протокол IP разворачивается не только на хостах, но и на сетевом оборудовании: маршрутизаторах и управляемых коммутаторах. Протокол IP работает по принципу негарантированной доставки с максимальными усилиями. Т. е., для отправки пакета нет необходимости заранее устанавливать соединение. Такой вариант приводит к экономии трафика и времени на движении лишних служебных пакетов. Пакет направляется в сторону назначения, и вполне возможно, что узел останется недоступным. В таком случае возвращается сообщение об ошибке.

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

  • Кодирование пакета в единицу данных промежуточной сети.
  • Преобразование информации о месте назначения в стандарты необходимой подсети и отправка единицы данных.

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

Единицы передаваемых данных

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

Чтобы иметь представление о том, что и в какой момент времени происходит с данными, нужно было придумать следующую терминологию:

  • Поток данных - данные, которые поступают на транспортный уровень от протоколов вышестоящего прикладного уровня.
  • Сегмент - фрагмент данных, на которые дробится поток по стандартам протокола TCP.
  • Датаграмма (особо безграмотные произносят как "Дейтаграмма") - единицы данных, которые получаются путем дробления потока с помощью протоколов, работающих без установления соединения (UDP).
  • Пакет - единица данных, производимая посредством протокола IP.
  • Протоколы TCP/IP упаковывают IP-пакеты в передаваемые по составным сетям блоки данных, которые называются кадрами или фреймами .

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

Любой протокол передачи данных TCP/IP для идентификации узлов использует один из следующих типов адресов:

  • Локальные (аппаратные) адреса.
  • Сетевые адреса (IP адреса).
  • Доменные имена.

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

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

В итоге была разработана система, при которой узлам назначается IP адрес и маска подсети. Маска подсети показывает, какое количество бит отводится под номер сети, а какое количество под номер узла. IP адрес состоит из 32 бит, разделенных на блоки по 8 бит.

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

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

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

IP-адрес. Формат. Составляющие. Маска подсети

IP адрес - 32-битное число, которое в традиционном представлении записывается в виде чисел, от 1 до 255, разделенных между собой точками.

Вид IP адреса в различных форматах записи:

  • Десятичный вид IP адреса: 192.168.0.10.
  • Двоичный вид того же IP адреса: 11000000.10101000.00000000.00001010.
  • Запись адреса в шестнадцатеричной системе счисления: C0.A8.00.0A.

Между ID сети и номером точки в записи нет разделительного знака, но компьютер способен их разделять. Для этого существует три способа:

  1. Фиксированная граница. При этом способе весь адрес условно делится на две части фиксированной длины побайтно. Таким образом, если под номер сети отдать один байт, тогда мы получим 2 8 сетей по 2 24 узлов. Если границу сдвинуть еще на байт вправо, тогда сетей станет больше - 2 16 , а узлов станет меньше - 2 16 . На сегодняшний день подход считается устаревшим и не используется.
  2. Маска подсети. Маска идет в паре с IP адресом. Маска имеет последовательность значений "1" в тех разрядах, которые отведены под номер сети, и определенное количество нулей в тех местах IP адреса, которые отведены на номер узла. Граница между единицами и нулями в маске - это граница между идентификатором сети и ID узла в IP-адресе.
  3. Метод классов адресов. Компромиссный метод. При его использовании размеры сетей не могут быть выбраны пользователем, однако есть пять классов - А, В, С, D, Е. Три класса - А, В и С - предназначены для различных сетей, а D и Е - зарезервированы для сетей специального назначения. В классовой системе каждый класс имеет свою границу номера сети и ID узла.

Классы IP адресов

К классу А относятся сети, в которых сеть идентифицируется по первому байту, а три оставшихся являются номером узла. Все IP адреса, которые имеют в своем диапазоне значение первого байта от 1 до 126 - это сети класса А. Количественно сетей класса А получается совсем мало, зато в каждой из них может быть до 2 24 точек.

Класс В - сети, в которых два высших бита равны 10. В них под номер сети и идентификатор точки отводится по 16 бит. В результате получается, что количество сетей класса В в большую сторону отличается от количества сетей класса А количественно, но они имеют меньшее количество узлов - до 65 536 (2 16) шт.

В сетях класса С - совсем мало узлов - 2 8 в каждой, но количество сетей огромно, благодаря тому, что идентификатор сети в таких структурах занимает целых три байта.

Сети класса D - уже относятся к особым сетям. Он начинается с последовательности 1110 и называется групповым адресом (Multicast adress). Интерфейсы, имеющие адреса класса А, В и С, могут входить в группу и получать вдобавок к индивидуальному еще и групповой адрес.

Адреса класса Е - в резерве на будущее. Такие адреса начинаются с последовательности 11110. Скорее всего, эти адреса будут применяться в качестве групповых, когда наступит нехватка IP адресов в глобальной сети.

Настройка протокола TCP/IP

Настройка протокола TCP/IP доступна на всех операционных системах. Это - Linux, CentOS, Mac OS X, Free BSD, Windows 7. Протокол TCP/IP требует только наличия сетевого адаптера. Разумеется, серверные операционные системы способны на большее. Очень широко, с помощью серверных служб, настраивается протокол TCP/IP. IP адреса в в обычных настольных компьютерах задаются в настройках сетевых подключений. Там настраивается сетевой адрес, шлюз - IP адрес точки, имеющий выход в глобальную сеть, и адреса точек, на которых располагается DNS сервер.

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

TCP/IP Протокол разрешения адресов

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

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

ARP таблица

Так выглядит пример составленной ARP таблицы.

Глава 6

Прошлое, настоящее

и будущее протокола TCP/IP

По прочтении этой главы и после выполнения практических заданий вы сможете:

· рассказать историю появления TCP/IP;

· объяснить принципы работы протоколов TCP и IP, а также методы использования протоколов UDP вместо TCP;

· рассказать об адресации IP и понять способы ее реализации в локальных и глобальных сетях;

· рассказать о новом протоколе IP version 6 и его назначении;

· обсудить способы использования прикладных протоколов, входящих в стек TCP/IP;

· понять назначение прикладных протоколов стека TCP/IP;

· соотнести реализацию TCP/IP с эталонной моделью OSI.

Когда компьютеры общаются через Интернет, то в качестве языка общения они используют Transmission Control Protocol/Internet Protocol (TCP/IP). Также протоколы TCP/IP широко распространены в большинстве средних и крупных сетей. Эти протоколы поддерживают сети на основе платформ Novell NetWare, UNIX и Windows, в особенности – развивающиеся сети и сети, в которых используются клиент-серверные или веб-ориентированные приложения. Широкое распространение, проверенные технологии и возможности расширения делают TCP/IP удачным выбором для большинства проектов, обеспечивающих взаимодействие локальных и глобальных сетей. Даже в небольших сетях развертывание TCP/IP может оказаться жизненно важным для дальнейшего развития сети.

В данной главе будет подробно рассказано о протоколах TCP/IP, включая описание пакетов TCP и IP, а также способы адресации IP. Также вы узнаете об альтернативе TCP – протоколе User Datagram Protocol (UDP), который применяется тогда, когда подтверждение переданных данных не так важно, как скорость и малая нагрузка на сеть. В главе обсуждается новейшая версия протокола IP, названная IPv6, и сравнивается с предшествующей версией, IPv4. Кроме того, рассказывается о прикладных протоколах входящих в стек TCP/IP и предназначенных для эмуляции терминалов передачи файлов и сообщений электронной почты , преобразований и назначения IP-адресов, а также для управления сетями. И, наконец, вы узнаете как архитектура TCP/IP соотносится с эталонной моделью OSI.

Краткая история стека TCP/IP

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

Первая попытка создания средств взаимодействия различных компьютеров была предпринята несколькими университетами, которые разработали сетевой протокол, названный Network Control Protocol (NCP ) и позволивший хост-компьютерам разных компаний, включая DEC и IBM, обменивал информацией. NCP был простейшим протоколом, который обеспечивал различным типам компьютеров DEC и IBM возможность сетевых взаимодействий и запуска приложений через сеть, в которой хосты были географически удалены друг от друга. Например, одним из приложений протокола NCP была передача файлов между компьютерами. Это было хорошее начало, однако протокол NCP не мог обеспечить достаточно надежной передачи данных, поэтому управление ARPA для его модернизации запустило проект. Разработанный протокол на самом деле являлся комбинацией двух протоколов – Transmission Control Protocol (TCP ) и Internet Protocol (IP ) названия которых обычно сокращаются до аббревиатуры TCP/IP.

Примечание

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

Внимание

Компания IBM использует аббревиатуру NCP для названия Программы управления сетью – Network Control Program. Эта программа представляет собой приложение, выполняющееся на оконечном процессоре (небольшом компьютере) или на шлюзе SNA, который подключен к мэйнфрейму, обеспечивая последнему возможность сетевых взаимодействий.

Основы стека TCP/IP

Протокол TCP, описанный в RFC 793, первоначально был разработан для двухточечных взаимодействий между компьютерами одной сети, а протокол IP (RFC 791) предназначался для обеспечения коммуникаций между компьютерами, подключенными к разным сетям или к глобальным сетям. Вскоре после своего появления оба протокола были объединены как стек TCP/IP для использования в популярных операционных системах Berkeley UNIX и были встроены в ОС Virtual Memory System (VMS, ныне – OpenVMS) компании DEC и Multiple Virtual Storage (MVS, ныне – OpenMVS) компании IBM.

С момента своего появления в начале 1970-х годов стек TCP/IP широко применялся в сетях в разных странах мира. Он реализован для PC-совместимых компьютеров, рабочих станций UNIX, мини-ЭВМ, компьютеров Macintosh и сетевых устройств, связывающих клиентов и хосты. TCP/IP обеспечивает тысячам открытых и коммерческих сетей подключение к Интернету, которым могут пользоваться миллионы людей.

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

· Transmission Control Protocol (TCP);

· User Datagram Protocol (UDP);

· Internet Protocol (IP).

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

Функционирование протокола TCP

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

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

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

· текущий сетевой трафик;

Коммерческие кооперативы (принадлежащие работающим в них сотрудникам)

Образовательные

Правительственные

Организации, занимающиеся регистрацией доменных имен

Организации, созданные согласно международным договорам

Музейные

Домены для личного пользования

Поставщики сетевых услуг

Некоммерческие

Профессиональные (например, объединения врачей, бухгалтеров или юристов)

Таблица 6.4. Доменные имена ДМШ

Таблица 6.5. Предлагаемые глобальные доменные имена первого уровня (TLD )

Распознаватели имен DNS и пространства имен

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

Использование зон

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

Зона, ассоциирующая имена компьютеров с соответствующими JH адресами, называется зоной прямого просмотра (forward lookup zone). Эта зона содержит записи имен хостов, называемые адресными записями. Каждый сервер и клиент IP-сети должен иметь адресную запись, позволяющую найти его с помощью DNS. Например, если DNS-сервер называется NetAdmin и имеет адрес 129.70.10.1, то зона прямого просмотра связывает имя NetAdmin с адресом 129.70.10.1. Для протокола IPv4 запись хоста называется ресурсной записью адреса хоста (типа A) (host address (A) resource record). Для протокола IPv6 такая запись называется ресурсной записью адреса хоста (типа АААА) (IPv6 host address (АААА) resource record).

Примечание

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

В другой зоне, называемой зоной обратного просмотра (reverse lookup zone) хранятся ресурсные записи указателей (типа PTR ) (pointer (PTR) resourse record), которые связывают IP-адреса с именами хостов. Зоны обратного просмотра используются не так часто, как зоны прямого просмотра, однако не следует создавать в тех случаях, когда для обеспечения сетевых коммуникаций требуется связывать IP-адрес с некоторым компьютерным именем (например для мониторинга сети с использованием IP-адресов ).

Роли DNS -серверов

Обычно DNS-сервер в сети играет одну из двух ролей: он может выступать или в качестве основного DNS-сервера, или выполнять функции дополнительного DNS-сервера. Основным DNS -сервером (primary DNS server) считается сервер, отвечающий за некоторую зону и поэтому называющийся авторитетным (authoritative) сервером для этой зоны. Например, если на некотором DNS-сервере первый раз создается зона прямого просмотра ДД домена, то при этом создается ресурсная запись начала зоны (SOA ) (start of authority (SOA) resource record), идентифицирующая данный сервер в качестве авторитетного DNS-сервера для домена., Это означает, что все изменения зоны (например, создание ресурсных записей адреса хоста (типа А)) должны выполняться на этом сервере.

В средних и крупных сетях обычно устанавливают один или несколько резервных DNS-серверов, называемых (по отношению к основному DNS-се веру) дополнительными, или вторичными DNS -серверами (secondary DNS server). Дополнительный DNS-сервер содержит копию файла зоны, хранящейся на основном DNS-сервере, при этом данная копия не может использоваться для административных задач. Для обновления копии выполняются пересылки зоны по сети. В процессе пересылки зоны содержимое зоны передается с основного DNS-сервера на дополнительный.

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

Совет

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

Чтобы познакомиться с зонами, ресурсной записью начала зоны (SOA) и другой информацией, хранящейся на DNS-сервере, выполните практическое задание 6-8.

Стандарты DNS

Авторитетные серверы обычно поддерживают два стандарта DNS: ресурсные записи служб и протокол динамического обновления DNS. Ресурсная запись службы (типа SVR ) (service resource record (SVR RR)) описана в RFC 2052 и представляет собой тип DNS-записи, позволяющей DNS распознавать различные серверы и определять местоположение широко используемых служб TCP/IP, выполняющихся на конкретных серверах. SRV-записи позволяют DNS-серверу генерировать список серверов сети, предоставляющих услуги TCP/IP-сервисов. Также эти записи сообщают о протоколах, поддерживаемых этими серверами, и позволяют определить предпочтительный сервер для некоторой службы. Формат SRV-записи содержит информацию о типе службы, выполняющейся на некотором сервере, имени домена, который обслуживается этим сервером, а также о протоколе, используемом сервером.

Протокол динамического обновления DNS (DNS dynamic update protocol) описан в RFC 2136, с его помощью можно автоматически обновлять информацию на 1 DNS-сервере. Примером может служить рабочая станция под управлением Windows ХР Professional, обновляющая свой IP-адрес, полученный от сервера DHCP. Протокол динамического обновления DNS может сэкономить сетевому администратору массу времени, поскольку ему не понадобится вручную регистрировать каждую новую рабочую станцию или выполнять регистрация компьютера каждый раз по истечении срока арендованного ему 1Р-адресзи при получении нового адреса.

Совет

В сети, где работает служба Microsoft Active Directory, SRV-записи позволяют рабочим станциям быстро находить ближайший сервер для аутентификации запросов входа в сеть. Это - позволяет уменьшить ненужный сетевой трафик.

Dynamic Host Configuration Protocol (DHCP)

Протокол Dynamic Host Configuration Protocol (DHCP ) (Протокол динамически конфигурации хоста) позволяет автоматически назначать в сети 1Р-адреса с помощью DHCP-сервера. Когда новый компьютер, настроенный на работу с DHCP, подключается к сети, он обращается к DHCP-серверу, который выделяет (сдает в аренду) компьютеру IP-адрес, передавая его посредством протокола DHCP. Длительность аренды устанавливается на DHCP-сервере сетевым администратором. Например, срок аренды для настольного компьютера может составлять от нескольких дней до нескольких недель (поскольку компьютер постоянно подключен к сети). Срок аренды для портативного компьютера может составлять от нескольких часов до одного дня (поскольку портативный компьютер часто отключается от сети или перемещается на другие участки сети). И, наконец, хост-компьютер или сервер может получить адрес в бессрочную аренду , т. к. их адрес никогда не меняется.

Совет

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

Address Resolution Protocol (ARP)

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

Address Resolution Protocol (ARP ) (Протокол разрешения адресов) позволяет передающему узлу получить МАС-адреса выбранного принимающего узла перед отправкой пакетов. Если исходному узлу нужен некоторый МАС-адрес, то он посылает широковещательный ARP-фрейм, содержащий свой собственный МАС-адрес и IP-адрес требуемого принимающего узла. Принимающий узел отправляет обратно пакет ARP-ответа, содержащий свой МАС-адрес.

Вспомогательным протоколом является Reverse Address Resolution Protocol (RARP ) (Протокол обратного разрешения имен), с помощью которого сетевой узел может определить свой собственный IP-адрес. Например, RARP используется бездисковыми рабочими станциями, которые не могут узнать свои адреса иначе как выполнив RARP-запрос к своему хост-серверу. Кроме того, RARP используется некоторыми приложениями для определения IP-адреса того компьютера, на котором он выполняются.

Simple Network Management Protocol (SNMP)

Simple Network Management Protocol (SNMP ) (Простой протокол сетевого управления) позволяет администраторам сети непрерывно следить за активностью сети. Протокол SNMP был разработан в 1980-х годах для того, чтобы снабдить стек TCP/IP механизмом, альтернативным стандарту OSI на управление сетями – протоколу Common Management Interface Protocol (CMIP ) (Протокол общей управляющей информации).

Хотя протокол SNMP был создан для стека TCP/IP, он соответствует эталонной модели OSI. Большинство производителей предпочли использовать SNMP, а не CMIP, что объясняется большой популярностью протоколов TCP/IP, а также простотой SNMP. Протокол SNMP поддерживают многие сотни сетевых устройств, включая файловые серверы, карты сетевых адаптеров, маршрутизаторы, повторители, мосты, коммутаторы и концентраторы. В сравнении с этим, протокол CMIP применяется компанией IBM в некоторых сетях с маркерным кольцом, однако во многих других сетях он не встречается.

Достоинства SNMP

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

Еще одно достоинство SNMP состоит в том, что контрольные функции выполняются на некоторой станции управления сетью. В этом SNMP отличается от протокола CMIP, для которого функции управления распре делены между отдельными сетевыми узлами, которые одновременно являются и объектами мониторинга. Кроме того, SN. MP требует меньше оперативной памяти, чем CMIP. Для работы CMIP нужно до 1,5 Мбайт памяти на каждом исследуемом узле, a SNMP требует только 64 Кбайт.

Типы узлов, используемых протоколом SNMP

Протоколом SNMP предусмотрены два типа узлов: станция управления сетью (network management station, NMS) и агенты сети (network agents). Станция управления сетью следит за сетевыми устройствами, поддерживающими SNMP. На этих устройствах выполняется агентское программное обеспечение, взаимодействующее со станцией. Большинство устройств, подключаемых к современным сетям, являются агентами. К их числу относятся маршрутизаторы, повторители, концентраторы, коммутаторы, мосты, персональные компьютеры (через свои сетевые адаптеры), серверы печати, серверы доступа и источники бесперебойного питания.

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

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

Каждый агент сети хранит информационную базу, содержащую количество посланных или полученных пакетов, число пакетных ошибок и другие данные. Такая база называется базой управляющей информации (Management Information Base, MIB). У станции управления сетью имеется множество команд, позволяющих обращаться к данным этой базы и управлять ею. Такие команды передаются с помощью OSI-совместимых модулей данных протокола (PDU) и содержат тип сообщения (например, запрос на получение, запрос на получение следующих данных, ответ на запрос, запрос на присваивание значения и системное прерывание). Получаемые данные позволяют определить, включено ли устройство и имеются ли сетевые проблемы. Станция управления сетью обеспечивает даже удаленную перезагрузку устройства. Сообщения между станцией и агентом передаются поверх протокола UDP, к пакетам которого добавляется заголовок SNMP. Полезная нагрузка SNMP содержит групповое имя (community name), представляющее собой некоторый пароль, общий для станции управления сетью и агента.

В базе управляющей информации хранятся сведения о сетевых объектах (таких как рабочие станции, серверы, мосты, маршрутизаторы, концентраторы и повторители). Основной набор переменных, содержащихся в этой базе, представлен в табл. 6.6. Изначально таблица базы MIB была описана в стандарте Management Information Base-I. Этот стандарт определяет сведения об устройстве и множество соответствующих переменных. Стандарты MIВ разрабатываются Проблемной группой проектирования Интернета (IETF).

Таблица 6.6. Переменные базы управляющей информации (Ml В)

Переменные MIB

Назначение

Address translation group (группа преобразования адресов)

Преобразует сетевые адреса в адреса подсетей или физические адреса

Electronic gateway protocol group (Группа шлюзового протокола электронных устройств)

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

Interfaces group (Группа интерфейсов)

Отслеживает количество сетевых адаптеров и количество подсетей

Internet control message protocol group (Группа протокола управляющих сообщений Интернета)

Собирает данные о количестве. сообщений, посланных агентом и полученных им

Internet protocol group (Группа протокола Интернета)

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

SNMP group (Группа SNMP)

Собирает данные об обращениях к базе MIB

System group (Системная группа)

Содержит информацию об агенте сети

Transmission control protocol group (Группа протокола управления передачей)

Предоставляет информацию о ТСР-соединениях в сети, включая данные об адресах и тайм-аутах

User datagram protocol group (Группа пользовательского протокола данных)

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

Новый, более совершенный стандарт MIB-II описывает дополнительные средства безопасности, поддержку сетей с маркерным кольцом и высокоскоростных интерфейсов, а также поддержку для телекоммуникационных интерфейсов. Стандарт MIB-II принят многими производителями сетевого оборудования.

Новые возможности протокола SNMPv 2

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

SNMPv2 позволяет шифровать групповое имя, улучшить обработку ошибок и обеспечить взаимодействие со многими протоколами. Он поддерживает также IPX и AppleTalk. Кроме того, SNMPv2 обеспечивает быструю передачу информации и позволяет одновременно получать больше данных из базы MIB-II.

Мониторинг с использованием протоколов SNMP и SNMPv 2

Протоколы SNMP и SNMPv2 можно применять для управления любыми сетями: локальными, глобальными и смешанными. Имеется множество средств и программных пакетов для сетевого мониторинга, которые используют SNMP и SNMPv2. В их число входят программы Sniffer компании Network Associates (см. www . sniffer . com ) и Network Monitor компании Microsoft (см. www.).

Важным SNMP-совместимым инструментом, используемым для мониторинга локальных сетей, соединенных через глобальные сети, является разработанный в начале 1990-х годов стандарт Remote Network Monitoring (RMON ) (удаленный мониторинг сети). RMON не только использует протокол SNMP, но также задействует специальную базу данных для удаленного мониторинга, называемую RMON MIB-II. Эта база позволяет удаленным сетевым узлам собирать сетевую статистику практически в любой точке локальной или глобальной сети. Эти удаленные узлы являются агентами, или зондами. Информация, полученная агентами, может быть передана на некоторую станцию управления, которая заносит ее в базу данных. В настоящее время стандарты RMON MIB-II адаптированы к сетям FDDI, Ethernet и Token Ring.

Другие прикладные протоколы стека TCP/IP

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

Таблица 6.7. Приложения и протоколы стека TCP/IP

Протокол или приложение

Описание

Приложение, позволяющее пользователю стека TCP/IP находить FTP-сайты, содержащие информацию по определенной тематике

Bootstrap Protocol (ВООТР)

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

Distance Vector Multicast Routing Protocol (DVMRP)

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

С помощью данной утилиты сетевой пользователь может определить, какие еще пользователи и хосты активны в сети

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

Hypertext Transfer Protocol (HTTP)

Протокол для передачи документов HTML (Hypertext Markup Language) через Интернет по запросам от веб-браузеров; эти документы могут включать в себя аудио - и видеофайлы, а также изображения и графику

Internet Group Management Protocol (IGMP)

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

Multicast Open Shortest Path First Protocol (MOSPF)

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

Open Shortest Path First Protocol (OSPF)

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

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

Real-Time Protocol (RIP)

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

Real-Time Transport Control Protocol (RTCP)

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

Resource Reservation Protocol (RSVP)

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

Routing Information Protocol (RIP)

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

Simple Network Management Protocol (SNMP)

Протокол, обеспечивающий сбор сетевой статистики, хранит эту информацию в базе данных

Traceroute (tracert)

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

В практических заданиях 6-9 и 6-10 вы можете попрактиковаться в работе с командой ping, а в заданиях 6-11 и 6-12 вы узнаете, как с помощью команд tracert и ping определить количество ретрансляций от одной точки сети до другой.

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

Как показано на рис. 6.11, компоненты стека TCP/IP, о которых рассказывалось в этой главе, соответствуют уровням эталонной модели OSI. По мере развития стека TCP/IP его компоненты все в большей степени следуют модели OSI. Например, на Физическом и Канальном уровнях стек TCP/IP совместим с сетями Ethernet, Token Ring, FDDI и ATM, а также с шинными сетями с передачей маркера (token bus). На Физическом уровне стек TCP/IP поддерживает коаксиал, витую пару и оптоволокно, а также беспроводные коммуникации. Кроме того, на Канальном уровне стек совместим со стандартом IEEE 802.2 на управление логическим каналом и МАС-адресацию.

Эквивалентом Сетевого уровня в стеке TCP/IP является протокол IP. Следующим уровнем совместимости служит Транспортный уровень, на этом уровне могут работать оба протокола – TCP и UDP. Верхние уровни модели OSI представляются прикладными протоколами TCP/IP. Например, протокол Telnet функционирует на уровне, эквивалентном Сеансовому, а протоколы SMTP и FTP работают на уровнях, аналогичных Представительскому и Прикладному уровням OSI.

Резюме

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

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

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

· Важно понимать, что главное назначение протокола IPv6 – обеспечит логический переход от IPv4, чтобы приложения и сетевые устройства могли справляться с новыми требованиями по мере их возникновения

· Фактически TCP/IP является стеком протоколов и приложений, предоставляющих важные возможности. Для подключения рабочих станций к хост-компьютерам используется протокол Telnet (при этом рабочие станции выступают в роли терминалов). FTP – протокол, который миллионы клиентов используют ежедневно для загрузки файлов из Интернета. Протокол SMTP обеспечивает работу почтовых служб, a DNS преобразует имена компьютеров в их IP-адреса. Протокол DHCP автоматически назначает IP-адреса сетевым компьютерам. Протокол SNMP важен для сетей, поскольку может собирать информацию о производительности сети и может использоваться для поиска неисправностей. Протокол ARP позволяет компьютерам или устройствам определять МАС-адрес другого компьютера или устройства.

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

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

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

Протокол IP относится к протоколам без установления соединений. Перед IP не ставится задача надёжной доставки сообщений от отправителя к получателю, он обрабатывает каждый IP-пакет как независимую единицу, не имеющую связи ни с какими другими пакетами. В протоколе IP нет механизмов, обычно применяемых для увеличения достоверности конечных данных: отсутствует квитирование, нет процедуры упорядочивания, повторных передач или других подобных функций. Если во время продвижения пакета произошла какая-либо ошибка, то протокол IP по своей инициативе ничего не предпринимает для её исправления. Все вопросы обеспечения надёжности доставки данных по составной сети в стеке TCP/IP решает протокол ТСР, работающий непосредственно над протоколом IP.

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

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

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

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

Рис. 1. Структура заголовка IP-пакета.

Поле Номер версии (Version)указывает версию протокола IP, сейчас используется версия IPv4 и готовится переход на версию IРv6.

Поле Длина заголовка (IHL) указывает значение длины заголовка, измеренное в 32-битовых словах. Обычно заголовок имеет длину в 20 байт (пять 32-битовых слов), но при увеличении объёма служебной информации эта длина может быть увеличена за счёт использования дополнительных байт в поле Опции. Наибольший заголовок занимает 60 октетов.

Поле Тип сервиса (Type of Service) занимает один байт и задает приоритетность пакета и вид критерия выбора маршрута. Первые три бита этого поля образуют подполе приоритета пакета (Precedence). Приоритет может иметь значения от самого низкого - 0 (нормальный пакет) до самого высокого - 7 (пакет управляющей информации). Маршрутизаторы и компьютеры принимают во внимание приоритет пакета и обрабатывают более важные пакеты в первую очередь. Поле Тип сервиса содержит также три бита, определяющие критерий выбора маршрута. Реально выбор осуществляется между тремя альтернативами: малой задержкой, высокой достоверностью и высокой пропускной способностью. Установленный бит D (delay) говорит о том, что маршрут должен выбираться для минимизации задержки доставки данного пакета, бит Т - для максимизации пропускной способности, а бит R - для максимизации надёжности доставки. Во многих сетях улучшение одного из этих параметров связано с ухудшением другого, кроме того, обработка каждого из них требует дополнительных вычислительных затрат. Поэтому редко, когда имеет смысл устанавливать одновременно хотя бы два из этих трёх критериев выбора маршрута. Зарезервированные биты имеют нулевое значение.

Поле Общая длина (Total Lenth) означает общую длину пакета с учетом заголовка и поля данных. Максимальная длина пакета ограничена разрядностью поля, определяющего эту величину, и составляет 65 535 байт, однако в большинстве хост-компьютеров и сетей столь большие пакеты не используются. При передаче по сетям различного типа длина пакета выбирается с учетом максимальной длины пакета протокола нижнего уровня, несущего IP-пакеты. Если это кадры Ethernet, то выбираются пакеты с максимальной длиной 1500 байт, умещающиеся в поле данных кадра Ethernet. В стандарте предусматривается, что все хосты должны быть готовы принимать пакеты вплоть до 576 байт длиной (приходят ли они целиком или по фрагментам). Хостам рекомендуется пакеты размером более чем 576 байт, только если они уверены, что принимающий хост или промежуточная сеть готовы обслужить пакет такой длины.

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

Поле Флаги (Flags) содержит признаки, связанные с фрагментацией. Установленный бит D (Do not Fragment) запрещает маршрутизатору фрагментировать данный пакет, а установленный бит М (More Fragments) говорит о том, что данный пакет является промежуточным (не конечным) фрагментом. Оставший ся бит зарезервирован.

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

Поле Время жизни (Time to Live) означает предельный срок, в течение которого пакет может перемещаться по сети. Время жизни каждого пакета задаётся источником передачи и измеряется в секундах. На маршрутизаторах и в других узлах сети по истечении каждой секунды из текущего времени жизни вычитается единица; единица вычитается и в том случае, когда время задержки меньше секунды. Поскольку современные маршрутизаторы редко обрабатывают пакет дольше, чем за одну секунду, то время жизни можно считать равным максимальному числу узлов, которые разрешено пройти данному пакету до того, как он достигнет места назначения. Если параметр времени жизни станет нулевым до того, как пакет достигнет получателя, этот пакет будет уничтожен. Время жизни можно рассматривать как часовой механизм самоуничтожения. Значение этого поля изменяется при обработке заголовка IP-пакета.

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

Контрольная сумма (Header Checksum) рассчитывается только по заголовку. Поскольку некоторые поля заголовка изменяют своё значение в процессе передачи пакета по сети, контрольная сумма проверяется и повторно рассчитывается при каждой обработке IP-заголовка. Контрольная сумма - 16 бит - подсчитывается как дополнение к сумме всех 16-битовых слов заголовка. При её вычислении значение самого поля устанавливается в ноль. Если контрольная сумма не верна, то пакет будет отброшен, как только ошибка будет обнаружена.

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

Поле Выравнивание (Padding) используется для того, чтобы убедиться в том, что IP-заголовок заканчивается на 32-битной границе. Выравнивание осуществляется нулями.

Протокол TCP/IP (Transmission Control Protocol/Internet Protocol) в Windows NT 4.0 обеспечивает сетевое взаимодействие компьютеров под управлением Windows NT, и возможность подключения к ним сетевых устройств под управлением других ОС.

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

Протокол TCP

Данные протокола TCP передаются сегментами, и соединение должно быть установлено до того, как узлы начнут обмениваться данными. TCP обеспечивает надежность, присваивая номер последовательности каждому передаваемому сегменту. Если сегмент разбивается на мелкие пакеты, то узел-получатель сможет узнать, все ли части получены. Для этого используются подтверждения. Для каждого отправленного сегмента узел-получатель должен вернуть отправителю подтверждение в течение определенного времени.

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

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

Порты могут иметь любой номер от 0 до 65536. Номера портов для приложений клиентов динамически назначаются операционной системой при обработке запроса на обслуживание.

Порты протокола TCP

Порт протокола TCP указывает место доставки сообщения. Номера портов, меньшие 256, определены как широко используемые. В таблице перечислены некоторые из таких портов.

Номер порта

Описание

Доменная система имен (DNS)

Сервис NetBIOS

Установка связи по протоколу TCP.

Инициализация TCP-соединения происходит в три этапа. Ниже перечислены операции, из которых состоит этот процесс.

Узел-отправитель запрашивает соединение, посылая с установленным флагом синхронизации.

Узел-адресат подтверждает получение запроса, отправляя обратно сегмент с:

установленным флагом синхронизации;

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

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

3. Запрашивающий узел посылает обратно сегмент с подтверждением номера последовательности и номером своего подтверждения (рис.2).

Для завершения соединения TCP действует аналогично. Это гарантирует, что оба узла закончат передачу и примут все данные.

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

Все пакеты протокола TCP имеют две части - заголовок и данные. В таблице представлены поля заголовка TCP-пакета.

Протокол IP

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

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

Маршрутизация (routing) - процесс выбора пути для передачи пакетов. Маршрутизация осуществляется на узле TCP/IP в момент отправки IP-пакетов, а затем - на IP-маршрутизаторе.

Маршрутизатор (router) - это устройство, которое перенаправляет пакеты из одной физической сети в другую. Маршрутизаторы также называют шлюзами (gateways).

Поля IP-пакета приведены в таблице.

Описание

Source IP-address (IP-адрес отправителя)

Идентифицирует отправителя пакета при помощи IP-адреса

Destination IP-address (IP-адрес получателя)

Идентифицирует получателя пакета при помощи IP-адреса

Protocol (Протокол)

Информирует протокол IP узла-получателя о том, какому протоколу - TCP или UDP его передать.

Checksum (Контрольная сумма)

Используется для проверки целостности пришедшего пакета.

Time to live, или TTL (Время существования)

Определяет, сколько времени пакет находится в сети, перед тем как он будет отвергнут. Предотвращает бесконечное блуждание пакетов по сети. Маршрутизаторы должны уменьшать TTL на количество секунд, проведенных пакетом в маршрутизаторе. TTL уменьшается по меньшей мере на одну секунду каждый раз, когда пакет проходит через маршрутизаторе. По умолчанию в Windows NT 4.0 TTL равно 128 секундам.

Реализация IP на маршрутизаторе.

Маршрутизатор обрабатывает полученные им IP-пакеты следующим образом:

Уменьшает значение TTL на 1 секунду или больше, если пакет надолго задерживается на маршрутизаторе.

Если значение TTL достигает нуля, пакет отвергается.

2. Пакет может быть фрагментирован, если его размер слишком велик для сети дальнейшего следования

Если может быть фрагментирован, то IP создает для каждого нового пакета (фрагмента) отдельный заголовок, устанавливая:

Flag(флаг), указывающий, что существуют и другие фрагменты, которые будут отправлены в след;

Fragment ID(Идентификатор фрагмента), идентифицирующий все фрагменты, составляющие один пакет;

Fragment Offset(Смещение фрагмента), обеспечивающий правильную сборку пакета на узле-получателе.

Вычисляет новую контрольную сумму.

Определяет адрес сетевого адаптера следующего маршрутизатора.

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

Как уже было отмечено ранее, главная задача транспортного уровня заключается в пере­даче данных между прикладными процессами. Эту задачу решают протокол управ­ления передачейTCP (Transmission Control Protocol) и протокол пользовательских дейтаграмм UDP (User Datagram Protocol). Протоколы TCP и UDP имеют много общего. Тот и другой обеспечивают интерфейс с вышележащим прикладным уровнем, передавая дан­ные, поступающие на входной интерфейс хоста, соответствующему приложению. При этом оба протокола используют концепции «порт» и «сокет». Оба они так­же поддерживают интерфейс с нижележащим сетевым уровнем IP, упаковывая свои пакеты в IP-пакеты.

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

Существует и обратная задача: пакеты, которые отправляют в сеть разные при­ложения, работающие на одном конечном узле, обрабатываются общим для них протоколом IP. Следовательно, в стеке должно быть предусмотрено средство «сбора» пакетов от разных приложений дляпередачи протоколу IP. Эту работу выполняют протоколы TCP и UDP.

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

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

Если процессы представляют собой популярные общедоступные службы (например, FTP, telnet, HTTP, DNS и т. п.), то за ними закрепляются стандарт­ные, назначенные номера, также называемые хорошо известными (well-known) номерами портов .Эти номера закрепляются и публикуются в стандартах Ин­тернета RFC. Так, номер 21 закреплен за службой удаленного доступа к файлам FTP, a 23 – за службой удаленного управления telnet. Назна­ченные номера являются уникальными в пределах Интернета и выделяются приложениям централизованноиз диапазона от 0 до 1023.


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

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

Нет никакой зависимости меж­ду назначением номеров для приложений, использующих протокол TCP, и при­ложений, работающих с протоколом UDP. Приложения, которые передают дан­ные на уровень IP по протоколу UDP, получают номера, называемые UDP-портами. Аналогично приложениям, обращающимся к протоколу TCP, выделя­ются ТСР-порты.

В том и другом случаях это могут быть как назначенные, так и динамические номера. Диапазоны чисел, из которых выделяются номера TCP- и UDP-портов, совпадают: от 0 до 1023 для назначенных и от 1024 до 65535 для динамических. Однако никакой связи между назначенными номерами TCP- и UDP-портов нет. Даже если номера TCP- и UDP-портов совпадают, они идентифицируют разные приложения. Например, одному приложению может быть назначен ТСР-порт 1750, а другому – UDP-порт 1750. В некоторых случаях, когда приложение может об­ращаться по выбору к протоколу TCP или UDP (например, таким приложением является DNS), ему, исходя из удобства запоминания, назначаются совпадаю­щие номера TCP- и UDP-портов (в данном примере – это номер 53) .

2.5.1 Протокол UDP

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

Заголовок UDP, состоящий из четырех 2-х-байтовых полей, содержит номера пор­тов отправителя и получателя , контрольную сумму и длину дейтаграммы (рис.2.11) .

    В процессе передачи размер окна варьируется. По значению W можно определить готовность принятия данных. Если W=0, то окно не принимает. Через определенный период t таймер повторения запросов посылает полноценный сегмент с размером 1 байт и ждем подтверждения. Если принимающая сторона готова к приему, то она отправляет на этот байт положительную квитанцию с размером окна > 0.

    Используется механизм таймаута. Размер ожидания положительной квитанции фиксируется значением времени двойного оборота. Timeout=2 ср.зн.t двойного оборота = 2τ.

  • Структура заголовка сегмента протокола tcp

      Порт отправитель 16

      Порт приемник 16

      Позиция сегмента 32

      Псевдо-заголовок (96)

      Первый ожидаемый байт 32

      Смещение 4

      Размер окна 16

      Контрольная сумма 16

      Указатель важности данных 16

      Опции и заполнитель

    Позиция сегмента – порядковый номер первого байта данных в исходном сообщении.

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

    Смещение данных – задает длину заголовка в 32-х разрядных словах.

    Резервное поле – не используется. Содержимое – нули.

    Флаги – эти поля активны, когда в них единица

    • URG=1 – указатель важности данных. Если в полученном сегменте URG=1, то принимающая сторона должна принять «важные» данные, независимо от того, что буфер может быть заполнен.

      ASK=1 – данный сегмент является положительной квитанцией

      PCH=1 – указатель срочности данных. Данные сегмента должны быть переданы а первую очередь.

      RST=1 – сегмент служит запросом для установление соединения и его первоначальных параметров.

      SYN=1 – сегмент служит для синхронизации счетчиков передаваемых данных.

      FIN=1 – сегмент является последним в передаваемом сообщении.

    Размер окна – указатель количества байтов, которые готова принять принимающая сторона.

    Контрольная сумма – определяется для всего сегмента (включая данные, псевдозаголовок и IP адреса отправителя и получателя). Разрядность псевдозаголовка = 96.

    Указатель важности данных – заполняется только тогда, когда флаг URG=1. Данные будут обрабатываться только на прикладном уровне.

    Опции и заполнитель (дополнитель) – опции используются для согласования параметров устанавливаемого соединения (размер сегмента, размер окна итд). Опции не ограничены в размерах, поле дополнитель дополняет опции до 32-х разрядного слова.

  • Сети х.25

  • Сети х.25 – это самые распространенные сети с коммутацией пакетов. Изначально был разработан стек протоколов Х.25, от которого и появилось название сетей. Протокол был разработан в 1974 году международным консультативным комитетом по телефоии и телеграфии (МККТТ).

    В 1984 этот протокол был занесен в «Красную книгу», то есть принят как ISO – стандарт

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

    Данная технология получила распространение по двум причинам:

    Долгое время Х.25 были единственные доступные сети с коммутацией пакетов коммерческого типа.

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

    ЦКП – центр коммутации пакетов

    PAD – сборщик-разборщик пакетов. Является удаленным.

    М-М – модем

    М (который отдельно) - маршрутизатор

    К – компьютер

    * - встроенные сборщик-разборщик пакетов

    ** - телефонная сеть

    Сборщик-разборщик пакетов (СРП) поддерживает 8, 16, 24, 32 и 64 асинхронных терминалов.

    Терминал как правило выходит -> на обычную телефонную сеть и далее -> к СРП через специальный интерфейс RS-232C

    Основные функции, регламентированные протоколом Х.3:

    Установление и разъединение сети Х.25 с нужным ресурсом

    Сборка байтов или символов от низкоскоростных терминалов в пакеты необходимой длины и передача их в сеть

    Прием пакетов из сети, разборка пакетов и передача данных в терминалы


© 2024
alerion-pw.ru - Про лекарственные препараты. Витамины. Кардиология. Аллергология. Инфекции