30247

TCP/IP

Реферат

Информатика, кибернетика и программирование

Большинство персональных компьютеров задействованных в сети используют в настоящее время сетевые адаптеры типа Ethernet и Token Ring с заранее присвоенными встроенными уникальными идентификаторами МАСадресами которые делают IPадреса избыточными. Многие другие типы компьютеров имеют всевозможные адреса назначаемые сетевыми администраторами причем нет никакой уверенности в том что у другого компьютера в сети масштаба Интернета не будет точно такого же адреса. Так как IPадреса регистрируются централизованно можно быть уверенным что...

Русский

2013-08-24

626.5 KB

1 чел.

TCP/IP

Главным элементом, отличающим TCP/IP от остальных стеков протоколов, обеспечивающих сервисы Сетевого и Транспортного уровней, является собственная уникальная система адресации. Каждому устройству сети TCP/IP присваивается IP-адрес (иногда больше, чем один), однозначно идентифицирующий это устройство для других систем. Большинство персональных компьютеров, задействованных в сети, используют в настоящее время сетевые адаптеры типа Ethernet и Token Ring с заранее присвоенными встроенными уникальными идентификаторами (МАС-адресами), которые делают IP-адреса избыточными. Многие другие типы компьютеров имеют всевозможные адреса, назначаемые сетевыми администраторами, причем нет никакой уверенности в том, что у другого компьютера в сети масштаба Интернета не будет точно такого же адреса.

Так как IP-адреса регистрируются централизованно, можно быть уверенным, что никакие два (правильно сконфигурированные) компьютера в Интернете не будут иметь одинаковых IP-адресов. Благодаря своей системе адресации, протоколы TCP/IP способны поддерживать практически любое аппаратное обеспечение или программную платформу из ныне существующих.

Набор протоколов TCP/IP предшествовал эталонной модели OSI, но, тем не менее, протоколы можно разделить на четыре уровня, которые будут в общих чертах аналогичны семиуровневому стеку OSI:

  1.  Уровень сетевых интерфейсов (канальный OSI);
  2.  Уровень межсетевого взаимодействия (сетевой OSI);
  3.  Транспортный уровень (транспортный и сеансовый OSI);
  4.  Прикладной уровень (представительский и прикладной OSI).

В ЛВС функциональность Канального уровня определяется не протоколом из стека TCP/IP, а стандартными протоколами Канального уровня типа Ethernet или Token Ring. Хотя, вместе с тем, существует Address Resolution Protocol (ARP, протокол разрешения адресов), применяемый системами для согласования МАС-адреса адаптера сетевого интерфейса и IP-адреса, который работает на сетевом уровне.

Именно стандарты TCP/IP определяют два протокола, наиболее часто использующиеся для создания коммуникаций Канального уровня с применением модемов и других вариантов прямого соединения. Это — Point-to-Point Protocol (РРР, протокол двухточечного соединения) и Serial Line Internet Protocol (SLIP, межсетевой протокол для последовательного канала).

Уровень Межсетевого взаимодействия представлен протоколом IP (Internet Protocol Интернет-протокол), выступающим в качестве первичного носителя для всех остальных протоколов, оперирующих на более высоких уровнях, и Internet Control Message Protocol (ICMP, протокол контроля сообщений в сети Интернет), осуществляющего диагностику и контроль сообщений об ошибках на уровне IP. Протокол IP, как основной протокол-носитель, является протоколом без установления соединения и, в связи с этим, ненадежным, поскольку недостающие сервисы обеспечиваются Транспортным уровнем по мере необходимости.

На Транспортном уровне функционируют два протокола: Transmission Control Protocol (TCP, протокол управления передачей) и User Datagram Protocol (UDP, протокол передачи дейтаграмм пользователя). Протокол TCP ориентирован на установление соединения и надежен, в то время как UDP представляет собой протокол без установления соединения и, в силу этого, — не настолько устойчив. Приложение может затребовать первый или второй протокол в зависимости от собственных запросов и сервисов, которые ему уже предоставлены.

В некоторых случаях можно сказать, что Транспортный уровень стека протоколов TCP/IP включает в себя Сеансовый уровень модели OSI вместе с ее Транспортным уровнем, но это справедливо не всегда.

Прикладной уровень наиболее трудно поддается описанию, так как протоколы, работающие здесь, могут быть как полностью завершенными, самодостаточными приложениями (FTP), так и всего лишь механизмами, с помощью которых другие приложения обеспечивают какие-либо услуги, как в случае Domain Name System (DNS, система имен доменов) и Simple Mail Transfer Protocol (SMTP, простой протокол электронной почты).

IP-адресация

IP-адрес имеет длину 32 бита и изображается в виде четырех 8-битных десятичных чисел, разделенных точками, например, 192.168.2.45. Такая форма записи называется точечной десятичной записью (dotted decimal notation). Каждое из 8-битных чисел иногда носит название октета (octet) или квадранта (quad). (Эти термины изначально употреблялись в связи с тем, что для некоторых компьютеров распространенный термин "байт” не означал именно 8 бит.) Так как каждый квадрант представляет собой десятичный эквивалент 8-битного двоичного числа, его возможные значения находятся в пределах от 0 до 255. Таким образом, полный диапазон IP-адресов находится в пределах от 0.0.0.0 до 255.255.255.255.

IP-адреса определяют не столько компьютеры, сколько сетевые интерфейсы. Система с двумя платами сетевых адаптеров или с одним сетевым адаптером и модемным соединением с сервером TCP/IP, имеет два 1Р-адреса. Компьютер с двумя или более сетевыми интерфейсами называют групповым (multihomed). Если интерфейсы относятся к различным сетям, то, при соответствующей конфигурации, компьютер данного типа может проводить трафик между ними, то есть функционировать в качестве маршрутизатора.

Каждый IP-адрес содержит биты, указывающие адрес сети, и биты, конкретизирующие интерфейс установленного в сети компьютера, управляющего доступом к ресурсам этой сети, называемого хостом (host). Обращаясь ко всей сети, системы задействуют только биты идентификации сети, заменяя биты адреса хоста нулями. Биты, определяющие сеть, служат для передачи пакетов от одного маршрутизатора к другому, связанному с сетью назначения, который затем передает информацию конкретному узлу.

Маска подсети

IP-адрес всегда выделяет часть своих битов для идентификации сети и часть битов для идентификации узла, однако их количество, используемое для каждой из этих целей, не всегда одно и то же. Во многих адресах общего назначения используются 24 бита для адреса сети и 8 бит для адреса узла, но граница между соответствующими битами может быть проведена в любом месте адреса. Для указания назначения каждого бита каждая TCP/IP- система имеет, кроме IP-адреса, еще и маску подсети. Маска подсети (subnet mask) представляет собой 32-битное двоичное число, биты которого позиционно соответствуют битам IP-адреса. Установленный бит маски подсети означает, что связанный с ним бит IP-адреса есть часть идентификатора сети, в то время как бит со значением "0" предполагает, что соответствующий бит IP-адреса участвует в обозначении идентификатора узла. Как и собственно IP-адрес, маска подсети записывается с применением точечной квадронотации, поэтому может быть очень похожей на IP-адрес, хотя выполняет совершенно иную функцию.

Линия раздела между адресами сети и хоста может пролегать в любом месте среди 32 бит маски подсети, но никогда не происходит смешивания битов для обозначения разных частей адреса. Четкая граница всегда делит IР-адрес на биты адреса сети слева и биты адреса узла справа.

Регистрация IP-адресов

Для того чтобы IP-адрес однозначно идентифицировал компьютер сети, критически важно, чтобы никакие два интерфейса не могли иметь одинаковые IP-адреса.

Организация, занимающаяся регистрацией адресов сетей для Интернета, называется Internet Assigned Numbers Authority (IANA, Агентство no выделению имен и уникальных параметров протоколов Интернета). Регистрация имен доменов происходит аналогичным образом. NSI (Network Solutions Inc.) назначает имя домена.

Классы IP-адресов

IANA регистрирует несколько классов адресов сетей, отличающихся только своими масками подсети, т. е. количеством битов, отображающих адрес сети и адрес узла.

Идея выделения различных классов адресов заключалась в создании сетей переменного размера для удовлетворения нужд различных организаций и прикладных программ. Компания, имеющая относительно небольшую сеть, может зарегистрировать IP-адрес класса С, который позволяет поддерживать до 254 компьютеров в составе сети. Более крупная организация может использовать IP-адрес класса В или А и образовывать множество подсетей в пределах собственной сети. Подсети создаются путем "одалживания" части битов адреса узла для создания адресов подсетей, которые, по сути, являются сетями внутри сети.

IP-адреса класса D не предназначены для распределения в виде блоков, как другие классы адресов. Эта часть адресного пространства выделена под групповые адреса. Групповой (мулътивещательный) адрес (multicast address) идентифицирует группу компьютеров, имеющих общий признак, но не обязательно расположенных в одном месте или даже не принадлежащих одной организации. Диапазон IP-адресов, обозначенный как класс Е, зарезервирован для будущих применений.

Нерегистрируемые IР-адреса

Регистрируемые IP-адреса выделяются сетям, соединенным с Интернетом, имеющим компьютеры, к которым предполагается доступ из других сетей. В частной сети, не имеющей выхода в Интернет, нет необходимости в этой процедуре. Кроме того, большинство коммерческих сетей, подключенных к Интернету, имеют различного рода брандмауэры (firewall) для предотвращения несанкционированного проникновения в их компьютеры. Практически во всех случаях совершенно нет смысла в том, чтобы каждый компьютер сети был доступен через Интернет, это даже заключает в себе огромную потенциальную опасность. Поэтому многие брандмауэры изолируют системы сети, что делает регистрацию IP-адреса бесполезной.

Cтандарты TCP/IP определяют диапазоны IP-адресов, предназначенные для применения в незарегистрированных сетях. Такие адреса не присваиваются ни одной из зарегистрированных сетей и, исходя из этого, могут совершенно свободно использоваться любой организацией, частной или общественной.

В настоящее время развитие Интернета достигло той точки, когда сетевые адреса практически всегда присваиваются третьими организациями, а не напрямую NSI. Кроме того, неуклонное увеличение количества других коммуникационных устройств, использующих собственные IP-адреса, например, карманных компьютеров и сотовых телефонов, может уже в самом ближайшем будущем привести к нехватке IP-адресов. Последняя версия протокола IP, а именно IPv6, призвана снять это ограничение с помощью расширения адресного пространства с 32 разрядов до 128.

Выделенные IР-адреса

Кроме IP-адресов, выделенных для использования в незарегистрированных сетях, существует ряд адресов, которые не закрепляются за конкретными сетями, поскольку предназначены для специальных нужд.

Адрес внутренней обратной связи узла

Internal Host Loopback Address (адрес внутренней обратной связи узла) представляет собой средство диагностики, которое позволяет направить трафик из TCP/IP-системы в нее же обратно, то есть фактически он не покидает компьютер. Система, передающая любые пакеты по адресу класса А со значением первого квадранта 127 (обычно это адрес 127.0.0.1), автоматически перенаправляет исходящий трафик в собственную входную IP-очередь. Так как пакеты не покидают компьютер, механизмы Канального и Физического уровня удаляются из петли, что дает возможность исключить протоколы этих уровней при выяснении причины возможных проблем.

Порты и сокеты

IP-адрес дает возможность маршрутизировать сетевой трафик к конкретной системе, но, после того, как пакеты прибыли в компьютер и совершают продвижение вверх по стеку протоколов, их по-прежнему требуется направлять к соответствующему приложению. Этой деятельностью занимаются протоколы Транспортного уровня, а именно — TCP или UDP. Для идентификации конкретного процесса, запущенного на компьютере, протоколы TCP и UDP используют номера портов, которые включены в заголовок каждого TCP- или UDP-пакета. Обычно номер порта определяет протокол прикладного уровня, сформировавший информацию, которая содержится в пакете.

Номера портов, назначаемые конкретным сервисам, также стандартизируются IANA и публикуются в Assigned Numbers RFC (последний к настоящему времени RFC 1700). Каждая TCP/IP-система имеет файл Services, в котором перечисляются нужные ей номера портов и соответствующие им сервисы.

Комбинация номера порта и IP-адреса известна под названием сокет (socket). Формат URL требует записи сокета как IP-адреса и номера порта, разделенных двоеточием, например, 192.168.2.45:80.

Присваивание имен TCP/IP

IP-адрес является эффективным средством идентификации сетей и узлов, но когда речь заходит о пользовательских интерфейсах, оказывается, что такие адреса крайне сложны для использования и запоминания. В связи с этим была разработана система имен доменов (DNS, Domain Name System) для обеспечения доменов дружественными именами.

Протокол ARP

Address Resolution Protocol (ARP, протокол разрешения адресов). В отличие от большинства протоколов TCP/IP сообщения ARP не переносятся IР-дейтаграммами. В документе под названием "Assigned Numbers" описан отдельный идентификатор, который протоколы Канального уровня используют для демонстрации того, что они содержат сообщения протокола ARP.

Прямая функция протокола ARP, как описано в документе RFC 826, вы-ступающем под названием "An Ethernet Address Resolution Protocol", заключается в приведении в соответствие IP-адресов, применяемых для идентификации систем, с аппаратными адресами Канального уровня.

Формат ARP-сообщения

Сообщения протокола ARP переносятся непосредственно кадрами протоколов Канального уровня с использованием числа 0806 в качестве значения поля Ethertype, служащего для идентификации протокола, информация которого переносится пакетом. Существует единый формат для всех типов сообщений протокола ARP.

Функции полей описаны ниже.

  1.  Тип аппаратного обеспечения (Hardware Туре), 2 байта. Определяет тип адреса, который будет указан в полях аппаратного адреса отправителя и аппаратного адреса назначения. Шестнадцатеричное значение для Ethernet составляет 0001.
  2.  Тип протокола (Protocol Туре), 2 байта. Специфицирует тип протокола, чей адрес будет находиться в полях адреса протокола отправителя и адреса протокола назначения. Для адресов протокола IP используется шестнадцатеричное значение 0800 (то же, что и для поля Ethertype).
  3.  Размер аппаратного адреса (Hardware Size), 1 байт. Обозначает размер (в байтах) адреса, содержащегося в полях аппаратного адреса отправителя и аппаратного адреса назначения. Размер аппаратных адресов Ethernet равен 6.
  4.  Размер адреса протокола (Protocol Size), 1 байт. Указывает размер (в байтах) адресов протокола, размещенных в полях адреса протокола отправителя и адреса протокола назначения. IP-адреса всегда состоят из 4 байтов.
  5.  Код операции (Opcode), 2 байта. Описывает тип сообщения, переносимого пакетом. Допустимые варианты перечисляются ниже.
    1 — ARP Request (ARP-запрос).

2 — ARP Reply (ARP-ответ).

3 — RARP Request (RARP-запрос).

4 — RARP Reply (RARP-ответ).

  1.  Аппаратный адрес отправителя (Sender Hardware Address), длина определяется значением поля размера аппаратного адреса. Содержит аппаратный (то есть Ethernet) адрес системы, посылающей сообщение, как в случае запроса (request), так и в случае ответа (reply).
  2.  Адрес протокола отправителя (Sender Protocol Address), длина определяется значением поля размера адреса протокола. Представляет собой адрес по протоколу (то есть IP) системы, посылающей сообщение, как в случае запроса (request), так и в случае ответа (reply).
  3.  Аппаратный адрес назначения (Target Hardware Address), длина определяется значением поля размера аппаратного адреса. Оставляется пустым в запросах (request), в ответах же (reply) содержит значение поля аппаратного адреса отправителя из соответствующего запроса.
  4.  Адрес протокола назначения (Target Protocol Address), длина определяется значением поля размера адреса протокола. Представляет собой адрес по протоколу (то есть IP) системы, которой адресовано сообщение, как в случае запроса (request), так и в случае ответа (reply).

Протокол IP

Протокол IP (Internet Protocol, протокол Интернета), как определено в до¬кументе RFC 791, является первичным транспортным протоколом для всего набора TCP/IP. По сути, протокол IP представляет собой "конверт”, внутри которого переносятся практически все сообщения, создаваемые другими протоколами набора TCP/IP. Функционируя на Сетевом уровне модели OSI, протокол IP относится к протоколам без установления соединения, соответственно, является ненадежным и выполняет несколько задач, которые составляют критически важную часть процесса доставки пакетов из системы-источника до места назначения. Среди реализуемых им функций можно выделить несколько основных.

  1.  Адресация. Идентификация системы, которая будет конечным получателем пакета.
  2.  Упаковка. Инкапсуляция данных Транспортного уровня в дейтаграммы для передачи по назначению.
  3.  Фрагментация. Разбиение дейтаграмм на фрагменты, размер которых достаточно мал для успешной передачи по сети.
  4.  Маршрутизация. Определение пути пакета через интерсеть до места назначения.

Формат IP-сообщения

Функции полей заголовка описаны ниже.

  1.  Версия, 4 бита. Определяет версию протокола IP. Значение для текущей версии составляет 4.
  2.  Длина Интернет-заголовка, 4 бита. Задает длину IP-заголовка в 32- разрядных словах. Если заголовок не содержит дополнительных полей, эта величина равна 5 (20 байт).
  3.  Тип сервиса, 1 байт. Биты с 1 по 3, а также 8, не используются. Биты с 4 по 7 определяют приоритет сервиса, предполагаемый для данной дейтаграммы. Может принимать следующие значения:

• 0000 — по умолчанию (Default);

• 0001 — минимальная стоимость (Minimize Monetary Cost);

• 0010 — максимальная надежность (Maximize Reliability);

• 0100 — максимальная пропускная способность (Maximize Throughput);

• 1000 — минимальная задержка (Minimize Delay);

• 1111 — максимальная защита (Maximize Security).

  1.  Общая длина, 2 байта. Содержит длину дейтаграммы, включая все поля заголовка и данные.
  2.  Идентификатор, 2 байта. Представляет собой уникальное число для каждой дейтаграммы, которое требуется системе назначения для сборки фрагментов дейтаграммы.
  3.  Флаги, 3 бита. Содержит биты, устанавливаемые в процессе фрагментации дейтаграммы. Их назначение рассматривается ниже.

•Бит 1 — не используется.

•Бит 2 — запрет фрагментации. Данный бит со значением 1 препятствует фрагментации дейтаграммы любой системой.

•Бит 3 — дальнейшие фрагменты. Когда бит 3 сброшен в 0, это говорит о том, что передается последний фрагмент дейтаграммы. Значение 1 предполагает наличие фрагментов, ожидающих передачи.

  1.  Смещение фрагмента, 13 битов. Определяет позицию (в октетах байтов) текущего пакета от начала всей дейтаграммы.
  2.  Время жизни, 1 байт. Задает число маршрутизаторов, которые будет разрешено пройти данной дейтаграмме на пути к конечному месту назначения. Каждый маршрутизатор, обрабатывающий пакет, уменьшает значение данного поля на 1. Как только значение сравняется с 0, пакет отбрасывается, независимо от того, достиг ли он пункта назначения или нет.
  3.  Протокол, 1 байт. Идентифицирует протокол вышележащего уровня, сформировавший информацию в поле данных, задействует значения из RFC- документа "Assigned Numbers" и файла PROTOCOL, присутствующего в каждой TCP/IP-системе.
  4.  Контрольная сумма заголовка, 2 байта. Содержит значение контрольной суммы, вычисленное по всему заголовку (без учета полезных данных). Служит для отслеживания ошибок.
  5.  IP-адрес источника, 4 байта. Указывает IP-адрес системы, создавшей дейтаграмму.
  6.  IP-адрес назначения, 4 байта. Определяет систему, которая должна быть конечным получателем дейтаграммы.
  7.  Опции, переменный размер. Может содержать до 16 опциональных элементов, определяемых RFC-документом "Assigned Numbers". Системы используют опциональные элементы заголовка протокола IP для передачи дополнительной информации, как непосредственно от отправителя, так и собранной во время путешествия пакета к месту назначения.
  8.  Данные, переменный размер вплоть до MTU для данной сети. Переносит полезные данные дейтаграммы, полученные от протокола Транспортного уровня.

Протокол ICMP

Internet Control Message Protocol (ICMP, протокол контроля сообщений в сети Интернет) относится к протоколам Сетевого уровня, которые не переносят пользовательскую информацию, хотя его сообщения инкапсулируются IP- дейтаграммами. Протокол ICMP выполняет сразу две роли в стеке TCP/IP, а именно: обеспечивает выработку управляющих сообщений об ошибках, например, информирует систему-источник о том, что переданные данные не достигли места назначения, а также переносит сообщения-запросы и сообщения-ответы для диагностических программ. В качестве примера можно привести утилиту PING, входящую в любой набор протоколов TCP/IP, которая применяет есhо-сообщения протокола ICMP для того, чтобы определить, может ли конкретная система сети получать и передавать информацию.

Протокол ICMP, в соответствии с RFC 792, состоит из сообщений, заключенных в IP-пакеты со значением 1 в поле протокола и значением 0 для поля типа сервиса в заголовке.

Формат ICMP-сообщения

Сообщение протокола ICMP включает поля, описанные ниже.

  1.  Тип (Туре), 1 байт. Содержит код, идентифицирующий основную функцию сообщения. 
  2.  Код (Code), 1 байт. Уточняет функцию сообщения в пределах конкретного типа.
  3.  Контрольная сумма (Checksum), 2 байта. Поле сохраняет в себе результат вычисления контрольной суммы всего ICMP-сообщения, включая поля кода, контрольной суммы и данных (при расчете используется значение поля контрольной суммы, равное 0).
  4.  Данные (Data), переменный размер. Содержит информацию, специфическую для каждого сообщения.

Протокол UDP

Протокол UDP (User Datagram Protocol, пользовательский протокол данных), описанный в документе RFC 768, представляет собой ненадежный протокол без установления соединения, который обеспечивает минимальные транспортные услуги для протоколов Прикладного уровня с наименьшими издержками на управление. Так, протокол UDP не оказывает услуг подтверждения получения пакетов или контроля над потоком, в отличие от протокола TCP, хотя и включает возможность сквозной верификации контрольной суммы содержимого пакета.

Природа протокола UDP делает возможным его применение только при коротких транзакциях, где все данные, отправляемые по месту назначения, не превышают по объему размера одной дейтаграммы. Это связано с отсутствием у протокола UDP механизма, позволяющего разбивать поток данных на фрагменты и последующей их сборки, как у протокола TCP. Хотя сказанное вовсе не означает, что дейтаграмма не сможет быть впоследствии разбита на фрагменты протоколом IP в процессе передачи. Указанный процесс совершенно прозрачен для Транспортного уровня, так как система-получатель всегда объединяет фрагменты, прежде чем переслать информацию дейтаграммы вверх по стеку протоколов.

Кроме того, из-за отсутствия механизма подтверждения получения пакетов у протокола UDP он наиболее часто применяется при взаимодействии клиента и сервера, когда клиент посылает запрос, а сервер отвечает сообщением, которое играет роль подтверждения запроса. Если система отправляет запрос и не получает ответа на него, она считает, что сообщение не дошло до системы-получателя и проводит повторную передачу.

Формат UDP-сообщения

Функции полей UDP-заголовка перечислены ниже.

  1.  Номер порта источника (2 байта). Идентифицирует номер порта процесса в передающей системе, который генерировал информацию, переносимую UDP-дейтаграммой. В некоторых случаях это может быть эфемерный номер порта, выбранный клиентом специально для данной транзакции.
  2.  Номер порта назначения (2 байта). Указывает номер порта процесса в системе назначения, который должен будет получить данные, содержащиеся в UDP-дейтаграмме. Номера портов перечислены в RFC- документе под названием "Assigned Numbers”, а также в файле SERVICES каждой ТСР/1Р-системы.
  3.  Длина сообщения (2 байта). Задает длину всего UDP-сообщения, включая заголовок и данные, в байтах.
  4.  Контрольная сумма (2 байта). Содержит результаты вычисления контрольной суммы, учитывающих не только UDP-заголовок, данные UDP-сообщения, но также псевдозаголовок, составленный из полей IР-адреса источника, протокола, IP-адреса назначения из IP-заголовка плюс поле длины UDP-сообщения. Этот псевдозаголовок используется протоколом UDP системы-получателя для того, чтобы подтвердить, что сообщение доставлено нужному протоколу в правильной системе назначения.
  5.  Данные (переменный размер, до максимального в 65 507 байт). Переносят информацию протокола Прикладного уровня.

Протокол TCP

Протокол TCP (Transmission Control Protocol, протокол управления передачей) представляет собой надежный протокол с установлением соединения, являющийся альтернативой UDP, и отвечающий за большинство передач пользовательских данных по сетям TCP/IP, и даже внесший свой вклад в название всего набора протоколов. Протокол TCP, как определено в документе RFC 793, обеспечивает приложения всем диапазоном транспортных услуг, включая подтверждение получения пакетов, отслеживание ошибок и их исправление, а также управление потоком.

Протокол TCP предназначен для передачи относительно больших объемов информации, которая заведомо не сможет быть упакована в один пакет. Информация обычно принимает форму целых файлов, которые должны быть разделены на множественные дейтаграммы для передачи. Информация, поставляемая Транспортному уровню, в терминологии протокола TCP рассматривается как последовательность (sequence), которую протокол разбивает на сегменты (segment) для передачи по сети. Как и в случае протокола UDP, сегменты затем упаковываются в IP-дейтаграммы, которые могут преодолевать маршрут до места назначения различными способами. Поэтому, протокол TCP снабжает каждый из сегментов порядковым номером для того, чтобы система-получатель смогла собрать их воедино в правильном порядке.

Перед началом любой передачи пользовательских данных с применением протокола TCP две системы обмениваются сообщениями с целью установления соединения. Это позволяет убедиться, что система-получатель функционирует и в состоянии принять данные. Как только соединение установлено и начинается процесс передачи данных, система-получатель периодически посылает сообщения, подтверждающие прием пакетов. Эти сообщения оповещают систему-отправителя о потерянных пакетах, а также обеспечивают ее информацией, используемой при контроле скорости потока передачи.

Формат TCP –сообщения

Функции полей TCP-заголовка описаны ниже.

  1.  Порт источника (Source Port), 2 байта. Идентифицирует номер порта передающей системы, используемый процессом, который создал информацию, переносимую TCP-сегментами. В некоторых случаях это может быть фиктивный номер порта, выделенный клиентом специально для данной транзакции.
  2.  Порт назначения (Destination Port), 2 байта. Указывает номер порта системы назначения, на который должна быть передана информация ТСР-сегментов. Номера портов перечислены в документе "Assigned Numbers", а также в файле SERVICES каждой ТСР/1Р-системы.
  3.  Порядковый номер (Sequence Number), 4 байта. Определяет положение конкретного сегмента по отношению ко всей последовательности данных.
  4.  Подтвержденный номер (Acknowledgment Number), 4 байта. Задает максимальный номер байта в сегменте, увеличенный на единицу, который подтверждающая система ожидает получить от отправителя. Используется совместно с битом управления АСК.
  5.  Смещение данных (Data Offset), 4 бита. Задает длину в 4-байтных словах, TCP-заголовка (который может содержать опции, увеличивающие его размер вплоть до 60 байт).
  6.  Зарезервировано (Reserved), 6 битов. Выделено для последующих применений.
  7.  Биты управления (Control Bits), 6 битов. Содержит шесть 1-битных флагов, выполняющих перечисленные ниже функции:

URG — показывает, что последовательность содержит срочные данные (urgent data) и активирует поле указателя срочности;

•АСК — отмечает, что сообщение является подтверждением ранее полученных данных и активирует поле номера подтверждения;

PSH — предписывает системе-получателю передать всю информацию текущей последовательности, полученную на данный момент, приложению, идентифицированному полем порта назначения, не дожидаясь поступления остальных фрагментов;

RST — инструктирует систему-получателя отбросить все сегменты текущей последовательности, полученные к настоящему моменту, и начать установление TCP-соединение заново;

SYN — используется во время процедуры установления соединения для синхронизирования нумераторов переданных данных между взаимодействующими системами;

FIN — извещает другую систему, что передача данных закончена и соединение должно быть завершено.

  1.  Окно (Window), 2 байта. Реализует механизм управления потоком протокола TCP (скользящее окно) путем объявления количества байтов, которое система-получатель может принять от системы-источника.
  2.  Контрольная сумма (Checksum), 2 байта. Содержит результат вычисления контрольной суммы с учетом TCP-заголовка, данных, а также псевдозаголовок, составленный из полей IP-адреса источника, протокола, IP-адреса назначения из IP-заголовка плюс длина всего ТСР-сообщения.
  3.  Указатель срочности (Urgent Pointer), 2 байта. Задействуется совместно с битом URG, определяет данные последовательности, которые должны рассматриваться получателем как срочные.
  4.  Опции (Options), переменный размер. Может содержать дополнительные конфигурационные параметры для TCP-соединения вместе с битами выравнивания, требуемыми для того, чтобы привести размер поля до ближайшего значения, кратного 4 байтам. Возможные опции перечислены ниже.

• Максимальный размер сегмента (Maximum Segment Size). Задает размер максимального сегмента, который текущая система может получить от другой системы, соединенной с ней.

• Фактор масштаба окна (Window Scale Factor). Используется для увеличения размера поля окна с 2 до 4 байтов.

• Временная отметка (Timestamp). Используется для хранения временных отметок пакетов данных, которые система-получатель возвращает отправителю с целью подтверждения. Это позволяет отправителю измерять время путешествия данных в оба конца.

  1.  Данные (Data), переменный размер. Может включать в себя сегменты данных, поступившие с вершины протокольного стека, от протоколов Прикладного уровня. В пакетах SYN, АСК и FIN это поле оставляется пустым.


 

А также другие работы, которые могут Вас заинтересовать

80429. Финансово-правовое стимулирование инвестиционной деятельности в субъекте Российской Федерации (на примере Томской области) 43.13 KB
  Как известно, рыночная экономика функционирует по принципу естественного отбора. Но уровень развития производственной, иной хозяйственной деятельности на соответствующей территории едва ли можно назвать исключительно частным делом – ведь от этого зависит уровень жизни проживающих в этой местности граждан.
80430. Компетенция Конституционных ( уставных ) судов Субъектов РФ 111 KB
  Конституции Российской Федерации на основании этих положений разводиться компетенциальный вопрос но вопрос о компетенции и юрисдикции конституционных уставных судов в РФ с судами общей юрисдикцией а именно с публичным производством представляется довольно интересным применительно...
80431. Физическая культура и спорт. Волейбол 1.35 MB
  Товарищеские это неофициальные встречи которые проводятся по взаимной договоренности с целью определения степени подготовленности отдельных игроков и команды в целом к предстоящим соревнованиям а также степени усвоения программного материала.
80432. КЛАССИФИКАЦИЯ НАУК 74.5 KB
  Выявление структуры науки в этом ее аспекте ставит проблему классификации наук раскрытие их взаимосвязи на основании определенных принципов и критериев и выражение их связи в виде логически обоснованного расположения в определенный ряд структурный срез.
80435. Информационная технология. Система стандартов по базам данных. Эталонная модель 151.03 KB
  Информационная технология процесс использующий совокупность средств и методов сбора обработки и передачи данных первичной информации для получения информации нового качества о состоянии объекта процесса или явления информационного продукта.
80436. Динамика и причины возникновения пожаров в жилых и общественных зданиях 59.46 KB
  Противопожарная защита имеет своей целью изыскание наиболее эффективных, экономически целесообразных и технически обоснованных способов и средств предупреждения пожаров и их ликвидации с минимальным ущербом при наиболее рациональном использовании сил и технических средств тушения.