CN105450515B - A kind of IPv4/IPv6 data translations gateway and method for application layer protocol - Google Patents
A kind of IPv4/IPv6 data translations gateway and method for application layer protocol Download PDFInfo
- Publication number
- CN105450515B CN105450515B CN201510777462.9A CN201510777462A CN105450515B CN 105450515 B CN105450515 B CN 105450515B CN 201510777462 A CN201510777462 A CN 201510777462A CN 105450515 B CN105450515 B CN 105450515B
- Authority
- CN
- China
- Prior art keywords
- application layer
- data
- data message
- resolver
- ipv4
- 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.)
- Active
Links
- 238000013519 translation Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims description 19
- 230000014616 translation Effects 0.000 title description 37
- 238000009616 inductively coupled plasma Methods 0.000 claims description 29
- 230000014509 gene expression Effects 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 238000004458 analytical method Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 6
- 230000000877 morphologic effect Effects 0.000 claims description 5
- 230000005856 abnormality Effects 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000001174 ascending effect Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 229920001940 conductive polymer Polymers 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/167—Adaptation for transition between two IP versions, e.g. between IPv4 and IPv6
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A kind of general IPv4/IPv6 data translation gateways for application layer protocol, it is deployed in ICP sides, uplink IPv6 data messages are translated into IPv4 data messages, downstream IP v4 data messages are translated into IPv6 data messages, the IPv4 addresses for being used to establish data connection that translation content includes including in IP datagram text head and downstream IP v4 data messages;The present invention translates the message of different IP agreements by application level translation device, IPv6 user is allowed to access the service based on IPv4, the interconnection of efficient IPv6 and IPv4 are provided, the present invention supports a variety of application layer protocols, and ICP can make the present invention support its proprietary protocol by protocol description language.
Description
Technical field
The invention belongs to Internet technical field, more particularly to a kind of IPv4/IPv6 data for application layer protocol are turned over
Translate gateway and method.
Background technology
With the development of internet, IPv4 address resources are exhausted, and Internet Protocol next generation IPv6 is internet work
The solution that journey task groups (Internet Engineering Task Force) are suggested.But IPv6 do not support it is simultaneous backward
Hold IPv4, so transition of the IPv4 to IPv6 is becoming the severe challenge of current internet development.Moreover, because infrastructure
Upgrading and the various aspects such as migration of data have difficulties, for ICP (ICP), to turning for IPv6
Changing cannot be completed in a relatively short time.At the same time, most operating system of user have all supported IPv6 agreements, and
IPv6 numbers of users are escalating.Because of IPv4 addresses critical shortage, some Internet Service Providers (Internet
Service Provider) New-deployed Network used the mono- protocol stacks of IPv6 rather than IPv4/IPv6 dual stacks.Therefore, more
Mend the vital task that the estrangement between IPv4 and IPv6 is procotol transition period.
In order to which the mono- stack users of IPv6 is given to provide IPv4 network services, a kind of common approach is to establish IPv4/IPv6 translation nets
It closes.There are several realizations based on translation principle now, more commonly used is designed by Internet Engineering Task group
NAT64.The protocol header of each IPv6 message received is substituted for IPv4 protocol headers, and forward by it;Vice versa.IPv4 with
The conversion map relation record of IPv6 is in internal dynamic mapping table.But in the data of many application layer protocols also comprising IP
The information such as location, these information may be used to build up new connection or initiate new request, such as:One in http protocol
The data message for being used for transmission html page carries a URL for carrying IP address form, if this address is not turned over
It translates, then the resource that user will cannot access URL directions.And for other application layer protocol, such mistake may
It can lead to application crash.And existing translation gateway cannot support many privately owned application layer protocols, this also leads to IPv4
To IPv6 transition difficulty.
For the above situation, a kind of effective solution is to realize the translation gateway of an application layer, i.e. application layer net
It closes (Application Layer Gateway).In recent years, application layer gateway has become the weight for solving the problems, such as application layer protocol
Want means.But it in fact, one application layer gateway for IPv4/IPv6 translations of exploitation is highly difficult, is primarily due to:Its
One, application layer protocol type is various, very big for the definition difference of protocol format, all designs one for each agreement and turns over
The costly or even many ICPs of gateway are translated using proprietary protocol, translation gateway can not be designed for it;Its
Two, correctness is not easy to ensure, same content may have different semantemes, for example an IP address is found that in http protocol,
But it may only be the text shown on the page, be not used to ask other pages, this makes the realization of automatic identification protocol contents
Become highly difficult;Third, translation gateway, which handles a data message, will not only parse its content format, it will also be to corresponding data
It modifies, this proposes performance very high requirement, and cannot also use hardware realization in view of flexibility.
Invention content
In order to overcome the disadvantages of the above prior art, the purpose of the present invention is to provide a kind of for application layer protocol
IPv4/IPv6 data translations gateway and method translate the message of different IP agreements by application level translation device, allow
IPv6 user accesses the service based on IPv4, provides the interconnection of efficient IPv6 and IPv4.
To achieve these goals, the technical solution adopted by the present invention is:
A kind of IPv4/IPv6 data translation gateways for application layer protocol are deployed in ICP sides, by uplink IPv6 data
Message translates into IPv4 data messages, downstream IP v4 data messages is translated into IPv6 data messages, translation content includes IP
What is included in data message head and downstream IP v4 data messages is used to establish the IPv4 addresses of data connection.
Wherein:Gateway system includes following module:
Grader determines the application layer protocol type of the data message received:When a new data message arrives,
Grader determines the application layer protocol type of the data message according to transport layer protocol and port, then calls corresponding parsing
Device parses the data message, if having multiple agreements successful match simultaneously according to above-mentioned condition, calls corresponding solution in turn
Parser to receive the data message until there are one the resolvers of agreement;If grader judges that the data message does not need to handle
Across the translation of agreement, then application layer process is skipped;
Resolver analyzes application layer data and the translation behaviour that will be applied to the data message is generated according to translation rule
Make;
Data message modified module performs the translating operation of resolver generation;
TCP managers;
Stream mode manager:It interacts to obtain, provide and update various status informations with above-mentioned other each modules.
The resolver includes parsing journey according to the executable application layer protocol of protocol description language generation by generation engine
Sequence, input are the description to Mr. Yu's application layer protocol form, are exported as that can handle holding for engine calling by data message
Line program code, the code include handling the translating operation that engine should make the data message of the agreement.
The address of IPv4 is IPx, port PORTx, and the translation rule is:IPx, PORTx->IPy, PORTy;
When resolver has found the address ip x of IPv4 and port PO RTx, then calling flow manager finds to replace
The address ip y of IPv6 and port PO RTy, then corresponding operation is generated according to translation rule, IPx is substituted for IPy, will
PORTx is substituted for PORTy.
The data message processing engine includes three function modules:Resolver, data message modified module and TCP pipes
Device is managed, data message processing engine is using the data processing mechanism based on message, using the resolver to respective protocol data
Message is parsed, find translating operation in need field, including its position, length, and perform corresponding translating operation.
The protocol description language combines morphological analysis and syntactic analysis function, and provides following additional features:Automatically
The regular expression of terminal symbol is generated, and then is converted into specific executable code;Common translating operation interface is provided so that
The translating operation that original lines of code could be realized only is represented with a line command;And automatic addition abnormality processing operation, come
Support automatic abnormal restoring to a certain extent.
In the data message modified module, all translating operations are finally converted into text replacement operation.
In the data message modified module, accelerate the implementation procedure of modification operation using following algorithm:
First, by operation set according to operation starting position ascending sort, for each target location, judgement is to select
Result or original text from operation, if the result of some operation is selected, new data will be copied into
Target location, while the ending that the traversal pointer of urtext will skip to the operation data.
The TCP managers, on the one hand tracking updates TCP serial numbers and ACK serial numbers, to handle the received out-of-order of TCP message;
On the other hand caching capabilities are provided, the application layer protocol field of data message is retransmitted and crossed over to handle TCP.
The present invention also provides a kind of sides based on the IPv4/IPv6 data translation gateways for application layer protocol
Method includes the following steps:
Step 1:User is described using the application layer protocol that protocol description language is used for into line code, including protocol header
Portion's form and content format mark the field for needing to perform translating operation, and specify the operation performed in the field;
Step 2:It is described according to the code of user in step 1, generates executable resolver subprogram;First, it is automatic to mend
The rule lacked in full code description, regular expression including terminal symbol and expands into C++ by predefined operate interface
Code, the code after completion is as intermediate code;Then, intermediate code is separated into morphological rule and syntax rule, sent respectively
Toward corresponding analysis program;Finally, the C++ codes of resolver are generated, and is integrated into translation gateway and is called for other modules;
Step 3:When a message arrives, it is classified device first and receives and classifies;Classification is assisted according to transport layer
View and port numbers, if it is possible to match the resolver of some application layer protocol, then the resolver is called to perform subsequent operation;If
Multiple application layer protocols are matched, then call its corresponding resolver in turn, to receive the data until there are the expressions of certain resolver
The form of message;If grader judges that the data message does not need to handle the translation across agreement, application layer process is skipped;
Step 4:The application layer data of incoming data message is analyzed by the resolver that step 3 is called, finds institute
The protocol fields in need being translated including its position and length, and inquire flow manager to obtain the value after translation, and will
These information pass to data message modified module;
Wherein, for the different directions of a data flow, two independent resolvers will be created and handled respectively, when a report
Text be disposed and data flow not at the end of, then parser state is saved, and the message of the next data flow is waited for arrive it
Afterwards, it then resumes operation;
Step 5:The parameter that resolver is transmitted in data message modified module receiving step 4, and perform wherein included
Operation;
Step 6:Message after modification is Resealed and forwarded, and the weight when often receiving a new data message
Multiple step 3-6.
The invention enables the mono- stack users of IPv6 to be able to access that original IPv4 services, and can easily support a variety of application layers
Agreement, so as to effectively realize the interconnection of IPv4 and IPv6.Compared with prior art, the beneficial effects of the invention are as follows:
1st, the form of application layer protocol can be defined using the language by special designing, so as to support a variety of application layers
Agreement, and this language is simple and convenient, reduces the complexity of actual deployment.
2nd, it is parsed and is translated for each individual data message, and apply more efficient modification algorithm, compared
It is promoted in performance in the operation for data flow.
Description of the drawings
Fig. 1 is the IPv4/IPv6 data translation gateway macroscopic view schematic diagrames that the present invention is directed to application layer protocol.
Fig. 2 is the IPv4/IPv6 data translation gateway architecture schematic diagrames that the present invention is directed to application layer protocol.
Fig. 3 is the IPv4/IPv6 data translation gateway resolver product process figures that the present invention is directed to application layer protocol.
Specific embodiment
The embodiment that the present invention will be described in detail with reference to the accompanying drawings and examples.
As shown in Figure 1, the present invention for application layer protocol IPv4/IPv6 data translations gateway deployment in ICP sides, with
Ensure to the transparent of user, ICP can also easily use the self-defined proprietary protocol of protocol description language.
As shown in Fig. 2, in the IPv4/IPv6 data translation gateway architectures for application layer protocol, include altogether with
Under several modules:
Grader (Classifier):The application layer protocol type of data message that grader decision receives.When one
When new data message arrives, grader determines the application layer protocol class of the data message according to transport layer protocol and port
Then type calls corresponding resolver to parse the data message.If according to above-mentioned condition have multiple agreements and meanwhile matching into
Work(, it will call corresponding resolver in turn, to receive the data message until there are one the resolvers of agreement.Grader simultaneously
Some information in relation to stream can be recorded.If grader judges that the data message does not need to handle the translation across agreement, can jump
Cross application layer process.
Resolver (Parsers):Resolver is that resolver generation engine is converted according to protocol description language.Parsing
Device analyzes application layer data and the translating operation that will be applied to the data message is generated according to translation rule.For example, resolver
The address ip x of IPv4 and port PO RTx is had found, and according to translation rule (IPx, PORTy->IPy, PORTy) it generates accordingly
IPx is substituted for IPy and PORTx is substituted for PORTy by operation.
Data message modified module (Packet Modifier):Data message modified module is responsible for performing resolver generation
Translating operation.All operations finally can all be converted into text replacement operation.Because many operations all can change data message
Length, invention applies optimization algorithm come accelerate modification operate implementation procedure.
TCP managers (TCP Manager):TCP managers perform some additional behaviour for stateful TCP connection
Make.On the one hand it tracks update TCP serial numbers and ACK serial numbers, to handle the received out-of-order of TCP message;On the other hand caching is provided
Ability to handle TCP retransmits and crosses over the application layer protocol field of data message.
Stream mode manager (Flow Manager):The present invention is directed to the IPv4/IPv6 data translation nets of application layer protocol
The each data flows of Guan Huiwei safeguard related status information, including protocol type, parser state, TCP sequence number offset and delay
Deposit state etc..Stream mode manager interacts to obtain, provide and update various status informations with above-mentioned function module.Per number
According to stream by five-tuple (source/destination address, source/destination port, transport layer protocol) uniquely tagged, and map together
IPv4/IPv6 connections and its both direction are regarded as same data flow to manage.
By more than architecture, the mono- stack users of IPv6 are able to access that original IPv4 services, and can easily support more
Kind application layer protocol, so as to effectively realize the interconnection of IPv4 and IPv6.
The technical solution adopted by the present invention to solve the technical problems is directed to the IPv4/IPv6 data translations of application layer protocol
Gateway need to be completed by 6 basic steps:
Step 1:User's (being usually the network administrator of ICP) is using the agreement description of the present invention
The application layer protocol that speech description is used for is described, and including protocol headers form and content format, marking needs to perform
The field of translating operation, and specify the operation performed in the field.
Protocol description language, which provides, in the present invention passes through predefined common operate interface, and user can be referred to calling interface
It is fixed by operation to be performed, without writing code manually;The description language has the work(of auto-complete regular expression simultaneously
Can, user is not necessarily each terminal symbol and writes regular expression;The description language can be automatic according to user-defined rule
Generate abnormality processing rule.
Step 2:The protocol description language code write according to user in step 1 generates executable resolver subprogram.
First, the rule lacked in auto-complete personal code work of the present invention, regular expression including terminal symbol and will be predefined
Operate interface expands into C++ codes, and the code after completion is as intermediate code;Then, intermediate code is separated into two parts, word
Method rule and syntax rule, are sent to corresponding analysis program respectively;Finally, the C++ codes of resolver are generated, and are integrated into translation
It is called in gateway for other modules.The flow for generating resolver is as shown in Figure 3.
Step 3:When a message arrives, it is classified device first and receives and classifies.Classification is mainly according to transmission
Layer protocol and port numbers, if it is possible to match the resolver of some application layer protocol, then the resolver is called to perform subsequent operation;
If matching multiple application layer protocols, its corresponding resolver is called in turn, until representing to receive to be somebody's turn to do there are certain resolver
The form of data message.Grader can also record some information in relation to stream simultaneously.If grader judges the data message not
It needs to handle the translation across agreement, then can skip application layer process.
Step 4:The application layer data of incoming data message is analyzed by the resolver that step 3 is called, finds institute
The protocol fields in need being translated including its position and length, and inquire flow manager to obtain the value after translation, and will
These information pass to data message modified module.Resolver relies on the rule parsing data that above-mentioned protocol description language defines,
Rather than using regular expression matching, the result obtained is more accurate and effectively reduces erroneous judgement.
For the different directions of a data flow, two independent resolver examples will be created and handled respectively.When a report
Text be disposed and data flow not at the end of, then parser state will be saved, and the message of the next data flow is waited for arrive
And then it resumes operation.
Step 5:The parameter that resolver is transmitted in data message modified module receiving step 4, and perform wherein included
Operation.Because modification is front and rear it is possible that the variation of data message length, if using conventional algorithm, when under worst case
Between complexity up to O (NL), wherein N is operation number, and L is message length.So the present invention proposes a kind of optimization algorithm:
Algorithm PacketModification (p, A)
Input:The application layer data of data message p and operation set A
Output:The application layer data of data message p '
Wherein len is input string length, and ps traverses pointer for original go here and there, and string traversal pointer for the purpose of pd, head is operates
Collection traversal pointer, p [a~b] represent the substring of slave a to the b positions of p strings, and ← (left arrow) represents assignment operation.
The main thought of the algorithm is each character of traversal content, judges that it comes from urtext or replacement operation
Result.First, by operation set according to operation starting position (start_pos) ascending sort.For each target location, judge
It is that select the result from operation or original text.If the result of some operation, which has been selected, (operates quilt
Perform), new data will be copied into target location, while the ending that the traversal pointer of urtext will skip to the operation data
Locate (end_pos).Because modification is front and rear it is possible that the variation of data message length, if using conventional algorithm, it is the worst
In the case of time complexity up to O (NL), wherein N is operation number, and L is message length.So the present invention propose it is a kind of excellent
Change algorithm, time complexity is O (NlogN+L) under the algorithm worst case.
Time complexity is O (NlogN+L) under the algorithm worst case.
Caching mechanism is used when performing data message modification operation, to cope with TCP message re-transmission, out-of-sequence etc..If
It, also can be by packet buffer when there is the situation that the field for needing to change may cross over multiple messages.
Step 6:Message after modification is Resealed and forwarded, and the weight when often receiving a new data message
Multiple step 3-6.
In order to which technical scheme of the present invention and advantage is made to be more clearly understood with describing, implement below in conjunction with a sample
Example is further described.Using SIP (Session Initiation Protocol), agreement is background to embodiment, with SIP
Invite messages are content, illustrate the form and application method of application layer protocol description language.Described embodiment is only this
The exhaustion of the part of the embodiment of invention rather than all embodiments.
The present invention is gradually described in detail according to the content of embodiment below:
Step 1:User is carried out using the application layer protocol that a kind of protocol description language description in the present invention is used for
Description including protocol headers form and content format, marks the field for needing to perform translating operation, and specify in the field
The operation of execution.Session Initiation Protocol Invite message formats are as follows:
INVITE sip:service@[2002::a00:2]:5060SIP/2.0
Via:SIP/2.0/UDP[2001::2]:5060;Branch=z9hG4bK-2275-1-0
From:sipp<sip:sipp@[2001::2]:5060>;Tag=2275SIPpTag001
To:service<sip:service@[2002::a00:2]:5060>
Call-ID:1-2275@2001::2
CSeq:1INVITE
Contact:sip:sipp@[2001::2]:5060
Content-Type:application/sdp
Content-Length:127
V=0
53655765 2353687637IN IP6 [2001 of o=user1::2]
S=-
C=IN IP6 2001::2
T=0 0
M=audio 6000RTP/AVP 0
A=rtpmap:0PCMU/8000
The language description of SIP Invite messages is as follows:
Step 2:The protocol description language code write according to user in step 1 generates executable resolver subprogram.
Step 3:When a message arrives, it is classified device first and receives and classifies.Classification is mainly according to transmission
Layer protocol and port numbers, if it is possible to match the resolver of some application layer protocol, then the resolver is called to perform subsequent operation;
If matching multiple application layer protocols, its corresponding resolver is called in turn, until representing to receive to be somebody's turn to do there are certain resolver
The form of data message.Grader can also record some information in relation to stream simultaneously.If grader judges the data message not
It needs to handle the translation across agreement, then can skip application layer process.
Step 4:The application layer data of incoming data message is analyzed by the resolver that step 3 is called, finds institute
The protocol fields in need being translated including its position and length, and inquire flow manager to obtain the value after translation, and will
These information pass to data message modified module.
Step 5:The parameter that resolver is transmitted in data message modified module receiving step 4, and perform wherein included
Operation.
Step 6:Message after modification is Resealed and forwarded, and the weight when often receiving a new data message
Multiple step 3-6.
Claims (7)
1. a kind of IPv4/IPv6 data translation gateways for application layer protocol are deployed in ICP sides, by uplink IPv6 datagrams
Text translates into IPv4 data messages, downstream IP v4 data messages is translated into IPv6 data messages, translation content includes IP numbers
According to the IPv4 addresses for being used to establish data connection included in header and downstream IP v4 data messages, wherein, gateway body
System includes following module:
Grader determines the application layer protocol type of the data message received:When a new data message arrives, classification
Device determines the application layer protocol type of the data message according to transport layer protocol and port, and corresponding resolver is then called
The data message is parsed, if there is multiple agreements while successful match, then corresponding resolver is called in turn, until there are one associations
The resolver of view receives the data message;If grader judges that the data message does not need to handle the translation across agreement, jump
Cross application layer process;
Resolver analyzes application layer data and the translating operation that will be applied to the data message is generated according to translation rule;
Data message modified module performs the translating operation of resolver generation;
TCP managers;
Stream mode manager:It interacts to obtain, provide and update various status informations with above-mentioned other each modules;
It is characterized in that,
The resolver includes the application layer protocol analysis program that can perform by generation engine according to protocol description language generation,
It inputs as the description to Mr. Yu's application layer protocol form, exports the executable program for engine calling can be handled by data message
Code, the code include handling the translating operation that engine should make the data message of the agreement;
The protocol description language combines morphological analysis and syntactic analysis function, and provides following additional features:It automatically generates
The regular expression of terminal symbol, and then it is converted into specific executable code;There is provided common translating operation interface so that only use
One line command represents the translating operation that original lines of code could be realized;And automatic addition abnormality processing operation, to support
Automatic abnormal restoring.
2. it is directed to the IPv4/IPv6 data translation gateways of application layer protocol according to claim 1, which is characterized in that
The address of IPv4 is IPx, port PORTx, and the translation rule is:IPx, PORTx->IPy, PORTy;
When resolver has found the address ip x of IPv4 and port PO RTx, then calling flow manager is found for replacement
The address ip y of IPv6 and port PO RTy then generates corresponding operation according to translation rule, IPx is substituted for IPy, by PORTx
It is substituted for PORTy.
3. it is directed to the IPv4/IPv6 data translation gateways of application layer protocol according to claim 1, which is characterized in that described
Data message processing engine includes three function modules:Resolver, data message modified module and TCP managers, datagram
Text processing engine solves respective protocol data message using the resolver using the data processing mechanism based on message
Analysis, find translating operation in need field, including its position, length, and perform corresponding translating operation.
4. it is directed to the IPv4/IPv6 data translation gateways of application layer protocol according to claim 1, which is characterized in that described
In data message modified module, all translating operations are finally converted into text replacement operation.
5. it is directed to the IPv4/IPv6 data translation gateways of application layer protocol according to claim 1, which is characterized in that in institute
It states in data message modified module, the implementation procedure for modification being accelerated to operate using following algorithm:
First, by operation set according to operation starting position ascending sort, for each target location, judgement is to select to come from
The result of operation or original text, if the result of some operation is selected, new data will be copied into target
Position, while the ending that the traversal pointer of urtext will skip to the operation data.
6. it is directed to the IPv4/IPv6 data translation gateways of application layer protocol according to claim 1, which is characterized in that described
TCP managers, on the one hand tracking updates TCP serial numbers and ACK serial numbers, to handle the received out-of-order of TCP message;On the other hand it provides
Caching capabilities to handle TCP retransmit and cross over the application layer protocol field of data message.
7. a kind of method based on the IPv4/IPv6 data translation gateways that application layer protocol is directed to described in claim 1, feature
It is, includes the following steps:
Step 1:User is described using the application layer protocol that protocol description language is used for into line code, including protocol headers lattice
Formula and content format mark the field for needing to perform translating operation, and specify the operation performed in the field;
Step 2:It is described according to the code of user in step 1, generates executable resolver subprogram;First, auto-complete generation
The rule that lacks in code description, regular expression including terminal symbol and expands into C++ codes by predefined operate interface,
Code after completion is as intermediate code;Then, intermediate code is separated into morphological rule and syntax rule, is sent to correspondence respectively
Analysis program;Finally, the C++ codes of resolver are generated, and is integrated into translation gateway and is called for other modules;
Step 3:When a message arrives, it is classified device first and receives and classifies;Classification be according to transport layer protocol and
Port numbers, if it is possible to match the resolver of some application layer protocol, then the resolver is called to perform subsequent operation;If matching
To multiple application layer protocols, then its corresponding resolver is called in turn, to receive the data message until there are the expressions of certain resolver
Form;If grader judges that the data message does not need to handle the translation across agreement, application layer process is skipped;
Step 4:The application layer data of incoming data message is analyzed by the resolver that step 3 is called, finds all need
Protocol fields to be translated, including its position and length, and inquire flow manager come obtain translation after value, and by these
Information passes to data message modified module;
Wherein, for the different directions of a data flow, two independent resolvers will be created and handled respectively, at a message
Reason finish and data flow not at the end of, then parser state is saved, wait for the message of the next data flow arrive and then
It resumes operation;
Step 5:The parameter that resolver is transmitted in data message modified module receiving step 4, and perform operation wherein included;
Step 6:Message after modification is Resealed and forwarded, and repeats to walk when often receiving a new data message
Rapid 3-6;
Wherein, the resolver includes parsing journey according to the executable application layer protocol of protocol description language generation by generation engine
Sequence, input are the description to Mr. Yu's application layer protocol form, are exported as that can handle holding for engine calling by data message
Line program code, the code include handling the translating operation that engine should make the data message of the agreement;
The protocol description language combines morphological analysis and syntactic analysis function, and provides following additional features:It automatically generates
The regular expression of terminal symbol, and then it is converted into specific executable code;There is provided common translating operation interface so that only use
One line command represents the translating operation that original lines of code could be realized;And automatic addition abnormality processing operation, to support
Automatic abnormal restoring.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510777462.9A CN105450515B (en) | 2015-11-12 | 2015-11-12 | A kind of IPv4/IPv6 data translations gateway and method for application layer protocol |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510777462.9A CN105450515B (en) | 2015-11-12 | 2015-11-12 | A kind of IPv4/IPv6 data translations gateway and method for application layer protocol |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105450515A CN105450515A (en) | 2016-03-30 |
CN105450515B true CN105450515B (en) | 2018-06-12 |
Family
ID=55560317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510777462.9A Active CN105450515B (en) | 2015-11-12 | 2015-11-12 | A kind of IPv4/IPv6 data translations gateway and method for application layer protocol |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105450515B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110839046B (en) * | 2019-12-03 | 2022-04-22 | 睿哲科技股份有限公司 | Multi-protocol intercommunication method and system |
CN111131407B (en) * | 2019-12-09 | 2021-05-11 | 深圳市盛铂科技有限公司 | Network equipment connection method and network equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592278A (en) * | 2003-08-28 | 2005-03-09 | 华为技术有限公司 | Method for realizing address translation application gateway by host mode |
CN101136910A (en) * | 2006-08-30 | 2008-03-05 | 中国电信股份有限公司 | Network address and protocol translating equipment and application layer gateway equipment |
CN101257435A (en) * | 2007-02-28 | 2008-09-03 | 上海亿人通信终端有限公司 | Implementing method of SIP application-level gateways based on NAT-PT |
CN102148773A (en) * | 2010-02-08 | 2011-08-10 | 中国联合网络通信集团有限公司 | Method and system for converting IPv6 (Internet Protocol Version 6) protocol and IPv4 (Internet Protocol Version 4) protocol |
CN103441933A (en) * | 2013-07-22 | 2013-12-11 | 汉柏科技有限公司 | Method for achieving communication between IPV4 device and IPV6 device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4186446B2 (en) * | 2001-09-11 | 2008-11-26 | 株式会社日立製作所 | Address translation method |
-
2015
- 2015-11-12 CN CN201510777462.9A patent/CN105450515B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1592278A (en) * | 2003-08-28 | 2005-03-09 | 华为技术有限公司 | Method for realizing address translation application gateway by host mode |
CN101136910A (en) * | 2006-08-30 | 2008-03-05 | 中国电信股份有限公司 | Network address and protocol translating equipment and application layer gateway equipment |
CN101257435A (en) * | 2007-02-28 | 2008-09-03 | 上海亿人通信终端有限公司 | Implementing method of SIP application-level gateways based on NAT-PT |
CN102148773A (en) * | 2010-02-08 | 2011-08-10 | 中国联合网络通信集团有限公司 | Method and system for converting IPv6 (Internet Protocol Version 6) protocol and IPv4 (Internet Protocol Version 4) protocol |
CN103441933A (en) * | 2013-07-22 | 2013-12-11 | 汉柏科技有限公司 | Method for achieving communication between IPV4 device and IPV6 device |
Also Published As
Publication number | Publication date |
---|---|
CN105450515A (en) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8284776B2 (en) | Recursive packet header processing | |
US9077668B2 (en) | Flexible and extensible flow processing in software-defined networks | |
US7570661B2 (en) | Script-based parser | |
US7969976B2 (en) | Gateway apparatus, packet forwarding method, and program | |
US8521905B2 (en) | System for flexible and extensible flow processing in software-defined networks | |
US8711860B2 (en) | Controller for flexible and extensible flow processing in software-defined networks | |
EP3139549B1 (en) | Packet editing method and related device | |
US8503429B2 (en) | Processing requests and generating responses in session initiation protocol (SIP) | |
TW201246867A (en) | Packet processing accelerator and method thereof | |
CN105450515B (en) | A kind of IPv4/IPv6 data translations gateway and method for application layer protocol | |
CN111211931A (en) | Message forwarding system based on reconfigurable technology | |
US8959231B2 (en) | Representation of Boolean expressions for specifying filters using XML | |
WO2015027738A1 (en) | Metadata transmission and receiving method, and ofls | |
CN1317873C (en) | Signal agent realizing method based on medium gateway control protocol | |
JP2006148903A (en) | Tunneling method and tunneling apparatus for multicasting | |
CN106850559A (en) | A kind of expansible procotol analysis system and method | |
US20020181507A1 (en) | System and method of incremental parsing | |
CN105515995A (en) | Message processing method and apparatus, and flow table generation method and apparatus | |
CN107665148A (en) | A kind of name pipeline Way of Process Communication based on Chromium | |
US11301231B2 (en) | Dynamic run time programming of hardware tables | |
Liu et al. | Generic application layer protocol translation for IPv4/IPv6 transition | |
US8005006B2 (en) | Discovery of multiple-parent dependencies in network performance analysis | |
Sommer et al. | Spicy: A unified deep packet inspection framework dissecting all your data | |
Vanit-Anunchai | Validating DCCP simultaneous feature negotiation procedure | |
Peterkin et al. | Hardware implementation of session initiation protocol servers and clients |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |