Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры.docx
Скачиваний:
105
Добавлен:
11.05.2015
Размер:
1.13 Mб
Скачать
  1. Понятие сетевого протокола. Протокол ТСР

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

Протокол TCP:

  • Обеспечивает надежную доставку данных, так как предусматривает установления логического соединения;

  • Нумерует пакеты и подтверждает их прием, а в случае потери организует повторную передачу;

  • Делит передаваемый поток байтов на части — сегменты - и передает их нижнему уровню, на приемной стороне снова собирает их в непрерывный поток байтов.

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

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

Совокупность IP-адреса и номера порта называется сокетом.

Сокет уникально идентифицирует прикладной процесс в Интернет.

Флаги управления:

URG: Флаг срочности

АСК: Флаг пакета, содержащего подтверждение получения

PSH: Флаг форсированной отправки

RST: Переустановка соединения

SYN: Синхронизация чисел последовательности

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

Window (16 бит). Окно. Это поле содержит количество байт данных, которое отправитель данного сегмента может принять, отсчитанное от номера байта, указанного в поле Acknowledgment Number.

Checksum (16 бит). Поле контрольной суммы.

Urgent Pointer (16 бит). Поле указателя срочных данных. Это поле содержит значение счетчика пакетов, начиная с которого следуют пакеты повышенной срочности. Это поле принимается во внимание только в сегментах с установленным флагом URG.

Options. Поле дополнительных параметров: может быть переменной длины.

По типу передачи данных сети делятся на сети с коммутацией пакетов и сети с коммутацией каналов. При коммутации пакетов передаваемые данные делятся на блоки (пакеты), которые пересылаются независимо друг от друга. Передача данных осуществляется в определенном формате, который называют протоколом. Известны разные протоколы, например CSMA/CD, Token Ring, TCP/IP, HTTP, SMTP и т.д. Обилие протоколов связано с различным характером передаваемой информации (гипертекст, бинарные файлы, электронная почта и т.д.).

Протокол TCP (transmission control protocol) используется для передачи сообщений на транспортном уровне – в пределах одной локальной сети. Этот протокол требует, чтобы перед отправкой сообщения было открыто соединение. Серверное приложение пассивно ожидает запросы от клиентов. Клиентское приложение должно выполнить активное открытие соединения и послать запрос серверу. Сообщение протокола TCP имеет следующий формат:

Порт источника – 2 байта

Порт назначения – 2 байта

Номер пакета – 4 байта

Номер подтверждения – 4 байта

Смещение данных – 4 байта (информация о начале пакета данных)

Резерв – 6 байт

Размер приемного буфера – 2 байта

Контрольная сумма

Указатель срочности

Отметим, что ТСР является сравнительно медленным, но надежным протоколом.

2. Протокол udp

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

RFC 768

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

Примеры применения:

  • SNMP (Simple Network Management Protocol);

  • DHCP (Dynamic Host Configuration Protocol)

  • NFS (Network File System)

  • SIP (Session Initiation Protocol)

Протокол UDP.

Интерфейс пользователя

  • создание новых портов для получения датаграмм

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

  • операции для посылки датаграмм, сопровождаемые указанием данных, портов отправителя и получателя, а также адреса назначения

Единица данных протокола UDP называется UDP-пакетом или пользовательской дейтаграммой.

UDP-пакет состоит из заголовка и поля данных, в котором размещается пакет прикладного уровня.

Заголовок пакета

Поле Source port - номер порта процесса-отправителя.

Поле Destination port - номер порта процесса-получателя.

Поле Length - длина UDP-пакета в байтах.

Поле Checksum - контрольная сумма UDP-пакета. Если вычисленная контрольная сумма равна нулю, все биты соответствующего поля устанавливаются в единицы. Если же поле заполнено нулями, это означает, что контрольная сумма не вычислялась

(Протокол UDP (user datagram protocol) в отличие от ТСР является быстрым протоколом. Однако его надежность при этом не столь высока, как у ТСР. UDP не требует открывать соединение. Данные можно передавать сразу по мере их готовности. Протокол UDP не требует подтверждения приема информации. Главное преимущество UDP – быстрая передача и широковощетельная (групповая) доставка. Сообщение в UDP – формате имеет следующую структуру.)

Мультикастингом (multicasting) называется рассылка дейтаграмм группе получателей.

Multicast (англ. групповая передача) — специальная форма широковещания, при которой сетевой пакет одновременно направляется определённому подмножеству адресатов — не одному (unicast), и не всем (broadcast).

Групповые запросы применимы только к UDP.

Для идентификации групп используются специальные адреса получателя; эти адреса назначаются из класса D в диапазоне 224.0.0.0 – 239.255.255.255. Дейтаграмма, направленная на групповой адрес, должна быть доставлена всем участникам группы.

Некоторые из групповых адресов зарезервированы для специальных групп, например:

224.0.0.1 – все узлы в данной сети;

224.0.0.2 – все маршрутизаторы в данной сети;

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

3. Протокол http. Общие сведения.

Уровень (по модели OSI): Прикладной

Создан в: 1990 г.

Порт/ID: 80/TCP, 8080/TCP

Назначение: Доступ к гипертексту (изначально), ныне стал универсальным

Спецификация: RFC 1945,RFC 2068,RFC 2616

Основные реализации (клиенты): Веб-браузеры, например Internet Explorer, Mozilla Firefox, Opera, Google Chrome и др.

Основные реализации (серверы): Apache, IIS и др.

Передача данных в первую очередь в виде текстовых сообщений.

Основой HTTP является технология «клиент-сервер».

HTTP в настоящее время повсеместно используется во Всемирной паутине для получения информации с веб-сайтов

HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких как SOAP.

Основным объектом манипуляции в HTTP является ресурс, на который указывает URI (англ. Uniform Resource Identifier) в запросе клиента.

Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату, кодировке, языку и т. д.

В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ».

Достоинства

Простота

Протокол настолько прост в реализации, что позволяет с лёгкостью создавать клиентские приложения.

Расширяемость

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

Распространённость

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

Недостатки

Большой размер сообщений

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

Отсутствие «навигации»

Хотя протокол разрабатывался как средство работы с ресурсами сервера, у него отсутствуют в явном виде средства навигации среди этих ресурсов.

Нет поддержки распределённости

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

Механизм взаимодействия с сервером

Сеанс взаимодействия с сервером HTTP в наиболее общем виде состоит из следующих шагов:

  1. Установление TCP-соединения;

  2. Запрос клиента;

  3. Ответ сервера;

  4. Разрыв TCP-соединения.

Запрос клиента представляет собой просто требование на передачу HTML-документа или какого-либо другого ресурса.

Ответ сервера – код запрашиваемого ресурса.

Каждое HTTP-сообщение состоит из трёх частей, которые передаются в указанном порядке:

  1. Строка состояния (англ. StAtus Line line) — определяет тип сообщения;

  2. Заголовки (Headers) — характеризуют тело сообщения, параметры передачи и прочие сведения;

  3. Пустая строка

  4. Тело сообщения (Message Body) — непосредственно данные сообщения. В большинстве случаев отсутствует. Наиболее часто тело сообщения используется в тех случаях, когда требуется передать серверу информацию, введенную пользователем либо же в случае, когда сервер передает клиенту содержимое указанного ресурса

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]