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 PDF

Info

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
Application number
CN201510777462.9A
Other languages
Chinese (zh)
Other versions
CN105450515A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN201510777462.9A priority Critical patent/CN105450515B/en
Publication of CN105450515A publication Critical patent/CN105450515A/en
Application granted granted Critical
Publication of CN105450515B publication Critical patent/CN105450515B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/167Adaptation 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

A kind of IPv4/IPv6 data translations gateway and method for application layer protocol
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.
CN201510777462.9A 2015-11-12 2015-11-12 A kind of IPv4/IPv6 data translations gateway and method for application layer protocol Active CN105450515B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4186446B2 (en) * 2001-09-11 2008-11-26 株式会社日立製作所 Address translation method

Patent Citations (5)

* Cited by examiner, † Cited by third party
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