当前位置:网站首页>Principle of IP routing
Principle of IP routing
2022-06-24 22:33:00 【Zhuge iron and steel cloud】
1.1 What is? IP route
In a IP In the network , route (Routing) It's a very, very basic concept . The basic functions of the network , Is to make two in the network IP Nodes can communicate , Communication is actually the process of data interaction , Data interaction requires network equipment to help us transfer data between two communication nodes . When routers ( Or other three-tier equipment ) Receive a IP Data packets , The router will find IP The purpose of the three-tier header IP Address , Then take the purpose IP Find the address in your routing table , find “ Best match ” After entry , According to the outbound interface or next hop indicated by the routing entry IP forwarded , If there isn't any “ matching ” Table item , Then continue to see if there is a default route , If there is no default route , The packet will be discarded , And send to the origin of this packet ICMP Error message , This is it. IP route ( Routing ) . Each router will maintain a routing table locally ( Routing Table ) , The routing table contains the routing entries learned by the router (Routes), Route entries are prefixed by routes ( The destination associated with the road )、 Source of routing information 、 Out of interface or next hop IP Equal element composition . The router obtains the routing entries and maintains its own routing table in a static or dynamic way .
1.2 IP Routing table
A router can work normally , The main premise is that the routing table is stable , And know the road signs to every corner of the network , Therefore, the routing table is a very fundamental thing for the normal operation of the router . The routing table has many rows (Rows), Each row identifies a table entry or a route , There are at least three things in the routing table , They are the target network numbers , The source of routing information , Outbound interface . Initially, the router only knows the information of the directly connected network segment , The physical state and protocol state of this interface are both UP, Will be written into the routing table , The source of routing information is marked as Direct. If one of the physical state and protocol state is down, Then it cannot be written into the routing table , It will be erased even if it is written to the routing table before . The physical state is the physical feature of this interface , For example, if there is a device at one end and there is no device connected at the other end, this is the case down, Because there is no voltage signal . The protocol state is that the three-tier interface works in IP In the protocol stack , that IP The protocol stack works normally, that is UP Of . Finally, this interface cannot be shutdown( close ) fall , you shutdown If you drop this interface, it must be down state .
View routing table :display ip routing-table
1、 Any device with three-tier function has a routing table . Each entry points to a destination .
2、 The routing prefix is the network number + The format of the mask , This is a complete routing prefix , You can't have one without the other .
3、 The protocol field indicates how this row item is obtained ( Directly connected , Static ,RIP,OSPF,ISIS, BGP).
4、 The priority field refers to the routing priority corresponding to each routing protocol type , The smaller the priority value, the better , It is generally used to discover two paths to the same destination through two different routing protocols , Which one will be preferred , These priority values are agreed .
5、 The cost field is the cost of getting from my local to the target network on the left .
6、 Flag fields D Indicates that this route has been downloaded to the forwarding information table of the bottom layer , Officially in use .
7、 The next hop and outbound interface represents a matching table item, and will be forwarded according to the next hop and outbound interface indicated by the table item .
8、 There are three sources of routing entries : Direct link routing - The network segment where the router local interface is located , Static routing - Routing entries manually configured by the data communication engineer , Dynamic routing - Dynamically learned routes between routers ( Enable the router to activate the routing protocol , They will learn routing by themselves ) Be careful : Ethernet It is a layer-2 interface and cannot be configured IP Address .
1.3 Routing priority (Preference)
1.3.1 What is routing priority (Preference)
The router can know the route entry through many ways . When the router knows the route to the same destination from two different ways and the next hop is different , The router will first compare the priority of the two routes , optimization Pre Routes with small values . If Pre The values are equal , For example, the same routing protocol , Then further compare the cost value .
1.3.2 Routing priority criteria
1.4 Static routing
1.4.1 What is static routing
Static routing is to manually create routing entries for routers , This is the most direct way , High controllability , Simple configuration , No bandwidth consumption , Poor flexibility .
advantage : Convenient configuration , High controllability .
Inferiority : If the target network has 1 You need to configure 1 A static route , If the target network has 1000 You need to configure 1000 A static route ( Work company ), Static routing cannot respond to dynamic topology changes .
1.4.2 Configuration of static route
Associate next hop IP The way :
[Route] ip route-static Target network number Mask Next jump IP Address
Associate the outbound interface with the next hop IP Address
[Route] ip route-static Target network number Mask Exit interface Next jump IP Address
Configuration example :
[Route] ip route-static 192.168.1.0 24 192.168.12.2
192.168.1.0 Is the network number of the routing entry
24 Is the mask or prefix length of the network number
192.168.12.2 For the next hop to the network IP
Be careful :
Data communication is bidirectional ( Back and forth ) Of , Therefore, pay attention to the routing of round-trip traffic .( Return data )
The behavior of routing is hop by hop ( Hop-By-Hop ), Therefore, it is necessary to ensure that every router along the route has a route .
1.5 Default route
1.5.1 What is the default route
Can match any destination , Equivalent to the last person to ask for help . If you find a matching table item, follow that table item , If you don't find any matching entries, follow this . It is used on the edge router of the network or in the aggregation layer, and the device points to the exit router .
1.5.2 Configuration of default route
[Route] ip route-static 0.0.0.0 0.0.0.0 192.168.1.1
[Route] ip route-static 0.0.0.0 0 192.168.1.1
1.5.3 Check and debug
Ping – Test connection communication
Tracert – Track each hop arriving in the target network segment
Display ip routing-table – View routing table
Display ip routing-table brief – Interface information summary ( Interface IP Address , state )
Display ip routing-table protocol static – Show only static routing table entries
Display current-configuration | in route – Include... In the current configuration route List keywords
1.5.4 Configuration example
R1 Configuration of
system-view
[Huawei]sysname R1
[R1]interface GigabitEthernet0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24
[R1-GigabitEthernet0/0/0]quit
[R1]interface GigabitEthernet0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.12.1 24
[R1-GigabitEthernet0/0/1]quit
[R1]interface loopback 0
[R1-Loopback0]ip address 1.1.1.1 32
[R1-Loopback0]quit
[R1]ip route-static 192.168.23.0 24 192.168.12.2
[R1]ip route-static 192.168.2.0 24 192.168.12.2
R2 Configuration of
system-view
[Huawei]sysname R2
[R2]interface GigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.12.2 24
[R2-GigabitEthernet0/0/0]quit
[R2]interface GigabitEthernet0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.23.2 24
[R2-GigabitEthernet0/0/1]quit
[R2]ip route-static 192.168.1.0 24 192.168.12.1
[R2]ip route-static 192.168.2.0 24 192.168.23.3
R3 Configuration of
system-view
[Huawei]sysname R3
[R3]interface GigabitEthernet0/0/0
[R3-GigabitEthernet0/0/0]ip address 192.168.23.3 24
[R3-GigabitEthernet0/0/0]quit
[R3]interface GigabitEthernet0/0/1
[R3-GigabitEthernet0/0/1]ip address 192.168.2.254 24
[R3-GigabitEthernet0/0/1]quit
[R1]interface loopback 0
[R1-Loopback0]ip address 2.2.2.2 32
[R1-Loopback0]quit
[R3]ip route-static 192.168.12.0 24 192.168.23.2
[R3]ip route-static 192.168.1.0 24 192.168.23.2
1.5.5 Verify configuration
Directly in R1 On the implementation ping On command , Produced by ICMP The source address of the message defaults to the address of the outgoing interface of the message IP Address , That is to say 192.168.12.1.
[R1] ping 2.2.2.2
PING 2.2.2.2: 56 data bytes, press CTRL_C to break
Reply from 2.2.2.2: bytes=56 Sequence=1 ttl=254 time=20 ms
Reply from 2.2.2.2: bytes=56 Sequence=2 ttl=254 time=20 ms
Reply from 2.2.2.2: bytes=56 Sequence=3 ttl=254 time=20 ms
Reply from 2.2.2.2: bytes=56 Sequence=4 ttl=254 time=20 ms
Reply from 2.2.2.2: bytes=56 Sequence=5 ttl=254 time=20 ms
— 2.2.2.2 ping statistics —
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 20/20/20 ms
stay ping Use after command –a keyword , You can specify ICMP The source address of the message , The source address must be the address of the device IP Address .
[R1] ping -a 1.1.1.1 2.2.2.2
PING 2.2.2.2: 56 data bytes, press CTRL_C to break
Reply from 2.2.2.2: bytes=56 Sequence=1 ttl=254 time=30 ms
Reply from 2.2.2.2: bytes=56 Sequence=2 ttl=254 time=20 ms
Reply from 2.2.2.2: bytes=56 Sequence=3 ttl=254 time=20 ms
Reply from 2.2.2.2: bytes=56 Sequence=4 ttl=254 time=20 ms
Reply from 2.2.2.2: bytes=56 Sequence=5 ttl=254 time=20 ms
— 2.2.2.2 ping statistics —
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 20/22/30 ms
Use tracert command , It can track various devices passing from the local node to the destination node , So as to determine the forwarding path of the message .
[R1] tracert 2.2.2.2
traceroute to 2.2.2.2(2.2.2.2), max hops: 30 ,packet length: 40,press CTRL_C to break
1 192.168.12.2 30 ms 10 ms 1 ms
2 192.168.23.3 10 ms 20 ms 10 ms
1.6 Loopback Interface
1.6.1 What is? Loopback Interface
Loopback Interface , It's also called a loopback , It is a logical 、 Virtual interface , After creation, you can configure the interface IP Address , This interface will not Down Dropped ( Except that it's not human to shut down ), Very stable .Loopback The interface is often used to simulate the direct network segment of the router , For device management ( Remote login ), For other agreements , for example OSPF、BGP、MPLS Waiting RouteID, As SNMPtraps The source address of the alarm message .
1.6.2 Loopback Interface configuration
[Route] interface loopback Number
[Route] interface loopback 0 - 1023
1.7 Route summary
1.7.1 What is routing summary
The router's data is stored in dynamic memory , That is, the router needs to consume resources to store and maintain these data , And the routing table is to be calculated , If the router has a lot of routing tables , To devote a lot of resources , If the topology changes, we have to do convergence and so on . Ensure that the router routing table can be connected , Minimize the size of the routing table , So as to improve the utilization of network resources . A detailed route must be configured to reach each remote network , Eventually, there are too many routing entries , The routing table is too large , It increases the burden of routers . Multiple table items can be summarized into one by scientific methods , So as to achieve the effect .
Routing aggregation is a very important network design idea , A summable network design scheme will make our network more optimized 、 More streamlined routing entries 、 Network management is simpler …… In the network design and deployment, we should always keep the awareness of routing summary . Not only static routing, but also route aggregation can be deployed , Dynamic routing protocols also support the routing summary function .
1.7.2 Calculation of route summary
The summary of routes is actually completed through the operation of subnet mask . stay R2 On , In order to get to R1 The next network ,R2 Use the routing summary tool , Indicates a summary route : [R2] ip route-static 172.16.0.0 16 10.1.12.1 #12.1 by R1 The interface of IP.
Although this does serve the purpose of network optimization , however , This summary route is too “ Rugged ” 了 , It will even R3 The network segment on this side is also included , We call this route aggregation behavior inaccurate . therefore , An ideal way is , Use one “ It is just fine ” A summary route that includes these detailed routes , In this way, the problem of inaccurate summary can be avoided .
I have to emphasize here , The premise that the network can deploy routing aggregation is that our network IP The design of subnet and network model is scientific and reasonable , Therefore, routing aggregation and network IP The design of subnet and network model is closely related . If your network planning is messy , Routing aggregation and deployment is quite difficult .
The thing to do is very simple , These detail subnets are continuous , We just need to pick out the first two or three network numbers to calculate :
1) Will these IP The address is written in binary form , actually , Let's just consider the third 8 Bit group is enough , Because only it is changing .
2) Now? , We're going to draw a vertical line , The left side of this line , The binary number of each column is the same , The right side of the line doesn't matter , Can be variable , The final position of this line , Is the mask length of the summary route . Note that this vertical bar can be changed from the default mask length , That is to say /24 Start , Move to the left one by one , Until you observe that the values in each column at the left end of the line are equal , Just stop , Now , This thread , Just in the right position .
3) Pictured above , The position of the line is 16+3=19, So we get the summary address :172.16.0.0/19, This is the most accurate summary address .
1.8 IP The longest matching principle of route lookup
1.8.1 Type of routing entry ( Routing prefix type )
Host routing :172.16.1.1/32, Whatever 32 Bit can be regarded as host routing , A point he marked .
Subnet routing :172.16.1.0/24 It's a subnet .
Aggregate routing : Identify a large subnet with a route .
Main class network number :172.16.1.0/24 This defaults to a B Class address ,B The default mask of class address is /16 position , Then this must have done subnet Division ,172.16.0.0/16 yes 172.16.1.0/24 Main class network number . This is the network according to its category , The default mask for this category , The calculated network number is the main network number .192.168.1.0/24 The main type of network number is itself , Because this is C Class address , It is also used by default 24 Bitmask .10.1.1.0/24 The main network number of is 10.0.0.0/8.
HYPERNET (CIDR): Above this main class network number , Break through the mask ,172.0.0.0/8 yes 172.16.0.0/16 Super net .
Default address ( Default route ):0.0.0.0 0.0.0.0 Can match any destination .
Look at the picture above , This is a visual two-dimensional space map . The length of the prefix is getting longer from the outside to the inside , Include and included relationship .172.16.0.0/16 Contains 172.16.10.0/24,172.16.10.0/24 Also contains the 172.16.10.0/30,172.16.10.0/30 Yes 4 Subnet , Take out the first subnet , So it contains 172.16.1.1/32, If you look carefully, 172.16.0.0/16 The three inside are included , If 172.16.10.2 Which section will be the tightest , yes 172.16.10.0/30, however 172.16.10.2 Also by 172.16.0.0/16 and 172.16.10.0/24 cover , however 172.16.10.0/30 Follow 172.16.10.2 The matching length is longer , This is the longest matching principle .
The so-called main network number , It means that the network number according to its IP After the address category is distinguished 、 The network number obtained after corresponding to the default subnet mask length on . The next network number we see is 172.16.10.0/24, This obviously applies VLSM After variable length subnet mask , The one I got 172.16.0.0/16 A subnet of this main class network ( subnet ) . So the so-called subnet , We can understand that it is based on the default mask length of the category to which the network number belongs , Mask “ Lengthen ” Or borrow from the host to get a subnet number . If we have one IP:172.16.10.1, Actually this IP It can be understood as in 172.16.0.0/16 Within the network , Also in 172.16.10.0/24 Within the network , Of course , Here we can see , Who can match more accurately 172.16.10.1 This IP Well ? apparently 172.16.10.0/24 More precise , We said , Its matching length is compared to 172.16.0.0 Longer .
Of course, subnets 172.16.10.0/24 Subnets can also be further divided , obtain 172.16.10.0/30, even to the extent that 172.16.10.1/32, So if these prefixes all exist , When I'm going to find 172.16.10.1, Who has the highest matching ? Obviously , yes 172.16.10.1/32 This host prefix , Or say , Host routing , Right ? This is the longest matching principle . Now back to 172.16.0.0/16 This main class network number , Then we go out , Look at the picture above .172.0.0.0/8 In fact, this B The mask of the class address is shifted to the left 8bits, In this way, the network number actually includes 172.16.0.0/16 A large network number including , We call it Supernet .
1.8.2 Calculation method of the longest matching principle
When the router receives a IP Packet time , The purpose of the packet IP The address is compared with the entry in the local routing table bit by bit Bit by bit lookup of , Until you find the item with the longest match , This is called the longest matching principle . When the router is setting the destination IP When the address performs a lookup in the routing table , The principle adopted is “ The longest match principle ”, That is to find the purpose IP The table item with the longest matching degree between address and routing prefix , Use this table item as the basis for final data forwarding .
When the destination address of a packet is to 172.16.1.1 Of , The router will look up the table entries and follow the longest matching principle , So this one goes to 172.16.1.1 The data from S0 Interface sent out , If it's a way to 172.16.2.1 The data of , Will choose S1 Interface send out , Because the first routing table entry does not match , The last routing table item is not within the scope of my longest matching principle , If it's going to 172.17.1.1 The data of , Will choose S2 Interface send out , Because the first two routing table entries do not match , So it will find the default route , If there is a default route, it will be sent according to the outgoing interface indicated by the default route , If there is no default route , This packet will be discarded .
1.8.3 IP Summary of route lookup
Different routing prefixes ( Note that the routing prefix contains the network number + Mask , Be short of one cannot ), Belong to different routes in the routing table
Same prefix ( The network number and mask are the same ), And through different protocols , First compare the routing protocol priority , The preferred entries are loaded into the routing table , If the routing protocols have equal priority , Then further compare the routing metrics ( expenses ).
When searching the route, take the destination address of the data and look it up in the route table ( Bit by bit bit by bit), And adopt the longest matching principle , matching , forward ; No matches , Find the default route , If there is no default route , The packet is discarded and sent to the data origin host at the same time ICMP Error message .
The behavior of the router is one by one , Along the path to the target network, each router must have a route about the target , Otherwise, it will cause packet loss .
The data is bidirectional , When considering flow , Pay attention to the round trip of traffic .
1.9 Fault analysis
Pay attention to consider item by item , Back and forth ,PC Sure ping through 10.1.5.1, But the round-trip path is inconsistent , and R1 Not necessarily ,R1ping Target network , Who is the source address ?,R1 There are three IP Address , If ping The command did not specify a source address , Then I will use this ICMP Message output interface IP Address as source address , Here we use 192.168.1.33, When packets arrive 10.1.5.1 The network segment should have a backhaul route , arrive R3 Find matching performance after , Learn to go to 192.168.1.193, Then arrive R2 Then continue to find the matching table entries , Note that the address range of the third routing table entry is 192.168.1.1-192.168.1.30, The destination address of this packet is 192.168.1.33, Obviously not , Then continue to find the default route , No default route found , So the packet is discarded , therefore R1 unable ping through 10.1.5.1.
1.10 Floating static routing
1.10.1 What is floating static routing
In order to improve reliability and stability , Two routes are configured on the router to the same destination , Different next hop addresses are used respectively , We found that both routes are static , So their priority is 60, The cost is 0, This means that the two routes are completely equivalent ,PK No results , Will be put into the routing table and work , We call it equivalent load sharing / equilibrium . In this case, the investment in links and equipment has paid off , But do I go left or right , In this case, floating static routing is required . It brings us a mechanism of routing redundancy .
\
1.10.2 Configuration of floating static route
[R3] ip route-static 10.9.9.0 24 10.1.13.1
[R3] ip route-static 10.9.9.0 24 10.1.23.2 preference 80
The static routing priority defaults to 60, We modify the priority of routing table entries , Enable redundancy , The lower the priority, the better , Therefore, the first entry is written into the routing table , And the second one is temporarily invisible , When will it emerge , When the outgoing interface indicated by the first routing table item fails , The second route emerges .
1.11 Problems in summary routing
1.11.1 Summary routing causes loop problems
Routing summary can ensure the accessibility of the network and reduce the size of the router's routing table , So as to reduce the loss of resources , However, if used improperly , Will cause loop problems . It is too laggy to find the network suddenly changed. , The network is flooded with a large number of broadcasts , By capturing packets, it is found that the network is full of a large amount of data , The destination address of the data is an unknown unicast address , It can be located that there is a loop in this network , Cause the equipment to jam ,CPU High resource utilization . Although the head of the third floor has TTL The value can prevent the ring , Then you have to wait TTL The value is 0 The packet will be discarded when , The amount of data between routers is particularly large , It is easy to damage the equipment .
1.11.2 Solve the loop problem caused by summary routing
IP route-static 192.168.0.0 16 null 0
be called “ Black hole routing ”,null 0 Is a reserved interface , Equivalent to the recycle bin of the router , If it is matched by this routing table item, it will be lost to null 0( The recycle bin ) Go to .
If there is a destination, the address is 192.168.5.0/24 Data packets of , Will match “IP route-static 192.168.0.0 16 null 0” This routing table entry , This idea is to solve the loop problem caused by summary routing . Static routing can only manually create an anti ring mechanism , Dynamic routing protocol (OSPF,ISIS,BGP) Each has its own routing aggregation mechanism , When you run dynamic routing protocol and routing summary on a three-tier device , Then these dynamic protocols will automatically generate a black hole path to prevent the ring .
1.12 Static routing BFD
1.12.1 What is static routing BFD
Static routing cannot respond to some changes ,R1 Static routing , If the switch and R2 The link between has failed ,R1 Is imperceptible , Therefore, the configured static route will not disappear , There is a problem .
1.12.2 Configure static routing BFD( resolvent )
Enable BFD after ,R1 And R2 Periodically detect each other's accessibility , Once you find the other party unreachable , This group will be linked locally BFD Static routing of down fall , Solve... In this way .
• R1 The configuration is as follows :
[R1] interface gigabitEthernet 0/0/0
[R1-gigabitEthernet0/0/23] ip address 192.168.12.1 24
[R1-gigabitEthernet0/0/23] quit
[R1] bfd # Can make BFD
[R1-bfd] quit
# To configure R1 And R2 Between BFD Session :
[R1] bfd name bind peer-ip Opposite end IP source-ip Local IP Run with the opposite end BFD Of IP
[R1] bfd bfd12 bind peer-ip 192.168.12.2 source-ip 192.168.12.1
[R1-bfd-session-bfd12] discriminator local 11 # Configure local identifiers R1 Of local Corresponding R2 Of remote
[R1-bfd-session-bfd12] discriminator remote 22 # Configure remote identifier R1 Of remote Corresponding R2 Of local
[R1-bfd-session-bfd12] commit
[R1-bfd-session-bfd12] quit # Use commit Keywords make BFD take effect
[R1] ip route-static 2.2.2.0 255.255.255.0 192.168.12.2 track bfd-session bfd12
• R2 The configuration is as follows :
[R2] interface gigabitEthernet 0/0/0
[R2-gigabitEthernet0/0/23] ip address 192.168.12.2 24
[R2-gigabitEthernet0/0/23] quit
[R2] bfd
[R2-bfd] quit
[R2] bfd bfd12 bind peer-ip 192.168.12.1 source-ip 192.168.12.2
[R2-bfd-session-bfd12] discriminator local 22 # Configure local identifiers
[R2-bfd-session-bfd12] discriminator remote 11 # Configure remote identifier
[R2-bfd-session-bfd12] commit
[R2-bfd-session-bfd12] quit # Use commit Keywords make BFD take effect
• Verify configuration :
[R1] display bfd session all
-----------------------------------------------------------------------------------------
Local Remote PeerIpAddr State Type InterfaceName
-----------------------------------------------------------------------------------------
11 22 192.168.12.2 Up S_IP_PEER -
-----------------------------------------------------------------------------------------
Total UP/DOWN Session Number : 1/0
————————————————
Copyright notice : This paper is about CSDN Blogger 「 Walking along the river 」 The original article of , follow CC 4.0 BY-SA Copyright agreement , For reprint, please attach the original source link and this statement .
Link to the original text :https://blog.csdn.net/weixin_45614937/article/details/120924739
IP Routing principle
https://blog.csdn.net/weixin_45614937/article/details/120924739
https://blog.csdn.net/GALi_233/article/details/111409687
https://zhuanlan.zhihu.com/p/338894712
边栏推荐
- What aspects should we start with in the feasibility analysis of dry goods?
- How to grab the mobile phone bag for analysis? Fiddler artifact may help you!
- Can AI chat robots replace manual customer service?
- 嵌入式开发:技巧和窍门——干净地从引导加载程序跳转到应用程序代码
- How to solve the problem that the computer suddenly can't connect to WiFi
- Docker installs MySQL 8.0. Detailed steps
- socket(2)
- 使用Aggregated APIServer扩展你的kubernetes API
- Find the maximum value in each tree row [extension of one of the hierarchical traversals]
- Servlet details
猜你喜欢
Raspberry pie preliminary use
Idea close global search box
关于自动控制原理资料更新
Heartless sword Chinese English bilingual poem 003 The sea of books
How to grab the mobile phone bag for analysis? Fiddler artifact may help you!
Selection and comparison of message oriented middleware MQ
如何抓手机的包进行分析,Fiddler神器或许能帮到您!
ansible基本配置
Use of selector for NiO multiplexing
The logic of "Ali health" has long changed
随机推荐
Resolving the conflict problem of the flutter Library
Genesis公链与美国一众加密投资者齐聚Consensus 2022
“阿里健康”们的逻辑早就变了
Redis-跳表
如何比较两个或多个分布:从可视化到统计检验的方法总结
字符串习题总结2
04A中断的配置
嵌入式开发:技巧和窍门——干净地从引导加载程序跳转到应用程序代码
Seven principles of software design
SAP interface debug setting external breakpoints
虚拟人的产业发展现状
Online filing process
ThreadLocal内存泄漏问题
interrupt、interrupted 、isInterrupted 区别
The logic of "Ali health" has long changed
证件照处理
问题求解——嵌套列表
Ansible basic configuration
Problèmes de concurrence dans l'allocation de mémoire en tas
Double linked list implementation