38
посылая сообщение, отправитель должен уменьшить указанное количество и временно
прекратить передачу, если размер свободного буферного пространства у получателя
уменьшится до нуля. Получатель, в свою очередь должен указывать текущий размер окна и
номер подтверждения в потоке идущем в обратном направлении. При увеличении
количества памяти доступной для буферизации сетевых соединений уже не недостаток
свободного буферного пространства будет ограничивать максимальную скорость передачи
данных, а доступная пропускная способность БС. Таким образом, необходим механизм
управления потоком, который учитывает также и несущую способность БС, а не только
количество буферного пространства у конечных участников обмена. Если используется
механизм ограничивающего окна, то его размер должен отражать текущую пропускную
способность
БС.
1.7.7. Протокол TCP
Семейство протоколов TCP/IP включает в себя два протокола транспортного уровня
это TCP – Transmission Control Protocol - и UDP User Datagram Protocol. UDP достаточно
прост, по существу это небольшое дополнение к IP, и не использует виртуальный канал. TCP
это надежный протокол, который использует предварительную установку виртуального
канала и доставляет данные пользователя без ошибок. ТСР был специально разработан,
чтобы обеспечивать надежную передачу байтового
потока от отправителя к получателю
через ненадежную БС. БС может состоять из различных сетевых компонентов, обладающих
разными топологическими схемами, технологиями, пропускной способностью, задержками.
Формально протокол ТСР был определен в RFC 793 [4]. Со временем накопившиеся
ошибки и недостатки были учтены и нашли выражение в требованиях к устройствам
интернет в RFC 1122 [5]. В дальнейшем было проведено большое
количество исследований с
протоколом. Часть модификаций стала стандартом и новые спецификации протокола
содержится в RFC 1323 [6].
Каждое устройство, поддерживающее ТСР, содержит в себе объект протокола,
который управляет ТСР потоками и взаимодействует с уровнем IP. Этот объект принимает
потоки данных от локальных процессов, разбивает их на сообщения определенной длины
(сегменты) и передает сегмент на
уровень IP для его передачи в виде отдельного IP пакета.
По прибытии на адресуемую машину информация из этих пакетов передается ТСР объекту,
который реконструирует оригинальный байтовый поток и передает ее пользовательской
программе. Уровень IP не гарантирует доставку пакетов, поэтому ТСР должен отслеживать
потерянные пакеты и осуществлять повторную отправку. Пакеты могут прибывать и в
порядке, отличающемся от порядка, в котором они были отправлены, поэтому задачей ТСР