» 

Протоколы, используемые в Интернете

Автор:

Значение слова «протокол»

Английское слово «протокол», используемое в вычислительной технике, в русском варианте способно иногда ввести в заблуждение; более удачным было бы употребление слов формат или стандарт. Протокол – это формат передачи данных, имеющий силу более-менее общепринятого стандарта. Но слово «стандарт» формально неприменимо: соблюдение стандарта обязательно, и должно как-то контролироваться. В интернете же нет контролирующего органа, заставить исполнять стандарт невозможно. Протокол исполняется не потому, что того требует закон, а потому что это разумно. Например, если вы пишете программу, скажем, простейший текстовый редактор, то ваши пользователи вправе ожидать, что текст, созданный в нем, можно будет открыть и в другом редакторе – то есть, что программа поддерживает общепринятые форматы. Это необязательно, конечно, но ясно, что не поддерживая их, не наберешь благодарных пользователей. То же касается и сетевых протоколов.

Разные уровни протоколов

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

Так, при работе в интернете, протокол ARP (address resolution protocol) обеспечивает работу сетевых устройств – роутеров, сетевых карт, они должны установить связь, видеть и понимать друг друга. Протокол TCP/IP обеспечивает передачу данных по интернету, по всему пути следования, – в том числе он занимается и выбором маршрута, и контроль за полнотой передачи, не вникая в суть самих данных. Что важнее – он не заботится о том, как работает оборудование, и какой протокол обеспечивает его работу. Наконец, к примеру, протокол HTTP занимается передачей данных непосредственно от пользователя к серверу и назад к нему. Он используется в клиентской и серверной программе, но не имеет отношения ни к тому, как работает оборудование, ни к тому, как данные движутся по сети.

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

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

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

Протокол TCP/IP (transmission control protocol / internet protocol) – основной протокол интернета – разбивает данные на маленькие пакеты, выбирает путь следования с учетом загрузки промежуточных узлов, проверяет целостность данных в месте доставки. Большинство протоколов верхнего уровня построены на базе TCP/IP. Однако, он не единственный.

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

Протокол HTTP

Протокол HTTP (hyper text transfer protocol) – в наше время основной протокол, используемый в интернете. Таковым он стал несколько лет назад, вытеснив по факту остальные протоколы. На заре существования интернета, когда связь была очень медленной и дорогой, да и возможности вычислительной техники были куда скромнее, чем сейчас, в ходу было около десятка основных протоколов, разработанных для разных конкретных задач. Тогда при низкой скорости соединения важно было передать данные как можно быстрее, не отвлекаясь и не тратя драгоценное время на второстепенные задачи. Протокол HTTP был разработан несколько позже; он появился потому, что для корректного отображения страницы нужна передача нескольких файлов, притом сколько именно и каких – определяется по содержанию главной страницы.

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

Протокол FTP

Протокол FTP (file transfer protocol), как следует из названия, был разработан для того, чтобы обеспечивать корректную передачу файлов. В свое время это был основной протокол в интернете, поскольку информация в сети была представлена в виде текстовых файлов; пользователь загружал их себе на компьютер и дальше работал с ними оффлайн. Существовало большое количество FTP-серверов, исполнявших роль хранилищ файловых библиотек; некоторые из них работают и сегодня, но все большее число переходит на использование протокола HTTP. Протокол FTP позволяет передавать файлы быстрее, чем HTTP, и, кроме того, позволяет при обрыве связи продолжить закачку с места обрыва. Он используется и сейчас, и может быть полезен при плохой и неустойчивой связи.

Два почтовых протокола

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

Для обеспечения работы почты в интернете было разработано два протокола: один из них, SMTP (simple mail transfer protocol), отвечал за передачу письма, притом отправить его можно было не имея ящика, просто послав запрос на любой почтовый сервер, другой – POP (post office protocol) – за ее хранение и получение. Он моделировал работу абонентских ящиков на обычной почте, откуда и его название.

Ситуация с отправкой почты изменилась в районе 2004-2005 годов, когда почтовые сервисы повели активную борьбу со спамом. Теперь отправить письмо, не имея ящика нельзя, но протокол ради этого переделывать не стали, просто добавили требование авторизации, а расширенный протокол стал называться SMTPA, где буква «A» начальная буква слова «авторизация». Как и в случае с FTP, оба протокола продолжают использоваться, и так же точно, все большее число людей предпочитает пользоваться веб-почтой.

Новые протоколы

Любой протокол решает конкретную задачу с учетом имеющихся технических возможностей. Поэтому новые протоколы продолжают появляться и сейчас. Никто в интернете не запрещает разработать собственный протокол. Некоторые программы создают для своей работы собственные форматы передачи данных; в случае коммерческого успеха, с распространением этих программ, их протоколы становятся общепринятыми. В качестве примера можно привести протокол SOP (streaming over peer), для программы sopcast.

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


Добавить Комментарий
Top.Mail.Ru