- •3.6 Приоритет и безопасность
- •3.8 Интерфейсы
- •1. Введение
- •1.1 Мотивация
- •1.2 Цель
- •1.3 О данном документе
- •1.4 Интерфейсы
- •1.5 Действие
- •2.1 Элементы системы объединенных сетей
- •2.2 Модель действия
- •2. Идеология протокола
- •2.3 Программное обеспечение хост-компьютера
- •2.4 Интерфейсы
- •2.5 Связь с другими протоколами
- •2.6 Надежные коммуникации
- •2.7 Установка соединения и его отмена
- •2.8 Коммуникация данных
- •2.9 Приоритет и безопасность
- •2.10 Принцип устойчивости
- •3 Спецификация для функций протокола
- •3.1 Формат заголовка
- •3.2 Терминология
- •3.3 Номер очереди
- •3.4 Установление соединения
- •3.5 Закрытие соединения
- •3.6 Приоритет и безопасность
- •3.7 Передача данных
- •3.8 Интерфейсы
- •3.9 Обработка событий
- •Словарь
2.3 Программное обеспечение хост-компьютера
Предполагается, что программа протокола TCP является модулем операционной системы. Клиенты обращаются к протоколу TCP в значительной степени так же, как если бы они обращались к файловой системе. Сам протокол TCP может обращаться к другим функциям операционной системы, к примеру, для управления структурами данных. Предполагается, что собственно интерфейс с локальной сетью осуществляется драйвером устройства. Протокол TCP не обращается непосредственно к драйверам сетевых устройств, а вместо этого делает вызов для модуля Internet протокола, который в свою очередь и обращается к драйверу устройства.
Механизм протокола TCP не исключает его реализации на входном процессоре. Однако, при такой реализации протокол общения между входными процессорами должен обеспечивать средства для поддержки описанного в этом документе интерфейса между пользователем и протоколом TCP.
2.4 Интерфейсы
Для запросов со стороны пользователя к протоколу TCP интерфейс TCP/пользователь обеспечивает открытие и закрытие соединения, посылку и получение данных или же получение статуса соединения. Эти запросы похожи на другие запросы программы пользователя к операционной системе, например, на запросы открытия, чтения и закрытия файла.
Интерфейс между протоколами TCP и Internet поддерживает запросы на посылку и получение датаграмм, адресованных на модули TCP в хост- компьютерах в любом месте сети Internet. Рассматриваемые запросы имеют аргументы для указания адреса, типа сервиса, приоритета, безопасности, а также передачи другой управляющей информации.
2.5 Связь с другими протоколами
Нижеприведенная диаграмма иллюстрирует место протокола TCP в иерархии протоколов
Рис.2 Взаимосвязь протоколов
Предполагается, что протокол TCP будет в состоянии эффективно поддерживать протоколы более высокого уровня. Протокол TCP должен легко взаимодействовать с такими протоколами более высокого уровня, как ARPANET Telnet или AUDIN II THP to the TCP.
2.6 Надежные коммуникации
Поток данных, посылаемый на TCP соединение, принимается получателем надежно и в соответствующей очередности.
Передача осуществляется надежно благодаря использованию подтверждений и номеров очереди. Концептуально каждому октету данных присваивается номер очереди. Номер очереди для первого октета данных в сегменте передается вместе с этим сегментом и называется номером очереди для сегмента. Сегменты также несут номер подтверждения, который является номером для следующего ожидаемого октета данных, передаваемого в обратном направлении. Когда протокол TCP передает сегмент с данными, он помещает его копию в очередь повторной передачи и запускает таймер. Когда приходит подтверждение для этих данных, соответствующий сегмент удаляется из очереди. Если подтверждение не приходит до истечения срока, то сегмент посылается повторно.
Подтверждение протокола TCP не гарантирует, что данные достигли конечного получателя, а только то, что программа протокола TCP на компьютере у получателя берет на себя ответственность за это.
Для направления потока данных между программами протоколов TCP используется механизм управления потоками. Получающая программа протокола TCP сообщает "окно" посылающей программе. Данное окно указывает количество октетов (начиная с номера подтверждения), которое принимающая программа TCP готова в настоящий момент принять.
