主頁 > 軟體設計 > 大規模路由綜合實驗

大規模路由綜合實驗

2021-11-09 07:44:37 軟體設計

文章目錄

  • 大規模路由綜合實驗
    • 實驗拓撲
    • 實驗需求
    • 實驗步驟
      • 1.配置IP地址略
      • 2.總公司和分公司內部配置OSPF,不能出現業務網段
      • 3.總公司和分公司內部配置IBGP,業務網段宣告進BGP
      • 4.總公司和分公司之間配置EBGP
      • 5.辦事處和總公司之間配置RIP
      • 6.調整鏈路cost值避免產生等價路由
      • 7.修改AS_path,A流走R2R4,B流走R3R5
      • 8.R2配置RIP和BGP雙向引入
      • 9.RIP中配置靜默介面
      • 10.分公司不能互訪,總公司對分公司發布屬于本AS路由
      • 11.測驗

大規模路由綜合實驗

實驗拓撲

在這里插入圖片描述

實驗需求

1.某企業總公司和分公司運行 BGP 實作路由互通,另外還有辦事處運行 RIPv2,總公司和分公司之間通過兩條線路相 連,企業內有 A 流和 B 流兩種流量,如圖所示
2.按照圖示配置 IP 地址,除 R7 外,所有路由配置 Loopback0 口 IP 地址用于 OSPF 的 Router-id 和 IBGP 建立鄰居,地址格式為 X.X.X.X/32,X 為設備編號
3.總公司和分公司內部配置 OSPF,僅用于實作 BGP 的 TCP 可達,不允許宣告業務網段
4.辦事處和總公司之間配置 RIPv2
5.適當調整鏈路 Cost,避免產生等價路由
6.總公司和分公司配置 BGP 實作路由互通,總公司在 AS 65001,分公司在 AS 65002,各自 AS 內部使用對等體組 建立可靠的 IBGP 全連接,AS 之間使用直連介面建立 EBGP 鄰居,總公司和分公司的業務網段宣告在 BGP 中
7.為了實作總公司和分公司的流量負載均衡,要求通過修改 AS_path,使 A 流資料經過 R2 和 R4,B 流資料經過 R3 和 R5
8.在 R2 上配置 RIP 和 BGP 的雙向引入,要求辦事處的 A 流和 B 流都能與總公司互通,但辦事處與分公司之間只 有 A 流能夠互通
9.不允許業務網段出現協議報文,不允許出現不相關的 RIP 協議報文
10.隨著公司業務發展,后續可能會有其他分公司通過 R2 或 R3 接入總公司;不允許分公司之間互訪,所以要求總公司只能對分公司發布屬于本 AS 的路由

實驗步驟

1.配置IP地址略

2.總公司和分公司內部配置OSPF,不能出現業務網段

R1
#
ospf 1 router-id 1.1.1.1
 area 0.0.0.0
  network 1.1.1.1 0.0.0.0
  network 10.0.0.1 0.0.0.0
  network 10.0.0.5 0.0.0.0
#

R2
#
ospf 1 router-id 2.2.2.2
 area 0.0.0.0
  network 2.2.2.2 0.0.0.0
  network 10.0.0.2 0.0.0.0
  network 10.0.0.9 0.0.0.0
#

R3
#
ospf 1 router-id 3.3.3.3
 area 0.0.0.0
  network 3.3.3.3 0.0.0.0
  network 10.0.0.6 0.0.0.0
  network 10.0.0.10 0.0.0.0
#

R4
#
ospf 1 router-id 4.4.4.4
 area 0.0.0.0
  network 4.4.4.4 0.0.0.0
  network 10.0.0.21 0.0.0.0
  network 10.0.0.25 0.0.0.0
#

R5
#
ospf 1 router-id 5.5.5.5
 area 0.0.0.0
  network 5.5.5.5 0.0.0.0
  network 10.0.0.22 0.0.0.0
  network 10.0.0.29 0.0.0.0
#

R6
#
ospf 1 router-id 6.6.6.6
 area 0.0.0.0
  network 6.6.6.6 0.0.0.0
  network 10.0.0.26 0.0.0.0
  network 10.0.0.30 0.0.0.0
#

3.總公司和分公司內部配置IBGP,業務網段宣告進BGP

R1
#
bgp 65001
 group neibu internal
 peer neibu connect-interface LoopBack0
 peer 2.2.2.2 group neibu
 peer 3.3.3.3 group neibu
 #
 address-family ipv4 unicast
  network 172.16.0.0 255.255.255.0
  network 192.168.0.0 255.255.255.0
  peer neibu enable
#

R2
#
bgp 65001
 group neibu internal
 peer neibu connect-interface LoopBack0
 peer 1.1.1.1 group neibu
 peer 3.3.3.3 group neibu
 peer 10.0.0.14 as-number 65002
 #
 address-family ipv4 unicast
  peer neibu enable
  peer neibu next-hop-local
  peer 10.0.0.14 enable
#

R3
#
bgp 65001
 group neibu internal
 peer neibu connect-interface LoopBack0
 peer 1.1.1.1 group neibu
 peer 2.2.2.2 group neibu
 peer 10.0.0.18 as-number 65002
 #
 address-family ipv4 unicast
  peer neibu enable
  peer neibu next-hop-local
  peer 10.0.0.18 enable
#

R4
#
bgp 65002
 group neibu internal
 peer neibu connect-interface LoopBack0
 peer 5.5.5.5 group neibu
 peer 6.6.6.6 group neibu
 peer 10.0.0.13 as-number 65001
 #
 address-family ipv4 unicast
  peer neibu enable
  peer neibu next-hop-local
  peer 10.0.0.13 enable
#

R5
#
bgp 65002
 group neibu internal
 peer neibu connect-interface LoopBack0
 peer 4.4.4.4 group neibu
 peer 6.6.6.6 group neibu
 peer 10.0.0.17 as-number 65001
 #
 address-family ipv4 unicast
  peer neibu enable
  peer neibu next-hop-local
  peer 10.0.0.17 enable
#

R6
#
bgp 65002
 group neibu internal
 peer neibu connect-interface LoopBack0
 peer 4.4.4.4 group neibu
 peer 5.5.5.5 group neibu
 #
 address-family ipv4 unicast
  network 172.16.1.0 255.255.255.0
  network 192.168.1.0 255.255.255.0
  peer neibu enable
#

4.總公司和分公司之間配置EBGP

R2
#
bgp 65001
 group neibu internal
 peer neibu connect-interface LoopBack0
 peer 1.1.1.1 group neibu
 peer 3.3.3.3 group neibu
 peer 10.0.0.14 as-number 65002
 #
 address-family ipv4 unicast
  peer neibu enable
  peer neibu next-hop-local
  peer 10.0.0.14 enable
#

R4
#
bgp 65002
 group neibu internal
 peer neibu connect-interface LoopBack0
 peer 5.5.5.5 group neibu
 peer 6.6.6.6 group neibu
 peer 10.0.0.13 as-number 65001
 #
 address-family ipv4 unicast
  peer neibu enable
  peer neibu next-hop-local
  peer 10.0.0.13 enable
#

R3
#
bgp 65001
 group neibu internal
 peer neibu connect-interface LoopBack0
 peer 1.1.1.1 group neibu
 peer 2.2.2.2 group neibu
 peer 10.0.0.18 as-number 65002
 #
 address-family ipv4 unicast
  peer neibu enable
  peer neibu next-hop-local
  peer 10.0.0.18 enable
#

R5
#
bgp 65002
 group neibu internal
 peer neibu connect-interface LoopBack0
 peer 4.4.4.4 group neibu
 peer 6.6.6.6 group neibu
 peer 10.0.0.17 as-number 65001
 #
 address-family ipv4 unicast
  peer neibu enable
  peer neibu next-hop-local
  peer 10.0.0.17 enable
#

5.辦事處和總公司之間配置RIP

R2
#
rip 1
 undo summary
 version 2
 network 10.0.0.0
#

R7
#
rip 1
 version 2
 network 10.0.0.0
 network 172.16.0.0
 network 192.168.2.0
#

6.調整鏈路cost值避免產生等價路由

R1
#
interface GigabitEthernet0/0
 ospf cost 300
interface GigabitEthernet0/1
 ospf cost 400
#

R2
#
interface GigabitEthernet0/0
 ospf cost 300
interface GigabitEthernet0/1
 ospf cost 500
#

R3
#
interface GigabitEthernet0/0
 ospf cost 400
interface GigabitEthernet0/1
 ospf cost 500
#
R4,R5,R6配置類似

7.修改AS_path,A流走R2R4,B流走R3R5

R2
#
acl basic 2000
 rule 0 permit source 172.16.0.0 0.0.0.255
#
route-policy bliu permit node 10  入節點
 if-match ip address acl 2000
 apply as-path 65001
route-policy bliu permit node 20  出節點,這里千萬別忘記配置
#
bgp 65001
 #
 總公司B流走R3R5,那么B流的出口就在R4的10.0.0.14
 address-family ipv4 unicast
  peer 10.0.0.14 route-policy bliu export
#

R4
#
acl basic 2000
 rule 0 permit source 172.16.1.0 0.0.0.255
#
route-policy bliu permit node 10   入節點
 if-match ip address acl 2000
 apply as-path 65002
route-policy bliu permit node 20   出節點,這里千萬別忘記配置
#
bgp 65002
 #
 分公司B流走R3R5,那么B流的出口就在R2的10.0.0.13
 address-family ipv4 unicast
  peer 10.0.0.13 route-policy bliu export
#

R3
#
acl basic 2000
 rule 0 permit source 192.168.0.0 0.0.0.255
#
route-policy aliu permit node 10   入節點
 if-match ip address acl 2000
 apply as-path 65001
route-policy aliu permit node 20   出節點,這里千萬別忘記配置
#
bgp 65001
 #
 總公司A流走R2R4,那么A流的出口就在R5的10.0.0.18
 address-family ipv4 unicast
  peer 10.0.0.18 route-policy aliu export
#

R5
#
acl basic 2000
 rule 0 permit source 192.168.1.0 0.0.0.255
#
route-policy aliu permit node 10   入節點
 if-match ip address acl 2000
 apply as-path 65002
route-policy aliu permit node 20   出節點,這里千萬別忘記配置
#
#
bgp 65002
 #
 分公司A流走R2R4,那么A流的出口就在R3的10.0.0.17
 address-family ipv4 unicast
  peer 10.0.0.17 route-policy aliu export
#

8.R2配置RIP和BGP雙向引入

辦事處A流B流與總公司互通,辦事處A流與分公司互通
R2
#
acl basic 2001
 rule 0 permit source 192.168.0.0 0.0.1.255
 rule 5 permit source 172.16.0.0 0.0.0.255
#
acl basic 2002
 rule 0 deny source 172.16.2.0 0.0.0.255
 rule 5 permit
#
route-policy b2r permit node 10  這里引入時不用配置出節點
 if-match ip address acl 2001
#
rip 1
 import-route bgp allow-ibgp route-policy b2r  默認引入的是ebgp,所以這里要多加一個引數
#
acl basic 2002
 rule 0 deny source 172.16.2.0 0.0.0.255
 rule 5 permit
#
bgp 65001
 #
 address-family ipv4 unicast
  import-route rip 1
  peer 10.0.0.14 filter-policy 2002 export  
  辦事處B流不能去分公司,一個路由策略在一個介面只能用一次,route-policy用過了
#

R3
#
acl basic 2001
 rule 0 deny source 172.16.2.0 0.0.0.255
 rule 5 permit
#
bgp 65001
 #
 address-family ipv4 unicast
  peer 10.0.0.18 filter-policy 2001 export 沒有給路由策略取名字,所以此處就用2001
  分公司B流不能去辦事處,一個路由策略在一個介面只能用一次,route-policy用過了
#

9.RIP中配置靜默介面

不允許業務網段出現協議報文,不允許出現不相關的 RIP 協議報文
R2
#
rip 1
 silent-interface GigabitEthernet0/0
 silent-interface GigabitEthernet0/1
 silent-interface GigabitEthernet0/2
#

10.分公司不能互訪,總公司對分公司發布屬于本AS路由

R2
#
bgp 65001
 #
 address-family ipv4 unicast
  peer 10.0.0.14 as-path-acl 1 export
#

R3
#
bgp 65001
 #
 address-family ipv4 unicast
  peer 10.0.0.18 as-path-acl 1 export
#

11.測驗

  • 總公司ping分公司

    總公司B流能ping同分公司B流
    [R1]ping -a 172.16.0.1 172.16.1.1
    Ping 172.16.1.1 (172.16.1.1) from 172.16.0.1: 56 data bytes, press CTRL+C to break
    56 bytes from 172.16.1.1: icmp_seq=0 ttl=253 time=2.000 ms
    56 bytes from 172.16.1.1: icmp_seq=1 ttl=253 time=4.000 ms
    56 bytes from 172.16.1.1: icmp_seq=2 ttl=253 time=5.000 ms
    56 bytes from 172.16.1.1: icmp_seq=3 ttl=253 time=3.000 ms
    56 bytes from 172.16.1.1: icmp_seq=4 ttl=253 time=3.000 ms
    
    --- Ping statistics for 172.16.1.1 ---
    5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
    round-trip min/avg/max/std-dev = 2.000/3.400/5.000/1.020 ms
    
    總公司A流能ping同分公司A流
    [R1]ping -a 192.168.0.1 192.168.1.1
    Ping 192.168.1.1 (192.168.1.1) from 192.168.0.1: 56 data bytes, press CTRL+C to break
    56 bytes from 192.168.1.1: icmp_seq=0 ttl=253 time=1.000 ms
    56 bytes from 192.168.1.1: icmp_seq=1 ttl=253 time=4.000 ms
    56 bytes from 192.168.1.1: icmp_seq=2 ttl=253 time=5.000 ms
    56 bytes from 192.168.1.1: icmp_seq=3 ttl=253 time=1.000 ms
    56 bytes from 192.168.1.1: icmp_seq=4 ttl=253 time=1.000 ms
    
    --- Ping statistics for 192.168.1.1 ---
    5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
    round-trip min/avg/max/std-dev = 1.000/2.400/5.000/1.744 ms
    
  • 分公司ping總公司

    分公司A流能ping同總公司A流
    [R6]ping -a 192.168.1.1 192.168.0.1
    Ping 192.168.0.1 (192.168.0.1) from 192.168.1.1: 56 data bytes, press CTRL+C to break
    56 bytes from 192.168.0.1: icmp_seq=0 ttl=253 time=2.000 ms
    56 bytes from 192.168.0.1: icmp_seq=1 ttl=253 time=4.000 ms
    56 bytes from 192.168.0.1: icmp_seq=2 ttl=253 time=2.000 ms
    56 bytes from 192.168.0.1: icmp_seq=3 ttl=253 time=2.000 ms
    56 bytes from 192.168.0.1: icmp_seq=4 ttl=253 time=2.000 ms
    
    --- Ping statistics for 192.168.0.1 ---
    5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
    round-trip min/avg/max/std-dev = 2.000/2.400/4.000/0.800 ms
    
    分公司B流能ping同總公司B流
    [R6]ping -a 172.16.1.1 172.16.0.1
    Ping 172.16.0.1 (172.16.0.1) from 172.16.1.1: 56 data bytes, press CTRL+C to break
    56 bytes from 172.16.0.1: icmp_seq=0 ttl=253 time=2.000 ms
    56 bytes from 172.16.0.1: icmp_seq=1 ttl=253 time=3.000 ms
    56 bytes from 172.16.0.1: icmp_seq=2 ttl=253 time=6.000 ms
    56 bytes from 172.16.0.1: icmp_seq=3 ttl=253 time=3.000 ms
    56 bytes from 172.16.0.1: icmp_seq=4 ttl=253 time=6.000 ms
    
    --- Ping statistics for 172.16.0.1 ---
    5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
    round-trip min/avg/max/std-dev = 2.000/4.000/6.000/1.673 ms
    
  • 總公司ping辦事處

    總公司A流能ping通辦事處A流
    [R1]ping -a 192.168.0.1 192.168.2.1
    Ping 192.168.2.1 (192.168.2.1) from 192.168.0.1: 56 data bytes, press CTRL+C to break
    56 bytes from 192.168.2.1: icmp_seq=0 ttl=254 time=1.000 ms
    56 bytes from 192.168.2.1: icmp_seq=1 ttl=254 time=3.000 ms
    56 bytes from 192.168.2.1: icmp_seq=2 ttl=254 time=4.000 ms
    56 bytes from 192.168.2.1: icmp_seq=3 ttl=254 time=2.000 ms
    56 bytes from 192.168.2.1: icmp_seq=4 ttl=254 time=2.000 ms
    
    --- Ping statistics for 192.168.2.1 ---
    5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
    round-trip min/avg/max/std-dev = 1.000/2.400/4.000/1.020 ms
    
    總公司B流能ping通辦事處B流
    [R1]ping -a 172.16.0.1 172.16.2.1
    Ping 172.16.2.1 (172.16.2.1) from 172.16.0.1: 56 data bytes, press CTRL+C to break
    56 bytes from 172.16.2.1: icmp_seq=0 ttl=254 time=2.000 ms
    56 bytes from 172.16.2.1: icmp_seq=1 ttl=254 time=2.000 ms
    56 bytes from 172.16.2.1: icmp_seq=2 ttl=254 time=4.000 ms
    56 bytes from 172.16.2.1: icmp_seq=3 ttl=254 time=2.000 ms
    56 bytes from 172.16.2.1: icmp_seq=4 ttl=254 time=1.000 ms
    
    --- Ping statistics for 172.16.2.1 ---
    5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
    round-trip min/avg/max/std-dev = 1.000/2.200/4.000/0.980 ms
    
  • 辦事處ping總公司

    辦事處A流能ping通總公司A流
    [R7]ping -a 192.168.2.1 192.168.0.1
    Ping 192.168.0.1 (192.168.0.1) from 192.168.2.1: 56 data bytes, press CTRL+C to break
    56 bytes from 192.168.0.1: icmp_seq=0 ttl=254 time=0.000 ms
    56 bytes from 192.168.0.1: icmp_seq=1 ttl=254 time=2.000 ms
    56 bytes from 192.168.0.1: icmp_seq=2 ttl=254 time=2.000 ms
    56 bytes from 192.168.0.1: icmp_seq=3 ttl=254 time=2.000 ms
    56 bytes from 192.168.0.1: icmp_seq=4 ttl=254 time=2.000 ms
    
    --- Ping statistics for 192.168.0.1 ---
    5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
    round-trip min/avg/max/std-dev = 0.000/1.600/2.000/0.800 ms
    
    辦事處B流能ping通總公司B流
    [R7]ping -a 172.16.2.1 172.16.0.1
    Ping 172.16.0.1 (172.16.0.1) from 172.16.2.1: 56 data bytes, press CTRL+C to break
    56 bytes from 172.16.0.1: icmp_seq=0 ttl=254 time=2.000 ms
    56 bytes from 172.16.0.1: icmp_seq=1 ttl=254 time=2.000 ms
    56 bytes from 172.16.0.1: icmp_seq=2 ttl=254 time=2.000 ms
    56 bytes from 172.16.0.1: icmp_seq=3 ttl=254 time=1.000 ms
    56 bytes from 172.16.0.1: icmp_seq=4 ttl=254 time=2.000 ms
    
    --- Ping statistics for 172.16.0.1 ---
    5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
    round-trip min/avg/max/std-dev = 1.000/1.800/2.000/0.400 ms
    
  • 辦事處和分公司A流能互通

    辦事處A流能ping通分公司A流
    [R7]ping -a 192.168.2.1 192.168.1.1
    Ping 192.168.1.1 (192.168.1.1) from 192.168.2.1: 56 data bytes, press CTRL+C to break
    56 bytes from 192.168.1.1: icmp_seq=0 ttl=252 time=3.000 ms
    56 bytes from 192.168.1.1: icmp_seq=1 ttl=252 time=6.000 ms
    56 bytes from 192.168.1.1: icmp_seq=2 ttl=252 time=4.000 ms
    56 bytes from 192.168.1.1: icmp_seq=3 ttl=252 time=4.000 ms
    56 bytes from 192.168.1.1: icmp_seq=4 ttl=252 time=3.000 ms
    
    --- Ping statistics for 192.168.1.1 ---
    5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
    round-trip min/avg/max/std-dev = 3.000/4.000/6.000/1.095 ms
    
    分公司A流能ping通辦事處A流
    [R6]ping -a 192.168.1.1 192.168.2.1
    Ping 192.168.2.1 (192.168.2.1) from 192.168.1.1: 56 data bytes, press CTRL+C to break
    56 bytes from 192.168.2.1: icmp_seq=0 ttl=253 time=3.000 ms
    56 bytes from 192.168.2.1: icmp_seq=1 ttl=253 time=3.000 ms
    56 bytes from 192.168.2.1: icmp_seq=2 ttl=253 time=4.000 ms
    56 bytes from 192.168.2.1: icmp_seq=3 ttl=253 time=6.000 ms
    56 bytes from 192.168.2.1: icmp_seq=4 ttl=253 time=3.000 ms
    
    --- Ping statistics for 192.168.2.1 ---
    5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss
    round-trip min/avg/max/std-dev = 3.000/3.800/6.000/1.166 ms
    
  • 辦事處和分公司B流不能不同

    辦事處B流不能ping通分公司B流
    [R7]ping -a 172.16.2.1 172.16.1.1
    Ping 172.16.1.1 (172.16.1.1) from 172.16.2.1: 56 data bytes, press CTRL+C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out
    
    --- Ping statistics for 172.16.1.1 ---
    5 packet(s) transmitted, 0 packet(s) received, 100.0% packet loss
    
    分公司B流不能ping通辦事處B流
    [R6]ping -a 172.16.1.1 172.16.2.1
    Ping 172.16.2.1 (172.16.2.1) from 172.16.1.1: 56 data bytes, press CTRL+C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out
    
    --- Ping statistics for 172.16.2.1 ---
    5 packet(s) transmitted, 0 packet(s) received, 100.0% packet loss
    

    如果到這里測驗都沒問題了,這個實驗才算做完了,這個實驗并不難,就是配置的時候要注意里面的一些小細節,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/353338.html

標籤:其他

上一篇:Kubernetes(1)Kubernetes即K8s簡介

下一篇:python3--資料可視化-破解IP查詢介面 將6萬個IP地址可視化展示(附原始碼)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more