999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

高速網絡中IPv6分片包重組的實現

2009-06-05 03:59:50胡垂立
新媒體研究 2009年9期

[摘要]通過分析IPv6協議,分片攻擊的基本特點和Linux多線程算法的實現,建立IPv6分片包并行重組模型,并給出該模型的一種實現方法,在Linux環境下進行了測試,最后對實驗結果進行了分析。

[關鍵詞]高速網絡 IPv6協議 分片并行重組

中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0510040-01

隨著IPv6互聯網的逐漸發展、普及,不安全問題并沒有隨著IPv6逐步取代IPv4而消失,反而日益受到重視。為防范分片攻擊以及實現基于IPv6包的后續應用,并減少丟包率,本文提出了IPv6分片包并行重組模型,采取多線程并行重組方式以加快分片包的重組。

一、IPv6協議和分片攻擊

基于IPv4協議的上一代互聯網因其固有的不穩定性,不安全性,以及其IPv4地址耗盡的現實因素,越來越成為互聯網發展的不利因素,與IPv4協議相比,IPv6協議具有許多新的特點并彌補了IPv4的許多不足,比如巨大的地址空間;簡潔的IPv6協議報頭(基本報頭如圖1所示)以及全新的擴展報頭,其中特別增加了IPSEC安全協議;全新的ICMPv6協議,并將ARP協議和RARP協議功能集成進ICMPv6協議中;自動配置功能;對移動IPv6的支持等。

物理網絡通過將IPv6數據包封裝進物理幀來在物理層進行數據傳輸的,每一種物理網絡都規定了一幀所能攜帶的最大數據量。這一限制稱為最大傳輸單元(Maximum Transmission Unit,MTU)。因而一個數據包必須小于或等于一個網絡的MTU,否則無法進行封裝和傳輸。IPv6協議規定,如果要發送的IPv6數據包長度大于路由過程中所經過的所有子網的最小MTU值,那么源節點必須對此數據包進行分片,不同于IPv4協議,中間路由器不必再分片了,最后由目的節點進行分片重組。因此,對于數據包捕獲系統來說,將網卡設置成混雜(Promiscuous)模式后,也要模擬目的節點將捕獲的分片數據包進行重組成原始數據包。

IPv6數據包的分片只能在源節點進行,路由中間節點不再進行分片操作,簡化了中間節點對數據包的處理,提高的中間節點對數據包的轉發效率;IPv6的分片包重組只發生在目的節點。通過MTU發現機制,源節點可以確定路由中的最小MTU值,以此作為發送數據的最大限度。當源節點要進行分片時,它將在IPv6數據包的可分片部分插入分片擴展報頭。這些分片包擁有相同的分片標志,但是分片偏移量各不相同。因此對于每一個分片包,必須包含三個部分,依次是原始數據包的不可分片部分、分片擴展頭(fragment header),原始數據包的可分片部分的某一個分片。分片擴展頭如圖2所示。

其中當M=1的時候表示此分片包不是最后一個分片包,M=0則表示是最后一個分片包。偏移量是13位的無符號整數,以8byte為單位,表示此分片數據相對于未分片的原始數據包中可分片部分的偏移量。

二、分片并行重組模型

本文所敘述的多線程分片并行重組方法可以設計為運行在用戶空間和內核空間,這里在用戶空間實現此基于libpcap的分片并行重組設計。 利用符合POSIX標準的pthread庫來進行多線程編程。為了提高性能,使用基于libpcap和mmap的pfring模塊來捕捉數據包。通過使用多線程,可以充分使用多核CPU,進行分片并行重組,減少丟包率。

三、模型的實現

本系統使用LINUX 2.6內核,采用C語言為編程工具,并參考了libnids的源碼實現。

(一)主要數據結構。主要用到的數據有:struct hosts hostable,關于hosts的哈希表;hosts,相同hash值的所有主機鏈表頭結點;hostfrags,相同hash值的主機節點;ip6q,ip6frag鏈表的頭結點,鏈接同一原始數據包的所有分片包;ip6frag,分片包節點;pthread_mutex_t,互斥鎖,用于并發訪問、主要數據結構之間的邏輯關聯如圖3所示。

(二)分片重組邏輯流程。1.通過pthread_create循環創建多個線程,設置相應的回調函數;2.在每個回調函數線程中,無限循環調用pfri

ng的pfring_rcv函數獲取數據包,若不是分片包,則交由上層的icmp6,tcp6或者udp6模塊處理,否則按分片并行重組流程處理;3.分片并行重組流程將收到的每個分片包按分片偏移量的順序插入到ip6q隊列里,當所有的分片包都捕獲到了,就將ip6q隊列里的所有分片包重組成原始IPv6數據包,交由上層的icmp6,tcp6或者udp6模塊處理,并釋放相應的ip6q隊列。注意的是,在插入或刪除hostfrags節點,ip6q節點和ip6frag節點時要鎖住相應的上層節點鎖。

(三)測試數據。測試用硬件:(1)服務器,配置是雙至強CPU,4G

內存,千兆網卡,使用Linux 2.6.25內核,網絡協議為IPv6;(2)Smartb

it 6000C測試儀。以Smartbit提供測試流量,發往服務器。以單線程分片重組和兩個線程(每CPU一個線程)并行重組為對比,在服務器中獲取的測試結果表明,在帶寬為100%利用時,小包產生較大的丟包率,但雙線程仍然比單線程捕包率高,在大包時,反而會產生丟包,原因是過多拷貝分片包時消耗了CPU時間;在帶寬為80%時,各項數據表現良好。

四、總結

本文提出的并行重組算法使用了pthr- ead_mutex_t鎖機制,由于mutex鎖會使得沒有得到資源的線程休眠,產生進程/線程調度,因此對于1Gbit的高速網絡中,由于數據包來的非常快,使得并發線程會不停地競爭mutex鎖資源,這樣大量的CPU用于進程/線程調度,浪費了CPU時間,不利于數據包的捕獲,重組等后續處理;spin_lock機制可以使得CPU忙等,線程不必放棄CPU,避免了調度浪費的時間,可以考慮采用spin_lock鎖機制。同時,如果要在多核上實現多線程處理,并從根本上避免訪問沖突,可以考慮恰當設計數據結構,使得每個CPU只訪問屬于自己的數據,并給予并行處理線程實時調度策略,和線程專屬各自CPU,即線程被調度時不會切換CPU。

參考文獻:

[1]Pv6下協議分析技術在入侵檢測系統中的研究與應用,暨南大學碩士論文,2006.6.

[2]張會汀、鄭力明,IP分片重組算法(RFC815)的實現及其改進,計算機工程與設計,2005.04(26).

作者簡介:

胡垂立,男,漢族,在讀碩士,廣東技術師范學院天河學院計算機系講師,研究方向為計算機網絡、視頻技術等。

主站蜘蛛池模板: 成人福利在线观看| 国产精品第一区在线观看| 国产精品综合久久久| 久久美女精品国产精品亚洲| 国产在线精品99一区不卡| 漂亮人妻被中出中文字幕久久| 国产99视频精品免费视频7| 国产一线在线| 深夜福利视频一区二区| 国产人成在线观看| 91香蕉国产亚洲一二三区| av尤物免费在线观看| 久久精品人人做人人爽| 伊人国产无码高清视频| 日韩一级毛一欧美一国产| 国产一级视频久久| 精品伊人久久久久7777人| 久久人与动人物A级毛片| 91免费片| 久久久亚洲色| 五月婷婷激情四射| 亚洲天堂精品在线| 69国产精品视频免费| 国产成人精品免费av| 亚洲av日韩av制服丝袜| 26uuu国产精品视频| 欧美亚洲激情| 中文字幕永久在线观看| 国产精品尤物在线| 特级毛片免费视频| 亚洲视频欧美不卡| 日韩欧美中文亚洲高清在线| 色九九视频| 欧美日韩一区二区在线免费观看| 亚洲一区免费看| 日本欧美在线观看| 手机精品福利在线观看| 欧美成人影院亚洲综合图| 99精品国产自在现线观看| 国产十八禁在线观看免费| 少妇高潮惨叫久久久久久| 国产在线麻豆波多野结衣| 国产麻豆永久视频| 国产在线精品香蕉麻豆| 欧美日本中文| 亚洲中久无码永久在线观看软件| 中文字幕在线观| 欧美不卡视频一区发布| 欧美啪啪网| 国产a v无码专区亚洲av| 2021精品国产自在现线看| 国产69囗曝护士吞精在线视频| 亚洲日韩精品无码专区97| 狠狠做深爱婷婷综合一区| 伦伦影院精品一区| 日韩东京热无码人妻| 日本一区二区三区精品AⅤ| 亚洲成人精品久久| 亚洲综合色吧| 美女免费黄网站| 丰满少妇αⅴ无码区| 精品国产污污免费网站| 精品99在线观看| 黄色网在线| 国产成人精品视频一区二区电影| 91久久夜色精品国产网站| 亚洲中文字幕久久无码精品A| 国产污视频在线观看| 亚洲成AV人手机在线观看网站| 国产精品免费电影| 欧美va亚洲va香蕉在线| 国产美女精品在线| 国产成人乱无码视频| 97se亚洲综合在线天天| 在线一级毛片| 国产丝袜精品| 制服丝袜 91视频| 亚洲欧美日韩天堂| 视频在线观看一区二区| 一级一级特黄女人精品毛片| 麻豆国产原创视频在线播放| 国产成人久久综合777777麻豆 |