国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于DPDK的入侵檢測系統(tǒng)研究與應(yīng)用

2020-12-03 12:07陽亦斌歐盛芬
鐵路通信信號工程技術(shù) 2020年11期
關(guān)鍵詞:線程數(shù)據(jù)包內(nèi)存

陽亦斌,歐盛芬,楊 將

(湖南中車時代通信信號有限公司,長沙 410119)

1 概述

換裝系統(tǒng)的網(wǎng)絡(luò)安全防護(hù)方案充分采用已驗(yàn)證過的功能和技術(shù)。硬件方面采用支持國密算法的高性能安全芯片提供安全的密碼服務(wù)功能,具備接口豐富、配置靈活、安全可靠的特點(diǎn)。軟件方面提供了豐富的業(yè)務(wù)功能和強(qiáng)大的管理功能,為全面提升系統(tǒng)保障和維護(hù)服務(wù)質(zhì)量水平提供有力支撐。LKJ車載數(shù)據(jù)無線換裝系統(tǒng)的網(wǎng)絡(luò)安全防護(hù)方案是1套具有高安全、高可靠、高性價比、可擴(kuò)展性強(qiáng)、用戶選擇靈活的通用化、系列化成熟解決方案。

其中采用入侵檢測系統(tǒng)實(shí)時檢測網(wǎng)絡(luò)中的違法攻擊行為,與防火墻設(shè)備聯(lián)動及時阻斷攻擊來源設(shè)備。在應(yīng)對網(wǎng)絡(luò)攻擊時,Snort IDS具有實(shí)時分析數(shù)據(jù)流量和記錄IP網(wǎng)絡(luò)數(shù)據(jù)包功能。在協(xié)議分析時,根據(jù)規(guī)則對網(wǎng)絡(luò)數(shù)據(jù)包內(nèi)容進(jìn)行搜索和匹配,進(jìn)而檢測各種不同的攻擊方式,對攻擊行為實(shí)時報警。作為一個開源的入侵檢測系統(tǒng),Snort具有很好的擴(kuò)展性和可移植性。Snort采用實(shí)時處理網(wǎng)絡(luò)入侵流量的方法,在日益增長的數(shù)據(jù)背景下,網(wǎng)絡(luò)性能已成為瓶頸,需要在入侵檢測系統(tǒng)中開發(fā)高效率的數(shù)據(jù)包捕獲模塊,以應(yīng)對龐大的數(shù)據(jù)需求。

Snort IDS體系結(jié)構(gòu)由4大軟件模塊組成:數(shù)據(jù)包嗅探模塊、預(yù)處理模塊、檢測模塊、報警/日志模塊。檢測模塊作為核心模塊,是制約Snort之類入侵檢測系統(tǒng)的重要因素,其中一個因素就是對數(shù)據(jù)處理效率過低。這是由于Snort是基于Libpcap或Winpcap獲取報文,需要頻繁的內(nèi)存拷貝和系統(tǒng)調(diào)用。而這些軟件大多工作在單線程的工作模式,雖然結(jié)構(gòu)簡單,但是會使報文等待隊(duì)列長時間處于阻塞狀態(tài),使報文處理能力嚴(yán)重受限。

DPDK對核心模塊的收包部分進(jìn)行有效提升,與傳統(tǒng)采用中斷方式對比,DPDK會在用戶態(tài)采用輪詢的方式對網(wǎng)絡(luò)包進(jìn)行收取,從而極大地提高收包的速率,最大化利用了程序分析數(shù)據(jù)包的能力。DPDK和Snort結(jié)合使用,會顯著提高Snort網(wǎng)絡(luò)I/O能力和處理數(shù)據(jù)包的效率。

由于Snort在設(shè)計(jì)之初網(wǎng)絡(luò)數(shù)據(jù)量低,約為100 Mbit/s。面對當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)量已經(jīng)達(dá)到10~40 Gbit/s的量級時,Snort網(wǎng)絡(luò)I/O和數(shù)據(jù)包處理能力已無法滿足應(yīng)用需求。針對LKJ數(shù)據(jù)無線換裝系統(tǒng)高并發(fā)高流量的特點(diǎn),以及Snort的應(yīng)用現(xiàn)狀,本文提出DPDK-Snort方案,采用DPDK技術(shù)對數(shù)據(jù)包IO進(jìn)行模塊化設(shè)計(jì),引入數(shù)據(jù)捕獲模塊DAQ(Data AcQuisition Library),嘗試在DAQ中加入DPDK的支撐。

2 系統(tǒng)設(shè)計(jì)

2.1 換裝系統(tǒng)安全性總體設(shè)計(jì)

換裝系統(tǒng)總體結(jié)構(gòu)包含LKJ車載系統(tǒng)、無線通信網(wǎng)絡(luò)和地面系統(tǒng),地面系統(tǒng)由IT基礎(chǔ)架構(gòu)和防護(hù)系統(tǒng)2部分組成。IT基礎(chǔ)架構(gòu)采用虛擬化、雙機(jī)熱備等技術(shù)保障數(shù)據(jù)換裝業(yè)務(wù)系統(tǒng)穩(wěn)定、可靠運(yùn)行,滿足100臺機(jī)車同時并發(fā)性換裝和3 000臺機(jī)車同時在線接入需求。防護(hù)系統(tǒng)在IT基礎(chǔ)架構(gòu)基礎(chǔ)上,根據(jù)國家信息安全等級保護(hù)基本要求對其進(jìn)行全面的安全風(fēng)險防范,以滿足系統(tǒng)總體安全性應(yīng)用需求。

換裝系統(tǒng)總體結(jié)構(gòu)如圖1所示(橙色橢圓圈內(nèi)為DPDK高速入侵檢測系統(tǒng))。

入侵檢測(Intrusion Detection)作為一種積極主動的安全防護(hù)技術(shù),被認(rèn)為是防火墻之后的第二道安全閘門,在不影響網(wǎng)絡(luò)性能的情況下能對網(wǎng)絡(luò)進(jìn)行監(jiān)測。在圖1中,入侵檢測系統(tǒng)部署在車地防火墻和內(nèi)網(wǎng)防火墻網(wǎng)絡(luò)邊界旁路,通過網(wǎng)絡(luò)監(jiān)聽所有設(shè)備的網(wǎng)絡(luò)通信,并通過內(nèi)置的攻擊特征庫識別網(wǎng)絡(luò)中的攻擊行為,對網(wǎng)絡(luò)攻擊行為進(jìn)行記錄。當(dāng)發(fā)現(xiàn)存在入侵后,入侵檢測系統(tǒng)會及時作出響應(yīng),包括切斷網(wǎng)絡(luò)連接、記錄事件和報警等,供系統(tǒng)管理員通過運(yùn)維審計(jì)系統(tǒng)對攻擊行為進(jìn)行識別和分析,有效提高了系統(tǒng)的安全管控能力。采用DPDK技術(shù)進(jìn)行網(wǎng)絡(luò)內(nèi)部入侵行為探測與報警,在不影響網(wǎng)絡(luò)性能的情況下,及時發(fā)現(xiàn)非LKJ協(xié)議數(shù)據(jù)并聯(lián)動防火墻阻斷,以滿足對系統(tǒng)網(wǎng)絡(luò)安全防護(hù)的要求。

2.2 DPDK總體設(shè)計(jì)

圖1 LKJ數(shù)據(jù)換裝系統(tǒng)總體結(jié)構(gòu)Fig.1 Overall structure of LKJ data reloading system

傳統(tǒng)的Snort模塊關(guān)系與運(yùn)行架構(gòu)如圖2所示。

圖2 傳統(tǒng)Snort模塊關(guān)系與運(yùn)行架構(gòu)Fig.2 Traditional snort module relationship and operation architecture

最新版本的Snort嗅探軟件中,將數(shù)據(jù)包嗅探模塊修改單獨(dú)分離出來,使Snort可以進(jìn)行用戶自定義式的擴(kuò)展和修改,因此對于傳統(tǒng)入侵檢測系統(tǒng)的改進(jìn),可以從改寫數(shù)據(jù)包嗅探模塊DAQ開始進(jìn)行。即修改DAQ的代碼邏輯和架構(gòu),使其可以支持DPDK的核心功能,進(jìn)而達(dá)到高速包捕獲的目的。

核心開發(fā)模塊就是DPDK數(shù)據(jù)包嗅探模塊,其他模塊直接使用Snort原生的模塊往下執(zhí)行即可,加入DPDK后的Snort運(yùn)行架構(gòu)如圖3所示。

圖3 加入DPDK模塊后的Snort調(diào)用Fig.3 Snort call after adding DPDK module

2.3 DPDK架構(gòu)

DPDK總體框架如圖4所示,在網(wǎng)卡收包時底層通過intel提供的UIO接口來實(shí)現(xiàn)用戶態(tài)和內(nèi)核態(tài)數(shù)據(jù)包之間的零拷貝傳遞,然后通過DPDK庫中的Driver驅(qū)動將數(shù)據(jù)包交給應(yīng)用層的用戶處理,DPDK框架提供各種功能庫,比如:MEMORY、RING、MBUF、PDM、MEMPOOL等。

2.3.1 DPDK基本原理

DPDK應(yīng)用程序運(yùn)行在操作系統(tǒng)的用戶態(tài),利用自身提供的數(shù)據(jù)平面庫進(jìn)行數(shù)據(jù)包的處理,繞過了Linux的內(nèi)核協(xié)議棧,從而提高了報文處理效率。DPDK的主要組件含義如下。

1)PMD驅(qū)動:代表輪詢模式驅(qū)動,通過非中斷方式和零拷貝機(jī)制,提高發(fā)送和接收數(shù)據(jù)幀的效率。

2)流分類:提供最優(yōu)化的查找算法。

3)無鎖環(huán)隊(duì)列:DPDK基于Linux內(nèi)核的無鎖環(huán)形緩沖kfifo實(shí)現(xiàn)自己的1套無鎖機(jī)制,支持單個或者多個數(shù)據(jù)包生產(chǎn)者、單個數(shù)據(jù)包的消費(fèi)者的出入隊(duì)列操作,有效減少系統(tǒng)開銷。

4)MBUF管理:分配內(nèi)存創(chuàng)建緩沖區(qū),并通過建立MBUF對象,封裝實(shí)際數(shù)據(jù)幀。

5)EAL抽象層:DPDK的環(huán)境抽象層,包括DPDK核心功能的加載和初始化,CPU親和力處理,各種操作的接口,時鐘,跟蹤調(diào)試接口等。

綜上所述,DPDK的核心思想。

1)用戶態(tài)模式的PMD驅(qū)動,不使用中斷而改用輪詢的方式,避免內(nèi)核態(tài)和用戶態(tài)之間來回切換,有效提升I/O的吞吐能力。

2)用戶態(tài)下運(yùn)行,程序的崩潰不會影響到內(nèi)核,實(shí)現(xiàn)內(nèi)核的安全和穩(wěn)定。

3)使用大頁內(nèi)存技術(shù),減少內(nèi)存Miss發(fā)生的概率。

4)多核設(shè)備上創(chuàng)建多線程,每個線程綁定到獨(dú)立的物理核,充分利用DPDK對CPU的親和性,減少線程調(diào)度的開銷,同時每個線程對應(yīng)獨(dú)立免鎖隊(duì)列。

5)向量指令集,提升了流水線效率,降低內(nèi)存等待開銷。

2.3.2 DPDK特點(diǎn)

1)輪詢:處理數(shù)據(jù)包時,在包處理時利用UIO提供的接口進(jìn)行數(shù)據(jù)包的輪詢,避免中斷使系統(tǒng)狀態(tài)切換的額外開銷。

2)用戶態(tài)驅(qū)動:避免不必要的內(nèi)存拷貝和系統(tǒng)調(diào)用,便于快速迭代和優(yōu)化。

3)親和性獨(dú)占:DPDK利用CPU的親和性將一個線程或多個線程綁定到一個或多個CPU上,在線程執(zhí)行過程中,不會被隨意調(diào)度,減少了線程間的頻繁切換帶來的開銷,避免了CPU緩存的局部失效性,增加了CPU緩存的命中率。

4)降低訪存開銷:利用內(nèi)存大頁hugepages,降低了訪問內(nèi)存轉(zhuǎn)換時未命中的可能性,DPDK實(shí)現(xiàn)了一組大頁內(nèi)存分配、使用和釋放的API,上層應(yīng)用可以很方便使用API申請使用大頁內(nèi)存。同時也兼容普通的內(nèi)存申請,通過更大的內(nèi)存頁(如1 G內(nèi)存頁),減少TLB(Translation Lookaside Buffer,即快表) Miss,Miss對報文轉(zhuǎn)發(fā)性能影響很大。

2.4 Snort介紹

2.4.1 Snort嗅探技術(shù)

Snort是1套開源的網(wǎng)絡(luò)入侵檢測系統(tǒng),主要功能有包嗅探、包記錄和入侵檢測功能。

Snort能夠?qū)Λ@取到的數(shù)據(jù)包進(jìn)行特征分析,但區(qū)別于其他嗅探器的是它能自己定義分析的規(guī)則,只需要擴(kuò)展它特定的模塊。Snort通過對獲取的數(shù)據(jù)包,進(jìn)行各規(guī)則的分析后,根據(jù)規(guī)則鏈,可以采取Activation(報警并啟動另外一個動態(tài)規(guī)則鏈)、Dynamic(由其他的規(guī)則包調(diào)用)、Alert(報警)、Pass(忽略)、Log(不報警但記錄流量)5種響應(yīng)的機(jī)制。

圖4 DPDK框架圖Fig.4 DPDK frame diagram

Snort有數(shù)據(jù)包嗅探、數(shù)據(jù)包分析、數(shù)據(jù)包檢測、相應(yīng)處理等多種功能。每個模塊實(shí)現(xiàn)不同的功能,各個模塊都是用插件的方式和Snort相結(jié)合,功能擴(kuò)展十分方便。例如預(yù)處理插件的功能就是在規(guī)則匹配誤用檢測之前運(yùn)行,完成TCP碎片重組、http解碼、telnet解碼等功能,處理插件完成檢查協(xié)議等字段、關(guān)閉連接、攻擊響應(yīng)等功能,輸出插件將各種情況以日志和警告的方式輸出。

體系結(jié)構(gòu)如圖5所示。

圖5 Snort體系結(jié)構(gòu)Fig.5 Snort architecture

由圖5可見,Snort主要由4大軟件模塊構(gòu)成,分別是:

1)數(shù)據(jù)包嗅探模塊:主要是負(fù)責(zé)監(jiān)聽數(shù)據(jù)包,對抓取到的數(shù)據(jù)包進(jìn)行規(guī)則分析。

2)預(yù)處理模塊:數(shù)據(jù)包被送到各種各樣的預(yù)處理器中,在檢測引擎處理之前進(jìn)行檢查和操作。每個預(yù)處理器檢查數(shù)據(jù)包是否應(yīng)該注意、報警或者修改某些東西。

3)檢測模塊:是Snort的核心模塊,當(dāng)數(shù)據(jù)包從預(yù)處理器送過來之后,檢測引擎先根據(jù)規(guī)則檢查數(shù)據(jù),規(guī)則中的每個關(guān)鍵字選項(xiàng)對應(yīng)于檢測引擎插件,能夠提供不同的檢測功能,只要發(fā)現(xiàn)數(shù)據(jù)包中的內(nèi)容和某些規(guī)則相匹配,就通知報警模塊。

4)報警和日志模塊:規(guī)則匹配之后輸出報警信息,并傳送給日志文件。

2.4.2 Snort模塊調(diào)用

Snort 2.9版本后,為數(shù)據(jù)包的捕獲功能實(shí)現(xiàn)引入了DAQ,也可以稱作數(shù)據(jù)采集庫。DAQ取代了之前版本中對libpcap或winpcap的直接調(diào)用,具有抽象層的功能,因此可以非常方便地進(jìn)行擴(kuò)展,便于在各種硬件或者軟件接口上操作,調(diào)用Snort執(zhí)行pcap時,也可以設(shè)置DAQ的運(yùn)行類型和模式。

2.5 DPDK-snort的設(shè)計(jì)實(shí)現(xiàn)

DPDK提供了友好的API,Snort的DAQ模塊的擴(kuò)展規(guī)則是需要符合基本的要求,即可以插入到Snort中,為主要框架流程設(shè)計(jì),如圖6所示。

圖6 DPDK-Snort設(shè)計(jì)框架Fig.6 DPDK-Snort design framework

根據(jù)DPDK提供給的API,再結(jié)合Snort的擴(kuò)展DAQ模塊的編寫規(guī)則,可以編寫出DPDK-DAQ的模塊,以此來拓展Snort的數(shù)據(jù)包嗅探功能,為之后Snort的數(shù)據(jù)分析提供大量可用的數(shù)據(jù)包,以此提升入侵檢測系統(tǒng)的處理性能。

其中DAQ是Snort的包捕獲模塊,在Snort初始化時,先載入DAQ模塊,如圖7所示。

圖7 Snort初始化過程Fig.7 Snort initialization process

在Snort初始化時載入DAQ模塊,此時Snort調(diào)用的API是daq_load_modules,主線程還沒有啟動網(wǎng)卡和初始化實(shí)例。在初始化Snort之后(載入默認(rèn)配置,載入DAQ和其他各個模塊后),Snort進(jìn)入分析數(shù)據(jù)包的階段,此時起作用的是pig線程,或者更加精確的說,是pig下的analyzer子線程,Snort下開啟n個pig線程,在pig主線程下再調(diào)用analyzer子線程進(jìn)行數(shù)據(jù)包解析,數(shù)據(jù)包解析的過程是在pig線程中,多線程并行進(jìn)行,在每一個analyzer線程下都初始化一個DAQ實(shí)例,并調(diào)用函數(shù)acquire進(jìn)行數(shù)據(jù)包分析,在每一個DAQ下都使用多個網(wǎng)卡來獲取數(shù)據(jù),邏輯關(guān)系如圖8所示。

圖8 DAQ線程邏輯關(guān)系Fig.8 DAQ threads logical relationship

從圖8中可以看出,在一個Snort下面有多個DAQ instance并行運(yùn)行,每一個DAQ instance都會進(jìn)行初始化操作,占用系統(tǒng)資源,獲取網(wǎng)卡信息,數(shù)據(jù)包捕獲與解析,pig線程之間相互獨(dú)立,導(dǎo)致DAQ instance之間也相互獨(dú)立,為單線程運(yùn)行。

根據(jù)以上思想,可以開始DAQ和DPDK的結(jié)合工作,從而在Snort中運(yùn)行模塊修改后的DAQ模塊,從而提高數(shù)據(jù)包捕獲的效率。

2.6 性能測試

在LKJ車載數(shù)據(jù)無線換裝系統(tǒng)實(shí)驗(yàn)室環(huán)境下,實(shí)現(xiàn)對DPDK-Snort模塊的性能測試。

1)Snort和包捕獲模塊DAQ的環(huán)境配置和測試。

2)DAQ模塊擴(kuò)展的嘗試,找到一個合適的方式,參考DPDK的包捕獲模塊DPDKCAP的核心代碼部分,根據(jù)Snort的DAQ編寫規(guī)則,寫出DPDK-DAQ,加入到Snort中的DAQ包捕獲模塊核心部分,從而提高獲取數(shù)據(jù)包的速度和效率。

3)嘗試擴(kuò)展模塊后,使得入侵檢測系統(tǒng)能夠高效地獲取數(shù)據(jù)包,從而實(shí)現(xiàn)入侵檢測。

2.6.1 DAQ模塊安裝

Snort在面臨大數(shù)據(jù)流時處理效率低,甚至?xí)ㄋ溃藭r使用DPDK開發(fā)加速對網(wǎng)絡(luò)數(shù)據(jù)包的抓取,從而增大Snort對數(shù)據(jù)包的分析速率,在最新的Snort2.9版本中,針對數(shù)據(jù)包I/O提出模塊化的思想,引入數(shù)據(jù)捕獲模塊DAQ,可以嘗試在DAQ中,加入對DPDK的支持。

首先在IDS虛擬機(jī)中安裝DAQ模塊,使用如下指令,如圖9所示。

圖9 DAQ安裝指令Fig.9 DAQ installation instructions

之后make和make install,提示編譯和安裝完成。

2.6.2 DAQ模塊替換

使用如下指令進(jìn)行DAQ模塊的替換和加載DPDK的Snort的運(yùn)行:

sudo Snort --daq-dir /usr/local/lib/daq/--daq dpdk --daq-var dpdk_args="-c 1" -i dpdk0:dpdk1 -c /usr/local/etc/snort/snort.lua-z 2

其中各個參數(shù)的含義如下所示:

--daq-dir:DAQ動態(tài)運(yùn)行庫的路徑。

--daq dpdk:限定Snort使用DPDK模塊的方式運(yùn)行。

--daq-var dpdk_args="-c 1":DPDK的運(yùn)行參數(shù),按照默認(rèn)配置運(yùn)行。

-i dpdk0:dpdk1:選擇DPDK接口。

-z 2:DPDK的線程設(shè)置,這里選擇2個包捕獲線程。

之后運(yùn)行加載DPDK的Snort,發(fā)現(xiàn)與普通的Snort運(yùn)行界面無任何區(qū)別,為了檢測其效果,之后進(jìn)行抓包測試。

2.6.3 運(yùn)行測試

為了能夠直觀明了地顯示加載DPDK之后的抓包效果,首先在兩個客戶機(jī)上部署了相應(yīng)的發(fā)包工具小兵以太網(wǎng)測試儀,編譯成功后,會生成一個./target/xb_ether_tester.exe的程序,運(yùn)行程序后構(gòu)造數(shù)據(jù)包并設(shè)置發(fā)送規(guī)則進(jìn)行測試。

2.7 效率對比

為了檢測數(shù)據(jù)包接收效率,首先將客戶機(jī)軟件上發(fā)包工具中的發(fā)包速率部署到一個非常高的數(shù)值,之后進(jìn)行發(fā)包測試,經(jīng)過一段時間后停止,對比客戶機(jī)上的報文發(fā)送數(shù)量和Snort面板上的數(shù)據(jù)包接收數(shù)量,進(jìn)行對比,計(jì)算出收到包和發(fā)送包的比例,從而驗(yàn)證是否存在接收數(shù)據(jù)包效率的提高。

這里在發(fā)包速率上選擇4.46、5.00、5.49、5.97、6.49、6.98、7.49、7.797、8.41、8.93、9.49、9.74、10.00、10.49、10.98、11.5 Gbit/s幾組數(shù)值,每次增加約為0.5 Gbit/s的數(shù)據(jù)包發(fā)送速率,通過兩方對比得到相應(yīng)的結(jié)果,并繪制折線圖,結(jié)果如圖10所示。

圖10 接收包比例折線圖Fig.10 Scale line chart of receiving package

可以發(fā)現(xiàn)在小于10 Gbit/s的數(shù)據(jù)量時,加載DPDK模塊的Snort可以基本實(shí)現(xiàn)100%的數(shù)據(jù)包接收率。在高于10 Gbit/s后,數(shù)據(jù)包接收比例開始呈現(xiàn)出下降的趨勢。10 Gbit/s時約為0.997,10.49 Gbit/s時 約 為0.92,10.98 Gbit/s時 約 為0.82,11.5 Gbit/s時下降到0.7左右。而在傳統(tǒng)的Snort中斷接收下,大約1 Gbit/s,數(shù)據(jù)包的接收效率就難以達(dá)到100%,且經(jīng)常因數(shù)據(jù)量過大而導(dǎo)致應(yīng)用卡死,可以看出在加載DPDK后,數(shù)據(jù)包的接收效率得到了成倍的提高。但是隨著數(shù)據(jù)量的進(jìn)一步增加,DPDK接收的效率也在下降,這也是今后需要進(jìn)一步研究和改善的問題。

3 結(jié)束語

通過編程和架構(gòu)設(shè)計(jì),在DPDK平臺基礎(chǔ)上實(shí)現(xiàn)了高性能的入侵檢測系統(tǒng),從LKJ車載數(shù)據(jù)無線換裝試驗(yàn)過程中可以驗(yàn)證,在數(shù)據(jù)量進(jìn)一步增加的情況下,傳統(tǒng)的中斷處理方式已經(jīng)越來越難以適應(yīng)需要,需要采用其他方式提高數(shù)據(jù)包收發(fā)效率。DPDK已證明是一個很好的解決方案,在傳統(tǒng)的Snort下,加入DPDK模塊的支持,可以成倍提高收發(fā)包的效率,從而提高入侵檢測系統(tǒng)的安全性和健壯性,有效保障了基于公共移動通信網(wǎng)絡(luò)進(jìn)行LKJ車載數(shù)據(jù)換裝業(yè)務(wù)的安全性和可靠性。

猜你喜歡
線程數(shù)據(jù)包內(nèi)存
實(shí)時操作系統(tǒng)mbedOS 互斥量調(diào)度機(jī)制剖析
二維隱蔽時間信道構(gòu)建的研究*
民用飛機(jī)飛行模擬機(jī)數(shù)據(jù)包試飛任務(wù)優(yōu)化結(jié)合方法研究
基于國產(chǎn)化環(huán)境的線程池模型研究與實(shí)現(xiàn)
筆記本內(nèi)存已經(jīng)在漲價了,但幅度不大,升級擴(kuò)容無須等待
“春夏秋冬”的內(nèi)存
C#串口高效可靠的接收方案設(shè)計(jì)
內(nèi)存搭配DDR4、DDR3L還是DDR3?
計(jì)算機(jī)中的多線程問題
上網(wǎng)本為什么只有1GB?
宁津县| 海原县| 濮阳县| 舞钢市| 遂昌县| 盱眙县| 嘉善县| 且末县| 吉安市| 措勤县| 遂川县| 甘德县| 嘉善县| 河池市| 陵水| 永年县| 安溪县| 遂溪县| 天峨县| 黔西县| 吉隆县| 玉树县| 泽库县| 呈贡县| 莱芜市| 岳西县| 饶阳县| 通海县| 尉氏县| 陈巴尔虎旗| 通州市| 乌兰察布市| 滦平县| 金堂县| 井陉县| 南岸区| 余江县| 江永县| 义马市| 仙桃市| 海丰县|