Основные протоколы Сети. Для чего они используются?
Наверное Вы не раз слышали термины ICMP, TCP, UDP и им подобные. В данной статье описаны основные сетевые протоколы. Что они означают, где используются и какая разница между ними. Я попыталась систематизировать данную информацию, чтобы более тщательно разобраться с ней.
Протокол сети — это набор правил, который позволяет обмен данными между устройствами, это основа для обеспечения доставки пакета, определенные действия для реализации конкретного процесса.
В основе функционирования Интернет положена работа нескольких протоколов, которые располагаются один поверх другого. Какие же основные из них и что означают эти аббревиатуры? Рассмотрим основные виды протоколов ( сетевые протоколы список ).
MAC (Media Access Control)
Протокол MAC — это протокол низкого уровня, уникальный идентификатор устройства. Его применяют в качестве идентификации устройств в локальной сети. Каждое устройство, которое подключено к Интернету имеет свой уникальный MAC адрес. Этот адрес задан производителем. Это протокол уровня соединения, с которым довольно часто приходится сталкиваться каждому пользователю. Это физический адрес оборудования или интерфейса некоторых сетей.
Данный адрес выдается бесплатно на каждое устройство. Основная часть сетевых протоколов используют одно из 3-х пространств MAC, под управлением IEEE: MAC-48, EUI-48, EUI-64. Пример написания МАС адреса: 00-50-B6-5B-CA-6A. Первые 6 знаков обозначают производителя, а вторая часть адреса — это серийный номер интерфейса.
Зачем нужен МАС адрес? Данный протокол используется для идентификации узла сети и соответственно доставки информации именно в этот узел.
IP (Internet Protocol)
IP (Internet Protocol) — по сравнению с MAC, располагается на уровень выше. IP адреса уникальны для каждого устройства и дают возможность компьютерам находить и определять друг друга в сети. IP принадлежит сетевому уровню модели TCP/IP, стандартный протокол сети интернет .
Сети связываются в сложные структуры, а с помощью данного протокола машины определяют возможные пути к целевому устройству (эти пути могут меняться во время работы). Протокол реализуется с помощью известных видов IPv4 и IPv6, о которых я уже писала в одном из предыдущих материалов:
Приведем сравнительную таблицу для ipv6 и ipv4, чтобы увидеть их основные отличия:
ipv4
ipv6
Размер пакета: 576 байт
Размер пакета: 1280 байт
Включена аутентификация и шифрование
Использование в сетях: 99%
Использование в сетях: 1%
Доступен у всех хостинг-провайдеров
Доступен не у всех хостинг-провайдеров
Четыре десятичных числа разделяемых точкой
Шестизначное число с разделением двоеточием
IP адрес может быть как динамическим (временным), так и статическим, который прикрепляется на компьютер при подключении к интернету. Например, на VPS вы получите статический IP адрес, а при использовании некоторых VPN — динамический IP адрес.
Понятие IP адреса (выделенного адреса) очень часто используется в сфере хостинга и аренды серверов, ведь у каждого сервера есть свой уникальный выделенный IP адрес или даже своя подсеть адресов. П ротоколы передачи данных для чайников, в то числе IP адреса, можно использовать на хостинг услугах для сайтов. На виртуальном хостинге также можно заказать выделенный адрес для своего сайта, что предоставляется много преимуществ для работы ресурса в сети и его дальнейшего продвижения.
ICMP (Internet control message protocol)
Этот протокол соединения предназначен для того, чтобы устройства могли обмениваться сообщениями. Это к примеру могут быть сообщения об ошибках или информационные оповещения. Данные этот протокол не передает информацию. Этот протокол находится уровнем выше нежели протокол IP.
TCP (Transmission control protocol)
Один из основных протоколов сети internet , который находится на одном уровне с предыдущим протоколом ICMP. Он управляет передачей данных.
Бывают ситуации, когда пакеты могут приходить не в том порядке или вообще где-то теряться. Но протокол TCP обеспечивает правильный порядок доставки и дает возможность исправить ошибки передачи пакетов. Информация подается в правильном порядке для приложения. Соединение осуществляется с помощью специального алгоритма, который предусматривает отправку запроса и подтверждение открытия соединения двумя компьютерами. Минус работы данного протокола — низкая скорость, так как для надежной передачи данных необходимо больше времени.
Множество приложений используют TCP, сюда относят SSH, WWW, FTP и другие. Как правило, TCP протокол встроен в ядро операционной системы.
Роль TCP протокола ( web протокола ): обеспечение надежной доставки сегментов и их упорядочивание, контроль скорости передачи данных, работа с сессиями.
UDP (user datagram protocol)
UDP — известный протокол, чем-то похожий с TCP, который также функционирует на транспортном уровне. Основное отличие — ненадежная передача данных: данные не проходят проверку при получении. В некоторых случаях этого вполне достаточно.
Протокол udp принцип работы: з а счет отправки меньшего количества пакетов, UDP работает шустрее чем TCP. Нет необходимости устанавливать соединение, и протокол используется для отправки пакетов сразу на несколько устройств или IP телефонии. Это более упрощенный протокол за счет того, что некоторые фрагменты при передаче могут быть утеряны.
HTTP (hypertext transfer protocol)
Протокол приложения HTTP (hypertext transfer protocol) лежит в основе работы всех сайтов в Сети. HTTP дает возможность запрашивать необходимые ресурсы у удаленной системы, например, веб страницы и файлы. HTTPS — это не отдельный протокол сети, а тот же HTTP, но со специальной настройкой шифрования.
HTTP — порт 80, HTTPS — порт 443, последний используется для конфиденциальной передачи данных в Сети.
HTTPS обеспечивается наличием сертификата защиты SSL, который подключается на стороне хостинг-провайдера.
SSL есть бесплатные, например, от Lets Encrypt и платные от разных поставщиков услуг, например, Sectigo.
FTP (file transfer protocol)
FTP (file transfer protocol) — используется для передачи данных. Функционирует на уровне приложений, чем обеспечивается передача файла от одного компьютера к другому. FTP по праву считается небезопасным, его не стоит применять для передачи личных данных. Поэтому если есть такая возможность, то лучше вместо FTP использовать SSH протокол как основной тип протоколов передачи данных.
Для соединения по FTP используются специальные программы, например, Far Manager, Total Commander, FileZilla. Несмотря на свою небезопасность ФТП протокол все равно является наиболее популярным среди вебмастеров. На услугах виртуального хостинга ФТП предоставляется по умолчанию для соединения с серверов и передачи данных.
FTP — один из самых старых прикладных протоколов, который используется для доступа к удаленным хостам. Именно благодаря ФТП происходит организация обмена файлами.
DNS (domain name system)
DNS (domain name system) — используется для преобразования понятных и легко читаемых адресов в сложные ip адреса, которые трудно запомнить и наоборот. С помощью DNS мы получаем доступ к интернет-ресурсу по его доменному имени.
Понятие DNS часто можно встретить при работе с доменом. Например, при смене хостинга или регистратора домена происходит процесс обновления DNS зоны, который может длиться от 2 до 72 часов.
DNS сервер имеет несколько типов записей:
✓CNAME — часто используется для привязки субдомена, указывает альтернативный вариант основному домену,
✓NS — адрес DNS-сервера (например, dns1.hyperhost.ua),
✓А запись — IP-адрес сайта,
✓MX запись — адрес почтового сервера,
✓TXT запись — текстовая информация о домене, часто добавляется для прохождения различного рода верификаций домена,
✓SPF — список серверов, которые могут отправлять почту от конкретного домена;
✓SOA — запись с информацией о сервере.
SSH (secure shell)
SSH (secure shell) также относится к протоколу уровня приложений. Он разработан для обеспечения удаленного управления системой по защищенному каналу. Этот протокол используется для работы многих дополнительных технологий. SSH — прежде всего безопасный протокол передачи данных, поэтому если есть возможность использовать именно его, то не стоит пользоваться другими протоколами такими как ФТП.
В основном ССШ используют для удаленной работы с серверами, а также для надежного переноса большого количества данных. Например, при смене хостинг-провайдера и переносе сайта от одного хостера к другому, для быстрой организации процесса вам понадобится именно SSH доступ к старому хостингу.
SSH работает с помощью специальных команд, которые запускаются с командной строки. Это команды могут немного отличатся в зависимости от использованной ОС, а также SSH клиента.
Более детально все особенности работы с протоколом SSH мы описали в этой статье на блоге:
POP3 (Post Office Protocol)
POP3 (Post Office Protocol) — стандартный протокол, который используется для приема сообщений электронной почты. Протокол почтового соединения предназначен для обработки запросов на получение почты от клиентских почтовых программ.
POP3 предназначен для получения почты из любой точки доступа в интернете. POP3 — самый популярный тип учетной записи электронной почты. POP3 позволяет скачивать письма на устройства, а затем удалять их с сервера.
Минусы использования POP3: письма на сервере не хранятся, в том числе отправленные. Посмотреть отправленные можно только с устройства, с которого пользователь отправил письмо. Все настройки по хранению писем настраиваются отдельно в почтовом клиенте пользователя.
SMTP (Simple Mail Transfer Protocol)
SMTP (Simple Mail Transfer Protocol) — протокол для передачи почты. Основная задача сервера SMTP: возвращение или подтверждение о приеме, или оповещение об ошибке, или запрос на дополнительные данные. С помощью SMTP протокола проверяется корректность системы, в которой отправляется исходящее сообщение. За данным протоколом закреплено два порта: 25 и 587. Второй вариант протокола с защищенным SSL, хотя 25 на практике используется намного чаще.
Использование личного SMTP сервера очень просто применить, в сети очень много доступных инструкций и специалистов по работе с данным типом протокола.
Личный SMTP сервер в основном используют для организации массовых рассылок, личных переписок или для транзакционных писем.
Все протоколы обеспечивают налаженную работу Интернет, которым мы пользуемся каждый день. Понимание работы сетей на базовом уровне очень важно для каждого администратора сервера или вебмастера. Это используется для правильной настройки ваших сервисов в интернет, а также легкого обнаружения возникших проблем и решения неполадок. А какие сетевые протоколы вы знаете? Добавьте их в комментариях под статьей.
Протоколы транспортного уровня (TCP, UDP, SCTP)
SCTP (Stream Control Transmission Protocol — протокол передачи с управлением потока) — протокол транспортного уровня. Выполняет те же функции, что и протоколы TCP и UDP. Но объединяет при этом их преимущества, лишает недостатков и добавляет новые возможности.
Отличия от протоколов TCP и UDP:
Основные преимущества (пояснения к таблице):
- Сохранение границ — в протоколе TCP данные передаются непрерывным потоком байт, читаются так же, поэтому программист должен сам следить за тем, как расставлять границы в этом потоке и разделать куски данных. SCTP позволяет ставить границы и обрабатывать данные пакетами, как в UDP. Но при этом гарантирует порядок доставки пакетов, обеспечивает надёжность и ориентирован на соединения. Упорядоченность пакетов, кстати, можно отключить для повышения скорости.
- Multihoming (многолинейность, множественная адресация, см. иллюстрацию ниже) — SCTP позволяет устанавливать соединение к одному серверу по разным линиям связи (например, по Wi-Fi и по Ethernet). Таким образом, если одна линия связи отвалится (скорей всего Wi-Fi), то соединение не разорвётся. Это так же позволяет передавать данные сразу по нескольким линиям, что увеличивает скорость передачи. Если в TCP одна линия связи оборвётся, то соединение будет потеряно, придётся устанавливать новое.
- Multithreading (многопоточность) — позволяет передавать несколько потоков в рамках одной ассоциации (ассоциацией в SCTP называется соединение между двумя хостами). Например в TCP данные и служебная информация передаются по одному соединению. Поэтому задержка в получении служебнной информации может быть вызвана текущей передачей данных (например, ACK может не прийти вовремя, поэтому мы пошлём дупликат). Такая проблема называется head-of-line blocking, HOL. Многопоточность позволяет передавать эти данные независимо, что приведёт к лучшему использованию доступных ресурсов.
- 4-way handshake — протокол TCP подвержен SYN-flood атакам. Злоумышленник шлёт много пакетов в короткое время для запроса TCP соединения (запрос на соединение помечен битом SYN в заголовке, поэтому и SYN-flood). Но при этом не подтверждает установление соединения. Таким образом на сервере образуются полуоткрытые соединения. Они закрываются сами по истечению таймаута. Но цель злоумышленника состоит в том, чтобы создать как можно больше таких соединений, не давая тем самым создавать новые валидные соединения из-за ограничения в их количестве на стороне сервера (сервер не может иметь бесконечное число соединений, а если сделать таймаут на обрыв слишком маленьким, то валидные соединения могут отваливаться раньше времени, что тоже нехорошо, и это всё делает syn-атаки возможными). В SCTP используется не тройное рукопожатие, а четверное (из разряда: «я хочу установить соединение — ты точно хочешь установить соединение? — да, я точно хочу установить соединение — ну тогда ладно»). Таким образом за короткий промежуток времени нельзя создать много новых соединений.
- В SCTP не бывает полузакрытых соединений, как в TCP. Если мы закрываем соединение, то сразу в обе стороны.
К сожалению, несмотря на все преимущеста, протокол SCTP не получил пока широкого распространения. Это связано с инертностью (TCP работает, зачем менять?) и сложностью поддержки на аппаратном уровне (например, вся обёртка сетевых протоколов, те же фаерволы, имеют правила в духе «пропускать только UDP, TCP» пакеты; для примера можно вспомнить, как это используется в NAT).
Источники информации
- Лекция А. Масальских — Транспортный уровень. Введение. TCP. UDP. SCTP
- SCTP в Java (примеры кода)
- RFC 4960 — SCTP
Отличия TCP- и UDP-протоколов — определяем разницу на примерах
Рассматриваем два самых популярных протокола транспортного уровня — протоколы TCP и UDP — и сравниваем их.
Эта инструкция — часть курса «Как работают сетевые протоколы».
Смотреть весь курс

Современный мир завязан на системах связи, когда различные устройства «общаются» между собой посредством «правил», или протоколов модели OSI (Open Systems Interconnection model), определяющей методы взаимодействия. В тексте рассмотрим два самых популярных протокола транспортного уровня — TCP и UDP — и сравним их.
Прежде всего напомним, что такое сетевые протоколы. Сетевые протоколы — это правила взаимодействия устройств в сети, благодаря которым различные девайсы могут работать друг с другом, несмотря на конструктивные различия. На транспортном уровне происходит прием данных с сетевого уровня и передача их на сеансовый уровень.
TCP — протокол транспортного уровня
Первым из рассматриваемых протоколов будет TCP, или Transmission Control Protocol, который используется для транспортировки сообщений между устройствами в сети.
В сети файлы не передаются целиком, а дробятся и передаются в виде относительно небольших сообщений. Далее они передаются другому устройству — получателю, где повторно собираются в файл.
Например, человек хочет скачать картинку. Сервер обрабатывает запрос и высылает в ответ требуемое изображение. Ему, в свою очередь, необходим путь или канал, по которому он будет передавать информацию. Поэтому сервер обращается к сетевому сокету для установки требуемого соединения и отправки картинки. Сервер дробит данные, инкапсулирует их в блоки, которые передаются на уровень TCP получателя при помощи IP-протокола. Далее получатель подтверждает факт передачи.
У протокола TCP есть несколько особенностей:
- Система нумерации сегментов. TCP отслеживает передаваемые и принимаемые сегменты, присваивая номера каждому из них. Байтам данных, которые должны быть переданы, присваивается определенный номер байта, в то время как сегментам присваиваются порядковые номера.
- Управление потоком. Функция ограничивает скорость, с которой отправитель передает данные. Это делается для обеспечения надежности доставки, в том числе чтобы компьютер не генерировал пакетов больше, чем может принять другое устройство. Если говорить простым языком, то получатель постоянно сообщает отправителю о том, какой объем данных может быть получен.
- Контроль ошибок. Функция реализуется для повышения надежности путем проверки байтов на целостность.
- Контроль перегрузки сети. Протокол TCP учитывает уровень перегрузки в сети, определяемый объемом данных, отправленных узлом.
Примеры применения сетевого протокола TCP
Протокол TCP гарантирует доставку, а также обеспечивает целостность данных, передаваемых в сети. Поэтому он применяется для передачи данных, которые чувствительны к нарушению целостности, — например, текстов, файлов и т.п. Вот несколько протоколов, которые работают по TCP:
- SSH, FTP, Telnet: в данных протоколах TCP используется для обмена файлами.
- SMTP, POP, IMAP: протоколы, где TCP отвечает за передачу сообщений электронной почты.
- HTTP/HTTPS: протоколы, где TCP отвечает за загрузку страниц из интернета.
Эти примеры работают на уровне приложений стека TCP/IP и передают данные вниз к TCP, на транспортный уровень.
Строение протокола TCP

В каждый пакет данных TCP добавляет заголовок общим объемом в 20 байт (или октетов), в котором содержатся 10 обязательных полей:
- Порт источника — порт устройства-отправителя.
- Порт назначения — порт принимающего устройства.
- Порядковый номер. Устройство, инициирующее TCP-соединение, должно выбрать случайный начальный порядковый номер, который затем увеличивается в соответствии с количеством переданных байтов.
- Номер подтверждения. Принимающее устройство увеличивает этот номер с нуля в соответствии с количеством полученных байтов.
- Сдвиг данных TCP. Данный параметр определяет размер заголовка, чтобы система могла понять, где начинаются данные.
- Зарезервированные данные — зарезервированное поле, значение которого всегда равно нулю.
- Флаги управления. TCP использует девять флагов для управления потоком данных в определенных ситуациях — например, при инициировании сброса сессии.
- Размер окна — самая важная часть заголовка TCP. Это поле используется получателем для указания отправителю объема данных, которые он может принять.
- Контрольная сумма. Отправитель генерирует контрольную сумму и передает ее в заголовке каждого пакета. Принимающее устройство может использовать контрольную сумму для проверки ошибок в полученном файле.
- Срочный указатель — это предлагаемая протоколом возможность помечать некоторые байты данных тегом «Срочно» для их пересылки и обработки вне очереди.
- Поле опции. Может использоваться для расширения протокола или его тестирования.
Ускоряем работу протокола TCP при хорошем соединении или выжимаем максимум
TCP используется при передаче данных в таких протоколах, как HTTP, Telnet, FTP, SMTP. При использовании протокола нужно учесть, что при увеличении потери пакетов время, затрачиваемое на доставку файла, увеличивается.
Чтобы достичь максимальной пропускной способности TCP-соединения, можно выполнить следующие шаги:
Увеличить размер окна. Размер окна, или TCP Window Size, — это количество данных, которое может быть передано в данный момент без подтверждения. Это значение устанавливается в начале соединения между устройствами. Однако это значение можно изменить заранее, введя команду regedit в поиске и перейдя по следующему пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AFD\Parameters\DefaultSendWindow
Увеличение параметра приведет к тому, что уменьшится количество проверок полученных данных и увеличится эффективность использования полосы пропускания. Также, перейдя по пути:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
, можно добавить значение Tcp1323Opts, которое отвечает за изменение размера окна и управление временной меткой.
Изменение значения SackOpts. SACK, или селективное подтверждение, крайне важно для подключений с большим размером окна. Без этой функции проверка полученных данных выполняется только по последнему номеру последовательности полученных данных. Но с включением этой функции появляется возможность подтверждать получение отдельных блоков. Чтобы изменить данный параметр, можно перейти по пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
и выбрать параметр SackOpts.
Изменение значения TcpMaxDupAcks. Данный параметр отвечает за количество полученных подтверждений о передаче. Стандартное значение состоит из одного подтверждения и двух дубликатов. Параметр можно изменить, перейдя по пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
и выбрав TcpMaxDupAcks. Это позволит вам назначать количество требуемых подтверждений для запуска быстрой повторной передачи, что в результате скажется на скорости передачи данных.
Стоит отметить, что данными манипуляциями выигрываются доли секунд, поэтому сильно прироста скорости вы не увидите.
UDP — протокол транспортного уровня
Если нам очень важна скорость передачи, а вот потеря пакетов не так критична (как, например, в голосовом или видеотрафике), то лучше использовать UDP, или User Datagram Protocol. В отличие от TCP он обеспечивает передачу данных без получения подтверждения от пользователя. Проще говоря, просто отправляет пакеты и не ждет ничего в ответ. Из-за этого достигается высокая скорость в ущерб надежности.
Чаще всего UDP применяется в чувствительных ко времени службах, где потерять пакеты лучше, чем ждать. Звонки в Skype или Google Meet, стриминг видео, онлайн-трансляции используют этот протокол из-за того, что они чувствительны ко времени и рассчитаны на определенный уровень потерь. Вся голосовая связь через интернет работает по протоколу UDP. Также UDP очень часто используется в онлайн-играх. Аналогичная история с DNS-серверами, поскольку они должны быть быстрыми и эффективными.
Примеры использования протокола UDP
Примерами протоколов, использующих UDP-протокол, являются:
- DNS — протокол, преобразующий домены в IP-адреса, чтобы сделать возможной загрузку интернет-ресурса через браузер.
- SNMP — протокол, позволяющий системному администратору проводить мониторинг, контролировать производительность сети и изменять конфигурацию подключенных устройств.
- DHCP — протокол, отвечающий за автоматическое назначение IP-адреса клиенту.

Разница между TCP и UDP
Ключевым различием между TCP и UDP является скорость, поскольку TCP сравнительно медленнее UDP. В целом, UDP является быстрым, простым и эффективным протоколом, однако повторная передача потерянных пакетов данных возможна только в TCP.
Еще одно заметное различие между TCP и UDP заключается в том, что первый обеспечивает упорядоченную доставку данных от пользователя к серверу (и наоборот). UDP, в свою очередь, не проверяет готовность получателя и может доставлять пакеты вразнобой.
TCP vs UDP
Рассмотрим разницу характеристик протоколов TCP и UDP.
| TCP | UDP | |
| Состояние соединения | Требуется установленное соединение для передачи данных (соединение должно быть закрыто после завершения передачи) | Протокол без соединения, без требований к открытию, поддержанию или прерыванию соединения |
| Гарантия доставки | Может гарантировать доставку данных получателю | Не гарантирует доставку данных получателю |
| Повторная передача данных | Повторная передача нескольких кадров в случае потери одного из них | Отсутствие повторной передачи потерянных пакетов |
| Проверка ошибок | Полная проверка ошибок | Базовый механизм проверки ошибок. Использует вышестоящие протоколы для проверки целостности |
| Метод передачи | Данные считываются как поток байтов; сообщения передаются по границам сегментов | UDP-пакеты с определенными границами; отправляются по отдельности и проверяются на целостность по прибытии |
| Сферы применения | Используется для передачи сообщений электронной почты, HTML-страниц браузеров | Видеоконференции, потоковое вещание, DNS, VoIP, IPTV |
Отличия TCP и UDP при использовании в VPN
Также нередко возникает вопрос, касающийся использования данных протоколов при VPN-соединениях. К примеру, в OpenVPN существует возможность выбора между TCP- и UDP-протоколами.
Условимся, что VPN заворачивает передаваемые данные в еще один протокол (на самом деле все намного сложнее). Если ваш VPN-туннель использует в качестве транспортного протокола TCP, то передача данных по UDP-протоколу теряет свои преимущества. Как минимум на определенном участке пути. Поэтому для VPN-туннеля советуют использовать UDP-протокол, ведь TCP будет штатно работать внутри UDP-туннеля.
Поднимите VPN на сервере Selectel
Более 100 готовых к работе конфигураций.
Итог сравнения протоколов TCP и UDP
Каждый протокол хорош под свои задачи, недаром они являются одними из самых распространенных в интернете. В завершение сравнения TCP и UDP можно выделить, что TCP применяется там, где важно доставить все данные в определенном порядке. Зона применения UDP, в свою очередь, — это голосовой и видеотрафик, где доставка всех пакетов не является обязательной.
Также серьезным отличием TCP от UDP является размер заголовков. У TCP он составляет 20-60 байт, а у UDP — всего 8 байт. Это показывает, насколько сложнее устроен протокол TCP, ведь он приоритизирует трафик и проверяет блоки данных на наличие ошибок.
Руководство по стеку протоколов TCP/IP для начинающих
Список: Сетевые протоколы сети Internet
Сетевой протокол — это набор правил, позволяющий осуществлять соединение и обмен данными между двумя и более включёнными в сеть устройствами. Основополагающим протоколом сети Internet является протокол TCP/IP. TCP/IP это два различных протокола, тесно связанных между собой.
OSI — абстрактная сетевая модель для коммуникаций и разработки сетевых протоколов.
Основные протоколы Сети
В основе функционирования Интернет положена работа нескольких протоколов, которые располагаются один поверх другого.
MAC (Media Access Control)
MAC (Media Access Control) — это протокол низкого уровня. Его применяют в качестве идентификации устройств в локальной сети. Каждое устройство, которое подключено к Интернету имеет свой уникальный MAC адрес. Этот адрес задан производителем. Это протокол уровня соединения, с которым довольно часто приходится сталкиваться каждому пользователю.
IP (Internet Protocol)
IP (Internet Protocol) по сравнению с MAC, располагается на уровень выше. IP адреса уникальны для каждого устройства и дают возможность компьютерам находить и определять друг друга в сети. IP принадлежит сетевому уровню модели TCP/IP. В настоящее время существует две версии IP протокола IPv4 и более современный.
Структура межсетевого протокола IPv4 — сетевой уровень модели OSI
ICMP (межсетевой протокол управляющих сообщений)
ICMP (Internet control message protocol — межсетевой протокол управляющих сообщений) предназначен для того, чтобы устройства могли обмениваться сообщениями. Это к примеру могут быть сообщения об ошибках или информационные оповещения. Данные этот протокол не передает информацию. Этот протокол находится уровнем выше нежели протокол IP.
Читайте также: ICMP- флуд
TCP (Transmission control protocol)
TCP (Transmission control protocol) — один из основных сетевых протоколов, который находится на одном уровне с предыдущим протоколом ICMP. Он управляет передачей данных и является транспортным уровнем модели OSI.. Бывают ситуации, когда пакеты могут приходить не в том порядке или вообще где-то теряться. Но протокол TCP обеспечивает правильный порядок доставки и дает возможность исправить ошибки передачи пакетов. Информация подается в правильном порядке для приложения. Соединение осуществляется с помощью специального алгоритма, который предусматривает отправку запроса и подтверждение открытия соединения двумя компьютерами. Множество приложений используют TCP, сюда относят SSH, FTP и другие.
Читайте также: Что такое TCP/IP порт: TCP RST, Сокеты TCP(TIME_WAIT, ESTABLISHED и др.).
UDP (user datagram protocol)
UDP (user datagram protocol) — известный протокол, чем-то похожий с TCP, который также функционирует на транспортном уровне. Основное отличие — ненадежная передача данных: данные не проходят проверку при получении. В некоторых случаях этого вполне достаточно. За счет отправки меньшего количества пакетов, UDP работает шустрее чем TCP. Нет необходимости устанавливать соединение и протокол используется для отправки пакетов сразу на несколько устройств или IP телефонии.
HTTP (hypertext transfer protocol)
Протокол приложения HTTP (hypertext transfer protocol) лежит в основе работы всех сайтов в Сети. HTTP дает возможность запрашивать необходимые ресурсы у удаленной системы, например, веб страницы и файлы.
FTP (file transfer protocol)
FTP (file transfer protocol) — используется для передачи данных. Функционирует на уровне приложений, чем обеспечивается передача файла от одного компьютера к другому.
DNS (domain name system)
DNS (domain name system) — используется для преобразования понятных и легко читаемых адресов в сложные ip адреса, которые трудно запомнить и наоборот. С помощью DNS мы получаем доступ к интернет-ресурсу по его доменному имени.
SSH (secure shell)
SSH (secure shell) также относится к протоколу уровня приложений. Он разработан для обеспечения удаленного управления системой по защищенному каналу. Этот протокол используется для работы многих дополнительных технологий. Более подробно о протоколах передачи файлов в статье Настройка и использование SSH.
POP3 (Post Office Protocol)
POP3 (Post Office Protocol) — стандартный протокол, который используется для приема сообщений электронной почты. Протокол почтового соединения предназначен для обработки запросов на получение почты от клиентских почтовых программ.
IMAP (Internet Mail Access Protocol)
Протокол IMAP (Internet Mail Access Protocol) работаете с почтой непосредственно на сервере, в отличии от POP3, который просто скачивает входящие письма и сохраняет их локально.
SMTP (Simple Mail Transfer Protocol)
SMTP (Simple Mail Transfer Protocol) — протокол для передачи почты. Основная задача сервера SMTP: возвращение или подтверждение о приеме, или оповещение об ошибке, или запрос на дополнительные данные.
SMTP — простой протокол передачи почты (Simple Mail Transfer Protocol — простой протокол передачи почты).
Другие протоколы и термины Интернет
Примеры использования telnet — примеры использования.
SNMP протокол управления сетью (англ. Simple Network Management Protocol — простой протокол управления сетью).
