Обзор семейства протоколов TCP/IP

 

 

            

              

                  

            Обзор семейства протоколов TCP/IP

            Введение

            В данном реферате коротко рассматривается семейство протоколов

            TCP/IP

            и наиболее популярные сервисы Internet, такие как DNS, FTP, WWW,

            электронная почта. Также без особых технических подробностей

            рассказывается о структуре IP-адресации, принципах работы DNS,

            работе

            FTP.

            В рамки данного реферата не вошло подробное рассмотрение менее

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

            NFS, RPC.

            В целом прочтение (а особенно написание) данного реферата позволяет

            получить дополнительные знания о работе сети Internet.

            Как известно, история Internet началась с создания в 1969 году в

            Калифорнийском университете проекта сети ARPAnet. К началу 80-х к

            ARPAnet были подключены первые локальные сети и для работы был

            принят

            набор протоколов Transmission Сontrol Protocol/Internet Protocol

            (TCP/IP) Это

            и послужило началом его широкого распространения. Существует

            несколько

            причин, по которым TCP/IP были выбраны за основу сети Internet. Это,

 

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

            локальных,

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

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

            использования людьми и многие другие.

            Для TCP/IP больше подходит название "Комплекс протоколов Internet".

            Этот

            комплекс охватывает целое семейство протоколов и прикладные

            программы.

            В его состав входят UDP, ARP, ICMP, TELNET, FTP и другие. Но

            поскольку

            TCP и IP - наиболее известные протоколы данного комплекса, то часто,

 

            ссылаясь на данный набор протоколов используют термин ТCP/IP.

            TCP/IP - это семейство протоколов. Часть из них обеспечивает

            выполнение

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

 

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

            пакета,

            обеспечение достоверности и надежности соединения и т.д. Другая

            часть

            протоколов предназначена для выполнения прикладных задач - передача

            файлов, отправка почты, просмотр страниц и т. д.

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

            Он

            определяет систему команд, которые обозначают, кто будет

            отправителем,

            кто получателем, в какой форме идет сообщение. Этот протокол, как и

            все

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

            компьютерами. Именно за это и отвечают "низкоуровневые" протоколы

            TCP/IP.

            Подобно тому, как почтовый протокол использует TCP ,так и ТСР

            использует IP протокол , который обеспечивает доставку пакета по

            адресу

            (адресацию и маршрутизацию).

            Вообще же семейство протоколов TCP/IP имеет 4 ярко выраженных

уровня:

            ? Уровень приложения (прикладной)

            ? Уровень,реализующий транспортные функции (транспортный)

            ? Уровень, обеспечивающий доставку и маршрутизацию пакетов (сетевой)

            ? Уровень сопряжения с физической средой (канальный)

            Краткая характеристика уровней.

            Уровень сопряжения с физической средой - обеспечивает надежный

            транзит данных через физический канал. Этот уровень решает задачи

            физической адресации, линейной дисциплины (каким образом

            использовать

            канал), уведомления о неисправностях и т.д.

            Ниже этого уровня расположен только аппаратный уровень, который

            определяет уровни напряжений, синхронизацию изменения напряжений,

            физические соединители.

            Протоколы этого уровня тесно связаны с физической средой, в которой

            они

            работают, например - Ethernet, Token Ring, ISDN.

            В семействе TCP/IP нет протоколов, принадлежащих этому уровню ( за

            счет

            этого и достигается аппаратная независимость семейства), однако в

            состав

            семейства входят протоколы ARP и RARP, обеспечивающие взаимодействие

 

            между этим и следующим - сетевым уровнем.

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

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

            IP

            - который и обеспечивает доставку пакета по месту назначения

            (маршрутизацию), фрагментацию и сборку поступивших пакетов на хосте

            получателя. К этому уровню принадлежат протокол ICMP (сообщения об

            ошибках и сбор информации о работе сети) и RIP, EGP, OSPF

            (выбирающие

            оптимальные маршруты через подсети).

            Транспортный уровень – предоставляет услуги по транспортировке

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

            поддержания и упорядоченного закрытия каналов соединения. Сюда

            относятся TCP (обеспечивает транспортировку данных с установлением

            соединения) и UDP (только отправка пакетов).

            Прикладной уровень - идентифицирует и устанавливает наличие

            предполагаемых партнеров для связи , синхронизирует совместно

            работающие прикладные программы, устанавливает соглашения о

            процедурах устранения ошибок и управления целостностью информации.

            Обзор наиболее распространенных прикладных

            сервисов TCP/IP.

            Пользователей и разработчиков программ в основном интересуют

            протоколы или сервисы верхнего уровня. Именно благодаря им Internet

            и

            стал удобным средством общения.

            Ниже рассматриваются наиболее распространенные сервисы:

            ? Сервис разрешения имен - предоставляет механизм именования

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

            использования, мы должны знать не только адрес. Но и вид

            предоставляемых услуг. Это приводит к центральной проблеме –

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

            больших, географически разделенных систем – это задача создания

            распределенных баз данных (из-за невозможности хранения и обновления

 

            имен и адресов на каждом компьютере).Сервис разрешения имен (DNS) и

            обеспечивает управление такой базой.

            ? Компьютерная почта – позволяет обмениваться сообщениями с

            другими пользователями. Созданы специальные почтовые серверы,

            которые хранят сообщения для своих пользователей. Чтобы прочитать

            полученные сообщения - нужно присоединится к такому серверу и

            работать со своими сообщениями как с отдельными файлами. Наиболее

            распространенные протоколы – SMPT и POP3.

            ? Система новостей UseNet – распределенная система ведения

            дискуссий.

            Группы новостей – организованы по темам. Внутри могут быть

            подгруппы. Здесь требуется централизованное хранение статей, т.к.

            все

            пользователи должны иметь доступ к банку статей. Используемый

            протокол – NNTP.

            ? World Wide Web – состоит из компьютеров, объединенных в единую

            сеть,

            которые предоставляют определенный тип доступа к хранящейся

            информации. Высокоуровневый протокол работы со своим сервисом –

            НТТР. Он обеспечивает навигацию по WWW, формирует запросы и

            передает запрошенную информацию.

            ? FTP – передача файлов. Позволяет пользователю с одного компьютера

            передать или принять файлы с другого компьютера.

            ? Удаленный терминал (протокол TELNET) - предоставляет

            возможность работать на удаленном компьютере. Во время работы ваш

            компьютер становиться только средством, обеспечивающим сеанс связи.

            ? Сетевая файловая система (NFS) - позволяет одному компьютеру

            работать с файлами удаленной машины, но задача выполняется на

            процессоре вашей, а не удаленной машины (в этом отличие от TELNET)

            ? Удаленное выполнение процедур (RPC) – позволяет по запросу

            запускать

            на удаленной машине определенные программы. В настоящее время имеет

            множество реализаций и далек от завершения.

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

            IP- адресация построена на концепции сети, состоящей из хостов и

            других

            сетей. Хост представляет собой объект сети, который может передавать

            и

            принимать IP-пакеты. Хосты соединены между собой через одну или

            несколько сетей. IP адрес любого хоста состоит из адреса сети и

            адреса хоста

            в этой сети. IP адрес представляется 4 десятичными цифрами, каждое

            не

            превышающее 255 (адрес 32 битный). Этот адрес разделяется на 2 или 3

 

            части. Первая часть – адрес сети, вторая (если есть) – адрес

            подсети, третья –

            адрес главной вычислительной машины. Адрес подсети присутствует в

            случае принятия решения администратором о разделении сети на

            подсети.

            Адресация IP обеспечивает пять различных классов сетей (A,B,C,D,E

            (зарезервированный)). Сети класса А - для использования в больших

            сетях

            общего назначения, класса В – сети среднего размера, С – для

            небольших

            сетей. D – для обращения к группам машин. Структура адресации для

            разных классов различается "внутренним" разделением 32 бит между

            номером класса, номером сети и номером хоста.

            Некоторые IP адреса являются выделенными и трактуются по особому:

            ? (все нули) 0.0.0.0 – обозначает данный узел.

            ? (номер сети). (все нули) например 194.28.0.0 – данная IР сеть

            ? (все нули).(номер узла) например 0.0.0.18 – узел в данной лок.

Сети

            ? (все единицы) 255.255.255.255 – все узлы в данной лок. сети

            ? (номер сети).(все единицы) например 194.28.255.255 – все узлы в

            указанной IP (локальной) сети

            ? 127.(что угодно) – "петля". Этот адрес используется для

            тестирования ПО

            – данные не передаются по сети, а возвращаются модулям верхнего

            уровня, как только что принятые. Поэтому в IP сети запрещено

            присваивать адреса, начинающиеся со 127.

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

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

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

            компьютерных систем.

            IP – протокол относится к сетевому уровню системы протоколов. Адреса

 

            сетевого уровня обычно имеют иерархическую структуру.

            О структуре IP-адреса было сказано выше. Поэтому отметим, что

            IP-пакет

            содержит два основных адреса - отправителя и получателя. Кроме этого

 

            могут содержаться адреса шлюзов сети, которые дейтаграмма должна

            пройти по пути к получателю.

            Центральной частью маршрутизации IP является таблица маршрутов

            дейтаграмм, которая устанавливается на каждом хосте сети, будь то

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

 

            таблицу при принятии решений о маршрутизации пакетов. Содержание

            таблицы определяется администратором сети.

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

            связано с конкретной физической реализацией сети, по контрой

            передается

            дейтаграмма. На этом уровне заканчивается "универсальность"

            семейства

            TCP/IP. На следующем нижнем (канальном) уровне передачи данных -

            решаются вопросы физической адресации.

            Для отображения IP-адресов в физические адреса Ethernet (наиболее

            часто

            встречающийся интерфейс локальных сетей) используется пролтокол ARP

            (Address Resolution Protocol). Основным инструментом работы

            протокола

            является таблица разрешения адресов. Прямое преобразование

            выполняется

            путем поиска подходящей записи в этой таблице. Эта таблица,

            называемая

            ARP таблицей, хранится в памяти хоста и содержит строки соответствия

            для

            каждого узла сети. В двух столбцах таблицы содержаться IP и Ethernet

 

            адреса хостов.

            IP адрес выбирает администратор сети с учетом положения машины в

            сети, а

            Ethernet адреса "прошиты" в сетевой плате и имеют уникальный номер

            для

            каждой платы. Пользуясь этой таблицей ARP протокол отправляет пакеты

 

            по заданному адресу.

            Система доменов и распределенная база данных DNS.

            Обращение к хостам в сети Internet осуществляется по

            "четырехзвенному"

            адресу, однозначно идентифицирующему любой компьютер в сети. Однако

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

            присваивать имена компьютерам, которые затем преобразуются в IP

            адреса.

            Система, которая занимается преобразованиями имен в адреса и

            называется

            DNS (Domain Name System). Для реализации этой системы был создан

            специальный сетевой протокол DNS. DNS представляет собой множество

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

            базой данных имен и адресов.

            На заре создания Internet соответствия между именами хостов и их IP

            адресами содержались в единственном файле – HOSTS.TXT в

            Информационном центре NIC . Этот файл передавался по FTP всем хостам

 

            небольшой тогда сети. Однако с ростом сети это стало неудобным.

            Результатом решения этой проблемы и стало создание иерархического

            пространства имен. Рассмотрим для примера имя www . anekdot. ru.

            Здесь домен верхнего уровня ru, домен aneкdot – среднего уровня и он

 

            является частью домена ru , а www- имя компьютера в домене anekdot.

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

            частей сетевых идентификаторов, IP адресов и другой служебной

            информации. Администрирование частей базы возложено на организации,

            которые подключаются к Internet . Каждая организация должна

            инсталлировать собственный сервер разрешения имен и часть данных,

            содержащих информацию о домене хостов данной организации. Сервер

            должен обслуживать хосты внутри этой организации и предоставлять

            доступ

            к базе извне.

            Информация о хостах домена собирается в главном архиве, который

            представляет собой текстовые файлы определенного формата.

            Стандартный

            формат файлов позволяет хостам обмениваться ими по электронной почте

 

            или по FTP. Это позволяет некоторым организациям не создавать

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

            на

            соседние хосты, где установлен сервер имен.

            Вообще же архитектура построения системы такова, что обеспечение

            доступа к базе – более приоритетная задача, чем целостность и

            согласованность данных. Если изменение других частей базы не могут

            быть

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

 

            информация, а система через определенные промежутки времени будет

            пытаться обновить эти данные.

            Состав DNS

            Состоит из трех основных компонент:

            ? Пространство имен домена и записи базы данных - определяют

            структуру организации "дерева" имен и данных, ассоциированных с

            этими именами. Каждая запись (лист дерева) содержит определенною

            информацию, относящуюся к данному имени.

            ? Серверы имен – серверные программы, обрабатывающие информацию

            "дерева" имен и данных домена. При обращении к данным, которые он не

 

            обслуживает сервер должен переправить запрос или серверу,

            обслуживающему эту информацию, или стоящему на верхней ступени

            иерархии.

            ? Программы разрешения имен – возвращают информацию, хранящуюся в

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

            Протоколы электронной почты SMPT и POP3

            Электронная почта – наиболее распространенный сервис в Internet.

            Рассмотрим наиболее популярные протоколы, которые она использует.

            SMPT (Simple mailer Transfer Protocol)

            SMPT – представляет собой независимый от транспортной подсистемы

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

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

 

            использующих SMPT-сервис. Протокол обеспечивает как передачу

            сообщений в адрес одного получателя, так и тиражирование нескольких

            копий сообщения для передачи в разные адреса.

            После того, как пользователь закончил формирование своего сообщения,

            т.

            е. вставил картинки, присоединил файлы и т.д. – сообщение

            определенным

            способом форматируется и кодируется как правило в 7-битный вид.

            Сообщение помещается в определенную структуру – "конверт".

            "Конверт" содержит информацию о структуре и составе сообщения ,

            дату,

            отправителя и получателя, тему сообщения. В простейшем случае он

            состоит из заголовка, содержащего следующие поля:

            ? From: содержит адрес отправителя

            ? Tо: адрес получателя

            ? Date: содержит дату отправки сообщения почтовой системой, формат

            даты зависит от почтовой системы.

            ? Subject: содержит тему, заполняется пользователем самостоятельно

            ? Message-ID: содержит уникальный идентификатор сообщения,

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

            ? Может быть также поле Reply-To: адрес , куда следует направлять

            ответы

            на сообщение.

            С ростом популярности e-mail появилась необходимость передавать

            тексты, написанные на различных национальных языках, изображения,

            исполняемые файлы и т.д. В результате из-за работы разных

            пользователей

            с разными типами кодировки часто возникала ситуация невозможности

            прочитать полученные данные. Также не была определена структура

            размещения и идентификации типа закодированных данных. Поэтому для

            упрощения работы с нестандартными и составными сообщениями был

            разработан стандарт MIME (Multipurpose Internet Mail Extensions).

            Этот

            стандарт не заменяет, а расширяет существующий до сих пор способ

            форматирования сообщений. Сообщение построено с использованием

            MIME, если в его заголовке присутствуют следующие поля.:

            ? MIME-version содержит строку версии MIME-расширения данного

            сообщения

            ? Поле Content-Type указывает состав сообщения: text-текстовое

            сообщение, multipart – означает, что данное сообщение состоит из

            отдельных блоков, каждый из которых описывает свой состав

            самостоятельно

            ? "application", "image","audio","video"- содержит соответствующие

            данные

            ? message – содержит другое сообщение

            ? Content Transfer Encoding – содержит идентификатор типа кодировки,

 

            используемой в данном сообщении или его части (base64,quoted-

            printable,7bit,8bit,binary …)

            Модель работы протокола SMPT

            Простейший алгоритм работы протокола:

            ? После установления канала SMPT-соединения по любому из

            транспортных протоколов отправитель посылает команду MAIL ,

            идентифицирующую атрибуты отправителя почты. Если получатель

            SMPT может принять сообщение, он отправляет в ответ ОК.

            ? После этого отправитель SMPT отправляет команду RCPT ,

            идентифицирующую атрибуты получателя почты. Если получатель готов

            к приему на указанный "почтовый ящик", то отвечает ОК, если нет, то

            отвечает отказом.

            ? Отправитель отправляет данные получателю. Если получатель успешно

            принял все данные, он отправляет команду ОК.

            SMPT поддерживает несколько механизмов передачи почты: напрямую от

            хоста отправителя к хосту получателя, или через серверы SMPT , когда

 

            отправитель и получатель не могут соединиться напрямую.

            POP3 (Post Office Protocol)

            Для небольших организаций невыгодно держать у себя полный SMPT-

            сервер, кроме того пользователям e-mail может быть просто невыгодно

            постоянно держать подключение к Internet.

            Для решения этой проблемы и был разработан протокол РОР3. Он

            позволяет

            пользователю работать с содержимым своего почтового ящика,

            расположенным на сервере. Он позволяет забрать почту , а дальнейшая

            обработка происходит на рабочей станции пользователя. РОР3 не

            отвечает

            за отправку почты, он работает только как универсальный почтовый

            ящик

            для группы пользователей. Когда пользователю необходимо отправить

            сообщение, он должен установить соединение с каким-либо SMPT

            сервером

            и отправить свое сообщение по SMPT. Этот SMPT-сервер может быть тем

            же хостом, где работает РОР3 сервер, а может и располагаться в

            совсем

            другом месте.

            Как правило при работе с e-mail небольшие организации используют для

 

            получения своей корреспонденции РОР3-сервер, установленный на одном

            из

            компьютеров в офисе, а отправляют почту по SMPT на один из

            общеизвестных SMPT-серверов в городе.

            Протокол работы с WWW – HTTP (HyperText Transfer

            Protocol)

            WWW (World Wide Web) – состоит из компьютеров, которые предоставляют

 

            графический доступ к хранящейся на них информации. Способность

            хранить

            мультимедийную информацию делает WWW уникальным средством

            тиражирования информации.

            WWW-сервер представляет собой компьютер на котором работает

            определенное программное обеспечение, предоставляющее возможность

            пользователям Internet подсоединяться и пользоваться WWW-ресурсами

            этого компьютера. Протокол НТТР используется в WWW как один из

            основных.

            URI,URL,URN (Uniform Resource Identifier, Locator и Name

            соответственно)

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

            идентификации типов, методов работы и компьютеров, на которых

            находятся определенные ресурсы, доступные через Internet. Этот

            сервис

            состоит из трех частей:

            ? Схема – идентифицирует тип сервиса (например FTP или WWW сервер)

            ? Адрес – идентифицирует адрес ресурса, например www . ripn . net

            ? Имя или путь доступа – идентифицирует полный путь к ресурсу,

            например home/users/index.htm

            Например http:// www. microsoft . com / readme.txt- представляет

            собой

            ресурс с уникакльным идентификатором (URI). Доступ к нему будет

            осуществляться через НТТР.

            Таким образом URL,URI,URN – это способ для согласованной

            идентификации ресурсов в Internet.

            HTML (HyperText MarkUp Language ) – это язык описания содержащейся

            на

            WWW информации. HTML – файл представляет из себя обыкновенный

            текстовый файл, содержащий специальные коды, которые означают

            присоединенную к файлу графику, видео, аудио и т.д. HyperText -

            основная

            концепция размещения информации в WWW. Гиперссылки, содержащиеся в

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

            другой. WWW перенимает концепцию гиперссылок, но использует ее на

            другом уровне, установив гиперссылку между Web –страницами и WWW –

            узлами. Щелкнув мышью на гиперссылке одной странице пользователь

            может передвигаться не только внутри одного узла, но и перемещаться

            на

            другие узлы. Это открыло возможность навигации по Internet,

            несуществовавшей до появления WWW серверов.

            CGI (Common Grafic Interface) – это стандарт расширения

            функциональности

            WWW, позволяющий выполнять WWW – серверам выполнять программы,

            аргументами работы которой может управлять пользователь. Это

            позволяет

            получать от сервера динамическую информацию. CGI обычно служит как

            шлюз между исполняемыми программами, написанными на любом языке, и

            WWW – сервером.

            Протокол НТТР построен по модели "запрос-ответ". Клиент

            устанавливает

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

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

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

            несколько промежуточных объектов:

            ? Proxy – промежуточный агент, который в зависимости от своих

            настроек

            переформатирует запрос и передает его далее по цепочке другим

            серверам.

            ? Gateway – шлюз – промежуточный сервер. В отличие от proxy шлюз

            просто принимает запросы и передает их далее. Его работа прозрачна

            для

            пользователей.

            ?

            ? Tunnel – программа посредник между двумя соединениями Туннели

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

            данных через объект ( например через Proxy), который не может

            интерпретировать структуру потока данных.

            Протокол передачи файлов FTP.

            FTP (File Transfer Protocol) – один из первых сервисов Internet.

            Предназначен

            для решения задач доступа к файлам на удаленных хостах. FTP –

            протокол

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

            конфиденциальных данных, т.к. между сервером и клиентом передается

            открытый текст.

            Сервер FTP Пользователь FTP

            User Interface – пользовательский интерфейс работы с FTP.

            User –PI интерпретатор команд пользователя – взаимодействует с

            Server-PI

            для обмена командами управления передачей данных и User-DTP модулем

            ,

            который осуществляет непосредственную передачу данных.

            User-DTP – модуль, осуществляющий обмен данными на основании команд

            от User PI

            Server-PI – модуль управления обменом данными со стороны сервера

            Server DTP – модуль, осуществляющий обмен данными со стороны сервера

            Сервер FTP – модуль, осуществляющий работу FTP сервера

            Пользователь FTP – модуль клиента FTP.

            Алгоритм работы:

            ? После установления управляющего соединения модуля UserPI и

            ServerPI,

            клиент может отправлять на сервер команды. FTP – команды определяют

            параметры соединения передачи данных, роль участников соединения,

            тип передачи и так далее.

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

            (пассивный) становится в режим ожидания открытия соединения.

            Активный модуль начинает передачу данных.

            ? После окончания передачи соединение между ServerDTP и UserDTP

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

            Пользователь может еще раз открыть канал передачи данных.

            Литература :

            1. С. Золотов, Протоколы Internet , "BHV-Санкт- Петербург", 1998 –

            304 с.

            2. Tодд Леммл, М. Леммл, Д. Челлис, Учебное руководство для

            специалистов MCSE: TCP/IP "Лори" 1997

            3. Д. Кирсанов, Факс-модем: от покупки до выхода в Internet, "Символ

            "

            1997

            1

 

 

Яндекс цитирования Rambler's Top100

Главная

Тригенерация

Новости энергетики