Semi-centralized routing method and system for sensing adjacent cache

文档序号:1849636 发布日期:2021-11-16 浏览:22次 中文

阅读说明:本技术 一种临近缓存感知的半集中式路由方法及其系统 (Semi-centralized routing method and system for sensing adjacent cache ) 是由 孙军涛 姜静 郑凌 杜剑波 于 2021-08-09 设计创作,主要内容包括:本发明涉及一种临近缓存感知的半集中式路由方法,主要解决现有技术中中心控制节点负载较高的问题。本发明通过识别目录服务器的负载高低,采用不同的方式方法传输数据,以达到降低目录服务器的负载、提高用户体验的目的。本发明还涉及一种临近缓存感知的半集中式路由系统,包括多个终端节点、多个路由器和目录服务器,终端节点能够直接与目录服务器就行信息通讯和信息传输,终端节点也能够通过路由器与目录服务器进行信息通讯和信息传输,路由器之间也能够进行信息传输。(The invention relates to a near cache sensing semi-centralized routing method, which mainly solves the problem that a central control node in the prior art is high in load. According to the invention, the load of the directory server is identified, and data is transmitted by adopting different methods, so that the purposes of reducing the load of the directory server and improving the user experience are achieved. The invention also relates to a near cache perception semi-centralized routing system which comprises a plurality of terminal nodes, a plurality of routers and a directory server, wherein the terminal nodes can directly carry out information communication and information transmission with the directory server, the terminal nodes can also carry out information communication and information transmission with the directory server through the routers, and the routers can also carry out information transmission.)

1. A method for proximity cache aware semi-centralized routing, comprising:

step 1, a terminal node (3) requesting content sends a content request packet CEN _ REQ to a directory server (1), wherein the content request packet CEN _ REQ at least comprises the following information: the method comprises the steps of setting a retransmission time T simultaneously according to the packet type, the name of the requested content, the address of a terminal node (3) requesting the content, the address of a directory server (1) and a timestamp;

step 2, after receiving the content request packet CEN _ REQ, the directory server (1) determines which cache nodes in the network cache the content requested by the content request packet CEN _ REQ by searching a routing information table maintained by the directory server, and positions the content request to a cache node which has a lighter load and is closer to the network by using a weighted minimum connection algorithm, wherein the cache node is called a destination node;

the directory server (1) then sends a content reply packet CEN _ REP to the terminal node (3) requesting the content, wherein the content reply packet CEN _ REP comprises at least the following information: packet type, name of the requested content, address of the terminal node (3) requesting the content, directory server (1) address, content provider address, timestamp;

step 3.1, if the terminal node (3) requesting the content receives the content response packet CEN _ REP returned by the directory server (1) within the retransmission time T, establishing a path from the terminal node (3) requesting the content to the destination node according to the information contained in the content response packet CEN _ REP, and returning the requested content to the terminal node (3) requesting the content through the path;

and 3.2, if the terminal node (3) requesting the content does not receive the response of the directory server (1) within the retransmission time T, starting a proximity cache sensing routing mechanism, actively detecting the cache copy of the proximity node within a certain range by the terminal node (3) requesting the content, discovering the proximity cache content according to a distributed routing strategy, establishing a path from the terminal node (3) requesting the content to a destination node according to the cache copy information actively detected by the terminal node (3) requesting the content, and returning the requested content to the terminal node (3) requesting the content through the path.

2. The method of claim 1, wherein the method comprises:

in the step 1, a terminal node (3) needing to request content sends a content request packet CEN _ REQ to a central directory server (1) through a router (2);

in step 2, the directory server (1) then sends a content reply packet CEN _ REP to the terminal node (3) requesting the content through the router (2);

in step 3.1, if the terminal node (3) requesting the content receives the content response packet CEN _ REP returned by the directory server (1) via the router (2) within the retransmission time T, the router (2) establishes a path from the terminal node (3) requesting the content to the destination node according to the information contained in the content response packet CEN _ REP;

in step 3.2, if the terminal node (3) requesting the content does not receive the response of the directory server (1) within the retransmission time T, the neighboring cache aware routing mechanism is started, and the terminal node (3) requesting the content actively probes the cache copy of the neighboring node within a certain range through the router (2).

3. The method of claim 2, wherein the method comprises:

the step 2 is specifically as follows:

step 2.1, the directory server (1) receives the content request packet CEN _ REQ;

step 2.2, the directory server (1) has all cache nodes in the network and a routing information table of the corresponding relation of cache contents, and the routing information table is updated periodically; the directory server (1) checks whether the content name in the content request packet CEN _ REQ is stored in the routing information table, and if so, executes step 2.3; otherwise, discarding the request packet CEN _ REQ;

step 2.3, if only one cache node stores the request content, the cache node is used as a content provider, a content response packet CEN _ REP is constructed by utilizing the address of the cache node, the current time and other information, wherein the address of the content provider is the searched cache node address, and the step 2.5 is carried out; otherwise, turning to step 2.4;

step 2.4, if a plurality of cache nodes store the requested content, selecting the cache node with lighter load and closer distance as a content provider by using a weighted minimum connection method; specifically, M cache nodes are provided to store requested content, and the numbers thereof are 1, 2, …, and M, respectively; let ADDRiIndicating the address of cache node i, LiThe number of connections currently allocated to the cache node i; setting the address of the source request node as ADDR _ SRC; let the weight of the cache node i be Wi=Di×(Li+1), wherein DiThe distance between the terminal node (3) requesting the content and the cache node i is defined as the result of the XOR operation between the address of the terminal node (3) requesting the content and the address of the cache node i, namely Di=ADDR_SRC xor ADDRi(ii) a W is to beiSorting from small to large, selecting the node with the minimum weight as a content provider, constructing a content response packet CEN _ REP by using the information of the node address, the current time and the like, and turning to the step 2.5;

and 2.5, returning the content response packet CEN _ REP to the terminal node (3) requesting the content, and ending the operation.

4. The method of claim 2, wherein the method comprises:

the mechanism for starting the neighbor cache aware routing is specifically as follows:

step 3.2.1, each cache node maintains a neighboring cache routing information table, and the routing information table stores the mapping relation between cache contents and the address of the cache node and the network interface number of the forwarding end; the cache node starts the adjacent cache detection;

step 3.2.2, the terminal node (3) requesting the content searches a local adjacent cache routing information table and judges whether a path to the requested content exists or not; if yes, establishing a path from the terminal node (3) requesting the content to the destination node according to the address of the destination node, and turning to step 3.2.12; otherwise, turning to step 3.2.3;

step 3.2.3, the terminal node (3) requesting the content sends a content detection packet DIST _ REQ to all the cache nodes near itself through the router (2) directly connected, wherein the content detection packet DIST _ REQ at least includes the following information: the type of the packet, the name of the requested content, the address of the terminal node (3) requesting the content, the broadcast Depth, the random number Nonce, and the timestamp;

step 3.2.4, the cache node receives the content detection packet DIST _ REQ, and firstly records the information of the interface number of the router (2) where the content detection packet arrives, the address of the terminal node (3) requesting the content, the content name and the like so as to return the content response packet; turning to step 3.2.5;

step 3.2.5, the cache node compares whether its Nonce value is equal to the Nonce value of the content detection packet recorded before; if the two are equal, it indicates that there is a broadcast-back loop, then discard the probe packet DIST _ REQ, go to step 3.2.12; otherwise, turning to the step 3.2.6;

step 3.2.6, searching a cache directory of the cache node, and judging whether to store the content name requested by the content detection packet; if the content exists, the searched cache node is used as a content provider, and a content response packet DIST _ REP is constructed; the content response packet DIST _ REP contains at least the following information: packet type, name of the requested content, address of the requesting terminal node (3), address of the content provider, current timestamp; returning a content response packet DIST _ REP to the terminal node (3) requesting the content, turning to step 3.2.9; if not, turning to step 3.2.7;

step 3.2.7, searching a neighboring cache routing information table, and judging whether the name of the requested content exists; if so, constructing a content detection request packet DIST _ REP according to the search result and returning to the terminal node (3) requesting the content, and turning to step 3.2.9; otherwise, go to step 3.2.8;

step 3.2.8, by searching the adjacent cache routing information table, if the requested content name is not found, then judging whether the broadcast Depth is greater than 1; if the Depth field is less than or equal to 1, it indicates that the broadcast hop count has reached the preset value, then the probe packet is discarded, and go to step 3.2.12; otherwise, subtracting 1 from the Depth field, and broadcasting the request packet to the network interfaces of all the cache nodes except the network interface of the cache node to which the detection packet arrives;

step 3.2.9, after receiving the content reply packet DIST _ REP, the along-the-way cache node extracts the relevant information and updates the adjacent cache route information table of the along-the-way cache node; if a plurality of response packets with the same content name are received, selecting a cache node with lower time delay as a content provider to update an adjacent cache routing table according to timestamp information carried by the response packets;

step 3.2.10, after the terminal node (3) requesting content receives the content response packet DIST _ REP, the terminal node extracts the relevant information and updates the adjacent cache route information table of the terminal node (3) requesting content in the same way as step 3.2.9;

step 3.2.11, according to the information contained in the response packet, establishing the path from the terminal node (3) requesting the content to the destination node;

at step 3.2.12, the entries in the neighboring cache routing information table of each cache node are time-sensitive, and if the time for an entry to exist exceeds the update interval, it is deleted as a stale entry.

5. The method of claim 3, wherein the method comprises: specifically, in the content request packet CEN _ REQ, Type is a packet Type, and a value thereof is set to 1, which indicates a CEN _ REQ packet; seq is a serial number, is generated by the cache node generating the request packet, and is used together with the cache node address to mark one request packet; ContentName is the requested content name; SourceAddr is the address of the requesting node; ServerAddr is the address of the directory server (1); TimeStamp is the current TimeStamp.

6. The method of claim 4, wherein the method comprises: in the content detection request packet DIST _ REQ, Type is a packet Type, and the value of Type is 3, which indicates a DIST _ REQ packet; seq is a serial number, is generated by the cache node generating the request packet, and is used together with the cache node address to mark one request packet; ContentName is the requested content name; SourceAddr is the address of the requesting node; depth is the broadcast Depth; nonce is a random number generated when the packet is generated; TimeStamp is the current TimeStamp;

in the content detection response packet DIST _ REP, Type is a packet Type, and the value of Type is 4, which represents a DIST _ REP packet; seq is a serial number, is generated by the cache node which generates the response packet, and is used together with the cache node address to mark a request packet; ContentName is the requested content name; SourceAddr is the address of the requesting node; ContentProviderAddr is the address of the content provider; the Nonce value is consistent with the Nonce value of the received request packet; TimeStamp is the current TimeStamp.

7. The method of claim 3, wherein the method comprises: in the content response packet CEN _ REP, setting the value to 2 indicates the CEN _ REP packet; seq is a serial number, generated by the directory server (1), for marking a response packet; ContentName is the requested content name; SourceAddr is the address of the requesting node; ServerAddr is the address of the directory server (1); ContentProviderAddr is the address of the content provider; TimeStamp is the current TimeStamp.

8. A proximity cache aware semi-centralized routing system according to any one of claims 2 to 7, wherein: the system comprises a plurality of terminal nodes (3), a plurality of routers (2) and a directory server (1);

the terminal node (3) is connected with the directory server (1) through the router (2); the terminal nodes (3) and the routers (2) directly transmit information, the terminal nodes (3) transmit information with the directory server (1) through the routers (2), and the routers (2) connected with each other transmit information.

9. The proximity cache aware semi-centralized routing system of claim 8, wherein: the terminal nodes (3) and the routers (2) have a content caching function, the terminal nodes (3) and the routers (2) form caching nodes, the directory server (1) has a complete list of caching contents and caching node addresses and corresponding relations between all caching nodes in the network and the caching contents of the caching nodes, the information is stored as a routing information table, and the routing information is updated and maintained regularly.

Technical Field

The invention relates to a network technology, in particular to a near cache sensing semi-centralized routing method and a near cache sensing semi-centralized routing system.

Background

Modern internet is evolving toward high speed and broadband and is developing into an integrated service transmission network combining a plurality of services such as data, voice, image, and real-time multimedia information. According to network index statistics and prediction issued by Cisco, the data traffic of the global IP network reaches the level of 396EB per month in average by 2022, which is improved by more than 2 times compared with 2017.

Among massive network services, network audio and video services with high real-time requirements gradually become mainstream of internet applications, and are expected to account for 82% of total data traffic in 2022. The need for mass replication and dissemination of multimedia content has led to the popularity and commercialization of Content Delivery Networks (CDNs). A typical content distribution network requires the deployment of multiple content servers at different geographic locations to build a distributed caching system. By utilizing the distributed cache system, the user can obtain the content from the edge node nearby, the problem of network congestion caused by the traditional IP network centralized service is avoided, and the service obtaining speed is improved. And according to the dynamic content request of the user, the content caching and transmission strategy is dynamically adjusted, so that the network traffic load is balanced, and the user experience is improved.

The core idea of the CDN network is to forward a user request to a cache node at the edge of the network in a DNS redirection manner, thereby reducing access latency. A special directory server is required in the conventional CDN network, and is used for processing a content request and content redirection of a user, and is still a centralized network service to some extent. Centralized directory servers tend to be a performance bottleneck, and failure or overloading of a central node can cause degradation in overall network performance. Therefore, when the central node fails, the edge node should have certain ad hoc network routing capability and capability of sensing the content of the adjacent cache, so that the pressure of the central node is relieved, and the network performance is improved.

Existing ad hoc network routing methods are mainly classified into two types:

firstly, a cache node issues an announcement of the existing cache content to a peripheral node, and a content request node establishes a routing path according to the announcement content;

secondly, the content request node actively detects the cached content from the peripheral nodes, thereby establishing content routing.

The common characteristic of the two schemes is that the cache node needs to transmit all cache content information owned by the cache node to peripheral nodes, which causes huge network bandwidth overhead. The problem to be solved at present is how to simplify the transmission of ad hoc network routing information and reduce network overhead under the CDN architecture.

Disclosure of Invention

The invention provides a near cache sensing semi-centralized routing method and a system thereof, aiming at solving the problem that the transmission of routing information of a traditional ad hoc network can cause huge network bandwidth overhead.

A proximity cache aware semi-centralized routing method is characterized in that:

step 1, a terminal node requesting content sends a content request packet CEN _ REQ to a directory server, where the content request packet CEN _ REQ at least includes the following information: the method comprises the steps of setting a retransmission time T simultaneously according to a packet type, a name of a request content, a terminal node address of the request content, an address of a directory server and a timestamp;

step 2, after receiving the content request packet CEN _ REQ, the directory server determines which cache nodes in the network cache the content requested by the content request packet CEN _ REQ by searching a routing information table maintained by the directory server, and positions the content request to a cache node which has a light load and is close to the cache node by using a weighted minimum connection algorithm, wherein the cache node is called a destination node;

the directory server then sends a content reply packet CEN _ REP to the terminal node that requested the content, wherein the content reply packet CEN _ REP includes at least the following information: the type of the package, the name of the requested content, the address of the terminal node requesting the content, the address of the directory server, the address of the content provider, and a timestamp;

step 3.1, if the terminal node requesting the content receives the content response packet CEN _ REP returned by the directory server within the retransmission time T, establishing a path from the terminal node requesting the content to the destination node according to the information contained in the content response packet CEN _ REP, and returning the requested content to the terminal node requesting the content through the path;

and 3.2, if the terminal node requesting the content does not receive the response of the directory server within the retransmission time T, starting a neighboring cache sensing routing mechanism, actively detecting the cache copy of the neighboring node within a certain range by the terminal node requesting the content, finding the neighboring cache content according to a distributed routing strategy, establishing a path from the terminal node requesting the content to a destination node according to the cache copy information actively detected by the terminal node requesting the content, and returning the requested content to the terminal node requesting the content through the path.

Further, in step 1, the terminal node that needs to request the content sends a content request packet CEN _ REQ to the central directory server through the router;

in step 2, the directory server then sends a content reply packet CEN _ REP to the terminal node requesting the content through the router;

in step 3.1, if the terminal node requesting the content receives the content response packet CEN _ REP returned by the directory server via the router within the retransmission time T, the terminal node requesting the content establishes a path from the terminal node requesting the content to the destination node via the router according to the information contained in the content response packet CEN _ REP;

in step 3.2, if the terminal node requesting the content does not receive the response of the directory server within the retransmission time T, the neighboring cache aware routing mechanism is started, and the terminal node requesting the content actively detects the cache copy of the neighboring node within a certain range through the router.

Further, the step 2 is specifically as follows:

step 2.1, the directory server receives the content request packet CEN _ REQ;

step 2.2, the directory server has all cache nodes in the network and a routing information table of the corresponding relation of cache contents, and the routing information table is updated periodically; the directory server checks whether the content name in the content request packet CEN _ REQ is stored in the routing information table, if so, step 2.3 is executed; otherwise, discarding the request packet CEN _ REQ;

step 2.3, if only one cache node stores the request content, the cache node is used as a content provider, a content response packet CEN _ REP is constructed by utilizing the address of the cache node, the current time and other information, wherein the address of the content provider is the searched cache node address, and the step 2.5 is carried out; otherwise, turning to step 2.4;

step 2.4, if a plurality of cache nodes store the requested content, selecting the cache node with lighter load and closer distance as a content provider by using a weighted minimum connection method; specifically, M cache nodes are provided to store requested content, and the numbers thereof are 1, 2, …, and M, respectively; let ADDRiIndicating the address of cache node i, LiThe number of connections currently allocated to the cache node i; setting the address of the source request node as ADDR _ SRC; let the weight of the cache node i be Wi=Di×(Li+1), wherein DiThe distance between the terminal node requesting the content and the cache node i is defined as the result of XOR operation between the address of the terminal node requesting the content and the address of the cache node i, i.e. Di=ADDR_SRC xor ADDRi(ii) a W is to beiSorting from small to large, selecting the node with the minimum weight as a content provider, constructing a content response packet CEN _ REP by using the information of the node address, the current time and the like, and turning to the step 2.5;

and 2.5, returning the content response packet CEN _ REP to the terminal node requesting the content, and ending the operation.

Further, the mechanism for starting the neighbor cache aware routing specifically includes:

step 3.2.1, each cache node maintains a neighboring cache routing information table, and the routing information table stores the mapping relation between cache contents and cache node addresses and forwarding end network interface numbers; the cache node starts the adjacent cache detection;

step 3.2.2, the terminal node requesting the content searches a local adjacent cache routing information table and judges whether a path to the requested content exists or not; if yes, a path from the terminal node requesting the content to the destination node is established according to the address of the destination node, and the step 3.2.12 is switched to; otherwise, turning to step 3.2.3;

step 3.2.3, the terminal node requesting the content sends a content detection packet DIST _ REQ to all the cache nodes near the terminal node through the router directly connected, wherein the content detection packet DIST _ REQ at least comprises the following information: the method comprises the steps of packet type, the name of requested content, the address of a terminal node of the requested content, broadcast Depth Depth, random number Nonce and timestamp;

step 3.2.4, the cache node receives the content detection packet DIST _ REQ, and firstly records the information of the router network interface number, the terminal node address requesting the content, the content name and the like which come from the content detection packet so as to return the content response packet; turning to step 3.2.5;

step 3.2.5, the cache node compares whether its Nonce value is equal to the Nonce value of the content detection packet recorded before; if the two are equal, it indicates that there is a broadcast-back loop, then discard the probe packet DIST _ REQ, go to step 3.2.12; otherwise, turning to the step 3.2.6;

step 3.2.6, searching the cache directory of the cache node, and judging whether to store the content name requested by the content detection packet; if the content exists, the searched cache node is used as a content provider, and a content response packet DIST _ REP is constructed; the content response packet DIST _ REP contains at least the following information: the packet type, the name of the requested content, the address of the requesting terminal node, the address of the content provider, and the current timestamp; returning a content response packet DIST _ REP to the terminal node requesting the content, turning to step 3.2.9; otherwise, turning to step 3.2.7;

step 3.2.7, searching a neighboring cache routing information table, and judging whether the name of the requested content exists; if so, constructing a content detection request packet DIST _ REP according to the search result and returning to the terminal node requesting the content, and turning to step 3.2.9; otherwise, go to step 3.2.8;

step 3.2.8, by searching the adjacent cache routing information table, if the requested content name is not found, then judging whether the broadcast Depth is greater than 1; if the Depth field is less than or equal to 1, it indicates that the broadcast hop count has reached the preset value, then the probe packet is discarded, and go to step 3.2.12; otherwise, subtracting 1 from the Depth field, and broadcasting the request packet to the network interfaces of all the other cache nodes except the network interface of the cache node where the detection packet arrives;

step 3.2.9, after receiving the content reply packet DIST _ REP, the along-the-way cache node extracts the relevant information and updates the adjacent cache route information table of the along-the-way cache node; if a plurality of response packets with the same content name are received, selecting a cache node with lower time delay as a content provider to update an adjacent cache routing table according to timestamp information carried by the response packets;

step 3.2.10, after the terminal node requesting content receives the content response packet DIST _ REP, the terminal node extracts the relevant information and updates the adjacent cache route information table of the terminal node requesting content in the same way as step 3.2.9;

step 3.2.11, according to the information contained in the response packet, establishing the path from the terminal node requesting the content to the destination node;

at step 3.2.12, the entries in the neighboring cache routing information table of each cache node are time-sensitive, and if the time for an entry to exist exceeds the update interval, it is deleted as a stale entry.

Further, in the content request packet CEN _ REQ, specifically, Type is a packet Type, and a value thereof is set to 1, which indicates a CEN _ REQ packet; seq is a serial number, is generated by the cache node generating the request packet, and is used together with the cache node address to mark one request packet; ContentName is the requested content name; SourceAddr is the address of the requesting node; ServerAddr is the directory server address; TimeStamp is the current TimeStamp.

Further, in the content probe request packet DIST _ REQ, Type is a packet Type, and a value of 3 indicates a DIST _ REQ packet; seq is a serial number, is generated by the cache node generating the request packet, and is used together with the cache node address to mark one request packet; ContentName is the requested content name; SourceAddr is the address of the requesting node; depth is the broadcast Depth; nonce is a random number generated when the packet is generated; TimeStamp is the current TimeStamp;

in the content detection response packet DIST _ REP, Type is a packet Type, and the value of Type is 4, which represents a DIST _ REP packet; seq is a serial number, is generated by the cache node which generates the response packet, and is used together with the cache node address to mark a request packet; ContentName is the requested content name; SourceAddr is the address of the requesting node; ContentProviderAddr is the address of the content provider; the Nonce value is consistent with the Nonce value of the received request packet; TimeStamp is the current TimeStamp.

Further, in the content response packet CEN _ REP, setting the value to 2 indicates a CEN _ REP packet; seq is a serial number, generated by the directory server, for marking a response packet; ContentName is the requested content name; SourceAddr is the address of the requesting node; ServerAddr is the directory server address; ContentProviderAddr is the address of the content provider; TimeStamp is the current TimeStamp.

A proximity cache aware semi-centralized routing system, characterized by: the system comprises a plurality of terminal nodes, a plurality of routers and a directory server;

the terminal node is connected with the directory server through a router; the terminal nodes and the routers transmit information directly, the terminal nodes transmit information through the routers and the directory server, and the routers connected with each other transmit information.

Furthermore, the terminal node and the router both have a content caching function, the terminal node and the router form a caching node, the directory server has a complete list of caching contents and caching node addresses and a corresponding relationship between all caching nodes in the network and the caching contents thereof, and stores the information as a routing information table, and the routing information is updated and maintained regularly.

The beneficial effects are as follows:

(1) the invention has a distributed content caching structure, realizes the functions of centralized and distributed content caching and routing, and has the advantages of reducing network redundant flow and improving network performance.

(2) The invention has a distributed content caching structure, realizes the caching function of the recently requested content, and has the advantage of reducing the network access delay.

(3) The invention has a structure of a content detection request packet, the structure realizes the detection function of the cache content in a certain range, and can find the cache content of the adjacent node to be beneficial to realizing the routing decision of the shortest path.

(4) The invention has the information table of the adjacent cache routing, the information table stores the content which is not cached by the current node but is cached by the adjacent node, realizes the functions of addressing and routing the cache content, and has the advantages of reducing the redundant flow of the network and improving the network performance.

Drawings

FIG. 1 is a system design diagram of one embodiment of the present invention;

FIG. 2 is a diagram illustrating a structure of a content request packet CEN _ REQ according to the present invention;

FIG. 3 is a schematic diagram of a CEN _ REP packet according to the present invention;

fig. 4 is a schematic diagram illustrating a structure of a content probe request packet DIST _ REQ packet according to the present invention;

FIG. 5 is a diagram illustrating a structure of a DIST _ REP packet according to the present invention;

FIG. 6 is a flow chart of a directory server weighted minimum linking method in the method of the present invention.

FIG. 7 is a flow chart of the proximity cache detection mechanism of the present invention.

The reference numerals are specifically as follows:

1. directory server, 2 router, 3 terminal node.

Detailed Description

The invention is described in further detail below with reference to the figures and the detailed description.

As shown in fig. 1, a proximity cache aware semi-centralized routing system includes a plurality of end nodes 3, a plurality of routers 2, and a directory server 1.

The terminal node 3 and the router 2 both have a content caching function, and the directory server 1 has a complete list of cache contents and cache node addresses and a corresponding relationship between all cache nodes in the network and cache contents thereof, and stores the cache contents and cache node addresses as a routing information table, and the routing information is periodically updated and maintained.

The caching nodes include end nodes 3 and routers 2. Different terminal nodes 3 transmit information instructions through the router 21, the terminal nodes 3 can directly transmit the information instructions to each other with the directory server 1, and the adjacent routers 2 can directly transmit the information instructions to each other. The routers 2 are arranged through intelligent networking, and the transmission efficiency among the routers 2 is improved.

The neighboring node means: and the cache nodes are directly and indirectly connected with the terminal node 3 or the router 2, but the hop count of the cache node connection is limited, and if the Depth field of the cache node is less than or equal to 1, the hop count reaches the upper limit.

A semi-centralized routing method for proximity cache sensing is mainly applied to a distributed cache system, and comprises the following specific steps:

as shown in fig. 1, the terminal node 3 includes a terminal node T1, a terminal node T2, a terminal node T3, a terminal node T4, a terminal node T5 and a terminal node T6. Suppose that end node T1 needs to request a content named File 1. In step 1, the terminal node T1 that needs to request content sends a content request packet CEN _ REQ to the central directory server 1, where the transmission path is shown as a solid line in fig. 1, where the content request packet CEN _ REQ at least includes the following information: the packet type, the name of the requested content, the address of the requesting end node 3, the address of the directory server 1, a timestamp, while the end node T1 sets a retransmission time T.

And 2, after receiving the content request packet CEN _ REQ, the directory server 1 determines which cache nodes in the network cache the content requested by the request packet CEN _ REQ by searching a routing information table maintained by the directory server, and positions the content request to a cache node which has a light load and is close to the cache node, namely a destination node, by using a weighted minimum connection algorithm. Assuming the terminal node T6 as the content provider, the directory server 1 then sends a reply packet CEN _ REP to the terminal node T1, which includes at least the following information: packet type, name of requested content, requesting end node 3 address, directory server 1 address, content provider address, timestamp.

Step 3.1, if the requesting end node T1 receives the response packet CEN _ REP returned by the directory server 1 within the retransmission time T, then according to the information contained in the response packet, a path from the requesting end node T1 to the destination node is established, that is, the end node T1 will request the content from the end node T6 through the router 2, and the requested content is transmitted from the end node T6 to the end node T1 through the router 2.

Step 3.2, if the request terminal node T1 does not receive the response from the directory server 1 within the retransmission time T, the proximity cache aware routing mechanism is started, and the terminal node T1 will actively detect the cache copy of the proximity node within a certain range through the router 2, and discover the proximity cache content according to the distributed routing policy. As shown by the dotted line in fig. 1, the end node T1 broadcasts the content probe request packet DIST _ REQ to the peripheral cache nodes via the router 2. While the terminal node T3 has the required content File1, the terminal node T3 replies a content probe response packet DIST _ REP to the terminal node T1 through the router 2. After the end node T1 receives the response packet, it establishes a path from the end node T1 to the destination node according to the information contained in the response packet, i.e., the end node T1 requests the router 2 for content from the end node T3. As shown in fig. 2, in the content request packet CEN _ REQ, Type is packet Type, and a value thereof is set to 1, indicating a CEN _ REQ packet; seq is a sequence number, generated by the node that generated the request packet, used with the node address to mark a request packet. ContentName is the requested content name; SourceAddr is the address of the requesting node; ServerAddr is the directory server 1 address; TimeStamp is the current TimeStamp.

As shown in fig. 3, in the content reply packet CEN _ REP, setting the value thereof to 2 indicates a CEN _ REP packet; seq is a serial number, generated by the directory server 1, for marking a response packet; ContentName is the requested content name; SourceAddr is the address of the requesting node; ServerAddr is the directory server 1 address; ContentProviderAddr is the address of the content provider; TimeStamp is the current TimeStamp.

As shown in fig. 4, in the content probe request packet DIST _ REQ, Type is a packet Type, and a value of 3 indicates a DIST _ REQ packet; seq is a serial number, is generated by the cache node generating the request packet, and is used together with the cache node address to mark one request packet; ContentName is the requested content name; SourceAddr is the address of the requesting node; depth is the broadcast Depth; nonce is a random number generated when the packet is generated; TimeStamp is the current TimeStamp.

As shown in fig. 5, in the content probe response packet DIST _ REP, Type is a packet Type, and a value of 4 indicates a DIST _ REP packet; seq is a serial number, is generated by the cache node which generates the response packet, and is used together with the cache node address to mark a request packet; ContentName is the requested content name; SourceAddr is the address of the requesting node; ContentProviderAddr is the address of the content provider; the Nonce value is consistent with the Nonce value of the received request packet; TimeStamp is the current TimeStamp.

As shown in fig. 6, the step 2 is specifically as follows:

step 2.1, the directory server 1 receives the content request packet CEN _ REQ;

and 2.2, the directory server 1 has a routing information table of the corresponding relation between all cache nodes in the network and cache contents thereof, and the routing information table is updated periodically. The directory server 1 checks whether the content name in the CEN _ REQ is stored in the routing information table, and if so, performs step 2.3; otherwise, the request packet CEN _ REQ is discarded;

step 2.3, if only one cache node stores the request content, the cache node is used as a content provider, a content response packet CEN _ REP is constructed by utilizing the address of the cache node, the current time and other information, wherein the address of the content provider is the searched cache node address, and the step 2.5 is carried out; otherwise, turning to step 2.4;

and 2.4, if a plurality of cache nodes store the requested content, selecting the cache node with lighter load and closer distance as a content provider by using a weighted minimum connection method. Specifically, M cache nodes are provided to store requested content, and the numbers thereof are 1, 2, …, and M, respectively; let ADDRiIndicating the address of cache node i, LiThe number of connections currently allocated to the cache node i; setting the address of the source request node as ADDR _ SRC; let the weight of the cache node i be Wi=Di×(Li+1), wherein DiFor terminal nodes 3 toThe distance between the cache nodes i is defined as the result of the XOR operation between the address of the terminal node 3 and the address of the cache node i, i.e. Di=ADDR_SRC xor ADDRi. W is to beiAnd (5) sorting from small to large, selecting the node with the minimum weight value as a content provider, constructing a content response packet CEN _ REP by using the information of the node address, the current time and the like, and turning to the step 2.5.

And 2.5, returning the content response packet CEN _ REP to the terminal node 3, and ending the operation.

Referring to fig. 7, said step 3.2 further comprises:

and 3.2.1, each cache node maintains an adjacent cache routing information table, and the routing table stores the mapping relation between cache contents and cache node addresses and forwarding port numbers. The cache node starts the adjacent cache detection;

step 3.2.2, the terminal node 3 searches a local adjacent cache routing information table and judges whether a path to the requested content exists or not; if yes, a path from the request terminal node 3 to the destination node is established according to the address of the destination node, and the step 3.2.12 is switched to; otherwise, turning to step 3.2.3;

step 3.2.3, the terminal node 3 sends a content detection packet DIST _ REQ to all cache nodes near itself through the router 2 directly connected, where the content detection packet DIST _ REQ at least includes the following information: the type of the packet, the name of the requested content, the address of the requesting terminal node 3, the broadcast Depth Depth, the random number Nonce and the timestamp;

step 3.2.4, the cache node receives the content detection packet DIST _ REQ, and firstly records the information of the network interface number of the router 2, the address of the terminal node 3, the content name and the like which the content detection packet arrives, so as to facilitate the return of the content response packet; turning to step 3.2.5;

step 3.2.5 the cache node compares whether its Nonce value is equal to the Nonce value of the previously recorded content probe packet. If the two are equal, it indicates that there is a broadcast-back loop, then discard the probe packet DIST _ REQ, go to step 3.2.12; otherwise, go to step 3.2.6.

And 3.2.6, searching the cache directory of the cache node and judging whether to store the content name requested by the content detection packet. If the content exists, the searched cache node is used as a content provider, and a content response packet DIST _ REP is constructed. The content response packet DIST _ REP contains at least the following information: packet type, name of the requested content, requesting end node 3 address, content provider address, current timestamp. Returning the content response packet DIST _ REP to the terminal node 3, going to step 3.2.9; otherwise, turning to step 3.2.7;

step 3.2.7, searching a neighboring cache routing information table, and judging whether the name of the requested content exists; if so, constructing a content detection request packet DIST _ REP according to the search result and returning to the terminal node 3, and turning to step 3.2.9; otherwise, go to step 3.2.8;

in step 3.2.8, if the requested content name is not found, it is determined whether the broadcast Depth is greater than 1. If the Depth field is less than or equal to 1, it indicates that the broadcast hop count has reached the preset value, then the probe packet is discarded, and go to step 3.2.12; otherwise, subtracting 1 from the Depth field, and broadcasting the request packet to the network interfaces of all the other cache nodes except the network interface of the cache node where the detection packet arrives;

step 3.2.9, after receiving the content reply packet DIST _ REP, the nodes along the way extract the relevant information, and update the adjacent cache routing information table of the nodes along the way; if a plurality of response packets with the same content name are received, selecting a node with lower time delay as a content provider to update the adjacent cache routing table according to the timestamp information carried by the response packets;

step 3.2.10, after the source request terminal node 3 receives the content response packet DIST _ REP, it extracts the relevant information and updates the adjacent cache route information table of the terminal node 3 in the same way as step 3.2.9;

step 3.2.11, according to the information contained in the response packet, a path from the requesting terminal node 3 to the destination node is established.

At step 3.2.12, the entries in the neighboring cache routing information table of each node are time-sensitive, and if the time for which an entry exists exceeds the update interval, it is deleted as a stale entry.

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种互联网路径选取方法以及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!