作者: admin

  • 思科AI助理如何賦能安全解決方案

    思科AI助理透過以下幾個面向賦能安全解決方案,協助企業提升網路安全性:

    ## 1. 自動化任務處理

    思科AI助理能夠自動執行複雜的安全管理任務,例如設定和維護防火牆規則。使用者可以透過自然語言與助手互動,快速請求新增、修改或刪除規則。這種自動化不僅提高了反應速度,也減少了人為錯誤的可能性,確保安全策略的準確實施[1][4]。

    ## 2. 即時安全態勢感知

    AI助理能夠分析來自互聯網、電子郵件、端點、網路和應用程式的超過5500億個安全事件,提供即時的安全態勢感知。這種能力使得企業能夠迅速識別潛在威脅,並及時採取相應措施,從而降低安全事件對業務的影響[4][5]。

    ## 3. 優化決策支持

    思科AI助理提供基於AI的安全洞察,幫助企業全面了解其設備、應用和網路的安全狀況。透過提供相關資訊和建議,AI助理能夠優化人類決策,使得安全團隊能夠更快速、更準確地制定應對策略[1][4]。

    ## 4. 政策優化與建議

    AI助理能夠識別和刪除重複的規則、錯誤配置的策略,並提供最佳化建議。這使得企業能夠簡化安全管理流程,並提高整體安全策略的效率與效果[4][5]。

    ## 5. 負責任的AI應用

    思科AI助理遵循負責任的AI原則,確保在資料保護和隱私方面的合規性。這種負責任的應用增強了企業對AI技術的信任,使其在安全解決方案中的應用更加廣泛和有效[1][2]。

    ## 具體實施方案

    – **整合現有工具**:思科AI助理能夠與企業現有的安全工具集成,增強其功能,提供更全面的安全防護。

    – **持續學習與適應**:AI助理透過不斷分析新的安全事件和數據,持續優化其演算法和回應策略,確保在不斷變化的威脅環境中保持有效性。

    – **使用者訓練與支援**:思科提供訓練與支持,協助企業安全團隊有效運用AI助手,提升其網路安全管理能力。

    透過這些方式,思科AI助理不僅提高了企業的網路安全性,也推動了安全管理的智慧化和自動化,幫助企業更好地應對複雜的安全挑戰。

  • perplexity是搜尋的未來嗎?Perplexity 的主要優勢是什麼?

    ## Perplexity是AI搜尋的未來

    Perplexity 有以下幾個特點,使它有望成為搜尋的未來:

    ### 1. 提供精準答案而非連結列表

    – Perplexity 不是簡單地返回一堆相關連結,而是利用大語言模型產生一個簡潔的答案,並附上引用的來源[1][3]
    – 這種對話式的搜尋體驗更符合使用者的需求,不需要自己去閱讀大量網頁[4]

    ### 2. 結合傳統搜尋和大語言模型的優勢

    – Perplexity 先利用傳統搜尋引擎找到相關內容,再輸入大模型生成答案[3]
    – 這種方式可以減少大模型的幻覺問題,提高答案的可靠性[3]

    ### 3. 個人化推薦

    – Perplexity 可以根據使用者的地理位置、性別、瀏覽習慣等特徵,為每個人提供個人化的搜尋結果[2]
    – 這種基於特徵向量的個人化,能為使用者帶來很好的體驗[2]

    ### 4. 顛覆性創新

    – Perplexity 不是簡單地複製Google的搜尋模式,而是從根本上重新思考搜尋引擎的 UI 和互動方式[2]
    – 例如將連結放在側邊欄,讓答案成為主體,這種創新有望顛覆傳統搜尋[2]

    當然,Perplexity 也存在一些缺點,例如對話上下文理解還不夠強,有時會給出錯誤訊息[1]。不過隨著技術的進步,這些問題都會得到解決。

    總的來說,Perplexity 的創新思路和技術實現,都讓它成為AI搜尋的未來。它不是要取代Google,而是要重塑我們獲取資訊的方式,讓搜尋變得更加高效、個性化和智能化。

    ## Perplexity 的主要優勢

    ### 1. 提供簡潔準確的答案

    – Perplexity 不是簡單地返回一堆相關連結,而是利用大語言模型產生一個簡潔的答案,並附上引用的來源[1][2]
    – 這種對話式的搜尋體驗更符合使用者的需求,不需要自己去閱讀大量網頁

    ### 2. 結合傳統搜尋和大語言模型的優勢

    – Perplexity 先利用傳統搜尋引擎找到相關內容,再輸入大模型生成答案[1]
    – 這種方式可以減少大模型的幻覺問題,提高回答的可靠性

    ### 3. 個人化推薦

    – Perplexity 可以根據使用者的地理位置、性別、瀏覽習慣等特徵,為每個人提供個人化的搜尋結果[4]
    – 這種基於特徵向量的個人化,能帶給使用者很好的體驗

    ### 4. 創新的 UI 設計

    – Perplexity 不是簡單地複製Google的搜尋模式,而是從根本上重新思考搜尋引擎的 UI 和互動方式[4]
    – 例如將連結放在側邊欄,讓答案成為主體,這種創新有望顛覆傳統搜索

    ### 5. 演算法創新提升效能

    – Perplexity 在召回和排序環節都進行了演算法創新,保證內容的有用性和引用的精確程度[3]
    – 在人工評估中,Perplexity 的內容有用性和引文召回率都位居前列,綜合能力領先[3]

    總的來說,Perplexity 的創新思路和技術實現,都讓它在搜尋領域脫穎而出。它不是要取代Google,而是要重塑我們獲取資訊的方式,讓搜尋變得更加高效、個性化和智能化。

     

  • 市值蒸發近百億,全球大宕機「始作俑者」CrowdStrike究竟是誰?

    「全球大宕機」的始作俑者究竟是什麼公司?

    來源|華爾街見聞
    作者|黃雯雯

    7月19日週五,微軟系統發生了全球大宕機事故,市場陷入混亂,多家企業的營運出現問題,全球供應鏈也受打擊,在歐亞和北美的全球最大航空貨運樞紐,數千架航班停飛或延誤,航空運輸可能需要幾週才能恢復正常。事件背後的「罪魁禍首」CrowdStrike 因此成為了焦點。

    據媒體報道,近日全球範圍內的電腦系統崩潰是由於CrowdStrike Falcon版本更新的一個問題造成的。

    當地時間週五,美股盤初,CrowdStrike股價一度大跌14%,收跌11.1%,報每股304.96美元,市值一夜蒸發近百億美元,創2022年以來最差單日表現。值此之

    際,「木頭姐」Cathie Wood管理的ARK ETF也大手筆抄底。

    那麼這個「全球大宕機」的始作俑者究竟是什麼公司?如何影響微軟並造成如此大的殺傷力的?

    CrowdStrike是什麼公司?

    據介紹,CrowdStrike是一家提供線上安全解決方案的公司,專注於提供基於雲端運算的端點保護平台。公司成立於2011年,總部位於美國加州,CrowdStrike的主要產品是Falcon平台,它利用人工智慧和機器學習技術來偵測、預防和回應網路威脅。

    CrowdStrike是美國的網路安全龍頭公司,因其在偵測和防禦高級網路攻擊方面的能力而聞名,世界500強企業中有271家是其客戶,其軟體被包括微軟、亞馬遜AWS在內的一些最大的雲端服務公司供應商所使用,也包括主要的全球銀行、醫療保健和能源公司,幫助它們檢測並阻止駭客威脅,許多政府機構(例如美國頂級的網路安全機構和基礎設施安全局)也使用其軟體。

    據市場研究機構IDC稱,在價值86億美元的「端點偵測與回應」(EDR)軟體市場中,CrowdStrike佔比重約18%,僅次於微軟

    CrowdStrike如何導致藍屏?微軟為何捲入其中?

    CrowdStrike提供的軟體類型有別於舊式的、版本有限的安全軟體,傳統的防毒軟體在電腦和網路發展初期效果顯著,因為它能夠捕捉已知惡意軟體的跡象,但隨著攻擊變得越來越複雜,這種軟體已經不再受歡迎。

    現在,CrowdStrike開發的被稱為「端點偵測和回應」軟體的產品比傳統防毒軟體有效得多,但與其他網路安全產品一樣,CrowdStrike的軟體需要更深層地存取電腦的作業系統來掃描威脅,而這種存取權限使其有能力破壞它們試圖保護的系統。

    微軟和CrowdStrike是競爭對手,兩家提供的「端點」網路安全產品類似,CrowdStrike的Falcon平台可以與微軟的安全產品集成,如Microsoft Azure和Microsoft 365,以增強整體網路安全防護能力。

    據報道,昨天的事故或源自於CrowdStrike發布的軟體程式碼更新與Windows系統的互動方式有誤而崩潰,導致大量用戶出現「藍屏死機」。

    CrowdStrike的聯合創始人兼首席執行官George Kurtz承認了這個問題,並表示已經部署了修復措施:

    “CrowdStrike正在積極與受影響的客戶合作,解決在Windows主機上發現的單一內容更新中的缺陷。Mac和Linux主機不受此影響。這不是一起安全事件或網路攻擊。”

    CrowdStrike殺傷力有多廣?

    CrowdStrike一個錯誤的軟體更新導致航空、銀行、醫療保健、零售等行業客戶出現連環故障,港口、企業和政府都受到影響。醫院被迫推遲了手術,麥當勞、UPS和聯邦快遞也因此故障。摩根大通、野村控股和美銀等銀行的員工週五無法登入公司係統。

    對航空公司而言,這次故障導致飛機和地面控制台溝通遇阻,旅客出行受到影響。 FlightAware顯示全球超過21,000個航班延誤。目前,美聯航、達美航空、 美國航空、漢莎航空、法荷航、瑞安航空正在逐步恢復,但速度緩慢。

    供應鏈諮詢公司 Xeneta 的首席空運官 Niall van de Wouw 在與聲明中表示:

    「飛機和貨物不在它們應該在的地方,(這個問題)需要幾天甚至幾週的時間才能完全解決。它提醒大家,我們的海運和空運供應鏈面對IT 故障是多麼不堪一擊。”

    網路安全專業人士稱,

    CrowdStrike的技術是抵禦勒索軟體的有力手段,但其成本(在某些情況下每台機器可能超過50美元),意味著大多數企業不會在所有電腦上安裝,而安裝了該軟體的電腦是最需要保護的計算機,如果它們癱瘓,關鍵服務也會跟著癱瘓。

    倫敦大學學院電腦科學系助理教授Marie Vasek表示,

    「大範圍的電腦崩潰表明,全球技術系統對少數公司的軟體有多麼依賴,包括微軟和CrowdStrike的軟體。這裡的問題是,微軟是每個人都使用的標準軟體,CrowdStrike中的漏洞被部署到每個系統中。

    CrowdStrike還稱,由於該公司在作業系統和生產力軟體方面的市場主導地位,其任何弱點都可能帶來潛在的災難性的影響。

    值得注意的是,這次全球性IT技術故障也導致特斯拉暫停了某些生產線。 7月20日北京時間凌晨1:10分左右,據媒體報道,特斯拉因CrowdStrike造成全球性IT技術故障而暫停某些生產線,公司員工尚未被告知何時才能復工復產。此前北京時間凌晨0:28分左右,馬斯克稱,“我們剛剛從所有系統中刪除了CrowdStrike。”

    問題如何解決?誰來承擔損失?

    CrowdStrike執行長George Kurtz稱,問題癥結已經找到,公司部署了修復程序。除Mac和Linux機器外,任何受到該更新影響而當機的Windows桌上型電腦或筆記型電腦都需要再次更新。

    根據媒體引述的CrowdStrike與一位客戶的溝通中,CrowdStrike的技術支援團隊建議說,可能需要將受影響的系統重啟多達15次。

    保險經紀公司Marsh McLennan稱,超過75家客戶可能會因為CrowdStrike全球性崩潰事件而提出網路故障索賠。

    而對於故障造成的經濟損失程度以及誰會承擔這些損失,在一段時間內還不得而知。據悉,大多數軟體供應商對其程式造成的損害不承擔法律責任,這些程式是授權的,而非出售的。但他們通常與最大的客戶簽訂了服務協議,可能需要幫助補救、給予折扣或其他補償。

    CrowdStrike 在聲明中表示,

    “正在與所有受影響的客戶合作,以確保系統恢復正常運行,並能提供客戶所期望的服務。”

    另外,值得注意的是,還有一起涉及微軟Azure雲端服務的事件也造成了服務中斷。微軟表示,已經解決了根本問題,但用戶仍然會感受到「殘餘影響」。

    有分析稱,目前還不清楚電腦系統崩潰有多少是由 CrowdStrike 軟體更新缺陷引起的,有多少是由周四開始的微軟線上服務及其企業雲端運算服務 Azure 出現的問題引起的。

    但微軟發言人稱,該公司不認為 CrowdStrike 軟體漏洞與影響「部分 Azure 客戶」的中斷有關。

    華爾街怎麼看?

    分析師的態度也各異,Wedbush Securities分析師Dan Ives表示:

    「這對CrowdStrike來說顯然是一個重大的打擊,該股將面臨壓力。…這一事件源於技術更新,而不是駭客或網路安全威脅,這將更令人擔憂。”

    也有分析師認為,雖然週五的事件對CrowdStrike造成了損害,但他們預計競爭對手不會因此事件而奪走太多市場份額。摩根大通的分析師表示:

    “客戶最初會感到不安,但該公司已經接管了這一問題…故障發生了,而且規模很大,但我們認為CrowdStrike的盡職盡責和高效反應將有所幫助。”

    前網路安全投資者、現經營安全新創公司Gusto的Ben Bernstein表示,他計劃暫時繼續使用CrowdStrike。

    值得注意的是,全球宕機引發暴跌之際,「木頭姐」大手筆「抄底」CrowdStrike,當地時間7月19日,木頭姐姐旗下方舟投資透過其ARKW和ARKF ETF逆勢買入了價值約1324萬美元的38595股CrowdStrike股票。

  • 使用PyInstaller創建Python可執行檔

    您已經花費時間創建了一個 Python 應用程序,您希望使用它或將其分發。

    譯自How to Create a Python Executable File With PyInstaller,作者 Jack Wallen。

    您已經花時間創建了一個Python 應用程序,您希望使用它或將其分發給可以從其強大功能中受益的人。您可能認為唯一的方法是將程式碼發送給他們,確保他們在機器上安裝了Python(以及程式碼所需的任何依賴項),並指示他們使用命令python3 appname.py運行程式碼。

    當然,這可以工作,但並不有效率。如果您與可能不太了解 Python 的人共享應用程序,這可能會很麻煩。或者,即使他們了解 Python,您肯定也不希望將程式碼發送給他們並期望他們從命令列運行它。

    相反,為什麼不從您的Python 程式碼創建一個可執行文件,這樣用戶只需雙擊它即可運行應用程序,或者將文件複製到其$PATH 中的目錄並從文件系統層次結構中的任何位置運行命令。

    這就是我今天要向您展示如何做的事情。我們將使用我們先前建立的 Python 應用程式的程式碼(用於獲取使用者的輸入並使用GUI將其寫入檔案)並從中建立一個方便的可執行檔。

    這是一種從 Python 程式碼創建便攜式應用程式的好方法。目標機器唯一的要求是安裝 Python(這是一個相當容易克服的障礙)。

    好的,讓我們開始吧。

    您需要什麼
    要使此方法有效,您需要一台安裝了 Python 的機器以及我們上次建立的範例程式碼。我會在這裡添加程式碼,這樣您就不必搜尋它。我將在 Ubuntu 22.04 上演示此方法,但該過程適用於任何 Linux 發行版(或任何支援 Python 的作業系統)。如果您使用的是其他發行版或作業系統,則需要相應地調整 Pip 安裝過程。

    安裝 Pip
    要安裝 PyInstaller,您必須先確保安裝了 Pip(Python 套件管理器)。您可以使用以下命令檢查 Pip 是否已安裝:

    如果您在控制台中看到版本號,則表示您已準備好。如果您收到錯誤,則需要安裝 Pip,這可以透過以下命令完成:

    sudo apt-get install python3-pip -y
    當上述命令完成後,您就可以繼續了。

    接下來,我們需要安裝PyInstaller,它會讀取您的Python 程式碼,發現您的應用程式運行所需的每個模組和庫,收集所有必要的東西(包括Python 解釋器),並將它們與您的程式碼組合成一個單獨的資料夾或一個單獨的可執行檔。

    若要安裝 PyInstaller,請執行下列命令:

    就是這樣。您已準備好。

    將所有內容捆綁在一起
    我將首先向您展示如何使用 PyInstaller 為您的應用程式建立捆綁包。所有這些都將包含在一個資料夾中,其中包含一個可執行檔和一個包含依賴項的資料夾。

    請記住,我們用於輸入 GUI 的程式碼如下所示:

    讓我們使用以下命令建立一個新目錄:

    使用以下命令變更到該目錄:

    使用以下命令建立 Python 檔案:

    將上面的程式碼貼到該文件中,然後儲存/關閉它。然後,您可以使用以下命令建立捆綁資料夾:

    當命令完成後,使用以下命令變更到 dist 目錄:

    在這個資料夾中,你會找到一個名為 input 的子資料夾,其中包含可執行文件,以及一個名為 _internal 的資料夾。使用cd input命令進入 input 資料夾,然後你可以使用以下命令運行你的應用程式:

    ./input

    輸入 GUI 將會打開,你可以使用該應用程式。

    如果你想以這種方式分發應用程序,你需要將 INPUT_APP/dist/input 資料夾複製給任何需要它的人,他們就可以像你一樣運行它(只要他們的機器上安裝了 Python)。

    有一個更簡單的方法。

    建立單一文件可執行文件
    最好的方法是使用 PyInstaller 建立單一檔案可執行檔。這裡唯一的區別是你在(INPUT_APP 資料夾內)運行的命令,它是:

    pyinstaller –noconsole –onefile input.py

    –noconsole 選項指示 PyInstaller 抑制應用程式啟動時不可避免地開啟的終端窗口,而 –onefile 則告訴 PyInstaller 建立單一檔案可執行檔。

    當此命令完成時,你將在 dist/input 目錄中找到單一檔案可執行檔。然後,你可以將該檔案複製到你的 $PATH 中的目錄(例如 /usr/local/bin)或複製給任何需要該應用程式的人。

    這就是從 Python 程式碼建立可執行檔的所有步驟。使用這種便捷的方法,你的應用程式不僅更容易運行,而且更容易分發給其他用戶。

     

     

  • 週鴻禕談專業選擇:電腦、數學、大數據最基礎有用

    保持好奇心,學歷沒那麼重要

    最近大家總問我關於高考挑大學、選專業的事,我上大學是88年,快35年前了,跟今天情況不太一樣。我也給不了太多具體建議。乾脆開了一場直播,跟大家做一些溝通交流。

    1.上好大學固然重要,沒上大學也不一定是災難。沒考上大學就沒有前途?我個人反對,社會本身也是大學。

    2.高考已經完了,考得好不好就這樣了。沒考上也不代表沒前途。社會本身就是一所大學。關鍵在於找到自己的興趣、擅長的領域、培養自學的能力。

    3.無論上不上大學,都要找到自己愛好的方向有自學的能力。學習應該是終身學習,特別是無監督學習。沒有老師監督,沒有期末考試,也要唸書。學會無監督學習。

    4.有人問我,學歷不重要,為什麼 360 只要 985211 的畢業生?我還特意問了我們 hr,招聘分校招和社招。校招要有標準,否則很難做;但社招就不一樣了,如果一個人都畢業十來年了,嘴上還掛著我是某大學畢業,表示這個人沒有自信也沒有能力。公司招人,不一定有學歷的要求但一定有能力的要求。

    5.360 招人,是不拘一格的。我直播中請的員工也證明了這一點。雖然他們沒有學歷,但在某些方面,證明了他們的能力。可以給大家的借鏡是一定要找到自己的興趣點。

    6.很多人問我大學選什麼專業?我覺得專業不重要。為什麼?第一,社會變化很快,過幾年,熱門可能就不熱門;第二,學對了專業,也不見得就有用,還是要活到老學到老。第三,有些變數例如 A 出現,我們需要尋找新的成長曲線,學習新的專業。

    7.社會快速的變化,讓新專業湧現出來,老專業失效

    8.很多孩子選專業,可能會屈從於父母的建議、但我建議你們,一定要花點時間,自己做做研究我曾經很希望我的孩子學醫,這樣我老了看病有保障。但他寧願開一家咖啡館,也不願意學醫。如果你選的是自己不喜歡的,自己會很不開心。

    9.很多人在誤導我們的孩子,他們把人生選擇定的特別簡單,好像考個試就定終身了。但實際上不是這樣的,人生有很多改命的機會。邁錯一兩步都不重要。誰沒有邁錯過?

    10.好的專業,可能比別人快一點;不好的專業起步絆了兩腳。有句話說人生不要輸在起跑線上這句話我特別反感。人生是一場馬拉松。路還長著呢,先胖不算胖,後胖壓大坑。

    11.偏科很正常,全才很難得。面對偏科,恰恰要把自己的優勢加強,再去尋找機會。

    12.如果讓我一定推薦專業,數學和計算機,肯定是人工智慧的基礎。未來大模型會重塑百行千業對這類人才的需求肯定很大。

    13.想選哪個專業時,可以藉助互聯網,用 360AI搜索,找該專業的學長學姐好好了解一下,

    14.在大學裡面,學到學習的能力、社交的能力是很重要的。

    15.怎麼選專業呢?第一,看你是否喜歡;第二.看你是否擅長;第三,從未來趨勢看,是否有正向發展前途:第四,找學過的人了解下。實在不行,還可以換專業。

    16.學習的動力,不是為了考試,也不是為了讓老師、家長滿意,這個是在大學要完成的轉變。

    17.大學裡,要學會交朋友。大學是一個人從少年變成成年人的過程。在走向社會之前,如果不想被社會的鐵拳暴擊,要培養自己社交的能力。

    18.我認為城市>大學>專業。現在資源都是向大城市聚攏,接觸的人更多,機會更多,眼界閱歷都會增加。

    19.大家作為新生選專業的時候,大多是資訊不對稱。我有個呼籲,大一比較安排通識教育,再給大家一次換專業的機會。

    20.我個人文理結合地比較好。我認為文科未來發展會很好,他們一般寫作能力、表達能力比較強。這些能力都是做領導的能力。我對文科生是比較認可的。

    21.例如我的孩子要報專業,我也會坐下來跟他討論。它是一個綜合的因素。

    22.我最後推薦我的書《超越好奇》。

    週鴻禕還稱,世界已經進入了一個數位化的高速發展階段,萬物金融互聯、數據驅動業務,然後人工智慧來輔助決策。

    當談到什麼職業可能會被人工智慧取代問題時,週鴻禕表示,人工智慧的發展,是以人為本,大模型不應該引發大規模的裁員,而是要幫助企業和政府的員工提升能力和效率,成為最容易用的工具,讓每個普通人都能真正使用。

    週鴻禕認為,將來被淘汰的人,應該是不會使用人工智慧的人,被會使用(人工智慧)的人淘汰,而不是被人工智慧本身所淘汰。

    作者:萬能的大雄

  • 避免網路故障:Cisco ACI 中的 STP 最佳實踐

     网工笔记本

    思科 ACI 是一個大型路由域,不支援傳統 STP 生成樹協議,但可以識別 STP BPDU 封包並對 STP TCN 拓撲變化做出回應。

    處理機制

    ACI 從外部交換器接收到 TCN BPDU,將會在對應介面所屬 EPG flood BPDU。 flood 範圍控制在 EPG,或者說,EPG 相關的 FD VLAN,具體是透過 FD VLAN/VXLAN 關聯的 fabric_encap VNI 來實現。

    STP 可能造成的問題

    upon receiving STP TCN, EPM will flush all EPs behind the VLAN,這個行為會導致接收到 STP TCN 的 EPG,所有 EP 被 flush,重新學習,流量中斷。

    如果不同 EPG,使用 overlapping vlan id,且 vlan id 來源是相同 vlan pool,就會計算相同 fabric_encap VNID,STP flood 範圍就會從單一 EPG 變成兩個 EPG。影響範圍喜加一(這也是不建議 overlapping vlan 的原因之一)

    STP 相關的 best practice
    總結了一些 tips,詳細內容還是建議參考官方文件。 ACI Design Guide[1],unofficial guide 1[2],和 Cisco 論壇[3]

    1. leaf — external switch(eg. N7k),external switch 介面無法設定 bpdufilter 不收不發 BPDU,容易形成環路

    2. leaf — physical server,leaf 介面可以開啟 bpduguard,收到 BPDU 就進入 bpdu-guard-err-disable 狀態,避免誤接 switch

    3. external switch 所有接入 endhost(non-switch) 的接口,都應該打開 portfast/trunk edge,避免接口 flap 產生的 TCN,一路傳遞到 ACI。同時開啟 bpduguard,避免誤接 switch

    4. external switch 在 trunk 接口,只 allow 特定 vlan

    5. external switch 連接 ACI 的接口,應該配置 spanning-tree link-type shared,將 ACI 理解為一個 Hub,並不是默認 STP P2P(兩台 switch 直接對接)。參考文件 STP link-type shared[4]

    6. 建議使用 leaf–VPC / port-channel LACP 形式連接 external switch,避免 STP 的影響

    7. 推薦 VLAN = EPG 的 network centric mode 部署,縮小故障域

    8. BD setting L2 Unknown Unicast 可以設定為 flood,即使 EP 被 flush,也能夠透過 flood 行為轉發。這個方式會增加網路當中的 flood traffic,慎重選擇

    9. 外接 external switch 和 BM local endpoint,建議使用不同 vlan,分割到不同 EPG,避免被連帶影響。

    10. 打開 MCP(MCP default policy:enabled, on intf policy group)

    11. 開啟 Rogue EP control

    12. Catalyst 系列的spanning-tree etherchannel guard misconfig 最好關閉,這個機制是假設Catalyst switch 連接到了同一個設備做EtherChannel 所以收到BPDU 的source mac 應該相同;如果收到不同source mac BPDU 並且超出一定閾值,就會err-disable 介面;在和ACI 對接場景,ACI 作為STP hub,在encap vlan flood BPDU,很容易讓對端Cat err-disable。建議使用 LACP, PagP 來取代 etherchannel guard misconfig。

    透過這些最佳實踐,可以在 Cisco ACI 環境中更好地管理 STP TCN,確保網路穩定性和效能。

    引用链接

    [1] ACI Design Guide: https://www.cisco.com/c/en/us/td/docs/dcn/whitepapers/cisco-application-centric-infrastructure-design-guide.html#MinimizethescopeofSpanningTreetopologychanges
    [2] unofficial guide 1: https://unofficialaciguide.com/2019/03/28/stp-and-aci-intermittent-packet-loss-due-to-tcns/
    [3] Cisco 论坛: https://community.cisco.com/t5/application-centric-infrastructure/apic-issues-excessive-stp-tcn-flushes/td-p/3302890
    [4] STP link-type shared: https://www.cisco.com/c/en/us/support/docs/cloud-systems-management/application-policy-infrastructure-controller-apic/211236-ACI-operation-with-L2-switches-and-Spann.html

     

  • 使用PyInstaller創建Python可執行檔

    岱军 云云众生s

    您已經花費時間創建了一個 Python 應用程序,您希望使用它或將其分發。

    譯自How to Create a Python Executable File With PyInstaller,作者 Jack Wallen。

    您已經花時間創建了一個Python 應用程序,您希望使用它或將其分發給可以從其強大功能中受益的人。您可能認為唯一的方法是將程式碼發送給他們,確保他們在機器上安裝了Python(以及程式碼所需的任何依賴項),並指示他們使用命令python3 appname.py運行程式碼。

    當然,這可以工作,但並不有效率。如果您與可能不太了解 Python 的人共享應用程序,這可能會很麻煩。或者,即使他們了解 Python,您肯定也不希望將程式碼發送給他們並期望他們從命令列運行它。

    相反,為什麼不從您的Python 程式碼創建一個可執行文件,這樣用戶只需雙擊它即可運行應用程序,或者將文件複製到其$PATH 中的目錄並從文件系統層次結構中的任何位置運行命令。

    這就是我今天要向您展示如何做的事情。我們將使用我們先前建立的 Python 應用程式的程式碼(用於獲取使用者的輸入並使用GUI將其寫入檔案)並從中建立一個方便的可執行檔。

    這是一種從 Python 程式碼創建便攜式應用程式的好方法。目標機器唯一的要求是安裝 Python(這是一個相當容易克服的障礙)。

    好的,讓我們開始吧。

    您需要什麼
    要使此方法有效,您需要一台安裝了 Python 的機器以及我們上次建立的範例程式碼。我會在這裡添加程式碼,這樣您就不必搜尋它。我將在 Ubuntu 22.04 上演示此方法,但該過程適用於任何 Linux 發行版(或任何支援 Python 的作業系統)。如果您使用的是其他發行版或作業系統,則需要相應地調整 Pip 安裝過程。

    安裝 Pip
    要安裝 PyInstaller,您必須先確保安裝了 Pip(Python 套件管理器)。您可以使用以下命令檢查 Pip 是否已安裝:

    如果您在控制台中看到版本號,則表示您已準備好。如果您收到錯誤,則需要安裝 Pip,這可以透過以下命令完成:

    sudo apt-get install python3-pip -y
    當上述命令完成後,您就可以繼續了。

    接下來,我們需要安裝PyInstaller,它會讀取您的Python 程式碼,發現您的應用程式運行所需的每個模組和庫,收集所有必要的東西(包括Python 解釋器),並將它們與您的程式碼組合成一個單獨的資料夾或一個單獨的可執行檔。

    若要安裝 PyInstaller,請執行下列命令:

    就是這樣。您已準備好。

    將所有內容捆綁在一起
    我將首先向您展示如何使用 PyInstaller 為您的應用程式建立捆綁包。所有這些都將包含在一個資料夾中,其中包含一個可執行檔和一個包含依賴項的資料夾。

    請記住,我們用於輸入 GUI 的程式碼如下所示:

    import sys
    from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout

    class UserInputApp(QWidget):
    def __init__(self):
    super().__init__()
    self.init_ui()

    def init_ui(self):
    self.setWindowTitle(‘User Input App’)
    self.setGeometry(100, 100, 400, 200)
    self.label = QLabel(‘Enter text:’)
    self.text_input = QLineEdit()
    self.save_button = QPushButton(‘Save to File’)
    self.save_button.clicked.connect(self.save_to_file)
    layout = QVBoxLayout()
    layout.addWidget(self.label)
    layout.addWidget(self.text_input)
    layout.addWidget(self.save_button)
    self.setLayout(layout)

    def save_to_file(self):
    text = self.text_input.text()
    with open(‘user_input.txt’, ‘a+’) as file:
    file.write(text + ‘\n’)
    print(‘Text saved to file.’)

    if __name__ == ‘__main__’:
    app = QApplication(sys.argv)
    window = UserInputApp()
    window.show()
    sys.exit(app.exec_())

    讓我們使用以下命令建立一個新目錄:

    使用以下命令變更到該目錄:

    使用以下命令建立 Python 檔案:

    將上面的程式碼貼到該文件中,然後儲存/關閉它。然後,您可以使用以下命令建立捆綁資料夾:

    當命令完成後,使用以下命令變更到 dist 目錄:

    在這個資料夾中,你會找到一個名為 input 的子資料夾,其中包含可執行文件,以及一個名為 _internal 的資料夾。使用cd input命令進入 input 資料夾,然後你可以使用以下命令運行你的應用程式:

    ./input

    輸入 GUI 將會打開,你可以使用該應用程式。

    如果你想以這種方式分發應用程序,你需要將 INPUT_APP/dist/input 資料夾複製給任何需要它的人,他們就可以像你一樣運行它(只要他們的機器上安裝了 Python)。

    有一個更簡單的方法。

    建立單一文件可執行文件
    最好的方法是使用 PyInstaller 建立單一檔案可執行檔。這裡唯一的區別是你在(INPUT_APP 資料夾內)運行的命令,它是:

    pyinstaller –noconsole –onefile input.py

    –noconsole 選項指示 PyInstaller 抑制應用程式啟動時不可避免地開啟的終端窗口,而 –onefile 則告訴 PyInstaller 建立單一檔案可執行檔。

    當此命令完成時,你將在 dist/input 目錄中找到單一檔案可執行檔。然後,你可以將該檔案複製到你的 $PATH 中的目錄(例如 /usr/local/bin)或複製給任何需要該應用程式的人。

    這就是從 Python 程式碼建立可執行檔的所有步驟。使用這種便捷的方法,你的應用程式不僅更容易運行,而且更容易分發給其他用戶。

  • OTN技术在5G网络中扮演什么角色?

    OTN,即Optical Transport Network(光傳輸網路),是一種基於光纖通訊技術的網路架構,用於實現光訊號的傳輸和交換。 OTN技術具有高速傳輸的特點,可滿足大容量網路的頻寬需求,為寬頻接取網路和光纖網路的改造提供強力支撐。它廣泛應用於各大營運商的幹線傳輸網路建設,推動了相關業務的發展 。

    OTN技術可以支援客戶訊號的透明傳送、高頻寬的複用交換和配置,具有強大的開銷支援能力,提供強大的操作、管理和維護(OAM)功能,支援多層嵌套的串聯連接監視(TCM )功能、具有前向糾錯(FEC)支援能力。

    OTN的組成部分包括光傳輸設備、光傳輸介質、光傳輸協定和網路管理系統。光傳輸設備如光放大器、光開關、光解復用器等,負責處理和調控光訊號的傳輸;光傳輸介質即光纖,具有低損耗、高頻寬和長距離傳輸的特性;光傳輸協定定義了OTN中光訊號的傳輸格式和處理規則,常用的標準為ITU-T G.709;網路管理系統用於監控和管理OTN網路的運作狀態和效能。

    OTN的工作原理涉及光訊號的調變、傳輸、解復用、交換和路由、再調變、資料處理和傳輸,以及網路管理和監控。 OTN網路的管理和監測確保了其正常運作和效能最佳化 。

    OTN的應用場景廣泛,包括營運商網路、資料中心互聯、行動通訊網路、企業網路、網際網路骨幹網路和科學研究網路等。它提供高速、低延遲和可靠的資料傳輸,滿足不同應用場景的需求 。隨著技術的發展,OTN正在逐步下沉到移動城域傳輸網路的建設中,用於滿足傳輸網路大寬頻、大容量的業務需求,不斷提高光纖芯的利用率 。

    OTN技術在5G網路中扮演著至關重要的角色,主要體現在以下幾個方面:

    1. **大頻寬和低時延需求滿足**:5G網路的三大應用情境eMBB(增強行動寬頻)、URLLC(超高可靠低時延通訊)和mMTC(海量物聯網)對承載網路提出了大頻寬、低時延等要求。 OTN技術以其高頻寬、低延遲的特性,能夠滿足5G網路對傳輸速度和時延的嚴苛要求 。

    2. **統一承載解決方案**:OTN技術可以為5G網路提供綜合承載解決方案,實現5G、固定寬頻、雲端和政企專線等業務的統一承載。透過在匯聚機房集中部署無線集中設備,分組OTN設備可以將前傳流量匯集到節點無線設備,同時支援路由轉送功能將中傳回傳業務上傳到上層承載設備 。

    3. **技術創新與標準化**:在5G時代,OTN技術的標準化與技術創新不斷推進。例如,M-OTN(Mobile-Optimized OTN)技術,就是專為5G設計的OTN技術,它透過簡化映射復用結構和優化FEC演算法,匹配低成本的光模組,以適應5G前傳、中傳和回傳的不同需求。

    4. **高精度時間同步**:5G網路對時間同步精度提出了更高的要求,OTN技術透過帶內和帶外兩個方向提升精度,以滿足5G網路對超高精度時間同步的需求。

    5. **智慧化與網路切片支援**:OTN技術結合SDN和AI技術,支援網路智慧化,能夠實現業務快速配置下發、跨廠商調度及快速開通,同時支援靈活的網路切片技術,滿足5G網路多場景、多租戶的應用需求。

    6. **降低建網成本和提升服務品質**:透過開放解耦及高效管理,OTN技術有助於降低建網成本並提升服務質量,打造良性競爭的生態環境,符合運營商的長遠利益。

    綜上所述,OTN技術在5G網路中的應用,不僅能夠提供必要的頻寬和時延保證,還能夠透過技術創新和智慧化管理,滿足5G網路的多樣化需求,為營運商建構高效可靠的5G網路提供支援。