УСТРОЙСТВО И СПОСОБ ПЕРЕДАЧИ ДАННЫХ И ОБОРУДОВАНИЕ, РАЗМЕЩЕННОЕ У КЛИЕНТА
DATA TRANSMISSION DEVICE AND METHOD AND EQUIPMENT LOCATED AT CLIENT

Область техники, к которой относится изобретение
Настоящая заявка относится к области технологий связи и, в частности, к способу и устройству передачи данных и к оборудованию, размещенному у клиента.
Уровень техники
Протокол управления передачей (Transmission Control Protocol, TCP) является протоколом связи транспортного уровня, ориентированным на соединение, надежным и основанным на байтовом потоке. В настоящее время большинство данных в мобильной сети передается, используя протокол TCP. Из-за дополнительной задержки (от 10 до 30 мс) и различий в характеристиках передачи мобильной сети и стационарной сети характеристики носителя мобильной сети по протоколу TСP являются относительно плохими. Например, потеря пакетов радиоинтерфейса вынуждает передающую сторону выполнять быструю повторную передачу или передачу с ожиданием и окно перегрузки делится пополам или устанавливается в исходное состояние на начальное значение. Соответственно, скорость передачи данных снижается.
Эта проблема является более острой при передаче данных, в которой принимает участие транзитный узел маршрутизации. В ситуации передачи данных, в которой участвует транзитный узел маршрутизации, например, когда оконечное устройство передает данные с помощью сервера приложений, используя оборудование, расположенное на территории клиента, (Customer Premises Equipment, CPE), и беспроводные соединения содержат соединение Wireless Fidelity (Wireless Fidelity, Wi-Fi) между терминалом и CPE и соединение радиоинтерфейса между CPE и узлом сети радиодоступа (Radio Access Network, RAN), как потери пакетов, так и задержки передачи между терминалом и CPE и между CPE узлом RAN вызывают ухудшение производительности передачи по протоколу TCP.
Обычно, когда передача данных по протоколу TCP выполняется между CPE и узлом RAN, пакет передается на уровне управления линии радиосвязи (Radio link Control, RLC) и на уровне управления доступом к среде (Media Access Control, MAC) и коэффициент потери пакетов может контролироваться на уровне 0,1%. Коэффициент потери пакетов является относительно низким и, в целом, не оказывает никакого влияния на производительность передачи по протоколу TCP. Однако, когда передача данных по протоколу TCP выполняется между терминалом и CPE через Wi-Fi, для несанкционируемой сетевой связи используется полоса частот ISM (2,4 ГГц/5 ГГц). В этом случае в одной и той же области существует множество внутриканальных помех: точки доступа создают помехи друг другу и большое количество других беспроводных устройств (таких как микроволновая печь и дистанционное управление), работающих в полосе частот 2,4 ГГц/5 ГГц, также могут создавать помехи друг другу. Кроме того, на качество соединения Wi-Fi также влияют расстояния, препятствия, нагрузки на устройства и различия в устройствах. Следовательно, когда передача данных по протоколу TCP выполняется между терминалом и CPE через Wi-Fi, коэффициент потери пакетов становится относительно высоким и сервер приложений нуждается в повторной передаче пакета. При повторной передаче пакета сервером приложений ресурсы радиоинтерфейса оказываются занятыми. Более того, из-за потери пакетов сервер приложений может делить окно передачи по протоколу TCP пополам или устанавливать окно передачи по протоколу TCP в исходное состояние на начальное значение, поскольку количество передач пакета подтверждения приема по протоколу TCP достигает порогового значения. Это отрицательно влияет на производительность передачи по протоколу TCP.
Раскрытие сущности изобретения
Варианты осуществления настоящей заявки обеспечивают способ и устройство передачи данных и оборудование, размещенное у клиента, для повышения производительности передачи по протоколу TCP, когда передача данных по протоколу TCP выполняется между терминалом и CPE через Wi-Fi.
В соответствии с первым подходом, обеспечивается способ передачи данных. В описываемом способе CPE принимает данные нисходящего пакета, переданные сетевым устройством, сохраняет принятый первый нисходящий пакет и создает и сохраняет контекстный ввод принятого первого нисходящего пакета. CPE передает принятый первый нисходящий пакет на терминал и когда подтверждение приема пакета, переданное терминалом для первого нисходящего пакета, принято, обновляет контекстный ввод первого нисходящего пакета. CPE, основываясь на контекстном вводе первого нисходящего пакета, определяет, нуждается ли первый нисходящий пакет в повторной передаче, и если принято решение, что первый нисходящий пакет нуждается в повторной передаче, повторно передает терминалу сохраненный первый нисходящий пакет. CPE, основываясь на контекстном вводе первого нисходящего пакета, определяет, требуется ли стирание хранящегося стираемого нисходящего пакета, и хранящегося контекстного ввода стираемого нисходящего пакета, и если принято решение, что хранящийся стираемый нисходящий пакет и хранящийся контекстный ввод стираемого нисходящего пакета необходимо стереть, стирает стираемый нисходящий пакет и контекстный ввод стираемого нисходящего пакета, которые хранятся в CPE.
Стираемый нисходящий пакет и первый нисходящий пакет принадлежат к одной и той же линии радиосвязи, работающей по протоколу управления передачей TCP, и порядковый номер по протоколу TCP нисходящего пакета, который должен стираться, меньше, чем порядковый номер по протоколу TCP первого нисходящего пакета.
В этом варианте осуществления настоящей заявки CPE принимает и сохраняет первый нисходящий пакет, переданный сетевым устройством, создает и сохраняет контекстный ввод первого нисходящего пакета, принимает пакет подтверждения приема, переданный терминалом для первого нисходящего пакета, обновляет контекстный ввод первого нисходящего пакета, основываясь на пакете подтверждения приема, и определяет, основываясь на введенном контексте первого нисходящего пакета, нуждается ли первый нисходящий пакет в повторной передаче и требуется ли выполнение стирания. Если терминал требует от сетевого устройства повторной передачи первого нисходящего пакета, то CPE повторно передает терминалу хранящийся первый нисходящий пакет, чтобы уменьшить занятость ресурсов радиоинтерфейса, вызванную повторной передачей пакета, выполняемой сетевым устройством, экономя, таким образом, ресурсы радиоинтерфейса. Это также исключает влияние на производительность передачи по протоколу TCP, которое вызывается делением сетевым устройством окна передачи по протоколу TCP пополам или установкой сетевым устройством окна передачи по протоколу TCP в исходное состояние на начальное значение, повышая, таким образом, производительность передачи по протоколу TCP. В этом варианте осуществления настоящей заявки стирание запомненного стираемого нисходящего пакета и запомненного контекстного ввода стираемого нисходящего пакета может освобождать буфер CPE.
Контекстный ввод первого нисходящего пакета может содержать идентификатор первого нисходящего пакета и порядковый номер первого нисходящего пакета, который определяется CPE, основываясь на принятой последовательности первого нисходящего пакета. Идентификатор первого нисходящего пакета содержит порядковый номер по протоколу TCP и может дополнительно содержать IP-адрес источника, номер порта источника, номер порта места назначения или номер версии. Контекстный ввод первого нисходящего пакета может дополнительно содержать подсчет пакетов подтверждения приема для первого нисходящего пакета и количество повторных передач первого нисходящего пакета, номер кадра для кадра на уровне MAC и т.п.
В возможной схеме, перед сохранением принятого первого нисходящего пакета CPE может определить, требуется ли сохранение первого нисходящего пакета, и сохранить первый нисходящий пакет при принятии решения, что первый нисходящий пакет нуждается в сохранении. При реализации CPE может определить, является ли принятый первый нисходящий пакет пакетом по протоколу TCP, и определить, является ли размер буфера CPE меньшим, чем заданный размер буфера, и если определено, что первый нисходящий пакет является пакетом по протоколу TCP и что размер буфера CPE меньше заданного размера буфера, то принять решение, что первый нисходящий пакет нуждается в сохранении. В другой реализации, если определено, что первый нисходящий пакет является пакетом по протоколу TCP и что размер буфера CPE равен заданному размеру буфера и в буферированных нисходящих пакетах существует второй нисходящий пакет с приоритетом обслуживания, который ниже приоритета обслуживания принятого первого нисходящего пакета, CPE может принять решение, что принятый первый нисходящий пакет нуждается в буферировании.
В другой возможной схеме контекстный ввод первого нисходящего пакета содержит порядковый номер первого нисходящего пакета, идентификатор первого нисходящего пакета и подсчет пакетов подтверждения приема первого нисходящего пакета и идентификатор первого нисходящего пакета содержит порядковый номер по протоколу TCP. Если пакет подтверждения приема, который передается терминалом для первого нисходящего пакета и который принимается CPE, является пакетом подтверждения приема по протоколу TCP, CPE увеличивает на 1 значение подсчета пакетов подтверждения приема в контекстном вводе первого нисходящего пакета, чтобы обновить контекстный ввод первого нисходящего пакета. Если CPE определяет, что значение подсчета пакетов подтверждения приема первого нисходящего пакета равно заданному значению подсчета пакетов подтверждения приема, или определяет, что пакет по протоколу TCP не запомнен в CPE, CPE принимает решение, что другой первый нисходящий пакет и контекстный ввод другого первого нисходящего пакета, которые запомнены в CPE, требуют стирания, причем другой первый нисходящий пакет действует на той же самой линии радиосвязи по протоколу TCP, что и первый нисходящий пакет, и имеет порядковый номер по протоколу TCP, меньший, чем порядковый номер по протоколу TCP для первого нисходящего пакета.
В возможной реализации, если CPE определяет, что значение подсчета пакетов подтверждения приема первого нисходящего пакета равно первому пороговому значению повторных передач, то CPE принимает решение, что первый нисходящий пакет нуждается в повторной передаче. После того, как CPE повторно передаст терминалу запомненный первый нисходящий пакет, CPE устанавливает на 0 значение подсчета пакетов подтверждения приема для первого нисходящего пакета.
В другой возможной реализации после обновления контекстного ввода первого нисходящего пакета, если CPE определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета равно первому промежуточному пороговому значению, CPE направляет пакет подтверждения приема по протоколу TCP сетевому устройству.
В еще одной другой возможной реализации, если CPE определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета больше второго порогового значения повторной передачи, то CPE принимает решение, что первый нисходящий пакет нуждается в повторной передаче.
В еще одной другой возможной реализации после обновления контекстного ввода первого нисходящего пакета, если определяют, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета больше значения второго порогового значения повторной передачи, CPE определяет, является ли значение подсчета пакетов подтверждения приема меньшим, чем второй промежуточный порог; и если значение подсчета пакетов подтверждения приема меньше второго промежуточного порогового значения, CPE запоминает пакет подтверждения приема по протоколу TCP. Если значение подсчета пакетов подтверждения приема первого нисходящего пакета не меньше второго промежуточного порогового значения, CPE посылает все запомненные пакеты подтверждения приема по протоколу TCP для первого нисходящего пакета сетевому устройству; или, если CPE определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета не меньше второго промежуточного порогового значения и что значение подсчета пакетов подтверждения приема для первого нисходящего пакета является положительным целым числом, кратным второму промежуточному пороговому значению, CPE посылает сетевому устройству командную информацию, где командная информация используется для подачи сетевому устройству команды не уменьшать окно передачи по протоколу TCP.
В еще одной другой схеме контекстный ввод первого нисходящего пакета содержит порядковый номер первого нисходящего пакета, идентификатор первого нисходящего пакета, номер кадра для кадра уровня МАС управления доступом к носителю, в который инкапсулируется первый нисходящий пакет, подсчет повторных передач первого нисходящего пакета и флаговый бит, указывающий, успешно ли передан первый нисходящий пакет, и идентификатор первого нисходящего пакета содержит порядковый номер по протоколу TCP. Если пакет подтверждения приема, передаваемый терминалом для первого нисходящего пакета и который принимается CPE, является пакетом ACK на уровне MAC, флаговый бит, используемый для указания, успешно ли передан первый нисходящий пакет, устанавливается для указания, что первый нисходящий пакет был передан успешно. Если пакет подтверждения приема, который передается терминалом для первого нисходящего пакета и который принимается CPE, является пакетом NACK отрицательного подтверждения приема на уровне MAC и количество повторных передач кадра MAC, соответствующего пакету NACK на уровне MAC, достигло максимального количества повторных передач на уровне MAC, значение подсчета повторных передач в контекстном вводе первого нисходящего пакета увеличивается на 1. Если CPE определяет, что флаговый бит, указывающий, успешно ли передан первый нисходящий пакет, устанавливается для указания того, что первый нисходящий пакет был успешно передан, CPE принимает решение, что другой первый нисходящий пакет и контекстный ввод другого первого нисходящего пакета, которые сохранены в CPE, требуют стирания, причем другой первый нисходящий пакет действует на той же самой линии радиосвязи по протоколу TCP, что и первый нисходящий пакет, и имеет порядковый номер по протоколу TCP меньший, чем порядковый номер по протоколу TCP для первого нисходящего пакета. Если CPE определяет, что значение подсчета повторных передач больше третьего порогового значения повторной передачи, то CPE принимает решение, что первый нисходящий пакет нуждается в повторной передаче. После того, как CPE повторно передаст терминалу первый нисходящий пакет, CPE обновляет номер кадра MAC уровня в контекстном вводе с помощью нового номера кадра на уровне MAC после инкапсуляции на уровне MAC.
В возможной реализации после обновления контекстного ввода первого нисходящего пакета, если определяют, что значение подсчета повторных передач больше третьего промежуточного порогового значения, CPE определяет, является ли значение подсчета повторных передач меньшим третьего промежуточного порогового значения; и если значение подсчета повторных передач меньше третьего промежуточного порогового значения, CPE сохраняет пакет подтверждения приема по протоколу TCP для первого нисходящего пакета. Если значение подсчета повторных передач не меньше третьего промежуточного порогового значения, CPE передает все сохраненные пакеты подтверждения приема по протоколу TCP для первого нисходящего пакета сетевому устройству; или, если CPE определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета не меньше третьего промежуточного порогового значения и что значение подсчета пакетов подтверждения приема для первого нисходящего пакета является положительным целым числом, кратным третьему промежуточному пороговому значению, CPE передает сетевому устройству командную информацию, где командная информация используется для подачи сетевому устройству команды не уменьшать окно передачи по протоколу TCP.
В еще одной другой возможной схеме после сохранения первого нисходящего пакета CPE формирует пакет подтверждения приема по протоколу TCP для запомненного первого нисходящего пакета и передает пакет подтверждения приема по протоколу TCP сетевому устройству.
После передачи сетевому устройству пакета подтверждения приема по протоколу TCP для первого нисходящего пакета, если принимают пакет подтверждения приема по протоколу TCP, переданный терминалом для первого нисходящего пакета, CPE отказывает в приеме пакета подтверждения приема по протоколу TCP, переданного терминалом для первого нисходящего пакета.
В соответствии со вторым подходом, обеспечивается устройство передачи данных. Устройство передачи данных имеет функции для реализации CPE, имеющиеся в вышеупомянутом первом подходе. Функции могут быть реализованы аппаратурными средствами или могут быть реализованы посредством выполнения соответствующего программного обеспечения аппаратурными средствами. Аппаратурные средства или программное обеспечение содержат один или более модулей, соответствующих перечисленным выше функциям. Модули могут быть программными и/или аппаратурными.
В возможной схеме устройство передачи данных содержит приемный блок, буферный блок, процессорный блок и передающий блок. Функции приемного блока, буферного блока, процессорного блока и передающего блока могут соответствовать этапам способа. Подробности здесь повторно не описываются.
В другой возможной схеме приемный блок может быть приемником, буферный блок может быть памятью, процессорный блок может быть процессором и передающий блок может быть передатчиком. Если приемный блок является приемником, буферный блок является памятью, процессорный блок является процессором и передающий блок является передатчиком, то устройство передачи данных может быть оборудованием, расположенным на территории клиента. Оборудование, расположенное на территории клиента, содержит приемник, память, процессор и передатчик. Память выполнена с возможностью запоминания команды, а процессор выполнен с возможностью исполнения команды, запомненной в памяти, чтобы реализовывать функции вышеупомянутого процессорного блока и управлять приемником, памятью и передатчиком для реализации соответствующих функций вышеупомянутых приемного блока, буферного блока и передающего блока.
В соответствии со способом и устройством передачи данных и оборудованием, размещенным у клиента, которые представляются в настоящей заявке, оборудование, размещенное у клиента, принимает и сохраняет первый нисходящий пакет, переданный сетевым устройством, создает и сохраняет введенный контекстный ввод первого нисходящего пакета, принимает пакет подтверждения приема, посланный терминалом для первого нисходящего пакета, обновляет контекстный ввод первого нисходящего пакета, основываясь на пакете подтверждения приема, и, основываясь на контекстном вводе первого нисходящего пакета, принимает решение, нуждается ли первый нисходящий пакет в повторной передаче и требуется ли выполнение стирания. Если терминал требует от сетевого устройства повторной передачи первого нисходящего пакета, то оборудование, размещенное у клиента, повторно передает терминалу хранящийся первый нисходящий пакет, чтобы уменьшить занятость ресурсов радиоинтерфейса, вызванную повторной передачей пакета, выполняемой сетевым устройством, экономя, таким образом, ресурсы радиоинтерфейса. Это также исключает влияние на производительность передачи по протоколу TCP, которое вызывается делением сетевым устройством окна передачи по протоколу TCP пополам или установкой сетевым устройством окна передачи по протоколу TCP в исходное состояние на начальное значение, повышая, таким образом, производительность передачи по протоколу TCP. В этом варианте осуществления настоящей заявки стирание хранящегося стираемого нисходящего пакета и сохраненного контекстного ввода стираемого нисходящего пакета может освобождать буфер CPE.
Краткое описание чертежей
Фиг. 1 - схема архитектуры системы, в которой применяется способ передачи данных, соответствующий настоящей заявке;
фиг. 2 - блок-схема последовательности выполнения операций при реализации способа передачи данных, соответствующего настоящей заявке;
фиг. 3 - блок-схема последовательности выполнения операций при реализации способа передачи данных, соответствующего первому варианту осуществления настоящей заявки;
фиг. 4А и 4В - блок-схема последовательности выполнения операций при реализации способа передачи данных в соответствии со вторым вариантом осуществления настоящей заявки;
фиг. 5А и 5В - блок-схема последовательности выполнения операций при реализации способа передачи данных в соответствии со вторым вариантом осуществления настоящей заявки;
фиг. 6 - другая блок-схема последовательности выполнения операций при реализации способа передачи данных, соответствующего настоящей заявке;
фиг. 7 - схематичная структурная схема устройства передачи данных, соответствующего настоящей заявке; и
фиг. 8 - структурная схема оборудования, расположенного на территории клиента, соответствующего настоящей заявке.
Осуществление изобретения
Ниже варианты осуществления настоящей заявки описываются со ссылкой на сопроводительные чертежи.
Способ передачи данных, представленный в вариантах осуществления настоящей заявки, может применяться к системе, в которой беспроводная передача данных выполняется, используя транзитный узел маршрутизации. Сторона приема данных и сторона передачи данных обмениваются данными через Wi-Fi, RAN и базовую сеть. Соединение по протоколу TCP устанавливается между стороной приема данных и стороной передачи данных и данные передаются, используя протокол TCP. Например, как показано на фиг. 1, терминал и сервер приложений обмениваются данными, причем терминал соединяется с транзитным узлом маршрутизации, таким как CPE, и транзитный узел маршрутизации, такой как CPE, получает доступ к узлу RAN через радиоинтерфейс и соединяется с сервером приложений через базовую сеть. Беспроводное соединение между терминалом и транзитным узлом маршрутизации, таким как CPE, может упоминаться как соединение Wi-Fi, а беспроводное соединение между транзитным узлом маршрутизации, таким как CPE, и RAN может упоминаться как радиоинтерфейсное соединение RAN, и сеть между RAN и сетевым устройством является проводной сетью, которая может также упоминаться как проводное соединение. Линия радиосвязи по протоколу TCP может устанавливаться между сетевым устройством и терминалом и по ней осуществляется передача данных.
Варианты осуществления настоящей заявки представляют способ передачи данных. CPE принимает и запоминает нисходящий пакет, посланный сетевым устройством и, если принято решение, что терминал требует от сетевого устройства повторной передачи нисходящего пакета, то CPE повторно передает терминалу запомненный нисходящий пакет, чтобы избежать или уменьшить занятость ресурсов радиоинтерфейса, вызванную повторной передачей пакета, выполняемой сетевым устройством (сервером приложений или узлом RAN), экономя, таким образом, ресурсы радиоинтерфейса. CPE посылает сетевому устройству положительную информацию обратной связи, указывающую, что нисходящий пакет принят правильно, чтобы исключить влияние на производительность передачи по протоколу TCP из-за потери пакета, которое вызывается делением пополам окна передачи по протоколу TCP сетевым устройством или установкой сетевым устройством окна передачи по протоколу TCP в исходное состояние на начальное значение, повышая, таким образом, производительность передачи по протоколу TCP.
На фиг. 2 показана блок-схема последовательности выполнения операций способа передачи данных, соответствующего варианту осуществления настоящей заявки. Способ, показанный на фиг. 2, может выполняться транзитным узлом маршрутизации, таким как CPE, компонентом транзитного узла маршрутизации, такого как CPE, или другим функциональным объектом, обладающим соответствующей функцией. В этом варианте осуществления представленной заявки это ничем не ограничивается. Ниже для описания просто используется пример, в котором способ выполняется посредством CPE. Как показано на фиг. 2, способ содержит следующие этапы.
S101: CPE принимает первый нисходящий пакет, посланный сетевым устройством.
S102: CPE запоминает принятый первый нисходящий пакет и создает и сохраняет контекстный ввод принятого первого нисходящего пакета.
В варианте осуществления настоящей заявки перед запоминанием принятого первого нисходящего пакета CPE может определить, требуется ли запоминание первого нисходящего пакета, и запомнить первый нисходящий пакет при принятии решения, что первый нисходящий пакет нуждается в запоминании.
В этом варианте осуществления настоящей заявки, чтобы предотвратить влияние других услуг CPE, когда CPE выполняет способ передачи данных, представленный в настоящей заявке, в CPE заранее может быть установлен буфер для запоминания первого нисходящего пакета и размер буфера может быть задан заранее.
В этом варианте осуществления настоящей заявки описание делается, используя пример, в котором первый нисходящий пакет является пакетом по протоколу TCP. CPE может определить, нуждается ли в запоминании принятый первый нисходящий пакет, используя нижеследующие способы.
В варианте осуществления CPE может определить, является ли принятый первый нисходящий пакет пакетом по протоколу TCP, и определить, является ли размер буфера CPE меньшим заданного размера буфера, и если определено, что первый нисходящий пакет является пакетом по протоколу TCP и что размер буфера CPE меньше заданного размера буфера, принять решение, что первый нисходящий пакет нуждается в запоминании.
При другой реализации, если определено, что первый нисходящий пакет является пакетом по протоколу TCP и что размер буфера CPE равен заданному размеру буфера и в буферированных нисходящих пакетах существует второй нисходящий пакет с приоритетом обслуживания, который ниже приоритета обслуживания принятого первого нисходящего пакета, CPE может принять решение, что принятый первый нисходящий пакет нуждается в буферировании. В такой реализации, когда первый нисходящий пакет запоминается, пакет с самым низким приоритетом обслуживания в буфере может быть перезаписан.
В этом варианте осуществления настоящей заявки контекстный ввод первого нисходящего пакета может содержать идентификатор первого нисходящего пакета и порядковый номер первого нисходящего пакета, который определяется CPE, основываясь на принятой последовательности первого нисходящего пакета. Идентификатор первого нисходящего пакета содержит порядковый номер по протоколу TCP и может дополнительно содержать IP-адрес источника, номер порта источника, номер порта места назначения или номер версии. Контекстный ввод первого нисходящего пакета может дополнительно содержать подсчет пакетов подтверждения приема для первого нисходящего пакета (например, количество приемов пакета подтверждения приема по протоколу TCP для первого нисходящего пакета), количество повторных передач первого нисходящего пакета, номер кадра для кадра на уровне MAC и т.п.
S103: CPE посылает принятый первый нисходящий пакет на терминал, принимает пакет подтверждения приема, посланный терминалом для первого нисходящего пакета, и обновляет контекстный ввод первого нисходящего пакета.
В настоящей заявке обновление контекстного ввода первого нисходящего пакета, выполняемое CPE, обновляет, главным образом, подсчет пакетов подтверждения приема первого нисходящего пакета, количество повторных передач первого нисходящего пакета, номер кадра для кадра на уровне MAC и т.п.
S104: CPE, основываясь на контекстном вводе первого нисходящего пакета, определяет, нуждается ли первый нисходящий пакет в повторной передаче, и если принято решение, что первый нисходящий пакет нуждается в повторной передаче, то повторно передает терминалу запомненный первый нисходящий пакет, обновляет запомненный контекстный ввод первого нисходящего пакета и может дополнительно послать сетевому устройству пакет подтверждения приема или послать сетевому устройству командную информацию не уменьшать окно передачи.
В варианте осуществления настоящей заявки, если определено, что первый нисходящий пакет не нуждается в повторной передаче, и определено, что первый нисходящий пакет принят терминалом правильно, CPE может стереть запомненный стираемый нисходящий пакет и запомненный контекстный ввод стираемого нисходящего пакета и может дополнительно послать сетевому устройству информацию обратной связи, что первый нисходящий пакет был принят правильно. Стираемый нисходящий пакет и первый нисходящий пакет принадлежат к одной и той же линии радиосвязи, работающей по протоколу управления передачей TCP и порядковый номер по протоколу TCP для стираемого нисходящего пакета меньше, чем порядковый номер по протоколу TCP для первого нисходящего пакета.
S105: CPE, основываясь на контекстном вводе первого нисходящего пакета, определяет, требуется ли стирание запомненного стираемого нисходящего пакета и запомненного контекстного ввода стираемого нисходящего пакета и, если принято решение, что запомненный стираемый нисходящий пакет и запомненный контекстный ввод стираемого нисходящего пакета необходимо стереть, стирает стираемый нисходящий пакет и контекстный ввод стираемого нисходящего пакета, которые запомнены в CPE.
В этом варианте осуществления настоящей заявки CPE принимает и запоминает первый нисходящий пакет, посланный сетевым устройством, создает и сохраняет введенный контекст первого нисходящего пакета, принимает пакет подтверждения приема, посланный терминалом для первого нисходящего пакета, обновляет контекстный ввод первого нисходящего пакета, основываясь на пакете подтверждения приема, и определяет, основываясь на контекстном вводе первого нисходящего пакета, нуждается ли первый нисходящий пакет в повторной передаче и требуется ли выполнение стирания. Если терминал требует от сетевого устройства повторной передачи первого нисходящего пакета, то CPE повторно передает терминалу запомненный первый нисходящий пакет, чтобы уменьшить занятость ресурсов радиоинтерфейса, вызванную повторной передачей пакета, выполняемой сетевым устройством, экономя, таким образом, ресурсы радиоинтерфейса. Это также исключает влияние на производительность передачи по протоколу TCP, которое вызывается делением пополам сетевым устройством окна передачи по протоколу TCP или установкой сетевым устройством окна передачи по протоколу TCP в исходное состояние на начальное значение, повышая, таким образом, производительность передачи по протоколу TCP. В этом варианте осуществления настоящей заявки стирание запомненного стираемого нисходящего пакета и запомненного контекстного ввода стираемого нисходящего пакета может освобождать буфер CPE.
В этом варианте осуществления настоящей заявки, когда контекстный ввод первого нисходящего пакета содержит другой контент, CPE использует другие способы обработки в процессе обработки при передаче данных. Например, CPE обновляет контекстный ввод другими способами и другими способами определяет, нуждается ли первый нисходящий пакет в повторной передаче.
Ниже описывается конкретный процесс реализации способа передачи данных, используемого в настоящей заявке, со ссылкой на конкретные варианты осуществления.
Первый вариант осуществления настоящей заявки, где первый нисходящий пакет является пакетом по протоколу TCP и контекстный ввод содержит контекстный ввод, показанный в таблице 1, используется для описания в качестве примера.
Таблица 1
Порядковый номер первого нисходящего пакета
Идентификатор первого нисходящего пакета
Подсчет пакетов подтверждения приема (ACKNum) для первого нисходящего пакета
Значение из диапазонов порядковых номеров последовательности от 0 до N.Основываясь на принятой последовательности, CPE увеличивает порядковый номер пакета на 1 всякий раз, когда принимается пакет по протоколу TCP.
Идентификатор линии радиосвязи по протоколу TCP <IP-адрес источника, IP-адрес места назначения, номер порта источника, номер порта места назначения и версия>, порядковый номер по протоколу TCP и длина (Length)
Значение ACKNum является положительным целым числом в диапазоне [0, 3]. Начальное значение ACKNum равно 0. Подсчет увеличивается на 1 всякий раз, когда далее принимается пакет подтверждения приема пакета по протоколу TCP.
Следует заметить, что идентификатор первого нисходящего пакета в контекстном вводе, показанном в таблице 1, служит только в качестве примера для описания. В конкретной реализации идентификатор первого нисходящего пакета обязательно содержит порядковый номер по протоколу TCP и, как вариант, содержит другие параметры. Например, когда CPE определяет, что существует только линия радиосвязи по протоколу TCP, соответствующая CPE, идентификатор пакета должен содержать только SN по протоколу TCP (TCP SN), и не требует присутствия параметра идентификатора линии радиосвязи по протоколу TCP. Когда CPE определяет, что существует множество соединений по протоколу TCP, соответствующих CPE, и различные соединения по протоколу TCP имеют один и тот же самый номер IP-источника и один и тот же самый номер IP-места назначения и другие номера портов, идентификатор пакета требует присутствия в нем только номера порта источника, номера порта места назначения и TCP SN. Конечно, существуют и другие случаи и их подробности здесь не описываются.
На фиг. 3 показана блок-схема последовательности выполнения операций при реализации способа передачи данных, соответствующего первому варианту осуществления настоящей заявки. Как показано на фиг. 3, способ содержит следующие этапы.
S201: CPE принимает первый нисходящий пакет и принимает решение, что принятый первый нисходящий пакет нуждается в запоминании.
S202: CPE запоминает принятый первый нисходящий пакет и создает и сохраняет контекстный ввод принятого первого нисходящего пакета.
В этом варианте осуществления настоящей заявки после определения, что первый нисходящий пакет, посланный сетевым устройством, принят правильно, CPE создает и сохраняет контекстный ввод принятого первого нисходящего пакета.
S203: CPE принимает пакет подтверждения приема, посланный терминалом для первого нисходящего пакета, и если пакет подтверждения приема, посланный терминалом для первого нисходящего пакета и принятый CPE, является пакетом подтверждения приема по протоколу TCP, CPE увеличивает на 1 значение подсчета пакетов подтверждения приема в контекстном вводе первого нисходящего пакета, чтобы обновить контекстный ввод первого нисходящего пакета.
В этом варианте осуществления настоящей заявки после приема пакета подтверждения приема по протоколу TCP, посланного терминалом, CPE может получить из пакета подтверждения приема по протоколу TCP IP-источника, IP-места назначения, информацию о порте источника, порте места назначения и версии и порядковый номер подтверждения приема по протоколу TCP. CPE определяет идентификатор линии радиосвязи по протоколу TCP, основываясь на IP-адресе источника, IP-адресе места назначения, номере порта источника, номере порта места назначения и номере версии, а также контекстный ввод, содержащейся в таблице 1. IP-адрес источника, IP-адрес места назначения, порт источника и порт места назначения в пакете подтверждения приема по протоколу TCP противоречат IP-адресу источника, IP-адресу места назначения, порту источника и порту места назначения первого нисходящего пакета в контекстном вводе, содержащейся в таблице 1. CPE, основываясь на порядковом номере подтверждения приема по протоколу TCP, определяет первый нисходящий пакет, которой находится на этой линии радиосвязи по протоколу TCP и который соответствует пакету подтверждения приема по протоколу TCP. Если идентификаторы линии радиосвязи одинаковы, порядковый номер пакета подтверждения приема по протоколу TCP равен порядковому номеру по протоколу TCP.
В настоящей заявке после определения первого нисходящего пакета (Packet N), соответствующего принятому пакету подтверждения приема по протоколу TCP, CPE обновляет ACKNum в хранящемся контекстном вводе пакета N. Обновленный ACKNum равен обновляемому ACKNum плюс 1.
S204: CPE определяет, нуждается ли пакет N в повторной передаче.
В этом варианте осуществления настоящей заявки первый порог повторной передачи для запуска повторной передачи пакета N может быть установлен заранее. Когда значение подсчета пакетов подтверждения приема для первого нисходящего пакета равно первому пороговому значению повторной передачи, CPE принимает решение, что первый нисходящий пакет нуждается в повторной передаче, и обновляет запомненный контекстный ввод первого нисходящего пакета. Когда значение подсчета пакетов подтверждения приема для первого нисходящего пакета не равно первому пороговому значению повторной передачи, CPE принимает решение, что первый нисходящий пакет не нуждается в повторной передаче. Например, в этом варианте осуществления настоящей заявки первый порог повторной передачи устанавливается равным 3. Когда ACKNum=3, CPE принимает решение, что пакет N нуждается в повторной передаче и устанавливает на 0 значение подсчета пакетов подтверждения приема для первого нисходящего пакета. Когда ACKNum≠3, CPE принимает решение, что пакет N не нуждается в повторной передаче.
S205: CPE определяет, направлять ли пакет подтверждения приема по протоколу TCP сетевому устройству.
В этом варианте осуществления настоящей заявки первый промежуточный порог для направления пакета подтверждения приема по протоколу TCP может быть установлен заранее. Если определено, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета равно первому промежуточному пороговому значению, CPE может принять решение, что пакет подтверждения приема по протоколу TCP нуждается в направлении сетевому устройству, и направить пакет подтверждения приема по протоколу TCP сетевому устройству. Если определено, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета не равно первому промежуточному пороговому значению, CPE может принять решение, что пакет подтверждения приема по протоколу TCP не нуждается в направлении сетевому устройству. Количество первых промежуточных порогов не ограничивается 1 и может существовать множество первых промежуточных порогов. Например, в этом варианте осуществления настоящей заявки первый промежуточный порог может быть установлен на значение 1 и 3. Если ACKNum=1 или 3, CPE принимает решение, что пакет подтверждения приема по протоколу TCP нуждается в направлении сетевому узлу, и направляет пакет подтверждения приема по протоколу TCP сетевому устройству.
В возможной реализации первый заданный порог для того, чтобы не направлять пакета подтверждения приема по протоколу TCP, в этом варианте осуществления настоящей заявки может быть установлен альтернативно. Если CPE определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета не равно первому заданному пороговому значению для того, чтобы не направлять пакет подтверждения приема по протоколу TCP, CPE направляет пакет подтверждения приема по протоколу TCP сетевому устройству. Если CPE определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета равно первому заданному пороговому значению для того, чтобы не направлять пакет подтверждения приема по протоколу TCP, CPE не требуется направлять пакет подтверждения приема по протоколу TCP сетевому устройству. Например, в этом варианте осуществления настоящей заявки первый заданный порог для того, чтобы не направлять пакет подтверждения приема по протоколу TCP, устанавливают равным 2. Когда ACKNum≠2, CPE принимает решение, что пакет подтверждения приема по протоколу TCP нуждается в направлении сетевому устройству. Когда ACKNum=2, CPE не направляет пакет подтверждения приема по протоколу TCP сетевому устройству, а отказывает в приеме пакета подтверждения приема по протоколу TCP, так что сетевое устройство задерживает быструю повторную передачу пакета по протоколу TCP.
Установка первого порогового значения повторной передачи на этапе S204 и установка первого промежуточного порогового значения на этапе S205 предназначены для избежания ненужной повторной передачи в сценарии, в котором потерянный пакет по протоколу TCP может быть восстановлен посредством повторной передачи на уровне MAC.
S206: Если CPE определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета является заданным значением подсчета пакетов подтверждения приема, или определяет, что пакет TCP не запомнен в CPE, CPE стирает стираемый нисходящий пакет и контекстный ввод стираемого нисходящего пакета, которые запомнены в CPE.
В этом варианте осуществления настоящей заявки, если CPE определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета не является заданным значением подсчета пакетов подтверждения приема, или определяет, что пакет TCP запомнен в буфере CPE, CPE не стирает стираемый нисходящий пакет и контекстный ввод стираемого нисходящего пакета, которые запомнены в CPE.
Например, в этом варианте осуществления настоящей заявки заданное значение подсчета пакетов подтверждения приема устанавливается равным 1. Если ACKNum=1 или пакет N не находится в буфере, CPE стирает из буфера первый нисходящий пакет, принадлежащий линии радиосвязи по протоколу TCP, и контекст первого нисходящего пакета, где порядковый номер по протоколу TCP, соответствующий первому нисходящему пакету, меньше, чем порядковый номер по протоколу TCP, соответствующий пакету N, и направляет принятый пакет подтверждения приема по протоколу TCP сетевому устройству. Если ACKNum≠1 или пакет N запомнен в буфере CPE, CPE не стирает стираемый нисходящий пакет и контекстный ввод стираемого нисходящего пакета, которые хранятся в буфере CPE.
В настоящей заявке способ передачи данных, показанный на фиг. 4A и 4B, может использоваться, когда CPE может принять решение, что текущий принятый пакет подтверждения приема по протоколу TCP, соответствующий пакету N, определяется после того, как пакет N повторно передается посредством Wi-Fi для достижения максимального количества повторных передач на уровне MAC или когда не учитывается следующий случай: благодаря повторной передаче на уровне MAC во время Wi-Fi-передачи, терминал правильно принимает первый нисходящий пакет после посылки на CPE пакета отрицательного подтверждения (NACK) по протоколу TCP (например, сервер приложений посылает терминалу пакет по протоколу TCP, чей порядковый номер равен 1, и терминал не восстанавливает пакет по протоколу TCP правильно и отправляет обратно пакет подтверждения приема по протоколу TCP, порядковый номер подтверждения приема которого равен 1, где пакет подтверждения приема по протоколу TCP может упоминаться как пакет TCP NACK).
На фиг. 4А и 4В представлена блок-схема последовательности выполнения операций способа передачи данных в соответствии со вторым вариантом осуществления настоящей заявки. Во время реализации способа передачи данных, показанного на фиг. 4A и 4B, хранящийся контекст первого нисходящего пакета подобен контексту, показанному в таблице 1 и различие заключается в том, что значение ACKNum может быть любым положительным целым числом.
Процессы выполнения на этапах S301, S302, S303 и S308, показанные на фиг. 4A и 4B аналогичны процессам выполнения S201, S202, S203 и S206. Подробности здесь повторно не описываются. Ниже описываются только отличия.
S304: Если CPE определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета больше, чем второй порог повторной передачи, то CPE принимает решение, что первый нисходящий пакет нуждается в повторной передаче.
В этом варианте осуществления настоящей заявки второй порог повторной передачи для запуска повторной передачи первого нисходящего пакета может быть установлен заранее. Если определено, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета больше второго порогового значения повторной передачи, то CPE принимает решение, что первый нисходящий пакет нуждается в повторной передаче. Если определено, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета меньше второго порогового значения повторной передачи, то CPE принимает решение, что первый нисходящий пакет не нуждается в повторной передаче. Например, в этом варианте осуществления настоящей заявки второй порог повторной передачи устанавливается равным 1. Когда ACKNum>1, CPE принимает решение, что первый нисходящий пакет нуждается в повторной передаче. Когда ACKNum≤1, CPE принимает решение, что первый нисходящий пакет не нуждается в повторной передаче.
S305: Если CPE определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета больше второго порогового значения повторной передачи, то CPE дополнительно определяет, является ли значение подсчета пакетов подтверждения приема для первого нисходящего пакета меньшим второго промежуточного порогового значения.
S306: Если значение подсчета пакетов подтверждения приема для первого нисходящего пакета меньше второго промежуточного порогового значения, CPE запоминает пакет подтверждения приема по протоколу TCP.
В этом варианте осуществления настоящей заявки CPE запоминает пакет подтверждения приема по протоколу TCP, используя порядковый номер первого нисходящего пакета в качестве индекса.
S307: Если значение подсчета пакетов подтверждения приема для первого нисходящего пакета не меньше второго промежуточного порогового значения, CPE посылает все запомненные пакеты подтверждения приема по протоколу TCP сетевому устройству, чтобы запустить быструю повторную передачу, выполняемую сетевым устройством, избегая, таким образом, перерывов для повторной передачи, отрицательно влияющих на характеристики протокола TCP. Альтернативно, если значение подсчета пакетов подтверждения приема для первого нисходящего пакета не меньше второго промежуточного порогового значения, то CPE дополнительно определяет, является ли значение подсчета пакетов подтверждения приема для первого нисходящего пакета равным положительному целому числу, кратному второму промежуточному пороговому значению. Если определено, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета является положительным целым числом, кратным второму промежуточному пороговому значению, CPE посылает сетевому устройству командную информацию, где командная информация используется для подачи сетевому устройству команды не уменьшать окно передачи по протоколу TCP.
Например, в этом варианте осуществления настоящей заявки второй промежуточный порог устанавливается равным 4. Если 1<ACKNum<4, то есть, ACKNum=2 или 3, то CPE запоминает пакет подтверждения приема по протоколу TCP, используя порядковый номер первого нисходящего пакета в качестве индекса. Если ACKNum не меньше 4, CPE посылает сетевому устройству все запомненные пакеты подтверждения приема по протоколу TCP для первого нисходящего пакета; или, если ACKNum не меньше 4 и ACKNum является целым числом, кратным 4, например, ACKNum=4 или 8, то тогда CPE посылает сетевому устройству командную информацию.
В этом варианте осуществления настоящей заявки конкретный процесс реализации подачи сетевому устройству команды не уменьшать окно передачи по протоколу TCP никак не ограничивается. Например, таймер повторной передачи, соответствующий пакету N, может быть перезапущен, чтобы избежать деления пополам окна передачи или уменьшения окна передачи до начального значения, благодаря перерыву для повторной передачи, и пакет по протоколу TCP не передается.
На фиг. 5А и 5В представлена блок-схема последовательности выполнения операций способа передачи данных в соответствии с третьим вариантом осуществления настоящей заявки. Во время реализации способа передачи данных, показанного на фиг. 5А и 5В, хранящийся контекст первого нисходящего пакета выглядит так, как показано в таблице 2.
Таблица 2
Порядковый номер первого нисходящего пакета
Идентификатор первого нисходящего пакета
Номер кадра для кадра на уровне MAC, в котором инкапсулируется первый нисходящий пакет
Подсчет повторных передач (RetransNum) первого нисходящего пакета
Флаговый бит, указывающий, успешно ли послан первый нисходящий пакет
Значение из диапазонов порядковых номеров от 0 до N.Основываясь на принятой последователь-ности, CPE увеличивает порядковый номер пакета на 1 всякий раз, когда принимается пакет по протоколу TCP.
Идентификатор линии радиосвязи по протоколу TCP <IP-адрес источника, IP-адрес места назначения, номер порта источника, номер порта места назначения и версия>, порядковый номер по протоколу TCP и длина (Length)
Номер кадра для кадра уровня МАС,который обновляется после каждого инкапсулирования на уровне МАС
Значение RetransNum является положительным целым числом в диапазоне [0, максимальный подсчет повторных передач]. Начальное значение RetransNum равно 0 и RetransNum увеличивается на 1 всякий раз сразу после того, как CPE выполняет повторную передачу.
Начальное значение ложно. Когда определено, что первый нисходящий пакет принят правильно, значение устанавливается как истинное.
Как показано на фиг. 5А и 5В, процесс реализации способа передачи данных, представленного в третьем варианте осуществления настоящей заявки, содержит нижеследующие этапы.
S401: CPE принимает первый нисходящий пакет и принимает решение, что принятый первый нисходящий пакет нуждается в запоминании.
S402: CPE запоминает принятый первый нисходящий пакет и создает и сохраняет контекстный ввод принятого первого нисходящего пакета.
В этом варианте осуществления настоящей заявки после определения, что первый нисходящий пакет, посланный сетевым устройством, принят правильно, CPE создает и сохраняет контекстный ввод принятого первого нисходящего пакета.
S403: Если пакет подтверждения приема, который посылается терминалом для первого нисходящего пакета и который принимается CPE, является пакетом положительного подтверждения приема на уровне МАС (например, информация подтверждения приема ACK), где пакет положительного подтверждения приема описывается ниже как пакет ACK, CPE устанавливает флаговый бит, используемый для индикации, успешно ли послан первый нисходящий пакет, чтобы указать, что первый нисходящий пакет был успешно послан. Например, флаговый бит, являющийся истиной, указывает, что первый нисходящий пакет был успешно послан, флаговый бит, являющийся ложью, указывает, что первый нисходящий пакет не был успешно послан, и начальное значение флагового бита, указывающего, был ли первый нисходящий пакет успешно послан, устанавливается как ложь. Если пакет подтверждения приема, который посылается терминалом для первого нисходящего пакета и который принимается CPE, является пакетом ACK на уровне MAC, CPE устанавливает флаговый бит, указывающий, успешно ли послан первый нисходящий пакет, как истину.
S404: Если пакет подтверждения приема, который посылается терминалом для первого нисходящего пакета и который принимается CPE, является пакетом отрицательного подтверждения приема NACK на уровне MAC (информация отрицательного подтверждения приема ACK, NACK), где пакет отрицательного подтверждения приема описывается ниже как пакет NACK, и количество повторных передач кадра MAC, соответствующего пакету NACK на уровне MAC, достигло максимального количества повторных передач на уровне MAC, CPE увеличивает значение подсчета повторных передач в контекстном вводе первого нисходящего пакета на 1.
Следует заметить, что на этапах S403 и S404 CPE принимает пакет подтверждения приема на уровне MAC, посланный терминалом, определяет порядковый номер первого нисходящего пакета, основываясь на номере кадра на уровне MAC в пакете подтверждения приема на уровне MAC и кадре на уровне MAC в сохраненном контексте, и дополнительно определяет, что пакет подтверждения приема на уровне MAC является пакетом подтверждения приема первого нисходящего пакета.
S405: Если CPE определяет, что значение подсчета повторных передач больше третьего порогового значения повторной передачи, то CPE принимает решение, что первый нисходящий пакет нуждается в повторной передаче.
В этом варианте осуществления настоящей заявки третий порог повторной передачи для запуска повторной передачи первого нисходящего пакета может быть установлен заранее. Если CPE определяет, что значение подсчета повторных передач больше третьего порогового значения повторной передачи, то CPE принимает решение, что первый нисходящий пакет нуждается в повторной передаче, и повторно передает первый нисходящий пакет. Если CPE определяет, что значение подсчета повторных передач меньше или равно третьему пороговому значению повторной передачи, то CPE принимает решение, что первый нисходящий пакет не нуждается в повторной передаче.
S406: Поскольку повторная передача ведет к инкапсуляции на уровне MAC, CPE после инкапсуляции на уровне МАС обновляет номер кадра уровня MAC в контекстном вводе на новый номер кадра на уровне MAC.
S407: Если CPE определяет, что значение подсчета повторных передач больше третьего порогового значения повторной передачи, то CPE дополнительно определяет, является ли значение подсчета повторных передач меньшим третьего промежуточного порогового значения.
S408: Если значение подсчета повторных передач меньше третьего промежуточного порогового значения, CPE запоминает принятый пакет подтверждения приема по протоколу TCP для первого нисходящего пакета.
Например, в этом варианте осуществления настоящей заявки третий промежуточный порог устанавливается равным 4. Когда подсчет передач (RetransNum+1) пакета N больше 1 и меньше 4, принятый дублированный пакет подтверждения приема по протоколу TCP, соответствующий пакету N, запоминается, но не направляется сетевому устройству.
S409: Если значение подсчета повторных передач не меньше третьего промежуточного порогового значения, CPE посылает сетевому устройству все запомненные пакеты подтверждения приема по протоколу TCP для первого нисходящего пакета, чтобы запустить быструю повторную передачу, выполняемую сетевым устройством, избегая, таким образом, перерывов для повторной передачи, которые отрицательно влияют на характеристики протокола TCP. Альтернативно, если значение подсчета пакетов повторных передач не меньше третьего промежуточного порогового значения, то CPE дополнительно определяет, является ли значение подсчета пакетов подтверждения приема для первого нисходящего пакета равным положительному целому числу, кратному третьему промежуточному пороговому значению. Если CPE определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета является положительным целым числом, кратным третьему промежуточному пороговому значению, CPE посылает сетевому устройству командную информацию, где командная информация используется для подачи команды сетевому устройству не уменьшать окно передачи по протоколу TCP.
Например, в этом варианте осуществления настоящей заявки третий промежуточный порог устанавливается равным 4. Когда подсчет передач (RetransNum+1) пакета N не меньше 4, все принятые пакеты подтверждения приема по протоколу TCP, соответствующие пакету N, посылаются сетевому устройству. Когда подсчет передач (RetransNum+1) пакета N не меньше 4 и является положительным целым числом, кратным 4, например, равным 4 или 8, CPE посылает сетевому устройству командную информацию.
В этом варианте осуществления настоящей заявки конкретный процесс реализации подачи команды сетевому устройству не уменьшать окно передачи по протоколу TCP никак не ограничивается. Например, таймер повторной передачи, соответствующий пакету N, может быть перезапущен, чтобы избежать деления пополам окна передачи или уменьшения окна передачи до начального значения благодаря перерыву для повторной передачи, и пакет по протоколу TCP повторно не передается.
S410: Если CPE определяет, что флаговый бит, указывающий, успешно ли послан первый нисходящий пакет, указывает, что первый нисходящий пакет был успешно послан, например, флаговый бит установлен как истина, CPE стирает другой первый нисходящий пакет и контекстный ввод другого первого нисходящего пакета, которые запомнены в CPE, где другой первый нисходящий пакет действует на той же самой линии радиосвязи по протоколу TCP, что и первый нисходящий пакет, и имеет порядковый номер по протоколу TCP меньший, чем порядковый номер по протоколу TCP для первого нисходящего пакета.
В четвертом варианте осуществления настоящей заявки после определения, что первый нисходящий пакет, посланный сетевым устройством и правильно принятый, запомнен, CPE может сформировать пакет подтверждения приема по протоколу TCP для запомненного первого нисходящего пакета и послать сетевому устройству пакет подтверждения приема по протоколу TCP. После посылки сетевому устройству пакета подтверждения приема по протоколу TCP для первого нисходящего пакета, если принимают пакет подтверждения приема по протоколу TCP, посланный терминалом для первого нисходящего пакета, CPE отказывает в приеме пакета подтверждения приема по протоколу TCP, посланного терминалом для первого нисходящего пакета. Для конкретного процесса реализации обратитесь к фиг. 6. Процесс содержит нижеследующие этапы.
S501: CPE принимает первый нисходящий пакет и определяет, что принятый первый нисходящий пакет нуждается в запоминании.
S502: CPE запоминает принятый первый нисходящий пакет и создает и сохраняет контекстный ввод принятого первого нисходящего пакета.
Созданный и сохраненный контекстный ввод первого нисходящего пакета в этом варианте осуществления настоящей заявки может быть таким, как показано в таблице 3.
Таблица 3
Порядковый номер первого нисходящего пакета
Идентификатор первого нисходящего пакета
Номер кадра для кадра на уровне MAC, в котором инкапсулируется первый нисходящий пакет
Флаговый бит, указывающий, успешно ли послан первый нисходящий пакет
Значение из диапазонов порядковых номеров от 0 до N. На основе принятой последовательности, CPE увеличивает порядковый номер пакета на 1 всякий раз, когда принимают пакет по протоколу TCP.
Идентификатор линии радиосвязи по протоколу TCP <IP-адрес источника, IP-адрес места назначения, номер порта источника, номер порта места назначения и версия>, порядковый номер по протоколу TCP и длина (Length)
Номер кадра для кадра уровня МАС,который обновляется после каждого инкапсулирования на уровне МАС
Начальное значение ложно. Когда определено, что первый нисходящий пакет принят правильно, значение устанавливается как истинное.
В этом варианте осуществления настоящей заявки, если созданный контекстный ввод пакета для первого нисходящего пакета уже существует, самый последний контекстный ввод пакета может использоваться для замены соответствующего контента в существующем вводе.
S503: CPE формирует пакет подтверждения приема по протоколу TCP для пакета запомненного первого нисходящего пакета и посылает пакет подтверждения приема по протоколу TCP сетевому устройству.
S504: Если принимают пакет подтверждения приема по протоколу TCP, посланный терминалом для первого нисходящего пакета, CPE отказывает в приеме пакета подтверждения приема по протоколу TCP, посланного терминалом для первого нисходящего пакета.
S505: Если пакет подтверждения приема, который посылается терминалом для первого нисходящего пакета и который принимается CPE, является пакетом положительного подтверждения приема на уровне MAC, устанавливают флаговый бит, указывающий, успешно ли послан первый нисходящий пакет, чтобы указать, что первый нисходящий пакет был успешно послан, например, флаговый бит устанавливается как истина.
S506: Если пакет подтверждения приема, который посылается терминалом для первого нисходящего пакета и который принимается CPE, является пакетом NACK на уровне MAC и количество повторных передач кадра MAC, соответствующего пакету NACK на уровне MAC, достигло максимального количества повторных передач на уровне MAC, повторно передают первый нисходящий пакет.
S507: Если CPE определяет, что флаговый бит, указывающий, успешно ли послан первый нисходящий пакет, устанавливается для указания, что первый нисходящий пакет был успешно послан, CPE стирает другой первый нисходящий пакет и контекстный ввод другого первого нисходящего пакета, которые запомнены в CPE, где другой первый нисходящий пакет действует на той же самой линии радиосвязи, что и первый нисходящий пакет, и имеет порядковый номер по протоколу TCP меньший, чем порядковый номер по протоколу TCP для первого нисходящего пакета.
Вышесказанное описывает, главным образом, решения, представленные в вариантах осуществления настоящей заявки, с точки зрения взаимодействия между CPE и терминалом и между CPE и сетевым устройством. Следует понимать, что для реализации перечисленных выше функций CPE содержит соответствующие структуры аппаратурного обеспечения и/или модули программного обеспечения для выполнения функций. Блоки и этапы алгоритма в примерах, описанных со ссылкой на варианты осуществления, раскрытые в настоящей заявке, могут быть реализованы в форме аппаратурного обеспечения или в форме сочетания аппаратурного обеспечения и компьютерного программного обеспечения в вариантах осуществления настоящей заявки. Выполняются ли функции средствами аппаратурного обеспечения или средствами аппаратурного обеспечения, управляемыми компьютерным программным обеспечением, зависит от конкретных применений и схемных ограничений технических решений. Специалисты в данной области техники могут использовать различные способы для реализации описанных функций при каждом конкретном применении, но это не должно рассматриваться как реализация, выходящая за рамки объема технических решений, содержащихся в вариантах осуществления настоящей заявки.
В вариантах осуществления настоящей заявки CPE может быть разделено на функциональные блоки и соответствии с приведенными выше примерами способа. Например, различные функциональные блоки, соответствующие различным функциям, могут быть получены посредством деления или две или более функций могут быть интегрированы в один процессорный блок. Интегрированный блок может быть реализован в форме аппаратурного обеспечения или в форме программного функционального блока. Следует заметить, что в вариантах осуществления настоящей заявки разделение на блоки является примерным и является просто делением по логическим функциям. При фактической реализации может использоваться другой способ разделения.
При использовании интегрированного блока схематичная структурная схема устройства передачи данных, соответствующего настоящей заявке, показана на фиг. 7. Как показано на фиг. 7, устройство передачи данных содержит приемный блок 101, буферный блок 102, процессорный блок 103 и передающий блок 104. Приемный блок 101 выполнен с возможностью приема первого нисходящего пакета, посланного сетевым устройством, и приема пакета подтверждения приема, посланного терминалом для первого нисходящего пакета. Передающий блок 104 выполнен с возможностью посылки терминалу первого нисходящего пакета, принятого приемным блоком 101. Буферный блок 102 выполнен с возможностью хранения первого нисходящего пакета. Процессорный блок 103 выполнен с возможностью создания и сохранения контекстного ввода первого нисходящего пакета и, после того, как приемный блок 101 примет пакет подтверждения приема, посланный терминалом для первого нисходящего блока, обновления контекстного ввода первого нисходящего пакета, определения, основываясь на контекстном вводе первого нисходящего блока, нуждается ли первый нисходящий блок в повторной передаче, и определения, основываясь на контекстном вводе первого нисходящего пакета, нуждается ли в стирании первый нисходящий блок и контекстный ввод первого нисходящего пакета, запомненные в буферном блоке 102. Если, основываясь на контекстном вводе первого нисходящего пакета, процессорный блок 103 принимает решение, что первый нисходящий пакет нуждается в повторной передаче, передающий блок 104 выполняется с возможностью повторной передачи терминалу запомненного первого нисходящего пакета. Если, основываясь на контекстном вводе первого нисходящего пакета, процессорный блок 103 принимает решение, что запомненный стираемый нисходящий пакет и запомненный контекстный ввод стираемого нисходящего пакета нуждаются в стирании, то буферный блок 102 стирает стираемый нисходящий пакет и контекстный ввод стираемого нисходящего пакета, запомненные в буферном блоке 102. Стираемый нисходящий пакет и первый нисходящий пакет принадлежат к одной и той же линии радиосвязи, работающей по протоколу управления передачей TCP, и порядковый номер по протоколу TCP стираемого нисходящего пакета меньше порядкового номера по протоколу TCP для первого нисходящего пакета.
В возможной реализации буферный блок 102 дополнительно выполнен с возможностью определения перед запоминанием первого нисходящего пакета, что первый нисходящий пакет является пакетом по протоколу TCP и что размер буфера буферного блока 102 равен заданному размеру буфера, и в буферированных нисходящих пакетах существует второй нисходящий пакет с приоритетом обслуживания, который ниже приоритета обслуживания принятого первого нисходящего пакета.
В возможной реализации контекстный ввод первого нисходящего пакета содержит порядковый номер первого нисходящего пакета, идентификатор первого нисходящего пакета и подсчет пакетов подтверждения приема для первого нисходящего пакета и идентификатор первого нисходящего пакета содержит порядковый номер по протоколу TCP.
В возможной реализации, если пакет подтверждения приема, который послан терминалом для первого нисходящего пакета и который принимается приемным блоком 101, является пакетом подтверждения приема по протоколу TCP, процессорный блок 103 увеличивает значение подсчета пакетов подтверждения приема в контекстном вводе первого нисходящего пакета на 1, чтобы обновить контекстный ввод первого нисходящего пакета. Если процессорный блок 103 определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета является заданным значением подсчета пакетов подтверждения приема, или определяет, что пакет TCP не запомнен в буферном блоке 102, процессорный блок 103 принимает решение, что стираемый нисходящий пакет и контекстный ввод стираемого нисходящего пакета, запомненные в буферном блоке 102, нуждаются в стирании.
В возможной реализации, если процессорный блок 103 определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета равно первому пороговому значению повторной передачи, процессорный блок 103 принимает решение, что первый нисходящий пакет нуждается в повторной передаче. Процессорный блок 103 выполнен с возможностью установки на 0 значения подсчета пакетов подтверждения приема для первого нисходящего пакета после того, как передающий блок 104 повторно передает терминалу запомненный первый нисходящий пакет.
В возможной реализации передающий блок 104 дополнительно выполнен с возможностью направления сетевому устройству пакета подтверждения приема по протоколу TCP после того, как процессорный блок 103 обновит контекстный ввод первого нисходящего пакета, если процессорный блок 103 определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета равно первому промежуточному пороговому значению.
В возможной реализации, если процессорный блок 103 определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета больше второго порогового значения повторной передачи, процессорный блок 103 принимает решение, что первый нисходящий пакет нуждается в повторной передаче.
В возможной реализации процессорный блок 103 дополнительно выполнен с возможностью определения после обновления контекстного ввода первого нисходящего пакета, если определено, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета больше второго порогового значения повторной передачи, является ли значение подсчета пакетов подтверждения приема меньшим второго промежуточного порогового значения; и если определено, что значение подсчета пакетов подтверждения приема первого нисходящего пакета не меньше второго промежуточного порогового значения, дополнительно определяют, является ли значение подсчета пакетов подтверждения приема первого нисходящего пакета положительным целым числом, кратным второму промежуточному пороговому значению.
Буферный блок 102 выполнен с возможностью запоминания пакета подтверждения приема по протоколу TCP, если процессорный блок 103 определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета меньше второго промежуточного порогового значения. Передающий блок 104 дополнительно выполнен с возможностью посылки сетевому устройству всех запомненных пакетов подтверждения приема по протоколу TCP для первого нисходящего пакета; или, если процессорный блок 103 определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета не меньше второго промежуточного порогового значения и что значение подсчета пакетов подтверждения приема для первого нисходящего пакета является положительным целым числом, кратным второму промежуточному пороговому значению, посылки сетевому устройству командной информации, где командная информация используется для подачи сетевому устройству команды не уменьшать окно передачи по протоколу TCP.
В возможной реализации контекстный ввод первого нисходящего пакета содержит порядковый номер первого нисходящего пакета, идентификатор первого нисходящего пакета, номер кадра для кадра уровня МАС, в который инкапсулируется первый нисходящий пакет, подсчет повторных передач первого нисходящего пакета и флаговый бит, указывающий, успешно ли послан первый нисходящий пакет, и идентификатор первого нисходящего пакета содержит порядковый номер по протоколу TCP.
Если определено, что пакет подтверждения приема, который посылается терминалом для первого нисходящего пакета и принимается приемным блоком 101, является пакетом ACK на уровне MAC, процессорный блок 103 устанавливает флаговый бит, используемый для индикации, успешно ли послан первый нисходящий пакет, чтобы указать, что первый нисходящий пакет был послан успешно. Если определено, что пакет подтверждения приема, который посылается терминалом для первого нисходящего пакета и принимается приемным блоком 101, является пакетом NACK отрицательного подтверждения приема на уровне MAC и количество повторных передач кадра MAC, соответствующего пакету NACK на уровне MAC, достигло максимального количества повторных передач на уровне MAC, процессорный блок 193 увеличивает на 1 значение подсчета повторных передач в контекстном вводе первого нисходящего пакета. Процессорный блок 103, основываясь на контекстном вводе первого нисходящего пакета, нижеследующим способом определяет, что запомненный стираемый нисходящий пакет и запомненный контекстный ввод стираемого нисходящего пакета нуждаются в стирании:
если определено, что флаговый бит, указывающий, успешно ли был послан первый нисходящий пакет, устанавливается так, чтобы указать, что первый нисходящий пакет был послан успешно, принимают решение, что стираемый нисходящий пакет и контекстный ввод стираемого нисходящего пакета, запомненные в буферном блоке 102, нуждаются в стирании.
Если определено, что значение подсчета повторных передач больше третьего порогового значения повторной передачи, то процессорный блок 103 принимает решение, что первый нисходящий пакет нуждается в повторной передаче. Процессорный блок 103 выполнен с возможностью после того, как передающий блок 104 передает терминалу первый нисходящий пакет, обновления номера кадра уровня MAC в контекстном вводе на новый номер кадра на уровне MAC после инкапсуляции на уровне MAC.
В возможной реализации процессорный блок 103 дополнительно выполнен с возможностью, после обновления контекстного ввода первого нисходящего пакета, если определено, что значение подсчета повторных передач больше третьего промежуточного порогового значения, определения является ли значение подсчета повторных передач меньшим третьего промежуточного порогового значения; и если определено, что значение подсчета повторных передач не меньше третьего промежуточного порогового значения, дополнительно определяют, является ли значение подсчета пакетов подтверждения приема для первого нисходящего пакета положительным целым числом, кратным третьему промежуточному пороговому значению. Буферный блок 102 выполнен с возможностью запоминания принятого пакета подтверждения приема по протоколу TCP для первого нисходящего пакета, если процессорный блок 103 определяет, что значение подсчета повторных передач меньше третьего промежуточного порогового значения. Передающий блок 104 дополнительно выполнен с возможностью: посылки сетевому устройству всех запомненных пакетов подтверждения приема по протоколу TCP для первого нисходящего пакета, если процессорный блок 103 определяет, что значение подсчета повторных передач не меньше третьего промежуточного порогового значения; или, если процессорный блок 103 определяет, что значение подсчета повторных передач не меньше третьего промежуточного порогового значения и что значение подсчета пакетов подтверждения приема для первого нисходящего пакета является положительным целым числом, кратным третьему промежуточному пороговому значению, посылают сетевому устройству командную информацию, где командная информация используется для подачи сетевому устройству команды не уменьшать окно передачи по протоколу TCP.
В возможной реализации передающий блок 104 дополнительно выполнен с возможностью посылки сетевому устройству пакета подтверждения приема по протоколу TCP после того, как буферный блок 102 запомнит первый нисходящий пакет.
В возможной реализации приемный блок 101 дополнительно выполнен с возможностью отказа от приема пакета подтверждения приема по протоколу TCP, посланного терминалом для первого нисходящего пакета, после того, как передающий блок 104 пошлет сетевому устройству пакет подтверждения приема по протоколу TCP для первого нисходящего пакета, если принимается пакет подтверждения приема по протоколу TCP, посланный терминалом для первого нисходящего пакета.
Когда для реализации используется форма аппаратурного обеспечения, в таком варианте осуществления настоящей заявки приемный блок 101 может быть интерфейсом связи, приемником, схемой приемопередатчика и т.п.; буферный блок 102 может быть памятью; процессорный блок 103 может быть процессором или контроллером; и передающий блок 104 может быть интерфейсом связи, передатчиком, схемой приемопередатчика и т.п. "Интерфейс связи" является собирательным названием и может содержать один или более интерфейсов.
Когда приемный блок 101 является приемником, буферный блок 102 является памятью, процессорный блок 103 является процессором и передающий блок 104 является передатчиком, то устройство 100 передачи данных в этом варианте осуществления настоящей заявки может быть оборудованием, расположенным на территории клиента, показанным на фиг. 8. Оборудование, расположенное на территории клиента, показанное на фиг. 8, может обозначаться как оборудование CPE.
На фиг. 8 схематично показана структурная схема оборудования 1000, расположенного на территории клиента, соответствующего варианту осуществления настоящей заявки, а именно, схематичная структурная схема другого возможного устройства передачи данных, соответствующего варианту осуществления настоящей заявки. Как показано на фиг. 8, оборудование 1000, расположенное на территории клиента, содержит приемник 1001, память 1002, процессор 1003 и передатчик 1004. Память 1002 выполнена с возможностью запоминания команд. Процессор 1003 выполнен с возможностью исполнения команд, запомненных в памяти 1002, чтобы выполнять нижеследующие функции процессора 1003 и управлять приемником 1001, памятью 1002 и передатчиком 1004 для выполнения указанных ниже функций.
Приемник 1001 выполнен с возможностью приема первого нисходящего пакета, посланного сетевым устройством, и приема пакета подтверждения приема, посланного терминалом для первого нисходящего пакета. Передатчик 1004 выполнен с возможностью передачи терминалу первого нисходящего пакета, принятого приемником 1001. Память 1002 выполнена с возможностью запоминания первого нисходящего пакета. Процессор 1003 выполнен с возможностью: создания и сохранения контекстного ввода первого нисходящего пакета и после того, как приемник 1001 примет пакет подтверждения приема, посланный терминалом для первого нисходящего блока, обновления контекстного ввода первого нисходящего пакета, определения, основываясь на контекстном вводе первого нисходящего пакета, нуждается ли в повторной передаче первый нисходящий блок, и определения, основываясь на контекстном вводе первого нисходящего пакета, нуждается ли в стирании первый нисходящий блок и контекстный ввод первого нисходящего пакета, запомненные в памяти 1002. Если, основываясь на контекстном вводе первого нисходящего пакета, процессор 1003 определяет, что первый нисходящий пакет нуждается в повторной передаче, передатчик 1004 выполняется с возможностью повторной передачи терминалу запомненного первого нисходящего пакета. Если, основываясь на контекстном вводе первого нисходящего пакета, процессорный блок 1003 определяет, что запомненный стираемый нисходящий пакет и запомненный контекстный ввод стираемого нисходящего пакета нуждаются в стирании, то буферный блок 1002 стирает стираемый нисходящий пакет и контекстный ввод стираемого нисходящего пакета, запомненные в памяти 1002. Стираемый нисходящий пакет и первый нисходящий пакет принадлежат к одной и той же линии радиосвязи, работающей по протоколу управления передачей TCP, и порядковый номер по протоколу TCP стираемого нисходящего пакета меньше порядкового номера по протоколу TCP для первого нисходящего пакета.
В возможной реализации память 1002 дополнительно выполнена с возможностью определения перед запоминанием первого нисходящего пакета, что первый нисходящий пакет является пакетом по протоколу TCP и что размер буфера памяти 1002 равен заданному размеру буфера и в буферированных нисходящих пакетах существует второй нисходящий пакет с приоритетом обслуживания ниже приоритета обслуживания принятого первого нисходящего пакета.
В возможной реализации контекстный ввод первого нисходящего пакета содержит порядковый номер первого нисходящего пакета, идентификатор первого нисходящего пакета и подсчет пакетов подтверждения приема для первого нисходящего пакета и идентификатор первого нисходящего пакета содержит порядковый номер по протоколу TCP.
В возможной реализации процессор 1003 обновляет контекстный ввод первого нисходящего пакета следующим образом: если пакет подтверждения приема, который посылается терминалом для первого нисходящего пакета и который принимается приемником 1001, является пакетом подтверждения приема по протоколу TCP, CPE увеличивают значение подсчета пакетов подтверждения приема во вводимом контексте первого нисходящего канала на 1. Процессор 1003, основываясь на контекстном вводе первого нисходящего пакета, нижеследующим образом принимает решение, что запомненный стираемый нисходящий пакет и запомненный контекстный ввод стираемого нисходящего пакета нуждаются в стирании: если определено, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета равно заданному значению подсчета пакетов подтверждения приема, или определено, что пакет по протоколу TCP не запомнен в памяти 1002, принимают решение, что стираемый нисходящий пакет и контекстный ввод стираемого нисходящего пакета, которые запомнены в памяти 1002, нуждаются в стирании.
В возможной реализации процессор 1003 нижеследующим образом, основываясь на контекстном вводе первого нисходящего пакета, принимает решение, что первый нисходящий пакет нуждается в повторной передаче: если определено, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета равно первому пороговому значению повторной передачи, принимает решение, что первый нисходящий пакет нуждается в повторной передаче. Процессор 1003 дополнительно выполнен с возможностью установки на 0 значения подсчета пакетов подтверждения приема для первого нисходящего пакета после того, как передатчик 1004 повторно передает терминалу запомненный первый нисходящий пакет.
В возможной реализации передатчик 1004 дополнительно выполнен с возможностью направления сетевому устройству пакета подтверждения приема по протоколу TCP после того, как процессор 1003 обновит контекстный ввод первого нисходящего пакета, если процессор 1003 определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета равно первому промежуточному пороговому значению.
В возможной реализации процессор 1003 нижеследующим образом, основываясь на контекстном вводе первого нисходящего пакета, принимает решение, что первый нисходящий пакет нуждается в повторной передаче: если определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета больше второго порогового значения повторной передачи, то принимает решение, что первый нисходящий пакет нуждается в повторной передаче.
В возможной реализации процессор 1003 дополнительно выполнен с возможностью определения, после обновления контекстного ввода первого нисходящего пакета, если определено, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета больше второго порогового значения повторной передачи, является ли значение подсчета пакетов подтверждения приема меньшим, чем второй промежуточный порог; и если определено, что значение подсчета пакетов подтверждения приема первого нисходящего пакета не меньше второго промежуточного порогового значения, дополнительно определяют, является ли значение подсчета пакетов подтверждения приема первого нисходящего пакета положительным целым числом, кратным второму промежуточному пороговому значению. Память 1002 дополнительно выполнена с возможностью запоминания пакета подтверждения приема по протоколу TCP, если процессор 1003 определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета меньше второго промежуточного порогового значения. Передатчик 1004 дополнительно выполнен с возможностью посылки сетевому устройству всех запомненных пакетов подтверждения приема по протоколу TCP для первого нисходящего пакета; или, если процессор 1003 определяет, что значение подсчета пакетов подтверждения приема для первого нисходящего пакета не меньше второго промежуточного порогового значения и что значение подсчета пакетов подтверждения приема для первого нисходящего пакета является положительным целым числом, кратным второму промежуточному пороговому значению, посылки сетевому устройству командной информации, где командная информация используется для подачи сетевому устройству команды не уменьшать окно передачи по протоколу TCP.
В возможной реализации контекстный ввод первого нисходящего пакета содержит порядковый номер первого нисходящего пакета, идентификатор первого нисходящего пакета, номер кадра для кадра уровня МАС управления доступом к носителю, в который инкапсулируется первый нисходящий пакет, подсчет повторных передач первого нисходящего пакета и флаговый бит, указывающий, успешно ли послан первый нисходящий пакет, и идентификатор первого нисходящего пакета содержит порядковый номер по протоколу TCP. Процессор 1003 обновляет контекстный ввод первого нисходящего пакета следующим образом: если пакет подтверждения приема, который посылается терминалом для первого нисходящего пакета и который принимается приемником 1001, является пакетом ACK на уровне MAC, устанавливают флаговый бит, используемый для указания, успешно ли послан первый нисходящий пакет, чтобы указать, что первый нисходящий пакет был послан успешно; или, если пакет подтверждения приема, посланный терминалом для первого нисходящего пакета и принятый CPE, является пакетом NACK отрицательного подтверждения приема на уровне MAC и количество повторных передач на уровне MAC, соответствующее пакету NACK на уровне MAC достигло максимального количества повторных передач на уровне MAC, увеличивают на 1 значение счета повторных передач в контекстном вводе первого нисходящего пакета.
Процессор 1003, основываясь на контекстном вводе первого нисходящего пакета, нижеследующим способом определяет, что запомненный стираемый нисходящий пакет и запомненный контекстный ввод стираемого нисходящего пакета нуждаются в стирании, если определено, что флаговый бит, указывающий, успешно ли был послан первый нисходящий пакет, устанавливается так, чтобы указать, что первый нисходящий пакет был послан успешно, принимает решение, что стираемый нисходящий пакет и контекстный ввод стираемого нисходящего пакета, которые запомнены в памяти 1002, нуждаются в стирании.
Процессор 1003 нижеследующим образом, основываясь на контекстном вводе первого нисходящего пакета, принимает решение, что первый нисходящий пакет нуждается в повторной передаче: если определено, что значение подсчета повторных передач больше третьего порогового значения повторной передачи, то принимает решение, что первый нисходящий пакет нуждается в повторной передаче. Процессор 1003 дополнительно выполнен с возможностью обновления, после того, как передающий блок 1004 передаст терминалу первый нисходящий пакет, номера кадра MAC в контекстном вводе на новый номер кадра на уровне MAC после инкапсуляции на уровне MAC.
В возможной реализации процессор 1003 дополнительно выполнен с возможностью определения, после обновления контекстного ввода первого нисходящего пакета, если определено, что значение подсчета повторных передач больше третьего порогового значения повторной передачи, является ли значение подсчета повторных передач меньшим третьего промежуточного порогового значения; и если определяет, что значение подсчета повторных передач не меньше третьего промежуточного порогового значения, дополнительно определяет, является ли значение подсчета пакетов подтверждения приема для первого нисходящего пакета положительным целым числом, кратным третьему промежуточному пороговому значению. Память 1002 дополнительно выполнена с возможностью запоминания принятого пакета подтверждения приема по протоколу TCP для первого нисходящего пакета, если процессор 1003 определяет, что значение подсчета повторных передач меньше третьего промежуточного порогового значения. Передатчик 1004 дополнительно выполнен с возможностью посылки сетевому устройству всех запомненных пакетов подтверждения приема по протоколу TCP для первого нисходящего пакета, если процессор 1003 определяет, что значение подсчета повторных передач не меньше третьего промежуточного порогового значения; или, если процессор 1003 определяет, что значение подсчета повторных передач не меньше третьего промежуточного порогового значения и что значение подсчета пакетов подтверждения приема для первого нисходящего пакета является положительным целым числом, кратным третьему промежуточному пороговому значению, посылает сетевому устройству командную информацию, где командная информация используется для подачи сетевому устройству команды не уменьшать окно передачи по протоколу TCP.
В возможной реализации передатчик 1004 дополнительно выполнен с возможностью посылки сетевому устройству пакета подтверждения приема по протоколу TCP после того, как память 1002 запомнит первый нисходящий пакет.
В возможной реализации приемник 1001 дополнительно выполнен с возможностью отказа от приема пакета подтверждения приема по протоколу TCP, посланного терминалом для первого нисходящего пакета, после того, как передатчик 1004 посылает сетевому устройству пакет подтверждения приема по протоколу TCP для первого нисходящего пакета, если принимается пакет подтверждения приема по протоколу TCP, посланный терминалом для первого нисходящего пакета.
В вариантах осуществления настоящей заявки для других этапов и концепций, объяснения и подробные описания устройства 100 передачи данных и оборудования 1000, расположенного на территории клиента, относящихся к техническим решениям, представленным в вариантах осуществления настоящей заявки, относятся к описаниям содержания, присутствующего в представленных выше вариантах осуществления способа или других вариантах осуществления. Подробности здесь повторно не описываются.
Следует понимать, что сопроводительные чертежи вариантов осуществления настоящей заявки показывают просто упрощенные схемы сетевого устройства и терминала. При реальном применении сетевое устройство и терминал не ограничиваются представленными выше структурами. Например, терминал может дополнительно содержать дисплей, интерфейс ввода/вывода и т.п. Любой терминал, который может реализовывать варианты осуществления настоящей заявки, попадает в рамки объема защиты вариантов осуществления настоящей заявки. Сетевое устройство может дополнительно содержать любое количество передатчиков, приемников, процессоров, контроллеров, памятей, блоков связи и т.п. Любое сетевое устройство, которое может реализовывать варианты осуществления настоящей заявки, попадает в рамки объема защиты вариантов осуществления настоящей заявки.
Следует заметить, что вышеупомянутый процессор в вариантах осуществления настоящей заявки может быть центральным процессором (Central Processing Unit, CPU), универсальным процессором, цифровым сигнальным процессором (Digital Signal Processor, DSP), специализированной интегральной схемой (Application-Specific Integrated Circuit, ASIC), программируемой логической интегральной схемой (Field Programmable Gate Array, FPGA) или другим программируемым логическим устройством, транзисторным логическим устройством или компонентом аппаратурного обеспечения или их сочетанием. Процессор может быть реализован или исполнять различные примерные логические блоки, модули и схемы, описанные со ссылкой на содержание, раскрытое в настоящей заявке. Альтернативно, процессор может быть сочетанием процессоров, реализующих вычислительную функцию, например, сочетанием одного или более микропроцессоров, сочетанием DSP и микропроцессора и т.п.
Память может быть интегрирована в процессор или может находиться отдельно от процессора.
При реализации функции приемника и передатчика могут реализовываться, используя схему приемопередатчика или специализированную микросхему приемопередатчика. Процессор может быть реализован, используя специализированную процессорную интегральную схему, процессорную схему, процессор или универсальную микросхему.
В другой реализации, в памяти хранится управляющая программа для осуществления функций процессора, приемника и передатчика и универсальный процессор исполняет управляющую программу, записанную в памяти, чтобы реализовать функции процессора, приемника и передатчика.
В соответствии со способом, представленным в вариантах осуществления настоящей заявки, вариант осуществления настоящей заявки дополнительно содержит систему связи. Система связи содержит перечисленные выше оборудование, расположенное на территории клиента, сетевое устройство и один или более терминалов.
Вариант осуществления настоящей заявки дополнительно предусматривает носитель компьютерного запоминающего устройства, выполненный с возможностью запоминания различных команд. При исполнении этих команд может быть реализован любой способ, связанный с вышеупомянутым CPE.
Специалист в данной области техники должен понимать, что варианты осуществления настоящей заявки могут быть обеспечены как способ, система или компьютерный программный продукт. Поэтому, варианты осуществления настоящей заявки могут использовать некоторую форму вариантов осуществления в виде только аппаратурного обеспечения, вариантов осуществления в виде только программного обеспечения или вариантов обеспечения с сочетанием программного и аппаратурного обеспечения. Более того, варианты осуществления настоящей заявки могут использовать некоторую форму компьютерного программного продукта, реализуемого на одном или более используемых компьютером носителях запоминающего устройства (в том числе, но не ограничиваясь только этим, на запоминающем устройстве на магнитных дисках, компакт-дисках CD-ROM, оптической памяти и т.п.), которые содержат используемую компьютером управляющую программу.
Варианты осуществления настоящей заявки описываются со ссылкой на блок-схемы последовательности осуществления операций способа, устройства (системы) и компьютерный программный продукт, соответствующие варианту осуществления настоящей заявки. Следует понимать, что компьютерные программные команды могут использоваться для реализации каждого процесса и/или каждого блока в блок-схемах последовательности осуществления операций или блок-схемах и сочетания процесса и/или блока на блок-схемах последовательности выполнения операций и/или блок-схемах. Эти компьютерные программные команды могут предоставляться для универсального компьютера, специализированного компьютера, встроенного процессора или для процессора любого другого программируемого устройства обработки данных, чтобы сформировать машину, так чтобы команды, исполняемые компьютером или процессором любого другого программируемого устройства обработки данных создавали устройство для реализации конкретной функции в одном или более процессах на блок-схемах последовательности выполнения операций и/или в одном или более блоках на блок-схемах.
Эти команды компьютерной программы могут быть запомнены в считываемой компьютером памяти, которая может подавать команды компьютеру или любому другому программируемому устройству обработки данных для работы определенным образом, так чтобы команды, запомненные в считываемой компьютером памяти создавали артефакт, содержащий командное устройство. Командное устройство реализует конкретную функцию в одном или более процессах согласно блок-схемам последовательности выполнения операций и/или в одном или более блоках на блок-схемах.
Эти команды компьютерной программы могут загружаться в компьютер или в другое программируемое устройство обработки данных, так чтобы последовательность операций и этапы выполнялись на компьютере или на другом программируемом устройстве, создавая, таким образом, реализуемую компьютером обработку. Поэтому команды, исполняемые на компьютере или на другом программируемом устройстве, обеспечивают этапы реализации конкретной функции в одном или более процессах согласно блок-схемам последовательности выполнения операций и/или одному или более блокам на блок-схемах.