Модель TCP/IP
История
Стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol, протокол управления передачей/протокол интернета) — сетевая модель, описывающая процесс передачи цифровых данных. Она названа по двум главным протоколам, по этой модели построена глобальная сеть интернет. Разработка сетевой модели осуществлялась при содействии Министерства обороны США, поэтому иногда модель TCP/IP называют DoD (Department of Defence) модель.
Структура модели
- Канальный уровень (Link layer)
- Межсетевой уровень (Internet Layer)
- Транспортный уровень (Transport Layer)
- Прикладной уровень (Application Layer)
Прикладной уровень (Application Layer)
В модели TCP/IP прикладной уровень объединяет три уровня сетевой модели OSI: сеансовый, представительный и прикладной. На прикладном уровне происходит поддержание сеанса связи между хостами, преобразование передаваемых данных, работа с конечным пользователем и сетью. Функции форматирования и представления данных делегированы библиотекам и программным интерфейсам приложений (API) — своего рода базам, содержащим сведения о том, как приложения взаимодействуют между собой. Когда службы или приложения обращаются к библиотеке или API, те в ответ предоставляют набор действий, необходимых для выполнения задачи и полную инструкцию, каким образом эти действия нужно выполнять.
Протоколы прикладного уровня действуют для большинства приложений, они предоставляют услуги пользователю или обмениваются данными с нижними уровнями по уже установленным соединениям. Здесь для большинства приложений созданы свои протоколы.
Транспортный уровень (Transport Layer)
Transport Layer берет на себя функцию контроля доставки пакетов. На этом уровне работают протоколы TCP и UDP. Первый устанавливает соединение между двумя хостами и гарантирует предоставление информации в полном объеме. Если во время передачи часть информации была утеряна, протокол запрашивает ее повторно, таким образом у адресата есть полный пакет данных, собранный в нужном порядке. Более подробно процесс описан в публикации логические соединения TCP.
Протокол UDP не устанавливает соединение между хостами, а передает автономные датаграммы. В процессе передачи часть из них может быть утеряна, проверка целостности информации не производится. UDP используется в случаях, когда требуется снизить нагрузку на сеть, а потеря какой-то доли информации не является критичной для адресата, например, при воспроизведении потокового видео.
Межсетевой уровень (Internet Layer)
Межсетевой уровень отвечает за объединение локальных сетей в глобальную. Также отвечает за адресацию хостов, упаковку и функции маршрутизации. Основными протоколами сетевого уровня являются IP, протокол разрешения адресов (ARP), протокол управляющих сообщений Интернета (ICMP) и протокол управления группами Интернета (IGMP).
IP - маршрутизируемый протокол, отвечающий за IP-адресацию, маршрутизацию и фрагментацию и повторную сборку пакетов. ARP отвечает за обнаружение адреса уровня сетевого доступа, такого как адрес аппаратных средств, связанный с данным доступом к Интернет-уровню. ICMP отвечает за предоставление диагностических функций и отчетов об ошибках из-за неудачной доставки IP-пакетов. IGMP отвечает за управление многоадресными группами IP. На этом уровне IP добавляет заголовок к пакетам, который известен как IP-адрес. IP может быть представлен в двух форматах: IPv4 и IPv6, которые не совместимы между собой.
· IPv4 имеет формат из четырех блоков чисел от 0 до 255, которые разделяются точками.
· IPv6 использует 128-битные адреса, состоящие из восьми блоков, разделяемых двоеточием, при записи адреса допускаются сокращения по определенным правилам.
IP-протокол вычисляет местонахождение устройств по их IP-адресам, а также строит до них кратчайшие пути и делит данные на пакеты. Чтобы определить, где находится получатель и как построить путь к нему, IP обращается к системе DNS. Когда адрес получен, передаваемый файл разбивается на небольшие части — пакеты. Они содержат фрагменты данных и служебную информацию, например IP-адреса отправителя и получателя.
В основе такой маршрутизации лежит обращение к IP с использованием маски подсети. Если передать данные нужно в пределах одной локальной сети, пакеты отправляются напрямую по IP, в этом случае использование маски не требуется. Назначение маски подсети – помогает маршрутизатору определить, какому хосту и как передавать данные. Пакет данных может путешествовать через несколько маршрутизаторов, пока не достигнет получателя.
Протокол IP предназначен для идентификации адресата, но он не гарантирует целостность данных. IP инкапсулирует в себе другие протоколы такие как ICMP и IGMP. Первый служит для передачи сообщений об ошибках при попытке связи между разными хостами. Второй объединяет сетевые устройства в группы для передачи информации только тем компьютерам, которые ее запросили.
Канальный уровень (Link Layer)
В модели TCP/IP канальный уровень (Link Layer) объединяет два уровня сетевой модели OSI: канальный и физический
Канальный уровень описывает, каким образом передаются пакеты данных через физический уровень, и определяет, как информация будет передаваться от одного устройства к другому.
Канальный уровень иногда разделяют на 2 подуровня — LLC и MAC:
· Уровень MAC отвечает за управление тем, как устройства в сети получают доступ к мультимедиа и разрешение на передачу данных.
· Уровень LLC отвечает за идентификацию и инкапсуляцию протоколов сетевого уровня, а также контролирует проверку ошибок и синхронизацию кадров.
Канальный уровень устанавливает физическое соединение между устройствами в локальной сети с помощью радиоволн и/или проводов. Информация здесь кодируется, делится на пакеты(фреймы) и передаются между устройствами. Каждый фрейм содержит часть передаваемой информации и служебные данные. Чтобы понять, куда отправлять фреймы, используют адресацию канального уровня — MAC-адреса. Это уникальные физические адреса устройств — по ним протоколы канального уровня определяют отправителей и получателей.