реклама
ЭКСПЕРТИЗА САЙТОВ НА СЛИВ ИНФОРМАЦИИ

ВОССТАНОВЛЕНИЕ ИНФОРМАЦИИ С РАЗЛИЧНЫХ НАКОПИТЕЛЕЙ В КИЕВЕ
реклама

proxy  статьи  библиотека  softice  free_юр.консультация  hard
рекламодателям  расшифровка штрих-кодов  links/add

http://kiev-security.org.ua

3 Спецификация для функций протокола

3.1 Формат заголовка

 Передача TCP сегментов осуществляется в виде Internet датаграмм.
Заголовок датаграммы в Internet протоколе имеет несколько информаци-
онных полей, включая адреса отправляющего и принимающего хост-
компьютеров [2]. Заголовок TCP следует за Internet заголовком и до-
полняет его информацией, специфической для TCP протокола. Такое де-
ление допускает использование на уровне хост-компьютеров протоколов,
иных нежели TCP.
   Формат TCP заголовка
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Source Port          |       Destination Port        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                        Sequence Number                        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Acknowledgment Number                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Data |           |U|A|P|R|S|F|                               |
| Offset| Reserved  |R|C|S|S|Y|I|            Window             |
|       |           |G|K|H|T|N|N|                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Checksum            |         Urgent Pointer        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    Options                    |    Padding    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                             data                              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                     Рис. 3 Формат TCP заголовка
Отметим, что каждая метка указывает здесь место для соответствующего
бита.
Source Port (порт отправителя) 16 бит
   номер порта отправителя
Destination Port (порт получателя) 16 бит
   номер порта получателя
Sequence Number (номер очереди) 32 бита
   Номер очереди для первого октета данных в данном сегменте (за ис-
   ключением тех случаев, когда присутствует флаг синхронизации SYN).
   Если же флаг SYN присутствует, то номер очереди является инициали-
   зационным (ISN), а номер первого октета данных - ISN+1.
Acknowledgment Number (номер подтверждения) 32 бита
   Если установлен контрольный бит ACK, то это поле содержит следущий
   номер очереди, который отправитель данной датаграммы желает полу-
   чить в обратном направлении. Номера подтверждения посылаются по-
   стоянно, как только соединение будет установлено.
Data Offset (смещение данных)  4 бита
   Количество 32-битных слов в TCP заголовке. Указывает на начало по-
   ля данных. TCP заголовок всегда кончается на 32-битной границе
   слова, даже если он содержит опции.
Reserved   6 бит
   Это резервное поле, должно быть заполнено нулями.
Control Bits (контрольные биты)  6 бит
   Биты этого поля слева направо
   URG: поле срочного указателя задействовано
   ACK: поле подтверждения задействовано
   PSH: функция проталкивания
   RST: перезагрузка данного соединения
   SYN: синхронизация номеров очереди
   FIN: нет больше данных для передачи
Window (окно)  16 бит
   Количество октетов данных, начиная с октета, чей номер указан в
   поле подтверждения. Количество октетов, получения которых ждет
   отправитель настоящего сегмента.
Checksum (контрольная сумма)  16 бит
   Поле контрольной суммы - это 16-битное дополненение суммы всех 16-
   битных слов заголовка и текста. Если сегмент содержит в заголовке
   и тексте нечетное количество октетов, подлежащих учету в контоль-
   ной сумме, последний октет будет дополнен нулями справа с тем,
   чтобы образовать для предоставления контрольной сумме 16-битное
   слово. Возникший при таком выравнивании октет не передается вместе
   с сегментом по сети. Перед вычислением контрольной суммы поле этой
   суммы заполняется нулями.
      Контрольная сумма, помимо всего прочего, учитывает 96 бит псев-
   дозаголовка, который для внутреннего употребления ставится перед
   TCP заголовком. Этот псевдозаголовок содержит адрес отправителя,
   адрес получателя, протокол и длину TCP сегмента. Такой подход
   обеспечивает защиту протокола TCP от ошибшихся в маршруте сегмен-
   тов. Эту информацию обрабатывает Internet протокол. Она передается
   через интерфейс протокол TCP/локальная сеть в качестве аргументов
   или результатов запросов от протокола TCP к протоколу IP.
                  +--------+--------+--------+--------+
                  |         Адрес отправителя         |
                  +--------+--------+--------+--------+
                  |         Адрес получателя          |
                  +--------+--------+--------+--------+
                  |  нули  |  PTCL  |    длина TCP    |
                  +--------+--------+--------+--------+
      Длина TCP сегмента - это длина TCP заголовка и поля данных, из-
   меренная в октетах. Это не является точным указанием количества
   передаваемых по сети октетов, она не учитывает 12 октетов псевдо-
   заголовка, но тем не менее расчет этого параметра все же произво-
   дится.
Urgent Pointer (срочный указатель)  16 бит
   Это поле сообщает текущее значение срочного указателя. Последний
   является положительной величиной - смещением относительно номера
   очереди данного сегмента. Срочный указатель сообщает номер очереди
   для октета, следующего за срочными данными. Это поле интерпретиру-
   ется только в том случае, когда в сегменте выставлен контрольный
   бит URG.
Options (опции)  длина переменная
   Опции могут располагаться в конце TCP заголовка, а их длина кратна
   8 бит. Все опции учитываются при расчете контрольной суммы. Опции
   могут начинаться с любого октета. Они могут иметь два формата:
   - однооктетный тип опций;
   - октет типа опции, октет длины опции и октеты данных
     рассматриваемой опции.
   В октете длины опции учитываются октет типа опции, сам октет
   длины, а также все октеты с данными.
   Заметим, что список опций может оказаться короче, чем можно ука-
   зать в поле Data Offset. Место в заголовке, остающееся за опцией
   "End-of-Option", должно быть заполнено нулями. Протокол TCP должен
   быть готов обрабатывать все опции.
      В настоящее время определены следующие опции:
   Тип     Длина      Значение
    0        -       конец списка опций
    1        -       нет операций
    2        4       максимальный размер сегмента
                       Определения указанных опций
   Конец списка опций
   +--------+
   |00000000|   тип 0
   +--------+
   Этот код опции определяет конец списка опций. Конец списка может
   не совпадать с концом TCP заголовка, указанным в поле Data Offset.
   Эта опция используется после всех опций, но не после каждой из
   них. Опцию необходимо использовать только в том случае, если иначе
   не будет совпадения с концом TCP заголовка.
   Нет операций
   +--------+
   |00000001|    тип 1
   +--------+
      Опции этого типа могут ставиться между опциями. Целью при этом
   может служить выравнивание очередной опции по границе слова. Нет
   гарантии, что отправители будут использовать данную опцию. Поэтому
   получатели должны быть готовы обрабатывать опции, даже если они не
   будут начинаться на границе слова.
   Максимальный размер сегмента
   +--------+--------+--------+--------+
   |00000010|00000100| макс.разм.сегм. |
   +--------+--------+--------+--------+
     тип 2   длина=4
      Поле данных опции - 16 бит. Если опция присутствует в списке,
   то она указывает для программы протокола TCP максимальный размер
   получаемого сегмента, отправившей сегмент с этой опцией. Эту опцию
   следует посылать лишь при первоначальном запросе на установление
   соединения (т.е. в сегментах с установленным контрольным битом
   SYN). Если данная опция не была использована, ограничения на раз-
   мер отсутствуют.
Padding (выравнивание)  длина переменная
   Выравнивание TCP заголовка осуществляется с тем, чтобы убедиться в
   том, что TCP заголовок заканчивается, а поле данных сегмента начи-
   нается на 32-битной границе. Выравнивание выполняется нулями.

Назад | Вперед

Содержание

HOME


Если у вас есть сайт или домашняя страничка - поддержите пожайлуста наш ресурс, поставьте себе кнопочку, скопировав этот код:

<a href="http://kiev-security.org.ua" title="Самый большой объем в сети онлайн инф-ции по безопасности на rus" target="_blank"><img src="http://kiev-security.org.ua/88x31.gif" width="88" height="31" border="0" alt="security,безопасность,библиотека"></a>

Идея проекта(C)Anton Morozov, Kiev, Ukraine, 1999-2019, security2001@mail.ru