




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
信息內容平安技術網絡流監測技術
——系統架構及原理課程內容網絡流監控模式旁路監測技術數據分流數據會聚報文抓取協議復原內容抽取關鍵技術介紹網絡流監控模式串聯監控模式一般是通過網關或者網橋的模式來進行監控旁路監控模式一般是指通過交換機等網絡設備的“端口鏡像〞功能來實現監控網絡流監控模式比較旁路部署起來比較靈活方便,不會影響現有的網絡結構,串行需要對現有網絡結構進行變動旁路模式對原始傳遞的數據包不會造成延時,不會對網速造成任何影響。而串聯模式是串聯在網絡中的,那么所有的數據必須先經過監控系統,通過監控系統的分析檢查之后,才能夠發送到各個客戶端,所以會對網速有一定的延時。旁路監控設備一旦故障或者停止運行,不會影響現有網絡的正常原因。而串聯監控設備如果出現故障,會導致網絡中斷,導致網絡單點故障。旁路監控模式局限性數據獲取:旁路需要交換機支持端口鏡像才可以實現監控。數據管控:旁路模式采用發送RST包的方式來斷開TCP連接,不能禁止UDP通訊。對于UDP應用,一般還需要在路由器上面禁止UDP端口進行配合。而串聯模式不存在該問題。網絡流監測產品串行NetworkFirewallUTMNIPS旁路NIDSContentFilterWebFilter網絡行為審計設備部署環境比較內部網FTP服務器WWW服務器串行監測外部內部12Internet路由器路由器旁路監測課程內容網絡流監控模式旁路監測技術數據分流數據會聚報文抓取協議復原內容抽取關鍵技術介紹旁路監測技術數據分流分光器路由交換HUB旁路監測技術數據會聚旁路監測技術報文抓取旁路監測技術報文抓取性能影響因素系統調用數據拷貝計算校驗和網卡中斷旁路監測技術報文抓取過程優化旁路監測技術報文抓取過程優化旁路監測技術協議復原旁路監測技術內容抽取旁路監測技術系統架構設計旁路監測技術數據耦合方法課程內容網絡流監控模式旁路監測技術數據分流數據會聚報文抓取協議復原內容抽取關鍵技術介紹內容過濾平臺關鍵技術Intel網卡零拷貝技術Linux系統內存映射技術Linux內核模塊加載技術共享內存無鎖訪問技術 ——“寫-寫〞=>“讀-寫〞并行協議棧技術網絡數據檢測協議棧共享內存無鎖訪問技術 ——“寫-寫〞=>“讀-寫〞快速應用協議識別技術高速串匹配技術進程通信技術——UNIX進程通信方法〔IPC〕linux下的進程通信手段根本上是從Unix平臺上的進程通信手段繼承而來AT&T的貝爾實驗室:Unix早期的進程間通信手段進行了系統的改進和擴充,形成了“systemVIPC〞,通信進程局限在單個計算機內BSD〔加州大學伯克利分校的伯克利軟件發布中心〕:形成了基于套接口〔socket〕的進程間通信機制UnixIPC包括:管道、FIFO、信號SystemVIPC包括:SystemV消息隊列、SystemV信號燈、SystemV共享內存區PosixIPC包括:Posix消息隊列、Posix信號燈、Posix共享內存區Linux系統進程通信技術管道〔Pipe〕:管道可用于具有親緣關系進程間的通信有名管道〔namedpipe〕:有名管道克服了管道沒有名字的限制,因此,除具有管道所具有的功能外,它還允許無親緣關系進程間的通信信號〔Signal〕:用于通知接受進程有某種事件發生,用于進程內、進程間通信報文〔Message〕隊列〔消息隊列〕:消息隊列是消息的鏈接表,有足夠權限的進程可以向隊列中添加消息,被賦予讀權限的進程那么可以讀走隊列中的消息共享內存:多個進程可以訪問同一塊內存空間,最快的可用IPC形式。是針對其他通信機制運行效率較低而設計的信號量〔semaphore〕:主要作為進程間以及同一進程不同線程之間的同步手段套接口〔Socket〕:更為一般的進程間通信機制,可用于不同機器之間的進程間通信linux進程包含以下關鍵要素有一段可執行程序;有專用的系統堆棧空間;內核中有它的控制塊〔進程控制塊〕,描述進程所占用的資源,這樣進程才能接受內核的調度;具有獨立的存儲空間;Linux內存映射技術共享內存:最有用的進程間通信方式,也是最快的IPC形式。兩個不同進程A、B共享內存的意思是,同一塊物理內存被映射到進程A、B各自的進程地址空間。進程A可以即時看到進程B對共享內存中數據的更新,反之亦然。由于多個進程共享同一塊內存區域,必然需要同步機制,互斥鎖和信號量都可以。Linux內存映射技術mmap()系統調用void*mmap(void*addr,size_tlen,intprot,intflags,intfd,off_toffset)intmunmap(void*addr,size_tlen)intmsync(void*addr,size_tlen,intflags)不同進程尋址同一個共享內存區域pagecache及swapcache中頁面的區分一個被訪問文件的物理頁面都駐留在pagecache或swapcache中,一個頁面的所有信息由structpage來描述。structpage中有一個域為指針mapping,它指向一個structaddress_space類型結構。pagecache或swapcache中的所有頁面就是根據address_space結構以及一個偏移量來區分的。文件與address_space結構的對應一個具體的文件在翻開后,內核會在內存中為之建立一個structinode結構,其中的i_mapping域指向一個address_space結構。這樣,一個文件就對應一個address_space結構,一個address_space與一個偏移量能夠確定一個pagecache或swapcache中的一個頁面。因此,當要尋址某個數據時,很容易根據給定的文件及數據在文件內的偏移量而找到相應的頁面。調用mmap()只是在進程空間內新增了一塊相應大小的緩沖區,并設置了相應的訪問標識,但并沒有建立進程空間到物理頁面的映射。因此,第一次訪問該空間時,會引發一個缺頁異常。不同進程尋址同一個共享內存區域對于共享內存映射情況,缺頁異常處理首先在swapcache中尋找目標頁〔符合address_space以及偏移量的物理頁〕,如果找到,那么直接返回地址;如果沒有找到,那么判斷該頁是否在交換區(swaparea),如果在,那么執行一個換入操作;如果上述兩種情況都不滿足,處理程序將分配新的物理頁面,并把它插入到pagecache中。進程最終將更新進程頁表。注:對于映射普通文件情況〔非共享映射〕,缺頁異常處理程序首先會在pagecache中根據address_space以及數據偏移量尋找相應的頁面。如果沒有找到,那么說明文件數據還沒有讀入內存,處理程序會從磁盤讀入相應的頁面,并返回相應地址,同時,進程頁表也會更新。多進程映射同一個共享內存區域情況都一樣,在建立線性地址與物理地址之間的映射之后,不管進程各自的返回地址如何,實際訪問的必然是同一個共享內存區域對應的物理頁面。注:一個共享內存區域可以看作是特殊文件系統shm中的一個文件,shm的安裝點在交換區上。mmap()用于共享內存的兩種方式使用普通文件提供的內存映射適用于任何進程之間需要翻開或創立一個文件,然后再調用mmap()使用特殊文件提供匿名內存映射適用于具有親緣關系的進程之間;由于父子進程特殊的親緣關系,在父進程中先調用mmap(),然后調用fork()。Linux內核模塊技術根本原理內核模塊設備驅動的結構Linux2.6內核設備模型中斷處理各種接口設計與驅動開發實例LINUX設備的分類字符設備串口,終端,觸摸屏ls-l/dev/ttyS0crw-rw-rw-1rootuucp4,644月119:56/dev/ttyS0塊設備FLASH,RAMDISK,硬盤ls-l/dev/mtdblock3brw-r--r--150550531,3Feb192005/dev/mtdblock3網絡設備ifconfig-a設備文件與設備號用戶通過設備文件訪問設備每個設備用一個主設備號和次設備號標識設備驅動的功能管理I/O設備上層軟件的抽象操作與設備操作的轉換內核模塊Linux內核運行時動態擴展的一種技術一組可以動態加載/卸載的代碼Linux驅動以內核模塊的方式實現LINUX內核模塊的框架staticintinit_routine(void){ …}voidcleanup_routine(void){ …}module_init(init_routine);module_exit(cleanup_routine);MODULE_LICENSE("GPL");內核模塊的編譯和加載KconfigMakefileKconfig與Makefile的關系Kconfig例如Makefile例如定義例如obj-y+=hello.oobj-m+=hello.oobj-$(CONFIG_HELLO_MODULE)+=hello.o編譯make-C<PATH_TO_KERNEL>M=$PWDmodules設備驅動的結構驅動與內核的接口注冊/卸載VFS接口數據交互中斷注冊硬件設備接口硬件探測初始化讀寫訪問設備控制設備驅動與VFS的接口簡單字符設備驅程的框架staticstructfile_operationsdriver_fops={ …};int__initinit_routine(void){ … cdev_add(…); return0;}voidcleanup_routine(void){ cdev_del(…);}內核與用戶空間數據交換方法copy_to_user(void__user*to,constvoid*from,unsignedlongn);copy_from_user(void*to,constvoid__user*from,unsignedlongn);mmap()例如——kernel代碼#include<linux/config.h>#include<linux/module.h>#include<linux/kernel.h>#include<linux/mm.h>MODULE_LICENSE("GPL");MODULE_AUTHOR("Wheelz");MODULE_DESCRIPTION("mmapdemo");staticunsignedlongp=0;staticint__initinit(void){//分配共享內存〔一個頁面〕p=__get_free_pages(GFP_KERNEL,0);//得到的當然是一個虛擬地址了SetPageReserved(virt_to_page(p));//#definevirt_to_page(kaddr)(mem_map+(__pa(kaddr)>>PAGE_SHIFT))//12printk("<1>p=0x%08x\n",p);//在共享內存中寫上一個字符串strcpy(p,"Helloworld!\n");return0;}staticvoid__exitexit(void){ClearPageReserved(virt_to_page(p));free_pages(p,0);}例如——用戶空間代碼#include<sys/mman.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<stdio.h>#definePAGE_SIZE(4*1024)#definePAGE_OFFSET0xc0000000#defineKERNEL_VIRT_ADDR0xcf9e5000//這里是硬編址的,可以通過ioctl或者proc來實現的。intmain(){char*buf;intfd;unsignedlongphy_addr;fd=open("/dev/mem",O_RDWR);if(f
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司猜燈謎抽獎活動方案
- 公司粽子定做活動方案
- 公司紅色培訓活動方案
- 2025年現代物流管理師職業資格考試試題及答案
- 2025年思想政治理論與教育考試試卷及答案
- 2025年商品經濟學考試試卷及答案
- 高危人群自檢策略-洞察及研究
- 2025年科技創新創業導師職業資格考試卷及答案
- 2025年旅游管理專業考試試卷及答案
- 2025年會計職業資格考試試卷及答案
- 湖南省湘潭市湘潭縣2023-2024學年五年級下學期期末考試數學試題
- 2024年廣西中考地理+生物試題(含答案解析)
- 武繼祥-矯形器的臨床應用
- 云南省昆明市盤龍區2024年八年級下學期期末數學試卷附答案
- 園區零碳園區建設方案
- +畢業試卷(試題)-2023-2024學年六年級下冊數學蘇教版
- 工程管理之施工資料管理培訓
- 變壓器油箱焊接工藝
- 國學療愈行業分析
- (2023)義務教育新課程標準生物(2022年版)必考試題含答案
- 陣發性室上性心動過速(PSVT)的診斷和治療
評論
0/150
提交評論