CN108322390A - Router and flow managing method - Google Patents

Router and flow managing method Download PDF

Info

Publication number
CN108322390A
CN108322390A CN201710367614.7A CN201710367614A CN108322390A CN 108322390 A CN108322390 A CN 108322390A CN 201710367614 A CN201710367614 A CN 201710367614A CN 108322390 A CN108322390 A CN 108322390A
Authority
CN
China
Prior art keywords
package
controller
transport layer
storage device
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201710367614.7A
Other languages
Chinese (zh)
Other versions
CN108322390B (en
Inventor
许礼峰
黎光明
张政邦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synology Inc
Original Assignee
Synology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Synology Inc filed Critical Synology Inc
Priority to CN202110189888.8A priority Critical patent/CN112910914A/en
Priority to US15/787,954 priority patent/US10819632B2/en
Priority to EP17201972.1A priority patent/EP3352419A1/en
Publication of CN108322390A publication Critical patent/CN108322390A/en
Priority to US17/035,025 priority patent/US11706137B2/en
Application granted granted Critical
Publication of CN108322390B publication Critical patent/CN108322390B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A kind of router and flow managing method.Router has communication device, the first controller, storage device and second controller.Communication device receives association at least one second package of the first package of multiple first packages of a line and connecting.First controller parses the multiple first package to determine multiple transport layer parameters of the line.Storage device stores the multiple transport layer parameters.Second controller implements traffic management according at least part of the second package of the transport layer parameters pair in the storage device is stored in.

Description

Router and flow managing method
Technical field
The application relates generally to flow control/monitoring technology of router, having dual controller in particular to one kind Router architectures.
Background technology
It, generally can be by net since the service efficiency and data transmission efficiency of network is contemplated in the planning for setting up network Network is divided into Wide Area Network and Local Area Network, and router is then the important angle for playing bridge joint Wide Area Network and Local Area Network Color mainly provides the function of routing and transfer, determines the transmission path that package is passed through from source terminal to destination, this mistake Journey is known as routeing, in addition, package is transferred to output port appropriate from input port in router interior, this process then claims To transfer.The routing provided through router and transfer function, the arbitrary dress being whether located in Wide Area Network or Local Area Network Set the data transmission that can be smoothly completed between device and device.
With the fast development of network application, the keyholed back plate demand of data transmission is increasingly increased, then in addition to routing with It transfers except function, many routers have also been additionally provided the function of flow control/monitoring, however, flow control/monitoring needs The parsing complicated to the progress of each package, which could be realized, to be accurately controlled and monitors.
As shown in Figure 1, OSI (Open System Interconnection Reference Model, open system Interconnect Reference Model, hereinafter referred to as OSI) network architecture is divided into 7 layerings, and every layer respectively can carry out package different disposal to reach At specific function or demand.In addition, Fig. 1 further discloses the process of a package transmission, in order to enable data smoothly in network Data must could be sent to correct destination by upper transmission, each package by the encapsulation of layer upon layer.Assuming that one is answered Transmission data are needed to go out with program, then some transfer protocols can be added in transmission end in transport layer (Transport layer) (such as:Transmission control agreement (Transmission Control Protocol, TCP), user datagram agreement (User Datagram Protocol, UDP) or network control message agreement (Internet Control Message Protocol, ICMP information)) is at gauge outfit (header), to ensure that package can be sent to purpose application program appropriate.Then, in network Layer (Network layer) processing procedure in, can be added source terminal network convention address (Internet Protocol, IP) and the information of the network convention address of destination, to ensure that package can be sent to correct purpose.Finally, by entity Layer (Physical layer) by package be converted into physical network (such as:Second too net (Ethernet)) transformat, with true Protecting data can transmit in various physical medias.
Likewise, as shown in Fig. 2, when router receives external package, it is necessary to which parsing in layer can just be known The information of this package of road.And it is directed to flow control/monitoring, if it is to be understood that this package is from which network convention at present Location just will at least parse the network convention address in header, and router is by analyzing network convention address, you can differentiate current This package is sent from where, to achieve the purpose that flow control/monitoring.In addition, in application layer In the processing procedure of (Application layer), router can also parse agreement used in application layer (such as:Terminal Machine simulation agreement (Telnet)), with learn belonging to this current package be terminating machine simulation agreement application program (such as: Electronic bulletin board system (Bulletin Board System, BBS)) data.
However, in order to realize flow control/monitoring, it is necessary to just carrying out above-mentioned parsing layer by layer to each package can learn Which application program it belongs to, from information such as which network convention addresses, during this will inevitably be aggravated in router The burden of central processor, and then influence the transmission efficiency of router.Therefore, pole need to have a kind of flow managing method and using should The router of method can effectively reduce the burden of the central processing unit in router and promote the transmission efficiency of router.
Invention content
The router and flow managing method that the application proposes a kind of system architecture with dual controller to realize are controlled by pair Device processed shares flow control or the flow monitoring of master controller (also can be regarded as the central processing unit described in prior art) Task can not only allow the flow that handles of unit interval to be substantially improved, moreover it is possible to which the burden for effectively reducing master controller makes main control Device can have more resources to go to handle other network services.
The embodiment of the application provides a kind of router, including communication device, the first controller, storage device, with And second controller.The communication device is to receive association to multiple first packages of a line and connecting described first Second package of package.First controller is to parse first package to determine multiple transport layers of the line Parameter.The storage device is to store the transport layer parameters.The second controller is to according to being stored in At least part of transport layer parameters implement a traffic management to second package in storage device.
Another embodiment of the application provides a kind of flow managing method, is suitable for including the first controller and the second control The router of device processed.The flow managing method includes the following steps:Receive association to a line multiple first packages and Connect the second package of first package;First package is parsed to determine the more of the line by first controller A transport layer parameters;The transport layer parameters are stored by storage device;And it is according to being stored in by the second controller At least part of transport layer parameters implement traffic management to second package in storage device.
About the application, skilled worker is familiar in other additional features and advantages, this field, is not departing from the application's In spirit and scope, when router and flow managing method that can be disclosed by this case implementation do a little change It is obtained with retouching.
Description of the drawings
Fig. 1 is the schematic diagram for showing the OSI network architectures;
Fig. 2 is to show package in the schematic diagram of transmission and 7 agreement layer parsing operation involved during reception;
Fig. 3 is the network environment Organization Chart according to one embodiment of the application;
Fig. 4 is 10 system architecture schematic diagram of router according to one embodiment of the application;
Fig. 5 is the flow chart of the flow managing method according to one embodiment of the application;
Fig. 6 is the operation chart of the flow control according to one embodiment of the application;
Fig. 7 is the operation chart of the flow monitoring according to one embodiment of the application.
【Symbol description】
100 network environments
10 routers
20 Wide Area Networks
21~23 network communication devices
30 Local Area Networks
31~33 user's devices
11 communication devices
12 master controllers
13 storage devices
14 network subsystems
14-1 submaster controllers
14-2 storage devices
610 network subsystem modules
611 network subsystem databases
620 network subsystem drive modules
621 strengthen wired for management module
630 network stack modules
631 line database of record
640 resident program modules
S510~S530 number of steps
6a~6d, 7a~7g number of steps
Specific implementation mode
What this section was described be implement the application preferred mode, it is therefore intended that illustrate spirit herein rather than to The protection domain for limiting the application, when it will be appreciated that using words such as "comprising", " comprising " in this manual, be to There are specific technical characteristic, numerical value, method and step, operation processing, element and/or components for expression, but are not precluded and can add Upper more technical characteristics, numerical value, method and step, operation processing, element, component, or more arbitrary combination.
Fig. 3 is the network environment Organization Chart according to one embodiment of the application.Network environment 100 include router 10, Wide Area Network (Wide Area Network, WAN) 20 and Local Area Network (Local Area Network, LAN) 30, In, router 10 is set between Wide Area Network 20 and Local Area Network 30.
Wide Area Network 20 can be by telecommunication network, optical fiber (Optical) network or Asymmetrical Digital Subscriber Line The network that (Asymmetric Digital Subscriber Line, ADSL) network etc. is formed, and can be described as outer net or public affairs Net usually bridges prodigious physical extent, and the range covered can pass through world-wide web and connect from tens kilometers to thousands of kilometers The multiple areas of line, city or country, form international far-end network.
Wide Area Network 20 can connect multi-section network communication device 21~23, and each of network communication device 21~23 can be Notebook computer, desktop PC, work station, server, smart mobile phone or tablet computer.For example, network is logical Any one of T unit 21~23 can be a server, provide service/application, such as:E-mail receiver/send service, mobile push away broadcast clothes Business, web service or Short Messaging Service etc..
Local Area Network 30 can be by second too net, Wireless Fidelity (Wireless Fidelity, WiFi) network, twisted-pair feeder The network that (Twisted Pair) network or coaxial cable (Coaxial cable) network etc. are formed, and Intranet is can be described as, It usually covers regional area, such as:Certain floor in office or building.
It may include multiple user's devices 31~33 in Local Area Network 30, each of user's device 31~33 can be pen Note type computer, desktop PC, smart mobile phone, tablet computer, work station or server etc. have disappearing for networking function Expense property electronic device.
Router 10 is mainly responsible for bridge joint Wide Area Network 20 and Local Area Network 30, and particularly, router 10 provides road By the function with transfer, the data transmission between network communication device 21~23 and user's device 31~33 is realized.In addition, Router 10 also provides the function of traffic management, such as:It is route with transfer data transmission carry out flow control, with And/or flow monitoring.
In an embodiment, flow control can be controlled for the package for meeting specified conditions, such as:To specific next The package of source-end networks agreement address carries out speed limit or interception.
In an embodiment, flow monitoring can be recorded and count, example into row information for the package for meeting specified conditions Such as:Count total transmission quantity of application-specific, including total package number and/or total packed byte (byte) number.Citing comes It says, user can remove inquiry application-specific, specific website or specific device from the data acquired by flow monitoring Total transmission quantity.
Fig. 4 is 10 system architecture schematic diagram of router according to one embodiment of the application.Router 10 includes communication Device 11, master controller 12, storage device 13 and network subsystem (Network Subsystem, NSS) 14.
Communication device 11 is provided for linking to (including the network communication device 21 on Wide Area Network 20 of Wide Area Network 20 ~23) and Local Area Network 30 (including user's device 31~33 on Local Area Network 30).Communication device 11 can follow at least One particular communication technology provides wired or connecting wireless network, such as:Second too network technology, adopting wireless fidelity technology, the whole world is mobile logical Letter system (Global System for Mobile communications, GSM) technology, Universal Packet Wireless Service (General Packet Radio Service, GPRS) technology, global enhanced data transmit (Enhanced Data Rates for Global Evolution, EDGE) technology, wide band code division multiplexing access (Wideband Code Division Multiple Access, WCDMA) technology, demal multiplexing access -2000 (Code Division Multiple Access 2000, CDMA-2000) technology, Time Division Synchronous CDMA multiplexing access (Time Division-Synchronous Code Division Multiple Access, TD-SCDMA) technology, global intercommunication microwave access (Worldwide Interoperability for Microwave Access, WiMAX) technology, long term evolution (Long Term Evolution, LTE) technology or timesharing long term evolution (Time-Division LTE, TD-LTE) technology etc..
In an embodiment, communication device 11 may include a second too network interface card to provide the line function of cable network. In another embodiment, communication device 11 may include a wireless transceiver, and specifically, wireless transceiver may include fundamental frequency (baseband) device, radio frequency (Radio Frequency, RF) device and antenna, fundamental frequency device is executing fundamental frequency signal Processing, including Analog-digital Converter (analog to digital conversion, ADC)/digital-to-analogue conversion (digital To analog conversion, DAC), gain (gain) adjustment, modulation with solution modulation and coding/decoding etc.;Radio frequency fills It sets to receive rf wireless signal, and rf wireless signal is converted into fundamental frequency signal to transfer to fundamental frequency device further to locate Reason, or fundamental frequency signal is received from fundamental frequency device, and fundamental frequency signal is converted into rf wireless signal to be transmitted through antenna. Wherein used radio frequency can be 2.4 gigahertz (GHZ)s, 3.6 gigahertz (GHZ)s, 4.9 gigahertz (GHZ)s or 5 gigahertz (GHZ)s used in adopting wireless fidelity technology, or end Depending on the used communication technology.
Master controller 12 can be general processor, central processing unit (Central Processing Unit, CPU), micro- place Manage device (Micro Control Unit, MCU), application processor (Application Processor, AP) or digital signal Processor (Digital Signal Processor, DSP) etc., may include various circuit logic, to provide data processing And operation function, control communication device 11 running with provide network connectivity, from storage device 13 read or store data with And/or procedure code and control network subsystem 14 running with accelerate to package processing (imply that will to the processing of package appoint Business is passed to network subsystem 14).In addition, master controller 12 includes other circuit logics, to provide routing to package, turn It send, the function of flow control and/or flow monitoring.
In particular, master controller 12 is to coordinate to control communication device 11, storage device 13 and network subsystem 14 Running, to execute the flow managing method of the application.In an embodiment, master controller 12 can also read journey from storage device 13 For sequence code to execute an operating system and application program, wherein operating system may include various resident program (daemon), such as: Network flow management (Network Traffic Management, NTM) resident program.
Storage device 13 is the computer readable memory medium of non-transient (non-transitory), to store from solution Analyse transport layer parameters acquired by package and application layer parameter and computer-readable instruction or procedure code (including:It answers With the procedure code of program, operating system and/or communication protocol).
In an embodiment, storage device 13 can be double data rate synchronous dynamic random-access memory body (Double Data Rate Synchronous Dynamic Random Access Memory, DDR SDRAM), with Double Date Rate Characteristic, that is to say, that data transmission bauds is twice of system clock, therefore random is deposited better than traditional in transmission efficiency Take memory body.In another embodiment, storage device 13 can be quick flashing (flash) memory body, cache (cache) memory body or its The memory body of his type or other storage media.
Network subsystem 14 is referred to alternatively as hardware acceleration engine again, to substitute master controller 12 provide flow control, with And/or the function of flow monitoring.Network subsystem 14 includes submaster controller 14-1 and storage device 14-2, wherein submaster controller 14-1 can be microprocessor, application processor or digital signal processor etc., may include various circuit logic, to provide The function of data processing and operation, control the running of communication device 11 with network connectivity is provided, read from storage device 14-2 or Store data and/or procedure code and execute to the processing task of package (including:The routing of package, transfer, flow control, And/or flow monitoring).It will be understood that the above-mentioned composition about network subsystem 14 is merely illustrative, in other embodiment In may include more or fewer constituent element.In addition, it is every can by accelerate package processing so that reduction master controller 12 it is negative The hardware acceleration engine of load all can be used as an example of network subsystem described herein.
Those skilled in the art are familiar with when it is understood that master controller 12 and the circuit logic in submaster controller 14-1 are usual in the field It may include multiple transistors, to control the running of the circuit logic to provide required function and operation.Further, brilliant The specific structure of body pipe and its between connection relation be typically determined by compiler, such as:Buffer shifts language (Register Transfer Language, RTL) compiler can be operated by processor, by the instruction of similar compositional language code File (script) is compiled into suitable for designing or manufacturing the form needed for the circuit logic.
Storage device 14-2 be non-transient computer readable memory medium, to store flow control rule, with And computer-readable instruction or procedure code (including:The procedure code of communication protocol).
In an embodiment, storage device 14-2 can be close-coupled memory body (Tightly-Coupled Memory, TCM), the characteristic that zero access and low power consumption are possessed compared to conventional memory body structure, is typically coupled to submaster controller 14-1 Kernel, provide the function of data quick to improve the efficiency of submaster controller 14-1.In another embodiment, storage device 14-2 can For fast flash memory bank, cache memory or other kinds of memory body or other storage media.
When it will be appreciated that element shown in Fig. 4 only to provide the example of an explanation, not limiting the application's Protection domain.For example, router 10 may also include:Show screen (such as:Liquid crystal display (Liquid Crystal Display, LCD), light emitting diode indicator (Liquid Crystal Display, LCD) or electric paper display (Electronic Paper Display, EPD) etc.) and/or input/output unit is (such as:One or more buttons, keyboard, mouse Mark, Contact plate, video lens, microphone or loudspeaker) etc..
Fig. 5 is the flow chart of the flow managing method according to one embodiment of the application.In this embodiment, traffic management Method is the router suitable for dual controller framework, such as:Router 10.
First, router 10 receives association to multiple first packages of a line and connects the one the of above-mentioned first package Two packages (step S510) then parse above-mentioned first package to determine above-mentioned line by the master controller 12 of router 10 Multiple transport layer parameters (step S520).
In one or more embodiments, " line " can refer to the shape that two devices penetrate network exchange information State.Network can refer to various means of communication or communication standard herein.When two devices (such as:User's device 32 and network Communication device 22) exchange information when, represent line and have been established or establishing, and the exchange of information can pass through one by one Package carries out.In some embodiments, above-mentioned " line " may also mean that local end device (such as:User's device 32) Run some application programs (such as:Browser) provided with the server unit of outer net a certain network service (such as: Community website) between information exchange, and the exchange of this information also be through package carry out.One or more embodiments of the application Be to provide a kind of network subsystem 14 using in router 10 for certain types of " line " carry out flow control, with And/or the technology of flow monitoring, other than it can accelerate package transmission speed, moreover it is possible to reduce the load of master controller 12.
Particularly, master controller 12 is when being resolved to the 4th layer of the OSI network architectures, you can obtains above-mentioned transport layer ginseng Number, alternatively, transport layer parameters can also further comprise the 1st~3 layer of parameter of the OSI network architectures, that is, master controller 12 The obtained parameter in the 1st~3 layer of the parsing operation for carrying out the OSI network architectures.For example, transport layer parameters may include Below at least one:Port (port) information of the network convention address of source terminal and destination, source terminal and destination, source End and the agreement of destination (such as:Transmission control agreement, user datagram agreement or network control message agreement), total package Number and total packed words joint number.
Then, the transport layer parameters (step S530) that master controller 12 parses are stored by storage device 13.Later, Submaster controller 14-1 by router 10 is according to being stored in storage device 13 at least part of transport layer parameters to above-mentioned second Package implements traffic management (step S540), and flow terminates.
In an embodiment, at least part of transport layer parameters may include:The network convention of source terminal and destination The port information of location and source terminal and destination.Master controller 12 is recognized about the source terminal of the line and the net of destination The port information of network agreement address and source terminal and destination, and the source about the line is stored by storage device 13 End and the network convention address of destination and the port information of source terminal and destination, later, submaster controller 14-1 Certain traffic managements are carried out for the line, such as:The line can be directed to and implement flow monitoring.That is, in these implementations In example, submaster controller 14-1 can directly statistical correlation reach an agreement on the network flow of address and port in particular network, without Use application layer message.
In another embodiment, master controller 12 can also obtain multiple applications of above-mentioned line when parsing above-mentioned first package Layer parameter, using layer parameter include at least it is following at least one:Regular label (Rule Tag) and application program (Application, APP) identification code.Particularly, master controller 12 is when being resolved to the 7th layer of the OSI network architectures, you can Obtain above application layer parameter, and master controller 12 will at least partly transport layer parameters and can at least partly turn using layer parameter It changes submaster controller 14-1 into and executes rule required when traffic management.For example, the rule can be passed for super word The flow of defeated agreement (HyperText Transfer Protocol, HTTP) is monitored, so after a line is established, Master controller 12 can recognize application layer parameter and the transport layer parameters for being associated with the line, to be confirmed to be assisted for super teletext After determining and parsing its network convention address, submaster controller 14-1 can do traffic management to the follow-up package of the line, Such as:Follow-up package is implemented independently of programs such as the flow control of master controller 12, flow monitoring and/or package transfers. Above-mentioned " independently of master controller 12 " refers to the information that master controller 12 does not parse follow-up package, also not to follow-up package into Row traffic management.
It will be understood that in one or more embodiments of the application, the execution of above-mentioned traffic management is to be substantially independent of Master controller 12.That is, the execution of above-mentioned traffic management increases master controller 12 substantially without increase or hardly Burden, the most of of traffic management is mainly carried out by submaster controller 14-1 and is operated, such as:Flow control, flow monitoring are simultaneously It is updated to storage device 13.In the future, flow monitoring is if desired carried out, only need to directly inquire statistical data in storage device 13 just It can learn total transmission quantity of application-specific, website or device.
To make more in understanding how the application does not need the intervention of master controller 12, you can carry out network flow to particular link The control and monitoring of amount, following embodiment will be described in detail the transmission path of package.
Fig. 6 is the operation chart of the flow control according to one embodiment of the application.In this embodiment, it is related to flow Controlling the system architecture operated includes:Network subsystem module 610, network subsystem driving (driver) module 620, network heap Folded module 630 and resident program module 640, wherein each module can be the software module of procedure code institute construction, by controller (such as:Master controller 12 or submaster controller 14-1) it is loaded into and executes to realize the traffic management of the application in flow control operation Method.Particularly, network subsystem drive module 620, network stack module 630 and resident program module 640 are by leading Performed by controller 12, network subsystem module 610 is performed by submaster controller 14-1.
In addition, from the point of view of with the execution face of operating system, network subsystem module 610, network subsystem driving 620 and Network stack module 630 is the core space (kernel space) positioned at operating system, and resident program module 640 is to be located at The user space (user space) of operating system.
Network subsystem module 610 further includes network subsystem database 611, to store network subsystem module 610 The required rule when executing flow control, for example, network subsystem database 611 is storable in the dress of the storage in Fig. 4 Set 14-2.
Network subsystem drive module 620 further include strengthen wired for management (Enhanced Connection Manager, ECM) module 621, to determine whether to accelerate the processing to package by network subsystem module 610, after making the line Continuous package can directly be handled by network subsystem module 610, and can also complete the purpose of flow control.
Network stack module 630 further includes line record (Connection Track, CT) database 631, to store Analytically the transport layer parameters acquired by package with apply layer parameter, for example, line database of record 631 is storable in figure 4 storage device 13.
As shown in fig. 6, a line preceding n package (such as:The first package described in the embodiment of Fig. 5) it can be according to standard Path (path indicated with fine line) up enters network subsystem drive module 620 from network subsystem module 610, then It is sent to network stack module 630, the parsing layer by layer of the OSI network architectures is carried out to package at this, includes the 1st of the OSI network architectures ~4 layers of parsing, to obtain transport layer parameters.Transport layer parameters may include it is below at least one:The net of source terminal and destination Network agreement address, the port information of source terminal and destination, the reaching an agreement on of source terminal and destination, total package number and total package Byte number.At this point, transport layer parameters can be stored in line database of record 631 (step 6a).
Then, package can be sent to resident program module 640, and be drawn using some DPI by a wherein resident program NTM (Deep Packet Inspection engine, DPI engine) is held up to obtain using layer parameter.DPI engines can for example but Be not limited to some programs (such as PACE and NBAR) commercially or open function library (such as nDPI, open DPI, L7-filter, Libprotoident) etc..It will be understood that above procedure module is limiting the concrete application of the application, such as can also lead to The mode for crossing machine learning obtains relevant line parameter, and the technical detail of machine learning application can refer to Zhanyi Wang, The Applications of Deep Learning on Traffic Identification.To make more in understanding, below It will be with nDPI and TC (Traffic Control are a software module of linux kernel) the two opening function libraries (open source library) illustrates implementation detail.
In a specific embodiment, resident program NTM can call nDPI, TC, and the two open function library to obtain application Layer parameter, then when the gauge outfit encapsulation process of package is sent to network stack module 630, storage after layer parameter will be applied converted Into line database of record 631 (step 6b).It for example, can be in resident program module 640 by place using layer parameter It is converted into specific format after reason and is stored in the specific field in line database of record 631, such as:When an application program uses Be the agreement of super teletext when, it is transformed to apply layer parameter, such as:Application program identification code can be that (or other are pre- by 0x1 Fixed number value, such as:0x56, as long as subscribing the numerical value in this application corresponds to super teletext agreement);Alternatively, when one When application program uses file transfer protocol (File Transfer Protocol, FTP), transformed application program is known Other code can be 0x5;Or when an application program uses containment agreement (Secure SHell, SSH), conversion Application program identification code afterwards can be 0x15.In simple terms, agreement classification used in each application layer corresponds to one Specific application program identification code, and apply layer parameter that can be deposited together with corresponding transport layer parameters after format conversion Be stored in line database of record 631 (such as:It is stored as [network convention address;Port information;Total transmission quantity;Application program is known Other code (0x1)] format).Later, when lower module (such as:Network subsystem drive module 620 and network subsystem mould Block 610) update specific transmission layer parameter corresponding to flow information to line database of record 631 when, line database of record 631 are stored with super teletext agreement (application program identification code=0x1) in particular network agreement address and particular port Total transmission quantity (can be used as flow monitoring use, detailed description can refer to Fig. 7).
It carries out the parsing of application layer with ability to above-mentioned resident program NTM, to recognize the package of different application, this Outside, moreover it is possible to accomplish the ability of keyholed back plate for the different function of thin portion in different application.For example, it can selectively adjust The transmission rate of Skype files.
Above-mentioned nDPI is one to open and extendible go deep into preamble detection (Deep packet inspection, DPI) letter Number libraries, the main function that filtering packets are provided, check package whether meet specification agreement or whether be virus, spam, Or invasion, or package (i.e. flow monitoring) is checked for collection of statistical data;And TC is a flow control (Traffic Control, TC) function library, packet scheduling device is mainly set with every flow control operation, including:Package priorization processing, stream Buret system (traffic shaping), bandwidth limitation and service quality control etc..
In an embodiment, open function library nDPI can judge that this package is which belongs to apply journey in 10 packages Sequence, that is to say, that the value of n is expectable for less than or equal to 10.
Using layer parameter include it is following at least one:Regular label and application program identification code.Wherein, application program Identification code is indicating this package is which application program belonged to;Regular label is then used to refer to show whether this package is differentiated Go out be belong to a certain line application program (such as:The larger application program of certain flows relatively is suitble to walk acceleration path, to reduce The burden of master controller 12), if so, indicating that the acceleration processing to package can be implemented by network subsystem module 610, simultaneously The regular label of the package (and follow-up package of the line) can be set as by the resident program NTM in resident program module 640 " true (True) " (its preset value is " false (False) ").
It is worth noting that, other than storing transport layer parameters and at least partly applying layer parameter, line records number Traffic control rule can be also stored according to library 631, is used for carrying out flow control to application-specific, specific website or specific device System (such as:Speed limit).In one embodiment, traffic control rule can be according to service quality (Quality of Service, QoS) Parameter (such as:Service quality identification code) depending on.It is special that quality of service parameters can be used to informing network subsystem drive module 620 1 Determine the service quality setting of line, different quality of service parameters can correspond to different transmission rates.More specifically, when making When user is intended to set speed limit to an application-specific, the setting of this speed limit is convertible into quality of service parameters.For example, when There are one wish by speed limit application program (such as:The application reached an agreement on using super teletext), package passes through resident program When NTM, resident program NTM can inquire user speed limit setting (such as:Whether specific source terminal/destination network is directed to Agreement address or application-specific carry out speed limit), and analyze whether this line needs speed limit, if desired speed limit, then will apply Program identification code and quality of service parameters deposit line database of record 631, if being not necessarily to speed limit, only by application program identification code It is stored in line database of record 631.
In one illustrates, quality of service parameters can be used to indicate " guarantee transmission rate whenever ", " average transmission speed The information such as rate " or " maximum delay time ".Quality of service parameters is stored in line database of record 631, to indicate certain The service quality that one line should have.
Fig. 6, subsequent steps 6b are returned to, package is sent to net by network stack module 630 after the completion of the encapsulation of the gauge outfit of package Network Subsystem drive module 620 is judged whether the value of the regular label of the package is true by reinforcing wired for management module 621. In one embodiment, when resident program module 640 obtain the line application layer parameter (such as:Application program identification code) when, i.e., The value of regular label can be set as true.If regular label is true, strengthening wired for management module 621 can be to line database of record 631 inquire transport layer parameters and the traffic control rule (step 6c) of the package, the transport layer parameters for then obtaining inquiry with Traffic control rule is stored to network subsystem database 611 (step 6d).
Later, the operation that network subsystem module 610 route package and transfer according to general procedure, and according to Transport layer parameters in network subsystem database 611 directly carry out flow with traffic control rule to the follow-up package of the line Control (path indicated with heavy line), without package to be up sent to network subsystem drive module 620, network stack mould Block 630 and resident program module 640 go to handle.
In other words, when the value of regular label is true, can trigger reinforcing wired for management module 621 will be needed for flow control Transport layer parameters and traffic control rule write-in network subsystem database 611, and then it is right to trigger network subsystem module 610 Follow-up package carries out flow control.
In an embodiment, network subsystem module 610, can also be right simultaneously other than carrying out flow control to follow-up package Those packages carry out flow monitoring, and periodically by obtained by flow monitoring data (such as:Total package number and/or total packed byte Number) it updates into line database of record 631.
In some embodiments, if there is no the flow controls for being associated with some line in line database of record 631 Rule (such as:Quality of service parameters), due to the speed limit rule that can not apply mechanically, so network subsystem module 610 can be only For the line follow-up package (such as:The second package in step 530) carry out flow monitoring.
Fig. 7 is the operation chart of the flow monitoring according to one embodiment of the application.In this embodiment, it is related to flow The system architecture of monitoring operation is identical to Fig. 6, and step 7a~7b in operating process is also identical as step 6a~6b of Fig. 6, But subsequent step is as detailed below.Detailed narration about step 7a~7b can refer to the embodiment explanation of Fig. 6, therefore no longer superfluous herein It states.
Package is sent to network subsystem by subsequent steps 7b, network stack module 630 after completing the gauge outfit encapsulation of package Drive module 620 is judged whether the value of the regular label of the package is true by reinforcing wired for management module 621, if so, to even Line database of record 631 inquires the line database of record 631 being updated, and obtains transport layer parameters (step 7c), then will These parameters are updated to network subsystem database 611 (step 7d), and subsequent envelope is handled by network subsystem module 610 Packet.
Then, network subsystem module 610 can carry out the line flow monitoring, and periodically through reinforcing link module 621 (step 7e), by flow information update to line database of record 631 (step 7f).In one embodiment, it is recorded in line The format of flow information in database of record 631 can be [network convention address;Port information;Quality of service parameters;Total transmission Amount;Application program identification code], wherein network subsystem module 610 can remove update line record number according to the result of flow monitoring According to network convention address, port information and the total transmission quantity recorded in library 631.Thus, network subsystem module 610 do not need to identification application layer parameter information (such as:Application program identification code), and master controller 12 does not need yet Parse the parameter information of application layer, you can flow monitoring is implemented by network subsystem module 610.
Particularly, network subsystem module 610 can be according to the transport layer parameters (example in network subsystem database 611 Such as:The information such as the network convention address of source terminal/destination and/or port) to carry out flow monitoring, example to follow-up package Such as:Total package number of periodic statistical particular link and/or total packed words joint number, and the flow information of monitoring gained is returned To wired for management module 621 (step 7e) is strengthened, updated to line database of record after being arranged by reinforcing wired for management module 621 631 (step 7f).
Later, when user wants query flows information, the resident program NTM in resident program module 640 is directly from even Line database of record 631 reads data on flows (step 7g), and particularly, resident program NTM can compare the device (root to be inquired According to network convention address) or application program (according to application program identification code) find out corresponding flow information, reach flow prison The purpose of survey removes the application layer message for parsing follow-up package without master controller 12, does not also need submaster controller 14-1 and goes Application layer message in identification and interpretation line database of record 631.
As shown in fig. 7, the preceding n package of the only line can walk standard routes (path indicated with fine line), then Continuous package, which can change, walks acceleration path (path indicated with heavy line), by network subsystem module 610 directly to the line after Continuous package carries out flow monitoring, without package to be up sent to network subsystem drive module 620, network stack module again 630 and resident program module 640 go to handle.
According to the embodiment of 6~Fig. 7 of earlier figures, when it will be appreciated that the flow managing method of the application to router Overall efficiency, which is brought, to be obviously improved, in particular, in this application, being existed with synchronous each line by integrating multi-layer framework The information of each layer, preceding n (n≤10) a package of only line can walk standard routes by master controller come carry out flow control, with And/or flow monitoring, and the follow-up package of line changes to walk acceleration path and directly handled by network subsystem.Therefore, not only have Effect saves the resource of master controller, while also greatly improving the transmission efficiency of router.
Though the application is disclosed above with various embodiments, however it is only exemplary reference rather than to limit the model of the application It encloses, any those who are familiar with this art are not departing from spirit and scope, when can do a little change and retouching.Cause This above-described embodiment is not limited to scope of the present application, and the protection domain of the application is when regarding appended claims institute circle Subject to fixed range.
The words such as " first ", " second " used in claims be for modifying the element in claim, and It is non-be used for indicating between have priority order, precedence relation or an element prior to another element, or execute Chronological order when method and step is only used for distinguishing the element with same name.

Claims (20)

1. a kind of router, which is characterized in that including:
Communication device receives association to multiple first packages of a line and the second package of connecting first package;
First controller parses first package to determine multiple transport layer parameters of the line;
Storage device stores the transport layer parameters;And
Second controller, according to being stored in the storage device at least part of transport layer parameters to second package Implement traffic management.
2. router according to claim 1, which is characterized in that the execution of the traffic management is independently of first control Device processed.
3. router according to claim 1, which is characterized in that the traffic management includes:
Flow prison is implemented to second package according at least part of transport layer parameters in the storage device are stored in It surveys;And
At least part of transport layer parameters in the storage device are updated storage according to the result of the flow monitoring.
4. router according to claim 1, which is characterized in that first controller, which also receives, is associated with the line Traffic control rule, and the traffic control rule is stored in the storage device;The wherein described traffic management includes:
According to being stored in the storage device at least part of transport layer parameters and the traffic control rule to institute It states the second package and implements flow control.
5. router according to claim 4, which is characterized in that the traffic control rule is to be associated with the line Quality of service parameters.
6. router according to claim 1, which is characterized in that first controller also parse first package with It determines that the multiple of the line apply layer parameter, and the application layer parameter is stored in the storage device;The wherein described stream Buret is managed:
Flow prison is implemented to second package according at least part of transport layer parameters in the storage device are stored in It surveys;And
At least part of transport layer parameters in the storage device are updated storage according to the result of the flow monitoring.
7. router according to claim 6, which is characterized in that the fractional transmission layer parameter being updated includes following At least one:
It is associated with total package number of the line;And
It is associated with total packed words joint number of the line.
8. router according to claim 1, which is characterized in that the transport layer parameters include it is following at least one:
The network convention address of source terminal and the network convention address of destination;
The port information of source terminal and the port information of destination;
The agreement of source terminal and the agreement of destination;
Total package number;And
Total packed words joint number.
9. router according to claim 6, which is characterized in that the application layer parameter include it is following at least one:
Regular label;And
Application program identification code.
10. router according to claim 9, which is characterized in that first controller is determining the application program After identification code, the regular label is set as "true", is implemented independently of first control to trigger the second controller The traffic management of device processed.
11. router according to claim 10, which is characterized in that set the regular label in first controller After "true", the program for transferring second package is executed by the second controller.
12. a kind of flow managing method, which is characterized in that suitable for including the router of the first controller and second controller, The flow managing method includes:
Association is received to multiple first packages of a line and the second package of connecting first package;
First package is parsed to determine multiple transport layer parameters of the line by first controller;
The transport layer parameters are stored by storage device;And
By the second controller according to being stored in the storage device at least part of transport layer parameters to described Two packages implement traffic management.
13. flow managing method according to claim 12, which is characterized in that the execution of the traffic management is independently of institute State the first controller.
14. flow managing method according to claim 12, which is characterized in that the traffic management includes:
Flow prison is implemented to second package according at least part of transport layer parameters in the storage device are stored in It surveys;And
At least part of transport layer parameters in the storage device are updated storage according to the result of the flow monitoring.
15. flow managing method according to claim 12, which is characterized in that further include:
The traffic control rule for being associated with the line is received by first controller, and the traffic control rule is stored In the storage device;
The wherein described traffic management includes:According to be stored in the storage device at least part of transport layer parameters and The traffic control rule implements flow control to second package.
16. flow managing method according to claim 15, which is characterized in that the traffic control rule is is associated with State the quality of service parameters of line.
17. flow managing method according to claim 15, which is characterized in that further include:
First package is parsed by first controller to determine that the multiple of the line apply layer parameter, and is answered by described in It is stored in the storage device with layer parameter;
The wherein described traffic management includes:According to being stored in the storage device at least part of transport layer parameters to institute It states the second package and implements flow monitoring;And it is updated storage in the storage device at least according to the result of the flow monitoring The partial transport layer parameters.
18. flow managing method according to claim 17, which is characterized in that the transport layer parameters include it is following at least One:
The network convention address of source terminal and the network convention address of destination;
The port information of source terminal and the port information of destination;;
The agreement of source terminal and the agreement of destination;
Total package number;And
Total packed words joint number;
The fractional transmission layer parameter being wherein updated include total package number and total packed words joint number at least One.
19. flow managing method according to claim 17, which is characterized in that the application layer parameter include it is following at least One:
Regular label;And
Service quality identification code.
20. flow managing method according to claim 19, which is characterized in that further include:
By first controller after determining the application program identification code, the regular label is set as "true", to It triggers the second controller and implements the traffic management, and execute the journey for transferring second package by the second controller Sequence.
CN201710367614.7A 2017-01-18 2017-05-23 Router and traffic management method Expired - Fee Related CN108322390B (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202110189888.8A CN112910914A (en) 2017-01-18 2017-05-23 Router, flow control method and flow monitoring method
US15/787,954 US10819632B2 (en) 2017-01-18 2017-10-19 Routers and methods for traffic management
EP17201972.1A EP3352419A1 (en) 2017-01-18 2017-11-15 Router and method for traffic management
US17/035,025 US11706137B2 (en) 2017-01-18 2020-09-28 Routers and methods for traffic management

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762447463P 2017-01-18 2017-01-18
US62/447,463 2017-01-18

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110189888.8A Division CN112910914A (en) 2017-01-18 2017-05-23 Router, flow control method and flow monitoring method

Publications (2)

Publication Number Publication Date
CN108322390A true CN108322390A (en) 2018-07-24
CN108322390B CN108322390B (en) 2021-03-09

Family

ID=62892274

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110189888.8A Withdrawn CN112910914A (en) 2017-01-18 2017-05-23 Router, flow control method and flow monitoring method
CN201710367614.7A Expired - Fee Related CN108322390B (en) 2017-01-18 2017-05-23 Router and traffic management method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110189888.8A Withdrawn CN112910914A (en) 2017-01-18 2017-05-23 Router, flow control method and flow monitoring method

Country Status (1)

Country Link
CN (2) CN112910914A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584632A (en) * 2022-02-24 2022-06-03 成都北中网芯科技有限公司 Efficient deep packet inspection method and device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050147032A1 (en) * 2003-12-22 2005-07-07 Lyon Norman A. Apportionment of traffic management functions between devices in packet-based communication networks
CN101036371A (en) * 2004-07-14 2007-09-12 耐特瑞克公司 Apparatus and method for mapping overlapping internet protocol addresses in layer two tunneling protocols
US7426181B1 (en) * 2004-03-26 2008-09-16 Packeteer, Inc. Slow-start adaptive mechanisms to improve efficiency of bandwidth allocation
CN101668005A (en) * 2009-09-25 2010-03-10 东南大学 Data transmission accelerating engine method based on multiple access passages of transmitting end
CN103782546A (en) * 2011-09-14 2014-05-07 瑞典爱立信有限公司 Network-wide flow monitoring in split architecture networks
US20150163197A1 (en) * 2013-12-06 2015-06-11 Qualcomm Innovation Center, Inc. Systems, methods, and apparatus for full-cone and address restricted cone network address translation using hardware acceleration
US9160765B1 (en) * 2013-07-26 2015-10-13 Symantec Corporation Method for securing endpoints from onslaught of network attacks
US20160149817A1 (en) * 2014-11-20 2016-05-26 Hitachi, Ltd. Analysis device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376731B2 (en) * 2002-01-29 2008-05-20 Acme Packet, Inc. System and method for providing statistics gathering within a packet network
US20140379915A1 (en) * 2013-06-19 2014-12-25 Cisco Technology, Inc. Cloud based dynamic access control list management architecture
CN105282029B (en) * 2014-06-30 2020-02-07 中兴通讯股份有限公司 Outer label coding method, traffic congestion control method and device

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050147032A1 (en) * 2003-12-22 2005-07-07 Lyon Norman A. Apportionment of traffic management functions between devices in packet-based communication networks
US7426181B1 (en) * 2004-03-26 2008-09-16 Packeteer, Inc. Slow-start adaptive mechanisms to improve efficiency of bandwidth allocation
CN101036371A (en) * 2004-07-14 2007-09-12 耐特瑞克公司 Apparatus and method for mapping overlapping internet protocol addresses in layer two tunneling protocols
CN101668005A (en) * 2009-09-25 2010-03-10 东南大学 Data transmission accelerating engine method based on multiple access passages of transmitting end
CN103782546A (en) * 2011-09-14 2014-05-07 瑞典爱立信有限公司 Network-wide flow monitoring in split architecture networks
US9160765B1 (en) * 2013-07-26 2015-10-13 Symantec Corporation Method for securing endpoints from onslaught of network attacks
US20150163197A1 (en) * 2013-12-06 2015-06-11 Qualcomm Innovation Center, Inc. Systems, methods, and apparatus for full-cone and address restricted cone network address translation using hardware acceleration
US20160149817A1 (en) * 2014-11-20 2016-05-26 Hitachi, Ltd. Analysis device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YAN ZHANG等: ""On wide area network optimization"", 《IEEE COMMUNICATIONS SURVEYS & TUTORIALS》 *
黄文焱,褚伟: ""网络流量控制***在开源路由器上的实现"", 《计算机技术与发展》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114584632A (en) * 2022-02-24 2022-06-03 成都北中网芯科技有限公司 Efficient deep packet inspection method and device
CN114584632B (en) * 2022-02-24 2023-05-16 成都北中网芯科技有限公司 Deep packet inspection method and device

Also Published As

Publication number Publication date
CN108322390B (en) 2021-03-09
CN112910914A (en) 2021-06-04

Similar Documents

Publication Publication Date Title
Mészáros et al. Inet framework
US20060072595A1 (en) System and method for service tagging for enhanced packet processing in a network environment
CN104038507B (en) Based on the protocol conversion radio network gateway and its communication means centered on content
CN105828310B (en) Charging method, device and system for data service
CN108834090A (en) A kind of assistance information transmission method and device
CN103167535A (en) Method for upgrading AP (access point) in WLAN (wireless local area network)
CN103327129B (en) For the domain name analytic method of more WAN mouthfuls of gateway devices
CN108259455A (en) Proxy server and cross-domain communication means
CN108322390A (en) Router and flow managing method
CN100563236C (en) The transmission method of QoS parameter
Yan et al. Open vSwitch Vxlan performance acceleration in cloud computing data center
JP4767318B2 (en) Device for intercepting and analyzing terminal device traffic
CN110087321A (en) Method, apparatus, computer equipment and the storage medium of triggering terminal session
CN112039746A (en) Industrial control network system
CN103716378A (en) Method for on-line migration of virtual machine in wide area network under future network serval
US11706137B2 (en) Routers and methods for traffic management
CN101159671B (en) Flux auditing method
CN103685377B (en) A kind of web optimizes acceleration method and system
CN109150733A (en) Router and and box-like method for processing packet
CN108809795A (en) Transparent shunt method and device in a kind of LAN environment
CN110601892B (en) Main module access method, device and equipment based on object-oriented protocol
CN109639458B (en) Method and device for realizing QOS strategy
CN109257290A (en) Router and flow control methods
CN110417704A (en) A kind of things-internet gateway preloading method and device based on heterogeneous network fusion
US11115377B2 (en) Method of resolving an IP address, corresponding server and computer program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210309

CF01 Termination of patent right due to non-payment of annual fee