Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций Сети ЭВМ Петров.doc
Скачиваний:
63
Добавлен:
27.11.2019
Размер:
1.08 Mб
Скачать

Примерное описание работы tcp/ip

Пользователь ввёл некоторые данные в программу-клиент на своём компьютере и запустил выполнение. Программа формирует запрос по соответствующему протоколу, например, http, и передаёт его уровню прикладных программ стека протоколов. Уровень прикладных программ формирует блок данных и передаёт его транспортному уровню. На транспортном уровне данные получают заголовок TCP (инкапсулируются в пакет TCP) и передаются на сетевой уровень. Там пакет получает IP-заголовок, в котором указан адрес назначения и адрес отправителя и перенаправляется на канальный уровень, который через физический передаёт данные маршрутизатору. IP-пакеты передаются маршрутизаторами от сети к сети до тех пор, пока не достигнут той, к которой физически подключен сервер. На сервере происходит обратное преобразование – данные извлекаются из пакета IP и передаются протоколу TCP (точнее, внутренней программе операционной системы, реализующей работу протокола TCP), проверяются на целость и наличие всех пакетов, из которых должна состоять вся последовательность данных. При отсутствии нужных пакетов или наличии ошибок выполняется повторный запрос по протоколу IP к протоколу TCP на стороне клиента. Когда получены все данные, они собираются в исходной последовательности и передаются протоколу прикладного уровня, который передаёт их программе-серверу. Для клиента и сервера данные, отправленные на одном конце, как по волшебству, "всплывают" на другом конце. Но между этими событиями происходят незаметно для прикладных программ сложные взаимодействия для создания иллюзии непрерывной передачи данных между вычислительными сетями.

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

Краткое заключение по tcp/ip

TCP/IP - это набор протоколов, которые позволяют физическим сетям объединяться вместе для образования Internet. TCP/IP соединяет индивидуальные сети для образования виртуальной вычислительной сети, в которой отдельные компьютеры идентифицируются не физическими адресами сетей, а IP-адресами.

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

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

  1. Протоколы уровня приложений в архитектуре tcp/ip.

  2. Протоколы транспортного уровня tcp и udp. Основные задачи. Принцип работы.

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

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

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

TCP (Transfer Control Protocol) – протокол контроля передачи, протокол TCP применяется в тех случаях, когда требуется гарантированная доставка сообщений.

Рассмотрим основные особенности протокола TCP:

  • Устанавливается соединение.

  • Данные передаются сегментами. Модуль TCP нарезает большие блоки данных на пакеты, каждый из которых передается отдельно, а на приемнике наоборот пакеты собираются в исходный блок. Для этого нужен порядковый номер (Sequence Number – SN) пакета.

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

  • Делает проверку целостности данных, если пакет битый (контрольная сумма не совпала) – посылает повторный запрос.

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

Основные отличия протокола UDP от протокола TCP:

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

  • Не разбивает сообщение для передачи;

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

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

Также на транспортном уровне могут использоваться:

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

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