專題十五:動態路由——BGP

一、BGP的基本概念

BGP(Border Gateway Protocol,邊界網關協議)是一種用于在不同自治系統(AS)之間交換路由信息的外部網關協議(EGP)。通過TCP179端口建立連接。目前采用BGP4版本,IPv6協議中采用BGP4+。

BGP類型:

EBGP:運行在不同AS之間的BGP成為EBGP,為了防止AS間產生環路,當BGP設備接收EBGP對等體發送的路由時,會將帶有本地AS號的路由丟棄。

IBGP:運行于同一AS內部的BGP稱為IBGP。為了防止AS內產生環路,BGP設備不將從IBGP對等體學到的路由通告給其他IBGP對等體,并與所有IBGP對等體建立全連接。

1.自治系統(AS)

  • AS1使用RIP作為內部網關協議(IGP)。

  • AS2使用OSPF作為內部網關協議(IGP)。

AS是指在一個實體管轄下的擁有相同選路策略的IP網絡。BGP網絡中的每個AS都被分配一個唯一的AS號,用于區分不同的AS。

公有 AS 號:公有 AS 號用于在互聯網上可被路由的自治系統,這些 AS 號是全球唯一的,范圍從 1 到 64511。

私有 AS 號:私有 AS 號范圍是從 64512 到 65535,實際一般做實驗或者大內網中使用AS 65535。

2.網部網關協議

AS1和AS2之間通過BGP(屬于EGP)交換跨自治系統的路由信息。

3.協議分層邏輯

  • 內部網絡:自治系統內部使用輕量級IGP(如RIP、OSPF)實現高效路由。

  • 外部互聯:不同自治系統之間使用EGP(如BGP)實現策略控制和大規模路由交換。

二、BGP報文

如上圖所示,BGP存在5種類型的報文,分別為Open、Update、Notification、Keepalive、Route-refresh,不同類型的報文擁有相同的頭部(header)。5種報文各自起到作用及發送時間見下表:

報文名稱作用發送時間
Open協商BGP對等體參數,建立對等體關系BGP TCP連接建立成功之后
Update發送BGP路由更新BGP對等體關系建立之后有路由需要發送或路由變化時向對等體發送Update報文
Notification報文錯誤信息,中止對等體關系當BGP在運行中發現錯誤時,發送Notification報文將錯誤通過給BGP對等體
Keepalive標志對等體建立,維持BGP對等體關系BGP路由器收到對端發送的Keepalive報文,將對等體狀態置為已建立,同時后續定期發送Keepalive報文用于保持連接
Route-refresh用于在改變路由策略后請求對等體重新發送路由信息。只有支持路由刷新能力的BGP設備會發送和響應此報文當路由策略發生變化時,觸發請求對等體重新通告路由
  • Open消息:是 TCP 連接建立后發送的第一個消息,用于建立 BGP 對等體之間的連接關系對等體在接收到 Open 消息并協商成功后,將發送 Keepalive 消息確認并保持連接的有效性。確認后,對等體間可以進行 Update、Notification、Keepalive和 Route-Refresh 消息的交換。

    應用:通過 TCP 建立 BGP 連接時,發送 OPEN 消息。
  • Update消息:用于在對等體之間交換路由信息

  • Update消息可以發布多條屬性相同的可達路由信息,也可以撤銷多條不可達路由信息。

    應用:連接建立后,如果有路由需要發送或路由變化時,發送UPDATE消息通告對端。
  • Keepalive消息:BGP 會周期性的向對等體發出 Keepalive消 息,用來保持連接的有效性

  • 應用:穩定后要定時發送 KEEPALIVE 消息以保持 BGP 連接的有效性。
  • Notification消息:當 BGP 檢測到錯誤狀態時,就向對等體發出 Notification 消息,之后 BGP 連接會立即中斷。

  • 應用:當本地 BGP 在運行中發現錯誤時,要發送 NOTIFICATION 消息通告 BGP 對等體
  • Route-Refresh消息:通過 OPEN 消息告知 BGP peer 本地支持路由刷新能力(Route-Refresh capability)。

  • 應用:ROUTE-REFRESH 消息用來通知對等體自己支持路由刷新

三、BGP狀態機

1.BGP六種狀態

BGP的狀態有idle、connect、active、opensent、openconfirm、established六種狀態。

Peer狀態名稱用途
ldle開始準備TCP的連接并監視遠程對等體,啟用BGP時,要準備足夠的資源
Connect正在進行TCP連接,等待完成中,認證都是在TCP建立期間完成的。如果TCP連接建立失敗則進入Active狀態,反復嘗試連接
ActiveTCP連接沒建立成功,反復嘗試TCP連接
OpenSentTCP連接已經建立成功,開始發送Open包,Open包攜帶參數協商對等體的建立
OpenConfirm參數、能力特性協商成功,自己發送Keepalive包,等待對方的Keepalive包
Established已經收到對方的Keepalive包,雙方能力特性經協商發現一致,開始使用Update通告路由信息

2.BGP狀態變換

BGP的狀態有idle、connect、active、opensent、openconfirm、established六種狀態。

(1)Idle狀態是BGP初始狀態。

在Idle狀態下,BGP拒絕對等體發送的連接請求。只有在收到本設備的Start事件后,BGP才開始嘗試和其它BGP對等體進行TCP連接,并轉至Connect狀態。

Start事件是由一個操作者配置一個BGP過程,或者重置一個已經存在的過程或者路由器軟件重置BGP過程引起的。

任何狀態中收到Notification報文或TCP拆鏈通知等Error事件后,BGP都會轉至Idle狀態。

(2)Connect狀態

在Connect狀態下,BGP啟動連接重傳定時器(Connect Retry),等待TCP完成連接。

如果TCP連接成功,那么BGP向對等體發送Open報文,并轉至OpenSent狀態。

如果TCP連接失敗,那么BGP轉至Active狀態。

如果連接重傳定時器超時,BGP仍沒有收到BGP對等體的響應,那么BGP繼續嘗試和其它BGP對等體進行TCP連接,停留在Connect狀態。

(3)Active狀態

在Active狀態下,BGP總是在試圖建立TCP連接。

如果TCP連接成功,那么BGP向對等體發送Open報文,關閉連接重傳定時器,并轉至OpenSent狀態。

如果TCP連接失敗,那么BGP停留在Active狀態。

如果連接重傳定時器超時,BGP仍沒有收到BGP對等體的響應,那么BGP轉至Connect狀態。

(4)Opensent狀態、openconfirm狀態

TCP三次握手建立成功后,發送open報文建立對等體關系,此時的狀態為

opensent狀態,當收到對端回應的open報文,并且參數檢查無誤,在發送keepalive報文后進入openconfirm狀態。

(5)established狀態

進入openconfirm狀態后,收到對端的keepalive報文后進入established狀態。

四、BGP對等體

1.BGP對等體的概念

BGP發言者:運行BGP路由協議的路由器稱為BGP發言者(BGP路由器);

BGP對等體:兩個建立BGP會話(BGP的會話是基于TCP建立的)的路由器互為BGP對等體,BGP對等體之間可以交換路由表;

2.BGP對等體分類

BGP對等體可以按照兩個路由器是否AS相同,分為EBGP對等體和IBGP對等體。

(1)IBGP:位于相同的AS的BGP路由器互為IBGP對等體關系;

(2)EBGP:位于不同的AS的BGP路由器互為EBGP對等體關系;

能夠建立對等體的條件:

兩個路由器指定建立對等體的地址必需可達;

TCP連接能夠建立;

3.BGP對等體的建立

(1)TCP連接建立

假設BGP路由器R1先啟動,則R1先發起建立TCP連接,通過3次握手完成TCP的連接建立。

(2)BGP路由器發送OPEN報文協商參數

三次握手建立完成后,R1和R2之間相互發送OPEN報文,用于建立對等體的參數協商。

OPEN報文參數:

  • 自身AS號;

  • hold time:用于協商后續keepalive報文發送時間;

  • BGP identifier:自身router id;

(3)BGP路由器發送keepalive報文完成對等體建立

參數協商正常后雙方相互發送keepalive報文,收到對方的keepalive報文后對等體建立成功,同時后續定期發送keepalive報文用于保持連接。

(4)BGP路由器發送UPDATE報文通告路由

BGP對等體關系建立好了,就可以通過BGP update 報文通告路由到對等體。收到對方的keepalive報文后對等體建立成功,同時后續定期發送keepalive報文用于保持連接。

4.BGP對等體建立使用源地址

BGP默認使用出接口的IP地址建立對等體。

(1)在建立IBGP對等體關系時,建議使用loopback地址建立IBGP對等體。因為loopback地址穩定,可以借助內部IGP冗余保證可靠性。

例如上圖:

R1和R2通過loopback地址建立IBGP對等體,如果R1和R2之間的物理鏈路斷了,loopback地址的連通性也不會受影響,可以通過R3實現R1和R2的loopback地址的互通,那么R1和R2之間的對等體關系依然可以保持建立。如果通過接口建立的話,就會導致BGP對等體關系中斷。

(2)在建立EBGP對等體關系時,建議使用直連地址建立EBGP對等體。如果使用loopback,需要注意EBGP多跳的問題。

五、BGP路由表

1.BGP對等體表

可以通過dis bgp peer 查看BGP對等體表;

(1)peer:對等體地址

(2)V:版本號

(3)AS:對等體AS號

(4)UP/DOWN:對等體存在up或者down的時間

(5)state:對等體狀態

(6)prefRce:從該對等體收到的路由前綴數目

2.BGP路由表

可以通過display ?bgp routing-table ?查看BGP路由表;

如果到達同一個目的地存在多條路由,則將路由都進行羅列,但每個目的地只會優選一條路由。

通過display bgp routing-table ipv4-address { mask | mask-length } 可以顯示指定IP地址/掩碼長度的路由信息,在其中有關于該BGP路由的詳細信息,如:路由始發者、下一跳地址、路由的路徑屬性等

六、BGP選路原則

當到達同一目的地存在多條路由時, BGP 依次對比下列屬性來選擇路由:

1.優選協議首選值(PrefVal)最高的路由。協議首選值(PrefVal)是華為設備的特有屬性,該屬性僅在本地有效。

2.優選本地優先級(Local_Pref)最高的路由。如果路由沒有本地優先級,BGP選路時將該路由按缺省的本地優先級100來處理。

3.依次優選手動聚合路由、自動聚合路由、network命令引入的路由、import-route命令引入的路由、從對等體學習的路由。

4.優選AS路徑(AS_Path)最短的路由。當AS_Path為空時,會優選AS_Path為空的路由。

5.依次優選Origin類型為IGP、EGP、Incomplete的路由。

6.對于來自同一AS的路由,優選MED值最低的路由。

7.依次優選EBGP路由、IBGP路由、LocalCross路由、RemoteCross路由。

8.優選到BGP下一跳IGP度量值(metric)最小的路由。

9.優選Cluster_List最短的路由。

10.優選Router ID最小的設備發布的路由。如果路由攜帶Originator_ID屬性,選路過程中將比較Originator_ID的大小(不再比較Router ID),并優選Originator_ID最小的路由。

11.優選從具有最小IP Address的對等體學來的路由。

當到達同一目的地址存在多條等價路由時,可以通過 BGP 等價負載分擔實現均衡流量的目的。形成 BGP 等價負載分擔的條件是“BGP 選擇路由的策略”的 1 至 8 條規則中需要比較的屬性完全相同。

七、BGP路由生成

BGP路由是通過BGP命令通告而成的,而通告BGP路由的方法有兩種:network和Import。

(1)network方式:

使用network命令可以將當前設備路由表中的路由(非BGP)發布到BGP路由表中并通告給鄰居,和OSPF中使用network命令的方式大同小異,只不過在BGP宣告時,只需要宣告網段+掩碼數即可,如:network 12.12.0.0 16。

(2)Import方式:

使用Import命令可以將該路由器學到的路由信息重分發到BGP路由表中,是BGP宣告路由的一種方式,可以引入BGP的路由包括:直連路由、靜態路由及動態路由協議學到的路由。其命令格式與在RIP中重分發OSPF差不多。

八、BGP的配置

1.基本配置

需要在所有Router間運行BGP協議,RouterA、RouterB之間建立EBGP連接,RouterB、RouterC和RouterD之間建立IBGP全連接。
配置思路:
采用如下的思路配置BGP的基本功能:
(1)在RouterB、RouterC和RouterD間配置IBGP連接。
(2)在RouterA和RouterB之間配置EBGP連接。
配置步驟:
(1)配置各接口的IP地址

# 配置RouterA。
<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] ip address 10.1.1.1 8
[RouterA-GigabitEthernet1/0/0] quit
其他路由器各接口的IP地址與此配置一致(略)。


(2)配置IBGP連接

# 配置RouterB。
[RouterB] bgp 65009 ?//配置as號
[RouterB-bgp] router-id 2.2.2.2
[RouterB-bgp] peer 172.16.1.2 as-number 65009 ? //配置對等體的IP地址及其所屬的AS編號
[RouterB-bgp] peer 172.16.3.2 as-number 65009 ? //配置對等體的IP地址及其所屬的AS編號
指定對等體的IP地址可以是以下三種:
直連對等體的接口IP地址。
直連對等體的子接口IP地址。
路由可達的對等體的Loopback接口地址。
# 配置RouterC。
[RouterC] bgp 65009?
[RouterC-bgp] router-id 3.3.3.3
[RouterC-bgp] peer 172.16.3.1 as-number 65009 ?
[RouterC-bgp] peer 172.16.2.2 as-number 65009
[RouterC-bgp] quit
# 配置RouterD。
[RouterD] bgp 65009
[RouterD-bgp] router-id 4.4.4.4
[RouterD-bgp] peer 172.16.1.1 as-number 65009
[RouterD-bgp] peer 172.16.2.1 as-number 65009
[RouterD-bgp] quit


(3)配置EBGP連接

# 配置RouterA。
[RouterA] bgp 65008
[RouterA-bgp] router-id 1.1.1.1
[RouterA-bgp] peer 192.168.1.1 as-number 65009
# 配置RouterB。
[RouterB-bgp] peer 192.168.1.2 as-number 65008
# 查看BGP對等體的連接狀態。
[RouterB-bgp] display bgp peer


(4)配置RouterA發布路由10.1.0.0/8

# 配置RouterA發布路由。
[RouterA-bgp] ipv4-family unicast ? ?//使能BGP的IPv4單播地址族視圖
[RouterA-bgp-af-ipv4] network 10.1.0.0 255.0.0.0
[RouterA-bgp-af-ipv4] quit
# 查看RouterA路由表信息。
[RouterA-bgp] display bgp routing-table?


(5)配置BGP引入直連路由

# 配置RouterB。
[RouterB-bgp] ipv4-family unicast
[RouterB-bgp-af-ipv4] import-route direct ? //引入直連路由
# 查看RouterA的BGP路由表。
[RouterA-bgp] display bgp routing-table

2.路由反射器的配置

2.1路由反射技術概述

BGP在AS之間的路由防環,是要依賴AS_PATH屬性,但是AS_PATH屬性只有路由在EBGP鄰居之間傳遞時才會發生改變,在AS內部,AS_PATH是不會改變的,那么在AS內部的路由防環,就無法依賴AS_PATH了,因此BGP定義IBGP的水平分割規則:一臺BGP路由器從它的IBGP鄰居學習到的BGP路由不能再傳遞給任何IBGP鄰居。由于存在IBGP水平分割原則,使得AS內的BGP路由器之間不得不兩兩建立IBGP連接(IBGP全互聯),以求獲得完整的BGP路由更新,然而這是個擴展性非常低的做法,同時也給網絡設備帶來了負擔,解決IBGP擴展性問題的兩種有效的辦法是路由反射器及聯邦。

路由反射器相比于聯邦,優勢在于,聯邦中所有路由器都需要支持并理解聯邦機制,而路由反射器只需要RR理解反射器機制即可,另外,路由反射器的實現機制也相對簡單一些,并且對大型冗余性、層次性強的網絡架構采用路由反射器的解決方案也是一個不錯的選擇。當然如果希望用各種EBGP機制來管理大規模AS,那么聯邦將是一個更優的解決方案。

圖片

在上圖中,由于IBGP水平分割的限制,使得R4在收到IBGP鄰居R3發來的路由更新后,不能在發送給另一個IBGP鄰居R5。如此一來R5就無法正常學習路由,除非在R3-R5之間也建立一條IBGP連接。

圖片

采用路由反射技術即可解決這個問題,首先我們定義一個RR,同時定義這個RR的Client。那么這時候當RR收到她的Client發送過來的路由,就可以像一面鏡子一樣,將路由反射給其他IBGP路由器。此刻R4作為RR,與它的Client R3就構成了一個路由反射簇。

思考路由反射器時,將簇當作一個邏輯的整體去考慮即可, RR和client共同構成反射簇,但是只有RR知道(配置只是在RR上完成)。注意RR只通告或反射它所知道的最佳路徑。

為了維護一致的BGP拓撲,RR在反射路由的時候不修改某些BGP路徑屬性,這些屬性包括NH、AS_PATH、LOCAL_PREF和MED,并且增加了ORIGINATOR和CLUSTER_LIST用于防環。

2.2路由反射規則
  • 如果路由學習自非client IBGP對等體,則反射給所有client

  • 如果路由學習自一client,則反射給所有非client IBGP鄰居和除了該client以外的所有client(我司設備可以關閉RR在Client之間的路由反射行為)

  • 如果路由學習自EBGP鄰居,則發送給所有client和非client IBGP鄰居

注意紅色關鍵字。注意反射和發送的區別。下面看幾個例子:

圖片

圖片

2.3路由反射器的基本配置

互聯IP的規劃如圖所示;所有路由器Loopback0口地址為x.x.x.x/32,x為設備編號。

AS123內跑一個OSPF,宣告直連接口,以及各自的Loopback0接口。

R1、R2、R3根據上圖所示建立IBGP鄰居關系。

在R1上引入11.11.11.0/24路由進BGP,初始情況下R2能夠學習這條BGP路由,但是R3無法學習到。

將R2配置為RR,R1作為R2的Client,使得R3能夠學習到11.11.11.0/24路由

# R1的配置-省略OSPF及接口的配置

[R1] bgp 123[R1-bgp] router-id 1.1.1.1[R1-bgp] peer 2.2.2.2 as-number 123[R1-bgp] peer 2.2.2.2 connect-interface loopback0[R1-bgp] network 11.11.11.0 24

# R2的配置-省略OSPF及接口的配置

[R2] bgp 123[R2-bgp] router-id 2.2.2.2[R2-bgp] peer 1.1.1.1 as-number 123[R2-bgp] peer 1.1.1.1 connect-interface loopback0[R2-bgp] peer 1.1.1.1 reflect-client[R2-bgp] peer 3.3.3.3 as-number 123[R2-bgp] peer 3.3.3.3 connect-interface loopback0

# R3的配置省略OSPF及接口的配置

[R3] bgp 123[R3-bgp] router-id 3.3.3.3[R3-bgp] peer 2.2.2.2 as-number 123[R3-bgp] peer 2.2.2.2 connect-interface loopback0

在R3上驗證一下,查看路由11.11.11.0的詳細信息:

另一個需要關注的配置是配置路由反射簇的Cluster_ID,這也是在RR上完成的配置。當RR反射一條路由時,如果該路由不存在Originator及Cluster_list屬性,則插入這兩個屬性值,同時Cluster_list屬性值中寫入本路由反射簇的Cluster_ID,默認情況下,Cluster_ID為RR的RouterID,如果需要修改,可使用下面的命令。

如果RR在反射路由時,被反射路由中已經存在Cluster_List屬性了,那么RR將自己的Cluster_ID插入到已有的CLuster_List中。


九、軟考真題

2020年11月網絡規劃設計師:

下列哪種BGP屬性不會隨著BGP的Update報文通告被鄰居()

A.PreVal

B.Next-hop

C.AS-Path

D.Origin

【解析】答案是A,PreVal是華為設備特有屬性,僅本地有效。

2016年11月網絡規劃設計師:

當一條路由被發布到它所起源的AS時,會發生的情況是()

A.該AS在路徑屬性列表中看到自己的號碼,從而拒絕接收這條路由

B.邊界路由器把該路由傳送到這個AS中的其他路由器

C.該路由將作為一條外部路由傳送給同一AS中的其他路由器

D.邊界路由器從AS路徑列表中刪除自己的AS號碼并重新發布路由

【解析】答案是A,EBGP防止環路就是不接收帶有本地AS號的路由。

2022年11月網絡規劃設計師:

以下關于IS-IS協議的描述中,錯誤的是()。

A.IS-IS使用SPF算法來計算路由

B.IS-IS是一種鏈路狀態路由協議

C.IS-IS使用域(area)來建立分級的網絡拓撲結構,骨干為area0

D.IS-IS通過傳遞LSP來傳遞鏈路信息,完成鏈路數據庫的同步

【解析】答案是C,area分級網絡是OSPF協議內容。

2021年11月網絡工程師:

以下關于IS-IS路由協議的說法中,錯誤的是()

A.IS-IS是基于距離矢量的路由協議。

B.IS-IS屬于內部網關路由協議

C.IS-IS路由協議將自治系統分為骨干區域和非骨干區域

D.IS-IS路由協議中Leve1-2路由器可以和不同區域的Leve1-2或者Leve1-1-2路由器形成鄰居關系

【解析】答案是A。IS-IS是鏈路狀態路由協議,采用SPF算法計算路由路徑。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/75863.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/75863.shtml
英文地址,請注明出處:http://en.pswp.cn/web/75863.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Flask開發】嘿馬文學web完整flask項目第4篇:4.分類,4.分類【附代碼文檔】

教程總體簡介&#xff1a;2. 目標 1.1產品與開發 1.2環境配置 1.3 運行方式 1.4目錄說明 1.5數據庫設計 2.用戶認證 Json Web Token(JWT) 3.書架 4.1分類列表 5.搜索 5.3搜索-精準&高匹配&推薦 6.小說 6.4推薦-同類熱門推薦 7.瀏覽記錄 8.1配置-閱讀偏好 8.配置 9.1項目…

在Mac上離線安裝k3s

目錄 首先是安裝multipass。 1. 系統要求 2. 環境準備 本來想照著網上文檔學習安裝一下k3s&#xff0c;沒想到在docker被封了之后&#xff0c;現在想通過命令行去下載github的資源也不行了&#xff08;如果有網友看到這個文檔、并且知道問題原因的&#xff0c;請留言告知&am…

vscode+wsl 運行編譯 c++

linux 的 windows 子系統&#xff08;wsl&#xff09;是 windows 的一項功能&#xff0c;可以安裝 Linux 的發行版&#xff0c;例如&#xff08;Ubuntu&#xff0c;Kali&#xff0c;Arch Linux&#xff09;等&#xff0c;從而可以直接在 windows 下使用 Linux 應用程序&#xf…

基于源碼分析 HikariCP 常見參數的具體含義

HikariCP 是目前風頭最勁的 JDBC 連接池&#xff0c;號稱性能最佳&#xff0c;SpringBoot 2.0 也將 HikariCP 作為默認的數據庫連接池。 要想用好 HikariCP&#xff0c;理解常見參數的具體含義至關重要。但是對于某些參數&#xff0c;盡管官方文檔給出了詳細解釋&#xff0c;很…

docker部署scylladb

創建存儲數據的目錄和配置目錄 mkdir -p /root/docker/scylla/data/data /root/docker/scylla/data/commitlog /root/docker/scylla/data/hints /root/docker/scylla/data/view_hints /root/docker/scylla/conf快速啟動拷貝配置文件 docker run -d \--name scylla \scylladb/…

golang 在windows 系統的交叉編譯

基本交叉編譯命令 GOOS目標操作系統 GOARCH目標架構 go build -o 輸出文件名 包路徑 編譯 Linux 64位程序 set GOOSlinux set GOARCHamd64 go build -o myapp-linux main.go 編譯 MacOS (Darwin) 64位程序 set GOOSdarwin set GOARCHamd64 go build -o myapp-macos main.go …

本地mock服務編寫

確認有需要mock的接口文檔后&#xff0c;本地可以mock服務編寫&#xff1b; 用于測試UI事務、模擬對接組件等&#xff1b; 使用python FLASK可以輕松建立本地mock服務端&#xff0c;注冊預期的接口響應&#xff01;flask會在接收端持續打印收到的請求&#xff01; 注意&#…

京東云智能體平臺joybuilder v3.0.0測試

平臺介紹&#xff1a; JoyBuilder 是京東云推出的 AI 原生應用開發平臺&#xff0c;以下是對它的具體介紹&#xff1a; 開發方式便捷高效&#xff1a;將 AI 能力融入低代碼平臺&#xff0c;用戶通過對話式交互方式&#xff0c;輸入如 “創建客戶反饋管理系統” 等需求&#x…

前端實現對接現成文件下載接口(xlsx)

針對于Ant Design 框架 1.在你的api文件下編寫接口路徑 import request from /utils/request import storage from storeimport {AUTHORIZATION} from /store/mutation-types const api {downloadVocabularyTemplate:/vocabulary/downloadVocabularyTemplate, }export funct…

TCPIP詳解 卷1協議 六 DHCP和自動配置

6.1——DHCP和自動配置 為了使用 TCP/IP 協議族&#xff0c;每臺主機和路由器需要一定的配置信息。基本上采用3種方法&#xff1a;手工獲得信息&#xff1b;通過一個系統獲得使用的網絡服務&#xff1b;使用某種算法自動確定。 擁有一個IP 地址和子網掩碼&#xff0c;以及 DN…

聯想電腦開機出現Defalut Boot Device Missing or Boot Failed怎么辦

目錄 一、恢復bios默認設置 二、關機重啟 三、“物理”方法 在圖書館敲代碼時&#xff0c;去吃了午飯回來發現剛開機就出現了下圖的問題&#xff08;崩潰&#xff09;&#xff0c;想起之前也發生過一次 這樣的問題&#xff0c;現在把我用到的方法寫在下面&#xff0c;可能對…

用戶登陸UI

本節任務 完成用戶登陸UI&#xff0c;點擊登陸按鈕跳轉到應用主頁 界面原型&#xff1a; 登陸頁面&#xff1a; 登陸成功頁面&#xff1a; 涉及知識點&#xff1a; 線性布局Image組件輸入框復選框分割線按鈕路由跳轉背景色、內容對齊 1 新建項目 錄入項目信息&#xff1a;…

linux多線(進)程編程——(1)前置知識

liunx多線程編程&#xff08;前置知識&#xff09;前置知識 前言 學習編程就像是修仙&#xff0c;分為宗門的正統修士&#xff08;計算機專業的學生&#xff09;&#xff0c;以及野修&#xff08;半路轉碼&#xff09;。正統修士有各大宗門的功法&#xff0c;保證一路修行暢通…

Npfs!NpFsdCreate函數分析之從NpCreateClientEnd函數分析到Npfs!NpSetConnectedPipeState

第一部分&#xff1a; 1: kd> g Breakpoint 5 hit Npfs!NpFsdCreate: baaecba6 55 push ebp 1: kd> kc # 00 Npfs!NpFsdCreate 01 nt!IofCallDriver 02 nt!IopParseDevice 03 nt!ObpLookupObjectName 04 nt!ObOpenObjectByName 05 nt!IopCreateFile 06…

【軟件測試】bug 篇

本章思維導圖&#xff1a; 1. 軟件測試的生命周期 軟件測試貫穿于整個軟件的生命周期 流程階段需求分析測試計劃測試設計/開發測試執行測試評估上線運行維護具體工作內容1. 閱讀需求文檔 2. 標記可測試需求 3. 確定測試類型1. 制定測試范圍 2. 選擇測試工具 3. 分配資源1. 編寫…

「Unity3D」圖片導入選項取消Read/Write,就無法正確顯示導入大小,以及Addressable打包無法正確顯示的問題

如果在Edit -> Project Settings -> Editor中的“Load texture data on demand”勾選&#xff0c;就會讓圖片導入設置中&#xff0c;不勾選Read/Write&#xff0c;就無法正確顯示紋理的大小數字。 更進一步的問題是&#xff0c;使用Addressable打包的時候&#xff0c; 如…

《MySQL從入門到精通》

文章目錄 《MySQL從入門到精通》1. 基礎-SQL通用語法及分類2. 基礎-SQL-DDL-數據庫操作3. 基礎-SQL-DDL-表操作-創建&查詢4. 基礎-SQL-DDL-數據類型及案例4.1 數值類型4.2 字符串類型4.3 時間和日期類型 5. 基礎-SQL-DDL-表操作-修改&刪除5.1 DDL-表操作-修改5.2 DDL-表…

Vccaux_IO在DDR3接口中的作用

一、Vccaux_IO在DDR3接口中的作用 1.vccaux_io通常為FPGA的IO bank的輔助電源&#xff0c;用于支持特定電壓的IO標準 2.在DDR3接口中&#xff0c;FPGA的IO bank需要DDR3芯片的電壓(1.5v/1.35v)匹配 3.Vccaux_IO用于為FPGA的DDR3接口I/O Bank供電&#xff0c;其電壓值、噪聲和穩…

深入理解Apache Kafka

引言 在現代分布式系統架構中&#xff0c;中間件扮演著至關重要的角色&#xff0c;它作為系統各組件之間的橋梁&#xff0c;負責處理數據傳遞、消息通信、負載均衡等關鍵任務。在眾多中間件解決方案中&#xff0c;Apache Kafka憑借其高吞吐量、低延遲和可擴展性&#xff0c;已…

【NLP】 21. Transformer整體流程概述 Encoder 與 Decoder架構對比

1. Transformer 整體流程概述 Transformer 模型的整個處理流程可以概括為從自注意力&#xff08;Self-Attention&#xff09;到多頭注意力&#xff0c;再加上殘差連接、層歸一化、堆疊多層的結構。其核心思想是利用注意力機制對輸入進行并行計算&#xff0c;從而避免傳統 RNN …