- Список: Сетевые протоколы сети Internet
- Основные протоколы Сети
- MAC (Media Access Control)
- IP (Internet Protocol)
- ICMP (межсетевой протокол управляющих сообщений)
- TCP (Transmission control protocol)
- UDP (user datagram protocol)
- HTTP (hypertext transfer protocol)
- FTP (file transfer protocol)
- DNS (domain name system)
- SSH (secure shell)
- POP3 (Post Office Protocol)
- IMAP (Internet Mail Access Protocol)
- SMTP (Simple Mail Transfer Protocol)
- Другие протоколы и термины Интернет
- jigi-33 / stack_protocolov_TCP_IP.md
Список: Сетевые протоколы сети 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 и более современный.
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 — простой протокол передачи почты).
Другие протоколы и термины Интернет
SNMP протокол управления сетью (англ. Simple Network Management Protocol — простой протокол управления сетью).
jigi-33 / stack_protocolov_TCP_IP.md
Стек протоколов TCP/IP — это альфа и омега Интернета. Тот самый стек, на базе которого построена всемирная система объединенных компьютерных сетей Интернет, его важно знать и нужно понимать.
Изначально данный стек создавался для объединения больших компьютеров в университетах по телефонным линиям связи соединения «точка-точка». Но когда появились новые технологии, широковещательные (Ethernet) и спутниковые, возникла необходимость адаптировать TCP/IP, что оказалось непростой задачей. Именно поэтому наряду с OSI появилась модель TCP/IP.
Через модель описывается, как необходимо строить сети на базе различных технологий, чтобы в них работал стек протоколов TCP/IP.
Сравнение моделей OSI и TCP/IP
Последняя включает в себя 4 уровня:
- Самый нижний, уровень сетевых интерфейсов, обеспечивает взаимодействие с сетевыми технологиями (Ethernet, Wi-Fi и т. д.). Это объединение функций канального и физического уровней OSI.
- Уровень Интернет стоит выше, и по задачам перекликается с сетевым уровнем модели OSI. Он обеспечивает поиск оптимального маршрута, включая выявление неполадок в сети. Именно на этом уровне работает маршрутизатор.
- Транспортный отвечает за связь между процессами на разных компьютерах, а также за доставку переданной информации без дублирования, потерь и ошибок, в необходимой последовательности.
- Прикладной объединил в себе 3 уровня модели OSI: сеансовый, представления и собственно, прикладной. То есть он выполняет такие функции, как поддержка сеанса связи, преобразование протоколов и информации, а также взаимодействие пользователя и сети.
Иногда специалисты пытаются объединить обе модели в нечто общее. Например, приведено пятиуровневое представление симбиоза от авторов [«Компьютерные сети»] Э.Таненбаума и Д. Уэзеролла.
Модель OSI обладает хорошей теоретической проработкой, но протоколы не используются. С моделью TCP/IP все иначе: протоколы широко используются, но модель подходит исключительно для описания сетей на базе TCP/IP.
- TCP/IP — это стек протоколов, представляющий собой основу Интернета.
- Модель OSI (Базовая Эталонная Модель Взаимодействия Открытых Систем) — подходит для описания самых разных сетей.
Рассмотрим каждый уровень более подробно:
Нижний уровень сетевых интерфейсов включает в себя Ethernet, Wi-Fi и DSL (модем). Данные сетевые технологии формально не входят в состав стека, но крайне важны в работе интернета в целом.
Основной протокол сетевого уровня — IP (Internet Protocol). Это маршрутизированный протокол, частью которого является адресация сети (IP-адрес). Здесь также работают такие дополнительные протоколы, как ICMP, ARRP и DHCP. Они обеспечивают работу сетей.
На транспортном уровне расположились TCP — протокол, обеспечивающий передачу данных с гарантией доставки, и UDP — протокол для быстрой передачи данных, но уже без гарантии.
Прикладной уровень — это HTTP (для web), SMTP (передача почты), DNS (назначение IP-адресам понятных доменных имен), FTP (передача файлов). Протоколов на прикладном уровне стека TCP/IP больше, но приведенные можно назвать самыми значимыми для рассмотрения.
Стек протоколов TCP/IP задает стандарты связи между устройствами и содержит соглашения о межсетевом взаимодействии и маршрутизации.
Разбираем подробнее сетевые технологии: HTTP, TCP, REST
Большинство разговоров о компьютерных сетях сводится к набору аббревиатур: HTTP, TCP, REST. Как все это устроено?
- Сети подразумевают передачу информации.
- Самый простой способ передачи информации — это текст.
- Протоколы — это наборы соглашений, что обеспечивают передачу данных.
Если не углубляться в сложную терминологию, то хорошим примером передачи информации послужат системы мгновенного обмена сообщениями (англ. IM — Instant messaging). Viber, Skype, ICQ etc. Все они имеют отдельные серверы и протоколы, оснащены своими особенностями и правилами передачи данных. Теперь разбираемся подробно.
Протокол управления передачей (англ. TCP — Transmission Control Protocol) обеспечивает надежную доставку данных. Сервис TCP так и называется: reliable byte stream (надежная передача потока байт). Этот протокол отвечает за доставку данных и сохранение порядка передаваемых сообщений.
Поток может быть большим. Как же в этом случае работает протокол? Допустим, вы скачиваете файл, который весит несколько Гб. В протоколе поток будет разбиваться на сегменты, и каждый из этих сегментов — отправляться получателю. На стороне получателя все части снова собираются.
Чтобы обеспечить гарантию доставки данных, TCP использует подтверждение получения сообщений.
- От отправителя к получателю «уходит» некий сегмент данных.
- Приняв этот сегмент, получатель посылает отправителю подтверждение (ACK или Acknowledgement).
- Данный процесс повторяется, пока передаются данные.
А вот что происходит, если при передаче произошла ошибка: сегмент теряется в сети, не доходит до получателя, и подтверждение не отправляется. Со стороны отправителя есть таймер, который задает время ожидания подтверждения. По истечении этого времени и за неимением ACK сегмент отправляется повторно.
Вот только в протоколе TCP подтверждаются сразу несколько сегментов, которые отправляются друг за другом (механизм скользящего окна). В противном случае скорость обмена данными была бы ужасающе медленной.
В протоколе TCP также предусмотрена защита от дублирования и нарушения порядка сообщений (сообщения нумеруются).
Мы видим HTTP в каждой ссылке: http://google.com/ и т.д.
Что это значит? HTTP — это протокол передачи гипертекста.
Грубо говоря, это тип разметки, которая добавляется в текстовые документы для определенного отображения текста. Например, в HTML используются теги. Так это выглядит в браузере, все знают.
В стеке протоколов HTTP находится на прикладном уровне.
Он использует протокол TCP и порт сервера 80 (для клиента порт генерируется операционной системой).
Режим работы HTTP — запрос-ответ: клиент посылает серверу запрос на передачу web-страницы, после чего сервер пересылает эту страницу клиенту. При этом нет жестко заданного формата пакетов: используется текстовый режим.
REST представляет собой стиль архитектуры ПО для распределенных систем вроде World Wide Web. Используется, как правило, для построения веб-служб. Именно Рой Филдинг, один из авторов HTTP, ввел термин REST в 2000 году.
Это очень простой интерфейс управления данными, в котором не предусмотрены дополнительные внутренние «прослойки». Такой механизм означает передачу информации в точно том же виде, что и сама информация. Грубо говоря, мы НЕ заворачиваем ее в XML, что присуще SOAP, НЕ юзаем AMF, как Flash, etc.
Управление информацией основано на протоколе передачи данных. Наиболее распространенный — HTTP, о котором шла речь ранее. В этом случае операции над информацией выполняются с помощью GET, PUT, POST, DELETE.