Прикладной уровень TCP/IP содержит протоколы, с помощью которых приложения запрашивают и предоставляют сетевые службы. Он охватывает многие функции, которые в терминологии OSI разделены между прикладным уровнем, уровнем представления и сеансовым уровнем.
Основы сети · Урок 5
Прикладной уровень
Узнайте, как прикладные протоколы определяют сообщения служб, состояние, именование и поведение средств безопасности.
Сообщения и семантика протокола
Прикладной протокол определяет, как взаимодействующие стороны интерпретируют сообщения и состояние. HTTP задаёт запросы, ответы, методы, коды состояния и поля. DNS задаёт запросы и ресурсные записи. SMTP задаёт команды и ответы для передачи почты.
Не каждый прикладной протокол добавляет один фиксированный «прикладной заголовок». Одни используют текстовые поля, другие — двоичные записи или несколько вложенных форматов, а некоторые передают непрерывную последовательность сообщений через одно транспортное соединение.
Что в первую очередь определяет прикладной протокол?
Клиенты, серверы и равноправные узлы
Клиент инициирует запрос или подключение к службе, а сервер прослушивает соединения или принимает их иным способом. Это роли во взаимодействии, а не постоянные категории устройств. Один хост может одновременно быть клиентом DNS и сервером SSH, а некоторые протоколы используют равноправное взаимодействие узлов.
Что делает программу клиентом в типичном обмене «запрос — ответ»?
Имена, порты и выбор службы
Приложение может разрешить имя службы в один или несколько IP-адресов и выбрать транспортную конечную точку. Общеизвестные порты задают значения по умолчанию, но не являются неизменным доказательством используемого протокола. HTTP обычно использует TCP-порт 80, а HTTPS — TCP-порт 443, однако оба могут работать и на других портах. SMTP применяет разные порты и политики для ретрансляции и отправки сообщений.
Что сам по себе доказывает открытый TCP-порт 443?
Безопасность и сквозное тестирование
TLS может обеспечить конфиденциальность, целостность и подтверждённую подлинность другой стороны, если сертификат и имя конечной точки проверяются правильно. При этом TLS не разрешает автоматически все действия приложения. Проверяйте те же имя, семейство адресов, порт, протокол, учётные данные и запрос, которые использует настоящий клиент.
Например, при диагностике HTTPS можно по отдельности проверить разрешение имени, TCP-соединение, сертификат и имя TLS, ответ HTTP и содержимое приложения. Успех на одном этапе сужает область поиска проблемы, но не доказывает успешность всех последующих этапов.
Что устанавливает успешная проверка сертификата TLS?
Урок завершён
Вы завершили Прикладной уровень
Теперь вы можете описать поведение прикладного уровня, не ограничиваясь номером порта или именем программы.
Относите синтаксис, семантику и состояние протокола к задачам прикладного уровня.
Рассматривайте клиента и сервер как роли в обмене.
Считайте порты соглашениями о конечных точках, а не доказательством протокола.
Проверяйте именование, безопасность и ответы приложения сквозным тестированием.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт