CN111385210A - Method, device and equipment for establishing virtual circuit and computer readable storage medium - Google Patents

Method, device and equipment for establishing virtual circuit and computer readable storage medium Download PDF

Info

Publication number
CN111385210A
CN111385210A CN201811623121.6A CN201811623121A CN111385210A CN 111385210 A CN111385210 A CN 111385210A CN 201811623121 A CN201811623121 A CN 201811623121A CN 111385210 A CN111385210 A CN 111385210A
Authority
CN
China
Prior art keywords
establishing
receiving end
information
receiving
sending
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
CN201811623121.6A
Other languages
Chinese (zh)
Other versions
CN111385210B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201811623121.6A priority Critical patent/CN111385210B/en
Publication of CN111385210A publication Critical patent/CN111385210A/en
Application granted granted Critical
Publication of CN111385210B publication Critical patent/CN111385210B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/66Layer 2 routing, e.g. in Ethernet based MAN's
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

The application discloses a method, a device and equipment for establishing a virtual circuit and a computer readable storage medium, and belongs to the technical field of communication. The method comprises the following steps: the receiving end receives the label block information sent by the sending end, and the label block information is used for the receiving end to establish a one-way virtual circuit VC pointed to the sending end by the receiving end; receiving neighbor information for establishing VC sent by a sending end; and updating the one-way VC pointed to the sending end by the receiving end according to the neighbor information of the established VC. According to the method and the device, after the establishment of the one-way VC between the sending end and the receiving end is completed, the established one-way VCs are further updated, so that mutual transmission of two layers of data is performed between two user stations through an appointed path, transmission errors caused by inconsistent back and forth paths in the mutual transmission process are avoided, and the accuracy of data transmission is improved.

Description

Method, device and equipment for establishing virtual circuit and computer readable storage medium
Technical Field
The present application relates to the field of communications technologies, and in particular, to a method, an apparatus, a device, and a computer-readable storage medium for establishing a virtual circuit.
Background
With the development of communication technology, Virtual Private Wire Service (VPWS) is widely used in the life of people. The VPWS accesses a user site to a public network provided by an operator through a Customer Edge (CE) and an operator edge (PE), so as to construct a two-layer private network between two or more user sites, and data transmission can be performed through the two-layer private network.
In the related art, a Border Gateway Protocol (BGP) is used as a communication protocol, and a unidirectional Virtual Circuit (VC) is established by sending tag block information. The PE serving as a sending end sends label block information to the PEs of a plurality of receiving ends, and each receiving end establishes a unidirectional VC pointing to the sending end from the receiving end according to the received label block information. The sending end can select to establish a unidirectional VC pointing to the selected receiving end from the sending end with one of the multiple receiving ends so as to realize mutual data transmission.
The inventors found that the related art has at least the following problems:
because each receiving end can establish a unidirectional VC pointed to the transmitting end by the receiving end, and the transmitting end only selects one receiving end to establish the unidirectional VC with the transmitting end, the condition of inconsistent back and forth paths can occur during data transmission, and data transmission errors can be caused.
Content of application
The embodiment of the application provides a method, a device, equipment and a computer readable storage medium for establishing a virtual circuit, which are used for solving the problems provided by the related technology, and the technical scheme is as follows:
in a first aspect, a method for establishing a virtual circuit is provided, where the method includes:
a sending end sends label block information to a receiving end, wherein the label block information is used for the receiving end to establish a one-way VC pointed to the sending end by the receiving end;
and sending neighbor information for establishing the VC to the receiving end, wherein the receiving end is used for updating the unidirectional VC pointed to the sending end by the receiving end according to the neighbor information for establishing the VC.
Optionally, the sending end sends neighbor information for establishing VC to the receiving end, including:
and the sending end sends an updating message to the receiving end, wherein the updating message carries the neighbor information for establishing the VC.
Optionally, the update packet includes newly added attribute information, where the attribute information is used to indicate the neighbor information for establishing the VC.
Optionally, the neighbor information for establishing the VC includes an address of a neighbor for establishing the VC.
In a second aspect, a method of establishing a virtual circuit is provided, the method comprising:
a receiving end receives label block information sent by a sending end, wherein the label block information is used for the receiving end to establish a unidirectional VC pointed to the sending end by the receiving end;
receiving neighbor information for establishing VC sent by the sending end;
and updating the unidirectional VC pointed to the sending end by the receiving end according to the neighbor information for establishing the VC.
Optionally, receiving neighbor information for establishing a VC sent by the sending end includes:
and receiving an update message sent by the sending end, wherein the update message carries the neighbor information for establishing the VC.
Optionally, the update packet includes newly added attribute information, where the attribute information is used to indicate the neighbor information for establishing the VC.
Optionally, the updating the unidirectional VC pointed to the sending end by the receiving end according to the neighbor information of the VC established includes:
and if the neighbor information for establishing the VC is matched with the information of the receiving end, starting the one-way VC pointed to the transmitting end by the receiving end.
Optionally, the updating the unidirectional VC pointed to the sending end by the receiving end according to the neighbor information of the VC established includes:
and if the neighbor information for establishing the VC is not matched with the information of the receiving end, disconnecting the one-way VC pointed to the transmitting end by the receiving end.
In a third aspect, an apparatus for establishing a virtual circuit is provided, the apparatus comprising:
a first sending module, configured to send, by a sending end, label block information to a receiving end, where the label block information is used by the receiving end to establish a unidirectional virtual circuit VC pointed to the sending end by the receiving end;
and the second sending module is used for sending neighbor information for establishing the VC to the receiving end, and the receiving end is used for updating the unidirectional VC pointed to the sending end by the receiving end according to the neighbor information for establishing the VC.
Optionally, the second sending module is configured to send, by the sending end, an update packet to the receiving end, where the update packet carries the neighbor information for establishing the VC.
Optionally, the update message carries neighbor information of the VC establishment.
Optionally, the neighbor information for establishing the VC includes an address of a neighbor for establishing the VC.
In a fourth aspect, there is provided an apparatus for establishing a virtual circuit, the apparatus comprising:
the first receiving module is used for a receiving end to receive label block information sent by a sending end, and the label block information is used for the receiving end to establish a unidirectional VC pointed to the sending end by the receiving end;
the second receiving module is used for receiving the neighbor information for establishing the VC, which is sent by the sending end;
and the updating module is used for updating the unidirectional VC pointed to the sending end by the receiving end according to the neighbor information of the established VC.
Optionally, the second receiving module is configured to receive an update packet sent by the sending end, where the update packet carries the neighbor information for establishing the VC.
Optionally, the update packet includes newly added attribute information, where the attribute information is used to indicate the neighbor information for establishing the VC.
Optionally, the neighbor information for establishing the VC includes an address of a neighbor for establishing the VC.
Optionally, the updating module is configured to open the unidirectional VC pointed to the sending end by the receiving end if the neighbor information for establishing the VC matches the information of the receiving end.
Optionally, the updating module is configured to disconnect the unidirectional VC pointed to the sending end by the receiving end if the neighbor information for establishing the VC is not matched with the information of the receiving end.
In a fifth aspect, an apparatus for creating a virtual circuit is provided, the apparatus comprising a memory and a processor; the memory has stored therein at least one instruction that is loaded and executed by the processor to implement the method of the first aspect of the present application or any of its possible embodiments.
In a sixth aspect, another apparatus for creating a virtual circuit is provided, the apparatus comprising a memory and a processor; the memory has stored therein at least one instruction that is loaded and executed by the processor to implement the method of any of the possible embodiments of the first or second aspect of the present application.
In a seventh aspect, another communication apparatus is provided, the apparatus comprising: a transceiver, a memory, and a processor. Wherein the transceiver, the memory and the processor communicate with each other via an internal connection path, the memory is configured to store instructions, and the processor is configured to execute the instructions stored by the memory to control the transceiver to receive signals and control the transceiver to transmit signals, and when the processor executes the instructions stored by the memory, to cause the processor to perform the method of the first aspect or any of the possible embodiments of the first aspect.
In an eighth aspect, there is provided another communication apparatus, including: a transceiver, a memory, and a processor. Wherein the transceiver, the memory and the processor communicate with each other via an internal connection path, the memory is configured to store instructions, the processor is configured to execute the instructions stored by the memory to control the transceiver to receive signals and control the transceiver to transmit signals, and the processor is configured to execute the instructions stored by the memory to cause the processor to perform the method of the second aspect or any of the possible embodiments of the second aspect.
Optionally, the number of the processors is one or more, and the number of the memories is one or more.
Alternatively, the memory may be integral to the processor or provided separately from the processor.
In a specific implementation process, the memory may be a non-transient memory, such as a Read Only Memory (ROM), which may be integrated on the same chip as the processor, or may be separately disposed on different chips.
A ninth aspect provides a communication system comprising the apparatus of any one of the possible embodiments of the third aspect or the third aspect and the apparatus of any one of the possible embodiments of the fourth aspect or the fourth aspect; alternatively, the system comprises the apparatus of any one of the possible embodiments of the fifth aspect or the fifth aspect described above and the apparatus of any one of the possible embodiments of the sixth aspect or the sixth aspect.
In a tenth aspect, there is provided a computer program (product) comprising: computer program code which, when run by a computer, causes the computer to perform the method of the above aspects.
In an eleventh aspect, there is provided a readable storage medium storing a program or instructions which, when run on a computer, performs the method in the above aspects.
In a twelfth aspect, a chip is provided, which includes a processor for calling up and executing instructions stored in a memory from the memory, so that a communication device in which the chip is installed executes the method in the above aspects.
In a thirteenth aspect, another chip is provided, including: the system comprises an input interface, an output interface, a processor and a memory, wherein the input interface, the output interface, the processor and the memory are connected through an internal connection path, the processor is used for executing codes in the memory, and when the codes are executed, the processor is used for executing the method in the aspects.
The beneficial effect that technical scheme that this application provided brought includes at least:
after the establishment of the one-way VC between the sending end and the receiving end is completed, the established one-way VCs are further updated, so that two layers of data are mutually transmitted between two user stations only through the appointed path, transmission errors caused by inconsistent back and forth paths in the mutual transmission process are avoided, and the accuracy of data transmission is improved.
Drawings
FIG. 1 is a schematic illustration of an implementation environment provided by an embodiment of the present application;
fig. 2 is a flowchart of a method for establishing a virtual circuit according to an embodiment of the present disclosure;
FIG. 3 is a schematic diagram of an implementation environment provided by an embodiment of the present application;
fig. 4 is a schematic structural diagram of attribute information provided in an embodiment of the present application;
fig. 5 is a timing flow diagram of a method for creating a virtual circuit according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of an apparatus for creating a virtual circuit according to an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of an apparatus for creating a virtual circuit according to an embodiment of the present disclosure.
Detailed Description
The terminology used in the description of the embodiments section of the present application is for the purpose of describing particular embodiments of the present application only and is not intended to be limiting of the present application.
With the development of communication technology, Virtual Private Wire Service (VPWS) is widely used in the life of people. VPWS refers to a multi-protocol label switching layer2virtual private network (MPLS L2VPN) based on the MPLS technology, which is established in a public network provided by an operator, and the operator can provide a two-layer VPN service based on different data link layers through MPLS L2VPN, so that a user can perform transparent transmission of remote and encrypted two-layer data between users.
The connection structure of the MPLS L2VPN is shown in fig. 1. A Customer Edge (CE) refers to an edge device (such as a router) of a customer network, and each customer Site (Site) includes at least one CE; a Provider Edge (PE) refers to an edge device (e.g., a router) of a public network provided by an operator. The VPWS accesses the customer sites to a public network provided by an operator through the CEs and PEs, thereby constructing a two-layer private network between two or more customer sites, through which data transmission can be performed.
It should be noted that, data mutual transmission is realized between the PEs through a pair of unidirectional VCs with opposite directions. In the related art, a Border Gateway Protocol (BGP) is used as a communication protocol, and a unidirectional VC is established by sending tag block information. The PE serving as the sending end sends label block information to the PEs serving as the receiving ends, each receiving end establishes a one-way VC pointing to the sending end from the receiving end according to the received label block information, and the sending end selects one of the multiple receiving ends to establish the one-way VC pointing to the selected receiving end from the sending end so as to realize mutual data transmission.
It can be seen that, since each receiving end establishes a unidirectional VC pointing from the receiving end to the transmitting end, and the transmitting end only selects one of the receiving ends to establish the unidirectional VC with the transmitting end, a situation of inconsistent back and forth paths occurs during data transmission, resulting in data transmission errors.
To this end, the embodiment of the present application provides a method for creating a virtual circuit, which can be applied in the implementation environment shown in fig. 1. As shown in fig. 2, the method includes:
step 201, the sending end sends the label block information to the receiving end, and the label block information is used for the receiving end to establish the unidirectional VC pointed to the sending end by the receiving end.
The sending end is a PE that sends the tag block information, the receiving end is a PE that receives the tag block information, and the PE may be a communication device such as a router. It should be noted that any PE has two functions of sending tag block information and receiving tag block information, and when one PE sends tag block information, the PE is a sending end, and when the PE receives tag block information, the PE is a receiving end.
In addition, the label block information is information for enabling the receiving end to establish the unidirectional VC directed from the receiving end to the transmitting end, and the unidirectional VC directed from the receiving end to the transmitting end can only be established after the receiving end receives the label block information transmitted by the transmitting end.
Step 202, the receiving end receives the label block information sent by the sending end, and the label block information is used for the receiving end to establish a unidirectional VC pointing to the sending end from the receiving end.
After receiving the tag block information sent by the sending end, the receiving end performs calculation according to the received tag block information and a Site identification (Site ID) locally used by the receiving end, thereby establishing a unidirectional VC pointed to the sending end by the receiving end. The Site ID locally used by the receiving end is a Site ID corresponding to a Site communicatively connected to the receiving end PE, and is used to identify that the receiving end is a device that can access the Site corresponding to the Site ID to the public network. As shown in fig. 1, taking PE1 as a transmitting end and PE2 as a receiving end as an example, a process of establishing a unidirectional VC is described:
site1 is connected to PE1 in the public network through CE1, and PE1 uses Site1ID to identify that PE1 is a device that can access Site1 to the public network. Site2 is connected to PE2 in the public network through CE2, and PE2 uses Site2ID to identify that PE2 is a device that can access Site2 to the public network. PE1 sends PE1 tag block information to PE2, and PE2 performs calculation according to the received PE1 tag block information and Site2ID locally used by PE2, thereby completing establishment of a unidirectional VC pointed to PE1 by PE 2.
Further, after the establishment of the unidirectional VC pointed to PE1 by PE2 is completed, PE2 may also send PE2 tag block information to PE1, and PE1 performs calculation according to PE2 tag block information and Site1ID locally used by PE1, thereby completing the establishment of the unidirectional VC pointed to PE2 by PE 1.
Next, referring to fig. 1, the establishment process of the unidirectional VC is further analyzed. In the implementation environment shown in fig. 1, when PE1 is used as a transmitting end, PE2 and PE3 are both receiving ends, but usually, only one of PE2 or PE3 is specified to establish a pair of unidirectional VCs with opposite directions with PE1, so that communication connections of Site1 and Site2 can be realized. When a PE establishing a pair of unidirectional VCs with opposite directions with PE1 fails, PE1 establishes a pair of unidirectional VCs with opposite directions with another PE, thereby ensuring communication connection of Site1 and Site 2.
Taking PE2 as an example of the designated PE, the establishment procedure of the unidirectional VC is described: PE1 sends PE1 tag block information to PE2 and PE3, respectively. Since PE2 and PE3 are both devices that can access Site2 to the public network, PE2 and PE3 both use Site2ID, and PE2 can calculate according to the tag block information of PE1 and Site2ID used locally (PE2), and establish a unidirectional VC pointed to PE1 by PE 2. Similarly, PE3 may also perform calculation according to the tag block information of PE1 and the Site2ID used locally (PE3), and establish a unidirectional VC pointing from PE3 to PE 1.
Further, since PE2 is a designated PE, the tag block information of PE2 is different from the tag block information of PE 3. Therefore, after the unidirectional VC pointed to PE1 by PE2 is established, PE2 sends PE2 tag block information to PE1, and PE1 can establish the unidirectional VC pointed to PE2 by PE1 according to the PE2 tag block information, that is, a pair of unidirectional VCs in opposite directions is finally established between PE1 and PE 2; after the unidirectional VC pointed to PE1 by PE3 is established, PE3 sends PE3 tag block information to PE1, and PE1 cannot establish the unidirectional VC pointed to PE3 by PE1 according to the PE3 tag block information, so only one unidirectional VC pointed to PE1 by PE3 is finally established between PE1 and PE 3. It can be seen that when data is transmitted from Site1 to Site2, the transmission path has only one path of CE1-PE1-PE2-CE2, and when data is transmitted from Site2 to Site1, the transmission path may be either CE2-PE2-PE1-CE1 or CE2-PE3-PE1-CE1, so that the back-and-forth paths may be inconsistent when data is transmitted, resulting in a transmission error of data.
In addition, referring to fig. 3, in the implementation environment shown in fig. 3, since both PE1 and PE3 use Site1ID, both PE2 and PE4 use Site2 ID. Although it is normally specified that PE1, PE2 establish a pair of unidirectional VCs in opposite directions, PE1 may establish a unidirectional VC with PE4 pointing from PE1 to PE4, and PE2 may establish a unidirectional VC with PE3 pointing from PE2 to PE 3. When data is transmitted from the Site1 to the Site2, the transmission path is one path of CE1-PE1-PE4-CE2, and when data is transmitted from the Site2 to the Site1, the transmission path is CE2-PE2-PE3-CE 1. Therefore, the implementation environment shown in fig. 3 may also have inconsistent back and forth paths, resulting in transmission errors of data.
In order to solve the above problem, according to the method provided in the embodiment of the present application, after the establishment of all unidirectional VCs is completed, the established unidirectional VCs are further updated, so as to ensure consistency of back-and-forth paths and avoid transmission errors of data.
Step 203, the transmitting end transmits the neighbor information of the VC to the receiving end, and the receiving end is used for updating the unidirectional VC pointed to the transmitting end by the receiving end according to the neighbor information of the VC.
The neighbor for the transmitting end to establish the VC refers to a PE which establishes a unidirectional VC from the transmitting end to the neighbor with the transmitting end, and the PE may be a communication device such as a router. For example, in the implementation environment shown in fig. 1, when PE1 is used as a transmitting end, since a unidirectional VC pointing to PE2 from PE1 is established between PE1 and PE2, a neighbor of PE1 that establishes the VC at this time is PE 2.
For the sending mode of the neighbor information for establishing the VC, the sending end can send an update message carrying the neighbor information for establishing the VC to the receiving end so as to realize the sending of the neighbor information for establishing the VC. For example, a border network protocol (BGP) may be used as a communication protocol, and a BGP session is established between the sending end and the receiving end, so that the sending end may send a BGP message (e.g., an Update message) to the receiving end as an Update message, where the BGP message carries neighbor information for establishing the VC by the sending end.
Optionally, for the carrying manner of the neighbor information for establishing the VC, the sending end may add attribute information in the update message, where the attribute information is used to indicate the neighbor information for establishing the VC. Type-length-value (TLV) format of the attribute information as shown in fig. 4, indication of neighbor information for establishing VC can be implemented through a value field. Of course, the present embodiment does not limit the transmission manner of the neighbor information for establishing the VC, and besides the above transmission manner, other feasible manners may also be adopted to implement the transmission of the neighbor information for establishing the VC.
Step 204, the receiving end receives the neighbor information for establishing the VC sent by the sending end.
For the receiving mode of the neighbor information for establishing the VC, when the sending end sends the neighbor information for establishing the VC through the update message carrying the neighbor information for establishing the VC, the receiving end can analyze the update message, thereby realizing the acquisition of the neighbor information for establishing the VC.
Further, when the sending end adds the attribute information in the update message and indicates the neighbor information of the VC to be established through the attribute information, correspondingly, after the receiving end receives the update message, the neighbor information of the VC to be established is obtained through the attribute information in the update message. For example, when the value field of the attribute information indicates the neighbor information for establishing the VC, the receiving end may receive the neighbor information for establishing the VC in the update message according to the indication of the value field of the attribute information.
In an alternative embodiment, the neighbor information for establishing a VC includes addresses of neighbors of the establishing VC. For example, an Internet Protocol (IP) address of a neighbor that establishes the VC may be used as neighbor information for establishing the VC, and after a unidirectional VC that points to the neighbor from a transmitting end is established between the transmitting end and the neighbor, the transmitting end acquires the IP address of the neighbor that establishes the VC and transmits the acquired IP address of the neighbor that establishes the VC to a receiving end. Certainly, in this embodiment, the content of the neighbor information for establishing the VC is not limited, and after the receiving end receives the neighbor information for establishing the VC, the updating operation may be triggered according to the received content of the neighbor information for establishing the VC.
Step 205, the receiving end updates the one-way VC pointed to the sending end by the receiving end according to the neighbor information of the established VC.
According to the above contents, for the same sending end, a unidirectional VC pointing to the sending end from the receiving end can be established with a plurality of receiving ends respectively, so as to obtain a plurality of unidirectional VCs taking the sending end as an end point; but the sending end can only establish a unidirectional VC pointing to the appointed receiving end from the sending end with the appointed receiving end, thereby obtaining a unidirectional VC taking the sending end as a starting point; if the number of unidirectional VCs starting from the transmitting end PE is different from the number of unidirectional VCs starting from the transmitting end PE, there is a case where the round-trip path is inconsistent.
Therefore, in this embodiment, the sending end sends the neighbor information for establishing the VC to each receiving end, and each receiving end updates the established unidirectional VC pointing to the sending end locally according to the received neighbor information for establishing the VC, so that the number of unidirectional VCs taking the sending end as an end point is the same as the number of unidirectional VCs taking the sending end as a start point, thereby ensuring consistency of back and forth paths in the data transmission process.
Optionally, an alternative implementation of updating the unidirectional VC is: if the neighbor information of the established VC is matched with the information of the receiving end, starting the one-way VC pointed to the transmitting end by the receiving end; if the neighbor information for establishing the VC is not matched with the information of the receiving end, the one-way VC pointed to the transmitting end by the receiving end is disconnected. It can be seen that, through the updating process, only the one-way VC between the receiving end and the transmitting end that matches the neighbor information of the VC established is reserved, and the one-way VC between the other receiving end and the transmitting end that does not match the neighbor information of the VC established is not reserved.
For example, when the neighbor information of the VC is the IP address of the neighbor that establishes the VC, the process of updating the unidirectional VC is: if the IP address of the neighbor establishing the VC is the same as the IP address of the receiving end, the receiving end starts the one-way VC pointing to the transmitting end by the receiving end; if the IP address of the neighbor establishing the VC is different from the IP address of the receiving end, the receiving end disconnects the unidirectional VC pointed to the transmitting end by the receiving end. Next, taking the implementation environment shown in fig. 1 as an example, taking PE1 as the transmitting end and PE2 and PE3 as the receiving end, the procedure of updating unidirectional VC will be described with reference to fig. 5:
a unidirectional VC pointed to PE2 by PE1 is established between PE1 and PE2, so PE2 establishes a neighbor of the VC for PE1, and PE1 sends an IP address of PE2 to PE2 and PE 3. For PE2, the local IP address of PE2 is obviously the same as the IP address of PE2 sent by PE1, so PE2 opens unidirectional VC directed by PE2 to PE 1; for PE3, the IP address local to PE3 is obviously different from the IP address of PE2 sent by PE1, so PE3 disconnects the unidirectional VC directed by PE3 to PE 1.
Therefore, the state of the post-update unidirectional VC is: a pair of unidirectional VCs with opposite directions is reserved between the transmitting end PE1 and the receiving end PE2, and the unidirectional VC originally established between the transmitting end PE1 and the receiving end PE3 is disconnected, that is, the unidirectional VC is not reserved between the transmitting end PE1 and the receiving end PE 3. When the data transmission direction is from Site1 to Site2, only one path is from CE1-PE1-PE2-CE2, and when the data transmission direction is from Site2 to Site1, only one path is from CE2-PE2-PE1-CE1, and the communication devices passing through in the back-and-forth process are both PE1 and PE2, so that the back-and-forth paths are consistent, and correct data transmission is ensured.
It should be noted that, if the unidirectional VC is already in the open state before the update, an optional implementation manner for opening the unidirectional VC pointed to the sending end by the receiving end may be to keep the open state of the unidirectional VC unchanged; if the unidirectional VC is in a closed state before the update, an optional implementation manner for opening the unidirectional VC pointed to the transmitting end by the receiving end may be to update the unidirectional VC from the closed state to an open state. That is, the update procedure does not necessarily change the state of the unidirectional VC, but is used to ensure that the state of the adjusted unidirectional VC is the correct state.
Further, if the neighbor information of the VC established by the sending end is not matched with the receiving end information, it may be displayed that the reason for disconnecting the unidirectional VC pointed to the sending end by the receiving end is "matching error", so as to identify the reason for disconnecting the unidirectional VC. Of course, the present embodiment does not limit the content of the statement of the reason, and besides "match error", other statements having the same semantics, such as "address error", "neighbor mismatch", etc., may also be displayed as the reason.
Accordingly, when PE2 is used as the transmitting side and PE1 is used as the receiving side, the unidirectional VC can be updated in the same manner. A unidirectional VC pointed to PE1 by PE2 is established between PE1 and PE2, and thus PE1 establishes a neighbor of the VC for PE2, and PE2 sends the IP address of PE1 to PE 1. For PE1, the local IP address of PE1 is obviously the same as the IP address of PE1 sent by PE2, so PE1 opens unidirectional VC directed by PE1 to PE 1.
To sum up, after the establishment of the unidirectional VC between the sending end and the receiving end is completed, the established unidirectional VCs are further updated, so that mutual transmission of two layers of data is performed between two user stations only through an appointed path, transmission errors caused by inconsistent back and forth paths in the mutual transmission process are avoided, and the accuracy of data transmission is improved.
Based on the same concept, as shown in fig. 6, an embodiment of the present application further provides an apparatus for establishing a virtual circuit, where the apparatus includes:
a first sending module 601, configured to send, by a sending end, label block information to a receiving end, where the label block information is used by the receiving end to establish a unidirectional virtual circuit VC pointing to the sending end from the receiving end;
a second sending module 602, configured to send neighbor information for establishing a VC to a receiving end, where the receiving end is configured to update a unidirectional VC pointed to the sending end by the receiving end according to the neighbor information for establishing the VC.
Optionally, the second sending module 602 is configured to send an update message to the receiving end, where the update message carries neighbor information for establishing the VC.
Optionally, the update message carries neighbor information for establishing the VC.
Optionally, the neighbor information for establishing the VC includes addresses of neighbors for establishing the VC.
To sum up, after the establishment of the unidirectional VC between the sending end and the receiving end is completed, the established unidirectional VCs are further updated, so that mutual transmission of two layers of data is performed between two user stations only through an appointed path, transmission errors caused by inconsistent back and forth paths in the mutual transmission process are avoided, and the accuracy of data transmission is improved.
Based on the same concept, as shown in fig. 7, an embodiment of the present application further provides an apparatus for establishing a virtual circuit, where the apparatus includes:
a first receiving module 701, configured to receive, by a receiving end, label block information sent by a sending end, where the label block information is used for the receiving end to establish a unidirectional virtual circuit VC pointed to the sending end by the receiving end;
a second receiving module 702, configured to receive neighbor information for establishing a VC, where the neighbor information is sent by a sending end;
an updating module 703 is configured to update the unidirectional VC pointed to the sending end by the receiving end according to the neighbor information of the VC.
Optionally, the second receiving module 702 is configured to receive an update message sent by the sending end, where the update message carries neighbor information for establishing the VC.
Optionally, the update packet includes newly added attribute information, where the attribute information is used to indicate neighbor information for establishing the VC.
Optionally, the neighbor information for establishing the VC includes addresses of neighbors for establishing the VC.
Optionally, the updating module 703 is configured to open the unidirectional VC pointed to the sending end by the receiving end if the neighbor information of the VC is established to match the information of the receiving end.
Optionally, the updating module 703 is configured to disconnect the unidirectional VC pointed to the sending end by the receiving end if the neighbor information of the VC is established is not matched with the information of the receiving end.
To sum up, after the establishment of the unidirectional VC between the sending end and the receiving end is completed, the established unidirectional VCs are further updated, so that mutual transmission of two layers of data is performed between two user stations only through an appointed path, transmission errors caused by inconsistent back and forth paths in the mutual transmission process are avoided, and the accuracy of data transmission is improved.
It should be understood that the apparatuses provided in fig. 6 and fig. 7 are only illustrated by the division of the functional modules when the functions of the apparatuses are implemented, and in practical applications, the functions may be distributed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to implement all or part of the functions described above. In addition, the apparatus and method embodiments provided by the above embodiments belong to the same concept, and specific implementation processes thereof are described in the method embodiments for details, which are not described herein again.
Based on the same conception, the embodiment of the application also provides equipment for establishing the virtual circuit, and the equipment comprises a memory and a processor; the memory stores at least one instruction, and the at least one instruction is loaded and executed by the processor to implement any one of the above methods for establishing a virtual circuit provided by the embodiments of the present application.
Based on the same conception, the embodiment of the application provides a communication device, which comprises: a transceiver, a memory, and a processor. Wherein the transceiver, the memory and the processor are in communication with each other via an internal connection path, the memory is configured to store instructions, the processor is configured to execute the instructions stored by the memory to control the transceiver to receive signals and control the transceiver to transmit signals, and when the processor executes the instructions stored by the memory, the processor is configured to execute the method of any one of the above possible embodiments.
Based on the same conception, the embodiment of the present application further provides a computer-readable storage medium, where at least one instruction is stored in the storage medium, and the instruction is loaded and executed by a processor to implement any one of the above methods for establishing a virtual circuit provided by the embodiment of the present application.
Based on the same conception, the embodiment of the application provides a chip, which comprises a processor and is used for calling and executing instructions stored in a memory, so that a communication device provided with the chip executes any one of the above methods for establishing the virtual circuit.
Based on the same concept, the embodiment of the application provides a chip, which comprises: the virtual circuit comprises an input interface, an output interface, a processor and a memory, wherein the input interface, the output interface, the processor and the memory are connected through an internal connection path, the processor is used for executing codes in the memory, and when the codes are executed, the processor is used for executing any method for establishing the virtual circuit.
It should be understood that the processor may be a Central Processing Unit (CPU), other general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or any conventional processor or the like. It is noted that the processor may be an advanced reduced instruction set machine (ARM) architecture supported processor.
Further, in an alternative embodiment, the memory may include both read-only memory and random access memory, and provide instructions and data to the processor. The memory may also include non-volatile random access memory. For example, the memory may also store device type information.
The memory may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The non-volatile memory may be a read-only memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an electrically Erasable EPROM (EEPROM), or a flash memory. Volatile memory can be Random Access Memory (RAM), which acts as external cache memory. By way of example, and not limitation, many forms of RAM are available. For example, Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), Enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct memory bus RAM (DR RAM).
The present application provides a computer program, which when executed by a computer, may cause the processor or the computer to perform the respective steps and/or procedures corresponding to the above-described method embodiments.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the procedures or functions described in accordance with the present application are generated, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (e.g., coaxial cable, fiber optic, digital subscriber line) or wirelessly (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that incorporates one or more of the available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid state disk), among others.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims (22)

1. A method of establishing a virtual circuit, the method comprising:
a sending end sends label block information to a receiving end, wherein the label block information is used for the receiving end to establish a one-way virtual circuit VC pointed to the sending end by the receiving end;
and sending neighbor information for establishing the VC to the receiving end, wherein the receiving end is used for updating the unidirectional VC pointed to the sending end by the receiving end according to the neighbor information for establishing the VC.
2. The method of claim 1, wherein the sending end sends neighbor information for establishing VC to the receiving end, comprising:
and the sending end sends an updating message to the receiving end, wherein the updating message carries the neighbor information for establishing the VC.
3. The method of claim 2, wherein the update packet includes newly added attribute information, and wherein the attribute information is used to indicate the neighbor information for establishing the VC.
4. A method according to any of claims 1-3, wherein the neighbour information for establishing a VC comprises addresses of neighbours for establishing a VC.
5. A method of establishing a virtual circuit, the method comprising:
a receiving end receives label block information sent by a sending end, wherein the label block information is used for the receiving end to establish a one-way virtual circuit VC pointed to the sending end by the receiving end;
receiving neighbor information for establishing VC sent by the sending end;
and updating the unidirectional VC pointed to the sending end by the receiving end according to the neighbor information for establishing the VC.
6. The method of claim 5, wherein the receiving neighbor information for establishing a VC sent by the sending end comprises:
and receiving an update message sent by the sending end, wherein the update message carries the neighbor information for establishing the VC.
7. The method of claim 6, wherein the update message includes newly added attribute information, and wherein the attribute information is used to indicate the neighbor information for establishing the VC.
8. The method of any of claims 5-7, wherein the neighbor information for establishing a VC comprises addresses of neighbors for establishing a VC.
9. The method as claimed in any one of claims 5-8, wherein said updating the unidirectional VC pointed to the transmitting end by the receiving end according to the neighbor information of the VC established comprises:
and if the neighbor information for establishing the VC is matched with the information of the receiving end, starting the one-way VC pointed to the transmitting end by the receiving end.
10. The method as claimed in any one of claims 5-8, wherein said updating the unidirectional VC pointed to the transmitting end by the receiving end according to the neighbor information of the VC established comprises:
and if the neighbor information for establishing the VC is not matched with the information of the receiving end, disconnecting the one-way VC pointed to the transmitting end by the receiving end.
11. An apparatus for creating a virtual circuit, the apparatus comprising:
a first sending module, configured to send, by a sending end, label block information to a receiving end, where the label block information is used by the receiving end to establish a unidirectional virtual circuit VC pointed to the sending end by the receiving end;
and the second sending module is used for sending neighbor information for establishing the VC to the receiving end, and the receiving end is used for updating the unidirectional VC pointed to the sending end by the receiving end according to the neighbor information for establishing the VC.
12. The apparatus according to claim 11, wherein the second sending module is configured to send, by the sending end, an update packet to the receiving end, where the update packet carries neighbor information for establishing the VC.
13. The apparatus of claim 11, wherein the update message carries neighbor information for the establishment of VC.
14. The apparatus of any of claims 11-13, wherein the neighbor information for establishing a VC comprises addresses of neighbors for establishing a VC.
15. An apparatus for creating a virtual circuit, the apparatus comprising:
the system comprises a first receiving module, a second receiving module and a sending module, wherein the first receiving module is used for a receiving end to receive label block information sent by a sending end, and the label block information is used for the receiving end to establish a one-way virtual circuit VC pointed to the sending end by the receiving end;
the second receiving module is used for receiving the neighbor information for establishing the VC, which is sent by the sending end;
and the updating module is used for updating the unidirectional VC pointed to the sending end by the receiving end according to the neighbor information of the established VC.
16. The apparatus according to claim 15, wherein the second receiving module is configured to receive an update packet sent by the sending end, where the update packet carries the neighbor information for establishing the VC.
17. The apparatus of claim 16, wherein the update message comprises newly added attribute information, and wherein the attribute information is used to indicate the neighbor information for establishing the VC.
18. The apparatus of any of claims 15-17, wherein the neighbor information for establishing a VC comprises addresses of neighbors for establishing a VC.
19. The apparatus according to any of claims 15-18, wherein the updating module is configured to open the unidirectional VC pointed to the transmitting end by the receiving end if the neighbor information for establishing the VC matches the information of the receiving end.
20. The apparatus according to any of claims 15-18, wherein the updating module is configured to disconnect the unidirectional VC pointed to the transmitting end by the receiving end if the neighbor information for establishing the VC does not match the information of the receiving end.
21. An apparatus for creating a virtual circuit, the apparatus comprising a memory and a processor; the memory has stored therein at least one instruction that is loaded and executed by the processor to implement the method of creating a virtual circuit of any of claims 1-10.
22. A computer-readable storage medium having stored thereon at least one instruction which is loaded and executed by a processor to implement a method of creating a virtual circuit according to any of claims 1-10.
CN201811623121.6A 2018-12-28 2018-12-28 Method, device and equipment for establishing virtual circuit and computer readable storage medium Active CN111385210B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811623121.6A CN111385210B (en) 2018-12-28 2018-12-28 Method, device and equipment for establishing virtual circuit and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811623121.6A CN111385210B (en) 2018-12-28 2018-12-28 Method, device and equipment for establishing virtual circuit and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN111385210A true CN111385210A (en) 2020-07-07
CN111385210B CN111385210B (en) 2022-06-14

Family

ID=71220733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811623121.6A Active CN111385210B (en) 2018-12-28 2018-12-28 Method, device and equipment for establishing virtual circuit and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN111385210B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144661A (en) * 1996-02-05 2000-11-07 Kabushiki Kaisha Toshiba Network node apparatus and virtual connection control method for providing various service attributes in multicast communication
CN1870637A (en) * 2005-10-28 2006-11-29 华为技术有限公司 Method for implementing virtual circuit state consistency in virtual special local network service
CN101552711A (en) * 2008-04-03 2009-10-07 华为技术有限公司 Method and device for establishing pseudowire mapping

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144661A (en) * 1996-02-05 2000-11-07 Kabushiki Kaisha Toshiba Network node apparatus and virtual connection control method for providing various service attributes in multicast communication
CN1870637A (en) * 2005-10-28 2006-11-29 华为技术有限公司 Method for implementing virtual circuit state consistency in virtual special local network service
CN101552711A (en) * 2008-04-03 2009-10-07 华为技术有限公司 Method and device for establishing pseudowire mapping

Also Published As

Publication number Publication date
CN111385210B (en) 2022-06-14

Similar Documents

Publication Publication Date Title
US11310079B2 (en) EVPN packet processing method, device, and system for MAC learning via MAC/IP advertisement route
CN110266592B (en) Communication method and device for SRV6 network and IP MPLS network
CN106209553B (en) Message processing method, equipment and system
US11606337B2 (en) Fog-enabled multipath virtual private network
WO2019128273A1 (en) Method, device and system for determining connection relation of network devices
CN106878199B (en) Configuration method and device of access information
CN109474495B (en) Tunnel detection method and device
US20210211878A1 (en) Facilitating Residential Wireless Roaming Via VPN Connectivity Over Public Service Provider Networks
CN112422398B (en) Message transmission method and communication device
US20220029917A1 (en) Executing workloads across multiple cloud service providers
CN107547665A (en) A kind of method, equipment and the system of dhcp address distribution
CN103428252B (en) A kind of method, equipment and the system of cloud computing virtual machine (vm) migration
US8873549B2 (en) Managing L2VPN connectivity after a fiber node split
CN111385210B (en) Method, device and equipment for establishing virtual circuit and computer readable storage medium
CN111130978A (en) Network traffic forwarding method and device, electronic equipment and machine-readable storage medium
CN110572326A (en) Method, device, network equipment and system for establishing forwarding path
CN114640626B (en) Communication system and method based on software defined wide area network SD-WAN
US11456892B1 (en) Virtual router instantiation on public clouds
CN105763414A (en) Method and device for learning table entry
CN109462537B (en) Cross-network intercommunication method and device
CN114422415A (en) Egress node processing flows in segmented routing
CN113132230A (en) Method, device and computer storage medium for sending message
WO2023029750A1 (en) Mac learning method and apparatus, electronic device, and storage medium
US11778043B2 (en) Horizontal scaling for a software defined wide area network (SD-WAN)
US11546432B2 (en) Horizontal scaling for a software defined wide area network (SD-WAN)

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