Изучите материал по данной теме. Чтобы перейти к учебному материалу, кликните на каждую из иконок.
Протокол - набор правил и процедур, которые определяют формат и последовательность обмена данными между устройствами в сети.
IP-адрес - уникальный идентификатор, присваиваемый каждому устройству в сети, позволяющий маршрутизаторам и коммутаторам определить путь для доставки пакетов данных.
TCP (Transmission Control Protocol) - протокол на транспортном уровне модели TCP/IP, обеспечивающий надежную и упорядоченную доставку данных между устройствами.
UDP (User Datagram Protocol) - протокол на транспортном уровне модели TCP/IP, предоставляющий несоединительную и ненадежную доставку данных без подтверждения получения.
Маршрутизация - процесс определения пути для передачи пакетов данных между различными сетями или узлами в сети.
Модель OSI - стандартная модель, разработанная Международной организацией по стандартизации (ISO), описывающая семь уровней, на которых осуществляется коммуникация в компьютерных сетях.
Адресация - Процесс присвоения и использования адресов для идентификации узлов или сетей в сетевых протоколах, таких как IP-адреса и MAC-адреса.
Порт - Числовой идентификатор, который используется в транспортных протоколах, таких как TCP и UDP, для определения конкретного приложения или службы, с которыми происходит коммуникация.
Протоколы (protocols) - это правила и технические процедуры, позволяющие нескольким компьютерам при объединении в сеть общаться друг с другом.
Три основных момента, касающихся протоколов.
Существует множество протоколов. И хотя все они участвуют в реализации связи, каждый протокол имеет различные цели, выполняет различные задачи, обладает своими преимуществами и ограничениями.
Протоколы работают на разных уровнях модели OSI. Функции протокола определяются уровнем, на котором он работает.
Если, например, какой-то протокол работает на Физическом уровне, то это означает, что он обеспечивает прохождение пакетов через плату сетевого адаптера и их поступление в сетевой кабель.
Несколько протоколов могут работать совместно. Это так называемый стек, или набор, протоколов.
Как сетевые функции распределены по всем уровням модели OSI, так и протоколы совместно работают на различных уровнях стека протоколов. Уровни в стеке протоколов соответствуют уровням модели OSI. В совокупности протоколы дают полную характеристику функциям и возможностям стека.
HTTP является основой для обмена данными в веб-среде, и его понимание критически важно для разработчиков, системных администраторов и всех, кто взаимодействует с сетевыми технологиями.
Протоколы играют ключевую роль в организации и передаче данных в компьютерных сетях. Давайте рассмотрим основные категории протоколов и их функциональные различия.
1. Транспортные протоколы:
TCP (Transmission Control Protocol): TCP является надежным протоколом передачи данных, обеспечивающим установление соединения между узлами и гарантии доставки данных. Это особенно важно для приложений, требующих высокой степени надежности, таких как веб-сайты и электронная почта.
UDP (User Datagram Protocol): В отличие от TCP, UDP является более легковесным протоколом, не предоставляющим гарантий доставки. Он часто используется в приложениях, где более важна скорость передачи данных, чем надежность, например, в потоковом видео или онлайн-играх.
2. Протоколы Интернет-уровня (Network Layer Protocols):
IP (Internet Protocol): IP является ключевым протоколом для маршрутизации и передачи пакетов данных в сети. Существует две основные версии, IPv4 и IPv6, обеспечивающие уникальную идентификацию устройств в сети и адресацию для правильной доставки данных.
ICMP (Internet Control Message Protocol): ICMP используется для отправки сообщений об ошибках и управления сетью, таких как эхо-запросы (ping) для проверки доступности узла в сети.
3. Протоколы Прикладного Уровня (Application Layer Protocols):
HTTP (Hypertext Transfer Protocol): HTTP является основным протоколом для передачи гипертекстовых документов в Интернете. Он используется веб-браузерами и веб-серверами для обмена данными.
FTP (File Transfer Protocol): FTP предназначен для передачи файлов между устройствами в сети. Он обеспечивает механизм для загрузки и скачивания файлов.
SMTP (Simple Mail Transfer Protocol): SMTP используется для отправки электронной почты через Интернет. Этот протокол обеспечивает передачу электронных писем между почтовыми серверами.
Эти разновидности протоколов обеспечивают надежную, структурированную и эффективную передачу данных в современных компьютерных сетях. Понимание и использование соответствующих протоколов критически важно для успешного функционирования и развития сетевых технологий.
Модели межсетевого взаимодействия предназначены для формального и в то же время
наглядного описания взаимодействия сетевых узлов между собой. В настоящее время
наибольшее распространение получили и являются стандартами для описания
межсетевого взаимодействия две сетевые модели: модель OSI и модель TCP/IP. Обе
модели разбивают процесс взаимодействия сетевых узлов на несколько уровней, каждый
конкретный уровень одного узла обменивается информацией с соответствующим уровнем
другого узла.
Каждую из этих моделей можно представлять как объединение двух моделей:
- горизонтальная модель (на базе протоколов, обеспечивающая обмен данными
одного типа между программами и процессами, работающими на одном и том же уровне
на различных сетевых узлах);
- вертикальная модель (на основе услуг, предоставляемых соседними уровнями друг
другу на одном сетевом узле).
В горизонтальной модели двум программам, работающими на различных сетевых узлах,
требуется общий протокол для обмена данными. В вертикальной — соседние уровни
обмениваются данными, выполняя необходимые преобразования с использованием
соответствующих программных интерфейсов.
В 1983 году с целью упорядочения описания принципов взаимодействия устройств в сетях
Международная организация по стандартизации (International Organization for
Standardization, ISO) предложила семиуровневую эталонную коммуникационную модель
"Взаимодействие Открытых Систем", модель OSI (Open System Interconnection).
Эталонная модель OSI сводит передачу информации в сети к семи относительно простым
подзадачам.
Модель OSI стала основой для разработки стандартов на взаимодействие систем. Она
определяет только схему выполнения необходимых задач, но не дает конкретного
описания их выполнения. Это описывается конкретными протоколами или правилами,
разработанными для определенной технологии с учетом модели OSI. Уровни OSI могут
реализовываться как аппаратно, так и программно.
Основная идея модели OSI в том, что одни и те же уровни на разных системах, не имея
возможности связываться непосредственно, должны работать абсолютно одинаково.
Одинаковым должен быть и сервис между соответствующими уровнями различных
систем. Нарушение этого принципа может привести к тому, что информация, посланная
от одной системы к другой, после всех преобразований не будет идентична исходной.
Модель OSI описывает путь информации через сетевую среду от одной прикладной
программы на одном компьютере до другой программы на другом компьютере. При этом
пересылаемая информация проходит вниз через все уровни системы.
Уровни на разных системах не могут общаться между собой напрямую. Это умеет только
физический уровень.
По мере прохождения информации вниз внутри системы она преобразуется в вид,
удобный для передачи по физическим каналам связи.
Для указания адресата к этой преобразованной информации добавляется заголовок с
адресом. После получения адресатом этой информации, она проходит через все уровни
наверх. По мере прохождения информация преобразуется в первоначальный вид.
Каждый уровень системы должен полагаться на услуги, предоставляемые ему смежными
уровнями.
1. Физический уровень. На данном уровне выполняется передача битов по физическим
каналам (коаксиальный кабель, витая пара, оптоволокно).
2. Канальный уровень. Данный уровень определяет методы доступа к среде передачи
данных и обеспечивает передачу кадра данных между любыми узлами в сетях
с типовой топологией по физическому адресу сетевого устройства. Адреса,
используемые на канальном уровне в локальных сетях, часто называют МАСадресами (MAC — media access control, управление доступом к среде передачи
данных).
3. Сетевой уровень. Обеспечивает доставку данных между любыми двумя узлами в сети
с произвольной топологией, при этом не гарантируется надежная доставка данных от
узла-отправителя к узлу-получателю. На этом уровне выполняются такие функции
как маршрутизация логических адресов сетевых узлов, создание и ведение таблиц
маршрутизации, фрагментация и сборка данных.
4. Транспортный уровень. Обеспечивает передачу данных между любыми узлами сети с
требуемым уровнем надежности. Для выполнения этой задачи на транспортном
уровне имеются механизмы установления соединения между сетевыми узлами,
нумерации, буферизации и упорядочивания пакетов, передаваемых между узлами
сети.
5. Сеансовый уровень. Реализует средства управления сессией, диалогом, а также
предоставляет средства синхронизации в рамках процедуры обмена сообщениями,
контроля над ошибками, обработки транзакций, поддержки вызова удаленных
процедур RPC.
6. Уровень представления. На этом уровне могут выполняться различные виды
преобразования данных, такие как компрессия и декомпрессия, шифровка и
дешифровка данных.
7. Прикладной уровень. Набор сетевых сервисов, предоставляемых конечным
пользователям и приложениям. Примеры таких сервисов — обмен сообщениями
электронной почты, передача файлов между узлами сети, приложения управления
сетевыми узлами.
Функционирование первых трех уровней, физического, канального и сетевого,
обеспечивается, в основном, активным сетевым оборудованием и, как правило,
реализуются следующими компонентами: сетевыми адаптерами, репитерами, мостами,
концентраторами, коммутаторами, маршрутизаторами.
Модель TCP/IP называют также моделью DARPA (сокращение от Defense Advanced
Research Projects Agency, организация, в которой в свое время разрабатывались сетевые
проекты, в том числе протокол TCP/IP, и которая стояла у истоков сети Интернет) или
моделью Министерства обороны CША (модель DoD, Department of Defense,
проект DARPA работал по заказу этого ведомства).
Историческая справка: Впервые о TCP/IP было сказано в 1973 году на
заседании International Network Working Group, прошедшем в Великобритании. Здесь
Роберт Кан и Винт Серф выступили с проектом статьи, которая позже, в мае 1974 года,
была опубликована в одном из самых престижных журналов Transactions on
Communications. В статье были изложены основы будущего протокола TCP/IP.
Главная идея, предложенная авторами, состояла в том, чтобы перенести обеспечение
надежности коммуникаций из сети в подключенные к ней серверы. Идея оказалась
блестящей, она пришлась по вкусу и либерально настроенным ученым, и военным
одновременно. После этого протокол начал жить своей жизнью, пока еще под названием
TCP. К совершенствованию нового протокола приложили руку многие инженеры и
ученые, и к октябрю 1977 года его работу удалось продемонстрировать не только в
ARPAnet, но и в пакетной радиосети и спутниковой сети SATNET.
Чуть позже инженеры пришли к выводу о необходимости разделить протокол на две
части: так появились "близнецы-братья" TCP и IP.
Часть TCP отвечает за разбиение
сообщения на дейтаграммы на стороне отправителя, за сборку их на стороне получателя,
обнаружение ошибок и восстановление порядка пакетов, если он был нарушен в процессе
передачи.
IP, или Internet Protocol, отвечает за маршрутизацию отдельных дейтаграмм.
История создания TCP/IP ведет свое начало с момента, когда министерство обороны США
столкнулось с проблемой объединения большого числа компьютеров с различными ОС. В
1970 г. был разработан необходимый набор стандартов. Протоколы, разработанные на
базе этих стандартов, получили обобщенное название TCP/IP.
К 1978 году окончательно оформилось то, что сегодня мы называем TCP/IP. Позже стек
адаптировали для использования в локальных сетях. В начале 1980 г. протокол стал
составной частью ОС UNIX. В том же году появилась объединенная сеть Internet. Переход
к технологии Internet был завершен в 1983 г., когда министерство обороны США решило,
что все компьютеры, присоединенные к глобальной сети, будут использовать стек
протоколов TCP/IP.
Модель TCP/IP разрабатывалась для описания стека протоколов TCP/IP (Transmission
Control Protocol/Internet Protocol). Она была разработана значительно раньше, чем модель
OSI.
Формальные правила, определяющие последовательность и формат сообщений на одном
уровне, называются протоколами. Иерархически организованная совокупность
протоколов называется стеком коммуникационных протоколов.
Модель состоит из четырех уровней:
1. Прикладной уровень
(Application) -
WWW, FTP, TFTP, SNMP, Telnet, SMTP, DNS, DHCP,
WINS
2. Транспортный уровень
(Transport) -
TCP, UDP
3. Уровень межсетевого
взаимодействия (Internet) -
ARP, IP, ICMP, RIP, OSPF
4. Уровень сетевого
интерфейса (Network Interface) -
Ethernet, Token Ring, FDDI, ATM, X.25, Frame Relay,
SLIP, PPP
Основное достоинство стека протоколов TCP/IP в том, что он обеспечивает
надежную связь между сетевым оборудованием от различных производителей.
- Независимость от сетевой технологии - стек только определяет элемент передачи,
дейтаграмму, и описывает способ ее движения по сети.
- Всеобщая связанность - стек позволяет любой паре компьютеров, которые его
поддерживают, взаимодействовать друг с другом. Каждому компьютеру назначается
логический адрес, а каждая передаваемая дейтаграмма содержит логические адреса
отправителя и получателя. Промежуточные маршрутизаторы используют адрес
получателя для принятия решения о маршрутизации.
- Подтверждения. Протоколы стека обеспечивают подтверждения правильности
прохождения информации при обмене между отправителем и получателем.
- Стандартные прикладные протоколы. Протоколы стека TCP/IP включают в свой
состав средства поддержки основных приложений, таких как электронная почта,
передача файлов, удаленный доступ и т.д.
Кратко опишем уровни модели TCP/IP.
1. Уровень сетевого интерфейса не регламентирован спецификациями стека TCP/IP и
фактически к стеку TCP/IP относят уровни с 1-го по 3-й модели TCP/IP. Данный
уровень соответствует физическому и канальному уровням модели OSI.
2. Уровень межсетевого взаимодействия. На данном уровне функционирует целое
семейство протоколов. Основная задача данного уровня — доставка пакетов от
одного узла-отправителя к узлу-получателю
Эту задачу выполняет протокол IP (Internet Protocol, протокол межсетевого
взаимодействия). Протокол IP — базовый протокол стека TCP/IP и основной
протокол сетевого уровня. Отвечает за передачу информации по сети. В его
основе заложен дейтаграммный метод, который не гарантирует доставку пакета.
Протокол ARP (Address Resolution Protocol, протокол разрешения физических
адресов) — служит связующим звеном между уровнем межсетевого
взаимодействия и уровнем сетевого интерфейса. Он преобразует IP-адреса
сетевых узлов в физические MAC-адреса соответствующих сетевых адаптеров.
Протокол ARP предполагает, что каждое устройство знает как свой IP-адрес, так
и свой физический адрес. ARP динамически связывает их и заносит в
специальную таблицу, где хранятся пары "IP-адрес – физический адрес" (обычно
каждая запись в ARP-таблице имеет время жизни 10 мин.).
Протокол ICMP (Internet Control Message Protocol, протокол межсетевых
управляющих сообщений) — служит для обмена информацией об ошибках. С
помощью специальных пакетов ICMP сообщает сетевым узлам информацию о
невозможности доставки пакета, о превышении времени жизни пакета и др.
Протоколы RIP (Routing Internet Protocol) и OSPF (Open Shortest Path First)
служат для построения таблиц маршрутизации и вычисления маршрутов при
отправке пакетов между различными IP-сетями.
3. Транспортный уровень.
Протокол TCP (Transmission Control Protocol, протокол управления передачей)
обеспечивает, базируясь на услугах протокола IP, надежную передачу
сообщений между сетевыми узлами с помощью образования соединений
(сеансов) между данными узлами. Такие протоколы прикладного уровня, как
HTTP и FTP, передают протоколу TCP свои данные для транспортировки.
Поэтому скоростные характеристики TCP оказывают непосредственное влияние
на производительность приложений. Кроме того, протокол TCP используется для
обработки запросов на вход в сеть, разделения ресурсов и т.д. На протокол TCP,
в частности, возложена задача управления потоками и перегрузками. Он
отвечает за согласование скорости передачи данных с техническими
возможностями рабочей станции-получателя и промежуточных устройств в сети.
Протокол UDP (User Datagram Protocol, протокол дейтаграмм пользователя)
обеспечивает передачу прикладных пакетов дейтаграммным способом (т.е. не
гарантирующим доставку пакетов). Работа этого протокола аналогична IP, но
основной его задачей является связь сетевого протокола и различных
приложений.
4. Прикладной уровень. Приложения, перечисленные в табл. 1.2, специально
разрабатывались для функционирования в сетях TCP/IP.
Протоколы для формирования сетевой инфраструктуры (DNS, DHCP, WINS)
будут рассмотрены в следующих разделах данного курса.
Приложения WWW (World Wide Web, Всемирная паутина) - основа для работы
сегодняшней сети Интернет. Протокол FTP (File Transfer Protocol, протокол
передачи файлов) реализует удаленную передачу файлов между узлами сети.
Протокол TFTP (Trivial File Transfer Protocol, простейший протокол пересылки
файлов) - более простой передачи файлов, в отличие от FTP не требующий
аутентификации пользователя на удаленном узле и использующий протокол
UDP для передачи информации.
Протокол SNMP (Simple Network Management Protocol, простой протокол
управления сетью) используется для организации управления сетевыми узлами.