Сетевые стандарты и протоколы кратко

Обновлено: 05.07.2024

Продолжающееся быстрое развитие Internet, протоколов и стандартов, связанных с Сетью, требует систематизации и упорядочения достигнутых результатов. Этой цели служат периодически обновляемые документы, издаваемые Управляющим советом по вопросам архитектуры Internet (IAB ? Internet Architecture Board).

Продолжающееся быстрое развитие Internet, протоколов и стандартов, связанных с Сетью, требует систематизации и упорядочения достигнутых результатов. Этой цели служат периодически обновляемые документы, издаваемые Управляющим советом по вопросам архитектуры Internet (IAB - Internet Architecture Board). Однако, несмотря на многообразие этих документов, ни один из них не дает достаточно полной и ясной картины о статусе выпускаемых документов и стадиях их разработки. Даже в совокупности они дают очень слабое представление о взаимоотношениях между протоколами и стандартами Internet.

  1. RFC Index (перечень RFC - Request for Comments) - список всех изданных RFC в порядке возрастания номеров, дополняемый по мере их появления.
  2. Internet official protocol standards (официальный перечень стандартов по протоколам Internet) - периодически обновляемый документ, где излагается общая характеристика процесса стандартизации в Internet, перечни вновь изданных RFC и обобщающие перечни протоколов, группируемые по стадиям стандартизации и иным признакам. Последняя версия этого документа изложена в RFC 2400.
  3. RFC Summary Numbers (сводный перечень номеров RFC) переиздается, начиная с номера 699, через каждые 100 номеров и содержит перечни с краткими аннотациями каждых 100 предыдущих номеров RFC.
  4. Assigned Numbers (присвоенные номера) - перечисляются присвоенные значения параметров, используемых в различных протоколах (например, адреса Internet, имена регионов, протокольные коды IP, номера портов TCP, коды опций Telnet, наименования типов терминалов).

Рис. 1. Динамика разработки документов RFC

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

Кроме того, RFC никогда не переиздаются и не пересматриваются с тем же номером. Пересмотренный протокол издается под другим номером, а прежние сохраняются в каталогах под прежними номерами.

  • информационные (informational);
  • экспериментальные (experimental);
  • предложения по стандартам (proposed standards);
  • проекты стандартов (draft standards);
  • стандарты (standards);
  • исторические (historic).
  • обязательные (required);
  • рекомендуемые (recommended);
  • избирательного применения (elective);
  • ограниченного применения (limited use);
  • не рекомендуемые (not recommended).

Протоколы проходят три стадии созревания: предложение по стандарту, проект и стандарт, подвергаясь на каждой стадии тщательному анализу и тестированию. Предложение по стандарту может стать проектом только при наличии минимум двух независимых реализаций и рекомендации Инженерной группы управления Internet (IESG - Internet Engineering Steering Group). Продвижение от проекта к стандарту требует обычно эксплуатационной проверки и демонстрации взаимодействия с двумя или более реализациями и также рекомендации IESG.

От предложения до проекта стандарта минимальная задержка составляет 6 месяцев, от проекта до стандарта - 4 месяца. Фактические же задержки могут достигать нескольких лет.

Протоколы, разработанные другими организациями по стандартизации или поставщиками и представляющие информационный интерес, либо по каким то другим причинам не входящие в предмет рассмотрения IESG, помечаются как информационные. Информационные документы не имеют статуса.

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

Помимо этого протоколы (в основном экспериментальные и исторические) могут получить один из следующих статусов:

С 1995 году IAB ввоцедуре принятия предложений по стандартам. Статус этих документов определен в RFC 1818, а документы BCP имеют свою независимую нумерацию. К сегодняшнему дню разработано 25 RFC в статусе BCP, однако при формальном группировании RFC по RFC 2400 документы BCP в отдельный класс не выделяются.

Рис. 2. Классификация протоколов Internet

Изложенная классификация протоколов в схематическом виде представлена на рис. 2. К сожалению, фактическая классификация конкретных документов и протоколов Internet как в самом RFC 2400, так и в других перечисленных регламентирующих и обобщающих документах IAB не обладает четкостью этого рисунка и страдает иногда нелогичностью и противоречивостью.

Таблица 1. Количественное распределение протоколов
Internet по стадиям разработки

Стадия разработки Действующие Устарелые Всего
Стандарт 55 2 57
Проект стандарта 65 21 86
Предложение по стандарту 374 78 452
Экспериментальные 122 24 146
Лучшая современная технология 24 1 25
Информационные 516 61 577
Исторические 49 51 100
Не известна 740 168 908
Пустые номера RFC 77
ВСЕГО 1945 406 2428

Анализ перечисленных документов IAB позволил выявить следующую статистику количественного распределения документов RFC и протоколов Internet по стадиям разработки.

Все документы RFC, как и протоколы Internet, можно подразделить по другому признаку еще на две группы: документы, определяющие внутреннее функционирование Internet, и документы, определяющие взаимодействие Internet с сетями других типов. При этом ко второй группе относится около 277 (из 2331) документов RFC (включая устарелые и исторические). По относительному количеству выпущенных документов попытаемся косвенно оценить заинтересованность Internet во взаимосвязи с другими сетевыми технологиями и сетевыми архитектурами.

Эта статистика не показывает, однако, динамики взаимоотношений. Так, если взаимосвязь Internet с устарелыми (ARPANET) или достаточно зрелыми, но в чем-то устаревающими системами (IPX Novell, AppleTalk), постепенно вытесняемыми самой Internet, стабилизировалась (судя по отсутствию новых RFC) в начале 80-х, то с конца 80-х началась проработка взаимосвязей с развивающимися новыми архитектурами Frame Relay, ATM, а также привлечение и освоение ресурсов, наработанных в ISO, ITU-T, что и отразилось в появлении соответствующих RFC.

C 1990 года IAB ввел новую серию документов под названием FYI (For Your Information), которые носят информационный характер и должны обеспечить пользователей Internet централизованным справочником по наиболее важным темам и обобщающим вопросам (терминология, ответы на часто задаваемые вопросы относительно Internet и т.п.). Документы FYI имеют свою независимую нумерацию, и помещаются отдельным разделом в RFC Index, но не анализируются в RFC 2300. Издано 32 документа FYI, большинство из которых имеют своими дубликатами документы RFC.

Взаимосвязи между протоколами Internet

Уровневая архитектура протоколов Internet во многом соответствует концепции семиуровневой архитектуры протоколов эталонной модели OSI. Основное различие этих двух архитектур состоит в том, что протоколы трех верхних уровней эталонной модели OSI - прикладного, представления данных и сеансового в Internet, как правило, объединяются в один уровень - прикладной. Обобщенный профиль основных прикладных и коммуникационных протоколов Internet приведен на рис. 3.


Рис. 3. Основополагающие протоколы Internet и взаимосвязи между ними

Основными изначальными прикладными службами Internet были и остаются службы передачи файлов, электронной почты и обмена новостями, виртуальных терминалов и справочная служба. В каждой из таких областей шло постоянное развитие исходных и создание новых более эффективных протоколов, основные из которых, используемые сегодня перечислены на рисунке. Кроме того изначально применялись протоколы, выполняющие ряд вспомогательных, но повышающих эффективность работы функций - протоколы информирования о времени (TIME, NTP), получения собственных идентификаторов (BOOTP), получения информации об окружающей системе (Finger), диагностические протоколы (Echo) и др.

На прикладном уровне Internet используются также разработанные в рамках архитектуры OSI прикладные протоколы электронной почты Х.400 и справочной службы Х.500.

На уровне звена данных (канальном уровне) изначально использовался протокол SLIP, который сегодня фактически вытеснен протоколом двухпунктовых соединений PPP, поддерживающим как асинхронные (байт-ориентированные стартстопные), так и синхронные (бит-ориентированные) двунаправленные кабельные или модемные соединения. В последнее время дополнительно разработаны и успешно используются специальные стандарты для передачи IP-трафика по сетям различных архитектур, которые более полно учитывают особенности этих сетей. Кроме того на этом уровне часто используются (с применением инкапсуляции) протоколы других архитектур (Frame Relay, HDLC (в подсетях X.25), SDLC (в подсетях SNA), DDCMP (в подсетях DECNet), протоколы LAN и др.

На физическом уровне в сети Internet могут быть использованы практически все широко известные протоколы и интерфейсы физического уровня, стандартизованные ITU-T (CCITT), EIA, ISO, Frame Relay Forum, ATM Forum, протоколы и интерфейсы LAN, SDH (SONET) и др. Единственным ограничением, налагаемым протоколом РРР на физический уровень, является наличие дуплексного канала, выделенного или коммутируемого, работающего в асинхронном или синхронном последовательном режиме, прозрачном для пакетов уровня PPP. На скорости передачи данных и тип интерфейса никаких ограничений не налагается.

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

Взаимосвязь с другими сетями и архитектурами

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

Как уже отмечалось, вопросам взаимодействия Internet с другими сетями посвящено 290 документов RFC, отражающих используемые на практике конфигурации взаимодействия. Основные из таких конфигураций отражены на рис. 4, где указаны также соответствующие документы RFC, определяющие взаимодействие протоколов Internet с другими протоколами.

Можно выделить два основных подхода к взаимодействию Internet с другими сетевыми архитектурами и сетевыми технологиями.

  1. Использование на нижних уровнях Internet современных высокоскоростных протоколов типа типа FDDI, Fast Ethernet, Frame Relay, ATM и др., повышающее эффективность работы прикладных протоколов Internet.
  2. Использование более эффективных прикладных программ других сетевых архитектур (типа OSI, SNA) для работы по практически апробированным, достаточно зрелым и широко распространенным коммуникационным протоколам Internet.

Метод инкапсуляции протоколов определен в рекомендациях ITU-T I.363, I.365, Q.2119, стандартах ANSI T1.617a, Frame Relay Forum FRF.3.1 и в RFC 1490. На рис. 4 взаимодействие различных протоколов методом инкапсуляции изображено стрелками.

Метод преобразования услуг использован в показанном на рис. 4 взаимодействии протоколов Internet с прикладными протоколами OSI. В RFC 1006 (стандарт STD 35) определен механизм, позволяющий протоколу транспортного уровня ТР 0 (простой класс) по ISO/IEC 8073 (и, следовательно, любым прикладным программам OSI, работающим по ТР 0) функционировать над протоколом TCP Internet при использовании услуг протокола IP. В результате логические объекты всех верхних уровней OSI (прикладного, представления данных и сеансового) могут функционировать нормально, не ощущая того, что все они работают по TCP/IP.

Протокол по RFC 1006/2126 и ISO/IEC 14766 преобразует услуги протокола TCP Internet в стандартные по ISO/IEC 8348 услуги сетевого уровня OSI в режиме с установлением соединения (CONS), которые затем используются протоколом TP 0 или TP 2 по ISO/IEC 8073. Кроме того указанный протокол инкапсулирует протокольные блоки ISO/IEC 8073 в пакеты протокола ТСР. При этом все основные аспекты услуг транспортного уровня по ISO/IEC 8072 сохраняются, за исключением параметра качества услуг.


Рис. 4. Взаимосвязь протоколов Internet с протоколами других сетевых архитектур и технологий

Наряду с широко известными сетевыми архитектурами и сетевыми технологиями OSI, X.25, ISDN, Frame Relay, ATM, SDH/SONET, а также стандартными технологиями локальных сетей семейства IEEE 802 (Ethernet, Token Ring, FDDI) на рис. 4 изображены взаимосвязи Internet с другими менее известными технологиями.

Поскольку служба NetBIOS сконструирована на основе различных протоколов и различного оборудования, то для обеспечения взаимодействия NetBIOS в Internet RFC 1001 и 1002 определили стандартный протокол для функционирования прикладных программ NetBIOS над протоколами TCP и UDP. Кроме того, поскольку для выполнения некоторых приложений NetBIOS типа серверов файлов ПК не подходят, то RFC 1001 и 1002 определили возможность построения реализаций на системах любого типа, где имеется комплект протоколов TCP/IP.

С другой стороны, RFC 1088 определил стандартный метод инкапсуляции датаграмм протокола IP в датаграммы NetBIOS с тем, чтобы обеспечить возможность работы в компьютерах сети NetBIOS прикладных программ Internet, работающих над IP. Кроме того определено преобразование 4-байтовых адресов IP в 16-байтовые имена NetBIOS. Использование маршрутизаторов, способных инкапсулировать пакеты IP в обычные протоколы уровня звена данных (типа протоколов локальных сетей), а также в датаграммы NetBIOS, позволяют компьютерам NetBIOS взаимодействовать со всей Internet.

Протокол PPP обеспечивает стандартный метод транспортирования многопротокольных датаграмм по двухпунктовым каналам. PPP определяет расширяемый Link Control Protocol и поддерживает семейство различных протоколов сетевого уровня NCP (Network Control Protocols). RFC 2097 определил один из протоколов NCP, поддерживаемых PPP, для функционирования протокола сетевого уровня NBFCP сети NetBIOS над PPP.

Высокопроизводительный параллельный интерфейс HIPPI, разработанный в конце 80-х - начале 90-х рабочей группой ANSI X3T9.3 HIPPI, представляет собой простой канал данных. Пара таких каналов обеспечивает одновременный прием и передачу данных на скорости 800 Мбит/с и факультативно 1600 Мбит/с.

Документы RFC Index:

Следует учесть, что содержимое RFC Index по всем указанным адресам не идентичное. Если, например, по первому из адресов RFC Index содержит только перечень номеров RFC (без названий документов), форматы RFC (указываемые расширением имени файла) и емкость электронной версии документа в Кбайт, то по последнему из перечисленных адресов содержится наиболее подробный RFC Index с указанием дополнительно наименования документа, фамилий авторов, даты издания, устарелых или обновляемых версий документа и стадии разработки протокола.

Понимание работы сетей на базовом уровне имеет очень важное значение для каждого администратора сервера или веб-мастера. Это необходимо для правильной настройки ваших сервисов в сети, а также легкого обнаружения возможных проблем и решения неполадок.

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

Основные сетевые термины

Перед тем как обсуждать основы сети интернет, нам нужно разобраться с некоторыми общими терминами, которые часто используются специалистами и встречаются в документации:

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

Уровни сетей и модель OSI

Обычно, сети обсуждаются в горизонтальной плоскости, рассматриваются протоколы сети интернет верхнего уровня и приложения. Но для установки соединений между двумя компьютерами используется множество вертикальных слоев и уровней абстракции. Это означает, что существует несколько протоколов, которые работают друг поверх друга для реализации сетевого соединения. Каждый следующий, более высокий слой абстрагирует передаваемые данные и делает их проще для восприятия следующим слоем, и в конечном итоге приложением.

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

Модель OSI

Так сложилось исторически, что когда дело доходит до уровней работы сетей, используется модель OSI или Open Systems Interconnect. Она выделяет семь уровней:

  • Уровень приложений - самый верхний уровень, представляет работу пользователя и приложений с сетью Пользователи просто передают данные и не задумываются о том, как они будут передаваться;
  • Уровень представления - данные преобразуются в более низкоуровневый формат, чтобы быть такими, какими их ожидают получить программы;
  • Уровень сессии - на этом уровне обрабатываются соединения между удаленным компьютерами, которые будут передавать данные;
  • Транспортный уровень - на этом уровне организовывается надежная передача данных между компьютерами, а также проверка получения обоими устройствами;
  • Сетевой уровень - используется для управления маршрутизацией данных в сети пока они не достигнут целевого узла. На этом уровне пакеты могут быть разбиты на более мелкие части, которые будут собраны получателем;
  • Уровень соединения - отвечает за способ установки соединения между компьютерами и поддержания его надежности с помощью существующих физических устройств и оборудования;
  • Физический уровень - отвечает за обработку данных физическими устройствами, включает в себя программное обеспечение, которое управляет соединением на физическом уровне, например, Ehternet или Wifi.

Как видите, перед тем, как данные попадут к аппаратному обеспечению им нужно пройти множество слоев.

Модель протоколов TCP/IP

Модель TCP/IP, еще известная как набор основных протоколов интернета, позволяет представить себе уровни работы сети более просто. Здесь есть только четыре уровня и они повторяют уровни OSI:

  • Приложения - в этой модели уровень приложений отвечает за соединение и передачу данными между пользователям. Приложения могут быть в удаленных системах, но они работают как будто бы находятся в локальной системе;
  • Транспорт - транспортный уровень отвечает за связь между процессами, здесь используются порты для определения какому приложению нужно передать данные и какой протокол использовать;
  • Интернет - на этом уровне данные передаются от узла к узлу по сети интернет. Здесь известны конечные точки соединения, но не реализуется непосредственная связь. Также на этом уровне определяются IP адреса;
  • Соединение - этот уровень реализует соединение на физическом уровне, что позволяет устройствам передавать между собой данные не зависимо от того, какие технологии используются.

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

Основные протоколы интернета

Как я уже сказал. в основе работы сети лежит использование нескольких протоколов, которые работают один поверх другого. Давайте рассмотрим основные сетевые протоколы интернет, которые вам будут часто встречаться, и попытаемся понять разницу между ними.

Есть еще очень много других протоколов, но мы рассмотрели только сетевые протоколы, которые больше всего важны. Это даст вам общие понятия того, как работает сеть и интернет в целом.

Выводы

В этой статье мы рассмотрели основы сетей и протоколов, которые используются для организации их работы. Конечно, этого совсем недостаточно, чтобы понять все, но теперь у вас есть определенная база и вы знаете как различные компоненты взаимодействуют друг с другом. Это поможет вам понимать другие статьи и документацию. Если вас серьезно заинтересовали основы сети интернет, то тут не хватит нескольких статей. Вам нужна книга. Обратите внимание на Камер Д. Сети TCP/IP. Принципы, протоколы и структура. В свое время я ее прочитал и мне очень понравилось.

На завершение видео про модель OSI:

Интернет очень большой и комплексный. Но на базовом уровне это всего лишь связь между различными компьютерами (не только персональными). Эта связь представляет из себя сетевые протоколы передачи данных — набор правил, который определяет порядок и особенности передачи информации для конкретных случаев.

Протоколов большое множество. Про основные из них рассказано далее.

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.

Что такое DNS? Введение в систему доменных имён

Предупреждён – значит вооружён: от чего не спасает HTTPS

NTP — Network Time Protocol

Не все протоколы передачи нужны для обмена классического вида информацией. NTP — протокол для синхронизации локальных часов устройства со временем в сети. Он использует алгоритм Марзулло. Благодаря нему протокол выбирает более точный источник времени. NTP работает поверх UDP — поэтому ему удаётся достигать большой скорости передачи данных. Протокол достаточно устойчив к изменениям задержек в сети.

Последняя версия NTPv4 способна достигать точности 10мс в интернете и до 0,2мс в локальных сетях.

SSH — Secure SHell

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

Также SSH позволяет обрабатывать любые другие протоколы передачи. Это значит, что кроме удалённого управления компьютером, через протокол можно пропускать любые файлы или даже аудио/видео поток.

SSH часто применяется при работе с хостингами, когда клиент может удалённо подключиться к серверу и работать уже оттуда.

Руководство по стеку протоколов TCP/IP для начинающих

Cтек протоколов TCP/IP широко распространен. Он используется в качестве основы для глобальной сети интернет. Разбираемся в основных понятиях и принципах работы стека.

Основы TCP/IP

Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол интернета) — сетевая модель, описывающая процесс передачи цифровых данных. Она названа по двум главным протоколам, по этой модели построена глобальная сеть — интернет. Сейчас это кажется невероятным, но в 1970-х информация не могла быть передана из одной сети в другую, с целью обеспечить такую возможность был разработан стек интернет-протоколов также известный как TCP/IP.

Разработкой этих протоколов занималось Министерство обороны США, поэтому иногда модель TCP/IP называют DoD (Department of Defence) модель. Если вы знакомы с моделью OSI, то вам будет проще понять построение модели TCP/IP, потому что обе модели имеют деление на уровни, внутри которых действуют определенные протоколы и выполняются собственные функции. Мы разделили статью на смысловые части, чтобы было проще понять, как устроена модель TCP/IP:


Уровневая модель TCP/IP

Три верхних уровня — прикладной, транспортный и сетевой — присутствуют как в RFC, так и у Таненбаума и других авторов. А вот стоит ли говорить только о канальном или о канальном и физическом уровнях — нет единого мнения. В RFC они объединены, поскольку выполняют одну функцию. В статье мы придерживаемся официального интернет-стандарта RFC и не выделяем физический уровень в отдельный. Далее мы рассмотрим четыре уровня модели.

Канальный уровень (link layer)

Предназначение канального уровня — дать описание тому, как происходит обмен информацией на уровне сетевых устройств, определить, как информация будет передаваться от одного устройства к другому. Информация здесь кодируется, делится на пакеты и отправляется по нужному каналу, т.е. среде передачи.

Этот уровень также вычисляет максимальное расстояние, на которое пакеты возможно передать, частоту сигнала, задержку ответа и т.д. Все это — физические свойства среды передачи информации. На канальном уровне самым распространенным протоколом является Ethernet, но мы рассмотрим его на примере в конце статьи.

Межсетевой уровень (internet layer)

Каждая индивидуальная сеть называется локальной, глобальная сеть интернет позволяет объединить все локальные сети. За объединение локальных сетей в глобальную отвечает сетевой уровень. Он регламентирует передачу информации по множеству локальных сетей, благодаря чему открывается возможность взаимодействия разных сетей.

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

Маска подсети и IP-адреса


Маска подсети помогает маршрутизатору понять, как и куда передавать пакет. Подсетью может являться любая сеть со своими протоколами. Маршрутизатор передает пакет напрямую, если получатель находится в той же подсети, что и отправитель. Если же подсети получателя и отправителя различаются, пакет передается на второй маршрутизатор, со второго на третий и далее по цепочке, пока не достигнет получателя.

Протокол интернета — IP (Internet Protocol) используется маршрутизатором, чтобы определить, к какой подсети принадлежит получатель. Свой уникальный IP-адрес есть у каждого сетевого устройства, при этом в глобальной сети не может существовать два устройства с одинаковым IP. Он имеет два подвида, первым был принят IPv4 (IP version 4, версии 4) в 1983 году.

IPv4 предусматривает назначение каждому устройству 32-битного IP-адреса, что ограничивало максимально возможное число уникальных адресов 4 миллиардами (2 32 ). В более привычном для человека десятичном виде IPv4 выглядит как четыре блока (октета) чисел от 0 до 255, разделенных тремя точками. Первый октет IP-адреса означает его класс, классов всего 4: A, B, C, D.

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

Так как IPv6 адреса длинные, их разрешается сокращать по следующим правилам: ведущие нули допускается опускать, например в адресе выше :00FF: позволяется записывать как :FF:, группы нулей, идущие подряд тоже допустимо сокращать и заменять на двойное двоеточие, например, 2DAB:FFFF::01AA:00FF:DD72:2C4A. Допускается делать не больше одного подобного сокращения в адресе IPv6.

IP предназначен для определения адресата и доставки ему информации, он предоставляет услугу для вышестоящих уровней, но не гарантирует целостность доставляемой информации.

ICMP и IGMP


ICMP никогда не вызывается сетевыми приложениями пользователя, кроме случаев диагностики сети, к примеру, пинг (ping) или traceroute (tracert). ICMP не передает данные, это отличает его от транспортных TCP и UDP, расположенных на L3, которые переносят любые данные. ICMP работает только с IP четвертой версии, с IPv6 взаимодействует ICMPv6.

Сетевые устройства объединяются в группы при помощи IGMP, используемый хостами и роутерами в IPv4 сетях. IGMP организует multicast-передачу информации, что позволяет сетям направлять информацию только хостам, запросившим ее. Это удобно для онлайн-игр или потоковой передаче мультимедиа. IGMP используется только в IPv4 сетях, в сетях IPv6 используется MLD (Multicast Listener Discovery, протокол поиска групповых слушателей), инкапсулированный в ICMPv6.

Транспортный уровень (transport layer)

Постоянные резиденты транспортного уровня — протоколы TCP и UDP, они занимаются доставкой информации.

TCP (протокол управления передачей) — надежный, он обеспечивает передачу информации, проверяя дошла ли она, насколько полным является объем полученной информации и т.д. TCP дает возможность двум хостам производить обмен пакетами через установку соединения. Он предоставляет услугу для приложений, повторно запрашивает потерянную информацию, устраняет дублирующие пакеты, регулируя загруженность сети. TCP гарантирует получение и сборку информации у адресата в правильном порядке.

UDP (протокол пользовательских датаграмм) — ненадежный, он занимается передачей автономных датаграмм. UDP не гарантирует, что всех датаграммы дойдут до получателя. Датаграммы уже содержат всю необходимую информацию, чтобы дойти до получателя, но они все равно могут быть потеряны или доставлены в порядке отличном от порядка при отправлении.

UDP обычно не используется, если требуется надежная передача информации. Использовать UDP имеет смысл там, где потеря части информации не будет критичной для приложения, например, в видеоиграх или потоковой передаче видео. UDP необходим, когда делать повторный запрос сложно или неоправданно по каким-то причинам.

Протоколы L3 не интерпретируют информацию, полученную с верхнего или нижних уровней, они служат только как канал передачи, но есть исключения. RSVP (Resource Reservation Protocol, протокол резервирования сетевых ресурсов) может использоваться, например, роутерами или сетевыми экранами в целях анализа трафика и принятия решений о его передаче или отклонении в зависимости от содержимого.

Прикладной уровень (application layer)

В модели TCP/IP отсутствуют дополнительные промежуточные уровни (представления и сеансовый) в отличие от OSI. Функции форматирования и представления данных делегированы библиотекам и программным интерфейсам приложений (API) — своего рода базам знаний. Когда службы или приложения обращаются к библиотеке или API, те в ответ предоставляют набор действий, необходимых для выполнения задачи и полную инструкцию, каким образом эти действия нужно выполнять.

Зачем нужен порт и что означает термин сокет

IP присваивается каждому компьютеру межсетевым уровнем, но обмен данными происходит не между компьютерами, а между приложениями, установленными на них. Чтобы получить доступ к тому или иному сетевому приложению недостаточно только IP, для идентификации приложений применяют порты. Комбинация IP-адреса и порта называется сокетом или гнездом (socket). Поэтому обмен информацией происходит между сокетами. Нередко слово сокет употребляют как синоним для хоста или пользователя, также сокетом называют гнездо подключения процессора.

Из привилегий у приложений на прикладном уровне можно выделить наличие собственных протоколов для обмена данными, а также фиксированный номер порта для обращения к сети. Администрация адресного пространства интернет (IANA), занимающаяся выделением диапазонов IP-адресов, отвечает еще за назначение сетевым приложениям портов.


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

Стек протоколов, снова канальный уровень

После ознакомления с уровневой структурой модели становится понятно, что информация не может передаваться между двумя компьютерами напрямую. Сначала кадры передаются на межсетевой уровень, где компьютеру отправителя и компьютеру получателя назначается уникальный IP. После чего, на транспортном уровне, информация передается в виде TCP-фреймов либо UDP-датаграмм.

На каждом этапе, подобно снежному кому, к уже имеющейся информации добавляется служебная информация, например, порт на прикладном уровне, необходимый для идентификации сетевого приложения. Добавление служебной информации к основной обеспечивают разные протоколы — сначала Ethernet, поверх него IP, еще выше TCP, над ним порт, означающий приложение с делегированным ему протоколом. Такая вложенность называется стеком, названным TCP/IP по двум главным протоколам модели.

Point-to-Point протоколы


Отдельно расскажем о Point-to-Point (от точки к точке, двухточечный) протоколе также известном как PPP. PPP уникален по своим функциям, он применяется для коммуникации между двумя маршрутизаторами без участия хоста или какой-либо сетевой структуры в промежутке. При необходимости, PPP обеспечивает аутентификацию, шифрование, а также сжатие данных. Он широко используется при построении физических сетей, например, кабельных телефонных, сотовых телефонных, сетей по кабелю последовательной передачи и транк-линий (когда один маршрутизатор подключают к другому для увеличения размера сети).

У PPP есть два подвида — PPPoE (PPP по Ethernet) и PPPoA (PPP через асинхронный способ передачи данных — ATM), интернет-провайдеры часто их используют для DSL соединений.

PPP и его старший аналог SLIP (протокол последовательной межсетевой связи) формально относятся к межсетевому уровню TCP/IP, но в силу особого принципа работы, иногда выделяются в отдельную категорию. Преимущество PPP в том, что для установки соединения не требуется сетевая инфраструктура, а необходимость маршрутизаторов отпадает. Эти факторы обуславливают специфику использования PPP протоколов.

Заключение

Стек TCP/IP регламентирует взаимодействие разных уровней. Ключевым понятием в здесь являются протоколы, формирующие стек, встраиваясь друг в друга с целью передать данные. Рассмотренная модель по сравнению с OSI имеет более простую архитектуру.

Сама модель остается неизменной, в то время как стандарты протоколов могут обновляться, что еще дальше упрощает работу с TCP/IP. Благодаря всем преимуществам стек TCP/IP получил широкое распространение и использовался сначала в качестве основы для создания глобальной сети, а после для описания работы интернета.

Читайте также: