Реализация скользящего окна в протоколе TCP
Особенность использования алгоритма скользящего окна в протоколе TCP состоит в том, что, хотя единицей передаваемых данных является сегмент, окно определено на множестве нумерованных байтов неструктурированного потока данных, поступающих с верхнего уровня и буферизуемых протоколом TCP. Получающий модуль TCP отправляет «окно» посылающему модулю TCP. Данное окно задает количество байтов (начиная с номера байта, о котором уже была выслана квитанция), которое принимающий модуль TCP готов в настоящий момент принять.
Квитанция (подтверждение) посылается только в случае правильного приема данных. Отсутствие квитанции означает либо прием искаженного сегмента, либо потерю сегмента, либо потерю квитанции. В качестве квитанции получатель сегмента отсылает ответное сообщение (сегмент), в которое помещает число, на единицу превышающее максимальный номер байта в полученном сегменте. Это число часто называют номером очереди.
Если размер окна равен W, а последняя по времени квитанция содержала значение N, то отправитель может посылать новые сегменты до тех пор, пока в очередной сегмент не попадет байт с номером N+W. Этот сегмент выходит за рамки окна, и передачу в таком случае необходимо приостановить до прихода следующей квитанции.
IP-адресация, классы адресов, маска сети.
IP-адрес – это уникальный числовой адрес, однозначно идентифицирующий узел, группу узлов или сеть. IP-адрес имеет длину 4 байта и обычно записывается в виде четырех чисел (так называемых «октетов»), разделенных точками – W.X.Y.Z , каждое из которых может принимать значения в диапазоне от 0 до 255, например, 213.128.193.154.
Для того, чтобы компьютер мог участвовать в сетевом взаимодействии с помощью протокола IP, ему должен быть обязательно присвоен уникальный IP-адрес.
Классы IP-адресов.
Существует 5 классов IP-адресов – A, B, C, D, E. Принадлежность IP-адреса к тому или иному классу определяется значением первого октета (W).
Класс IP-адреса | A | B | C | D | E |
Диапазон первого октета | 1-126 | 128-191 | 192-223 | 224-239 | 240-247 |
IP-адреса первых трех классов предназначены для адресации отдельных узлов и отдельных сетей. Такие адреса состоят из двух частей – номера сети и номера узла.
Преимущества двухуровневой схемы очевидны: она позволяет, во-первых, адресовать целиком отдельные сети внутри составной сети, что необходимо для обеспечения маршрутизации, а во-вторых – присваивать узлам номера внутри одной сети независимо от других сетей. Естественно, что компьютеры, входящие в одну и ту же сеть должны иметь IP-адреса с одинаковым номером сети.
В случае если два компьютера имеют IP-адреса с разными номерами сетей (даже если они принадлежат одной физической сети), то они не смогут общаться друг с другом напрямую: для их взаимодействия необходим маршрутизатор.
IP-адреса разных классов отличаются разрядностью номеров сети и узла, что определяет их возможный диапазон значений.
Характеристика | Класс | ||
А | В | С | |
Номер сети | W | WX | WXY |
Номер узла | XYZ | YZ | Z |
Возможное количество сетей | 16 384 | 2 097 151 | |
Возможное количество узлов | 16 777 214 | 65 534 | |
Особые адреса | |||
Запись адреса сети в целом | W.0.0.0 | W.X.0.0 | W.X.Y.0 |
Широковещательный адрес в сети | W.255.255.255 | W.X.255.255 | W.X.Y.255 |
Схема адресации, определяемая классами A, B, и C, позволяет пересылать данные либо отдельному узлу, либо всем компьютерам отдельной сети (широковещательная рассылка). Однако существует сетевое программное обеспечение, которому требуется рассылать данные определенной группе узлов, необязательно входящих в одну сеть. Для того чтобы программы такого рода могли успешно функционировать, система адресации должна предусматривать так называемые групповые адреса. Для этих целей используются IP-адреса класса D.
Диапазон адресов класса E зарезервирован и в настоящее время не используется.
Маски сети.
Для более гибкого определения границ между разрядами номеров сети и узла внутри IP-адреса используются так называемые маски подсети. Маска подсети – это 4-байтовое число специального вида, которое используется совместно с IP-адресом. "Специальный вид" маски подсети заключается в следующем: двоичные разряды маски, соответствующие разрядам IP-адреса, отведенным под номер сети, содержат единицы, а в разрядах, соответствующих разрядам номера узла – нули.
Маска подсети обязательно указывается при настройке программного модуля протокола IP на каждом компьютере вместе с IP-адресом.
Для стандартного деления IP-адресов на номер сети и номер узла, определенного классами A, B и C маски подсети имеют вид:
Класс | Двоичная форма | Десятичная форма |
А | 11111111 00000000 00000000 00000000 | 255.0.0.0 |
В | 11111111 11111111 00000000 00000000 | 255.255.0.0 |
С | 11111111 11111111 11111111 00000000 | 255.255.255.0 |