WO2012159481A1 - Path maximum transmission unit discovery method and node - Google Patents
Path maximum transmission unit discovery method and node Download PDFInfo
- Publication number
- WO2012159481A1 WO2012159481A1 PCT/CN2012/072519 CN2012072519W WO2012159481A1 WO 2012159481 A1 WO2012159481 A1 WO 2012159481A1 CN 2012072519 W CN2012072519 W CN 2012072519W WO 2012159481 A1 WO2012159481 A1 WO 2012159481A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- pmtu
- packet
- route
- mtu value
- cache entry
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
Definitions
- the present invention relates to the field of data communications, and in particular, to a Path Maximum Transmission Unit (PMTU) discovery method and a node in the IPV6 protocol.
- PMTU Path Maximum Transmission Unit
- PMTU Maximum Transmission Unit
- MTU Maximum Transmission Unit
- the MTU is compared with the packet when the intermediate node forwards the packet. If the packet size is small, the packet is discarded, and an excessively large packet of the Internet Control Message Protocol Version 6, ICMPv6 error packet is sent to the source node, and the MTU value of the outbound interface is carried. If the source node does not have a packet with a destination address, the source node creates a host route with the destination address of the packet. The MTU value of the route is the MTU value carried in the packet. The host route is compared with the MTU value. If the MTU value becomes smaller, the MTU value of the route is directly modified. After several rounds of interaction, you can learn the minimum MTU of the entire path, that is, the PMTU. When the next retransmission message is sent, it will be fragmented according to the PMTU to ensure that the intermediate node is not fragmented.
- the implementation of the PMTU function of the IPv6 protocol stack may require multiple message interactions to complete a single discovery.
- the limit situation sends a message from the first node to the nth node, which requires interaction 2* (n-2) packets can complete a PMTU learning.
- the intermediate node needs to receive a forwarding packet and return an ICMPv6 packet with a large packet.
- RRC Request For Comments
- the effective time is only 10 minutes. After 10 minutes, it will be deleted, and then the package will be sent later.
- the embodiment of the invention provides a path maximum transmission unit discovery method and a node, which solves the problem that the PMTU discovery efficiency is low, the bandwidth is wasted, and the attack is easy to be attacked in the current IPV6 protocol.
- an embodiment of the present invention provides a path maximum transmission unit discovery method, including:
- the source node finds whether there is a corresponding PMTU route for the to-be-sent packet.
- the maximum transmission unit (MTU) value of the PMTU route is set to a specified value.
- MTU value of the found PMTU route is invalid.
- the MTU value of the PMTU route that is found by the update is a specified value, and the specified value is not greater than the minimum MTU value of the system.
- the specified value is used to Sending a packet to perform fragmentation processing, and sending a PMTU probe packet carrying a PMTU detection indication;
- each intermediate node When receiving the PMTU detection packet, each intermediate node forwards the PMTU detection packet, and sends a packet oversized message to the source node, where the oversized packet carries the intermediate node.
- the source node receives the oversized packet returned by each intermediate node, and determines the MTU value of the PMTU route according to the MTU value carried in the oversized packet.
- the method further includes
- the packet to be sent is directly sent; and, when the source node finds the corresponding PMTU route and the PMTU for the to-be-sent packet When the MTU value of the route is valid, and the length of the to-be-sent packet is not greater than the valid MTU value, the to-be-sent packet is directly sent.
- the packet carries the PMTU detection indication in the following manner:
- the hop-by-hop option header is carried in the hop-by-hop option header, and the option carries an option, which is a PMTU detection indication, and the option is a route alert option or a new option.
- the above method may also have the following features.
- the method further includes: establishing a PMTU cache entry corresponding to the established PMTU route; when the MTU value of the found PMTU route is invalid
- the method further includes: updating a PMTU cache entry corresponding to the updated PMTU route;
- the step of determining, by the source node, the MTU value of the corresponding PMTU route according to the MTU value carried in the oversized packet includes:
- the source node After receiving the oversized packet returned by the intermediate node, the source node extracts the MTU value in the oversized packet and searches for the corresponding PMTU cache entry, if the extracted MTU value is smaller than the PMTU cache.
- the MTU value in the entry replaces the MTU value in the PMTU cache entry with the extracted MTU value, and does not process if the extracted MTU value is not less than the MTU value in the PMTU cache entry;
- the source node After processing the oversized packet returned by all the intermediate nodes, the source node uses the MTU value of the PMTU to discover.
- the above method may also have the following features.
- the source node After receiving the oversized packet, the source node discards the oversized packet if the corresponding PMTU cache entry is not found.
- the above method may also have the following features.
- the source node After the source node sends the packet carrying the PMTU detection indication, the source node sets the corresponding PMTU cache entry to the learning state.
- the source node completes the MTU value discovery of the PMTU route in the learning time from the learning state, setting the state of the PMTU cache entry to a valid state, if The source node does not complete the MTU value discovery of the PMTU route, and sets the state of the PMTU cache entry to an aging state; when the valid state starts to exceed the valid time, the PMTU cache entry is set to an aging state; When the aging time is exceeded, the PMTU cache entry and its corresponding PMTU route are deleted.
- the above method may also have the following features.
- the source node performs fragmentation processing on the MTU value of the PMTU route when the source node finds the corresponding PMTU route and the PMTU route corresponding to the PMTU route of the PMTU route is aging. Sending a packet carrying the PMTU detection indication, and setting a corresponding PMTU cache entry to a learning state;
- the packet is processed by the MTU value of the PMTU route, and the packet is sent.
- the embodiment of the present invention further provides a node, including a message sending unit and a message receiving unit, where:
- the message sending unit is configured to: when the node is used as a source node, find, for the to-be-transmitted message, whether there is a corresponding path maximum transmission unit (PMTU) route, and when there is no need to establish a PMTU route, set the PMTU route.
- the maximum transmission unit (MTU) value is a specified value. When the MTU value of the found PMTU route is invalid, the MTU value of the found PMTU route is updated to a specified value, and the specified value is not greater than the minimum MTU value of the system. When it is determined that the length of the to-be-sent packet is greater than the specified value, the packet is fragmented by the specified value, and the PMTU detection packet carrying the PMTU detection indication is sent;
- the packet receiving unit is configured to: when receiving an oversized packet returned by each intermediate node, determine an MTU value of the corresponding PMTU route according to the MTU value carried in the oversized packet.
- the foregoing node may also have the following features.
- the packet sending unit is further configured to: determine whether the length of the to-be-sent packet is less than or equal to the specified value, and directly send the to-be-sent when the length of the to-be-sent packet is not greater than the specified value And when the node is the source node, when the corresponding PMTU route is found for the to-be-sent packet, and the MTU value of the PMTU route is valid, and the length of the to-be-sent packet is not When the valid MTU value is greater than the valid MTU value, the to-be-sent packet is directly sent.
- the foregoing node may also have the following features.
- the packet sending unit is configured to carry the PMTU detection indication in the following manner: carrying a hop-by-hop option header in the ⁇ text, the hop-by-hop option header carries an option, where the option carries a PMTU detection indication, The option is the route alert option or a new option.
- the foregoing node may also have the following features.
- the message sending unit is further configured to: when a PMTU route is established by not finding a corresponding PMTU route, establishing a PMTU cache entry corresponding to the established PMTU route, when the MTU value of the found PMTU route is invalid When the PMTU route is updated, updating the PMTU cache entry corresponding to the updated PMTU route; and setting the MTU value of the PMTU cache entry to the MTU of the outbound node found by the source node;
- the message receiving unit is configured to determine an MTU value of the corresponding PMTU route according to the following manner:
- the MTU value of the corresponding PMTU route is updated by using the MTU value of the PMTU cache entry, and the MTU value of the PMTU route is found.
- the foregoing node may also have the following features.
- the packet receiving unit After receiving the oversized packet, the packet receiving unit discards the oversized packet if the corresponding PMTU cache entry is not found.
- the foregoing node may also have the following features.
- the sending unit of the message is further configured to: set the learning time, the effective time, and the aging time; after sending the packet carrying the PMTU detection indication, set the corresponding PMTU cache entry to the learning state; If the MTU value discovery of the PMTU route is completed within the learning time from the learning state, the state of the PMTU cache entry is set to a valid state, and if the MTU value discovery of the PMTU route is not completed, the PMTU is The status of the cache entry is set to the aging state;
- the corresponding PMTU route is found for the to-be-sent packet, and the MTU value of the PMTU route is valid, and the length of the to-be-sent packet is greater than the MTU value of the PMTU route:
- the packet is processed by using the MTU value of the PMTU route, and the packet carrying the PMTU detection indication is sent, and the corresponding PMTU cache entry is set to the learning state.
- the MTU value of the PMTU route is fragmented and sent.
- the foregoing node may also have the following features.
- the node further includes a forwarding processing unit, and the forwarding processing unit is configured to: when receiving the packet carrying the PMTU detection indication, when the node is not the destination node of the packet, forwarding the packet, and sending the packet is too large
- the packet is sent to the source node of the packet, and the oversized packet carries the MTU of the outbound interface found on the node.
- the PMTU discovery process solves the problem of data packet loss in the PMTU learning process, reduces the number of packet interactions in the PMTU learning process, and learns the packet loss problem after the PMTU ages, and also solves the PMTU learning process.
- Security issues in the classroom have improved the efficiency and reliability of PMTU learning.
- FIG. 1 is a schematic diagram of an IPv6 path MTU discovery
- FIG. 2 is a schematic diagram of a format of a hop-by-hop option
- Figure 3 is a schematic diagram of the format of the route alert option
- FIG. 4 is a schematic diagram of an option format defined in an embodiment of the present invention.
- FIG. 5 is a diagram of a state transition of a PMTU cache entry provided by an embodiment
- FIG. 6 is a schematic diagram of PMTU discovery provided by an embodiment of the present invention.
- FIG. 7 is a flowchart of a source node sending process provided by an embodiment
- FIG. 8 is a flowchart of a source node receiving process provided by an embodiment.
- the source node sends the packet with the specified value of the maximum transmission unit that is not greater than the smallest transmission unit, and the packet carries the PMTU detection indication.
- the intermediate node receives the packet carrying the PMTU detection indication, the intermediate node forwards the packet.
- the feedback packet is oversized to the source node, and the oversized packet carries the MTU of the outbound interface of the intermediate node, and the source node determines the MTU value of the PMTU route according to the MTU in the oversized packet.
- An embodiment of the present invention provides a path maximum transmission unit discovery method, including:
- the source node finds whether there is a corresponding PMTU route for the to-be-sent packet. If the MTU value of the PMTU route is invalid or not found, the MTU value of the PMTU route is established or updated.
- the specified value is not greater than the minimum value of the system.
- the maximum transmission unit performs fragmentation processing on the packet with a specified value, and sends a packet carrying the PMTU detection indication.
- each intermediate node When receiving the packet carrying the PMTU detection indication, each intermediate node forwards the packet, and sends a packet oversized message to the source node, where the oversized packet carries the intermediate node and is found. MTU of the outgoing interface;
- the source node receives the oversized packet returned by each intermediate node, and determines the MTU value of the corresponding PMTU route according to the MTU value carried in the oversized packet.
- the source node finds a corresponding PMTU route and sends the PMTU route to the to-be-sent packet.
- the value is sent directly to the to-be-sent packet. If the MTU value of the corresponding PMTU route is not found, and the length of the to-be-sent packet is not greater than the specified value, the direct transmission is performed. The message to be sent is mentioned. This can avoid PMTU learning when small messages are used, reducing the waste of system routing and PMTU storage space.
- the PMTU detection indication is carried in the following manner:
- the hop-by-hop option header is carried in the packet, and the hop-by-hop option header carries an option, where the option carries a PMTU detection indication, and the option is a route alert option. Or add options.
- the sent message includes the following information: the basic message header, the hop-by-hop option header containing the PMTU detection indication, and the fragmented message to be sent.
- a hop-by-hop option header is defined.
- the format of this option is shown in Figure 2. Its main function is to require every node in the packet transmission process to check.
- the hop-by-hop option message can carry one or more TLV (Type-Length-Value, type-length-data) encoding options.
- TLV Type-Length-Value, type-length-data
- One of the most important options is the route alert option. This route alert option is required to pass The router, but the destination address is not the packet processing of the router.
- the format is as shown in Figure 3.
- the 2-byte data (network sequence) is currently defined as follows: 0 indicates that the message is an MLD (Multicast Detect). Listener found agreement) message
- RSVP Resource Reservation Protocol
- a route alert data is newly defined, and any one of 3-65535 is used, for example, as a PMTU detection indication, indicating that the packet is a PMTU detection packet.
- the option format is also TLV. As shown in Figure 4, the type can be Choose one from the current reservation, such as 8 and so on.
- the PMTU cache entry corresponding to the PMTU route is also established or updated, and the MTU value of the PMTU cache entry is set. Describe the MTU of the egress node found by the source node;
- Determining, by the source node, the MTU value of the corresponding PMTU route according to the MTU value carried in the packet oversized packet includes: After receiving the oversized packet returned by the intermediate node, the source node extracts the MTU value in the oversized packet and searches for the corresponding PMTU cache entry, if the extracted MTU value is smaller than the PMTU cache. The MTU value in the entry replaces the MTU value in the PMTU cache entry with the extracted MTU value, and does not process if the extracted MTU value is not less than the MTU value in the PMTU cache entry;
- the source node After processing all the intermediate nodes, the source node updates the MTU value of the corresponding PMTU route by using the MTU value of the PMTU cache entry, and completes the MTU value discovery of the PMTU route.
- the source node when receiving the feedback packet of the destination node, determines that the packet that has been returned by all the intermediate nodes has been processed.
- the feedback packet of the destination node may be a packet oversized message or other indication packet, indicating that the probe arrives at the terminal. If the packet is too large, the packet may be sent to the source node to notify the source node of the PMTU to reach the destination.
- the specified MTU value for example, 0, indicating that the packet is too large is the destination node. Returned, of course, the MTU value can also be any value.
- the source node determines the PMTU detection to reach the end point by the same source address in the text returned by the destination node and the destination address detected by the source node.
- the source node receives the packet with a large packet, if the corresponding PMTU cache entry is not found, the source node discards the oversized packet. This method can prevent illegal packet attacks. Because the PMTU cache entry of the embodiment of the present invention is generated before the PMTU probe message, if it is a legal message, the PMTU cache entry can be found according to the returned packet oversized message. If it is not found, it can be considered as an illegal message.
- the learning time, the effective time, and the aging time are also set for the PMTU cache entry. After the source node sends the packet carrying the PMTU detection indication, the corresponding PMTU cache entry is set to the learning state.
- the source node completes the MTU value discovery of the PMTU route from the learning time starting from the learning state, setting the state of the PMTU cache entry to a valid state, if the source node does not complete the PMTU route
- the MTU value is found to set the state of the PMTU cache entry to an aging state
- the source node finds a corresponding PMTU route for the to-be-sent packet, and the PMTU path is fragmented by the MTU value of the PMTU route when the PMTU cache entry corresponding to the PMTU route is in an aging state. Processing, sending a packet carrying the PMTU detection indication, and setting the corresponding PMTU cache entry to a learning state;
- the packet is processed by the MTU value of the PMTU route, and the packet is sent.
- FIG. 6 it is a schematic diagram of PMTU discovery according to an embodiment of the present invention.
- the packet is fragmented by the specified value, and the packet is sent.
- the packet carries the PMTU detection indication.
- the specified value is the minimum.
- the intermediate node R1 When receiving the packet carrying the PMTU detection indication, the intermediate node R1 forwards the packet, and returns a packet with a large packet to the source node, and the packet has an outgoing interface MTU value of 1450;
- the intermediate node R2 when receiving the packet carrying the PMTU detection indication forwarded by the R1, forwards the packet, and returns a packet with a large packet to the source node, and the packet has an outgoing interface MTU value of 1400;
- the intermediate node R3 when receiving the packet carrying the PMTU detection indication forwarded by the R2, forwards the packet, and returns a packet with a large packet to the source node, and the packet has an outgoing interface MTU value of 1300;
- the source node processes the large packets of each packet and obtains the MTU of the PMTU route as 1300.
- An embodiment of the present invention provides a PMTU discovery method, including:
- Step 1 The source node performs >3 ⁇ 4 text transmission; As shown in Figure 7, it includes:
- the route is checked.
- the specified value is the FMTU.
- the minimum MTU value of the system is 1280.
- the length of the packet to be sent is less than or equal to the FMTU. If yes, the packet is sent directly. If no, the PMTU route and the PMTU cache entry are generated, the MTU value of the PMTU route is set to the specified value, the MTU value of the PMTU cache entry is set to the MTU value of the outbound interface of the source node, and the PMTU probe packet is constructed, according to the FMTU. Fragment transmission, and set the state of the PMTU cache entry to the learning state;
- the specified value is the FMTU.
- the minimum MTU value of the system is 1280, and the length of the to-be-sent packet is less than or equal to the FMTU. If yes, the PMTU route and the PMTU cache entry are updated.
- the MTU value of the PMTU route is set to the specified value, and the MTU value of the PMTU cache entry is set to the MTU value of the outbound interface of the source node to construct the PMTU.
- the probe packet is sent according to the FMTU; the PMTU cache entry status is set to the learning state.
- Step 2 The intermediate node receives the packet, and determines whether the packet carries the PMTU detection indication. If yes, the packet is forwarded, and then the source node returns an ICMPv6 packet oversized message, and the MTU returned by the packet is too large.
- the MTU of the outbound interface that is found on the intermediate node that is, the MTU value of the outgoing interface. If no, it is processed according to the normal process, forwarded or processed locally.
- the intermediate node finds that the IPv6 packet carries the hop-by-hop option header, and then sends the packet to the IPv6 protocol stack for processing.
- the IPv6 protocol stack parses the hop-by-hop option header to further determine whether the route alert option is included, and then determines whether the route alert option is the type of the defined PMTU learning. If yes, the packet carries the PMTU detection indication. Of course, if the new option is used to carry the PMTU indication, it is determined whether the new option is carried in the message.
- Step 3 After receiving the packet carrying the PMTU detection indication, the destination node is similar to the intermediate node. The difference is that the packet is not forwarded to the source node and is returned to the ICMPv6 packet of the source node.
- the MTU value is 0.
- Step 4 The source node receives the packet with too large a packet, and determines the PMTU route according to the MTU value in the oversized packet.
- the source node receives the packet with a large packet, and extracts the MTU value in the packet with the oversized packet.
- the PMTU cache entry is searched according to the destination address of the original packet that generated the packet with too large packet. If not found, the attack is considered as attack 4 ⁇ , discard the 4 ⁇ .
- the MTU size in the MTU and the PMTU cache entry is determined. If the extracted MTU is smaller than the MTU in the PMTU cache entry, then Replace the MTU in the PMTU cache entry with the removed MTU. If the MTU is not smaller than the MTU in the PMTU cache entry, it will not be processed. If the MTU of the packet is too large, the MTU is 0 (indicating that the packet returned by the destination node) The large message, the probe has reached the end point, the MTU of the corresponding PMTU route is updated by the MTU of the PMTU cache entry, and the PMTU cache entry status is set to a valid state to complete the PMTU discovery.
- Step 5 After the source node learns the PMTU, it sends the packet according to the learned PMTU.
- the PMTU cache entry When the PMTU is valid, the PMTU cache entry enters the aging state; and if the PMTU cache entry learning state times out, the feedback message returned by the destination node has not been received (for example, no packet with an MTU of 0 is received). The PMTU has not been learned yet, and the PMTU cache entry enters an aging state;
- the PMTU After entering the aging state, if the flow continues to be sent, the PMTU sends the PMTU detection indication according to the FMTU.
- the PMTU cache entry enters the learning state and repeats the above PMTU learning process.
- the aging state times out, indicating that there is no packet during the aging period. Send, delete the PMTU cache entry and the corresponding PMTU route.
- the aging timer can be used for timing.
- the PMTU discovery is performed in the embodiment of the present invention, and the data packet loss in the PMTU learning process is solved.
- the packet problem reduces the number of packet interactions in the PMTU learning process and the problem of packet loss after PMTU aging. It also solves the security problem in the PMTU learning process and improves the efficiency and reliability of PMTU learning.
- modules or steps can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device, such that they may be stored in the storage device by the computing device, or they may be fabricated into individual integrated circuit modules, or multiple of them Modules or steps are made in a single integrated circuit module. Thus, embodiments of the invention are not limited to any particular combination of hardware and software.
- the PMTU discovery process solves the problem of data packet loss in the PMTU learning process, reduces the number of packet interactions in the PMTU learning process, and learns the packet loss problem after the PMTU ages, and also solves the PMTU learning process.
- Security issues in the classroom have improved the efficiency and reliability of PMTU learning.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
一种路径最大传输单元发现方法和节点 Path maximum transmission unit discovery method and node
技术领域 Technical field
本发明涉及数据通信领域,特别涉及 IPV6协议中路径最大传输单元( Path Maximum Transmission Unit , PMTU )发现方法和节点。 The present invention relates to the field of data communications, and in particular, to a Path Maximum Transmission Unit (PMTU) discovery method and a node in the IPV6 protocol.
背景技术 Background technique
随着 IPv4地址的日益枯竭 , IPv6网络的大量部署逐渐被提上日程,和 IPv4 协议栈相比, IPv6协议栈一个重要的进步就是支持路径最大传输单元(Path Maximum Transmission Unit , PMTU ) , 也就是 IP V6数据包从源端发出时, 数据包的长度必须小于整个路径的最大传输单元 (Maximum Transmission Unit, MTU), 这样报文经过中间节点的时就不用分片, 提高了网络设备的报 文转发效率。 PMTU的实现原理如图 1所示, 报文从源节点发出时, 按照路 由的 MTU分片(路由默认 MTU值就是出接口的 MTU) , 在中间节点转发时, 如果发现出接口 MTU 比报文长度小, 则丟弃报文, 并向源节点发送一个包 过大的互联网控制报文协议第 6版 ( Internet Control Message Protocol Version 6, ICMPv6)差错报文, 携带出接口的 MTU值。 源节点收到包过大报文后, 如果不存在一条目的地址的主机路由,用发包的目的地址创建一条主机路由, 路由的 MTU值就是报文中携带的 MTU值; 如果存在这样一条目的地址的主 机路由, 比较一下 MTU值, 若 MTU值变小, 就直接修改路由的 MTU值。 经过几轮交互, 就可以学习到整个路径的最小 MTU, 即 PMTU, 下一次再发 报文时, 就会根据 PMTU进行分片, 保证中间节点不分片。 With the depletion of IPv4 addresses, a large number of IPv6 network deployments are gradually being put on the agenda. Compared with the IPv4 protocol stack, an important advancement of the IPv6 protocol stack is the support path Maximum Transmission Unit (PMTU), that is, When the IP V6 packet is sent from the source, the length of the packet must be smaller than the Maximum Transmission Unit (MTU) of the entire path. Therefore, the packet does not need to be fragmented when passing through the intermediate node, which improves the packet of the network device. Forwarding efficiency. The implementation principle of the PMTU is shown in Figure 1. When a packet is sent from the source node, the MTU fragment of the route is used. The default MTU value of the route is the MTU of the outbound interface. If the MTU is compared with the packet when the intermediate node forwards the packet. If the packet size is small, the packet is discarded, and an excessively large packet of the Internet Control Message Protocol Version 6, ICMPv6 error packet is sent to the source node, and the MTU value of the outbound interface is carried. If the source node does not have a packet with a destination address, the source node creates a host route with the destination address of the packet. The MTU value of the route is the MTU value carried in the packet. The host route is compared with the MTU value. If the MTU value becomes smaller, the MTU value of the route is directly modified. After several rounds of interaction, you can learn the minimum MTU of the entire path, that is, the PMTU. When the next retransmission message is sent, it will be fragmented according to the PMTU to ensure that the intermediate node is not fragmented.
目前 IPv6协议栈 PMTU功能的实现,一次发现可能需要经过多次报文交 互才能完成, 在有 n个节点时, 极限情况从第一个节点发一个报文到第 n个 节点, 需要交互 2*(n-2)个报文才能完成一次 PMTU学习, 其实就是中间节点 都需要收到一个转发报文, 回一个包过大的 ICMPv6报文。 这样当中间节点 比较多时, 一次学习时间就比较长, 并且请求注解 ( Request For Comments, RFC )规定一次学习到的 PMTU信息, 有效时间只有 10分钟, 10分钟以后 就会删除,以后再发包,又需要重新学习,又会出现一段时间内报文因为 MTU 问题转发丟包。 所以目前的 PMTU学习机制, 在网络 MTU逐跳递减的情况 下, PMTU的学习收敛慢, 并且在分布式设备上, 整机 PMTU收敛更慢 (因为 此时板间通信也多),这些问题给系统带来了额外的开销,浪费了系统的带宽。 At present, the implementation of the PMTU function of the IPv6 protocol stack may require multiple message interactions to complete a single discovery. When there are n nodes, the limit situation sends a message from the first node to the nth node, which requires interaction 2* (n-2) packets can complete a PMTU learning. In fact, the intermediate node needs to receive a forwarding packet and return an ICMPv6 packet with a large packet. In this way, when there are more intermediate nodes, the learning time is longer, and Request For Comments (RFC) specifies the learned PMTU information. The effective time is only 10 minutes. After 10 minutes, it will be deleted, and then the package will be sent later. Need to relearn, there will be a message for a period of time because of MTU The problem is forwarding packets. Therefore, the current PMTU learning mechanism, when the network MTU is decremented hop by hop, the learning convergence of the PMTU is slow, and on the distributed device, the PMTU convergence of the whole machine is slower (because the inter-board communication is also more), these problems are given. The system brings extra overhead and wastes the bandwidth of the system.
同时网络中还有一种针对 PMTU学习的攻击, 通过伪造包过大报文, 导 致学习的 PMTU错误, 引起网络性能下降或者拒绝服务攻击。 At the same time, there is another attack in the network for learning PMTU. By forging packets and over-receiving packets, the PMTU error is learned, causing network performance degradation or denial of service attacks.
发明内容 Summary of the invention
本发明实施例提供一种路径最大传输单元发现方法和节点, 解决了目前 IPV6协议中 PMTU发现效率低下、 带宽浪费以及容易被攻击的问题。 The embodiment of the invention provides a path maximum transmission unit discovery method and a node, which solves the problem that the PMTU discovery efficiency is low, the bandwidth is wasted, and the attack is easy to be attacked in the current IPV6 protocol.
为了解决上述问题, 本发明实施例提供了一种路径最大传输单元发现方 法, 包括: In order to solve the above problem, an embodiment of the present invention provides a path maximum transmission unit discovery method, including:
源节点为待发送报文查找是否存在对应的 PMTU路由, 当不存在且需要 建立 PMTU路由时, 设置 PMTU路由的最大传输单元(MTU )值为指定值, 当查找到的 PMTU路由的 MTU值无效时, 更新所查找到的 PMTU路由的 MTU值为指定值, 该指定值不大于系统最小的 MTU值, 当判断所述待发送 文的长度大于该指定值时, 以该指定值对所述待发送 文进行分片处理, 发送携带 PMTU探测指示的 PMTU探测报文; The source node finds whether there is a corresponding PMTU route for the to-be-sent packet. When the PMTU route does not exist, the maximum transmission unit (MTU) value of the PMTU route is set to a specified value. When the MTU value of the found PMTU route is invalid. The MTU value of the PMTU route that is found by the update is a specified value, and the specified value is not greater than the minimum MTU value of the system. When it is determined that the length of the to-be-sent document is greater than the specified value, the specified value is used to Sending a packet to perform fragmentation processing, and sending a PMTU probe packet carrying a PMTU detection indication;
各中间节点接收到所述 PMTU探测报文时, 转发所述 PMTU探测报文, 发送包过大报文至所述源节点, 所述包过大报文中携带所述中间节点上查到 的出接口的 MTU值; When receiving the PMTU detection packet, each intermediate node forwards the PMTU detection packet, and sends a packet oversized message to the source node, where the oversized packet carries the intermediate node. MTU value of the outgoing interface;
所述源节点接收各中间节点返回的包过大报文, 根据所述包过大报文中 携带的 MTU值确定 PMTU路由的 MTU值。 The source node receives the oversized packet returned by each intermediate node, and determines the MTU value of the PMTU route according to the MTU value carried in the oversized packet.
可选地, 所述方法还包括, Optionally, the method further includes
当判断所述待发送报文的长度是否不大于该指定值时, 直接发送所述待 发送报文; 以及, 当所述源节点为所述待发送报文查找到对应的 PMTU路由 且该 PMTU路由的 MTU值有效, 且所述待发送报文的长度不大于该有效的 MTU值时, 直接发送所述待发送报文。 When the length of the to-be-sent packet is not greater than the specified value, the packet to be sent is directly sent; and, when the source node finds the corresponding PMTU route and the PMTU for the to-be-sent packet When the MTU value of the route is valid, and the length of the to-be-sent packet is not greater than the valid MTU value, the to-be-sent packet is directly sent.
可选地, 所述报文中通过如下方式携带 PMTU探测指示: 在所述 4艮文中携带逐跳选项头, 该逐跳选项头中携带一选项, 该选项携 带 PMTU探测指示, 所述选项为路由告警( route alert )选项或新增选项。 Optionally, the packet carries the PMTU detection indication in the following manner: The hop-by-hop option header is carried in the hop-by-hop option header, and the option carries an option, which is a PMTU detection indication, and the option is a route alert option or a new option.
可选地, 上述方法还可具有以下特点, Optionally, the above method may also have the following features.
当所述源节点未查找到对应的 PMTU路由而建立了 PMTU路由时,所述 方法还包括, 建立与所建立的 PMTU路由相对应的 PMTU緩存条目; 当查找 到的 PMTU路由的 MTU值无效而更新了 PMTU路由时, 所述方法还包括: 更新与所更新的 PMTU路由相对应的 PMTU緩存条目; When the source node does not find the corresponding PMTU route and establishes the PMTU route, the method further includes: establishing a PMTU cache entry corresponding to the established PMTU route; when the MTU value of the found PMTU route is invalid When the PMTU route is updated, the method further includes: updating a PMTU cache entry corresponding to the updated PMTU route;
并且, 设置所建立的或更新的 PMTU緩存条目的 MTU值为所述源节点 查到的出节点的 MTU; And setting an MTU of the established or updated PMTU cache entry to an MTU of the egress node found by the source node;
所述源节点根据所述包过大报文中携带的 MTU值确定对应的 PMTU路 由的 MTU值的步骤包括: The step of determining, by the source node, the MTU value of the corresponding PMTU route according to the MTU value carried in the oversized packet includes:
所述源节点接收到所述中间节点返回的包过大报文后, 取出该包过大报 文中的 MTU值并查找对应的 PMTU緩存条目,如果所述取出的 MTU值小于 所述 PMTU緩存条目中的 MTU值,则用所述取出的 MTU值替换所述 PMTU 緩存条目中的 MTU值,如果所述取出的 MTU值不小于所述 PMTU緩存条目 中的 MTU值, 不处理; After receiving the oversized packet returned by the intermediate node, the source node extracts the MTU value in the oversized packet and searches for the corresponding PMTU cache entry, if the extracted MTU value is smaller than the PMTU cache. The MTU value in the entry replaces the MTU value in the PMTU cache entry with the extracted MTU value, and does not process if the extracted MTU value is not less than the MTU value in the PMTU cache entry;
所述源节点在处理完所有中间节点返回的包过大报文后, 使用该 PMTU 的 MTU值发现。 After processing the oversized packet returned by all the intermediate nodes, the source node uses the MTU value of the PMTU to discover.
可选地, 上述方法还可具有以下特点, Optionally, the above method may also have the following features.
所述源节点接收所述包过大报文后, 如果未查找到对应的 PMTU緩存条 目, 则丟弃该包过大报文。 After receiving the oversized packet, the source node discards the oversized packet if the corresponding PMTU cache entry is not found.
可选地, 上述方法还可具有以下特点, Optionally, the above method may also have the following features.
设定学习时间、 有效时间和老化时间; Set learning time, effective time and aging time;
所述源节点发送携带 PMTU探测指示的报文后,将对应的 PMTU緩存条 目设置为学习状态; After the source node sends the packet carrying the PMTU detection indication, the source node sets the corresponding PMTU cache entry to the learning state.
如果从学习状态开始的所述学习时间内, 所述源节点完成该 PMTU路由 的 MTU值发现, 则将所述 PMTU緩存条目的状态设置为有效状态, 如果所 述源节点未完成该 PMTU路由的 MTU值发现 , 将所述 PMTU緩存条目的状 态设置为老化状态;从所述有效状态开始超过所述有效时间时,将所述 PMTU 緩存条目设置为老化状态; 从所述老化状态开始超过所述老化时间时, 删除 所述 PMTU緩存条目和其对应的 PMTU路由。 If the source node completes the MTU value discovery of the PMTU route in the learning time from the learning state, setting the state of the PMTU cache entry to a valid state, if The source node does not complete the MTU value discovery of the PMTU route, and sets the state of the PMTU cache entry to an aging state; when the valid state starts to exceed the valid time, the PMTU cache entry is set to an aging state; When the aging time is exceeded, the PMTU cache entry and its corresponding PMTU route are deleted.
可选地, 上述方法还可具有以下特点, Optionally, the above method may also have the following features.
所述源节点为待发送报文查找到对应的 PMTU路由且该 PMTU路由的 当所述 PMTU路由对应的 PMTU緩存条目为老化状态时,以所述 PMTU 路由的 MTU值对报文进行分片处理, 发送携带 PMTU探测指示的报文, 将 对应的 PMTU緩存条目设置为学习状态; The source node performs fragmentation processing on the MTU value of the PMTU route when the source node finds the corresponding PMTU route and the PMTU route corresponding to the PMTU route of the PMTU route is aging. Sending a packet carrying the PMTU detection indication, and setting a corresponding PMTU cache entry to a learning state;
当所述 PMTU路由对应的 PMTU緩存条目为学习状态或有效状态时,以 所述 PMTU路由的 MTU值对报文进行分片处理, 发送报文。 When the PMTU cache entry corresponding to the PMTU route is in a learning state or a valid state, the packet is processed by the MTU value of the PMTU route, and the packet is sent.
本发明实施例还提供一种节点, 包括报文发送单元和报文接收单元, 其 中: The embodiment of the present invention further provides a node, including a message sending unit and a message receiving unit, where:
所述报文发送单元设置为: 在所述节点作为源节点时, 为待发送报文查 找是否存在对应的路径最大传输单元(PMTU )路由, 当不存在且需要建立 PMTU路由时, 设置 PMTU路由的最大传输单元(MTU )值为指定值, 当查 找到的 PMTU路由的 MTU值无效时 , 更新所查找到的 PMTU路由的 MTU 值为指定值, 所述指定值不大于系统最小的 MTU值, 当判断所述待发送报 文的长度大于该指定值时, 以所述指定值对报文进行分片处理, 发送携带 PMTU探测指示的 PMTU探测报文; The message sending unit is configured to: when the node is used as a source node, find, for the to-be-transmitted message, whether there is a corresponding path maximum transmission unit (PMTU) route, and when there is no need to establish a PMTU route, set the PMTU route. The maximum transmission unit (MTU) value is a specified value. When the MTU value of the found PMTU route is invalid, the MTU value of the found PMTU route is updated to a specified value, and the specified value is not greater than the minimum MTU value of the system. When it is determined that the length of the to-be-sent packet is greater than the specified value, the packet is fragmented by the specified value, and the PMTU detection packet carrying the PMTU detection indication is sent;
所述报文接收单元设置为: 接收到各中间节点返回的包过大报文时, 根 据所述包过大报文中携带的 MTU值确定对应的 PMTU路由的 MTU值。 The packet receiving unit is configured to: when receiving an oversized packet returned by each intermediate node, determine an MTU value of the corresponding PMTU route according to the MTU value carried in the oversized packet.
可选地, 上述节点还可具有以下特点, Optionally, the foregoing node may also have the following features.
所述报文发送单元还设置为: 判断所述待发送报文的长度是否小于等于 所述指定值, 当所述待发送报文的长度不大于所述指定值时, 直接发送所述 待发送报文; 以及, 在所述节点作为源节点时, 当为待发送报文查找到对应 的 PMTU路由且该 PMTU路由的 MTU值有效, 且所述待发送报文的长度不 大于该有效的 MTU值时, 直接发送所述待发送报文。 The packet sending unit is further configured to: determine whether the length of the to-be-sent packet is less than or equal to the specified value, and directly send the to-be-sent when the length of the to-be-sent packet is not greater than the specified value And when the node is the source node, when the corresponding PMTU route is found for the to-be-sent packet, and the MTU value of the PMTU route is valid, and the length of the to-be-sent packet is not When the valid MTU value is greater than the valid MTU value, the to-be-sent packet is directly sent.
可选地, 上述节点还可具有以下特点, Optionally, the foregoing node may also have the following features.
所述报文发送单元是设置为通过如下方式携带所述 PMTU探测指示: 在 所述 "^文中携带逐跳选项头,该逐跳选项头中携带一选项,该选项携带 PMTU 探测指示, 所述选项为路由告警(route alert )选项或新增选项。 The packet sending unit is configured to carry the PMTU detection indication in the following manner: carrying a hop-by-hop option header in the ^^ text, the hop-by-hop option header carries an option, where the option carries a PMTU detection indication, The option is the route alert option or a new option.
可选地, 上述节点还可具有以下特点, Optionally, the foregoing node may also have the following features.
所述报文发送单元还设置为: 当未查找到对应的 PMTU路由而建立了 PMTU路由时, 建立与所建立的 PMTU路由相对应的 PMTU緩存条目, 当查 找到的 PMTU路由的 MTU值无效而更新了 PMTU路由时, 更新与所更新的 PMTU路由相对应的 PMTU緩存条目;并且,设置该 PMTU緩存条目的 MTU 值为所述源节点查到的出节点的 MTU; The message sending unit is further configured to: when a PMTU route is established by not finding a corresponding PMTU route, establishing a PMTU cache entry corresponding to the established PMTU route, when the MTU value of the found PMTU route is invalid When the PMTU route is updated, updating the PMTU cache entry corresponding to the updated PMTU route; and setting the MTU value of the PMTU cache entry to the MTU of the outbound node found by the source node;
所述报文接收单元是设置为根据如下方式确定对应的 PMTU路由的 MTU值: The message receiving unit is configured to determine an MTU value of the corresponding PMTU route according to the following manner:
接收到所述中间节点返回的包过大报文后,取出该包过大报文中的 MTU 值并查找对应的 PMTU緩存条目 , 如果所述取出的 MTU值小于所述 PMTU 緩存条目中的 MTU值,则用所述取出的 MTU值替换所述 PMTU緩存条目中 的 MTU值 , 如果所述取出的 MTU值不小于所述 PMTU緩存条目中的 MTU 值, 则不处理; After receiving the oversized packet returned by the intermediate node, extracting the MTU value in the oversized packet and searching for the corresponding PMTU cache entry, if the extracted MTU value is smaller than the MTU in the PMTU cache entry. And replacing the MTU value in the PMTU cache entry with the extracted MTU value, and if the extracted MTU value is not less than the MTU value in the PMTU cache entry, not processing;
在处理完所有中间节点返回的包过大报文后, 使用该 PMTU緩存条目的 MTU值更新对应的 PMTU路由的 MTU值, 完成该 PMTU路由的 MTU值发 现。 After processing the oversized packet returned by all the intermediate nodes, the MTU value of the corresponding PMTU route is updated by using the MTU value of the PMTU cache entry, and the MTU value of the PMTU route is found.
可选地, 上述节点还可具有以下特点, Optionally, the foregoing node may also have the following features.
所述报文接收单元接收所述包过大报文后, 如果未查找到对应的 PMTU 緩存条目, 则丟弃该包过大报文。 After receiving the oversized packet, the packet receiving unit discards the oversized packet if the corresponding PMTU cache entry is not found.
可选地, 上述节点还可具有以下特点, Optionally, the foregoing node may also have the following features.
所述 4艮文发送单元还设置为: 设定学习时间、 有效时间和老化时间; 发送携带 PMTU探测指示的报文后,将对应的 PMTU緩存条目设置为学 习状态; 如果从学习状态开始的所述学习时间内, 完成该 PMTU路由的 MTU值 发现,则将所述 PMTU緩存条目的状态设置为有效状态,如果未完成该 PMTU 路由的 MTU值发现, 将所述 PMTU緩存条目的状态设置为老化状态; The sending unit of the message is further configured to: set the learning time, the effective time, and the aging time; after sending the packet carrying the PMTU detection indication, set the corresponding PMTU cache entry to the learning state; If the MTU value discovery of the PMTU route is completed within the learning time from the learning state, the state of the PMTU cache entry is set to a valid state, and if the MTU value discovery of the PMTU route is not completed, the PMTU is The status of the cache entry is set to the aging state;
从所述有效状态开始超出所述有效时间时, 将所述 PMTU緩存条目设置 为老化状态; Setting the PMTU cache entry to an aging state when the valid time is exceeded from the valid state;
从所述老化状态开始超出所述老化时间时, 删除所述 PMTU緩存条目和 PMTU路由; Deleting the PMTU cache entry and the PMTU route when the aging time is exceeded from the aging state;
当所述节点为源节点, 为待发送报文查找到对应的 PMTU路由且该 PMTU路由的 MTU值有效, 且所述待发送报文的长度大于所述 PMTU路由 的 MTU值: When the node is the source node, the corresponding PMTU route is found for the to-be-sent packet, and the MTU value of the PMTU route is valid, and the length of the to-be-sent packet is greater than the MTU value of the PMTU route:
当所述 PMTU路由对应的 PMTU緩存条目为老化状态时,以所述 PMTU 路由的 MTU值对报文进行分片处理, 发送携带 PMTU探测指示的报文, 将 对应的 PMTU緩存条目设置为学习状态; When the PMTU cache entry corresponding to the PMTU route is in an aging state, the packet is processed by using the MTU value of the PMTU route, and the packet carrying the PMTU detection indication is sent, and the corresponding PMTU cache entry is set to the learning state. ;
当所述 PMTU路由对应的 PMTU緩存条目为学习状态或有效状态时,以 所述 PMTU路由的 MTU值对 4艮文进行分片处理, 发送 4艮文。 When the PMTU cache entry corresponding to the PMTU route is in a learning state or a valid state, the MTU value of the PMTU route is fragmented and sent.
可选地, 上述节点还可具有以下特点, Optionally, the foregoing node may also have the following features.
所述节点还包括转发处理单元, 所述转发处理单元设置为:接收到携带 PMTU探测指示的报文时, 当该节点不是该报文的目的节点时, 转发所述报 文, 发送包过大报文至该报文的源节点, 所述包过大报文中携带该节点上查 到的出接口的 MTU。 The node further includes a forwarding processing unit, and the forwarding processing unit is configured to: when receiving the packet carrying the PMTU detection indication, when the node is not the destination node of the packet, forwarding the packet, and sending the packet is too large The packet is sent to the source node of the packet, and the oversized packet carries the MTU of the outbound interface found on the node.
本发明实施例中进行 PMTU发现,解决了 PMTU学习过程中数据报文丟 包问题,减少了 PMTU学习过程中的报文交互数量以及 PMTU老化后再学习 丟包问题, 同时还解决了 PMTU学习过程中的安全问题, 提高了 PMTU学习 的效率和可靠性。 In the embodiment of the present invention, the PMTU discovery process solves the problem of data packet loss in the PMTU learning process, reduces the number of packet interactions in the PMTU learning process, and learns the packet loss problem after the PMTU ages, and also solves the PMTU learning process. Security issues in the classroom have improved the efficiency and reliability of PMTU learning.
附图概述 BRIEF abstract
图 1是 IPv6路径 MTU发现原理图; Figure 1 is a schematic diagram of an IPv6 path MTU discovery;
图 2是逐跳头选项格式示意图; 图 3是 route alert选项格式示意图; 2 is a schematic diagram of a format of a hop-by-hop option; Figure 3 is a schematic diagram of the format of the route alert option;
图 4是本发明实施例中定义的一种选项格式示意图; 4 is a schematic diagram of an option format defined in an embodiment of the present invention;
图 5是实施例所提供的 PMTU緩存条目状态切换图; FIG. 5 is a diagram of a state transition of a PMTU cache entry provided by an embodiment; FIG.
图 6是本发明实施例所提供的 PMTU发现示意图; 6 is a schematic diagram of PMTU discovery provided by an embodiment of the present invention;
图 7是实施例所提供的源节点发包处理流程图; 7 is a flowchart of a source node sending process provided by an embodiment;
图 8是实施例所提供的源节点收包处理流程图。 FIG. 8 is a flowchart of a source node receiving process provided by an embodiment.
本发明的较佳实施方式 Preferred embodiment of the invention
下文中将结合附图对本发明的实施例进行详细说明。 需要说明的是, 在 不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互任意组合。 Embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that, in the case of no conflict, the features in the embodiments and the embodiments in the present application may be arbitrarily combined with each other.
本发明实施例中, 源节点以不大于系统最小的最大传输单元的指定值发 送报文, 且报文中携带 PMTU探测指示, 中间节点收到携带 PMTU探测指示 的报文时, 转发报文, 并且反馈包过大报文至源节点, 包过大报文中携带中 间节点出接口的 MTU, 源节点根据包过大报文中的 MTU确定 PMTU路由的 MTU值。 In the embodiment of the present invention, the source node sends the packet with the specified value of the maximum transmission unit that is not greater than the smallest transmission unit, and the packet carries the PMTU detection indication. When the intermediate node receives the packet carrying the PMTU detection indication, the intermediate node forwards the packet. And the feedback packet is oversized to the source node, and the oversized packet carries the MTU of the outbound interface of the intermediate node, and the source node determines the MTU value of the PMTU route according to the MTU in the oversized packet.
本发明实施例提供一种路径最大传输单元发现方法, 包括: An embodiment of the present invention provides a path maximum transmission unit discovery method, including:
源节点为待发送报文查找是否存在对应的 PMTU路由, 如果不存在或者 查找到的 PMTU路由的 MTU值无效, 则建立或更新 PMTU路由的 MTU值 为指定值, 该指定值不大于系统最小的最大传输单元, 以指定值对报文进行 分片处理, 发送携带 PMTU探测指示的报文; The source node finds whether there is a corresponding PMTU route for the to-be-sent packet. If the MTU value of the PMTU route is invalid or not found, the MTU value of the PMTU route is established or updated. The specified value is not greater than the minimum value of the system. The maximum transmission unit performs fragmentation processing on the packet with a specified value, and sends a packet carrying the PMTU detection indication.
各中间节点接收到携带所述 PMTU探测指示的报文时, 转发所述报文, 发送包过大报文至所述源节点, 所述包过大报文中携带所述中间节点上查到 的出接口的 MTU; When receiving the packet carrying the PMTU detection indication, each intermediate node forwards the packet, and sends a packet oversized message to the source node, where the oversized packet carries the intermediate node and is found. MTU of the outgoing interface;
源节点接收各中间节点返回的包过大报文, 根据所述包过大报文中携带 的 MTU值确定对应的 PMTU路由的 MTU值。 The source node receives the oversized packet returned by each intermediate node, and determines the MTU value of the corresponding PMTU route according to the MTU value carried in the oversized packet.
其中,所述源节点为待发送报文查找到对应的 PMTU路由且该 PMTU路 值时, 直接发送所述待发送报文; 另外, 如果查找不到对应的 PMTU路由或 者查找到的 PMTU路由的 MTU值无效, 且待发送报文的长度不大于该指定 值时, 直接发送所述待发送报文。 这样可以避免小报文时触发 PMTU学习, 减少浪费系统的路由和 PMTU存储空间。 The source node finds a corresponding PMTU route and sends the PMTU route to the to-be-sent packet. The value is sent directly to the to-be-sent packet. If the MTU value of the corresponding PMTU route is not found, and the length of the to-be-sent packet is not greater than the specified value, the direct transmission is performed. The message to be sent is mentioned. This can avoid PMTU learning when small messages are used, reducing the waste of system routing and PMTU storage space.
其中, 通过如下方式携带 PMTU探测指示: 在所述报文中携带逐跳选项 头, 该逐跳选项头中携带一选项, 该选项携带 PMTU探测指示, 所述选项为 路由告警(route alert )选项或新增选项。 发送的报文包括如下信息: 基本报 文头、 包含 PMTU探测指示的逐跳选项头, 以及要发送的分片报文。 The PMTU detection indication is carried in the following manner: The hop-by-hop option header is carried in the packet, and the hop-by-hop option header carries an option, where the option carries a PMTU detection indication, and the option is a route alert option. Or add options. The sent message includes the following information: the basic message header, the hop-by-hop option header containing the PMTU detection indication, and the fragmented message to be sent.
在 IPv6基础协议栈中, 定义了一种逐跳选项报文头, 这种选项格式如附 图 2所示, 其主要功能就是要求要求报文传输过程中的每一个节点都要进行 检查。 逐跳选项报文又可以携带一个或者多个 TLV(Type-Length- Value, 类型 -长度-数据)编码的选项,其中很重要的一种选项是 route alert选项,这个 route alert选项就是要求对经过路由器, 但是目的地址不是该路由器的报文进行检 查处理, 其格式如附图 3所示, 2个字节的数据 (网络序), 目前定义如下: 0表示报文是一个 MLD (多播侦听者发现协议)报文 In the IPv6 basic protocol stack, a hop-by-hop option header is defined. The format of this option is shown in Figure 2. Its main function is to require every node in the packet transmission process to check. The hop-by-hop option message can carry one or more TLV (Type-Length-Value, type-length-data) encoding options. One of the most important options is the route alert option. This route alert option is required to pass The router, but the destination address is not the packet processing of the router. The format is as shown in Figure 3. The 2-byte data (network sequence) is currently defined as follows: 0 indicates that the message is an MLD (Multicast Detect). Listener found agreement) message
1 表示报文是一个 RSVP (资源预定协议)报文 1 indicates that the message is an RSVP (Resource Reservation Protocol) message.
2表示报文是一个活动网络协议报文 2 indicates that the message is an active network protocol message.
3-65535 保留待分配 3-65535 Reserved to be assigned
本发明实施例中新定义一个 route alert数据, 使用 3-65535中任一个, 比 如 8, 作为 PMTU探测指示, 指示报文为 PMTU探测报文。 In the embodiment of the present invention, a route alert data is newly defined, and any one of 3-65535 is used, for example, as a PMTU detection indication, indicating that the packet is a PMTU detection packet.
还可以使用新增的选项来携带 PMTU探测指示, 比如可以定义一个和 route alert并列的选项, 该选项也属于逐跳选项 艮文的选项, 选项格式也是 TLV方式, 如图 4所示, 类型可以从目前保留的里面选一个, 比如 8等。 You can also use the new option to carry the PMTU detection indication. For example, you can define an option that is parallel to the route alert. This option is also an option for the hop-by-hop option. The option format is also TLV. As shown in Figure 4, the type can be Choose one from the current reservation, such as 8 and so on.
其中,所述源节点未查找到对应的 PMTU路由或者查找到的 PMTU路由 的 MTU值无效时 ,还建立或更新与所述 PMTU路由对应的 PMTU緩存条目 , 设置该 PMTU緩存条目的 MTU值为所述源节点查到的出节点的 MTU; If the source node does not find the corresponding PMTU route or the MTU value of the found PMTU route is invalid, the PMTU cache entry corresponding to the PMTU route is also established or updated, and the MTU value of the PMTU cache entry is set. Describe the MTU of the egress node found by the source node;
所述源节点根据所述包过大报文中携带的 MTU值确定对应的 PMTU路 由的 MTU值包括: 所述源节点接收到所述中间节点返回的包过大报文后, 取出该包过大报 文中的 MTU值并查找对应的 PMTU緩存条目,如果所述取出的 MTU值小于 所述 PMTU緩存条目中的 MTU值,则用所述取出的 MTU值替换所述 PMTU 緩存条目中的 MTU值,如果所述取出的 MTU值不小于所述 PMTU緩存条目 中的 MTU值, 不处理; Determining, by the source node, the MTU value of the corresponding PMTU route according to the MTU value carried in the packet oversized packet includes: After receiving the oversized packet returned by the intermediate node, the source node extracts the MTU value in the oversized packet and searches for the corresponding PMTU cache entry, if the extracted MTU value is smaller than the PMTU cache. The MTU value in the entry replaces the MTU value in the PMTU cache entry with the extracted MTU value, and does not process if the extracted MTU value is not less than the MTU value in the PMTU cache entry;
所述源节点在处理完所有中间节点的后,使用该 PMTU緩存条目的 MTU 值更新对应的 PMTU路由的 MTU值, 完成该 PMTU路由的 MTU值发现。 After processing all the intermediate nodes, the source node updates the MTU value of the corresponding PMTU route by using the MTU value of the PMTU cache entry, and completes the MTU value discovery of the PMTU route.
其中, 源节点在接收到目的节点的反馈报文时, 判断已对所有中间节点 返回的包过大报文进行处理。 其中, 目的节点的反馈报文可以是包过大报文, 也可以是其他指示报文, 指示探测到达终端。 其中, 如果是包过大报文, 可 以在该报文中携带指示消息, 通知源节点 PMTU探测到达终点; 也可以携带 一指定的 MTU值, 比如 0, 表明该包过大报文是目的节点返回的, 当然, MTU值也可以是任意值,源节点通过目的节点返回的 文中的源地址和该源 节点探测的目的地址相同判断 PMTU探测到达终点。 The source node, when receiving the feedback packet of the destination node, determines that the packet that has been returned by all the intermediate nodes has been processed. The feedback packet of the destination node may be a packet oversized message or other indication packet, indicating that the probe arrives at the terminal. If the packet is too large, the packet may be sent to the source node to notify the source node of the PMTU to reach the destination. The specified MTU value, for example, 0, indicating that the packet is too large is the destination node. Returned, of course, the MTU value can also be any value. The source node determines the PMTU detection to reach the end point by the same source address in the text returned by the destination node and the destination address detected by the source node.
其中, 所述源节点接收所述包过大报文后, 如果未查找到对应的 PMTU 緩存条目, 则丟弃该包过大报文。 该方法可以防范非法报文攻击。 因为本发 明实施例的 PMTU緩存条目先于 PMTU探测报文产生, 如果是合法报文, 根 据返回的包过大报文一定可以找到 PMTU緩存条目。 找不到则可以认为是非 法报文。 If the source node receives the packet with a large packet, if the corresponding PMTU cache entry is not found, the source node discards the oversized packet. This method can prevent illegal packet attacks. Because the PMTU cache entry of the embodiment of the present invention is generated before the PMTU probe message, if it is a legal message, the PMTU cache entry can be found according to the returned packet oversized message. If it is not found, it can be considered as an illegal message.
其中, 还为 PMTU緩存条目设定学习时间、 有效时间和老化时间; 所述源节点发送携带 PMTU探测指示的报文后,将对应的 PMTU緩存条 目设置为学习状态; The learning time, the effective time, and the aging time are also set for the PMTU cache entry. After the source node sends the packet carrying the PMTU detection indication, the corresponding PMTU cache entry is set to the learning state.
如果从学习状态开始的所述学习时间内, 所述源节点完成该 PMTU路由 的 MTU值发现, 则将所述 PMTU緩存条目的状态设置为有效状态, 如果所 述源节点未完成该 PMTU路由的 MTU值发现, 将所述 PMTU緩存条目的状 态设置为老化状态; If the source node completes the MTU value discovery of the PMTU route from the learning time starting from the learning state, setting the state of the PMTU cache entry to a valid state, if the source node does not complete the PMTU route The MTU value is found to set the state of the PMTU cache entry to an aging state;
从所述有效状态开始超过所述有效时间时, 将所述 PMTU緩存条目设置 为老化状态; 从所述老化状态开始超过所述老化时间时 , 删除所述 PMTU緩存条目和 PMTU路由。 各状态之间的转化如图 5所示。 Setting the PMTU cache entry to an aging state when the valid state starts to exceed the valid time; The PMTU cache entry and the PMTU route are deleted when the aging time is exceeded from the aging state. The transition between states is shown in Figure 5.
其中,所述源节点为待发送报文查找到对应的 PMTU路由且该 PMTU路 当所述 PMTU路由对应的 PMTU緩存条目为老化状态时,以所述 PMTU 路由的 MTU值对报文进行分片处理, 发送携带 PMTU探测指示的报文, 将 对应的 PMTU緩存条目设置为学习状态; The source node finds a corresponding PMTU route for the to-be-sent packet, and the PMTU path is fragmented by the MTU value of the PMTU route when the PMTU cache entry corresponding to the PMTU route is in an aging state. Processing, sending a packet carrying the PMTU detection indication, and setting the corresponding PMTU cache entry to a learning state;
当所述 PMTU路由对应的 PMTU緩存条目为学习状态或有效状态时,以 所述 PMTU路由的 MTU值对报文进行分片处理, 发送报文。 When the PMTU cache entry corresponding to the PMTU route is in a learning state or a valid state, the packet is processed by the MTU value of the PMTU route, and the packet is sent.
如图 6所示, 为本发明实施例 PMTU发现的一示意图。 As shown in FIG. 6, it is a schematic diagram of PMTU discovery according to an embodiment of the present invention.
以三个中间节点为例, 包括: Take three intermediate nodes as an example, including:
源节点在不存在或者查找到的 PMTU路由的 MTU值无效时, 以指定值 对报文进行分片处理,发送报文,报文中携带 PMTU探测指示, 本实施例中, 指定值为系统最小的最大传输单元 1280; If the source node does not exist or the MTU value of the found PMTU route is invalid, the packet is fragmented by the specified value, and the packet is sent. The packet carries the PMTU detection indication. In this embodiment, the specified value is the minimum. Maximum transmission unit 1280;
中间节点 R1接收到该携带 PMTU探测指示的报文时, 转发报文, 返回 包过大报文给源节点, 包过大报文中携带出接口 MTU值 1450; When receiving the packet carrying the PMTU detection indication, the intermediate node R1 forwards the packet, and returns a packet with a large packet to the source node, and the packet has an outgoing interface MTU value of 1450;
中间节点 R2接收到 R1转发的携带 PMTU探测指示的报文时,转发报文, 返回包过大报文给源节点, 包过大报文中携带出接口 MTU值 1400; The intermediate node R2, when receiving the packet carrying the PMTU detection indication forwarded by the R1, forwards the packet, and returns a packet with a large packet to the source node, and the packet has an outgoing interface MTU value of 1400;
中间节点 R3接收到 R2转发的携带 PMTU探测指示的报文时,转发报文, 返回包过大报文给源节点, 包过大报文中携带出接口 MTU值 1300; The intermediate node R3, when receiving the packet carrying the PMTU detection indication forwarded by the R2, forwards the packet, and returns a packet with a large packet to the source node, and the packet has an outgoing interface MTU value of 1300;
目的节点接收到 R3转发的携带 PMTU探测指示的报文时, 处理报文, 返回包过大报文给源节点, 携带 MTU值 =0; When receiving the packet carrying the PMTU detection indication forwarded by the R3, the destination node processes the packet, and returns a packet with a large packet to the source node, carrying the MTU value =0;
源节点对各包过大报文进行处理, 获得 PMTU路由的 MTU值为 1300。 The source node processes the large packets of each packet and obtains the MTU of the PMTU route as 1300.
本发明实施例提供一种 PMTU发现方法, 包括: An embodiment of the present invention provides a PMTU discovery method, including:
步骤一: 源节点进行 >¾文发送; 如图 7所示, 包括: Step 1: The source node performs >3⁄4 text transmission; As shown in Figure 7, it includes:
源节点向外发 IPv6报文时, 先查路由, 查到 PMTU路由且 该 PMTU路 由的 MTU值有效, 即系统最小的 MTU<=路由 ΜΎΌ<= 节点出接口 MTU, 取该 PMTU路由的 MTU值为分片最大传输单元(简称 FMTU ) ; 判断待发 送报文长度是否小于等于 FMTU,如果是,直接发送报文,如果否,根据 FMTU 进行分片发送; When the source node sends out an IPv6 packet, the route is checked. The PMTU route is found and the MTU value of the PMTU route is valid. That is, the minimum MTU of the system is <= route ΜΎΌ<= the MTU of the outbound interface of the node, and the MTU value of the PMTU route is taken. It is the maximum transmission unit of the fragment (FMTU for short); it determines whether the length of the packet to be sent is less than or equal to the FMTU, and if so, directly sends the packet, and if not, sends the fragment according to the FMTU;
如果未查找到对应的 PMTU路由, 则以指定值为 FMTU, 本实施例中以 系统最小的 MTU值 1280 为指定值; 判断待发送报文长度是否小于等于 FMTU, 如果是, 直接发送报文, 如果否, 产生 PMTU路由及 PMTU緩存条 目,将 PMTU路由的 MTU值设置为所述指定值,将 PMTU緩存条目的 MTU 值设置为源节点出接口的 MTU值 , 构造 PMTU探测报文 , 按照 FMTU进行 分片发送, 并设置 PMTU緩存条目的状态为学习状态; If the corresponding PMTU route is not found, the specified value is the FMTU. In this embodiment, the minimum MTU value of the system is 1280. The length of the packet to be sent is less than or equal to the FMTU. If yes, the packet is sent directly. If no, the PMTU route and the PMTU cache entry are generated, the MTU value of the PMTU route is set to the specified value, the MTU value of the PMTU cache entry is set to the MTU value of the outbound interface of the source node, and the PMTU probe packet is constructed, according to the FMTU. Fragment transmission, and set the state of the PMTU cache entry to the learning state;
如果查找到对应的 PMTU路由但该 PMTU路由的 MTU值无效, 则以指 定值为 FMTU, 本实施例中以系统最小的 MTU值 1280为指定值; 判断待发 送报文长度是否小于等于 FMTU,如果是,直接发送报文,如果否,更新 PMTU 路由及 PMTU緩存条目, 将 PMTU路由的 MTU值设置为所述指定值, 将 PMTU緩存条目的 MTU值设置为源节点出接口的 MTU值 ,构造 PMTU探测 报文, 按照 FMTU进行分片发送; 将 PMTU緩存条目状态设置为学习状态。 If the corresponding PMTU route is found but the MTU value of the PMTU route is invalid, the specified value is the FMTU. In this embodiment, the minimum MTU value of the system is 1280, and the length of the to-be-sent packet is less than or equal to the FMTU. If yes, the PMTU route and the PMTU cache entry are updated. The MTU value of the PMTU route is set to the specified value, and the MTU value of the PMTU cache entry is set to the MTU value of the outbound interface of the source node to construct the PMTU. The probe packet is sent according to the FMTU; the PMTU cache entry status is set to the learning state.
步骤二: 中间节点收到报文, 判断报文是否携带 PMTU探测指示, 如果 是, 则转发报文, 再给源节点回一个 ICMPv6的包过大报文, 包过大报文里 面返回的 MTU为该中间节点上查到的出接口 MTU, 即 4艮文转发出接口的 MTU值; 如果否, 按照正常的流程处理, 转发或者本地处理。 Step 2: The intermediate node receives the packet, and determines whether the packet carries the PMTU detection indication. If yes, the packet is forwarded, and then the source node returns an ICMPv6 packet oversized message, and the MTU returned by the packet is too large. The MTU of the outbound interface that is found on the intermediate node, that is, the MTU value of the outgoing interface. If no, it is processed according to the normal process, forwarded or processed locally.
其中, 根据如下方式判断是否携带 PMTU探测指示: Wherein, it is determined according to the following manner whether to carry the PMTU detection indication:
在报文转发的过程中, 中间节点发现 IPv6报文携带逐跳选项头, 则把报 文送给 IPv6协议栈处理。 IPv6协议栈解析逐跳选项头, 进一步判断是否带 route alert选项, 带了再判断其 route alert选项是不是定义的 PMTU学习的类 型, 如果是, 则报文携带了 PMTU探测指示。 当然, 如果使用新增选项携带 PMTU指示, 则判断报文中是否携带该新增选项。 步骤三: 目的节点收到携带 PMTU探测指示的报文后, 处理和中间节点 类似, 不同的是, 此时不再转发报文, 且返回给源节点的 ICMPv6的包过大 报文中携带的 MTU值为 0。 During the packet forwarding process, the intermediate node finds that the IPv6 packet carries the hop-by-hop option header, and then sends the packet to the IPv6 protocol stack for processing. The IPv6 protocol stack parses the hop-by-hop option header to further determine whether the route alert option is included, and then determines whether the route alert option is the type of the defined PMTU learning. If yes, the packet carries the PMTU detection indication. Of course, if the new option is used to carry the PMTU indication, it is determined whether the new option is carried in the message. Step 3: After receiving the packet carrying the PMTU detection indication, the destination node is similar to the intermediate node. The difference is that the packet is not forwarded to the source node and is returned to the ICMPv6 packet of the source node. The MTU value is 0.
步骤四: 源节点接收包过大报文, 根据包过大报文中的 MTU值确定 PMTU路由。 Step 4: The source node receives the packet with too large a packet, and determines the PMTU route according to the MTU value in the oversized packet.
如图 8所示, 包括: As shown in Figure 8, it includes:
源节点收到包过大报文, 取出包过大报文中的 MTU值, 根据产生该包 过大报文的原始报文的目的地址查找 PMTU緩存条目, 如果找不到则认为是 攻击 4艮文, 丟弃该 4艮文。 The source node receives the packet with a large packet, and extracts the MTU value in the packet with the oversized packet. The PMTU cache entry is searched according to the destination address of the original packet that generated the packet with too large packet. If not found, the attack is considered as attack 4艮文, discard the 4 艮文.
如果找到对应的 PMTU緩存条目, 且包过大报文中取出的 MTU不为 0 If the corresponding PMTU cache entry is found, and the MTU obtained in the oversized packet is not 0.
(表明是中间节点返回的包过大报文) , 并且 PMTU緩存条目学习状态没有 超时 , 则判断取出的 MTU和 PMTU緩存条目中的 MTU大小, 如果取出的 MTU小于 PMTU緩存条目中的 MTU, 则用取出的 MTU替换 PMTU緩存条 目中的 MTU, 如果取出的 MTU不小于 PMTU緩存条目中的 MTU, 不处理; 如果该包过大报文中取出的 MTU为 0 (表明是目的节点返回的包过大报文, 探测已到终点) , 用该 PMTU緩存条目的 MTU更新对应的 PMTU路由的 MTU , 并把 PMTU緩存条目状态设置为有效状态, 完成 PMTU发现。 (Indicating that the packet returned by the intermediate node is too large), and the PMTU cache entry learning state does not time out, then the MTU size in the MTU and the PMTU cache entry is determined. If the extracted MTU is smaller than the MTU in the PMTU cache entry, then Replace the MTU in the PMTU cache entry with the removed MTU. If the MTU is not smaller than the MTU in the PMTU cache entry, it will not be processed. If the MTU of the packet is too large, the MTU is 0 (indicating that the packet returned by the destination node) The large message, the probe has reached the end point, the MTU of the corresponding PMTU route is updated by the MTU of the PMTU cache entry, and the PMTU cache entry status is set to a valid state to complete the PMTU discovery.
步骤五: 源节点学习到 PMTU后, 再发送报文时就根据学习到的 PMTU 发包。 Step 5: After the source node learns the PMTU, it sends the packet according to the learned PMTU.
PMTU有效时间到, PMTU緩存条目进入老化状态; 以及, 如果 PMTU 緩存条目学习状态超时, 还没有收到目的节点返回的反馈报文(比如, 没有 收到 MTU为 0的包过大报文) , 则还没有学习到 PMTU, PMTU緩存条目 进入老化状态; When the PMTU is valid, the PMTU cache entry enters the aging state; and if the PMTU cache entry learning state times out, the feedback message returned by the destination node has not been received (for example, no packet with an MTU of 0 is received). The PMTU has not been learned yet, and the PMTU cache entry enters an aging state;
进入老化状态后, 如果继续有流发送, 根据 FMTU发一次携带 PMTU探 测指示的才艮文, PMTU緩存条目进入学习状态,重复上面的 PMTU学习过程; 老化状态超时, 说明老化这段时间没有报文发送, 则删除 PMTU緩存条 目和对应的 PMTU路由。 可使用老化定时器进行定时。 After entering the aging state, if the flow continues to be sent, the PMTU sends the PMTU detection indication according to the FMTU. The PMTU cache entry enters the learning state and repeats the above PMTU learning process. The aging state times out, indicating that there is no packet during the aging period. Send, delete the PMTU cache entry and the corresponding PMTU route. The aging timer can be used for timing.
本发明实施例中进行 PMTU发现,解决了 PMTU学习过程中数据报文丟 包问题,减少了 PMTU学习过程中的报文交互数量以及 PMTU老化后再学习 丟包问题, 同时还解决了 PMTU学习过程中的安全问题, 提高了 PMTU学习 的效率和可靠性。 The PMTU discovery is performed in the embodiment of the present invention, and the data packet loss in the PMTU learning process is solved. The packet problem reduces the number of packet interactions in the PMTU learning process and the problem of packet loss after PMTU aging. It also solves the security problem in the PMTU learning process and improves the efficiency and reliability of PMTU learning.
显然, 本领域的技术人员应该明白, 上述的各模块或各步骤可以用通用 的计算装置来实现, 它们可以集中在单个的计算装置上, 或者分布在多个计 算装置所组成的网络上, 可选地, 它们可以用计算装置可执行的程序代码来 实现, 从而, 可以将它们存储在存储装置中由计算装置来执行, 或者将它们 分别制作成各个集成电路模块, 或者将它们中的多个模块或步骤制作成单个 集成电路模块来实现。 这样, 本发明实施例不限制于任何特定的硬件和软件 结合。 Obviously, those skilled in the art should understand that the above modules or steps can be implemented by a general-purpose computing device, which can be concentrated on a single computing device or distributed over a network composed of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device, such that they may be stored in the storage device by the computing device, or they may be fabricated into individual integrated circuit modules, or multiple of them Modules or steps are made in a single integrated circuit module. Thus, embodiments of the invention are not limited to any particular combination of hardware and software.
工业实用性 Industrial applicability
本发明实施例中进行 PMTU发现,解决了 PMTU学习过程中数据报文丟 包问题,减少了 PMTU学习过程中的报文交互数量以及 PMTU老化后再学习 丟包问题, 同时还解决了 PMTU学习过程中的安全问题, 提高了 PMTU学习 的效率和可靠性。 In the embodiment of the present invention, the PMTU discovery process solves the problem of data packet loss in the PMTU learning process, reduces the number of packet interactions in the PMTU learning process, and learns the packet loss problem after the PMTU ages, and also solves the PMTU learning process. Security issues in the classroom have improved the efficiency and reliability of PMTU learning.
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201110136938.2A CN102325076B (en) | 2011-05-24 | 2011-05-24 | Method for discovering PMTU (Path Maximum Transfer Unit) and node |
| CN201110136938.2 | 2011-05-24 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2012159481A1 true WO2012159481A1 (en) | 2012-11-29 |
Family
ID=45452749
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2012/072519 Ceased WO2012159481A1 (en) | 2011-05-24 | 2012-03-19 | Path maximum transmission unit discovery method and node |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN102325076B (en) |
| WO (1) | WO2012159481A1 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112887209A (en) * | 2019-11-30 | 2021-06-01 | 华为技术有限公司 | Method for establishing table item related to data transmission and related equipment |
| CN114244782A (en) * | 2021-08-27 | 2022-03-25 | 新华三信息安全技术有限公司 | Path maximum transmission unit Path MTU value adjusting method and device |
| CN115842732A (en) * | 2023-02-13 | 2023-03-24 | 北京天维信通科技有限公司 | Method for detecting MTU (maximum Transmission Unit) by distributed full paths |
| CN116192768A (en) * | 2023-03-06 | 2023-05-30 | 安超云软件有限公司 | Method, device, equipment and storage medium for determining maximum transmission unit |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102325076B (en) * | 2011-05-24 | 2017-04-12 | 中兴通讯股份有限公司 | Method for discovering PMTU (Path Maximum Transfer Unit) and node |
| CN102594810B (en) * | 2012-02-08 | 2016-03-30 | 神州数码网络(北京)有限公司 | The method and apparatus that a kind of IPv6 network prevents PMTU from attacking |
| CN102821051B (en) * | 2012-08-21 | 2015-11-18 | 神州数码网络(北京)有限公司 | PMTU change method in generic routing encapsulation tunnel |
| EP2953311B1 (en) | 2013-06-26 | 2019-01-16 | Huawei Technologies Co., Ltd. | Packet identification method and protective device |
| CN104348785B (en) * | 2013-07-29 | 2018-06-05 | 中国电信股份有限公司 | The method, apparatus and system for preventing host PMTU from attacking in IPv6 nets |
| CN103475596B (en) * | 2013-08-30 | 2016-08-17 | 广州市动景计算机科技有限公司 | The data transmission method of middleware based on MTU value and mobile terminal and system |
| JP6918784B2 (en) * | 2015-08-31 | 2021-08-11 | 華為技術有限公司Huawei Technologies Co.,Ltd. | Data packet transmission method and device in IPv6 network |
| CN106533969B (en) * | 2016-11-17 | 2020-05-08 | 东软集团股份有限公司 | Maximum transmission unit value setting method and device |
| CN108965122B (en) * | 2017-05-19 | 2022-03-11 | 中兴通讯股份有限公司 | Routing method, device and computer-readable storage medium |
| CN109873763B (en) * | 2017-12-05 | 2021-12-03 | 北京华为数字技术有限公司 | Communication method and device |
| CN112333094B (en) * | 2020-11-27 | 2022-10-18 | 迈普通信技术股份有限公司 | Data transmission processing method and device, network equipment and readable storage medium |
| CN113890858B (en) * | 2021-09-29 | 2023-10-20 | 杭州迪普科技股份有限公司 | PMTU detection method and device |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100459576C (en) * | 2005-08-05 | 2009-02-04 | 华为技术有限公司 | A Method of Detecting the Maximum Transmission Unit of a Path |
| CN101616078A (en) * | 2009-07-16 | 2009-12-30 | 杭州华三通信技术有限公司 | A method for discovering the maximum transmission unit of a path, a router and a node device |
| US7995478B2 (en) * | 2007-05-30 | 2011-08-09 | Sony Computer Entertainment Inc. | Network communication with path MTU size discovery |
| CN102325076A (en) * | 2011-05-24 | 2012-01-18 | 中兴通讯股份有限公司 | Method for discovering PMTU (Path Maximum Transfer Unit) and node |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7542471B2 (en) * | 2002-10-30 | 2009-06-02 | Citrix Systems, Inc. | Method of determining path maximum transmission unit |
| US8121135B2 (en) * | 2009-06-23 | 2012-02-21 | Juniper Networks, Inc. | Discovering path maximum transmission unit size |
-
2011
- 2011-05-24 CN CN201110136938.2A patent/CN102325076B/en not_active Expired - Fee Related
-
2012
- 2012-03-19 WO PCT/CN2012/072519 patent/WO2012159481A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100459576C (en) * | 2005-08-05 | 2009-02-04 | 华为技术有限公司 | A Method of Detecting the Maximum Transmission Unit of a Path |
| US7995478B2 (en) * | 2007-05-30 | 2011-08-09 | Sony Computer Entertainment Inc. | Network communication with path MTU size discovery |
| CN101616078A (en) * | 2009-07-16 | 2009-12-30 | 杭州华三通信技术有限公司 | A method for discovering the maximum transmission unit of a path, a router and a node device |
| CN102325076A (en) * | 2011-05-24 | 2012-01-18 | 中兴通讯股份有限公司 | Method for discovering PMTU (Path Maximum Transfer Unit) and node |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112887209A (en) * | 2019-11-30 | 2021-06-01 | 华为技术有限公司 | Method for establishing table item related to data transmission and related equipment |
| US11929913B2 (en) | 2019-11-30 | 2024-03-12 | Huawei Technologies Co., Ltd. | Method for creating data transmission entry and related device |
| CN114244782A (en) * | 2021-08-27 | 2022-03-25 | 新华三信息安全技术有限公司 | Path maximum transmission unit Path MTU value adjusting method and device |
| CN115842732A (en) * | 2023-02-13 | 2023-03-24 | 北京天维信通科技有限公司 | Method for detecting MTU (maximum Transmission Unit) by distributed full paths |
| CN115842732B (en) * | 2023-02-13 | 2023-05-23 | 北京天维信通科技有限公司 | Method for detecting MTU (modulation transfer unit) in distributed full path |
| CN116192768A (en) * | 2023-03-06 | 2023-05-30 | 安超云软件有限公司 | Method, device, equipment and storage medium for determining maximum transmission unit |
Also Published As
| Publication number | Publication date |
|---|---|
| CN102325076B (en) | 2017-04-12 |
| CN102325076A (en) | 2012-01-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102325076B (en) | Method for discovering PMTU (Path Maximum Transfer Unit) and node | |
| US8751669B2 (en) | Method and arrangement to maintain a TCP connection | |
| Speakman et al. | PGM reliable transport protocol specification | |
| EP2421206B1 (en) | Flooding-based routing protocol having database pruning and rate-controlled state refresh | |
| CN113411260B (en) | Method and device for sending data message in IPv6 network | |
| US20080159150A1 (en) | Method and Apparatus for Preventing IP Datagram Fragmentation and Reassembly | |
| WO2014187204A1 (en) | Ofs in-band communication method and ofs | |
| CN104081749B (en) | DAD-NS triggered address resolution for DOS attack protection | |
| CN110191066B (en) | Method, equipment and system for determining maximum transmission unit (PMTU) | |
| US20230291682A1 (en) | Method and device for processing data packet, storage medium, and electronic device | |
| CN108111509A (en) | Data transmission method | |
| CN110881006B (en) | Method for sending message, network equipment and computer storage medium | |
| CN104202314B (en) | A kind of method and device for preventing DDOS attack | |
| CN102891800A (en) | Scalable forwarding table with overflow address learning | |
| CN101616078A (en) | A method for discovering the maximum transmission unit of a path, a router and a node device | |
| CN101252524A (en) | Method, system and device for message transmission | |
| EP3157211B1 (en) | Isis-based flooding method and device | |
| CN103117930A (en) | Method and device for detecting static route configuration | |
| WO2011103761A1 (en) | Data packet transmission method and access device | |
| CN110381007A (en) | TCP accelerating method and device | |
| Chroboczek et al. | Rfc 8966: The babel routing protocol | |
| US9912643B2 (en) | Attack defense processing method and protection device | |
| CN106034078B (en) | A method and system for reducing DR variation of PIM protocol | |
| JP2008118281A (en) | Communication device | |
| Adhikari | Performance Analysis of protocols RIP & EIGRP |
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: 12790117 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: 12790117 Country of ref document: EP Kind code of ref document: A1 |