next up previous contents index
Next: Флаг важности пакета, средства Up: Протокол TCP Previous: Механизмы обеспечения достоверности передаваемых   Contents   Index

Механизм контроля потока данных

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

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

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

Механизм контроля потока данных позволяет TCP влиять на изменение размера «окна» передачи. Это, в свою очередь, помогает значительно оптимизировать скорость достоверного обмена данных между процессами в гетерогенных сетях Internet.



Alex Otwagin 2002-12-16