偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

網(wǎng)絡(luò)丟包診斷與分析的現(xiàn)實(shí)與理想

運(yùn)維 網(wǎng)絡(luò)運(yùn)維
自從有了網(wǎng)絡(luò)便有了網(wǎng)絡(luò)故障,網(wǎng)絡(luò)故障的最大體現(xiàn)是丟包。如何對丟包進(jìn)行診斷一直是一個令工程師頭疼的問題,可關(guān)注丟包原因分析的人卻非常的少。

自從有了網(wǎng)絡(luò)便有了網(wǎng)絡(luò)故障,網(wǎng)絡(luò)故障的***體現(xiàn)是丟包。如何對丟包進(jìn)行診斷一直是一個令工程師頭疼的問題,可關(guān)注丟包原因分析的人卻非常的少。

現(xiàn)實(shí)

目前對于網(wǎng)絡(luò)中出現(xiàn)丟包的傳統(tǒng)處理步驟如下:

  • 首先,確定丟包的設(shè)備。
  • 然后,確定報(bào)文在該設(shè)備的處理流程。
  • ***,一一核對對應(yīng)處理流程的轉(zhuǎn)發(fā)表項(xiàng)(從軟件表項(xiàng)到硬件表項(xiàng))。

[[192263]]

也許你會覺得一一核對轉(zhuǎn)發(fā)流程表項(xiàng)太慢太麻煩,熟悉芯片的處理流程和功能之后你會找到如下一種處理方式:

  • 首先,還是要確定丟包的設(shè)備。
  • 然后,利用芯片提供的一些diagnosis功能進(jìn)行確認(rèn),例如Broadcom的Flexible Counter,Mediatek的drop statitics等。
  • ***,根據(jù)硬件的丟包原因去確認(rèn)丟包的真實(shí)原因。

雖然看起來步驟很明確,但是執(zhí)行這些步驟需要對其中的流程以及機(jī)制了解的非常清楚,才能準(zhǔn)確的診斷出丟包的原因。目前各個廠商對于丟包的診斷沒有更進(jìn)一步的手段和方案。

為什么會這樣

是什么導(dǎo)致了網(wǎng)絡(luò)診斷的手段在長時(shí)間都沒有什么實(shí)質(zhì)性的發(fā)展呢?主要是因?yàn)橐韵聨讉€方面:

NOS本身的封閉性

  • NOS廠商不愿暴露更多的細(xì)節(jié)給客戶
  • NOS以前都是一些專用的系統(tǒng),無法提供像服務(wù)器上一些便捷的手段如tcpdump
  • NOS架構(gòu)通常都是mips/ppc架構(gòu),其計(jì)算能力無法與x86相比

芯片廠商提供的diagnosis具有相當(dāng)?shù)木窒扌浴?/strong>

  • Flexible counter提供一個基于丟包原因的統(tǒng)計(jì),可以基于端口統(tǒng)計(jì)多個丟包原因的報(bào)文個數(shù)。但是如果你想知道具體的丟包原因需要調(diào)整reason bitmap,需要對照手冊進(jìn)行調(diào)整bitmap。
  • Drop statics提供了端口丟包的統(tǒng)計(jì),同時(shí)提供了丟包的reason status bitmap(即發(fā)生的丟包原因)。但是可惜的這個reason status bitmap是全局的,不是基于端口的,存在一定的干擾性。

理想

想象一下當(dāng)你發(fā)現(xiàn)網(wǎng)絡(luò)不通的時(shí)候,你打開一個應(yīng)用程序,這個程序告訴你,你的某個報(bào)文在網(wǎng)絡(luò)中的某一臺設(shè)備的某個口上因?yàn)槟撤N原因丟棄了,然后你核對對應(yīng)配置,發(fā)現(xiàn)配置被人修改了,然后修改配置后就通了。前后用不上幾分鐘就能解決問題。相比傳統(tǒng)的兩種方式,是不是要簡便的多了?

為什么這么做

看到這里人們不禁要問了,為什么傳統(tǒng)的網(wǎng)絡(luò)廠商都沒有這么做,應(yīng)該是沒有辦法做到這樣的吧?

而今是一個開放網(wǎng)絡(luò)操作系統(tǒng)盛行的時(shí)代,隨之一起而來的是白盒交換機(jī),白盒交換機(jī)的控制面CPU不再是局限在傳統(tǒng)的mips/ppc的架構(gòu),支持x86、ARM的有,而交換機(jī)服務(wù)器化的趨勢也在醞釀,可以預(yù)計(jì)將來x86的交換機(jī)將會大行其道。

總的來看這個時(shí)代有兩個重要的趨勢:

  • 開放性,用戶將會越來越注重系統(tǒng)的開發(fā)以及開發(fā)性。
  • x86釋放了強(qiáng)大的計(jì)算能力,如何利用?

診斷與分析的難度和開放網(wǎng)絡(luò)的趨勢使得開發(fā)便利的診斷分析成為了一種必要,同時(shí)這也是一個機(jī)會。

怎么做

理想是一步步實(shí)現(xiàn)的,要實(shí)現(xiàn)這個理想需按如下幾步走:

  • 能夠在控制臺上通過show命令看到最近一段時(shí)間內(nèi)的丟包的基本信息,并能夠?qū)⑦@些基本信息導(dǎo)出。
  • 在控制臺上通過show命令看到最近一段時(shí)間內(nèi)丟包的詳細(xì)信息,并支持導(dǎo)出的基本信息的解析(wireshark插件)。
  • 部署應(yīng)用程序收集并按照規(guī)則統(tǒng)計(jì)丟包的信息。

一小步

對于丟包我們首先想到的是用戶關(guān)注是哪個端口在發(fā)生丟包,其丟包原因是什么,因此對show命令的內(nèi)容進(jìn)行了如下的定義。

網(wǎng)絡(luò)丟包診斷與分析的現(xiàn)實(shí)與理想

在設(shè)備上緩存這些丟包的case,并更新其***發(fā)現(xiàn)的時(shí)間。

接下來就是如何獲取這些丟包的信息,針對數(shù)據(jù)中心場景下20多種丟包原因進(jìn)行分析,首先將其分為兩類:

  • 情況一:丟包,cpu可以獲取原始報(bào)文的
  • 情況二:丟包,cpu無法獲取原始報(bào)文的

情況一

通常轉(zhuǎn)發(fā)流水線中的大部分的丟包都可以獲取到其丟棄的原始報(bào)文,對應(yīng)的有:

  • 報(bào)文攜帶的VLAN未創(chuàng)建
  • 端口不在對應(yīng)的VLAN中
  • 路由查找失敗
  • l3 mtu檢查失敗
  • stp 狀態(tài)
  • 其他等

對于這些的丟包情況,可以從芯片獲取其原始的報(bào)文進(jìn)行分析然后歸類統(tǒng)計(jì)。

情況二

在整個轉(zhuǎn)發(fā)流水線中也存在部分的丟包是無法提供原始報(bào)文的,對應(yīng)的有:

  • 超過buffer水線丟包
  • 解析錯誤丟包
  • 包校驗(yàn)錯誤丟包
  • ingress mtu丟包(看mtu檢查實(shí)現(xiàn)的方式而定)

對于這些丟包情況,可以從芯片的狀態(tài)信息中獲取對應(yīng)的狀態(tài),然后進(jìn)行歸類統(tǒng)計(jì)。

同時(shí)為了支持將信息導(dǎo)出以為后續(xù)的分析提供支持,定義了agent導(dǎo)出丟包信息的格式,如下:

網(wǎng)絡(luò)丟包診斷與分析的現(xiàn)實(shí)與理想

上述結(jié)構(gòu)中包含了截?cái)嗟那?28字節(jié)的報(bào)文(如果能有原始報(bào)文),這里主要是提供給應(yīng)用程序分析使用。

進(jìn)一步

完成***步之后,對于部分場景依然只能得到一個模糊的丟包的原因,只能對應(yīng)上直接原因,對于找到根本原因還差一步,例如l3 lookup miss,如果無法知道報(bào)文的目的口ip,那么就無法繼續(xù)分析下去,因此,用戶查看對應(yīng)的報(bào)文的詳細(xì)信息的需要在此時(shí)變的非常重要。

同樣我們需要分析報(bào)文信息哪些在這種場景下對用戶是必要的,分析的結(jié)果如下:

  • 二層頭信息,smac、dmac、etype、length。
  • 802.1q tag信息,tpid、VLAN id。
  • 三層頭信息,sip、dip、tos、ip length、ttl、ip protocol。
  • arp頭信息,smac、tmac、sip、tip、op_code。
  • 四層頭信息,source port、dest port。

于是在設(shè)備的緩存的丟包c(diǎn)ase中不僅保存了丟包的metadata信息,還保存了該case對應(yīng)最近一個丟包的報(bào)文的解析結(jié)果。在cli上就可以通過命令將對應(yīng)的信息以以下格式展示出來。

網(wǎng)絡(luò)丟包診斷與分析的現(xiàn)實(shí)與理想

以上給出了三個示例,其中兩個是可以獲取到原始的丟棄的報(bào)文信息的,另一個是無法獲取的。

同樣對于導(dǎo)出的信息,也需要支持解析,通過wireshark的lua插件進(jìn)行展示,展示的結(jié)果如下所示。

網(wǎng)絡(luò)丟包診斷與分析的現(xiàn)實(shí)與理想

一大步

將全網(wǎng)的丟包信息全部匯集到一個collector上進(jìn)行統(tǒng)計(jì)分析,然后提供以下方式的統(tǒng)計(jì)顯示,并可盡量還原其對應(yīng)的流量大小。

  • 基于物理設(shè)備統(tǒng)計(jì)。
  • 基于源目的ip的統(tǒng)計(jì)。
  • 基于源目的端口的統(tǒng)計(jì)。
  • 基于丟包原因的統(tǒng)計(jì)。

通過這些統(tǒng)計(jì)的方式可以發(fā)現(xiàn)網(wǎng)絡(luò)中存在的危險(xiǎn)和配置問題(like kill all possible warning in coding),整個網(wǎng)絡(luò)盡在掌握。

擁有了這個網(wǎng)絡(luò)診斷分析功能之后,我們只需要簡單的兩步就可以確定丟包的原因:

  • show sdrop查看丟包的基本信息。
  • 如果***步還是沒有提供足夠的信息,那么show sdrop detail中的包含的報(bào)文的相關(guān)信息將會準(zhǔn)確提示其原因。

云啟科技的ConnetOS已經(jīng)完成了前面的兩階段,第三階段正在規(guī)劃中,wireshark插件已經(jīng)開放到github,可前往了解更多。

作者簡介:陳虎,云啟科技高級系統(tǒng)工程師 曾參與多款高端交換機(jī)的研發(fā),熟悉Broadcom、Dune、Mediatek系列芯片的架構(gòu)及轉(zhuǎn)發(fā)流水線。

責(zé)任編輯:未麗燕 來源: SDNLAB
相關(guān)推薦

2013-08-08 09:08:16

軟件定義網(wǎng)絡(luò)SDN

2020-01-11 17:49:03

區(qū)塊鏈數(shù)字貨幣比特幣

2020-05-26 22:23:03

Serverless容器Serverless

2018-09-06 15:15:44

2017-09-20 08:45:58

2013-02-27 10:39:41

網(wǎng)絡(luò)丟包故障

2023-04-28 09:24:50

自動駕駛數(shù)據(jù)

2021-08-04 10:06:08

SASE網(wǎng)絡(luò)安全云架構(gòu)

2014-01-22 09:39:21

科來軟件網(wǎng)絡(luò)回溯分析

2020-03-05 18:35:20

5G通信網(wǎng)絡(luò)互聯(lián)網(wǎng)

2020-05-27 11:29:29

GDPR數(shù)據(jù)安全數(shù)據(jù)泄露

2023-07-09 09:53:25

無服務(wù)器架構(gòu)AWS Lambda

2009-07-27 10:39:50

2021-11-19 06:59:59

邊緣計(jì)算數(shù)據(jù)

2015-05-13 19:16:20

華為/敏捷網(wǎng)絡(luò)

2022-04-13 11:46:17

抓包wireshark丟包

2010-10-25 10:10:27

ibmdwJava

2013-04-02 09:37:43

SDN網(wǎng)絡(luò)虛擬化物理網(wǎng)絡(luò)層

2025-02-08 10:54:02

2022-08-06 16:40:13

SDN網(wǎng)絡(luò)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號