通过静态LSP、LDP LSP、MPLS TE三种方式实现总部与分支的互通

news2024/11/26 0:28:19

一、静态LSP

特点:类似静态路由,简单易用,手动建立lsp,定制转发路径,无需控制报文,资源消耗少。

缺点:不适合大型复杂拓扑,不能根据网络变化而动态调整,需要管理员手动调整。(结合BFD可以自动切换)

组网方式

LSR_1、LSR_2、LSR_3为MPLS骨干网设备。要求通过配置静态LSP隧道,使这分支和总部互访的报文能够通过LSP在MPLS网络中进行传输。如下图所示。

具体配置及解析如下

LSR_1:

#
 sysname LSR_1
#
mpls lsr-id 10.10.1.1   //配置MPLS LSR ID
mpls   //使能全局MPLS功能
#
interface GigabitEthernet1/0/0
 ip address 10.1.1.1 255.255.255.0
 mpls   //使能接口MPLS功能
#
interface GigabitEthernet2/0/0
 ip address 10.3.1.1 255.255.255.0
#
interface LoopBack1
 ip address 10.10.1.1 255.255.255.255
#
ospf 1   //配置路由
 area 0.0.0.0
  network 10.1.1.0 0.0.0.255
  network 10.3.1.0 0.0.0.255
  network 10.10.1.1 0.0.0.0
#
static-lsp ingress LSP1 destination 10.4.1.0 24 nexthop 10.1.1.2 out-label 20   //配置本节点为指定LSP1的Ingress
static-lsp egress LSP2 incoming-interface GigabitEthernet1/0/0 in-label 60   //配置本节点为指定LSP2的Egress
#
return

LSR_2:

#
 sysname LSR_2
#
mpls lsr-id 10.10.1.2
mpls
#
interface GigabitEthernet1/0/0
 ip address 10.1.1.2 255.255.255.0
 mpls
#
interface GigabitEthernet2/0/0
 ip address 10.2.1.1 255.255.255.0
 mpls
#
interface LoopBack1
 ip address 10.10.1.2 255.255.255.255
#
ospf 1
 area 0.0.0.0
  network 10.1.1.0 0.0.0.255
  network 10.2.1.0 0.0.0.255
  network 10.10.1.2 0.0.0.0
#
static-lsp transit LSP1 incoming-interface GigabitEthernet1/0/0 in-label 20 nexthop 10.2.1.2 out-label 40   //配置本节点为指定LSP1的Transit
static-lsp transit LSP2 incoming-interface GigabitEthernet2/0/0 in-label 30 nexthop 10.1.1.1 out-label 60   //配置本节点为指定LSP2的Transit
#
return

 LSR_3:

#
 sysname LSR_3
#
mpls lsr-id 10.10.1.3
mpls
#
interface GigabitEthernet1/0/0
 ip address 10.2.1.2 255.255.255.0
 mpls
#
interface LoopBack1
 ip address 10.10.1.3 255.255.255.255
#
ospf 1
 area 0.0.0.0
  network 10.2.1.0 0.0.0.255
  network 10.3.1.0 0.0.0.255
  network 10.10.1.3 0.0.0.0
#
static-lsp ingress LSP2 destination 10.3.1.0 24 nexthop 10.2.1.1 out-label 30   //配置本节点为指定LSP2的Ingress
static-lsp egress LSP1 incoming-interface GigabitEthernet1/0/0 in-label 40   //配置本节点为指定LSP1的Egress
#
return

配置注意事项 

1、配置静态LSP时需要遵循的原则是:前一节点出标签的值等于下一个节点入标签的值

2、配置静态LSP时,需要注意配置的静态LSP的路由一定要和路由信息完全匹配。

3、如果在配置静态LSP时指定了下一跳,则在配置IP静态路由时也必须指定下一跳,否则不能建立静态LSP。

4、如果LSR之间使用动态路由协议互通,则LSP的下一跳IP地址必须与路由表中的下一跳IP地址一致。

配置结果验证

1、在LSR上执行命令display mpls static-lsp,可以看到LSP的StatusUp

2、企业分支与总部可以相互Ping通。

二、LDP LSP

LSP的建立过程实际就是将 FEC 和标签进行绑定,并将这种绑定通告 LSP上相邻LSR。这个过程是通过 LDP实现的。下面结合下游自主标签发布方式和有序标签控制方式来说明其主要步骤: 
1.  当网络的路由改变时,如果有一个边缘节点发现自己的路由表中出现了新的目的地址,并且这一地址不属于任何现有的 FEC,则该边缘节点需要为这一目的地址建立一个新的 FEC。 
2.  如果 MPLS 网络的出节点有可供分配的标签,则为 FEC 分配标签,并主动向上游发出标签映射消息,标签映射消息中包含分配的标签等信息; 
3.  收到标签映射消息的 LSR 在其标签转发表中增加相应的条目,然后主动向上游LSR 发送标签映射消息; 
4.  当入节点 LSR 收到标签映射消息时,它也需要在标签转发表中增加相应的条目。这时,就完成了 LSP 的建立,接下来就可以对该 FEC 对应的数据分组进行标签转发了。 

LSP的建立过程:

当边缘节点(Eggress)发现自己的路由表出现了新的主机路由,并且这一路由不属于任何现有的FEC,则该Eggress需要位这一路由建立一个新的FEC
如果此Egress有可供分配的标签,则为FEC分配标签,并主动向上游发出标签映射消息(包含分配的标签和绑定的FEC等信息)
中间节点(Transit)收到标签映射消息后,判断标签映射信息的发送者(Egress)是否为该FEC的下一跳,若是,则在其标签转发表中增加相应的条目,然后主动向上游LSR发送对于指定FEC的标签映射消息
边缘节点(Ingress)收到标签映射消息后,判断标签映射的发送者(Transit)是否为该FEC的下一跳,若是,则在其标签转发表中增加相应的条目。
此时,LSP完成建立,接下来就可以对该FEC对应的数据报文进行标签转发

组网需求

PE和P为MPLS骨干网设备,PE_1和PE_2之间路由可达。如下图所示。

企业现要求分支和总部之间的流量通过MPLS转发,并且当主用LSP故障时,流量能够快速切换到备份LSP,尽可能地避免流量的丢失。另外,为了避免建立的LSP数量过多,影响设备性能,所有设备上只允许目的地址为10.10.1.x/32、10.6.1.0/24和10.7.1.0/24的路由表项触发建立LSP,其他路由表项不能触发建立LSP。

配置命令如下

PE_1:

#
 sysname PE_1
#
bfd   //全局使能BFD功能
#
mpls lsr-id 10.10.1.1   //配置MPLS LSR ID
mpls   //使能全局MPLS功能
 lsp-trigger ip-prefix pe1    //根据IP地址前缀列表触发LDP建立LSP
 mpls bfd enable   //使能BFD功能
 mpls bfd-trigger fec-list tortc  //指定LDP BFD以FEC列表方式触发
 mpls bfd min-tx-interval 100 min-rx-interval 100
#
fec-list tortc   //创建FEC列表
 fec-node 10.10.1.2
#
mpls ldp   //使能全局MPLS LDP功能
#
interface GigabitEthernet1/0/0   //使能接口MPLS LDP功能
 ip address 10.1.1.1 255.255.255.0
 mpls   
 mpls ldp   
#
interface GigabitEthernet2/0/0
 ip address 10.3.1.1 255.255.255.0
 mpls   
 mpls ldp   
#
interface GigabitEthernet3/0/0
 ip address 10.6.1.1 255.255.255.0
#
interface LoopBack1
 ip address 10.10.1.1 255.255.255.255
#
ospf 1   //配置OSPF路由
 area 0.0.0.0
  network 10.1.1.0 0.0.0.255
  network 10.3.1.0 0.0.0.255
  network 10.6.1.0 0.0.0.255
  network 10.10.1.1 0.0.0.0
#
ip ip-prefix pe1 index 10 permit 10.10.1.1 32   //创建IP地址前缀列表
ip ip-prefix pe1 index 20 permit 10.10.1.2 32
ip ip-prefix pe1 index 30 permit 10.10.1.3 32
ip ip-prefix pe1 index 40 permit 10.10.1.4 32
ip ip-prefix pe1 index 50 permit 10.10.1.5 32
ip ip-prefix pe1 index 60 permit 10.6.1.0 24
ip ip-prefix pe1 index 70 permit 10.7.1.0 24
#
return

P_1 

#
 sysname P_1
#
mpls lsr-id 10.10.1.3   //配置MPLS LSR ID
mpls   //使能全局MPLS功能
#
mpls ldp   //使能全局MPLS LDP功能
#
interface GigabitEthernet1/0/0   //使能接口MPLS LDP功能
 ip address 10.1.1.2 255.255.255.0
 mpls   
 mpls ldp   
#
interface GigabitEthernet2/0/0
 ip address 10.2.1.1 255.255.255.0
 mpls   
 mpls ldp   
#
interface LoopBack1
 ip address 10.10.1.3 255.255.255.255
#
ospf 1   //配置OSPF路由
 area 0.0.0.0
  network 10.1.1.0 0.0.0.255
  network 10.2.1.0 0.0.0.255
  network 10.10.1.3 0.0.0.0
#
return

P_2:

#
 sysname P_2
#
mpls lsr-id 10.10.1.4   //配置MPLS LSR ID
mpls   //使能全局MPLS功能
#
mpls ldp   //使能全局MPLS LDP功能
#
interface GigabitEthernet1/0/0   //使能接口MPLS LDP功能
 ip address 10.3.1.2 255.255.255.0
 mpls   
 mpls ldp   
#
interface GigabitEthernet2/0/0
 ip address 10.4.1.1 255.255.255.0
 mpls   
 mpls ldp   
#
interface LoopBack1
 ip address 10.10.1.4 255.255.255.255
#
ospf 1   //配置OSPF路由
 area 0.0.0.0
  network 10.3.1.0 0.0.0.255
  network 10.4.1.0 0.0.0.255
  network 10.10.1.4 0.0.0.0
#
return

P_3: 

#
 sysname P_3
#
mpls lsr-id 10.10.1.5   //配置MPLS LSR ID
mpls   //使能全局MPLS功能
#
mpls ldp   //使能全局MPLS LDP功能
#
interface GigabitEthernet1/0/0   //使能接口MPLS LDP功能
 ip address 10.4.1.2 255.255.255.0
 mpls   
 mpls ldp   
#
interface GigabitEthernet2/0/0
 ip address 10.5.1.1 255.255.255.0
 mpls   
 mpls ldp   
#
interface LoopBack1
 ip address 10.10.1.5 255.255.255.255
#
ospf 1   //配置OSPF路由
 area 0.0.0.0
  network 10.4.1.0 0.0.0.255
  network 10.5.1.0 0.0.0.255
  network 10.10.1.5 0.0.0.0
#
return

 PE_2:

#
 sysname PE_2
#
bfd   //全局使能BFD功能
 mpls-passive   //使能被动创建BFD会话功能
#
mpls lsr-id 10.10.1.2   //配置MPLS LSR ID
mpls   //使能全局MPLS功能
 lsp-trigger ip-prefix pe2   //根据IP地址前缀列表触发LDP建立LSP
#
mpls ldp   //使能全局MPLS LDP功能
#
interface GigabitEthernet1/0/0   //使能接口MPLS LDP功能
 ip address 10.2.1.2 255.255.255.0
 mpls   
 mpls ldp   
#
interface GigabitEthernet2/0/0
 ip address 10.5.1.2 255.255.255.0
 mpls   
 mpls ldp   
#
interface GigabitEthernet3/0/0
 ip address 10.7.1.1 255.255.255.0
#
interface LoopBack1
 ip address 10.10.1.2 255.255.255.255
#
ospf 1   //配置OSPF路由
 area 0.0.0.0
  network 10.2.1.0 0.0.0.255
  network 10.5.1.0 0.0.0.255
  network 10.7.1.0 0.0.0.255
  network 10.10.1.2 0.0.0.0
#
ip ip-prefix pe2 index 10 permit 10.10.1.1 32   //创建IP地址前缀列表
ip ip-prefix pe2 index 20 permit 10.10.1.2 32
ip ip-prefix pe2 index 30 permit 10.10.1.3 32
ip ip-prefix pe2 index 40 permit 10.10.1.4 32
ip ip-prefix pe2 index 50 permit 10.10.1.5 32
ip ip-prefix pe2 index 60 permit 10.6.1.0 24
ip ip-prefix pe2 index 70 permit 10.7.1.0 24
#
return

验证配置结果及注意事项

1、在LSR上执行命令display mpls ldp lsp,可以看到去往对应目的地址的LSP已经建立。将同一台测试仪的两个接口(Port1和Port2)分别接入PE_1和PE_2,从Port1向Port2打MPLS流。当对P_1的GE1/0/0接口进行shutdown操作来模拟主用LSP故障时,发现流量快速切换到备份LSP。

2、企业分支与总部可以相互Ping通。

3、配置LSR ID是配置其它MPLS命令的前提。

4、MPLS是基于路由来建立LSP,需确保路由可达。

MPLS TE实现分支和总部的互通

企业分支和总部通过MPLS网络进行互联。要求创建一条沿显式路径:LSR_1→LSR_2→LSR_3→LSR_4的主隧道。在中间节点LSR_2上配置一条TE FRR的旁路保护隧道,路径为LSR_2→LSR_5→LSR_3,并在入节点LSR_1上配置普通备份CR-LSP,路径为LSR_1→LSR_6→LSR_3→LSR_4。当LSR_2和LSR_3之间的链路出现故障后,设备启用TE FRR旁路保护隧道(即主CR-LSP处于Frr-in-use状态)并尝试恢复主CR-LSP的同时,也会尝试创建备份CR-LSP。组网图如下:

配置命令如下

LSR_1:

#
 sysname LSR_1
#
bfd   //使能BFD功能
#
mpls lsr-id 10.10.1.9
mpls   //使能MPLS TE
 mpls te
 mpls rsvp-te
 mpls te cspf
#
explicit-path backup-path   //配置备份CR-LSP的显式路径
 next hop 10.6.1.2
 next hop 10.7.1.2                                                             
 next hop 10.3.1.2                                                             
 next hop 10.10.4.9                                                               
#                                                                               
explicit-path pri-path   //配置主CR-LSP的显式路径
 next hop 10.1.1.2                                                             
 next hop 10.2.1.2                                                             
 next hop 10.3.1.2                                                             
 next hop 10.10.4.9 
#
interface GigabitEthernet1/0/0   //使能接口MPLS TE
 ip address 10.1.1.1 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface GigabitEthernet2/0/0
 ip address 10.6.1.1 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface LoopBack1
 ip address 10.10.1.9 255.255.255.255
#
interface Tunnel0/0/1   //配置主CR-LSP的MPLS TE隧道接口
 ip address unnumbered interface LoopBack1                                      
 tunnel-protocol mpls te                                                        
 destination 10.10.4.9                                                            
 mpls te tunnel-id 100                                                          
 mpls te bfd enable   //配置动态BFD for CR-LSP功能
 mpls te bfd min-tx-interval 500 min-rx-interval 500
 mpls te record-route label                                                     
 mpls te path explicit-path pri-path                                            
 mpls te path explicit-path backup-path secondary                               
 mpls te fast-reroute   //使能TE FRR功能
 mpls te backup ordinary                                                        
 mpls te backup frr-in-use                                                      
 mpls te commit 
#
ospf 1   //配置OSPF路由
 opaque-capability enable                                                       
 area 0.0.0.0                                                                   
  network 10.1.1.0 0.0.0.255                                                   
  network 10.6.1.0 0.0.0.255                                                   
  network 10.10.1.9 0.0.0.0
  mpls-te enable
#
return 

LSR_2:

#
 sysname LSR_2
#
mpls lsr-id 10.10.2.9 
mpls   //使能MPLS TE
 mpls te       
 mpls rsvp-te   
 mpls te cspf    
#
explicit-path by-path   //配置Bypass CR-LSP的显式路径
 next hop 10.4.1.2  
 next hop 10.5.1.2  
 next hop 10.10.3.9  
# 
interface GigabitEthernet1/0/0   //使能接口MPLS TE
 ip address 10.1.1.2 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface GigabitEthernet2/0/0
 ip address 10.2.1.1 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface GigabitEthernet3/0/0
 ip address 10.4.1.1 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface LoopBack1
 ip address 10.10.2.9 255.255.255.255
#                                                                               
interface Tunnel0/0/2   //配置Bypass CR-LSP的隧道接口
 ip address unnumbered interface LoopBack1                                      
 tunnel-protocol mpls te                                                        
 destination 10.10.3.9                                                            
 mpls te tunnel-id 300                                                          
 mpls te record-route                                                           
 mpls te path explicit-path by-path                                             
 mpls te bypass-tunnel                                                          
 mpls te protected-interface GigabitEthernet2/0/0                               
 mpls te commit
#
ospf 1   //配置OSPF路由
 opaque-capability enable  
 area 0.0.0.0   
  network 10.1.1.0 0.0.0.255   
  network 10.2.1.0 0.0.0.255   
  network 10.4.1.0 0.0.0.255   
  network 10.10.2.9 0.0.0.0
  mpls-te enable
#
return 

LSR_3:

#
 sysname LSR_3
# 
bfd   //使能被动创建BFD会话
 mpls-passive
#
mpls lsr-id 10.10.3.9
mpls   //使能MPLS TE
 mpls te
 mpls rsvp-te
#
interface GigabitEthernet1/0/0   //使能接口MPLS TE
 ip address 10.2.1.2 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface GigabitEthernet2/0/0
 ip address 10.3.1.1 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface GigabitEthernet3/0/0
 ip address 10.5.1.2 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface GigabitEthernet4/0/0
 ip address 10.7.1.2 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface LoopBack1
 ip address 10.10.3.9 255.255.255.255
#
ospf 1   //配置OSPF路由
 opaque-capability enable                                                       
 area 0.0.0.0                                                                   
  network 10.2.1.0 0.0.0.255                                                   
  network 10.3.1.0 0.0.0.255                                                   
  network 10.5.1.0 0.0.0.255                                                   
  network 10.7.1.0 0.0.0.255                                                   
  network 10.10.3.9 0.0.0.0
  mpls-te enable 
#
return 

LSR_4

#
 sysname LSR_4
#
mpls lsr-id 10.10.4.9  
mpls   //使能MPLS TE
 mpls te   
 mpls rsvp-te 
#
interface GigabitEthernet1/0/0   //接口使能MPLS TE
 ip address 10.3.1.2 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface LoopBack1
 ip address 10.10.4.9 255.255.255.255
#
ospf 1   //配置OSPF路由
 opaque-capability enable                                                       
 area 0.0.0.0                                                                   
  network 10.3.1.0 0.0.0.255                                                   
  network 10.10.4.9 0.0.0.0
  mpls-te enable
#
return 

LSR_5

#
 sysname LSR_5
#
mpls lsr-id 10.10.5.9  
mpls   //使能MPLS TE
 mpls te   
 mpls rsvp-te
#
interface GigabitEthernet1/0/0   //接口使能MPLS TE
 ip address 10.4.1.2 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface GigabitEthernet2/0/0
 ip address 10.5.1.1 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface LoopBack1
 ip address 10.10.5.9 255.255.255.255
#
ospf 1   //配置OSPF路由
 opaque-capability enable                                                       
 area 0.0.0.0                                                                   
  network 10.4.1.0 0.0.0.255                                                   
  network 10.5.1.0 0.0.0.255                                                   
  network 10.10.5.9 0.0.0.0
  mpls-te enable 
#
return 

LSR_6

#
 sysname LSR_6
#
mpls lsr-id 10.10.6.9                                                             
mpls   //使能MPLS TE
 mpls te                                                                        
 mpls rsvp-te
#
interface GigabitEthernet1/0/0   //接口使能MPLS TE
 ip address 10.6.1.2 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface GigabitEthernet2/0/0
 ip address 10.7.1.1 255.255.255.0
 mpls
 mpls te
 mpls rsvp-te
#
interface LoopBack1
 ip address 10.10.6.9 255.255.255.255
#
ospf 1   //配置OSPF路由
 opaque-capability enable                                                       
 area 0.0.0.0                                                                   
  network 10.6.1.0 0.0.0.255                                                   
  network 10.7.1.0 0.0.0.255                                                   
  network 10.10.6.9 0.0.0.0
  mpls-te enable 
#
return 

配置结果验证及注意事项

配置验证

将LSR_2的GE2/0/0接口Shutdown后,在LSR_1上执行display mpls te tunnel-interface命令,可以看到隧道状态为“Up”,说明主隧道处于Frr-in-use状态的同时,正在创建普通备份的CR-LSP和恢复主CR-LSP。即当主CR-LSP故障后,系统启用TE FRR旁路保护隧道(即主CR-LSP处于Frr-in-use状态)并尝试恢复主CR-LSP的同时,也会尝试创建备份CR-LSP。

注意事项

1、在采用RSVP-TE动态建立CR-LSP时,必须配置IGP的TE扩展(目前支持OSPF TE和ISIS TE)。在不配置IGP的TE扩展时计算出的路径是由IGP路由得到的,而不是CSPF计算出来的。

2、只有使用RSVP-TE信令协议建立的MPLS TE隧道支持FRR功能。

3、同一个Tunnel接口不能同时作为旁路隧道和备份隧道。

4、同一个Tunnel接口不能同时作为旁路隧道和主隧道。

5、配置旁路隧道时,需要先规划好它所保护的链路或节点,并确保该旁路隧道不会经过它所保护的链路或节点,否则不能真正起到保护作用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/116067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【jprofiler应用-oom原因定位】

1.安装jprofiler jprofiler_windows-x64_11_0_2.exe 2.使用KeyGen.exe生成注册码然后输入 3.idea中安装jprofiler插件 File-->Setting-->Plugins 搜索jprofiler插件然后安装 4.以一个内存溢出的程序为例子进行分析(一直分配内存,List容器引用着Student导致…

医疗产品设计的新趋势

随着个人健康和医疗数据技术的发展,消费者可以选择更多的方法来跟踪和管理他们的健康状况,因此医疗产品开始转向更多的健康预防领域。医疗器械设计公司认为,随着医疗产品设计从医疗产品转向家庭,医疗产品的设计需要考虑更多的新问…

【HTML+CSS+JavaScript】实现简单网页版的飞机大战

文章目录【HTMLCSSJavaScript】实现简单网页版的飞机大战一. HTML部分代码二. CSS部分代码三. JavaScript部分代码四. 完整的代码和图片获取【HTMLCSSJavaScript】实现简单网页版的飞机大战 本文分享的是键盘版飞机大战的代码,且文章末尾有惊喜。 效果图&#xff1a…

前端食堂技术周刊第 64 期:Node.js 19、Interop 2022、SvelteKit 1.0、2022 Web 性能回顾、最流行的 Node.js

美味值:🌟🌟🌟🌟🌟 口味:冰糖雪梨 食堂技术周刊仓库地址:https://github.com/Geekhyt/weekly 本期摘要 Node.js 19 的新特性Interop 2022 年终更新SvelteKit 1.02022 Web 性能回…

Python爬虫学习第十二天---scrapy学习

Python爬虫学习第十二天—scrapy学习 一、scrapy的概念和流程 1、scrapy概念 Scrapy是一个Python编写的开源网络爬虫框架,它是一个被设计用于爬取网络数据、提取结构性数据的框架。Scrapy文档地址:http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/…

采用抓包的方式逆向获得谷歌翻译的API

文章目录最开始的尝试2022.12.26谷歌翻译API相关信息发送网址提交的数据不过不出意外的失败了实验去掉参数去掉Headers代码对返回结果进行解析完整代码最开始的尝试 谷歌的翻译API老是发生变化,我们需要自己动手来找到谷歌的翻译API,这样才是最稳妥的解决…

个人博客系统(前后端分离)

努力经营当下,直至未来明朗! 文章目录一、项目简介二、项目效果三、项目实现1. 软件开发的基本流程2. 博客系统 需求分析3. 博客系统 概要设计4. 创建maven项目5. 编写数据库操作的代码四、项目代码总结普通小孩也要热爱生活! 一、项目简介 …

Mac 音频转换器推荐 DRmare Audio Converter、Audi Free Auditor

Mac 音频转换器推荐 DRmare Audio Converter、Audi Free Auditor 给大家推荐两款 Mac 上的音频转换器,这两款转换器都可以转换苹果音乐,iTunes歌曲或者一些常规的音轨到MP3, FLAC, WAV, M4A, AAC格式等等,转换后我们就可以在所有的设备和播放…

stm32f407VET6 系统学习 day06 窗口看门狗, IIC 通信协议

1.独立看门狗,与窗口看门狗的差别 1. 差别1 : 窗口看门狗, 有上限 0x7F, 有下限 0x40 ,, 独立看门狗只有下限 0 2. 差别2: 时钟源不同, 独立看门狗:LSI 窗口…

【iMessage苹果推群发】苹果相册推它由pushchatkey.pem和pushchatcert.pem作为单独的文件使用

推荐内容IMESSGAE相关 作者推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者推荐内容3.日历推 *** 点击即可查看作者要求内容信息作者推荐…

cut与分层抽样

个人觉得, 把分层抽样称为“分类采样”会更贴切一些。通常最基本的采样手段是:随机抽样,但是在很多场景下,随机抽样是有问题的,举一个简单的例子:如果现在要发起一个啤酒品牌知名度的调查问卷,我…

Improved Unsupervised Lexical Simplification with Pretrained Encoders 论文精读

Improved Unsupervised Lexical Simplification with Pretrained Encoders 论文精读InformationAbstract1 Introduction2 System Description2.1 Simplification Candidate Generation2.2 Substitution Ranking2.3 Obtaining Equivalence Scores3 End-to-end System Performanc…

好书推荐《C++17 in Detail》

无意中发现作者的博客(https://www.cppstories.com/)和这本书。这本书算是对C17新增特性较为全面的介绍,而且从实战出发,不流于语法细枝末节,简洁清晰,可以作为Scott Meyers那本非著名的《Effective Modern…

2022环境电器年度行业分析报告:洗地机同比增长357%,扫地机器人销量197万+

在当前的大环境下,人们的消费观念不断变化,健康因素在购买决策中的比重逐渐增大,因此,与此挂钩的环境电器行业也迎来发展变化。 在这里,鲸参谋也综合了京东平台环境电器中一些重点类目的销售数据,主要包括吸…

Krita像素画教程

Krita Windows 上一款自由开源的绘画软件 Krita 是一款自由开源的免费绘画软件,使用 GPL 许可证发布。它的功能齐全,能胜任从起草、勾线、上色到最终调整的所有绘画流程,可以绘制概念草图、插画、漫画、动画、接景和 3D 贴图,支持…

云服务器部署内网穿透映射本地服务

项目开发时需要和前端联调,考虑使用内网穿透避免每次上传服务部署的过程 下载frp (开源内网穿透、反向代理工具) https://github.com/fatedier/frp/releases/上传云服务器并解压(使用xftp等工具上传) tar -zxvf frp_0…

尚硅谷JavaWeb教程

1、Servlet Server Applet 全称为:Java Servlet是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类。 1.1、Ser…

李沐精读论文:DETR End to End Object Detection with Transformers

论文: End-to-End Object Detection with Transformers 代码:官方代码 Deformable DETR:论文 代码 视频:DETR 论文精读【论文精读】_哔哩哔哩_bilibili 本文参考: 山上的小酒馆的博客-CSDN博客 端到端目标检测DETR…

【javaSE】类和对象

希望各位老铁三连支持! 文章目录 # 关于面向对象# 类的定义和使用# 构造方法的创建和初始化# 封装## 封装的概念## 访问限定符## 封装包的各种用法# 关键字static# 代码块一、关于面向对象 1.1面向对象的定义 简单来说,面向对象就是一种编程的思想&…

Compose 为什么可以跨平台?

这是我在 2022 Kotlin 中文开发者大会 中带来的一个分享,会后有网友反馈希望将 PPT 内容整理成文字方便阅读,所以就有了本篇文章。大家如果要了解本次大会更多精彩内容,也可以去 JetBrains 官方视频号查看大会的直播回放。 前言 Compose 不止…