WO2012122844A1 - 一种多链接互连网络分域互连的方法和系统 - Google Patents

一种多链接互连网络分域互连的方法和系统 Download PDF

Info

Publication number
WO2012122844A1
WO2012122844A1 PCT/CN2011/084576 CN2011084576W WO2012122844A1 WO 2012122844 A1 WO2012122844 A1 WO 2012122844A1 CN 2011084576 W CN2011084576 W CN 2011084576W WO 2012122844 A1 WO2012122844 A1 WO 2012122844A1
Authority
WO
WIPO (PCT)
Prior art keywords
trill
domain
location information
data frame
local
Prior art date
Application number
PCT/CN2011/084576
Other languages
English (en)
French (fr)
Inventor
翟洪军
成明江
金利忠
胡方伟
赵静静
吕二春
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012122844A1 publication Critical patent/WO2012122844A1/zh

Links

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
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Definitions

  • the present invention relates to network communication technologies, and in particular, to a method and system for network domain interconnection of TRILL (Transparent Interconnection over Lots of Links). Background technique
  • TRILL is the connection layer (L2) network standard recommended by the Internet Engineering Task Force (IETF) to address the shortcomings of the Spanning Tree Protocol (STP) in large data centers (DCs).
  • STP Spanning Tree Protocol
  • DCs large data centers
  • TRILL solves the L2 loop problem by introducing IS-IS (Intermediate System to Intermediate System) routing into the L2 network, while preserving L2 multipath or Equivalent Cost Multiple Path (EPP).
  • IS-IS Intermediate System to Intermediate System
  • the device running the TRILL protocol is called the RBridge (Routing Bridge).
  • the RBridge is responsible for encapsulating the unicast data frame of the End System into a TRILL format, that is, adding a TRILL header and an external frame header in front of the original data frame, and the encapsulated data frame is called a TRILL data frame.
  • injecting into the ingress routing bridge (Ingress) of the TRILL network and at the exit of the TRILL network, the RBridge is responsible for decapsulating the TRILL data frame into the original data frame and forwarding it to the egress routing bridge (Egress) of the end system.
  • the other RBridges are responsible for transmitting the TRILL unicast data frame from the Ingress to the Egress, which is called the transmission routing bridge.
  • TRILL The application scenario of TRILL is mainly DC.
  • RBridges in a TRILL network will need to process more and more control plane messages, and the response to topology changes will be slower; on the other hand, in cloud computing, Interworking between DCs is inevitable. Therefore, the interconnection between TRILL networks is also an unavoidable problem.
  • the TRILL protocol describes the control plane and data plane technology in a TRILL network in detail, but has not yet been involved in the interworking between TRILL networks.
  • the main purpose of the present invention is to provide a method and system for the TRILL network to implement the inter-domain management of the TRILL network and solve the interworking problem of different TRILL domains.
  • the method for the TRILL network domain interconnection is provided by the present invention, and the TRILL network is divided into different TRILL domains by layers; the method further includes:
  • the border routing bridge (BRB, Border RBridge) in each TRILL domain notifies the location information of the remote TRILL domain and the location information of the sibling TRILL domain to the RBridge of the local TRILL domain;
  • the BRB When detecting that the destination media access control (MAC) address of the data frame is not in the local TRILL domain, the BRB encapsulates the location information of the local TRILL domain into the data frame, and sends the data frame to the remote TRILL domain; When detecting that the destination MAC of the data frame is in the local TRILL field, the data frame is sent to the RBridge corresponding to the destination MAC.
  • MAC media access control
  • the BRB in the TRILL domain notifies the RBridge of the local TRILL domain of the location information of the remote TRILL domain and the location information of the sibling TRILL domain, where: the BRB in each TRILL domain will be the remote TRILL domain.
  • the location information and the location information of the sibling TRILL field learned from the parent TRILL field are encapsulated into a type/length/value (TLV, Type ⁇ Length ⁇ Value ) format, and sent to the local TRILL field RBridge 0 according to the control plane protocol of the TRILL network
  • the location information of the local TRILL domain is encapsulated into the data frame, and the option information is added in the option field of the TRILL header of the data frame, and the location information of the local TRILL domain is recorded in the option information. ; and / or, add the location information of the local TRILL field in the Ingress field of the TRILL header.
  • the location information of the local TRILL domain is encapsulated into the data frame, where: the BRB sends the location information of the local TRILL domain when the data frame is sent from the local TRILL domain to the higher TRILL domain. Encapsulated into the data frame.
  • the method further includes: after receiving the data frame, the RBridge corresponding to the destination MAC, in addition to the source MAC learning, according to the location information of the TRILL field that the data frame passes in the TRILL header of the data frame , learn the location information of the TRILL field that needs to pass through the source MAC.
  • the method further includes: when sending the backhaul message, the RBridge corresponding to the destination MAC encapsulates the learned location information of the TRILL field that needs to pass the source MAC into the TRILL header of the backhaul message, according to the foregoing
  • the location information sends a backhaul message, and the BRB that receives the backhaul message forwards the backhaul message according to the location information, and encapsulates the location information of the local TRILL domain into the backhaul message; the RBridge corresponding to the source MAC is received.
  • the location information of the TRILL field that is required to reach the destination MAC address is learned.
  • the system provides a TRILL network sub-domain interconnection system, and the system includes: a network division unit, a location information notification unit, a detection unit, a re-encapsulation transmission unit, and a data frame transmission unit; wherein, the location information notification unit and the detection unit
  • the re-encapsulation transmitting unit and the data frame sending unit are all set in the BRB in each TRILL domain.
  • a network division unit configured to divide the TRILL network into different TRILL domains by layers; a location information notification unit, which is set in the BRB in each TRILL domain, and is used to remotely TRILL The location information of the domain and the location information of the sibling TRILL domain are used to notify the RBridge of the local TRILL domain.
  • the detecting unit is configured in the BRB of each TRILL domain, and is configured to notify the re-encapsulation when the destination MAC of the data frame is detected not in the local TRILL domain.
  • a sending module when detecting that the destination MAC of the data frame is in the local TRILL domain, notifying the data frame sending module;
  • the re-encapsulation transmitting unit is configured to be configured in a BRB in each TRILL domain, configured to encapsulate location information of the local TRILL domain into the data frame, and send the data frame to a remote TRILL domain; In the BRB in each TRILL domain, the RBridge corresponding to the destination MAC used to send the data frame to the local TRILL domain or the remote TRILL domain.
  • the location information notification unit is specifically configured to encapsulate the location information of the remote TRILL domain and the location information of the sibling TRILL domain learned from the parent TRILL domain into a TLV format, and send the information to the local device according to the control plane protocol.
  • RBridge of the TRILL domain is specifically configured to encapsulate the location information of the remote TRILL domain and the location information of the sibling TRILL domain learned from the parent TRILL domain into a TLV format
  • the re-encapsulation sending unit is specifically configured to add option information in an option field of a TRILL header of a data frame, and record location information of the local TRILL field in the option information; and/or, in a TRILL header
  • the ingress field adds the location information of the local TRILL field.
  • the system further includes: a learning unit, configured to be configured in the RBridge corresponding to the destination MAC, in addition to the source MAC learning, according to the TRILL field of the data frame recorded in the TRILL header of the data frame Location information, learns the location information of the TRILL domain that needs to pass to reach the source MAC.
  • a learning unit configured to be configured in the RBridge corresponding to the destination MAC, in addition to the source MAC learning, according to the TRILL field of the data frame recorded in the TRILL header of the data frame Location information, learns the location information of the TRILL domain that needs to pass to reach the source MAC.
  • the learning unit is further configured to, when sending the backhaul message, encapsulate the learned location information of the TRILL field that is required to reach the source MAC into the TRILL header of the backhaul message, and send the backhaul according to the location information. Message.
  • the re-encapsulation sending unit is further configured to: after receiving the backhaul message, forward the backhaul message according to the location information of the TRILL domain that needs to pass the source MAC address, and encapsulate the location information of the local TRILL domain. Go to the backhaul message.
  • the invention provides a method and system for TRILL network domain interconnection, which will be a TRILL network
  • TRILL domains are divided into layers.
  • the BRB in each TRILL domain notifies the location information of the remote TRILL domain and the sibling TRILL domain to the RBridge of the local TRILL domain.
  • the BRB detects that the destination MAC address of the data frame is not in the local TRILL domain, the BRB will The location information of the local TRILL domain is encapsulated into the data frame, and the data frame is sent to the remote TRILL domain.
  • the destination MAC of the data frame is detected in the local TRILL domain, the data frame is sent to the destination MAC corresponding. RBridge; In this way, the domain management of the TRILL network is implemented, and the interworking of different TRILL domains is realized, and a large number of MAC information problems in the TRILL domain interconnection are solved.
  • TRILL domain refers to the TRILL domain that provides only internal services as the private TRILL domain, and the TRILL domain that provides the external service as the well-known TRILL domain.
  • TRILL domain can be further divided into private TRILL domains, and the private TRILL domain can be subdivided into smaller private domains.
  • the TRILL domain can be divided into domains by hierarchically dividing the TRILL domain.
  • TRILL domain is sublimated from the physical level to the logical level: RBridges belonging to the same logical TRILL domain can be distributed in different physical locations, and they can span non-TRILL networks;
  • the TRILL domain it is possible to realize the interconnection of the TRILL domain across multiple networks: If it is across an IP network, the public IP of the BRB can be used as the location information of the TRILL domain; if it is a VPLS network, The MAC information of the BRB is used as the location information of the TRILL domain. To span multiple heterogeneous networks, the global code (nickname) of the TRILL domain can be used as the gateway information of the TRILL domain.
  • FIG. 1 is a schematic flowchart of a method for implementing a TRILL network domain interconnection according to the present invention
  • FIG. 2 is a schematic diagram of a format of an option field of a TRILL header according to the present invention
  • FIG. 4 is a schematic structural diagram of a packaged data frame in the present invention.
  • FIG. 5 is a schematic structural diagram of a system for implementing a TRILL network domain interconnection according to the present invention.
  • FIG. 6 is a schematic diagram of performing TRILL domain division of a TRILL network in a large DC according to Embodiment 1 of the present invention
  • FIG. 7 is a schematic flowchart of a method for implementing a TRILL network domain interconnection according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram of the division of the TRILL domain between the area A and the area B according to the second embodiment of the present invention.
  • FIG. 9 is a schematic flowchart of a method for implementing a TRILL network domain interconnection according to Embodiment 2 of the present invention. detailed description
  • the invention introduces the hierarchical concept of the TRILL domain and the domain, which mainly includes:
  • the TRILL domain is a general term for many TRILL devices under the jurisdiction of organizations such as organizations and branches.
  • a large TRILL network in a DC can be divided into different TRILL domains.
  • the TRILL domain can be hierarchical, and has a private and well-known concept: a TRILL domain that only provides internal services is called Private TRILL domain, and provide external The TRILL domain of the service is called the well-known TRILL domain.
  • the TRILL field can be identified by a domain ID, such as: Nickname of the domain - can be distinguished from the Nickname of the device by specifying a specific bit.
  • the private TRILL domain has at least one private domain ID, which is unique among the TRILL domains interworking within the same organization or organization; the well-known TRILL domain has a unique and well-known range within a well-known range (such as global or regional).
  • TRILL domain ID In the actual networking, you can extend or defragment the TRILL domain as required. You can flexibly select the domain ID and layer the TRILL domain if the domain IDs do not conflict.
  • the present invention also introduces the concept of a BRB, which is an ingress and egress device of a TRILL domain, at least one interface is located in a specified TRILL domain, and at least one interface is connected to other TRILL domains or non-TRILL networks.
  • the specified TRILL domain is a local TRILL domain
  • the other TRILL domain is a remote TRILL domain.
  • the BRB is also hierarchical according to the level of the connected TRILL domain.
  • the BRB of the lower TRILL domain can appear as a normal RBridge in the TRILL domain of the upper layer.
  • which ones are selected as BRBs can be specified by manual configuration and/or by means of a dynamic routing distribution mechanism.
  • the BRB mainly expands the functions of RBridge as follows:
  • Re-encapsulating the data frame leaving the local TRILL domain including: adding the location information of the local TRILL field in the TRILL header of the data frame, for example, the domain ID, the Nickname of the BRB, etc., and the data frame of the backhaul can use the TRILL.
  • the location information of the domain is addressed and enters the local TRILL domain.
  • the TRILL data frame leaving the local TRILL domain is the location information of the TRILL domain where the destination MAC is not in the local MAC address table or the destination MAC address carried in the TRILL header is different from the local TRILL domain.
  • Data frame of location information; the location information has nesting, and records data in sequence Different levels of TRILL fields traversed by frames;
  • the TRILL network is divided into different TRILL domains according to layers; the BRB in each TRILL domain notifies the location information of the remote TRILL domain and the location information of the sibling TRILL domain to the RBridge of the local TRILL domain;
  • the destination MAC address of the data frame is not in the local TRILL domain, the location information of the local TRILL domain is encapsulated into the data frame, and the data frame is sent to the remote TRILL domain; the destination MAC of the data frame is detected at the local TRILL.
  • the data frame is sent to the RBridge corresponding to the destination MAC.
  • the present invention implements a TRILL network domain interconnection method. As shown in FIG. 1, the method includes the following steps:
  • Step 101 Divide the TRILL network into different TRILL domains by layer.
  • the large TRILL network in the DC is divided into different TRILL domains according to the well-known TRILL domain and the private TRILL domain.
  • Each TRILL domain can be divided into a parent TRILL domain, a sub-TRILL domain, a sibling TRILL domain, etc. by the layer, and the father TRILL
  • the sub-TRILL field connected to the same parent TRILL field is the sibling TRILL field.
  • the dedicated flag is set in the BRB to indicate that the TRILL field connected to the BRB is the parent TRILL field or the sub-TRILL field. , or brother TRILL domain.
  • Step 102 The BRB in each TRILL domain notifies the location information of the remote TRILL domain and the location information of the sibling TRILL domain to the RBridge of the local TRILL domain. Specifically, the BRB in each TRILL domain encapsulates the location information of the remote TRILL domain and the location information of the sibling TRILL domain learned from the parent TRILL domain into a TLV format, and according to a control plane protocol of the TRILL network, such as TRILL-IS- The IS sends the RBridge to the local TRILL domain.
  • TRILL-IS- The IS sends the RBridge to the local TRILL domain.
  • Step 103 The BRB detects the destination MAC of the data frame, if it is in the local TRILL domain, step 105 is performed; if it is not in the local TRILL domain, step 104 is performed;
  • the BRB detects the destination MAC of the data frame, which is generally: the BRB detects whether the destination MAC of the data frame is in the MAC table of the local TRILL domain, or the TRILL field of the destination MAC address of the data frame.
  • the location information is not the local TRILL domain; the BRB stores the MAC table of the local TRILL domain and the MAC table of the remote TRILL domain, and the MAC table of the local TRILL domain includes the MAC addresses of all hosts in the remote TRILL domain;
  • the location information of the TRILL domain where the MAC is located is generally carried by the TRILL header in the backhaul message.
  • Step 104 The BRB encapsulates the location information of the local TRILL domain into the data frame, and sends the data frame to the remote TRILL domain. After receiving the data frame, the BRB in the remote TRILL domain performs step 103.
  • the BRB encapsulates the location information of the local TRILL domain into the data frame, which may be:
  • the BRB only uses the data frame from the local TRILL domain.
  • the TRILL field sent to a higher layer is in the parent TRILL field, the location information of the local TRILL field is encapsulated into the data frame.
  • the option information is added in the option field (options field) of the TRILL header of the data frame shown in FIG. 2, and the location information of the local TRILL field is recorded in the option information; and/or, added in the Ingress field of the TRILL header.
  • the location information of the local TRILL domain; and the data frame is sent to the remote TRILL domain, after the BRB in the remote TRILL domain receives the data frame, step 103 is performed;
  • the option information mainly includes: location information of the local TRILL domain and bits of the remote TRILL Set the information, as shown in Figure 3, the LOC_TRLL_LOC field is used to record the location information of the local TRILL field, and the RMT_TRLL_LOC field is used to record the location information of the remote TRILL; the above two options are hop-by-hop (hop -by-hop ) Non-critical option, RBridge that does not support this option needs to transparently transmit this information.
  • the location information of the TRILL field may be the Nickname of the TRILL domain, or may be information such as an IP address, a MAC address, or a Nickname that uniquely identifies a BRB.
  • the location information of the TRILL domain can be flexibly selected according to the spanned network, and the value of the option field, the type and length of the domain are defined according to the selected portal information; further, the location information can also be escaped.
  • the location information of the TRILL field in the TRILL header option field is nested, and is used to record different levels of TRILL fields traversed by data frames, and provides addressing information for the backhaul data frames to traverse different levels of TRILL domains to reach the destination host.
  • An example of the structure of the encapsulated data frame is as shown in FIG. 4, which includes a packet header of the transparent transmission network, a TRILL header, an inner MAC frame header, and user data, where the packet header of the transparent transmission network is used for storing The IP of the non-TRILL network that traverses.
  • the TRILL header is used to store location information that traverses the TRILL domain.
  • the BRB encapsulates the data frame from the remote TRILL domain, if it detects that the location information of the upcoming TRILL field is included in the TRILL header, the location information of the TRILL domain is stripped off, and The location information of the remaining TRILL fields is copied to the new TRILL header.
  • Step 105 When detecting that the destination MAC of the data frame is in the local TRILL domain, the BRB sends the data frame to the RBridge corresponding to the destination MAC.
  • the step further includes: after receiving the data frame, the RBridge corresponding to the destination MAC learns, according to the location information of the TRILL field that the data frame passes in the TRILL header of the data frame, in addition to the normal source MAC learning. Location information of the TRILL domain that is required to reach the source MAC; The step further includes: when the backhaul message is sent, the RBridge corresponding to the destination MAC encapsulates the learned location information of the TRILL field that is required to reach the source MAC into the TRILL header of the backhaul message, and sends the backhaul according to the location information.
  • the BRB that receives the backhaul message forwards the backhaul message according to the location information, and encapsulates the location information of the local TRILL domain into the backhaul message; after receiving the backhaul message, the RBridge corresponding to the source MAC receives the backhaul message. Learn the location information of the TRILL field that is required to reach the destination MAC.
  • the method further includes: after the RBridge in the remote TRILL domain receives the data frame, and determines that the destination MAC of the data frame is the MAC of the end system connected to itself, the RBridge learns in addition to the normal source MAC.
  • the location information of the TRILL field that needs to pass the source MAC address is also learned according to the location information of the TRILL field that the data frame passes in the TRILL header of the data frame.
  • This embodiment solves the problem of interconnecting a TRILL network domain or multiple TRILL networks across a traditional network by encapsulating the location information of the local TRILL domain in the TRILL header.
  • the BRB only needs to maintain the information of the BRBs that reach other TRLL domains, and does not need to maintain the MAC information of the devices in other TRILL domains, and solves the massive problem of MAC information when a large number of TRILL domains are interconnected.
  • you can further reduce the information that each BRB maintains to the other BRBs.
  • the present invention further provides a TRILL network domain interconnection system.
  • the system includes: a network division unit 51, a location information notification unit 52, a detection unit 53, and a repackage transmission unit 54. a data frame transmitting unit 55; wherein
  • the network dividing unit 51 is configured to divide the TRILL network into different TRILL domains by layers.
  • the location information notification unit 52 is disposed in the BRB in each TRILL domain, and is used to set the location information of the remote TRILL domain and the remote TRILL.
  • the location information of the brother TRILL field learned in the parent TRILL field of the domain notifies the RBridge of the local TRILL domain;
  • the location information notification module 52 encapsulates the location information of the remote TRILL domain and the location information of the sibling TRILL domain learned from the parent TRILL domain of the remote TRILL domain into a TLV format, and sends the information to the TLV format according to the control plane protocol.
  • RBridge of the local TRILL domain is configured to divide the TRILL network into different TRILL domains by layers.
  • the detecting unit 53 is configured in the BRB in each TRILL domain, and is configured to notify the re-encapsulation transmitting unit 54 when the destination MAC that detects the data frame is not in the local TRILL domain; when detecting that the destination MAC of the data frame is in the local TRILL domain , the notification data frame sending unit 55;
  • the re-encapsulation sending unit is configured to encapsulate the location information of the local TRILL domain into the data frame, and send the encapsulated data frame to the remote TRILL domain.
  • the data frame sending unit 55 is disposed in the BRB in each TRILL domain, and is configured to send the data frame to the RBridge corresponding to the destination MAC;
  • the re-encapsulation transmitting unit 54 encapsulates the location information of the local TRILL domain into the data frame, specifically: the re-encapsulation transmitting unit 54 adds option information in the option field of the TRILL header of the data frame, and the local TRILL domain is The location information is recorded in the option information; and/or, the location information of the local TRILL field is added in the Ingress field of the TRILL header;
  • the system further includes: a learning unit 56, configured to: when configured in the RBridge corresponding to the destination MAC, in addition to the normal source MAC learning, according to the location information of the TRILL field that the data frame recorded in the TRILL header of the data frame passes And learning the location information of the TRILL field that is required to reach the source MAC; when it is set in the RBridge corresponding to the source MAC, after receiving the backhaul message, learning the location information of the TRILL field that needs to pass the destination MAC;
  • the RBridge corresponding to the destination MAC may be in the local TRILL domain or in the remote TRILL domain;
  • the learning unit 56 is further configured to: when the backhaul message is sent, encapsulate the learned location information of the TRILL field that is required to reach the source MAC into the TRILL header of the backhaul message, and send the backhaul message according to the location information;
  • the re-encapsulation sending unit 54 is further configured to: after receiving the backhaul message, forward the backhaul message according to the location information of the TRILL domain that is required to reach the source MAC, and encapsulate the location information of the local TRILL domain. Go to the backhaul message.
  • the TRILL network in a large DC is divided into three brother TRILL domains: TRILL 1, TRILL 2, and TRILL 3, and higher.
  • TRILL 1 One layer of the father TRILL field - TRILL X connects them together.
  • the RBI, RB2, and RB3 in the TRILL X domain are BRBs.
  • This embodiment implements a TRILL network domain interconnection method. As shown in FIG. 7, the method includes the following steps:
  • Step 701 Divide the TRILL network into different TRILL domains by layer.
  • the TRILL network in a large DC as shown in FIG. 6 is divided into three private TRILL domains by a well-known TRILL domain and a private TRILL domain: TRILL 1, TRILL 2, and TRILL 3 and a well-known TRILL domain -TRII X.
  • Step 702 The BRB in each TRILL domain notifies the location information of the remote TRILL domain and the location information of the sibling TRILL domain to the RBridge of the local TRILL domain.
  • RB1 floods TRILL 2, RB2 to TRILL 3, and RB3 to TRILL 1 to flood the TLV format LSP, and notifies the location information of the remote TRILL domain, so that RBridges in TRILL 1, TRILL 2, and TRILL 3 are known to pass through the respective domains.
  • the TRILL domain can be reached by the BRB.
  • the RBR, the RB2, and the RB3 also flood the TLSPs of the TLV format to the TRILL X domain, and notify each other of the location information of the connected lower TRILL domain. For example, the TRILL to which the RB1 will connect.
  • the Nickname of 2 notifies RB2 and RB3.
  • Step 703 The HI sends the source MAC to itself, and the destination MAC is the original data frame of H3 to RB1 in TRILL 1.
  • Step 704 After the RBI in TRILL 1 receives the original data frame, the local MAC H3 is not found in the table, the frame is encapsulated in an unknown destination frame, and the encapsulated TRILL data frame is distributed along the distribution tree.
  • the frame is encapsulated in an unknown destination frame, generally the Ingress of the frame is itself, and the Egress is a tree root of a distribution tree that can reach all RBridges in TRILL 1.
  • Step 705 After receiving the data frame, the RB3 in TRILL 1 detects that H3 is not in TRILL.
  • the RB3 encapsulates the location information of the TRILL 1 into the original data frame, and sends the encapsulated data frame to the TRILL X;
  • the detection that H3 is not in TRILL 1 is: there is no H3 in the MAC table of TRILL 1 detected;
  • the RB3 encapsulates the location information of the TRILL 1 into the original data frame, which may be: setting the Ingress in the TRILL header to the Nickname of TRILL 1, and setting the Egress to a distribution tree that can reach all other RBridges in TRILL X. Tree root
  • the step further includes: after receiving the original data frame, the RBridge other than the RB3 detects that there is no H3 in the local MAC table, and distributes the original data frame along the original distribution tree.
  • Step 706 After receiving the encapsulated data frame, the RB2 in the TRILL X domain detects that the data frame is from a certain sub-domain and H3 is in another sub-domain TRILL 3, and sets the Egress in the TRILL header of the data frame.
  • the RB3 in the TRILL 3 is invariant, and the data frame is sent to the RB3 of the TRILL 3 in a unicast manner;
  • the step further includes: after receiving the data frame distributed by the RB3, the RB1 detects that the H3 is not in the TRILL X, and sends the data frame to the TRILL 2.
  • the RBridge in the TRILL 2 determines that the destination MAC address of the data frame is not the self. The data frame is discarded when the MAC of the connected end system.
  • Step 707 After receiving the data frame sent by the RB2, the RB3 in the TRILL 3 decapsulates the data frame, and sends the obtained original data frame to the H3.
  • the step further includes: RB3 in the TRILL 3 learns the location information of the TRILL 1.
  • Step 708 When H3 needs to reply to the HI packet, the original data frame whose destination MAC address is HI and whose source MAC address is H3 is sent to RB3 in TRILL 3.
  • Step 709 In TRILL 3, RB3 learns that HI is in the remote TRILL 1 according to the learned location information of TRILL 1, and encapsulates the location information of the TRILL 1 into the original data frame, and sends it to RB2;
  • the location information of the TRILL 1 is encapsulated into the original data frame, which may be a domain Nickname with Ingress set to itself and Egress set to TRILL 1.
  • Step 710 After receiving the original data frame, RB2 detects the location information of TRILL 1, and encapsulates the location information of TRILL 3 into the original data frame, and sends it to RB3 of TRILL 1;
  • the location information of the TRILL 3 is encapsulated into the original data frame, which may be a field Nickname that sets Ingress to TRILL 3.
  • Step 711 RB3 of TRILL 1 receives the encapsulated data frame, detects RB1 of HI in TRILL 1, sets Egress in the TRILL header of the data frame to RBI in TRILL 1, and the Ingress does not change.
  • the data frame is unicast to the RBI in TRILL 1;
  • Step 712 After receiving the data frame, the RBI in TRILL 1 decapsulates the data frame, and forwards the original data frame obtained by decapsulation to HI.
  • the step further includes: in the embodiment where the RBI in the TRILL 1 learns the location information of the TRILL 3, after the above process, the RB1 in the TRILL 1 and the RB3 in the TRILL 3 respectively learn the path to the H3 and HI, and subsequently Data forwarding between HI and H3 will follow the learned path.
  • the location information of the domain may also be carried in the option field in the TRILL header.
  • TRILL X When a data frame enters a high-level domain from a low-level domain, for example, when TRILL X enters TRILL X, the BRB connecting the two domains (such as RB3 in TRILL 1) will be the lower-layer domain (that is, TRILL).
  • the location information of 1) is added to the local TRILL domain location information option field (LOC TRILL LOC), and the RBridge (such as RB3 in TRILL 3) connected to the destination end (such as H3) learns the location information of the source MAC from the option domain;
  • the remote TRILL field location information option field (RMT_TRILL_LOC) of the TRILL header of the RBridge connected to the destination end carries the location information of the remote TRILL domain (ie, TRILL 1 ), and the BRB passes the remote end.
  • the location information of the TRILL field forwards the data frame to the destination.
  • TRILL 1 and TRILL2 there are two private TRILL domains in the area A and the area B: TRILL 1 and TRILL2, and the TRILL domain between the areas A and B and the areas A and B pass through the IP network. connected.
  • TRILL 1 and TRILL2 the TRILL domain between the areas A and B and the areas A and B pass through the IP network. connected.
  • the private TRILL fields in the respective areas are logically connected by the well-known TRILL A and TRILL B respectively, and then the above-mentioned areas are well-known with the world-renowned TRILL X.
  • TRILL A and TRILL B are logically connected together.
  • This embodiment implements a method for inter-domain interconnection of a TRILL network. As shown in FIG. 9, the method includes the following steps:
  • Step 901 Divide the TRILL network into different TRILL domains by layer
  • TRILL 1 and TRILL 2 two private TRILL domains are respectively divided in the area A and the area B: TRILL 1 and TRILL 2, and the TRILL domain between the areas A and B or between the areas A and B is connected through an IP network.
  • TRILL 1 and TRILL 2 logically connect the private TRILL domains in their respective regions, and then divide the world-renowned TRILL X to logically connect the well-known TRILL A and TRILL B in the above regions.
  • Step 902 The BRB in each TRILL domain notifies the location information of the remote TRILL domain and the location information of the sibling TRILL domain to the RBridge of the local TRILL domain.
  • RB2 and RB3 in the area A flood the location information of the private TRILL 1 and TRILL 2 connected to the TRILL A, and the TRILL A and the private TRILL field in the area A learned in the TRILL A. Flooding location information to their respective private TRILL domains Medium.
  • the RBridge in the private TRILL domain obtains the location information of other private TRILL domains that exist in the local area (ie, the area A), that is, the RB2 and RB3 in the local area.
  • Private TRILL domain including the IP path to the private TRILL domain;
  • RB4 and RB3 of the world-renowned TRILL X distribute the location information of TRILL A and B to TRILL X respectively, so that RB4 and RB3 learn the location information of TRILL A and B respectively, including the IP path to TRILL A and B.
  • RB4 and RB3 of TRILL X also flood the location information of TRILL A and TRILL B learned into area A and area B, so that RBridge in area A and area B learns the location of another area-level TRILL field. Information, including IP paths.
  • Step 903 HI sends the original data frame whose source MAC is H1, the destination MAC is H5 to the RBI of the TRILL 2 in the area or A;
  • Step 904 After receiving the original data frame, the RBI of the TRILL 2 in the area A does not find the entry corresponding to the H5 in the MAC table, encapsulates the frame in an unknown destination frame, and distributes the encapsulated along the distribution tree.
  • TRILL data frame After receiving the original data frame, the RBI of the TRILL 2 in the area A does not find the entry corresponding to the H5 in the MAC table, encapsulates the frame in an unknown destination frame, and distributes the encapsulated along the distribution tree.
  • Step 905 After receiving the original data frame, the RB3 with the TRILL 2 as the local TRILL field in the area A detects that the H5 is not in the TRILL 2, and the RB3 encapsulates the location information of the TRILL 2 into the original data frame. And sending the encapsulated data frame to TRILL A;
  • the H5 is not in the TRILL 2, and the H5 is not in the MAC table of the TRILL 2;
  • the encapsulating the location information of the TRILL 2 into the original data frame may be: setting the Ingress in the TRILL header to itself, Egress Set to the root of a distribution tree that can reach all other RBridges in TRILL A, and add the location information of TRILL 2 to the LOC TRILL LOC field of the TRILL header;
  • the sending the encapsulated data frame to the TRILL A is generally: after adding an IP header to the encapsulated data frame, multicasting to all RBridges in the TRILL A;
  • the step further includes: after receiving the original data frame, the RB2 detects that there is no H5 in the local MAC table, and continues to distribute the TRILL data frame along the distribution tree.
  • Step 906 After receiving the data frame, the RB4 in the TRILL A detects that the H5 is not in the TRILL A after the decapsulation, and the RB4 encapsulates the location information of the TRILL A into the data frame, and adds the IP header to the TRILL.
  • X multicast encapsulated data frame After receiving the data frame, the RB4 in the TRILL A detects that the H5 is not in the TRILL A after the decapsulation, and the RB4 encapsulates the location information of the TRILL A into the data frame, and adds the IP header to the TRILL.
  • the detection that H5 is not in TRILL A is: There is no H5 in the MAC table of TRILL A detected;
  • Encapsulating the location information of the TRILL A into the data frame may be: setting the Ingress in the TRILL header to itself, and setting the Egress to a tree root of a distribution tree that can reach all RBridges in the TRILL X, and The location information of TRILL A is added to the LOC TRILL LOC field of the TRILL header;
  • Step 907 After receiving the data frame, the RB3 in the TRILL X detects that the H5 is not in the TRILL X after the decapsulation, and the RB3 re-encapsulates the data frame, and adds the IP header to the TRILL B multicast package. After the data frame;
  • the detection that H5 is not in TRILL X is: There is no H5 in the MAC table of TRILL X detected;
  • the re-encapsulating the data frame may be: setting the Ingress in the TRILL header to itself, the Egress being a tree root of a distribution tree that can reach all the RBridges in the TRILL B, and copying the LOC of the original TRILL header - TRILL — LOC option field information.
  • Step 908 After receiving the data frame, the RBI in TRILL B detects that H5 is not in TRILL B but is in the sub-domain TRILL 2, and the RB1 is re-encapsulated into the data frame, and the package is sent to the sub-domain TRILL 2 After the data frame;
  • the RB1 is re-encapsulated into the data frame, and the Ingress in the TRILL header may be set.
  • Egress is RB2, copy the LOC_TRILL_LOC option field information of the original TRILL header, and then unicast to RB2 in TRILL 2;
  • the step further includes: after receiving the data frame, the RB2 in the TRILL B discards the packet.
  • the step further includes: RB2 in TRILL 2 in the area B learns the location information that needs to traverse the TRILL domain when the HI arrives, that is, traverses TRILL A and TRILL 2 in sequence.
  • Step 910 H5 replies or sends the original data frame destined for HI to RB2;
  • Step 911 The RB2 encapsulates the original data frame, including: setting the Ingress to itself, the Egress to the RBI in the TRILL B, and adding the location information of the HI to the TRILL field to the RMT_TRILL_LOC option field of the TRILL header. After that, the encapsulated data frame is unicast to Li;
  • Step 912 After receiving the data frame, the RB1 of the TRILL 2 in the area B encapsulates the data frame according to the location information that needs to traverse the TRILL domain to reach the HI, adds the IP header, and unicasts to the RB3 in the TRILL B;
  • the data frame is encapsulated according to the location information that needs to traverse the TRILL domain to reach the HI, and may be: setting the Ingress of the data frame to itself, Egress to RB3, and adding in the LOC_TRILL_LOC option of the TRILL header.
  • Step 913 The RB3 in the TRILL X receives the data frame. After decapsulation, according to the location information of the TRILL domain that needs to reach the HI, it is learned that the HI needs to reach the TRILL A first, re-encapsulate the data frame, and add the IP header. Unicast to RB4 in TRILL X;
  • the re-encapsulating the data frame may be: setting the Ingress of the data frame to itself, and the Egress to RB4, adding the location information of the TRILL B in the LOC_TRILL_LOC option of the TRILL header, and copying the original TRILL header.
  • Step 914: RB4 in TRILL A receives the data frame, and after decapsulation, according to the location information of the TRILL domain that needs to reach the HI, it is learned that the HI needs to reach TRILL 2 first, re-encapsulate the data frame, and add the IP header.
  • the re-encapsulating the data frame may be: setting the ingress of the data frame to itself, Egress to RB3 in TRILL A, and stripping the location of TRILL A in the RMT_TRILL_LOC option in the TRILL header.
  • Step 915 The RB3 in the TRILL 2 in the area A receives the data frame. After decapsulation, the HI is connected to the RB1 by searching the local MAC table, and the data frame is re-encapsulated and unicast to the local TRILL or the RB1 in the local area.
  • the re-encapsulating the data frame may be: setting the Ingress of the data frame to itself, the Egress to the RBI in the TRILL 2, discarding the RMT_TRILL_LOC option field information in the TRILL header, and copying the original TRILL Head LOC - TRILL - LOC option information.
  • Step 916 The RBI in the TRILL 2 in the area A receives the data frame, and after decapsulating, forwards the original data frame to the HI;
  • the step further includes: the RBI in the TRILL 2 in the area A learns the location information of the TRILL domain that needs to traverse to reach H5.
  • the RBI in TRILL 2 in area A and the RB2 in TRILL 2 in area B learn the path to H5 and HI respectively, and the data forwarding between subsequent HI and H5 will follow the learned path.
  • the BRB may also transmit the location information of the partial TRILL domain in the Ingress and/or Egress fields of the TRILL header, and move the location information of the lower-level TRILL domain to the option field of the TRILL header. Thereby reducing the size of the TRILL header and speeding up data forwarding.

Landscapes

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

Abstract

本发明公开了一种多链接互连(TRILL)网络分域互连的方法,划分不同的TRILL域;各TRILL域中的边界路由网桥(BRB)将远端TRILL域的位置信息和兄弟TRILL域的位置信息通知本地TRILL域的路由网桥;BRB在检测到数据帧的目的MAC不在本地TRILL域时,将本地TRILL域的位置信息封装到所述数据帧中,并向远端TRILL域发送所述数据帧;在检测到数据帧的目的MAC在本地TRILL域时,将所述数据帧发送到目的MAC对应的路由网桥;本发明同时还公开了一种TRILL网络分域互连的系统,通过本发明的方案,能够实现TRILL网络的分域管理,解决了大量TRILL域互连时MAC信息的海量问题。

Description

一种多链接互连网络分域互连的方法和系统 技术领域
本发明涉及网络通信技术, 尤其涉及一种多链接互连 (TRILL , Transparent Interconnection over Lots of Links ) 网络分域互连的方法和系统。 背景技术
TRILL是互联网工程任务组(IETF )推荐的连接层( L2 ) 网络标准, 用于解决大型数据中心(DC, Data Center ) 中生成树协议(STP, Spanning Tree protocol ) 的不足。 在 L2网络中, STP通过阻塞冗余链路来避免环路, 但同时也造成了冗余链路带宽的浪费 (被阻塞)。 TRILL 通过将 IS-IS ( Intermediate System to Intermediate System )路由十办议引入 L2网络, 解决 了 L2环路问题,同时保留了 L2多路径或称为等价多路径( ECMP, Equivalent Cost Multiple Path )。
在 TRILL网络中, 运行 TRILL协议的设备称为路由网桥( RBridge, Routing Bridge )。在 TRILL网络的入口, RBridge负责将端系统( End System ) 的单播数据帧封装成 TRILL格式, 即在原始数据帧前面添加 TRILL头和外 部帧头, 封装后的数据帧称为 TRILL数据帧, 并注入 TRILL网络的入口路 由网桥( Ingress ); 而在 TRILL网络的出口, RBridge负责将 TRILL数据帧 解封为原始数据帧并转发给端系统的出口路由网桥( Egress )。 除了 Ingress 和 Egress外,其他 RBridge负责将 TRILL单播数据帧从 Ingress一跳一跳地 传送到 Egress, 称为传输路由网桥。
TRILL的应用场景主要是 DC。 一方面, 随着 DC规模的不断增大, 一 个 TRILL网络中的 RBridge需要处理的控制面消息会越来越多, 对拓朴变 化的响应也会变慢; 另一方面,在云计算中, DC之间的互通是在所难免的, 因此 TRILL网络之间的互连也是个无法回避的问题。 目前 TRILL协议对一 个 TRILL 网络内的控制面和数据面的技术进行了详细描述, 但尚未涉足 TRILL网络之间的互通领或。
在目前的 DC互连技术中,思科的 OTV( Overlay Transport Virtualization ) 技术具有代表性, 它采用了 MAC in IP的封装技术实现了 DC之间的互连。 为了实现 DC之间的互通, DC的边界设备需要存储到达其他 DC内的设备 的 MAC信息 ( DC间的 MAC信息表), 随着互连的 DC不断增多以及 DC 规模的不断增大, 这张 MAC信息表会迅速膨胀到难以承受的程度。 因此, OTV技术在 DC的互连规模上存在不足。 发明内容
有鉴于此, 本发明的主要目的在于提供一种 TRILL网络分域互连的方 法和系统,实现 TRILL网络的分域管理,并解决不同 TRILL域的互通问题。
为达到上述目的, 本发明的技术方案是这样实现的:
本发明提供的一种 TRILL网络分域互连的方法,将 TRILL网络按层划 分出不同的 TRILL域; 该方法还包括:
各 TRILL域中的边界路由网桥( BRB, Border RBridge )将远端 TRILL 域的位置信息和兄弟 TRILL域的位置信息通知本地 TRILL域的 RBridge;
BRB在检测到数据帧的目的媒体接入控制( MAC )地址不在本地 TRILL 域时, 将本地 TRILL域的位置信息封装到所述数据帧中, 并向远端 TRILL 域发送所述数据帧; 在检测到数据帧的目的 MAC在本地 TRILL域时, 将 所述数据帧发送到目的 MAC对应的 RBridge。
上述方案中, 所述各 TRILL域中的 BRB将远端 TRILL域的位置信息 和兄弟 TRILL域的位置信息通知本地 TRILL域的 RBridge, 为: 所述各 TRILL域中的 BRB将远端 TRILL域的位置信息和从父亲 TRILL域中学习 到的兄弟 TRILL 域的位置信息封装成类型 /长度 /值 ( TLV , Type\Length\Value )格式, 并按照 TRILL 网络的控制面协议发送到本地 TRILL域的 RBridge0
上述方案中, 所述将本地 TRILL域的位置信息封装到所述数据帧中, 为: 在数据帧的 TRILL头的选项域增加选项信息, 将本地 TRILL域的位置 信息记录在所述选项信息中; 和 /或, 在 TRILL头的 Ingress字段添加本地 TRILL域的位置信息。
上述方案中, 所述将本地 TRILL域的位置信息封装到所述数据帧中, 为: BRB在将所述数据帧从本地 TRILL域发送到更高层的 TRILL域时, 将本地 TRILL域的位置信息封装到所述数据帧中。
上述方案中, 该方法进一步包括: 所述目的 MAC对应的 RBridge接收 到所述数据帧后, 除源 MAC学习外, 还根据数据帧的 TRILL头中记录的 该数据帧经过的 TRILL域的位置信息,学习到达源 MAC所需经过的 TRILL 域的位置信息。
上述方案中, 该方法进一步包括: 当发送回程消息时, 所述目的 MAC 对应的 RBridge将学习到的到达源 MAC所需经过的 TRILL域的位置信息 封装到回程消息的 TRILL头中, 按照所述位置信息发送回程消息, 收到所 述回程消息的 BRB按照所述位置信息转发所述回程消息, 并将本地 TRILL 域的位置信息封装到所述回程消息中;所述源 MAC对应的 RBridge收到所 述回程消息后, 学习到达目的 MAC所需经过的 TRILL域的位置信息。
本发明提供的一种 TRILL网络分域互连的系统, 该系统包括: 网络划 分单元、 位置信息通知单元、 检测单元、 重封装发送单元、 数据帧发送单 元; 其中, 位置信息通知单元、 检测单元、 重封装发送单元、 数据帧发送 单元均设置于各 TRILL域中的 BRB中,
网络划分单元, 用于将 TRILL网络按层划分出不同的 TRILL域; 位置信息通知单元,设置于各 TRILL域中的 BRB中,用于将远端 TRILL 域的位置信息和兄弟 TRILL域的位置信息通知本地 TRILL域的 RBridge; 检测单元,设置于各 TRILL域中的 BRB中,用于在检测到数据帧的目 的 MAC不在本地 TRILL域时, 通知重封装发送模块; 在检测到数据帧的 目的 MAC在本地 TRILL域时, 通知数据帧发送模块;
重封装发送单元,设置于各 TRILL域中的 BRB中,用于将本地 TRILL 域的位置信息封装到所述数据帧中, 并向远端 TRILL域发送所述数据帧; 数据帧发送单元,设置于各 TRILL域中的 BRB中, 用于将数据帧发送 到本地 TRILL域或远端 TRILL域中目的 MAC对应的 RBridge。
上述方案中, 所述位置信息通知单元, 具体用于将远端 TRILL域的位 置信息和从父亲 TRILL域中学习到的兄弟 TRILL域的位置信息封装成 TLV 格式 , 并按照控制面协议发送到本地 TRILL域的 RBridge。
上述方案中, 所述重封装发送单元, 具体用于在数据帧的 TRILL头的 选项域增加选项信息,将本地 TRILL域的位置信息记录在所述选项信息中; 和 /或 , 在 TRILL头的 Ingress字段添加本地 TRILL域的位置信息。
上述方案中, 所述系统进一步包括: 学习单元, 用于设置于目的 MAC 对应的 RBridge中时, 除源 MAC学习夕卜, 还根据数据帧的 TRILL头中记 录的该数据帧经过的 TRILL域的位置信息, 学习到达源 MAC所需经过的 TRILL域的位置信息。
上述方案中, 所述学习单元, 进一步用于当发送回程消息时, 将学习 到的到达源 MAC 所需经过的 TRILL 域的位置信息封装到回程消息的 TRILL头中, 按照所述位置信息发送回程消息。
上述方案中, 所述重封装发送单元, 还用于收到所述回程消息后, 按 照到达源 MAC所需经过的 TRILL域的位置信息转发所述回程消息, 并将 本地 TRILL域的位置信息封装到所述回程消息中。
本发明提供了一种 TRILL网络分域互连的方法和系统,将 TRILL网络 按层划分出不同的 TRILL域; 各 TRILL域中的 BRB将远端 TRILL域和兄 弟 TRILL域的位置信息通知本地 TRILL域的 RBridge; BRB在检测到数据 帧的目的 MAC不在本地 TRILL域时, 将本地 TRILL域的位置信息封装到 所述数据帧中, 并向远端 TRILL域发送所述数据帧; 在检测到数据帧的目 的 MAC 在本地 TRILL 域时, 将所述数据帧发送到目的 MAC 对应的 RBridge; 如此, 实现 TRILL网络的分域管理, 并实现不同 TRILL域的互 通, 解决了大量 TRILL域互连时 MAC信息的海量问题。
本发明提供的一种 TRILL 网络分域互连的方法和系统还具有如下优 点:
1 )在 TRILL域的互连中引入分层的概念(至少是两层): 把只提供内 部服务的 TRILL域称为私有 TRILL域, 而把对外提供服务的 TRILL域称 为知名 TRILL域, 知名 TRILL域内可以进一步划分私有 TRILL域, 还可 以把私有 TRILL域细分为更小的私有域,通过分层划分 TRILL域能够实现 TRILL网络的分域管理;
2 )将 TRILL域的概念从物理层面升华到逻辑层面: 属于同一个逻辑 TRILL域的 RBridge可以分布不同的物理位置,它们之间可以跨越非 TRILL 网络;
3 )保持了每个 TRILL域的独立性: 一个 TRILL域中的 RBridge信息 不会泄漏到其他的 TRILL域, 有利于网络安全;
4 ) 易扩展: 通过 TRILL域的位置信息的嵌套, 可以实现多层 TRILL 域互连;
5 )网络互连规模得以扩大: 通过引入 TRILL分域及分层的概念, 可以 实现众多 TRILL域的大规模互连, 而且 BRB的转发负担不会显著加重;
6 )可以实现跨越多种网络实现 TRILL域的互连: 如果是跨越 IP网络, 可以用 BRB的公有 IP作为 TRILL域的位置信息; 如果是 VPLS网络, 可 以用 BRB的 MAC信息作为 TRILL域的位置信息;为了跨越多种异构网络, 可以用 TRILL域的全球代号 ( Nickname )作为 TRILL域的出入口信息。 附图说明
图 1为本发明实现 TRILL网络分域互连的方法的流程示意图; 图 2为本发明 TRILL头的选项域的格式的示意图; 端 TRILL的位置信息的格式示意图;
图 4为本发明中一个封装后的数据帧的结构示意图;
图 5为本发明本发明实现一种 TRILL网络分域互连的系统的结构示意 图;
图 6为本发明实施例一中将一个大型 DC内的 TRILL网络进行 TRILL 域划分的示意图;
图 7为本发明实施例一实现一种 TRILL网络分域互连的方法的流程示 意图;
图 8为本发明实施例二中将区域 A和区域 B进行 TRILL域划分的示意 图;
图 9为本发明实施例二实现一种 TRILL网络分域互连的方法的流程示 意图。 具体实施方式
本发明引入了 TRILL域及域的分层概念, 主要包括:
TRILL域是一个组织和分支等类似机构管辖下的诸多 TRILL设备的总 称。 为了便于管理, 可以把一个 DC 中的大型 TRILL 网络划分为不同的 TRILL域; 为了便于扩展, TRILL域可以是分层的, 而且具有私有和知名 的概念: 把只提供内部服务的 TRILL域称为私有 TRILL域, 而把对外提供 服务的 TRILL域称为知名 TRILL域。 在实施中, 优选把一个规模适度的 TRILL网络看成一个 TRILL域。
本发明中, TRILL域可以用域 ID来标识, 比如: 域的 Nickname—可 以通过指定特定的比特位区别于设备的 Nickname。私有 TRILL域至少具有 一个私有的域 ID, 该 ID在同一组织或机构内部互通的 TRILL域之间具有 唯一性; 知名的 TRILL域具有知名范围内 (比如全球或区域内)唯一的、 且知名的 TRILL域 ID。 实际组网中, 可以根据需要对 TRILL域的分层情 况加以扩展或裁剪, 在保证域 ID不沖突的情况下, 可以灵活选择域 ID及 对 TRILL域的进行分层。
本发明还引入 BRB的概念,所述 BRB是一个 TRILL域的出入口设备, 至少有一个接口位于指定的 TRILL 域中, 并且至少还有一个接口与其他 TRILL域或非 TRILL网络相连。这里,所述指定的 TRILL域为本地 TRILL 域, 所述其他 TRILL域为远端 TRILL域。 在相互可见的 BRB之间 , 它们 的设备标识符在互连范围内必须是唯一的, 所述设备标识符一般为设备的 Nickname。 另外, 根据连接的 TRILL域的层次不同, BRB也是分层的, 低 层 TRILL域的 BRB可以作为普通的 RBridge出现在上一层的 TRILL域中。 在满足上述条件的路由网桥中, 具体选择哪些作为 BRB, 可通过手工配置 和 /或借助动态路由的分发机制等方式指定。
所述 BRB对 RBridge的功能主要做了如下扩展:
1 )对离开本地 TRILL域的数据帧进行重新封装, 包括: 在数据帧的 TRILL头中添加本地 TRILL域的位置信息,比如:域 ID、 BRB的 Nickname 等, 回程的数据帧可以用所述 TRILL域的位置信息寻址并进入本地 TRILL 域; 所述离开本地 TRILL域的 TRILL数据帧为目的 MAC不在本地 MAC 表中或 TRILL头中携带的目的 MAC所在 TRILL域的位置信息不同于本地 TRILL域的位置信息的数据帧; 所述位置信息具有嵌套性, 依次记录数据 帧穿越的不同层次的 TRILL域;
2 ) 将重新封装的数据帧转发到下一个 TRILL 域; 如果需要穿越非 TRILL网络,还需要在 TRILL头外面添加其他的报文头标识非 TRILL网络 的位置信息, 比如 IP头;
3 )解析封装有 TRILL域的位置信息的数据帧, 根据 TRILL头和内层 MAC头中的目的 MAC信息, 查询本地 MAC表, 确定是继续转发还是丟 弃该数据帧, 如果需要转发, 先重新封装再转发。
本发明的基本思想是: 将 TRILL网络按层划分出不同的 TRILL域; 各 TRILL域中的 BRB将远端 TRILL域的位置信息和兄弟 TRILL域的位置信 息通知本地 TRILL域的 RBridge; BRB在检测到数据帧的目的 MAC不在 本地 TRILL域时, 将本地 TRILL域的位置信息封装到所述数据帧中, 并向 远端 TRILL域发送所述数据帧;在检测到数据帧的目的 MAC在本地 TRILL 域时, 将所述数据帧发送到目的 MAC对应的 RBridge。
下面通过附图及具体实施例对本发明做进一步的详细说明。
本发明实现一种 TRILL网络分域互连的方法, 如图 1所示, 该方法包 括以下几个步驟:
步驟 101 : 将 TRILL网络按层划分出不同的 TRILL域;
具体的, 将 DC中的大型 TRILL网络按知名 TRILL域和私有 TRILL 域划分出不同的 TRILL域, 各 TRILL域按层可以分为父亲 TRILL域、 子 TRILL域、兄弟 TRILL域等, 所述父亲 TRILL域下连接一个以上子 TRILL 域, 连接到同一个父亲 TRILL域的子 TRILL域为兄弟 TRILL域, 在 BRB 中设置专用的标识位来表示 BRB所连接的 TRILL域为父亲 TRILL域、 或 子 TRILL域、 或兄弟 TRILL域。
步驟 102: 各 TRILL域中的 BRB将远端 TRILL域的位置信息和兄弟 TRILL域的位置信息通知本地 TRILL域的 RBridge; 具体的, 各 TRILL域中的 BRB将远端 TRILL域的位置信息和从父亲 TRILL域中学习到的兄弟 TRILL域的位置信息封装成 TLV格式, 并按照 TRILL网络的控制面协议如 TRILL-IS-IS发送到本地 TRILL域的 RBridge。
步驟 103: BRB检测数据帧的目的 MAC, 如果在本地 TRILL域, 则执 行步驟 105; 如果不在本地 TRILL域, 则执行步驟 104;
本步驟中, 所述 BRB检测数据帧的目的 MAC, —般是: 所述 BRB检 测所述数据帧的目的 MAC是否在本地 TRILL域的 MAC表中、或所述数据 帧的目的 MAC所在 TRILL域的位置信息并非本地 TRILL域; 所述 BRB 存储本地 TRILL域的 MAC表和远端 TRILL域的 MAC表,所述本地 TRILL 域的 MAC表包括远端 TRILL域中所有主机的 MAC地址; 所述目的 MAC 所在 TRILL域的位置信息一般是由回程消息中的 TRILL头携带。
步驟 104: BRB将本地 TRILL域的位置信息封装到所述数据帧中, 向 远端 TRILL域发送所述数据帧, 远端 TRILL域中的 BRB接收到所述数据 帧后执行步驟 103;
进一步的, 为了减少数据帧中携带的 TRILL域位置信息的数量, 所述 BRB将本地 TRILL域的位置信息封装到所述数据帧中,可以是: BRB仅在 将所述数据帧从本地 TRILL域发送到更高层的 TRILL域如父亲 TRILL域 时, 才将本地 TRILL域的位置信息封装到数据帧中。
具体的, 在图 2所示数据帧的 TRILL头的选项域(options字段)增加 选项信息, 将本地 TRILL域的位置信息记录在所述选项信息中; 和 /或, 在 TRILL头的 Ingress字段添加本地 TRILL域的位置信息; 并向远端 TRILL 域发送所述数据帧,远端 TRILL域中的 BRB接收到所述数据帧后执行步驟 103;
所述选项信息主要包括:本地 TRILL域的位置信息和远端 TRILL的位 置信息, 如图 3所示, LOC— TRLL— LOC字段用于记录本地 TRILL域的位 置信息, RMT— TRLL— LOC字段用于记录远端 TRILL的位置信息; 上述两 个选项是逐跳(hop-by-hop ) 的非必遵 ( non-critical )选项, 不支持该选项 的 RBridge需要透明传输该信息。
所述 TRILL域的位置信息可以是 TRILL域的 Nickname, 也可以是唯 一标识一台 BRB的 IP地址、 MAC地址或 Nickname等信息。 所述 TRILL 域的位置信息的选择可以根据跨越的网络灵活选取, 并根据选取的出入口 信息定义选项域的值、 域的类型和长度; 进一步的, 还可以对所述位置信 息进行转义处理。
这里, 所述 TRILL头选项域中 TRILL域的位置信息具有嵌套性, 用于 记录数据帧穿越的不同层次的 TRILL域, 为回程的数据帧穿越不同层次的 TRILL域到达目的主机提供寻址信息; 封装后的数据帧的结构实例如图 4 所示, 包括透传网络的报文头、 TRILL头、 内层 MAC帧头和用户数据, 其 中,所述透传网络的报文头用于存放穿越的非 TRILL网络的 IP,所述 TRILL 头用于存放穿越 TRILL域的位置信息。
本步驟中, BRB在对来自远端 TRILL域的数据帧进行封装时, 如果检 测到即将进入的 TRILL域的位置信息已包含在 TRILL头中,则将该 TRILL 域的位置信息剥离掉, 并将剩余的 TRILL域的位置信息复制到新的 TRILL 头中。
步驟 105: BRB在检测到数据帧的目的 MAC在本地 TRILL域时, 将 所述数据帧发送到目的 MAC对应的 RBridge;
本步驟进一步包括:所述目的 MAC对应的 RBridge接收到所述数据帧 后, 除了正常的源 MAC学习外, 还根据数据帧的 TRILL头中记录的该数 据帧经过的 TRILL域的位置信息, 学习到达源 MAC所需经过的 TRILL域 的位置信息; 本步驟还包括: 当发送回程消息时, 所述目的 MAC对应的 RBridge将 学习到的到达源 MAC所需经过的 TRILL域的位置信息封装到回程消息的 TRILL头中, 按照所述位置信息发送回程消息, 收到所述回程消息的 BRB 按照所述位置信息转发所述回程消息, 并将本地 TRILL域的位置信息封装 到所述回程消息中; 源 MAC对应的 RBridge收到所述回程消息后, 学习到 达目的 MAC所需经过的 TRILL域的位置信息。
上述方法进一步包括: 远端 TRILL域中的 RBridge接收到所述数据帧 后, 确定所述数据帧的目的 MAC为自身连接的端系统的 MAC 时, 所述 RBridge除了正常的源 MAC学习夕卜,还根据数据帧的 TRILL头中记录的该 数据帧经过的 TRILL域的位置信息, 学习到达源 MAC所需经过的 TRILL 域的位置信息。
本实施例通过在 TRILL头中封装本地 TRILL域的位置信息,解决了一 个 TRILL 网络分域之后或多个 TRILL 网络跨越传统网络的互连问题。 与 OTV技术相比 , 本实施例中 BRB只需要维护到达其他 TRLL域的 BRB的 信息, 而无需维护到达其他 TRILL域内各设备的 MAC信息, 解决了大量 TRILL域互连时 MAC信息的海量问题。 而且通过将 BRB指定为不同的 TRILL域的转发者, 还可以进一步减少每个 BRB维护的到达其他 BRB的 信息, 实现出入一个 TRILL域的负荷分担。
为了实现上述方法, 本发明还提供一种 TRILL网络分域互连的系统, 如图 5所示, 该系统包括: 网络划分单元 51、 位置信息通知单元 52、 检测 单元 53、 重封装发送单元 54、 数据帧发送单元 55; 其中,
网络划分单元 51 , 用于将 TRILL网络按层划分出不同的 TRILL域; 位置信息通知单元 52, 设置于各 TRILL域中的 BRB中, 用于将远端 TRILL域的位置信息和从远端 TRILL域的父亲 TRILL域中学习到的兄弟 TRILL域的位置信息通知本地 TRILL域的 RBridge; 具体的,所述位置信息通知模块 52将远端 TRILL域的位置信息和从远 端 TRILL域的父亲 TRILL域中学习到的兄弟 TRILL域的位置信息封装成 TLV格式, 并按照控制面协议发送到本地 TRILL域的 RBridge。
检测单元 53 , 设置于各 TRILL域中的 BRB中, 用于在检测到数据帧 的目的 MAC不在本地 TRILL域时, 通知重封装发送单元 54; 在检测到数 据帧的目的 MAC在本地 TRILL域时, 通知数据帧发送单元 55;
重封装发送单元 54, 设置于各 TRILL域中的 BRB 中, 用于将本地 TRILL域的位置信息封装到所述数据帧中, 并向远端 TRILL域发送封装后 的数据帧;
数据帧发送单元 55 , 设置于各 TRILL域中的 BRB中, 用于将数据帧 发送到目的 MAC对应的 RBridge;
所述重封装发送单元 54将本地 TRILL域的位置信息封装到所述数据帧 中,具体为: 所述重封装发送单元 54在数据帧的 TRILL头的选项域增加选 项信息,将本地 TRILL域的位置信息记录在所述选项信息;和 /或,在 TRILL 头的 Ingress字段添加本地 TRILL域的位置信息;
所述系统进一步包括: 学习单元 56, 用于设置于目的 MAC 对应的 RBridge中时, 除了正常的源 MAC学习外,还根据数据帧的 TRILL头中记 录的该数据帧经过的 TRILL域的位置信息, 学习到达源 MAC所需经过的 TRILL域的位置信息; 在设置于源 MAC对应的 RBridge中时, 当收到回程 消息后, 学习到达目的 MAC所需经过的 TRILL域的位置信息; 这里, 所 述目的 MAC对应的 RBridge可以在本地 TRILL域中 ,也可以在远端 TRILL 域中;
所述学习单元 56, 进一步用于当发送回程消息时, 将学习到的到达源 MAC所需经过的 TRILL域的位置信息封装到回程消息的 TRILL头中, 按 照所述位置信息发送回程消息; 相应的, 所述重封装发送单元 54 , 还用于收到所述回程消息后, 按照 到达源 MAC所需经过的 TRILL域的位置信息转发所述回程消息, 并将本 地 TRILL域的位置信息封装到所述回程消息中。 实施例一
本实施例中, 如图 6所示, 为了便于管理和降低控制面消息的数量, 将一个大型 DC内的 TRILL网络划分成三个兄弟 TRILL域: TRILL 1、 TRILL 2和 TRILL 3 ,并用更高一层的父亲 TRILL域 -TRILL X将它们连接在一起。 其中 TRILL X域内的 RBI、 RB2和 RB3为 BRB。本实施例实现一种 TRILL 网络分域互连的方法, 如图 7所示, 该方法包括以下几个步驟:
步驟 701 : 将 TRILL网络按层划分出不同的 TRILL域;
具体的, 将如图 6所示的一个大型 DC内的 TRILL网络按知名 TRILL 域和私有 TRILL域划分成三个私有 TRILL域: TRILL 1、 TRILL 2和 TRILL 3和一个知名 TRILL域 -TRII X。
步驟 702: 各 TRILL域中的 BRB将远端 TRILL域的位置信息和兄弟 TRILL域的位置信息通知本地 TRILL域的 RBridge;
具体的, RB1向 TRILL 2、 RB2向 TRILL 3、 RB3向 TRILL 1中泛洪 TLV格式的 LSP, 通知远端 TRILL域的位置信息, 使 TRILL 1、 TRILL 2、 TRILL 3内的 RBridge知道通过各自域内的 BRB可以到达哪些 TRILL域; 并且, RBI、 RB2和 RB3还分别向 TRILL X域内泛洪 TLV格式的 LSP, 相 互通知所连接的低一层的 TRILL域的位置信息,比如: RB1将连接的 TRILL 2的 Nickname通知 RB2、 RB3。
步驟 703 : HI发送源 MAC为自身, 目的 MAC为 H3的原始数据帧至 TRILL 1中的 RB1 ;
步驟 704: TRILL 1中的 RBI收到所述原始数据帧后, 在本地的 MAC 表中没有找到 H3 , 以未知目的帧的方式对该帧进行封装, 并沿分发树分发 封装后的 TRILL数据帧;
这里,所述以未知目的帧的方式对该帧进行封装,一般是该帧的 Ingress 为自身, Egress为一棵能到达 TRILL 1中所有 RBridge的分发树的树根。
步驟 705: TRILL 1中的 RB3收到所述数据帧后,检测到 H3不在 TRILL
1 内, 所述 RB3 将 TRILL 1 的位置信息封装到所述原始数据帧中, 并向 TRILL X发送封装后的数据帧;
这里, 所述检测到 H3不在 TRILL 1为: 检测到 TRILL 1的 MAC表内 没有 H3 ;
所述 RB3将 TRILL 1的位置信息封装到所述原始数据帧中, 可以是: 将 TRILL头中的 Ingress设置为 TRILL 1的 Nickname , Egress设置为一棵 可以到达 TRILL X内其他所有 RBridge的分发树的树根;
本步驟还包括: 除 RB3以外的 RBridge收到所述原始数据帧后, 检测 到本地 MAC表内没有 H3 , 依然沿着原分发树分发该原始数据帧。
步驟 706: TRILL X域内的 RB2收到封装后的数据帧后, 检测到所述 数据帧来自某个子域且 H3 在另一个子域 TRILL 3 内, 则将所述数据帧 TRILL头中的 Egress设置为 TRILL 3内的 RB3 , Ingress不变, 以单播的方 式发送所述数据帧到 TRILL 3的 RB3 ;
本步驟还包括: RB1收到 RB3分发来的数据帧之后, 检测到 H3不在 TRILL X内, 向 TRILL 2发送所述数据帧 , TRILL 2中的各 RBridge确定所 述数据帧的目的 MAC不为自身相连的端系统的 MAC时,丟弃所述数据帧。
步驟 707: TRILL 3内的 RB3收到 RB2发送的数据帧后, 解封装所述 数据帧, 将获取的原始数据帧发送给 H3 ;
本步驟进一步包括: 所述 TRILL 3内的 RB3学习到 TRILL 1的位置信 息。 步驟 708: 当 H3需要向 HI回复报文时,将目的 MAC为 HI , 源 MAC 为 H3的原始数据帧发送给 TRILL 3内的 RB3;
步驟 709: TRILL 3内 RB3根据学习到的 TRILL 1的位置信息, 获知 HI在远端的 TRILL 1内, 将所述 TRILL 1的位置信息封装到所述原始数据 帧中, 发送给 RB2;
所述将所述 TRILL 1的位置信息封装到所述原始数据帧中, 可以是将 Ingress设置为自身, Egress设置为 TRILL 1的域 Nickname。
步驟 710: RB2收到所述原始数据帧后, 检测到 TRILL 1的位置信息, 将 TRILL 3 的位置信息封装到所述原始数据帧中, 并发送到 TRILL 1 的 RB3;
所述将 TRILL 3的位置信息封装到所述原始数据帧中,可以是将 Ingress 设置为 TRILL 3的域 Nickname。
步驟 711 : TRILL 1的 RB3收到封装后的数据帧, 检测到 HI在 TRILL 1内的 RB1 ,将所述数据帧 TRILL头中的 Egress设置为 TRILL 1内的 RBI , Ingress不变, 将所述数据帧单播给 TRILL 1内的 RBI;
步驟 712: TRILL 1内的 RBI收到该数据帧后, 解封装所述数据帧, 将 解封装获取的原始数据帧转发给 HI;
本步驟进一步包括: 所述 TRILL 1内的 RBI学习到 TRILL 3的位置信 本实施例中, 经过上述过程, TRILL 1中的 RB1和 TRILL 3中的 RB3 分别学习到了到达 H3和 HI的路径,后续 HI和 H3之间的数据转发将沿着 学习到的路径进行。
另外, 在上述实施例中, 域的位置信息还可以携带在 TRILL头中的选 项域中。数据帧在从低层域进入高层域时, 比如:从 TRILL 1进入 TRILL X 时, 连接这两个域的 BRB (比如 TRILL 1中的 RB3 )将低层域(即 TRILL 1 )的位置信息添加到本地 TRILL域位置信息选项字段( LOC TRILL LOC ) 中, 与目的端 (比如 H3 )相连的 RBridge (比如 TRILL 3中的 RB3 )从选 项域中学习源 MAC的位置信息;在返程数据帧中,与目的端相连的 RBridge 的 TRILL头的远端 TRILL域位置信息选项字段( RMT— TRILL— LOC )中携 带远端 TRILL域(即 TRILL 1 )的位置信息, BRB通过远端 TRILL域的位 置信息将数据帧转发到目的端。
实施例二
本实施例中, 如图 8所示, 区域 A和区域 B内分别有两个私有 TRILL 域: TRILL 1和 TRILL2 , 无论是区域 A、 B内还是区域 A、 B间的 TRILL 域都通过 IP网络连接在一起。 为了避免不同区域 A、 B间 TRILL域的域名 沖突, 分别用地区知名的 TRILL A和 TRILL B将各自区域内的私有 TRILL 域在逻辑上连接在一起, 然后用全球知名的 TRILL X将上述地区知名的 TRILL A和 TRILL B逻辑上连接在一起。 本实施例实现一种 TRILL网络分 域互连的方法, 如图 9所示, 该方法包括以下几个步驟:
步驟 901 : 将 TRILL网络按层划分出不同的 TRILL域;
具体的, 如图 8所示, 将区域 A和区域 B内分别划分两个私有 TRILL 域: TRILL 1和 TRILL 2 , 无论区域 A、 B内还是区域 A、 B间的 TRILL域 都通过 IP网络连接在一起,并划分出地区知名的 TRILL A和 TRILL B将各 自区域内的私有 TRILL 域在逻辑上连接在一起, 然后划分出全球知名的 TRILL X将上述地区知名的 TRILL A和 TRILL B逻辑上连接在一起。
步驟 902: 各 TRILL域中的 BRB将远端 TRILL域的位置信息和兄弟 TRILL域的位置信息通知本地 TRILL域的 RBridge;
具体的,区域 A内的 RB2和 RB3 ,将自身相连的私有 TRILL 1和 TRILL 2的位置信息泛洪到 TRILL A中, 并将 TRILL A以及在 TRILL A中学习到 的区域 A内的私有 TRILL域的位置信息泛洪到各自相连的私有 TRILL域 中。 这样, 私有 TRILL域中的 RBridge会获得本区域(即区域 A ) 内中存 在的其他私有 TRILL域即兄弟 TRILL域的位置信息, 另外, 本区域内的 RB2和 RB3也会分别学习到对方所连接的私有 TRILL域,包括到达所述私 有 TRILL域的 IP路径;
区域 B内也进行类似的控制信息的发布, 从而保证区域 B内 TRILL 1 和 TRILL 2之间的逻辑上的连通性;
另外, 全球知名 TRILL X的 RB4和 RB3分别将 TRILL A和 B的位置 信息分发到 TRILL X内, 使 RB4和 RB3分别学习到 TRILL A和 B的位置 信息, 包括到达 TRILL A和 B的 IP路径, 并且, TRILL X的 RB4和 RB3 还将学习到的 TRILL A和 TRILL B的位置信息泛洪到区域 A和区域 B中, 使区域 A和区域 B内的 RBridge学习到另一个区域级 TRILL域的位置信息, 包括 IP路径。
步驟 903 : HI发送源 MAC为 Hl、 目的 MAC为 H5的原始数据帧至 区或 A内的 TRILL 2的 RBI;
步驟 904: 区域 A内的 TRILL 2的 RBI收到原始数据帧后,未在 MAC 表中发现 H5对应的表项, 以未知目的帧的方式对该帧进行封装, 并沿分发 树分发封装后的 TRILL数据帧;
步驟 905 : 区域 A内的以 TRILL 2为本地 TRILL域的 RB3收到所述原 始数据帧后, 检测到 H5不在 TRILL 2内, 所述 RB3将 TRILL 2的位置信 息封装到所述原始数据帧中, 并向 TRILL A发送封装后的数据帧;
这里, 所述 H5不在 TRILL 2内为 H5不在 TRILL 2的 MAC表内; 所述将 TRILL 2 的位置信息封装到所述原始数据帧中, 可以是: 将 TRILL头中的 Ingress设置为自身, Egress设置为一棵可以到达 TRILL A内 其他所有 RBridge的分发树的树根,并将 TRILL 2的位置信息添加到 TRILL 头的 LOC TRILL LOC字段中; 所述向 TRILL A发送封装后的数据帧, 一般是: 对封装后的数据帧添 加 IP头后, 组播给 TRILL A内的所有 RBridge;
本步驟还包括: RB2收到所述原始数据帧后,检测到本地 MAC表内没 有 H5 , 继续沿分发树分发该 TRILL数据帧。
步驟 906: TRILL A内的 RB4收到该数据帧后, 解封装后检测到 H5不 在 TRILL A内, 所述 RB4将 TRILL A的位置信息封装到所述数据帧中,并 添加 IP头后向 TRILL X组播封装后的数据帧;
这里, 所述检测到 H5不在 TRILL A内为: 检测到 TRILL A的 MAC 表内没有 H5;
所述将 TRILL A的位置信息封装到所述数据帧中, 可以是: 将 TRILL 头中的 Ingress设置为自身, Egress设置为一棵可以到达 TRILL X内所有 RBridge的分发树的树根, 并将 TRILL A的位置信息追加到 TRILL头的 LOC TRILL LOC字段中;
步驟 907: TRILL X内的 RB3收到所述数据帧后, 解封装后检测到 H5 不在 TRILL X内, 所述 RB3对所述数据帧重新进行封装, 并添加 IP头后 向 TRILL B组播封装后的数据帧;
这里, 所述检测到 H5不在 TRILL X内为: 检测到 TRILL X的 MAC 表内没有 H5;
所述对所述数据帧重新进行封装, 可以是: 将 TRILL 头中的 Ingress 设置为自身, Egress为一棵可以到达 TRILL B内所有 RBridge的分发树的 树根, 拷贝原 TRILL头的 LOC— TRILL— LOC选项字段信息。
步驟 908: TRILL B中的 RBI收到所述数据帧后,检测到 H5不在 TRILL B 内但在子域 TRILL 2 内, 所述 RB1 重新封装到所述数据帧中, 向子域 TRILL 2发送封装后的数据帧;
所述 RB1重新封装到所述数据帧中,可以是设置 TRILL头中的 Ingress 为自身、 Egress为 RB2, 拷贝原 TRILL头的 LOC— TRILL— LOC选项字段信 息, 之后单播给 TRILL 2中的 RB2;
本步驟还包括: TRILL B中的 RB2收到所述数据帧后, 丟弃该报文。 步驟 909: 区域 B中 TRILL 2中的 RB2收到数据帧后, 解封装所述数 据帧, 将获取的原始数据帧发送给 H3;
本步驟进一步包括: 所述区域 B中 TRILL 2中的 RB2学习到到达 HI 需要穿越 TRILL域的位置信息, 即: 依次穿越 TRILL A和 TRILL 2。
步驟 910: H5回复或发送目的地为 HI的原始数据帧到 RB2;
步驟 911 : RB2对原始数据帧进行封装, 包括: 设置 Ingress为自身、 Egress为 TRILL B内的 RBI , 并将到达 HI需要穿越 TRILL域的位置信息 添加到 TRILL头的 RMT— TRILL— LOC选项字段中,之后将封装后的数据帧 单播给丽;
步驟 912: 区域 B内 TRILL 2的 RB1收到该数据帧后, 根据到达 HI 需要穿越 TRILL域的位置信息封装该数据帧, 添加 IP头后, 单播给 TRILL B中的 RB3;
本步驟中, 所述根据到达 HI需要穿越 TRILL域的位置信息封装该数 据帧,可以是:设置该数据帧的 Ingress为自身、 Egress为 RB3 ,并在 TRILL 头的 LOC— TRILL— LOC选项中添加区域 B内 TRILL 2的位置信息, 拷贝原 TRILL头中的 RMT— TRILL— LOC选项信息。
步驟 913: TRILL X中的 RB3收到所述数据帧, 解封装后, 根据到达 HI需要穿越 TRILL域的位置信息获知要到达 HI需要首先到达 TRILL A, 重新封装该数据帧, 添加 IP头后, 单播给 TRILL X中的 RB4;
本步驟中, 所述重新封装该数据帧, 可以是: 设置该数据帧的 Ingress 为自身、 Egress为 RB4,在 TRILL头的 LOC— TRILL— LOC选项中追加 TRILL B的位置信息, 拷贝原 TRILL头中的 RMT TRILL LOC选项信息。 步驟 914: TRILL A中的 RB4收到所述数据帧, 解封装后, 根据到达 HI需要穿越 TRILL域的位置信息获知要到达 HI需要先到达 TRILL 2, 重 新封装该数据帧, 添加 IP头后, 单播给 TRILL A中的 RB3;
本步驟中, 所述重新封装该数据帧, 可以是: 设置该数据帧的 Ingress 为自身、 Egress为 TRILL A中的 RB3 ,剥去 TRILL头中的 RMT— TRILL— LOC 选项中的 TRILL A的位置信息,并拷贝剩余的 RMT— TRILL— LOC选项域信 息, 拷贝原 TRILL头的 LOC— TRILL— LOC选项信息。
步驟 915: 区域 A中 TRILL 2内的 RB3收到所述数据帧, 解封装后, 通过查找本地 MAC表获知 HI与 RB1相连,重新封装该数据帧,单播给本 地 TRILL或内的 RB1 ;
本步驟中, 所述重新封装该数据帧, 可以是: 设置该数据帧的 Ingress 为自身、 Egress为 TRILL 2内的 RBI , 丟弃 TRILL头中 RMT— TRILL— LOC 选项域信息, 并拷贝原 TRILL头的 LOC— TRILL— LOC选项信息。
步驟 916: 区域 A中 TRILL 2内的 RBI收到所述数据帧, 解封装后, 将原始数据帧转发给 HI ;
本步驟进一步包括: 所述区域 A中 TRILL 2内的 RBI学习到到达 H5 需要穿越的 TRILL域的位置信息。
通过上述过程, 区域 A中的 TRILL 2内的 RBI和区域 B中 TRILL 2 中的 RB2分别学习到了到达 H5和 HI的路径, 后续 HI和 H5之间的数据 转发将按照学习到的路径进行。 另外, 在上述实施例中, BRB也可以将部 分 TRILL域的位置信息在 TRILL头的 Ingress和 /或 Egress字段传递, 而将 更低层级的 TRILL 域的位置信息移到 TRILL 头的选项域中, 从而减小 TRILL头的大小, 加快数据转发速度。
以上所述, 仅为本发明的较佳实施例而已, 并非用于限定本发明的保 护范围。

Claims

权利要求书
1、 一种多链接互连(TRILL ) 网络分域互连的方法, 其特征在于, 将 TRILL网络按层划分出不同的 TRILL域; 该方法还包括:
各 TRILL域中的边界路由网桥( BRB )将远端 TRILL域的位置信息和 兄弟 TRILL域的位置信息通知本地 TRILL域的路由网桥( RBridge );
BRB在检测到数据帧的目的媒体接入控制( MAC )地址不在本地 TRILL 域时, 将本地 TRILL域的位置信息封装到所述数据帧中, 并向远端 TRILL 域发送所述数据帧; 在检测到数据帧的目的 MAC在本地 TRILL域时, 将 所述数据帧发送到目的 MAC对应的 RBridge。
2、 根据权利要求 1 所述的方法, 其特征在于, 所述各 TRILL域中的 BRB 将远端 TRILL域的位置信息和兄弟 TRILL域的位置信息通知本地 TRILL域的 RBridge,为: 所述各 TRILL域中的 BRB将远端 TRILL域的位 置信息和从父亲 TRILL域中学习到的兄弟 TRILL域的位置信息封装成类型 /长度 /值 ( TLV )格式, 并按照 TRILL网络的控制面协议发送到本地 TRILL 域的 RBridge。
3、根据权利要求 1所述的方法, 其特征在于, 所述将本地 TRILL域的 位置信息封装到所述数据帧中, 为: 在数据帧的 TRILL头的选项域增加选 项信息, 将本地 TRILL域的位置信息记录在所述选项信息中; 和 /或, 在 TRILL头的入口路由网桥( Ingress )字段添加本地 TRILL域的位置信息。
4、根据权利要求 1所述的方法, 其特征在于, 所述将本地 TRILL域的 位置信息封装到所述数据帧中, 为: BRB在将所述数据帧从本地 TRILL域 发送到更高层的 TRILL域时,将本地 TRILL域的位置信息封装到所述数据 帧中。
5、 根据权利要求 1所述的方法, 其特征在于, 该方法进一步包括: 所 述目的 MAC对应的 RBridge接收到所述数据帧后, 除源 MAC学习外, 还 根据数据帧的 TRILL头中记录的该数据帧经过的 TRILL域的位置信息,学 习到达源 MAC所需经过的 TRILL域的位置信息。
6、 根据权利要求 5所述的方法, 其特征在于, 该方法进一步包括: 当 发送回程消息时, 所述目的 MAC对应的 RBridge将学习到的到达源 MAC 所需经过的 TRILL域的位置信息封装到回程消息的 TRILL头中,按照所述 位置信息发送回程消息, 收到所述回程消息的 BRB按照所述位置信息转发 所述回程消息, 并将本地 TRILL域的位置信息封装到所述回程消息中; 所 述源 MAC对应的 RBridge收到所述回程消息后, 学习到达目的 MAC所需 经过的 TRILL域的位置信息。
7、 一种 TRILL网络分域互连的系统, 其特征在于, 该系统包括: 网络 划分单元、 位置信息通知单元、 检测单元、 重封装发送单元、 数据帧发送 单元; 其中, 位置信息通知单元、 检测单元、 重封装发送单元、 数据帧发 送单元均设置于各 TRILL域中的 BRB中,
网络划分单元, 用于将 TRILL网络按层划分出不同的 TRILL域; 位置信息通知单元,用于将远端 TRILL域的位置信息和兄弟 TRILL域 的位置信息通知本地 TRILL域的 RBridge;
检测单元, 用于在检测到数据帧的目的 MAC不在本地 TRILL域时, 通知重封装发送模块; 在检测到数据帧的目的 MAC在本地 TRILL域时, 通知数据帧发送模块;
重封装发送单元, 用于将本地 TRILL域的位置信息封装到所述数据帧 中, 并向远端 TRILL域发送所述数据帧;
数据帧发送单元, 用于将数据帧发送到目的 MAC对应的 RBridge。
8、根据权利要求 7所述的系统,其特征在于, 所述位置信息通知单元, 具体用于将远端 TRILL域的位置信息和从父亲 TRILL域中学习到的兄弟 TRILL 域的位置信息封装成 TLV格式, 并按照控制面协议发送到本地 TRILL域的 RBridge0
9、 根据权利要求 7所述的系统, 其特征在于, 所述重封装发送单元, 具体用于在数据帧的 TRILL头的选项域增加选项信息,将本地 TRILL域的 位置信息记录在所述选项信息中; 和 /或, 在 TRILL头的 Ingress字段添加 本地 TRILL域的位置信息。
10、 根据权利要求 7所述的系统, 其特征在于, 所述系统进一步包括: 学习单元,用于设置于目的 MAC对应的 RBridge中时,除源 MAC学习外, 还根据数据帧的 TRILL头中记录的该数据帧经过的 TRILL域的位置信息, 学习到达源 MAC所需经过的 TRILL域的位置信息。
11、 根据权利要求 10所述的系统, 其特征在于, 所述学习单元, 进一 步用于当发送回程消息时, 将学习到的到达源 MAC所需经过的 TRILL域 的位置信息封装到回程消息的 TRILL头中, 按照所述位置信息发送回程消
12、根据权利要求 11所述的系统, 其特征在于, 所述重封装发送单元, 还用于收到所述回程消息后, 按照到达源 MAC所需经过的 TRILL域的位 置信息转发所述回程消息, 并将本地 TRILL域的位置信息封装到所述回程 消息中。
PCT/CN2011/084576 2011-03-17 2011-12-23 一种多链接互连网络分域互连的方法和系统 WO2012122844A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110065414.9 2011-03-17
CN201110065414.9A CN102684985B (zh) 2011-03-17 2011-03-17 一种多链接互连网络分域互连的方法和系统

Publications (1)

Publication Number Publication Date
WO2012122844A1 true WO2012122844A1 (zh) 2012-09-20

Family

ID=46816374

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/084576 WO2012122844A1 (zh) 2011-03-17 2011-12-23 一种多链接互连网络分域互连的方法和系统

Country Status (2)

Country Link
CN (1) CN102684985B (zh)
WO (1) WO2012122844A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102904810B (zh) 2012-09-21 2015-04-15 华为技术有限公司 一种标签交换路径计算方法及标签交换路径计算装置
CN102932228B (zh) * 2012-11-20 2016-03-09 华为技术有限公司 Trill网络的通信方法及装置、系统
CN103236941B (zh) 2013-04-03 2015-09-30 华为技术有限公司 一种链路发现方法和装置
CN104348717B (zh) * 2013-08-02 2018-05-11 新华三技术有限公司 报文转发方法和装置
CN105306613A (zh) * 2014-07-24 2016-02-03 中兴通讯股份有限公司 Esadi的mac地址通告方法、装置及获取装置
CN106034071B (zh) * 2015-03-09 2019-02-12 华为技术有限公司 数据报文传输方法及边缘路由网桥设备
CN104821918B (zh) * 2015-05-07 2019-01-29 新华三技术有限公司 一种多播报文转发方法和装置
CN109962846B (zh) * 2017-12-25 2020-09-25 华为技术有限公司 路由协议报文的处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102264A (zh) * 2006-07-04 2008-01-09 华为技术有限公司 一种以太网转发数据的方法和一种以太网系统
CN101827009A (zh) * 2009-03-04 2010-09-08 丛林网络公司 利用服务vlan标识符在trill网络中路由帧

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8509248B2 (en) * 2008-12-29 2013-08-13 Juniper Networks, Inc. Routing frames in a computer network using bridge identifiers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102264A (zh) * 2006-07-04 2008-01-09 华为技术有限公司 一种以太网转发数据的方法和一种以太网系统
CN101827009A (zh) * 2009-03-04 2010-09-08 丛林网络公司 利用服务vlan标识符在trill网络中路由帧

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PERLAM, R. ET AL.: "Rbridges: Base Protocol Specification", IETF, 3 March 2010 (2010-03-03), pages 19 AND 25, Retrieved from the Internet <URL:draft-ietf-trill-rbridge-protocol-16> *

Also Published As

Publication number Publication date
CN102684985B (zh) 2017-03-29
CN102684985A (zh) 2012-09-19

Similar Documents

Publication Publication Date Title
US8098656B2 (en) Method and apparatus for implementing L2 VPNs on an IP network
JP5544440B2 (ja) アドレス型キャリアネットワークにおける区別転送
EP3065358B1 (en) Method and device for message forwarding
US7339929B2 (en) Virtual private LAN service using a multicast protocol
US8305938B2 (en) Interworking an ethernet ring network with a spanning tree controlled ethernet network
WO2012122844A1 (zh) 一种多链接互连网络分域互连的方法和系统
US20140006585A1 (en) Providing Mobility in Overlay Networks
US20080080535A1 (en) Method and system for transmitting packet
CN102413060B (zh) Vpls网络中用户专线通信方法及设备
EP3069471B1 (en) Optimized multicast routing in a clos-like network
WO2014032620A1 (en) Virtual mac address, mask-based, packet forwarding
US20100254258A1 (en) Ring-based packet transmitting method, network system and node equipment
CN107040441B (zh) 跨数据中心的数据传输方法、装置及系统
WO2013139159A1 (zh) 在网络中转发报文的方法和运营商边缘设备
WO2008011818A1 (fr) Procédé de fourniture d&#39;un service réseau local privé virtuel à hiérarchie et système réseau
EP3028434A1 (en) Packet forwarding
US20140321472A1 (en) Method for implementing e-tree service and provider edge device
WO2022117018A1 (zh) 报文传输的方法和装置
EP2670088B1 (en) Trill network interconnection method and system
WO2013170746A1 (zh) 信息处理方法、装置及系统
WO2007104201A1 (fr) Procédé d&#39;acheminement de messages dans un tunnel de services
WO2009097796A1 (zh) 运营商骨干传送环组播方法和组播环网以及节点设备
EP4020929A1 (en) Address registration
WO2013000326A1 (zh) 多链接透明互连网络中数据的传输方法及系统
WO2023050932A1 (zh) 路由通告方法、网络设备及计算机存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11861283

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11861283

Country of ref document: EP

Kind code of ref document: A1