RU2541118C2 - Connection processing system and method using temporary port - Google Patents
Connection processing system and method using temporary port Download PDFInfo
- Publication number
- RU2541118C2 RU2541118C2 RU2013111282/08A RU2013111282A RU2541118C2 RU 2541118 C2 RU2541118 C2 RU 2541118C2 RU 2013111282/08 A RU2013111282/08 A RU 2013111282/08A RU 2013111282 A RU2013111282 A RU 2013111282A RU 2541118 C2 RU2541118 C2 RU 2541118C2
- Authority
- RU
- Russia
- Prior art keywords
- connection
- remote server
- port
- server
- application
- Prior art date
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
Description
Область техникиTechnical field
Изобретение относится к системам и способам обработки соединения с использованием временного порта.The invention relates to systems and methods for processing a connection using a temporary port.
Уровень техникиState of the art
В настоящее время пользователи персональных компьютеров часто сталкиваются с необходимостью иметь соединение с глобальной сетью Интернет. Также неуклонно растет список программ, для которых соединение с сетью Интернет является обязательным условием для работы, при этом растут объемы данных, передаваемых через сеть. Вместе с тем организация сетевого соединения становится сложнее и масштабнее, что, в свою очередь, влияет на качество и скорость передачи данных.Currently, personal computer users are often faced with the need to have a connection to the global Internet. The list of programs for which Internet connection is a prerequisite for work is also steadily growing, while the volume of data transmitted through the network is growing. At the same time, the organization of a network connection becomes more complex and larger, which, in turn, affects the quality and speed of data transfer.
Для обеспечения доступа компьютеров локальной сети в Интернет часто используют прокси-сервер. В самой простой реализации прокси-сервер представляет собой сетевую службу, которая необходима для организации соединения между приложением и удаленным сервером в сети Интернет. Основой работы прокси-сервера является механизм перехвата и перенаправления соединений. Разработка вышеупомянутого механизма осуществляется при помощи различных интерфейсов программирования приложений API (Application Programming Interface), которые имеют функции по работе с сетевыми портами и соединениями.To ensure access of computers on the local network to the Internet, a proxy server is often used. In its simplest implementation, a proxy server is a network service that is necessary to establish a connection between an application and a remote server on the Internet. The basis of the proxy server is a mechanism for intercepting and redirecting connections. The development of the aforementioned mechanism is carried out using various Application Programming Interface (API), which have functions for working with network ports and connections.
Основной проблемой при использовании прокси-серверов для TCP соединений является имитация статуса соединения, передаваемого от сервера. Важно, чтобы прокси-сервер не разрешал соединение с портом, который он предоставил приложению, до тех пор, пока он не проверит статус соединения, передаваемого от удаленного сервера, и не установит с ним соединение. Прокси-серверы, в которых некорректно реализован механизм перехвата и перенаправления соединения, нередко являются замедляющим фактором при передаче данных, а в некоторых случаях могут вызывать потерю соединения между узлами.The main problem when using proxies for TCP connections is the imitation of the connection status transmitted from the server. It is important that the proxy server does not allow the connection to the port that it provided to the application until it checks the status of the connection sent from the remote server and establishes a connection with it. Proxy servers that incorrectly implement the mechanism for intercepting and redirecting connections are often a slowing factor in data transfer, and in some cases can cause loss of connection between nodes.
Фиг.1 отображает установку соединения приложения 110 с удаленным сервером 130 с использованием прокси-сервера 120, который имеет проблему имитации статуса соединения от сервера. Соединение устанавливается в рамках стека протоколов TCP/IP. Все состояния соединения и портов по протоколу TCP описаны в RFC 793. Приложение 110, например браузер, инициирует обращение к удаленному серверу 130. В ответ DNS-сервер предоставляет список адресов, которые соответствуют удаленному серверу 130. Приложение 110 инициирует установку соединения и посылает запрос TCP SYN по адресу из списка от DNS-сервера. Прокси-сервер 120 производит перехват запроса, создает порт и открывает его вызовом команды passive OPEN, одновременно посылает запрос по адресу, полученному от приложения 110, на установку соединения с удаленным сервером 130 и сообщает приложению 110, что запрос по текущему адресу будет перенаправлен. Для начала установки соединения по протоколу TCP согласно RFC 793 необходимо выполнить команду OPEN. На прокси-сервере вызов команды OPEN происходит в режиме passive. Результатом выполнения вызова passive OPEN является открытие порта и переход соединения в состояние LISTEN. В этом состоянии порт открыт, но не выполняет никаких действий по установке соединения, а ожидает входящего соединения. Приложение 110 при повторном обращении по адресу из списка от DNS-сервера перенаправляется прокси-сервером на открытый порт. Порт прокси-сервера 120 принимает ожидаемое входящее подключение. Между приложением 110 и прокси-сервером 120 начинается обмен запросами, соединение устанавливается. Так как соединение было установлено успешно, приложение 110 завершает опрос адресов из списка от DNS-сервера и начинает опрос удаленного сервера 130 для передачи данных. Если прокси-сервер 120 не имеет возможности установить соединение с удаленным сервером 130, порт, через который приложение 110 установило соединение с прокси-сервером 120, закрывается. Приложение 110 получает сообщение о том, что сервер неожиданно разорвал соединение.Figure 1 shows the connection setup of an
Таким образом, приложение 110 не возобновляет опрос адресов из списка от DNS-сервера, но и не имеет установленного соединения с удаленным сервером 130.Thus, the
В одном из вариантов реализации при программировании прокси-сервера используется библиотека Berkeley sockets стандарта Posix, которая содержит API-функции управления соединением. Для большинства операционных систем такой способ реализации прокси-серверов является предпочтительным. В реализациях с использованием API для выполнения вышеописанных действий применяют функции bind() и listen(). Функция bind() используется для связывания порта и процесса, а функция listen() для вызова команды passive OPEN и перехода соединения в состояние LISTEN. Не следует путать функцию listen() с состоянием соединения LISTEN.In one embodiment, when programming a proxy server, the Posix standard Berkeley sockets library is used, which contains connection management APIs. For most operating systems, this method of implementing proxy servers is preferred. In implementations using the API, the bind () and listen () functions are used to perform the above actions. The bind () function is used to bind the port and the process, and the listen () function is used to call the passive OPEN command and put the connection into the LISTEN state. The listen () function should not be confused with the state of the LISTEN connection.
На сегодняшний день известны системы и способы для организации соединения с использованием прокси-сервера. В большинстве такие системы основаны на использовании API-функций bind() и listen().To date, systems and methods for organizing a connection using a proxy server are known. Most of these systems are based on the use of the bind () and listen () API functions.
Публикация US7161947 В1 описывает алгоритм перехвата без потери соединения с созданием динамического (промежуточного) порта. В том числе, описан способ пассивного соединения, когда в работе алгоритма участвуют пользователь, перехватчик, прокси-сервер, удаленный сервер. При этом следует учесть, что проблема имитации статуса от сервера при установке соединения через прокси-сервер в данной публикации не освещена.Publication US7161947 B1 describes an interception algorithm without loss of connection with the creation of a dynamic (intermediate) port. In particular, a passive connection method is described when a user, an interceptor, a proxy server, and a remote server participate in the operation of the algorithm. It should be noted that the problem of simulating the status from the server when establishing a connection through a proxy server is not covered in this publication.
В публикации «The Remote Socket Architecture)) (http://vv4vw.tkn.tu- 12/TKN-dissertations/schlaeger_morten.pdf) описан примерный сценарий организации соединения. Происходит создание сокетов на обеих сторонах, их связывание с конечным адресом и введение сокета сервера в режим прослушивания с использованием функций bind() и listen(). Но в данной публикации информации о решении проблемы имитации статуса от удаленного сервера при установке соединения через прокси-сервер нет.The publication “The Remote Socket Architecture))) (http: //vv4vw.tkn.tu- 12 / TKN-dissertations / schlaeger_morten.pdf) describes an example connection organization scenario. Sockets are created on both sides, they are associated with the final address and the server socket is put into listening mode using the bind () and listen () functions. But in this publication, there is no information on solving the problem of simulating the status from a remote server when establishing a connection through a proxy server.
Предложенные и описанные далее система и способ обработки соединения с использованием временного порта обходят описанную выше проблему.The proposed and described further system and method for processing a connection using a temporary port circumvents the problem described above.
Анализ предшествующего уровня техники и возможностей, которые появляются при комбинировании существующих решений в одной системе, позволяет получить новый результат, а именно систему и способ обработки соединения с использованием временного порта.An analysis of the prior art and the possibilities that arise when combining existing solutions in one system allows you to get a new result, namely the system and method of processing the connection using a temporary port.
Раскрытие изобретенияDisclosure of invention
Настоящее изобретение предназначено для обработки соединения с использованием временного порта.The present invention is intended to process a connection using a temporary port.
Технический результат настоящего изобретения заключается в установке либо закрытии соединения между приложением и удаленным сервером. Указанный технический результат достигается за счет использования прокси-сервера, который имитирует статус от сервера.The technical result of the present invention is to establish or close the connection between the application and the remote server. The specified technical result is achieved through the use of a proxy server that simulates the status from the server.
Система обработки соединения с использованием временного порта содержит приложение, которое инициирует установку соединения с удаленным сервером путем отправки сетевых запросов; средство перехвата, предназначенное для перехвата сетевых запросов от приложения к удаленному серверу, инициации создания временного порта; средство установки соединения, предназначенное для установки соединения с удаленным сервером после перехвата средством перехвата, создания временного порта, имитации статуса от сервера при помощи изменения состояния созданного временного порта; удаленный сервер, который устанавливает соединение в ответ на сетевые запросы.The connection processing system using a temporary port contains an application that initiates the establishment of a connection to a remote server by sending network requests; interception tool designed to intercept network requests from an application to a remote server, initiate the creation of a temporary port; connection setup tool designed to establish a connection with a remote server after being intercepted by an interception tool, creating a temporary port, simulating the status from the server by changing the state of the created temporary port; A remote server that establishes a connection in response to network requests.
В частном случае реализации системы перед началом отправки сетевых запросов для установки соединения приложение получает список адресов от DNS сервера.In the particular case of system implementation, before starting sending network requests to establish a connection, the application receives a list of addresses from the DNS server.
В другом частном случае реализации системы средство перехвата передает адрес удаленного сервера, полученного от приложения, средству установки соединения.In another particular case of the system implementation, the interception tool transfers the address of the remote server received from the application to the connection setup tool.
Еще в одном частном случае реализации системы средство установки соединения изменяет состояние созданного временного порта, а именно открывает порт, когда соединение с удаленным сервером установлено; закрывает порта, когда соединение с удаленным сервером не установлено; когда удаленный сервер не отвечает, ожидает ответа от удаленного сервера и закрывает порт по истечении периода времени на установку соединения.In another particular case of the system implementation, the connection setup tool changes the state of the created temporary port, namely, it opens the port when the connection with the remote server is established; closes ports when a connection to a remote server is not established; when the remote server does not respond, it waits for a response from the remote server and closes the port after a period of time to establish a connection.
Способ обработки соединения с использованием временного порта, в котором инициируют установку соединения с удаленным сервером путем отправки сетевых запросов; перехватывают сетевые запросы; устанавливают соединение с удаленным сервером после перехвата; создают временный порт; имитируют статус от сервера путем изменения состояния временного порта.A method for processing a connection using a temporary port in which a connection to a remote server is initiated by sending network requests; intercept network requests; establish a connection with a remote server after interception; create a temporary port; simulate the status from the server by changing the status of the temporary port.
В частном случае реализации способа для соединения с удаленным сервером получают его адреса от DNS сервера с помощью приложения.In the particular case of the implementation of the method for connecting to a remote server, its addresses are obtained from the DNS server using the application.
В другом частном случае реализации способа адрес удаленного сервера, полученный от приложения, передается средству установки соединения с помощью средства перехвата.In another particular case of implementing the method, the remote server address received from the application is transmitted to the connection setup tool using the interception tool.
Еще в одном частном случае реализации способа изменяют состояние временного порта: когда соединение с удаленным сервером установлено, открывают порт; когда соединение с удаленным сервером не установлено, закрывают порт; когда удаленный сервер не отвечает, ожидают установки соединения и закрывают порт по истечении периода времени на установку соединения.In another particular case of the implementation of the method, the state of the temporary port is changed: when the connection with the remote server is established, open the port; when the connection to the remote server is not established, close the port; when the remote server does not respond, wait for the connection to be established and close the port after a period of time to establish the connection.
Краткое описание чертежейBrief Description of the Drawings
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:Additional objectives, features and advantages of the present invention will be apparent from reading the following description of an embodiment of the invention with reference to the accompanying drawings, in which:
Фиг.1 отображает диаграмму установки соединения приложения с удаленным сервером с использованием прокси-сервера, который имеет проблему имитации статуса от сервера в случае, когда сервер недоступен;Figure 1 shows a diagram of the connection between the application and the remote server using a proxy server, which has the problem of simulating status from the server in the case when the server is unavailable;
Фиг.2 иллюстрирует схему работы системы обработки соединения с использованием временного порта в случае, когда сервер недоступен;Figure 2 illustrates the operation of the connection processing system using the temporary port in the case when the server is unavailable;
Фиг.3 показывает схему работы системы обработки соединения с использованием временного порта в случае, когда сервер доступен;Figure 3 shows the operation of the connection processing system using the temporary port in the case when the server is available;
Фиг.4 отображает схему алгоритма обработки соединения с использованием временного порта;Figure 4 shows a diagram of a connection processing algorithm using a temporary port;
Фиг.5 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.5 is an example of a general purpose computer system, personal computer, or server.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено в приложенной формуле.Although the invention may have various modifications and alternative forms, the characteristic features shown by way of example in the drawings will be described in detail. It should be understood, however, that the purpose of the description is not to limit the invention to its specific embodiment. On the contrary, the purpose of the description is to cover all changes, modifications that are within the scope of this invention, as defined in the attached formula.
Описание вариантов осуществления изобретенияDescription of Embodiments
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.The objects and features of the present invention, methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, it can be embodied in various forms. The essence described in the description is nothing more than the specific details necessary to assist the specialist in the field of technology in a comprehensive understanding of the invention, and the present invention is defined in the scope of the attached claims.
Для начала установки соединения по протоколу TCP согласно RFC 793 необходимо выполнить команду OPEN. На прокси-сервере вызов команды OPEN происходит в режиме passive. Результатом выполнения вызова passive OPEN является открытие порта и переход соединения в состояние LISTEN. В этом состоянии порт не выполняет никаких действий по установке соединения, а ожидает входящего соединения.To start establishing a TCP connection according to RFC 793, you must run the OPEN command. On the proxy server, the OPEN command is called in passive mode. The result of making a passive OPEN call is to open the port and put the connection into LISTEN state. In this state, the port does not take any action to establish a connection, but expects an incoming connection.
В одном из вариантов реализации при программировании прокси-сервера используется библиотека Berkeley sockets стандарта Posix, которая содержит API-функции управления соединением. В реализациях с использованием API для выполнения вышеописанных действий применяют функции bind() и listen(). Функция bind() используется для связывания порта и процесса, а функция listen() для вызова команды passive OPEN и перехода соединения в состояние LISTEN. Не следует путать функцию listen() с состоянием соединения LISTEN.In one embodiment, when programming a proxy server, the Posix standard Berkeley sockets library is used, which contains connection management APIs. In implementations using the API, the bind () and listen () functions are used to perform the above actions. The bind () function is used to bind the port and the process, and the listen () function is used to call the passive OPEN command and put the connection into the LISTEN state. The listen () function should not be confused with the state of the LISTEN connection.
Статусом соединения, передаваемым от сервера, является информация о состоянии сетевого соединения после отправки сетевых запросов. В общем случае для корректной работы прокси-сервера необходимо имитировать три статуса соединения, передаваемых от сервера, хотя общее количество статусов соединения может быть больше. Сервер может быть доступен, не отвечать и быть недоступным. Когда сервер доступен, при получении сетевых запросов на соединение происходит установка соединения. В случае если сервер не отвечает, все сетевые запросы на соединение не доходят до сервера. Запросы повторяются в течение ограниченного периода времени. Когда сервер не доступен, в ответ на сетевые запросы на соединение приходит сообщение об ошибке установки соединения.The connection status transmitted from the server is information about the status of the network connection after sending network requests. In general, for the proxy server to work correctly, it is necessary to simulate three connection statuses transmitted from the server, although the total number of connection statuses may be greater. The server may be available, not responding, and unavailable. When the server is available, upon receipt of network connection requests, a connection is established. If the server does not respond, all network connection requests do not reach the server. Requests are repeated for a limited period of time. When the server is not available, in response to network connection requests, a connection setup error message is received.
В общем случае структурная схема работы системы обработки соединения с использованием временного порта 205 между приложением 210 и удаленным сервером 240 в случае, когда удаленный сервер 240 недоступен, имеет вид, показанный на Фиг.2. Система обработки соединения с использованием временного порта 205 состоит из средства перехвата 220 и средства установки соединения 230. Средство перехвата 220 предназначено для перехвата и перенаправления сетевых запросов от приложения 210, передачи адреса удаленного сервера 240 и выполнения запроса на создание временного порта средству установки соединения 230. Средство установки соединения 230 предназначено для создания временного порта и передачи информации о порте средству перехвата 220, установки соединения с удаленным сервером 240 и сопровождения перенаправления успешного соединения между приложением 210 и удаленным сервером 240. Приложение 210, например браузер, инициирует обращение к удаленному серверу 240. В ответ DNS-сервер предоставляет список адресов, которые соответствуют удаленному серверу 240. Приложение 210 инициирует установку соединения по адресу из списка от DNS-сервера и посылает запрос TCP SYN. Средство перехвата 220 производит перехват соединения, посылает запрос средству установки соединения 230 на создание временного порта и сообщает адрес удаленного сервера, с которым нужно установить соединение, затем после создания временного порта начинает перенаправление запросов на соединение от приложения 210 на временный порт. Средство установки соединения 230 начинает установку соединения по адресу, полученному из запроса, создает временный порт, вызвав API-функцию bind() и сообщает информацию о порте средству перехвата 220. Результатом выполнения вышеупомянутой функции является резервирование временного порта в стеке протокола TCP. Соединение через порт не устанавливается, поскольку он не открыт, но в ответ не приходит никаких ICMP сообщений, поскольку порт создан. ICMP (Internet Control Message Protocol - протокол межсетевых управляющих сообщений) используется для передачи сообщений об ошибках и других исключительных ситуациях, возникающих при передаче данных, например запрашиваемая услуга недоступна, сервер или маршрутизатор не отвечают. Таким образом, имитируется статус от сервера, к которому начата, но не закончена, процедура установки соединения. Попытки приложения 210 установить соединение с портом, на который осуществляется перенаправление, будут безуспешными, но не приведут к завершению установки соединения, приложение 210 продолжит посылать TCP SYN запросы. В случае если средство установки соединения 230 не установит соединение с удаленным сервером, временный порт будет закрыт. При очередном запросе TCP SYN приложения 210 будет возвращено ICMP сообщение о недоступности порта, что является имитацией статуса от сервера при его недоступности. В случае если средство установки соединения 230 не установит соединение с удаленным сервером 240 по истечении периода времени на установку соединения (time out), порт будет существовать до тех пор, пока со стороны приложения 210 не истечет период времени на установку соединения. Таким образом, имитируется статус от сервера, соединение с которым не удалось установить по причине истечения периода времени на установку соединения (time out). Поскольку соединение с удаленным сервером 240 так и не было установлено, приложение 210 продолжит опрос адресов из списка от DNS-сервера.In general, the block diagram of the operation of the connection processing system using the
В общем случае структурная схема работы системы обработки соединения с использованием временного порта 205 между приложением 210 и удаленным сервером 240 в случае, когда удаленный сервер 240 недоступен, имеет вид, показанный на Фиг.3. Приложение 210, например браузер, инициирует обращение к удаленному серверу 240. В ответ DNS-сервер предоставляет список адресов, которые соответствуют удаленному серверу 240. Приложение 210 инициирует установку соединения по адресу из списка от DNS-сервера и посылает запрос TCP SYN. Средство перехвата 220 производит перехват соединения, посылает запрос средству установки соединения 230 на создание временного порта и сообщает адрес удаленного сервера 240, с которым нужно установить соединение, затем начинает перенаправление запросов на соединение от приложения 210 на временный порт. Средство установки соединения 230 начинает установку соединения по адресу, полученному из запроса, создает временный порт, вызвав API-функцию bind(), и сообщает информацию о порте средству перехвата 220. В случае, когда удаленный сервер 240 доступен и средство установки соединения 230 установит соединение, порт будет открыт при помощи вызова функции HstenQ. Впоследствии, после успешной установки соединения приложения 210 с удаленным сервером 240, временный порт будет закрыт. Таким образом, имитируется статус от сервера, который доступен.In the General case, the block diagram of the operation of the connection processing system using the
На Фиг.4 показана схема алгоритма установки соединения с использованием прокси-сервера. На этапе 410 приложение 210, например браузер, инициирует обращение к удаленному серверу 240. В ответ DNS-сервер предоставляет список адресов, которые соответствуют удаленному серверу 240. На этапе 420 приложение 210 инициирует установку соединения по адресу из списка от DNS-сервера и посылает запрос TCP SYN. В случае неудачной попытки установки соединения с удаленным сервером 240, приложение 210 будет переходить к установке соединения с другим адресом из списка от DNS-сервера до тех пор, пока не закончится список. На этапе 430 система обработки соединения с использованием временного порта 205, используя средство перехвата 220, перехватывает запрос на соединение с удаленным сервером 240 и пересылает адрес, по которому нужно установить соединение, и запрос на создание порта средству установки соединения 230. На этапе 440 средство установки соединения 230 инициирует установку соединения с удаленным сервером 240 по адресу, полученному от средства перехвата 220. На этапе 450 средство установки соединения 230 создает временный порт, используя функцию bind(), сообщает информацию о порте средству перехвата 220, имитируется статус от сервера, с которым начата, но не окончена, процедура установки соединения. На этапе 460 все запросы от приложения 210 перенаправляются на созданный порт. На этапе 470 средство установки соединения 230, если с удаленным сервером 240 не удалось установить соединение, закрывает порт. Таким образом, имитируется статус от сервера, с которым не удалось установить соединение. Если соединение с удаленным сервером 140 установлено, то средство установки соединения 230, вызвав функцию listen(), открывает порт и начинает отвечать на запросы приложения 210. Имитируется статус от сервера, с которым удалось установить соединение. На этапе 480 приложение 210 посылает очередной запрос на установку соединения по текущему адресу из списка от DNS-сервера. В случае, когда порт открыт, этап 490, приложение начинает обмен данными с удаленным сервером 240. В противном случае приложение 210 переходит на этап 420 и инициирует установку соединения со следующим адресом из списка от DNS-сервера.Figure 4 shows a diagram of the algorithm for establishing a connection using a proxy server. At step 410, the
Фиг.5 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26 содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.5 is an example of a general purpose computer system, a personal computer or server 20 comprising a
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.The personal computer 20 in turn contains a
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.The present description discloses an implementation of a system that uses a
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканнер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например колонками, принтером и т.п.Computer 20 has a
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг.5. В вычислительной сети могут присутствовать также и другие устройства, например маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.The personal computer 20 is capable of operating in a networked environment, using a network connection with another or more
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.Network connections can form a local area network (LAN) 50 and a wide area network (WAN). Such networks are used in corporate computer networks, internal networks of companies and, as a rule, have access to the Internet. In LAN or WAN networks, the personal computer 20 is connected to the local area network 50 via a network adapter or
В заключение следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.In conclusion, it should be noted that the information provided in the description are only examples that do not limit the scope of the present invention defined by the claims.
Claims (8)
а) приложение, которое инициирует установку соединения с удаленным сервером путем отправки сетевых запросов;
б) средство перехвата, предназначенное для перехвата сетевых запросов от приложения к удаленному серверу и инициации создания временного порта;
в) средство установки соединения, предназначенное для установки соединения с удаленным сервером после перехвата средством перехвата, создания временного порта и имитации статуса от сервера при помощи изменения состояния созданного временного порта;
г) удаленный сервер, который устанавливает соединение в ответ на сетевые запросы.1. A connection processing system using a temporary port, which contains:
a) an application that initiates a connection to a remote server by sending network requests;
b) an interception tool designed to intercept network requests from an application to a remote server and initiate the creation of a temporary port;
c) a connection setup tool designed to establish a connection with a remote server after being intercepted by a capture tool, creating a temporary port and simulating the status from the server by changing the state of the created temporary port;
d) a remote server that establishes a connection in response to network requests.
A) открывает порт, когда соединение с удаленным сервером установлено;
Б) закрывает порт, когда соединение с удаленным сервером не установлено;
B) когда удаленный сервер не отвечает, ожидает ответа от удаленного сервера и закрывает порт по истечении периода времени на установку соединения.4. The system according to claim 1, in which the connection setup tool changes the state of the created temporary port:
A) opens the port when a connection to the remote server is established;
B) closes the port when the connection to the remote server is not established;
B) when the remote server does not respond, it waits for a response from the remote server and closes the port after a period of time to establish a connection.
а) инициируют установку соединения с удаленным сервером путем отправки сетевых запросов;
б) перехватывают сетевые запросы;
в) устанавливают соединение с удаленным сервером после перехвата;
г) создают временный порт;
д) имитируют статус от сервера путем изменения состояния временного порта.5. A method for processing a connection using a temporary port in which:
a) initiate a connection with a remote server by sending network requests;
b) intercept network requests;
c) establish a connection with a remote server after interception;
d) create a temporary port;
d) simulate the status from the server by changing the status of the temporary port.
A) когда соединение с удаленным сервером установлено, открывают порт;
Б) когда соединение с удаленным сервером не установлено, закрывают порт;
B) когда удаленный сервер не отвечает, ожидают установки соединения и закрывают порт по истечении периода времени на установку соединения. 8. The method according to claim 5, in which the state of the temporary port is changed:
A) when the connection with the remote server is established, open the port;
B) when the connection to the remote server is not established, close the port;
B) when the remote server does not respond, wait for the connection to be established and close the port after a period of time to establish the connection.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2013111282/08A RU2541118C2 (en) | 2013-03-14 | 2013-03-14 | Connection processing system and method using temporary port |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2013111282/08A RU2541118C2 (en) | 2013-03-14 | 2013-03-14 | Connection processing system and method using temporary port |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2013111282A RU2013111282A (en) | 2014-09-20 |
RU2541118C2 true RU2541118C2 (en) | 2015-02-10 |
Family
ID=51583523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2013111282/08A RU2541118C2 (en) | 2013-03-14 | 2013-03-14 | Connection processing system and method using temporary port |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2541118C2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2289886C2 (en) * | 2002-08-30 | 2006-12-20 | Эррикос ПИТСОС | Method, bridge, and system for data transfer between public data network device and intercom network device |
US7161947B1 (en) * | 2002-07-30 | 2007-01-09 | Cisco Technology, Inc. | Methods and apparatus for intercepting control and data connections |
US8295277B2 (en) * | 2007-06-29 | 2012-10-23 | Cisco Technology, Inc. | Analyzing a network with a cache advance proxy |
-
2013
- 2013-03-14 RU RU2013111282/08A patent/RU2541118C2/en active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7161947B1 (en) * | 2002-07-30 | 2007-01-09 | Cisco Technology, Inc. | Methods and apparatus for intercepting control and data connections |
RU2289886C2 (en) * | 2002-08-30 | 2006-12-20 | Эррикос ПИТСОС | Method, bridge, and system for data transfer between public data network device and intercom network device |
US8295277B2 (en) * | 2007-06-29 | 2012-10-23 | Cisco Technology, Inc. | Analyzing a network with a cache advance proxy |
Also Published As
Publication number | Publication date |
---|---|
RU2013111282A (en) | 2014-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4965574B2 (en) | Port sharing among multiple processes | |
JP7522323B2 (en) | Data transmission method, device, equipment and computer program for service integration | |
US11936638B2 (en) | Link protocol agents for inter-application communications | |
US20240069977A1 (en) | Data transmission method and data transmission server | |
Rhodes et al. | Foundations of Python network programming | |
WO2012129468A1 (en) | System and method for sharing data from a local network to a remote device | |
CN101364976B (en) | Method and apparatus for establishing communication channel and data communication system | |
TWI632465B (en) | Method for use with a public cloud network, private cloud routing server and smart device client | |
CN104426837A (en) | Application specific packet filter method and device of file transfer protocol | |
US10367894B2 (en) | Information processing apparatus, method for controlling the same, non-transitory computer-readable storage medium, and information processing system | |
US20130117437A1 (en) | Method for establising tcp connecting according to nat behaviors | |
WO2009093308A1 (en) | Connection control method, connection control server device, connection control client device, and program | |
US20120173740A1 (en) | Method and apparatus of performing peer-to-peer communication establishment | |
CN108882262B (en) | Equipment state synchronization method and system, intelligent terminal and readable storage medium | |
Zato et al. | Platform for building large-scale agent-based systems | |
US11659012B2 (en) | Relayed communication channel establishment | |
RU2541118C2 (en) | Connection processing system and method using temporary port | |
CN1917512B (en) | Method for establishing direct connected peer-to-peer channel | |
WO2016161774A1 (en) | Method and apparatus for terminal application accessing nas | |
KR20090071542A (en) | Host posing network device and method thereof | |
WO2019045828A1 (en) | Bidirectional data exchange | |
WO2016188172A1 (en) | Method and system for implementing remote terminal tool | |
TW202233007A (en) | Connection method and computer-readable medium for use in a private communication architecture | |
KR102187301B1 (en) | The multiple virtual network communication system and method using virtual router | |
CN115509435A (en) | Data reading and writing method, device, equipment and medium |