ВУЗ:
Составители:
Рубрика:
Ниже основные функции протокола TCP и их реализация рассмотрены
более подробно.
Базовая передача данных. Модуль TCP выполняет передачу
непрерывных потоков данных между своими клиентами в обоих направлениях.
Клиентами TCP являются прикладные процессы, вызывающие модуль TCP при
необходимости получить или отправить данные процессу-клиенту на другом
узле.
Протокол TCP рассматривает данные клиента как непрерывный не
интерпретируемый поток октетов. TCP разделяет этот поток на части для
пересылки на другой узел в TCP-сегментах некоторого размера. Для отправки
или получения сегмента модуль TCP вызывает модуль IP.
Немедленное отправление данных может быть затребовано процессом-
клиентом от TCP-модуля с помощью специальной функции PUSH, иначе TCP
сам будет решать, как накапливать и когда отправлять данные клиента или
когда передавать клиенту полученные данные.
Обеспечение достоверности. Модуль TCP обеспечивает защиту от
повреждения, потери, дублирования и нарушения очередности получения
данных.
Для выполнения этих задач все октеты в потоке данных сквозным
образом пронумерованы в возрастающем порядке. Заголовок каждого сегмента
содержит число октетов данных в сегменте и порядковый номер первого октета
той части потока данных, которая пересылается в данном сегменте. Например,
если в сегменте пересылаются октеты с номерами от 2001 до 3000, то номер
первого октета в данном сегменте равен 2001, а число октетов равно 1000.
Номер первого байта в потоке определяется на этапе установления
соединения и обозначается ISN+1. Например, ISN+1=1.
Также для каждого сегмента вычисляется контрольная сумма,
позволяющая обнаружить повреждение данных.
При удачном приеме октета данных принимающий модуль посылает
отправителю подтверждение о приеме - номер удачно принятого октета. Если в
течение некоторого времени отправитель не получит подтверждения, считается,
что октет не дошел или был поврежден, и он посылается снова. Этот механизм
контроля надежности называется PAR (Positive Acknowledgment with
Retransmission). В действительности подтверждение посылается не для одного
октета, а для некоторого числа последовательных октетов.
Нумерация октетов используется также для упорядочения данных в
порядке очередности и обнаружения дубликатов (которые могут быть посланы
из-за большой задержки при передаче подтверждения или потери
подтверждения).
Разделение каналов. Протокол TCP обеспечивает работу одновременно
нескольких соединений. Каждый прикладной процесс идентифицируется
номером порта. Заголовок TCP-сегмента содержит номера портов процесса-
отправителя и процесса-получателя. При получении сегмента модуль TCP
анализирует номер порта получателя и отправляет данные соответствующему
прикладному процессу.
102
Ниже основные функции протокола TCP и их реализация рассмотрены
более подробно.
Базовая передача данных. Модуль TCP выполняет передачу
непрерывных потоков данных между своими клиентами в обоих направлениях.
Клиентами TCP являются прикладные процессы, вызывающие модуль TCP при
необходимости получить или отправить данные процессу-клиенту на другом
узле.
Протокол TCP рассматривает данные клиента как непрерывный не
интерпретируемый поток октетов. TCP разделяет этот поток на части для
пересылки на другой узел в TCP-сегментах некоторого размера. Для отправки
или получения сегмента модуль TCP вызывает модуль IP.
Немедленное отправление данных может быть затребовано процессом-
клиентом от TCP-модуля с помощью специальной функции PUSH, иначе TCP
сам будет решать, как накапливать и когда отправлять данные клиента или
когда передавать клиенту полученные данные.
Обеспечение достоверности. Модуль TCP обеспечивает защиту от
повреждения, потери, дублирования и нарушения очередности получения
данных.
Для выполнения этих задач все октеты в потоке данных сквозным
образом пронумерованы в возрастающем порядке. Заголовок каждого сегмента
содержит число октетов данных в сегменте и порядковый номер первого октета
той части потока данных, которая пересылается в данном сегменте. Например,
если в сегменте пересылаются октеты с номерами от 2001 до 3000, то номер
первого октета в данном сегменте равен 2001, а число октетов равно 1000.
Номер первого байта в потоке определяется на этапе установления
соединения и обозначается ISN+1. Например, ISN+1=1.
Также для каждого сегмента вычисляется контрольная сумма,
позволяющая обнаружить повреждение данных.
При удачном приеме октета данных принимающий модуль посылает
отправителю подтверждение о приеме - номер удачно принятого октета. Если в
течение некоторого времени отправитель не получит подтверждения, считается,
что октет не дошел или был поврежден, и он посылается снова. Этот механизм
контроля надежности называется PAR (Positive Acknowledgment with
Retransmission). В действительности подтверждение посылается не для одного
октета, а для некоторого числа последовательных октетов.
Нумерация октетов используется также для упорядочения данных в
порядке очередности и обнаружения дубликатов (которые могут быть посланы
из-за большой задержки при передаче подтверждения или потери
подтверждения).
Разделение каналов. Протокол TCP обеспечивает работу одновременно
нескольких соединений. Каждый прикладной процесс идентифицируется
номером порта. Заголовок TCP-сегмента содержит номера портов процесса-
отправителя и процесса-получателя. При получении сегмента модуль TCP
анализирует номер порта получателя и отправляет данные соответствующему
прикладному процессу.
102
Страницы
- « первая
- ‹ предыдущая
- …
- 100
- 101
- 102
- 103
- 104
- …
- следующая ›
- последняя »
