Сценарий передачи данных

29 0 0 0

Введение

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

Цели

По завершении этого раздела обучающиеся научатся:

  • Объяснять этапы процесса инкапсуляции и декапсуляции данных.

  • Диагностировать и устранять основные проблемы передачи данных.


Введение

d

  • Передача данных может быть локальной или удаленной, однако процесс передачи будет общим.


Различают локальную и удаленную передачу данных. В обоих случаях в процессе, который позволяет достичь сквозной передачи, применяется стек протоколов. Конечные системы могут быть частью одной сети или расположены в различных сетях, однако общий принцип передачи данных между хостами опирается на работу стека протоколов. Необходимо понимать принцип совместной работы этих протоколов, а также взаимосвязь между протоколами TCP/IP верхнего уровня и стандартами протокола Ethernet нижнего уровня.


Обнаружение пути

s


  • Хост A должен иметь информацию о пути к месту назначения.



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

Конечные системы, как правило, имеют иформацию о сети, в которой они находятся, но маршрута пересылки может и не быть, например в случае, если удаленная сеть не обнаружена. В данном примере хост А имеет путь к сети назначения, проходящий через «любую сеть», адрес которой входит состав IP-адреса. Таблица передачи определяет, что трафик должен быть переадресован на шлюз, выполняющий роль следующего транзитного узла, через интерфейс, ассоциированный с логическим адресом 10.1.1.1.




ARP

h



  • Таблица кэша ARP используется для обнаружения следующего транзитного узла в канале данных.

  • Неизвестный транзитный узел генерирует запрос ARP.


После обнаружения рационального маршрута к запланированной сети назначения должен быть обнаружен физический транзитный узел, на который будет передан кадр. За это отвечает стек протоколов TCP/IP, и данная операция выполняется до начала инкапсуляции пакетов. На первом шаге определяется существование физического пути к данному транзитному узлу, и этот шаг является частью процесса обнаружения пути.

Для этого необходимо по записям таблицы кэша ARP определить наличие связи между запланировавнным транзитным узлом и физическим путем. В приведенном примере в таблице кэша ARP запись адреса шлюза транзитного узла присутствует. Если запись не будет найдена, необходимо инициировать протокол определения адреса (ARP), который должен обнаружить и определить физический путь.



Инкапсуляция TCP


d



  • Инкапсуляция выполняется после подтверждения пути.


При завершении обнаружения как логического, так и физического путей, данные инкапсулируются для последующей передачи по сетям IP/Ethernet. Инкапсуляция на транспортном уровне, во время которой определяются порты источника и назначения, через которые должны передаваться данные верхнего уровня, выполняется после процессов верхнего уровня с точки зрения шифрования и сжатия.

В случае с TCP, заполняются поля, отведенные под значения порядкового номера и номера подтверждения, управляющие биты (флаги) устанавливаются по необходимости с флагом ACK. Поле окна заполняется поддерживаемым в данным момент размером окна, при этом, хост сообщает максимальный размер данных, который может поддерживаться, до подтверждения данных.

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


Инкапсуляция IP

s

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

Фрагментация выполняется только в случае изменения MTU в процессе следования по пути передачи. Поле «время жизни» будет заполнено установленным значением в зависимости от системы. В маршрутизаторах серии ARG3 установлено начальное значение 255. Поле «протокол» заполняется значением типа протокола, инкапсулированного до IP. В этом случае протоколом является TCP, для которого заголовок IP внесет в поле «протокол» значение 0x06, означающее команду для следующей обработки заголовка. Поля «IP-адрес источника» и «IP-адрес пункта назначения» будут содержать адреса отправителя и получателя.


Кадрирование Ethernet

g



  • Тип кадра зависит от инкапсулированных протоколов.

  • IP - это протокол верхнего уровня, поэтому используется кадр Ethernet II.



Инкапсуляция канального уровня, основанная на стандартах IEEE 802.3 Ethernet, предназначена для физической передачи данных верхнего уровня по сетям Ethernet. Инкапсуляция на нижних уровнях выполняется с предварительным определением используемого типа кадра.

Если значение типа протокола верхнего уровня превышает 1536 (0x0600), как это имеет место в случае с IP (0x0800), используется тип кадра Ethernet II. Поле «тип» заголовка кадра Ethernet II заполняется значением 0x0800, которое указывает на следующий протокол, который будет обрабатываться после обработки кадра - IP. MAC-адрес назначения определяет следующий физический транзитный узел, который в данном случае представляет собой сетевой шлюз.




Передача кадров

s


  • Для обнаружения для существующего трафика на канальном уровне используется метод опроса передающего канала.

  • Преамбула и SFD используются для синхронизации с передаваемым кадром.


В состав процедуры канального уровня входит операция проверки среды передачи, которая должна быть свободна от сигналов, передаваемых в общем домене коллизий. Хост сначала прослушивает любой трафик в сети (CSMA/CD) и, если линия свободна, готовится к передаче данных. Принимающий физический интерфейс должен быть информирован о входящем кадре. Это позволит избежать потери исходных битовых значений, в результате которых начальные кадры могут быть неполными. Таким образом, кадрам предшествует 64-разрядное значение, сообщающее пункту назначения канального уровня о предстоящем поступлении кадра.

Начальные 56 битов представляют собой шаблон, в котором чередуются 1, 0, называемый преамбулой, и за ним сразу же следует октет, служащий началом кадра (Start of Frame Delimiter; SFD). Последние два бита SFD изменяются от принятого шаблона (их комбинация 1,1). Это означает, что следующие биты являются первыми битами MAC-адреса назначения и, следовательно, началом кадра .


Обработка кадров

d


  • Кадр будет получен всеми узлами, находящимися в одном домене коллизий.

  • Обработку кадра будет выполнять только шлюз (RTA).



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

Кадры, полученные запланированным пунктом назначения, будут проходить проверку ошибок, во время которой будут вычислены добавочные значения на основе текущих полей кадра и затем сравнены со значением в поле Frame Check Sequence (FCS). Если значения не совпадут, кадр будет отброшен. Промежуточная и конечная системы, получившие действительный кадр, должны определить, предназначен ли даный кадр для их физического интерфейса, сравнив MAC-адрес назначения с MAC-адресом интерфейса (или устройства в некоторых случаях).

Если адреса совпадут, кадр будет обработан, и для определения следующего заголовка, подлежащего обработке, будет использовано поле «тип». После определения следующего заголовка данные заголовок и хвостовая часть кадра отбрасываются.



Обработка пакетов

s


  • IP-адрес назначения сравнивается с адресом шлюза.

  • После процесса обнаружения создается новый заголовок кадра.



Пакет принимается сетевым уровнем, и в частности IP, на котором обрабатывается заголовок IP. Значение контрольной суммы присутствует на каждом уровне стека протоколов, обеспечивая целостность на всех уровнях для всех протоколов. IP-адрес назначения используется для определения, достиг ли пакет конечного получателя. Однако шлюз определяет, что это не так, так как IP-адрес назначения и IP-адрес шлюза не совпадают.

Поэтому шлюз должен определить план действий с точки зрения перенаправления пакета на альтернативный интерфейс и переслать пакет в сеть, которой он предназначен. Во-первых, шлюз должен убедиться, что значение TTL не достигло 0 и что размер пакета не превышает максимального значения блока передачи для шлюза. В случае, если пакет больше, чем значение MTU шлюза, запускается процесс фрагментации.

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



Декапсуляция кадра

s


  • Кадр передается с MAC-адресом пункта назначения сервера A.

  • Сервер A сравнивает MAC-адрес интерфейса с MAC-адресом пункта назначения кадра.


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

Кадр в конечном счете отбрасывается сервером B, так как MAC-адрес пункта назначения и MAC-адрес интерфейса сервера B не совпадают. Однако сервер A успешно получает кадр и узнает, что значения полей MAC-адресов одинаковы, целостность кадра в соответствии с полем FCS сохранена. В поле «тип» кадра будет указано значение 0x0800 следующего заголовка, после чего заголовок и хвостовая часть кадра отбрасываются и пакет принимается IP.


Декапсуляция пакетов

d



  • Сервер A сравнивает собственный IP-адрес с адресом назначения, содержащимся в заголовке IP.

  • Заголовок IP обрабатывается и отбрасывается, данные направляются в TCP.


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

Если во время передачи между источником и пунктом назначения имела место фрагментация, пакет на данном этапе должен пройти повторную сборку. Поле «идентификация» будет содержать фрагменты, принадлежащие одному источнику данных. По смещению фрагментов можно будет определить порядок. Поле «флаги» будет содержать информацию, когда должна начаться повторная сборка, поскольку все фрагменты должны быть получены, а фрагмент с флагом 0 будет считаться последним полученным фрагментом.

Затем запускается таймер, в течение которого необходимо выполнить повторную сборку, и если повторная сборка завершится в течение этого периода времени, все фрагменты будут отброшены. Поле «протокол» будет использовано для идентификации следующего заголовка, подлежащего обработке, и заголовок пакета будет отброшен. Следует отметить, что следующий заголовок не всегда может быть заголовком транспортного уровня, например в случае с ICMP, который рассматривается как протокол сетевого уровня со значением поля «протокол», равным 0x01.


Декапсуляция сегмента

s



  • Заголовок TCP создает соединение с портом назначения 80.

  • Параметры в заголовке TCP используются для управления соединением.


В случае отбрасывания заголовка пакета результирующий сегмент или датаграмма передается на транспортный уровень для обработки по принципу «приложение-приложение». Информация заголовка поступает в данном случае по TCP (0x06).

В приведенном примере соединение TCP уже установлено, и сегмент представляет собой подтверждение передачи HTTP-трафика с сервера HTTP на принимающий хост. Хост представлен портом 1027, который служит для отличия HTTP-соединений, которые могут существовать между одним и тем же хостом и сервером назначения. При получении этого подтверждения, HTTP-сервер продолжит пересылку в пределах размера окна хоста.


Заключение

  • Какая информация требуется до инкапсуляции данных?

  • Что происходит, когда кадр пересылается в пункт назначения, которому он не предназначен?

  • Как данные в кадре в конечном итоге доходят до приложения, для которого они предназначены?

  • Как возвращаемые данные достигают правильного сеанса в случае, если активны неколько сеансов одного и того же приложения (например, несколько веб-браузеров)?


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

2.Любой кадр, получаемый шлюзом или конечной системой (хостом), которой он не предназначен, отбрасывается после проверки MAC-адреса назначения в заголовке кадра. 

3.При доставке данных учитывается номер порта назначения в заголовках TCP и UDP, который определяет приложение, которому предназначены данные. После анализа этого значения протоколами TCP или UDP данные пересылаются. 

4.Порт источника в заголовке TCP, предназначенный для передачи HTTP-трафика, отличается в разных активных сеансах приложений. На основе этого номера HTTP-трафик, возвращаемый с сервера HTTP, идентифицирует каждый отдельный сеанс браузера. Например, портами источника двух отдельных запросов на HTTP-трафик, поступающих из источника с IP-адресом 10.1.1.1, могут быть портЫ с номерами 1028 и 1035, однако порт назначения в обоих случаях остается портом 80, сервером HTTP.

  • x

Комментарий

Отправить
Выполните вход в систему, чтобы ответить на пост. Вход | Регистрация

Внимание Внимание! В целях защиты правовых интересов Вас, сообщества и третьих лиц, не публикуйте любой материал, содержащий политические высказывания, порнографию, упоминание азартных игр, употребление наркотиков, а также материал, нарушающий коммерческую тайну или содержащий персональные данные пользователей. Также не предоставляйте данные от вашей учетной записи. Вы будете нести ответственность за все действия, выполняемые под вашим аккаунтом. Подробная информация: “Политика конфиденциальности..”
Если кнопка вложения недоступна, обновите Adobe Flash Player до последней версии.
Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Вход