Что определяет местонахождение протокола в стеке тест

Обновлено: 17.05.2024

1. Лекция - Введение. Адресация. Протоколы (IP, TCP, UDP). Порты.

Официальная документация по Internet

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

Адресация в сети Internet.

Типы адресов.

Физический (MAC-адрес)

Сетевой (IP-адрес)

Символьный (DNS-имя)

Компьютер в сети TCP/IP может иметь адреса трех уровней (но не менее двух):

Локальный адрес компьютера. Для узлов, входящих в локальные сети - это МАС-адрес сетевого адаптера. Эти адреса назначаются производителями оборудования и являются уникальными адресами.

IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов.

IPv4 - адрес является уникальным 32-битным идентификатором IP-интерфейса в Интернет.

IP-адреса принято записывать разбивкой всего адреса по октетам (8), каждый октет записывается в виде десятичного числа, числа разделяются точками. Например, адрес


10100000010100010000010110000011
записывается как

Перевод адреса из двоичной системы в десятичную

IP-адрес хоста состоит из номера IP-сети, который занимает старшую область адреса, и номера хоста в этой сети, который занимает младшую часть.

160.81.5. - номер сети

131 - номер хоста

Базовые протоколы (IP, TCP, UDP)

Стек протоколов TCP/IP

TCP/IP - собирательное название для набора (стека) сетевых протоколов разных уровней, используемых в Интернет. Особенности TCP/IP:

Открытые стандарты протоколов, разрабатываемые независимо от программного и аппаратного обеспечения;

Независимость от физической среды передачи;

Система уникальной адресации;

Стандартизованные протоколы высокого уровня для распространенных пользовательских сервисов.

Стек протоколов TCP/IP

Стек протоколов TCP/IP делится на 4 уровня:

Физический и канальный.

Позже была принята 7-ми уровневая модель ISO.

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

Пример инкапсуляции пакетов в стеке TCP/IP

Физический и канальный уровень.

Стек TCP/IP не подразумевает использования каких-либо определенных протоколов уровня доступа к среде передачи и физических сред передачи данных. От уровня доступа к среде передачи требуется наличие интерфейса с модулем IP, обеспечивающего передачу IP-пакетов. Также требуется обеспечить преобразование IP-адреса узла сети, на который передается IP-пакет, в MAC-адрес. Часто в качестве уровня доступа к среде передачи могут выступать целые протокольные стеки, тогда говорят об IP поверх ATM, IP поверх IPX, IP поверх X.25 и т.п.

Межсетевой уровень и протокол IP.

Основу этого уровня составляет IP-протокол.

IP (Internet Protocol) – интернет протокол.

Первый стандарт IPv4 определен в RFC-760 (DoD standard Internet Protocol J. Postel Jan-01-1980)

Последняя версия IPv4 - RFC-791 (Internet Protocol J. Postel Sep-01-1981).

Первый стандарт IPv6 определен в RFC-1883 (Internet Protocol, Version 6 (IPv6) Specification S. Deering, R. Hinden December 1995)

Последняя версия IPv6 - RFC-2460 (Internet Protocol, Version 6 (IPv6) Specification S. Deering, R. Hinden December 1998).

Протокол IP доставляет блоки данных от одного IP-адреса к другому.

Программа, реализующая функции того или иного протокола, часто называется модулем, например, “IP-модуль”, “модуль TCP”.

Когда модуль IP получает IP-пакет с нижнего уровня, он проверяет IP-адрес назначения.

Если IP-пакет адресован данному компьютеру, то данные из него передаются на обработку модулю вышестоящего уровня (какому конкретно - указано в заголовке IP-пакета).

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

Структура дейтограммы IP. Слова по 32 бита.

Версия - версия протокола IP (например, 4 или 6)

Длина заг. - длина заголовка IP-пакета.

Тип сервиса (TOS - type of service) - Тип сервиса (подробнее рассмотрен в лекции 8).

TOS играет важную роль в маршрутизации пакетов. Интернет не гарантирует запрашиваемый TOS, но многие маршрутизаторы учитывают эти запросы при выборе маршрута (протоколы OSPF и IGRP).

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

Время жизни (TTL - time to live) - каждый маршрутизатор уменьшает его на 1, что бы пакеты не блуждали вечно.

Протокол - Идентификатор протокола верхнего уровня указывает, какому протоколу верхнего уровня принадлежит пакет (например: TCP, UDP).

Коды некоторые протоколов RFC-1700 (1994)

Протокол IP является маршрутизируемый, для его маршрутизации нужна маршрутная информация.

Маршрутная информация, может быть:

Статической (маршрутные таблицы прописываются вручную)

Динамической (маршрутную информацию распространяют специальные протоколы)

Протоколы динамической маршрутизации:

RIP (Routing Information Protocol) - протокол передачи маршрутной информации, маршрутизаторы динамически создают маршрутные таблицы.

OSPF (Open Shortest Path First) - протокол "Открой кротчайший путь первым", является внутренним протоколом маршрутизации.

IGP (Interior Gateway Protocols) - внутренние протоколы маршрутизации, распространяет маршрутную информацию внутри одной автономной системе.

EGP (Exterior Gateway Protocols) - внешние протоколы маршрутизации, распространяет маршрутную информацию между автономными системами.

BGP (Border Gateway Protocol) - протокол граничных маршрутизаторов.

Другие служебные IP-протоколы

IGMP (Internet Group Management Protocol) - позволяет организовать многоадресную рассылку средствами IP.

RSVP (Resource Reservation Protocol) - протокол резервирования ресурсов.

ARP (Address Resolution Protocol) - протокол преобразования IP-адреса и адреса канального уровня.

Транспортный уровень

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

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

На транспортном уровне работают два основных протокола: UDP и TCP.

Первая и последняя версия TCP - RFC-793 (Transmission Control Protocol J. Postel Sep-01-1981).

Посылает запрос на следующий пакет, указывая его номер в поле "Номер подтверждения" (AS). Тем самым, подтверждая получение предыдущего пакета.

Делает проверку целостности данных, если пакет битый посылает повторный запрос.

Структура дейтограммы TCP. Слова по 32 бита.

Длина заголовка - задается словами по 32бита.

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

Контрольная сумма - включает псевдо заголовок, заголовок и данные.

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

URG - флаг срочности, включает поле "Указатель срочности", если =0 то поле игнорируется.

ACK - флаг подтверждение, включает поле "Номер подтверждения, если =0 то поле игнорируется.

PSH - флаг требует выполнения операции push, модуль TCP должен срочно передать пакет программе.

RST - флаг прерывания соединения, используется для отказа в соединении

SYN - флаг синхронизация порядковых номеров, используется при установлении соединения.

FIN - флаг окончание передачи со стороны отправителя

UDP (Universal Datagram Protocol) - универсальный протокол передачи данных, более облегченный транспортный протокол, чем TCP.

Основные отличия от TCP:

Отсутствует соединение между модулями UDP.

При потере пакета запрос для повторной передачи не посылается

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

Структура дейтограммы UDP. Слова по 32 бита.


Не все поля UDP-пакета обязательно должны быть заполнены. Если посылаемая дейтаграмма не предполагает ответа, то на месте адреса отправителя могут помещаться нули.

Протокол реального времени RTP

RTP (Real Time Protocol) - транспортный протокол для приложений реального времени.

RTCP (Real Time Control Protocol) - транспортный протокол обратной связи для приложения RTP..

Назначение портов

По номеру порта транспортные протоколы определяют, какому приложению передать содержимое пакетов.

Порты могут принимать значение от 0-65535 (два байта 2^16).

Некоторые заданные порты RFC-1700 (1994)

Программа Ping

Программа для проверки соединения и работы с удаленным хостом.

Программа TraceRoute - позволяет проверить маршрут до удаленного хоста.

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

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

Связанные понятия

Сетевой уровень (англ. Network layer) — 3-й уровень сетевой модели OSI, предназначается для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и заторов в сети. На этом уровне работает такое сетевое устройство, как маршрутизатор.

Управление доступом к среде (англ. media access control, или medium access control, MAC) — подуровень канального (второго) уровня модели OSI, согласно стандартам IEEE 802.

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

Упоминания в литературе

В отличие от протоколов TCP/IP и IPX/SPX, стек протокола AppleTalk использует собственную реализацию физического и канального уровней, а не протоколы модели ISO/OSI (рис. 3.4).

Связанные понятия (продолжение)

Канальный уровень (англ. Data Link layer) — второй уровень сетевой модели OSI, предназначенный для передачи данных узлам, находящимся в том же сегменте локальной сети. Также может использоваться для обнаружения и, возможно, исправления ошибок, возникших на физическом уровне. Примерами протоколов, работающих на канальном уровне, являются: Ethernet для локальных сетей (многоузловой), Point-to-Point Protocol (PPP), HDLC и ADCCP для подключений точка-точка (двухузловой).

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

Сетевой мост (также бридж с англ. bridge) — сетевое устройство второго уровня модели OSI, предназначенное для объединения сегментов (подсети) компьютерной сети в единую сеть.

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

Удалённый вызов процедур, реже Вызов удалённых процедур (от англ. Remote Procedure Call, RPC) — класс технологий, позволяющих компьютерным программам вызывать функции или процедуры в другом адресном пространстве (как правило, на удалённых компьютерах). Обычно реализация RPC-технологии включает в себя два компонента: сетевой протокол для обмена в режиме клиент-сервер и язык сериализации объектов (или структур, для необъектных RPC). Различные реализации RPC имеют очень отличающуюся друг от друга архитектуру.

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

Со́кет (англ. socket — разъём) — название программного интерфейса для обеспечения обмена данными между процессами. Процессы при таком обмене могут исполняться как на одной ЭВМ, так и на различных ЭВМ, связанных между собой сетью. Сокет — абстрактный объект, представляющий конечную точку соединения.

Глобальная вычислительная сеть, ГВС (англ. Wide Area Network, WAN) — компьютерная сеть, охватывающая большие территории и включающая большое число узлов.

Взаимодействие компьютеров между собой, а также с другим активным сетевым оборудованием, в TCP/IP-сетях организовано на основе использования сетевых служб, которые обеспечиваются специальными процессами сетевой операционной системы (ОС) — демонами в UNIX-подобных ОС, службами в ОС семейства Windows и т. п. Примерами сетевых сервисов являются веб-серверы (в т.ч. сайты всемирной паутины), электронная почта, FTP-серверы для обмена файлами, приложения IP-телефонии и многое другое.

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

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

Сетевая плата (в англоязычной среде NIC — англ. network interface controller/card), также известная как сетевая карта, сетевой адаптер (в терминологии компании Intel), Ethernet-адаптер — по названию технологии — дополнительное устройство, позволяющее компьютеру взаимодействовать с другими устройствами сети. В настоящее время в персональных компьютерах и ноутбуках контроллер и компоненты, выполняющие функции сетевой платы, довольно часто интегрированы в материнские платы для удобства, в том числе.

Кадр (жарг. фрейм, от англ. frame — кадр) — фрагмент данных протокола канального уровня модели OSI, передаваемый по линии связи.

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

Контроллер домена в компьютерных сетях построенных на Microsoft Server — сервер, контролирующий область компьютерной сети (домен).

Механизм копирования при записи (англ. Copy-On-Write, COW) используется для оптимизации многих процессов, происходящих в операционной системе, таких как, например, работа с оперативной памятью или файлами на диске (пример — ext3cow).

Монтирование файловой системы — системный процесс, подготавливающий раздел диска к использованию операционной системой.

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

Широковещательный адрес — условный (не присвоенный никакому устройству в сети) адрес, который используется для передачи широковещательных пакетов в компьютерных сетях.

Балансировка нагрузки отличается от физического соединения тем, что балансировка нагрузки делит трафик между сетевыми интерфейсами на сетевой сокет (модель OSI уровень 4) основе, в то время как соединение канала предполагает разделение трафика между физическими интерфейсами на более низком уровне, либо в пакет (модель OSI уровень 3) или по каналу связи (модель OSI уровень 2); Основы с, как протокол соединения кратчайшего пути.

Распределительная вычислительная среда (англ. Distributed Computing Environment, сокр. DCE) — система программного обеспечения, разработанная в начале 1990-х годов в Open Software Foundation, который представлял собой ассоциацию нескольких компаний: Apollo Computer, IBM, Digital Equipment Corporation и других. DCE предоставляет фреймворк и средства разработки клиент-серверных приложений.

В программировании именованный канал или именованный конвейер (англ. named pipe) — один из методов межпроцессного взаимодействия, расширение понятия конвейера в Unix и подобных ОС. Именованный канал позволяет различным процессам обмениваться данными, даже если программы, выполняющиеся в этих процессах, изначально не были написаны для взаимодействия с другими программами. Это понятие также существует и в Microsoft Windows, хотя там его семантика существенно отличается. Традиционный канал — «безымянен.

Отказоустойчивый кластер (англ. High-Availability cluster, HA cluster — кластер высокой доступности) — кластер (группа серверов), спроектированный в соответствии с методиками обеспечения высокой доступности и гарантирующий минимальное время простоя за счёт аппаратной избыточности. Без кластеризации сбой сервера приводит к тому, что поддерживаемые им приложения или сетевые сервисы оказываются недоступны до восстановления его работоспособности. Отказоустойчивая кластеризация исправляет эту ситуацию.

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

Широковещательный канал, широковещание (англ. broadcasting) — метод передачи данных в компьютерных сетях, при котором определенный поток данных (каждый переданный пакет в случае пакетной передачи) предназначен для приёма всеми участниками сети.

Репликация (англ. replication) — механизм синхронизации содержимого нескольких копий объекта (например, содержимого базы данных). Репликация — это процесс, под которым понимается копирование данных из одного источника на другой (или на множество других) и наоборот.

Софтфо́н (калька с англ. software telephone, программный телефон) — класс программного обеспечения для персонального компьютера для совершения телефонных (голосовых) или видеозвонков через Интернет (в общем случае через любую IP-сеть) без использования дополнительного аппаратного обеспечения, за исключением гарнитуры, USB-телефона, микрофона и аудиоколонок, вебкамеры (в случае видеосвязи).

Мультивещание, многоадресное вещание (англ. multicast — групповая передача) — форма широковещания, при которой адресом назначения сетевого пакета является мультикастная группа (один ко многим). Существует мультивещание на канальном, сетевом и прикладном уровнях. Мультивещание не следует путать с технологией передачи на физическом уровне точка-многоточка.

Технология единого входа (англ. Single Sign-On) — технология, при использовании которой пользователь переходит из одного раздела портала в другой без повторной аутентификации.

Виртуальное соединение (ВС), виртуальный канал (ВК) (англ. VC - Virtual Circuit) — канал связи в сети коммутации пакетов, соединяющий двух и более абонентов, и состоящий из последовательных физических звеньев системы передачи между узлами связи (коммутаторами), а также из физических и логических звеньев внутри коммутаторов на пути между указанными абонентами. Логическое звено управляет физическим звеном и они оба одновременно организуются на этапе установления сквозного ВС между абонентами.

Сетевой коммутатор (жарг. свитч, свич от англ. switch — переключатель) — устройство, предназначенное для соединения нескольких узлов компьютерной сети в пределах одного или нескольких сегментов сети. Коммутатор работает на канальном (втором) уровне модели OSI. Коммутаторы были разработаны с использованием мостовых технологий и часто рассматриваются как многопортовые мосты. Для соединения нескольких сетей на основе сетевого уровня служат маршрутизаторы (3 уровень OSI).

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

Защита памяти (англ. Memory protection) — это способ управления правами доступа к отдельным регионам памяти. Используется большинством многозадачных операционных систем. Основной целью защиты памяти является запрет доступа процессу к той памяти, которая не выделена для этого процесса. Такие запреты повышают надёжность работы как программ, так и операционных систем, так как ошибка в одной программе не может повлиять непосредственно на память других приложений. Следует различать общий принцип защиты.

Узел сети (англ. node) — устройство, соединённое с другими устройствами как часть компьютерной сети.. Узлами могут быть компьютеры, мобильные телефоны, карманные компьютеры, а также специальные сетевые устройства, такие как маршрутизатор, коммутатор или концентратор.

Разделяемая память (англ. Shared memory) является самым быстрым средством обмена данными между процессами.

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

Точка монтирования (англ. mount point) — это каталог или файл, с помощью которого обеспечивается доступ к новой файловой системе, каталогу или файлу.

Межпроцессное взаимодействие (англ. inter-process communication, IPC) — обмен данными между потоками одного или разных процессов. Реализуется посредством механизмов, предоставляемых ядром ОС или процессом, использующим механизмы ОС и реализующим новые возможности IPC. Может осуществляться как на одном компьютере, так и между несколькими компьютерами сети.

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

Модуль ядра, загружаемый модуль ядра (англ. loadable kernel module, LKM) — объект, содержащий код, который расширяет функциональность запущенного или т. н. базового ядра ОС. Большинство текущих систем, основанных на Unix, поддерживают загружаемые модули ядра, хотя они могут называться по-разному (например, kernel loadable module в FreeBSD и kernel extension в Mac OS X).

TCP/IP

Протокол TCP/IP – это целая сетевая модель, описывающая способ передачи данных в цифровом виде. На правилах, включенных в нее, базируется работа интернета и локальных сетей независимо от их назначения и структуры.

Что такое TCP/IP

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

Что такое TCP/IP

Стек протоколов TCP/IP был создан в 1972 году на базе NCP (Network Control Protocol), в январе 1983 года он стал официальным стандартом для всего интернета. Техническая спецификация уровней взаимодействия описана в документе RFC 1122.

В составе стека есть и другие известные протоколы передачи данных – UDP, FTP, ICMP, IGMP, SMTP. Они представляют собой частные случаи применения технологии: например, у SMTP единственное предназначение заключается в отправке электронных писем.

Уровни модели TCP/IP

Протокол TCP/IP основан на OSI и так же, как предшественник, имеет несколько уровней, которые и составляют его архитектуру. Всего выделяют 4 уровня – канальный (интерфейсный), межсетевой, транспортный и прикладной.

Уровни модели TCP/IP

Канальный (сетевой интерфейс)

Аппаратный уровень обеспечивает взаимодействие сетевого оборудования Ethernet и Wi-Fi. Он соответствует физическому из предыдущего стандарта OSI. Здесь задача состоит в кодировании информации, ее делению на пакеты и отправке по нужному каналу. Также измеряются параметры сигнала вроде задержки ответа и расстояния между хостами.

Межсетевой (Internet Layer)

Интернет состоит из множества локальных сетей, объединенных между собой как раз за счет протокола связи TCP/IP. Межсетевой уровень регламентирует взаимодействие между отдельными подсетями. Маршрутизация осуществляется путем обращения к определенному IP-адресу с использованием маски.

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

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

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

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

Здесь объединены 3 уровня модели OSI – сеансовый, представления и прикладной. На него ложатся задачи по поддержанию сеанса связи, преобразованию данных, взаимодействию с пользователем и сетью. На этом уровне применяются стандарты интерфейса API, позволяющего передавать команды на выполнение определенных задач.

Порты и сокеты – что это и зачем они нужны

Комбинация IP-адреса и порта называется сокетом и используется при идентификации компьютера. Если первый критерий уникален для каждого хоста, второй обычно фиксирован для определенного типа приложений. Так, получение электронной почты проходит через 110 порт, передача данных по протоколу FTP – по 21, открытие сайтов – по 80.

Преобразование IP-адресов в символьные адреса

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

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

Следует различать стек протоколов OSI и модель OSI. В то время, как модель OSI концептуально определяет процедуру взаимодействия открытых систем, декомпозируя задачу на 7 уровней, стандартизирует назначение каждого уровня и вводит стандартные названия уровней, стек OSI - это набор вполне конкретных спецификаций протоколов, образующих согласованный стек протоколов. Этот стек протоколов поддерживает правительство США в своей программе GOSIP. Все компьютерные сети, устанавливаемые в правительственных учреждениях после 1990 года, должны либо непосредственно поддерживать стек OSI, либо обеспечивать средства для перехода на этот стек в будущем. Тем не менее, стек OSI более популярен в Европе, а не в США, так как в Европе меньше установлено старых сетей, использующих свои собственные протоколы. В Европе также ощущается большая потребность в общем стеке, так как здесь имеется большое количество разных стран.

Это международный, независимый от производителей стандарт. Он может обеспечить взаимодействие между корпорациями, партнерами и поставщиками. Это взаимодействие осложняется из-за проблем с адресацией, именованием и безопасностью данных. Все эти проблемы в стеке OSI частично решены. Протоколы OSI требуют больших затрат вычислительной мощности центрального процессора, что делает их более подходящими для мощных машин, а не для сетей персональных компьютеров. Большинство организаций пока только планируют переход к стеку OSI. Из тех, кто работает в этом направлении, можно назвать Военно-морское ведомство США и сеть NFSNET. Одним из крупнейших производителей, поддерживающих OSI, является компания AT&T. Ее сеть Stargroup полностью базируется на стеке OSI.

По вполне очевидным причинам стек OSI в отличие от других стандартных стеков полностью соответствует модели взаимодействия OSI, он включает спецификации для всех семи уровней модели взаимодействия открытых систем (рис. 1.3).

Рис. 1.3. Стек OSI

На физическом и канальном уровнях стек OSI поддерживает протоколы Ethernet, Token Ring, FDDI, а также протоколы LLC, X.25 и ISDN. Эти протоколы будут подробно обсуждены в других разделах пособия.

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

Сервисы прикладного уровня включают передачу файлов, эмуляцию терминала, службу каталогов и почту. Из них наиболее перспективными являются служба каталогов (стандарт Х.500), электронная почта (Х.400), протокол виртуального терминала (VT), протокол передачи, доступа и управления файлами (FTAM), протокол пересылки и управления работами (JTM). В последнее время ISO сконцентрировала свои усилия именно на сервисах верхнего уровня.

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

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

Учет рекомендаций Х.400 и X.500 при проектировании систем электронной почты делает принципиально возможной и концептуально простой стыковку почтовых систем разных производителей.

Протокол VT решает проблему несовместимости различных протоколов эмуляции терминалов. Сейчас пользователю персонального компьютера, совместимого с IBM PC, для одновременной работы с компьютерами VAX, IBM 3090 и HP9000 нужно приобрести три различные программы для эмуляции терминалов различных типов и использующих разные протоколы. Если бы каждый хост-компьютер имел бы в своем составе программное обеспечение протокола эмуляции терминала ISO, то и пользователю бы понадобилась только одна программа, поддерживающая протокол VT. В своем стандарте ISO аккумулировала широко распространенные функции эмуляции терминалов.

Передача файлов - это наиболее распространенный компьютерный сервис. Доступ к файлам, как к локальным, так и к удаленным, нужен всем приложениям - текстовым редакторам, электронной почте, базам данных или программам удаленного запуска. ISO предусматривает такой сервис в протоколе FTAM. Наряду со стандартом X.400, это наиболее популярный стандарт стека OSI. FTAM предусматривает средства для локализации и доступа к содержимому файла и включает набор директив для вставки, замены, расширения и очистки содержимого файла. FTAM также предусматривает средства для манипулирования файлом как единым целым, включая создание, удаление, чтение, открытие, закрытие файла и выбор его атрибутов.

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

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

Что это такое

схема протоколы

Протоколы данного типа позволяют реализовать модель соединения пакетов. По сути, они являются основой работы всего Интернета. И чаще всего при использовании термина TCP/IP подразумевают всю сеть, которая работает на основе 2 отдельных протоколов – TCP и IP.

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

TCP – аббревиатура, которая расшифровывается как Transfer Control Protocol. То есть по сути это специальный протокол, который управляет передачей. Он создан для установки и поддержания надежного соединения между устройствами. Именно он отвечает за передачу данных, контролирует объем передаваемых файлов и выполняет новую отправку при возникновении сбоев.

Характеристики протокола TCP заключаются в следующем:

Основными характеристиками протокола IP является следующее:

  • Реализация обмена данных при помощи сегментов.
  • Взаимодействие устройств без использования логического соединения.
  • Фрагментация IP-сегментов в случае необходимости.
  • Отсутствие средств для управления скоростью передачи сегментов.

Стек сетевых протоколов требуется для поддержания связи компьютеров (хостов), которые подключены к сети. Главная особенность такого набора – аппаратная независимость, которую невозможно получить при использовании других сетевых технологий. То есть TCP/IP не зависит от характеристик аппаратного обеспечения, что позволяет организовать обмен данными между сетями с разными технологиями передачи. За счет использования IP-адресов поддерживается соединение между двумя любыми устройствами.

В протоколах предусмотрено выполнение ряда команд. Например:

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

Разрабатывалось семейство протоколов под руководством Министерства обороны США, поэтому иногда его называют DoD-системой. Многие специалисты отмечают сходство системы с протоколами OSI, так как обе они строятся по принципу деления на уровни и выполнение отдельных функций на каждом из них.

Общие термины и понятия

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

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

Настройка протоколов подразумевает процесс установки базовой ОС и не требует от пользователя дополнительных действий.

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

Отдельно стоит рассказать про сетевые интерфейсы стека. TCP/IP на уровне сетевого интерфейса создает пакеты из IP-дейтаграмм, которые передаются при помощи сетевых технологий. В этой модели протоколов применяется схема IP-адресации, при помощи которой удается однозначно идентифицировать хосты и сети, с которыми компьютер устанавливает соединение.

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

Назначение протокола TCP/IP

tcp картинка

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

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

Такая процедура уменьшает объем информации, которую можно передавать в единицу времени, однако позволяет добиться надежности передачи.

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

Форматы протоколов

Теперь поговорим о том, что такое IP-протокол. Как мы уже отмечали, этот межсетевой протокол в стеке используется для определения адресации сетевого уровня. Существует два основных формата протокола, которые применяется для IP адресов:

Уровневая модель протоколов

При рассмотрении модели TCP/IP нельзя обойти внимание и уровни, на которые она разделена. Интересно, что количество уровней регламентируется стандартом RFC. Этот стандарт выделяет 4 уровня (или ступени):

  • канальный;
  • сетевой (или межсетевой);
  • транспортный;
  • прикладной.

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

1. Канальный.

Его предназначение – описать то, как происходит обмен сведениями на ступени сетевых устройств. Также канальный уровень определяет, как именно информация будет передаваться от одной машины к другой. Данные на link layer обязательно кодируются, затем делятся на несколько пакетов и отправляются по выбранному каналу передачи.

На этом уровне определяется максимально допустимое расстояние для передачи данных, а также такие параметры, как задержка ответа, частота сигнала и т. д. То есть, все физические характеристики системы. Наиболее распространенным протоколом на этом уровне является Ethernet.

2. Межсетевой.

Этот уровень стека протоколов TCP/IP занимается соединением существующих локальных сетей в глобальную. В этом случае под локальными сетями понимают индивидуальные сети на каждом устройстве. Internet layer регламентирует передачу данных по множеству сетей, что позволяет наладить взаимодействие между разными системами.

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

3. Транспортный.

На этой ступени функционируют протоколы TCP и UDP, которые отвечают за отправку и доставку данных.

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

А вот протокол UDP, используемый на transport layer, является менее надежным. Занимается он отправкой автономных датаграмм, однако не гарантирует их 100% получение. Данные могут быть утеряны или доставлены в неверном порядке. По этой причине UDP не используется в тех случаях, когда необходима надежная передача. Применение этого протокола допустимо только тогда, когда потеря данных не будет критичной для работы приложения. Также UDP требуется в тех случаях, когда невозможно по каким-либо причинам сделать повторный запрос данных.

4. Прикладной.

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

Что такое стек

Изучая уровневую структуру, становится очевидным, что выполнить передачу данных между двумя устройствами напрямую – невозможно. То есть, сначала все фрагменты файлов должны попасть на межсетевой уровень, где каждый компьютер получает IP-адрес. Далее на транспортном уровне происходит передача отдельных частей информации при помощи протокола TCP или UDP.

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

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

Сравнение с моделью OSI

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

В OSI различают три начальных уровня – приложения, представления и сеансовый, – когда как в TCP/IP все это выделяется в прикладной уровень.

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

Выводы

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

Надеемся, что вы разобрались в том, что такое TCP/IP и в чем заключаются принципы его работы. Если у вас остались вопросы по теме, то специалисты Xelent обязательно ответят на них.

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