A CCN Routing Forwarding Method Based on Improved DBSCAN Clustering
Through the improved DBSCAN clustering method, the problem of the existing CCN routing and forwarding method ignores caches for nearby nodes is solved, and lower content acquisition delay, lighter source server load and higher cache hit rate are achieved.
Patent Information
- Application Number
- CN202210034858.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-13
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2042-01-13
AI Technical Summary
The existing CCN routing forwarding methods ignore the content resources stored in nearby nodes, resulting in the extension of forwarding paths, increase content acquisition time, increase node load, and cause waste of link resources.
The improved DBSCAN clustering method is adopted to cluster network nodes into autonomous regions, and core nodes are selected from each autonomous region. The core node is responsible for counting and maintaining content cache information in the region. When non-core nodes receive content requests, they first query whether the core node has cached corresponding content. If so, they will be forwarded directly to the cache node.
Reduces content acquisition delay, reduces the pressure on the source server, improves the cache hit rate, effectively utilizes the cache resources of nearby nodes, and reduces the waste of link resources.
Smart Images

Figure CN114490758B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a CCN routing and forwarding method based on improved DBSCAN clustering, belonging to the technical field of communication networks. Background Art
[0002] With the rapid development of the service-driven Internet, the traditional end-to-end communication mode has been gradually changed, and people pay more attention to the content itself of data. Content-centric services have gradually occupied the dominant position in network services. The transformation of network functions has brought many new challenges to the development of the Internet. Therefore, the traditional host-centric network architecture is difficult to develop under the modern Internet. In order to better meet the needs of users and further promote the development of network services, it is very necessary to change the Internet architecture. With the improvement of the storage capacity and the reduction of the price in the network, the way of exchanging performance by storage overhead has become an inevitable trend.
[0003] As one of the new network architectures most likely to replace TCP / IP, CCN uses the content name instead of the host address as the unique identifier, uses the data block to replace the "thin waist" position of the IP protocol stack, and caches the content replicas throughout the network. The content requester can obtain the required content from the cache of any node in the network without requesting the content provider, thus making full use of the content replicas cached in the network to improve the transmission efficiency. The network transmission of CCN is driven by content requests. The content requester sends an interest packet to request data from the content provider. The content provider or the node that has cached the relevant content in the network returns the data packet to the content requester through the reverse path, thus completing the data communication.
[0004] In CCN, each network node has a Content Store (CS) to cache various content replicas in the network. When a user has a content requirement, it will first query from this table. In addition, each network node also has a Pending Interest Table (PIT) to record the unresponded interest packets and their corresponding forwarding ports. When the data packet returns, this table needs to be queried. Finally, each network node also has a Forwarding Information Base (FIB), which is similar to the routing table in the TCP / IP network and is used to forward interest packets.
[0005] The routing protocol is an essential function in the CCN network architecture. The CCN routing protocol is responsible for propagating the network topology information and paying attention to the network forwarding strategy and topology changes. The routing node guides the forwarding layer to effectively search for data, explore new links, and maintain old links by calculating the routing table. CCN is still in the early stages of development, so it still needs to be continuously modified and improved to adapt to future networks.
[0006] The default routing method of the content-centric network is to forward the user's request to the content source server, so that the content cache copies stored on the forwarding path can be fully utilized. However, the content resources cached in the nearby nodes outside the forwarding path cannot be fully utilized. This method directly facing the remote content server ignores the content resources stored in the nearby nodes, which will lead to the extension of the forwarding path, thereby increasing the transmission delay and the time required to obtain relevant content, increasing the node load and causing a waste of link resources. Summary of the invention
[0007] The technical problem to be solved by the present invention is to overcome the defects of the prior art and provide a CCN routing forwarding method based on improved DBSCAN clustering, which has a good improvement in reducing content acquisition delay, alleviating source server pressure, and improving cache hit rate.
[0008] To achieve the above object, the present invention provides a CCN routing forwarding method based on improved DBSCAN clustering, comprising:
[0009] The user sends an interest packet requesting content;
[0010] Step 1: Check whether there is corresponding content in the content storage table CS of the node that receives the interest packet. If there is, the node that receives the interest packet forwards the data packet corresponding to the corresponding content to the user, discards the interest packet, and the user obtains the corresponding content and ends the operation. Otherwise, go to step 2;
[0011] Step 2: Check whether there is a request record for the corresponding content in the pending interest table PIT. If yes, add the corresponding interface in the pending interest table PIT, discard the interest packet, and the user obtains the corresponding content and ends the operation. Otherwise, go to step 3.
[0012] Step 3, check whether the core node field in the interest packet is the same as the core node field of the node that received the interest packet. If they are the same, go to step 4, otherwise go to step 5;
[0013] Step 4, if there is a corresponding forwarding record in the Forwarding Information Base (FIB), forward the Interest Packet to the corresponding node according to the path recorded in the forwarding record, record the content name in the Interest Packet and the node port information in the Pending Interest Table (PIT), and enter Step 1; otherwise, discard the Interest Packet, and the user fails to obtain the content and the operation ends.
[0014] Preferably, in Step 5, if the core node field in the Interest Packet is different from the core node field of the node that receives the Interest Packet, write the name of the core node in the autonomous region where the node that receives the Interest Packet is located into the core node field of the Interest Packet, and the node that receives the Interest Packet sends a request packet to the core node in the autonomous region where the node that receives the Interest Packet is located;
[0015] Step 6, the core node extracts the Content Name field in the request packet, and checks whether there is a corresponding Content Name field recorded in the Area Content Cache Table (ACCT) of the core node. If there is, the core node sends a respond packet to the node that receives the Interest Packet, and enters Step 7.
[0016] Preferably, in Step 6, if there is no corresponding Content Name field recorded in the Area Content Cache Table (ACCT), send a respond packet to the node that receives the Interest Packet, and enter Step 4.
[0017] Preferably, in Step 6, if there is a corresponding Content Name field recorded in the Area Content Cache Table (ACCT) of the core node, the type field in the respond packet is 1, and the Content Node field in the respond packet is the name of the core node; otherwise, the type field in the respond packet is 2.
[0018] Preferably, in Step 5, the type field in the request packet is set to 0, and the Content Name in the request packet is set to the name of the content request sent by the user.
[0019] Preferably, in Step 7, after the node that receives the Interest Packet receives the respond packet, compare the number of hops required for the node that receives the Interest Packet to reach the node recorded in the Content Node field in the respond packet and the number of hops required for the node that receives the Interest Packet to reach the content source server. If the number of hops required for the node that receives the Interest Packet to reach the node recorded in the Content Node field in the respond packet is less than the number of hops required for the node that receives the Interest Packet to reach the content source server, forward the Interest Packet to the node recorded in the Content Node field, record the content name in the Interest Packet and the node port information in the Pending Interest Table, and enter Step 1; otherwise, enter Step 4.
[0020] Preferably, before step 1, an autonomous region is constructed and core nodes are determined, including:
[0021] The initial value of m is 1;
[0022] Step a: According to the set scanning radius L, the set minimum inclusion point number minPts, and the set content cache diversity D, calculate the number of nodes n within the scanning radius L of node m whose content cache diversity is not greater than D, where n > m;
[0023] If the total number of nodes n is not less than the minimum inclusion point number minPts, then determine node m as a core point, and add node m and node n to the same autonomous region, where m and n ∈ [1, M], M is the total number of nodes in the autonomous region, and M is a positive integer; otherwise, go to step b;
[0024] Step b: Increment the value of m by 1, and repeat step a until all core points in the autonomous region are selected;
[0025] Step c: Randomly select an unvisited node, and repeat steps a - b;
[0026] Step d: When all nodes have been visited, if all nodes have joined a certain autonomous region, then end the operation; otherwise, form the nodes that have not joined the autonomous region into a new sample data set;
[0027] Step e: Double the scanning radius, halve the minimum inclusion point number minPts, and double the content cache diversity, and repeat steps a - b until all nodes in the sample data set have joined a certain autonomous region.
[0028] Preferably, select the node located at or closest to the middle position in each autonomous region as the core node, and the core node records the content names cached by all nodes in the autonomous region and the node names where the content is located.
[0029] The beneficial effects achieved by the present invention:
[0030] The present invention proposes an Improved Density-Based Spatial Clustering of Applications with Noise Routing (IDBR) algorithm. Nodes in the network are clustered according to the minimum number of included points, path length, and content diversity, thus forming autonomous regions. Then, a core point is selected from the nodes in each autonomous region. The core point is responsible for counting the content information cached in each node within the autonomous region. When a non-core node receives an interest packet, if neither the content storage table nor the pending interest table hits, it queries the core node in its affiliated autonomous region to check if there is a node that has cached the required content within this autonomous region. If so, it directly forwards the interest packet to the corresponding node without forwarding it to the content source. The present invention has a good improvement in reducing content acquisition latency, alleviating the pressure on the source server, and increasing the cache hit rate. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1 is a flowchart of the present invention. DETAILED IMPLEMENTATION MANNER
[0032] The following embodiments are only used to more clearly illustrate the technical solutions of the present invention and should not be used to limit the protection scope of the present invention.
[0033] It should be noted that if there are directional indications (such as up, down, left, right, front, back...) in the embodiments of the present invention, they are only used to explain the relative position relationship and movement conditions between components in a specific posture. If the specific posture changes, the directional indications will also change accordingly.
[0034] After the IDBR algorithm proposed by the present invention divides the nodes in the content-centric network into different autonomous regions based on the above IDB clustering algorithm, the subsequent steps are as follows:
[0035] Step 1, when a user issues a content request interest packet, the node that receives the interest packet first checks whether there is corresponding content in its own content storage table CS. If so, it forwards the required data packet to the user and discards the interest packet at the same time, so that the user can obtain the corresponding content and end the operation. Otherwise, it proceeds to Step 2. The user obtains the corresponding content, and the corresponding content is, for example, the picture or video requested by the user.
[0036] Step 2, if there is no corresponding content in the content storage table CS, it queries whether there is a request record for the corresponding content in the pending interest table PIT. If there is a request record, it adds the corresponding interface in the pending interest table PIT and discards the interest packet, and the user obtains the corresponding content and ends the operation. Otherwise, it proceeds to Step 3;
[0037] Step 3, if there is no corresponding request record in the pending interest table, check whether the corenode field in the interest packet is the same as the core node field of the node that received the interest packet. If they are the same, it means that the content cache information has been queried from the core node within this autonomous region, and there is no need to continue querying the core node. Then, query whether there is a corresponding forwarding record in the Forwarding Information Base (FIB), and proceed to Step 4;
[0038] Step 4, if there is a corresponding forwarding record in the FIB, continue to forward the interest packet to other nodes according to the path recorded in the forwarding record, and record the content name and node port information in the interest packet in the Pending Interest Table (PIT), and proceed to Step 1. Otherwise, discard the interest packet, and the user fails to obtain the corresponding content and the operation ends.
[0039] Step 5, if the core node field in the interest packet is different from the core node field of the node that received the interest packet, write the name of the core node within the autonomous region where the node that received the interest packet is located into the core node field of the interest packet. At the same time, the node that received the interest packet sends a request packet to the core node within the autonomous region where the node that received the interest packet is located. The type field in the request packet is set to 0, and the Content Name is set to the name of the content request sent by the user.
[0040] Step 6, after receiving the request packet, the core node extracts the Content Name field in the request packet and checks whether there is a corresponding Content Name field cached in the Area Content Cache Table (ACCT) of the core node. If there is, the core node sends a respond packet to the node that received the interest packet, and proceeds to Step 7. The type field in the respond packet is 1, and the Content Node field in the respond packet is the name of this core node.
[0041] Step 7, after receiving the respond packet, the node that received the interest packet compares the number of hops required from the node that received the interest packet to the node recorded in the Content Node field of the respond packet with the number of hops required from the node that received the interest packet to the content source server. If the number of hops required from the node that received the interest packet to the node recorded in the Content Node field of the respond packet is less than the number of hops required from the node that received the interest packet to the content source server, forward the interest packet to the node recorded in the Content Node field, record the content name and node port information in the interest packet in the PIT, and proceed to Step 1. Otherwise, proceed to Step 4;
[0042] In step 6, if there is no record of the corresponding Content Name field cache in the Area Content Cache Table (ACCT), a respond packet with the type field set to 2 is sent to the node that received the interest packet. After receiving this respond packet, the node that received the interest packet will know that there is no content copy cached for the corresponding Content Name field within this autonomous region and will enter step 4.
[0043] The maintenance of the Area Content Cache Table of the core node proposed by the present invention is completed through request packets and respond packets. When a node within an autonomous region caches or deletes a content copy, it sends a request packet with the type field set to 1 to the core node, and at the same time sets the Content Name field to the corresponding content name to notify the core node to update the Area Content Cache Table. After receiving this packet, the core node extracts the Content Name field and the Source Node field from it, and decides whether to add or delete the corresponding content to / from the Area Content Cache Table according to whether the type field is 1 or 2. Then, a respond packet with the type field set to 0 is sent to the source node, indicating that the notification has been received. If the source node does not receive this respond packet, it needs to resend the request packet until it is successfully sent.
[0044] The present invention modifies the format of the interest packet. The interest packet includes a Content Name field, a core node (CN) field, and a Nonce field, which are used to determine whether the interest packet is in different autonomous regions. When the CN field in the interest packet is the same as the CN field of the node, it indicates that they are in the same autonomous region and the query information has been sent to the core node, so there is no need to continue the query; when the CN field in the interest packet is different from the CN field of the node, it indicates that the interest packet has just arrived in a new autonomous region and a query request needs to be sent to the core node to check whether there is a corresponding cache for the requested content.
[0045] The request packet proposed by the present invention includes a Source Node field, a Core Node field, a Type field, and a Content Name field. This request packet is used to query the content cache from the core node and convey cache information to the core node. Among them, the Source Node field is the name of the node that sends out this packet, and the Core Node field is the name of the core node within the autonomous region, that is, the name of the node to which this packet needs to be sent. The type field has three optional values, namely 0, 1, and 2. When the type field is 0, it means that this node queries the core node whether there is a cache of the required content within the autonomous region, and the ContentName is the name of the required content. When the type field is 1, it means that a new content copy is cached in this node, and it sends a notice to the core node, and the Content Name is the name of the cached content copy. When the type field is 2, it means that a certain content cache copy is deleted in this node, and it sends a notice to the core node, and the Content Name is the name of the deleted content cache copy.
[0046] The respond packet proposed by the present invention includes a Destination Node field, a Core Node field, a Type field, and a Content Node field. Among them, the Destination Node field indicates the destination node to which the core node needs to send this packet. The Core Node field indicates the name of the node that sends out this packet. The type field has two optional values 0, 1, and 2. When the type field is 0, it means that when the type value in the received request packet is 1 or 2, that is, when a node notifies the core node of a change in the cached content, at this time the respond packet indicates that this notice is received. If the node that sends out the request packet does not receive the respond packet with type 0, it needs to resend the request packet. When the type field in the request packet received by the core node is 0, that is, when a node queries the core node whether there is a cache of a certain content within the autonomous region, if the core node finds that there is a corresponding cache within the autonomous region after querying, it sets the type field in the respond packet to 1 and sets the ContentNode field to the name of the node with the corresponding cache. If the core node finds that there is no corresponding cache within the autonomous region after querying, it sets the type field in the respond packet to 2, and the node will know that there is no corresponding cache within this autonomous region after receiving this packet.
[0047] The Area Content Cache Table (ACCT) maintained internally by the core node proposed in the present invention includes the content name and the cache node name. This table records which content cache copies are within this autonomous region and their corresponding cache locations:
[0048] 。
[0049] The content name in the table represents the corresponding content name with a cache within the autonomous region, and the cache node name is the name of the cache node corresponding to this content. When the core node receives a request packet with the type field being 1 or 2, it adds or deletes the corresponding content in the Area Content Cache Table ACCT.
[0050] Further, before step 1 in this embodiment, constructing an autonomous region and determining the core node includes:
[0051] The initial value of m is 1;
[0052] Step a, according to the set scanning radius L, the set minimum inclusion point number minPts, and the set content cache diversity D, calculate the number of nodes n within the scanning radius L of node m whose content cache diversity is not greater than D, where n > m;
[0053] If the total number of nodes n is not less than the minimum inclusion point number minPts, determine node m as a core point, and add node m and node n to the same autonomous region, where m and n ∈ [1, M], M is the total number of nodes in the autonomous region, and M is a positive integer. Otherwise, enter step b;
[0054] Step b, increment the value of m by 1, and repeat step a until all the core points in the autonomous region are screened out;
[0055] Step c, randomly select an unvisited node, and repeat steps a - b;
[0056] Step d, when all nodes have been visited, if all nodes have joined a certain autonomous region, end the operation. Otherwise, form a new sample data set with the nodes that have not joined the autonomous region;
[0057] Step e, double the scanning radius, halve the minimum inclusion point number minPts, and double the content cache diversity, and repeat steps a - b until all nodes in the sample data set have joined a certain autonomous region.
[0058] Preferably, select the node located at or closest to the middle position within each autonomous region as the core node, and the core node records the content names cached by all nodes within the autonomous region and the node names where the content is located.
[0059] The above are only the preferred embodiments of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the technical principle of the present invention, several improvements and modifications can be made, and these improvements and modifications should also be regarded as the protection scope of the present invention.
Claims
1. An Improved DBSCAN Clustering Based CCN Routing Forwarding Method, Characterized in that, It includes: An Interest Packet for content request sent by a user; Step 1, query whether there is corresponding content in the Content Store (CS) of the node that received the Interest Packet. If there is, the node that received the Interest Packet forwards the Data Packet corresponding to the content to the user, discards the Interest Packet, and the user obtains the corresponding content and ends the operation. Otherwise, proceed to Step 2; Step 2, query whether there is a request record for the corresponding content in the Pending Interest Table (PIT). If there is, add the corresponding interface in the Pending Interest Table (PIT), discard the Interest Packet, and the user obtains the corresponding content and ends the operation. Otherwise, proceed to Step 3; Step 3, check whether the core node field in the Interest Packet is the same as the core node field of the node that received the Interest Packet. If it is the same, proceed to Step 4, otherwise proceed to Step 5; Step 4, if there is a corresponding forwarding record in the Forwarding Information Base (FIB), forward the Interest Packet to the corresponding node according to the path recorded in the forwarding record, and record the content name and node port information in the Interest Packet in the Pending Interest Table (PIT), then proceed to Step 1. Otherwise, discard the Interest Packet, and the user fails to obtain the content and ends the operation; Before Step 1, construct an autonomous region and determine core nodes, including: The initial value of m is 1; Step a, according to the set scanning radius L, the set minimum number of points in a neighborhood minPts, and the set content cache diversity D, calculate the number of nodes n within the scanning radius L of node m whose content cache diversity is no greater than D, where n > m; If the total number of nodes n is not less than the minimum number of points in a neighborhood minPts, determine node m as a core point, add node m and node n to the same autonomous region, where m and n ∈ [1, M], M is the total number of nodes in the autonomous region, and M is a positive integer. Otherwise, proceed to Step b; Step b, increase the value of m by 1, repeat Step a until all core points in the autonomous region are screened out; Step c, randomly select an unvisited node, repeat Steps a - b; Step d, when all nodes have been visited, if all nodes have joined a certain autonomous region, end the operation. Otherwise, form a new sample data set with the nodes that have not joined the autonomous region; Step e, double the scanning radius, halve the minimum number of points in a neighborhood minPts, and double the content cache diversity, repeat Steps a - b until all nodes in the sample data set have joined a certain autonomous region.
2. An Improved DBSCAN Clustering Based CCN Routing Forwarding Method according to Claim 1, Characterized in that, Step 5, if the core node field in the Interest Packet is different from the core node field of the node that received the Interest Packet, write the name of the core node in the autonomous region where the node that received the Interest Packet is located into the core node field of the Interest Packet, and the node that received the Interest Packet sends a request packet to the core node in the autonomous region where the node that received the Interest Packet is located. Step 6, the core node extracts the Content Name field from the request packet and checks whether the corresponding Content Name field is recorded in the regional content cache table ACCT of the core node. If so, the core node sends a respond packet to the node that received the interest packet, and proceeds to Step 7.
3. A CCN routing and forwarding method based on improved DBSCAN clustering according to claim 2, wherein, Step 6, if the corresponding Content Name field is not recorded in the regional content cache table ACCT, then send a respond packet to the node that received the interest packet, and proceed to Step 4.
4. A CCN routing and forwarding method based on improved DBSCAN clustering according to claim 3, wherein, In Step 6, if the corresponding Content Name field is recorded in the regional content cache table ACCT of the core node, then the type field in the respond packet is 1, and the Content Node field in the respond packet is the name of the core node; otherwise, the type field in the respond packet is 2.
5. A CCN routing and forwarding method based on improved DBSCAN clustering according to claim 2, wherein, In Step 5, the type field in the request packet is set to 0, and the Content Name in the request packet is set to the name of the content request sent by the user.
6. A CCN routing and forwarding method based on improved DBSCAN clustering according to claim 3, wherein, Step 7, after receiving the respond packet, the node that received the interest packet compares the number of hops required from the node that received the interest packet to the node recorded in the Content Node field of the respond packet and the number of hops required from the node that received the interest packet to the content source server. If the number of hops required from the node that received the interest packet to the node recorded in the Content Node field of the respond packet is less than the number of hops required from the node that received the interest packet to the content source server, then forward the interest packet to the node recorded in the Content Node field, record the content name and node port information in the interest table to be determined, and proceed to Step 1; otherwise, proceed to Step 4.
7. A CCN routing and forwarding method based on improved DBSCAN clustering according to claim 1, wherein, Select the node located at or closest to the middle position in each autonomous region as the core node, and the core node records the content names cached by all nodes in the autonomous region and the node names where the content is located.
Citation Information
Patent Citations
Improved K-means clustering routing method based on content centric networking
CN111245721A
Hybrid clustering opportunistic routing implementation method based on machine learning
CN113225260A