Какие наборы протоколов вы знаете чем они различаются
Протоколы передачи данных: что это, какие бывают и в чём различия?
Авторизуйтесь
Протоколы передачи данных: что это, какие бывают и в чём различия?
Интернет очень большой и комплексный. Но на базовом уровне это всего лишь связь между различными компьютерами (не только персональными). Эта связь представляет из себя сетевые протоколы передачи данных — набор правил, который определяет порядок и особенности передачи информации для конкретных случаев.
Протоколов большое множество. Про основные из них рассказано далее.
IP — Internet Protocol
Протокол передачи, который первым объединил отдельные компьютеры в единую сеть. Самый примитивный в этом списке. Он является ненадёжным, т. е. не подтверждает доставку пакетов получателю и не контролирует целостность данных. По протоколу IP передача данных осуществляется без установки соединения.
Основная задача этого протокола — маршрутизация датаграмм, т. е. определение пути следования данных по узлам сети.
Популярная версия на текущий момент — IPv4 с 32-битными адресами. Это значит, что в интернете могут хранится 4.29 млрд адресов IPv4. Число большое, но не бесконечное. Поэтому существует версия IPv6, которая поможет решить проблему переполнения адресов, ведь уникальных IPv6 будет 2 ^ 128 адресов (число с 38 знаками).
TCP/IP — Transmission Control Protocol/Internet Protocol
Это стек протоколов TCP и IP. Первый обеспечивает и контролирует надёжную передачу данных и следит за её целостностью. Второй же отвечает за маршрутизацию для отправки данных. Протокол TCP часто используется более комплексными протоколами.
UDP — User Datagram Protocol
Протокол, обеспечивающий передачу данных без предварительного создания соединения между ними. Этот протокол является ненадёжным. В нём пакеты могут не только не дойти, но и прийти не по порядку или вовсе продублироваться.
Основное преимущество UDP протокола заключается в скорости доставки данных. Именно поэтому чувствительные к сетевым задержкам приложения часто используют этот тип передачи данных.
FTP — File Transfer Protocol
Протокол передачи файлов. Его использовали ещё в 1971 году — задолго до появления протокола IP. На текущий момент этим протоколом пользуются при удалённом доступе к хостингам. FTP является надёжным протоколом, поэтому гарантирует передачу данных.
Этот протокол работает по принципу клиент-серверной архитектуры. Пользователь проходит аутентификацию (хотя в отдельных случаях может подключаться анонимно) и получает доступ к файловой системе сервера.
Это не только система доменных имён (Domain Name System), но и протокол, без которого эта система не смогла бы работать. Он позволяет клиентским компьютерам запрашивать у DNS-сервера IP-адрес какого-либо сайта, а также помогает обмениваться базами данных между серверами DNS. В работе этого протокола также используются TCP и UDP.
HTTP — HyperText Transfer Protocol
Изначально протокол передачи HTML-документов. Сейчас же он используется для передачи произвольных данных в интернете. Он является протоколом клиент-серверного взаимодействия без сохранения промежуточного состояния. В роли клиента чаще всего выступает веб-браузер, хотя может быть и, например, поисковый робот. Для обмена информацией протокол HTTP в большинстве случаев использует TCP/IP.
HTTP имеет расширение HTTPS, которое поддерживает шифрование. Данные в нём передаются поверх криптографического протокола TLS.
NTP — Network Time Protocol
Не все протоколы передачи нужны для обмена классического вида информацией. NTP — протокол для синхронизации локальных часов устройства со временем в сети. Он использует алгоритм Марзулло. Благодаря нему протокол выбирает более точный источник времени. NTP работает поверх UDP — поэтому ему удаётся достигать большой скорости передачи данных. Протокол достаточно устойчив к изменениям задержек в сети.
Последняя версия NTPv4 способна достигать точности 10мс в интернете и до 0,2мс в локальных сетях.
SSH — Secure SHell
Протокол для удалённого управления операционной системой с использованием TCP. В SSH шифруется весь трафик, причём с возможностью выбора алгоритма шифрования. В основном это нужно для передачи паролей и другой важной информации.
Также SSH позволяет обрабатывать любые другие протоколы передачи. Это значит, что кроме удалённого управления компьютером, через протокол можно пропускать любые файлы или даже аудио/видео поток.
SSH часто применяется при работе с хостингами, когда клиент может удалённо подключиться к серверу и работать уже оттуда.
Виды сетевых протоколов
Протоколом называется набор инструкций, по которым происходит взаимодействие одноименных уровней модели в абонентских ЭВМ. Существует семь уровней протоколов модели ISO. Их совокупность называется стеком сетевых протоколов. Рассмотрим в иерархическом порядке данные уровни.
Виды сетевых протоколов и их сравнение
HTTP – протокол передачи данных в сети Internet. Он использует клиент-серверную модель, то есть существует клиент, передающий запрос серверу, который, в свою очередь, отвечает на этот запрос. На прикладном уровне, поддерживаемом этим протоколом, в качестве клиентов используются, как правило, браузеры, а в качестве серверов выступают Apache, Microsoft IIS и др.
FTP – протокол передачи файлов. Старейший протокол, разработанный в начале 70-х годов, не теряет своей актуальности и в наши дни. В нем также используется модель «клиент-сервер». В настоящее время разработано несколько модификаций данного протокола, поддерживающих туннелирование (защищенную передачу данных) и шифрование.
DNS – система доменных имен. Если говорить проще, то данный протокол хранит информацию об именах запрашиваемых пользователем ресурсов и IP-адресах, соответствующих им. К примеру, вы хотите зайти на сайт yandex.ru. Ваше устройство не знает, что такое yandex.ru, так как в качестве адреса назначения, как мы рассматривали выше, используется IP. Поэтому DNS обращается к одноименному серверу, откуда получает IP адрес, после чего отправляется запрос на данный адрес и происходит перенаправление на него.
Какие наборы протоколов вы знаете чем они различаются
В прошлых лекциях мы узнали, как компьютеры объединяются в сети, разобрали понятие сетевой топологии и архитектуры, соединение компьютеров с помощью коммутаторов (или других устройств связи).
Однако чтобы компьютеры могли работать в сети, всего этого недостаточно. Теперь нужно научить сетевые приложения «разговаривать» друг с другом — обмениваться данными с помощью протоколов на уровнях, более высоких, чем канальный. Поскольку этих уровней несколько, нам потребуется не один, а несколько протоколов, объединенных в набор, или, как говорят, в стек.
В этой лекции мы изучим некоторые наиболее часто применяемые в сетях стеки протоколов, в том числе самый распространенный на сегодня набор протоколов — стек TCP/IP.
NetBEUI
Небольшой по объемам требуемого программного обеспечения протокол, реализующий поддержку сетевого, транспортного и сеансового уровней модели OSI. Наиболее прост в настройке (фактически ее не требует), работает эффективно и быстро в небольших и средних по размерам сетях (до 200 компьютеров). Серьезными, по современным меркам, недостатками протокола NetBEUI являются ограничения при работе в сетях с большим количеством компьютеров и, самое главное, отсутствие поддержки маршрутизации — возможности сетевой адресации и функции пересылки пакетов между сетями в нем просто не реализованы.
IPS/SPX и NWLink
Стек протоколов IPX/SPX был разработан фирмой Novell в начале 80-х гг. для своей сетевой операционной системы NetWare. Основа стека — это протоколы IPX (Internetwork Packet eXchange) и SPX (Sequenced Packet eXchange), реализующие функции сетевого и транспортного уровней модели OSI соответственно. Как и NetBEUI, протокол IPX/SPX является небольшим (его программную поддержку легко уместить на обычной дискете 1,44 Мб вместе с DOS) и быстрым, что было особенно важно в эпоху первого поколения IBM-совместимых компьютеров с малым объемом оперативной памяти (640 Кбайт).
Кроме того, в стеке IPX/SPX поддерживается маршрутизация. Оба этих фактора, наряду с надежностью серверов на базе операционной системы Novell Netware тех лет, способствовали широкому распространению стека IPX/SPX в локальных сетях в 80-е и 90-е гг. К недостаткам этого стека протоколов следует отнести интенсивное использование широковещательных сообщений, серьезно нагружающих сеть, особенно при работе по медленным глобальным каналам. Это обстоятельство, а также то, что стек IPX/SPX при¬надлежит фирме Novell и для его реализации другим производителям сетевых операционных систем приходилось покупать лицензию, привели в итоге к вытеснению IPX/SPX общедоступным стеком TCP/IP.
Важную роль здесь сыграло и то, что все больше организаций в 90-е гг. стало подключаться к Интернету, в котором использовался именно стек TCP/IP, а поддерживать в сети два стека протоколов — лишняя «головная боль» для сетевых администраторов.
TCP/IP
История развития стека TCP/IP (как и история Интернета) началась еще в конце 60-х гг. прошло¬го, XX века с проекта ARPANet — сети Агентства перспективных исследовательских проектов (Advanced Research Project Agency Network) Министерства обороны США.
Поскольку для военных во времена «холодной войны» была особенно важна возможность передачи данных даже в условиях атомных бомбардировок, ARPANet задумывалась как высоконадежная сеть, объединяющая военные, государственные и научные учреждения. Получившаяся в результате сеть и разработанный несколько позже (в 70-х гг.) стек протоколов TCP/IP оказались настолько удачными, что даже после прекращения финансирования проекта ARPANet Министерством обороны продолжали жить и успешно развиваться, создав основы современного Интернета.
Основные преимущества стека TCP/IP перед другими (например, перед стеком IPX/SPX) — более удобная система сетевой адресации, возможность фрагментации пакетов и очень небольшое количество широковещательных сообщений. Эти преимущества оказались решающими не только при построении глобальных сетей, объединяющих сети с разнородными архитектурами, но и при создании крупных корпоративных сетей. В результате сегодня стек TCP/IP практически вытеснил все остальные — он используется и в небольших домашних сетях, и в глобальной сети Интернет.
Поскольку стек TCP/IP является общедоступным, его стандарты (а также просто информационные материалы) публикуются в Интернете в виде специальных документов под названием «RFC» («Request for Comments», «запрос комментариев») с последовательно возрастающим номером. К примеру, спецификация протокола IP опубликована в RFC 791, а протокола HTTP версии 1.1 — в RFC 2616. Первый документ RFC был представлен еще в апреле 1969 г., а сейчас текущие номера RFC перевалили за 4 тысячи.
Стек TCP/IP, в отличие от семиуровневой модели OSI, принято описывать в рамках четырех уровней (рис. 1).
Рис.1 Основные протоколы стека TCP/IP
Чтобы лучше представить себе работу протоколов TCP и UDP, рассмотрим аналогию с почтой. Пусть вам надо переслать в издательство целый роман, а в письмо разрешается вкладывать не больше нескольких страниц текста. Чтобы в такой ситуации ничего не потерять при пересылке и не перепутать при приеме рукописи в печать, вначале хорошо бы договориться с издательством о системах обозначения именно для вашего романа (есть ведь и другие авторы!) и о нумерации сообщений. Для этого нужно послать письмо, извещающее издательство о вашем намерении переслать роман, в котором указать исходящий номер вашего следующего сообщения. Издательство подтвердит получение вашего сообщения и в ответном письме сообщит вам свои исходящие и входящие номера, а вы подтвердите получение этих номеров. Таким образом, обе стороны согласуют номера сообщений, которые они позже будут ожидать друг от друга, что и означает установку связи. Дальше вам остается только разделить роман на небольшие части и посылать каждую в отдельном письме, а издательству — подтверждать получение этих частей. Ошибки работы почты (если какое-то сообщение не дойдет до издательства из-за потери или повреждения письма либо придет вне очереди) легко определить по входящим и исходящим номерам, чтобы принять соответствующие меры — заново переслать утерянную часть или собрать страницы романа в нужном порядке.
Примерно также работает и протокол TCP:
Протокол же UDP в этой аналогии можно сравнить с рассылкой рекламных сообщений. Никакого установления связи и подтверждения получения корреспонденции здесь нет — письма с рекламной информацией просто бросают в ваш почтовый ящик.
При этом ни отправителя, ни получателя надежность доставки информации или ее целостность, во¬обще говоря, не особенно беспокоят.
Очевидно, почтовые отправления в обоих этих примерах являются аналогами IP-пакетов, а почтальоны выполняют функции протокола IP.
Порт в TCP или UDP — это логический канал с определенным номером (от 0 до 65536), обеспечивающий текущее взаимодействие между отправителем и получателем. Порты позволяют компьютеру с одним IP-адресом параллельно обмениваться данными с множеством других компьютеров. Некоторые номера портов (так называемые «хорошо известные», или «well-known», порты с номерами от 0 до 1024) привязаны к определенным службам и приложениям, что позволяет клиентам легко обращаться к нужным им сетевым сервисам.
Наконец, самым богатым по набору протоколов является прикладной уровень стека TCP/IP. Ниже в табл. 1-3 приведены самые популярные протоколы, а также зарезервированные для них порты.
Заметим, что, хотя для протоколов обычно резервируются одинаковые номера портов и для TCP, и для UDP, в таблице приведены порты для наиболее часто применяемого протокола транспортного уровня (TCP или UDP).
Несмотря на существование большого количества наборов протоколов, основным сегодня является общедоступный стек TCP/IP. Он используется практически повсеместно, начиная с небольших домашних сетей и заканчивая крупнейшей сетью — Интернетом
Табл. 1 Протоколы прикладного уровня стека TCP/IP
Табл. 2 Протоколы прикладного уровня стека TCP/IP
Табл 3. Протоколы прикладного уровня стека TCP/IP