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

HAHA:基于命名數據網絡的即時通信系統設計

2015-10-21 18:12:24劉福泉
計算機時代 2015年9期

劉福泉

摘 要: 即時通信是一類非常實用的網絡應用程序,常見的即時通信軟件一般采用基于IP網絡的客戶端-服務器設計方式,這是簡單和流行的做法,但存在一些缺點,如單點失效、流量集中和安全問題。命名數據網絡是一種以數據為中心的網絡,本身具有很好的安全性和多播特性。設計了一款基于命名數據網絡的分布式即時通信系統HAHA,避免了單點失效和流量集中的問題,改善了數據傳輸效率和安全性。在NS3上進行了仿真實驗,證明了HAHA軟件較好的網絡性能。

關鍵詞: 命名數據網絡; 即時通信; 分布式; 客戶-服務器

中圖分類號:TP319 文獻標志碼:A 文章編號:1006-8228(2015)09-19-03

HAHA:instant messaging system based on NDN

Liu Fuquan

(Jiyang College of Zhejiang A&F University, Zhuji, Zhejiang 311800, China)

Abstract: Instant messaging software is a useful network application, common instant messaging software is generally client-server designed based on IP network, it is a simple and popular method, but there are some shortcomings, such as single point failure, traffic concentration and security issues. NDN (Named data networking) is an information-centric networking, itself has a very good security and multicast characteristics. In this paper, a distributed instant messaging system named HAHA is designed, which avoids the problem of single point failure and traffic concentration, and improves the efficiency and security of data transmission. The HAHA shows good network performance in the simulation experiment on NS3 simulator.

0 引言

即時通信是一種非常有用的網絡應用程序,已經被廣泛用于一組參與者之間進行信息交流。已有的即時通信軟件一般采用基于IP網絡的客戶端-服務器設計方式,這是簡單和流行的做法,但也有缺點,比較突出的問題是單點失效和大量訪問流量都集中在少數幾臺服務器上。此外,客戶端-服務器模型還容易成為攻擊的目標,因為服務器的地址是公開的[1]。

HAHA是本文設計的一款基于命名數據網絡的分布式即時通信軟件,利用命名數據網絡[2]天生的安全和組播優勢,避免了在客戶端-服務器和P2P模型中遇到的問題。HAHA系統類似于QQ,是一款即時通信系統。QQ系統采用了基于客戶-服務器的實現方式,系統由服務器對所有參與者進行管理,參與者通過客戶端軟件登錄和聊天。HAHA系統是一種去中心化系統,即沒有中心服務器,每個參與者所運行的軟件既是服務器也是客戶端。相對客戶機-服務器模型,同步是設計HAHA的一個關鍵問題[3-4]。

1 背景

命名數據網絡被稱為未來網絡體系結構,源于內容中心網絡(Content-Centric Networking,CCN)項目[5],其概念最早由Van Jacobson于2006年公開提出[6]。名數據網絡(NDN)與IP網絡不同,IP網絡是一種以主機為中心的網絡,解決主機與主機之間的通信和資源共享,而NDN是一種以數據為中心的網絡,每個數據包擁有一個全局唯一的名字,每個名字被加密簽名[7]。網絡僅僅需要根據數據包的名字對數據包進行轉發(或緩存),而不需要對數據包進行其他(比如安全)的處理。因此,網絡從繁雜的工作中解脫出來,僅僅需要管理信息的流動,并用正確的信息快速響應信息的消費者,因此可以大大提高網絡效率。

在NDN中存在三種用戶角色,即內容生產者、內容發布者和內容消費者。內容生產者創建用戶數據。內容發布者將用戶數據進行轉換,轉換成網絡中的數據對象,每個數據對象都有一個相應的加密的身份標識,然后使用CCNx將這些數據發布到網絡中。內容消費者使用CCNx協議檢索發布者已經進行身份認證過的用戶數據。這些內容是通過使用發布者給定的名字進行發布和定位的,而不是使用物理的主機(服務器)地址來發布和定位的。

在NDN網絡中使用了兩種消息:一是請求消息,被稱為Interest,二是響應消息,被稱為data。響應消息中封裝了消費者所請求的有效負載,該有效負載被稱為內容對象(Content Object)。消費者發起請求,網絡將Interest消息進行路由轉發,可能要經歷多個轉發器,每個轉發器采用最長前綴匹配算法對Interest消息中的名字字段進行匹配。Interest在網絡中傳輸過程中在轉發器中會留下其狀態信息。這些狀態信息存儲在PIT(Pending Interest Table)表中。一旦發現有匹配的Content Object,這個Content Object就根據Interest在PIT表中留下的狀態信息,沿著Interest的傳輸路徑返回給消費者。由于內容本身是可自標識的獨立的實體,任何內容對象都可以被緩存在網絡設備上。因此,Interest消息請求的Content Object可能在網絡傳遞路徑上的緩存中得到匹配,而不是一定得在發布者那里才能得到匹配。

2 HAHA系統設計

2.1 系統概述

HAHA是一個類似QQ的即時通信軟件,相對于基于客戶-服務器工作方式的QQ而言,由于沒有一個中心服務器對系統進行集中管理,同步成為設計HAHA系統的一個關鍵。為了實現同步操作,需要三個重要的數據表:用戶信息列表、聊天數據列表和數據狀態列表,分別管理用戶信息、聊天數據和數據狀態。用戶信息列表用于維護參與者的信息,具有全局性;聊天數據列表用于保存某個用戶的聊天記錄,具有局部性;聊天數據列表保存了每個聊天記錄的摘要信息和日志信息,一旦產生或刪除一條聊天記錄,系統就會在聊天數據信息表中記錄該聊天數據的摘要信息和日志信息。另外還需要三種類型的消息,即:數據請求消息、數據響應消息和同步消息。每種消息采用固定首部和可變長度的消息體格式,其中固定首部定義了消息的版本、消息的類型、消息的總長度、消息的路由限制和消息的首部長度等信息,其格式如圖1所示。消息類型字段用于表示不同的消息類型,其中%x0001表示數據請求消息和同步請求消息,%x0002表示數據響應消息。消息體采用類型-長度-值(Type-Length-Value,TLV)格式對具體的消息格式進行定義,為了區別數據請求消息和同步請求消息,在請求消息類型的消息體部分設置了請求類型字段,請求類型為%x0000時表示數據請求消息,長度和值字段都為0,請求類型為%x0001時表示同步請求消息,長度為需要同步的消息名長度,值為需要同步的消息的名稱,如圖2所示。

[版本\&消息類型\&總長度\&路由跳數\&保留字\&首部長度\&]

圖1 消息的固定首部字段

[請求消息(1)\&消息長度\&消息名稱\&同步請求(1)\&長度\&同步數據名稱\&元數據\&]

圖2 同步請求字段

2.2 同步操作過程

HAHA系統中存在兩種聊天的情況,一種是好友之間對等聊天,另一種是一組用戶進行群聊。系統中每個參與者和群組都有一個惟一的ID,該ID是成為參與者和群組中所產生的所有數據的前綴。

對等聊天的同步操作過程,數據發送端采用數據消息格式將數據發送到網絡,數據的名稱由數據發布者的命名空間連接數據摘要組成,同時發布一條同步請求消息。同步請求消息中包含了聊天數據的名稱,接收端收到同步請求以后,提取同步請求中的聊天數據名稱,發起對聊天數據的請求。請求消息中的名字就是從同步請求提取出來的聊天數據的名稱。例如,有兩個HAHA好友Bob和Alice,當Bob給Alice發送聊天信息時,Bob會把以其自身的命名空間為前綴結合聊天數據的摘要作為數據名,把聊天數據發布到網絡上,同時Bob還會發送一條同步消息,同步消息是一種Interest數據包格式,其中name字段中的內容為Alice的ID,其后附加了Bob所發布的聊天數據的名稱字段,Alice一旦收到了Bob發布的同步數據包,就立刻發送一個同步響應數據包,接下來再發出聊天數據請求,提取Bob給其發送的聊天數據。

群聊的同步操作過程,消息生產者會發布以群命名空間附加生產者命名空間和聊天數據摘要為名稱的聊天數據信息,同時發布一條以群組命名空間為名稱的同步請求消息。同步請求消息中包含了需要同步的數據信息的名稱,其他參與者一旦接收同步請求,就可以從同步請求中提取需要同步的數據信息的名稱,利用提取出來的數據名稱,重新發起數據信息請求,這樣就實現了參與者之間的信息同步。

2.3 信息的命名格式

在NDN網絡中,信息的命名是非常關鍵的。在HAHA系統中,采用了NDN的命名規范[10],每個群組有一個命名空間用于惟一標識一個群組,每個參與者有各自的命名空間用于惟一標識一個參與者。

參與者產生的聊天數據的名稱格式為:

聊天數據名稱=群組命名空間+生產聊天數據的參與者的命名空間+聊天數據的摘要。

好友之間對等聊天產生的聊天數據格式為:

聊天數據名稱=生產聊天數據的參與者的命名空間+ 聊天數據的摘要。

在圖3和圖4中分別給出群聊時產生的數據的命名格式和好友之間以對等方式聊天時產生的數據的命名格式。

[系統前綴][群組命名空間][/ndn/haha/chatroom@abc/Bob/a2sf34][參與者命名空間][內容摘要]

圖3 群聊數據格式示例

[/ndn/haha/Alice/a892fsa][系統前綴][參與者命名空間][內容摘要]

圖4 對等聊天數據格式示例

3 實驗與分析

我們采用NS-3模擬器作為實驗平臺[11],在平臺上模擬了一個基于命名數據網絡的分布式結構的HAHA即時通信系統和一個基于TCP/IP協議棧[12]的客戶端-服務器結構的QQ即時聊天系統。在NS-3模擬平臺上選擇了系統自帶的Sprint point-of-presence[13]方案分別對兩種實現系統進行網絡拓撲結構規劃和設計,在結構中定義了52個節點和84條鏈路。每條鏈路的帶寬均設置為100Mbps。在基于NDN的HAHA即時通信模擬系統的拓撲結構中,每個節點都實現了NDN協議和HAHA即時通信協議。在基于IP網絡的QQ即時通信模擬系統的拓撲結構中,設置了一個服務器節點和51個客戶端節點。在實驗中分別設置了一個群組,在HAHA系統中52個節點都啟動了聊天進程,每個節點向群組發送1000條消息,在基于TCP協議的即時通信系統中,51個客戶端節點啟動了客戶端聊天進程,每個節點向群組發送1000條消息,1個服務器節點啟動了服務器進程。

在實驗中分別統計了兩者每條鏈路接收到的數據包數和每條消息的延時,統計數據表明,HAHA系統中每條鏈路上傳輸的消息數比較均衡,而且消息的傳輸延遲較小。具體實驗數據如圖5和圖6所示。

圖5 鏈路上消息數

圖6 傳輸延時

4 結束語

HAHA系統采用去中心化的系統結構,利用命名數據網絡天生的安全和組播特性,免去了單點失效和流量集中的問題,改善了內容分發效率,提高了系統的安全性。利用仿真平臺證實了HAHA系統具有較好的鏈路均衡性和較低的消息傳輸延時。命名數據網絡被認為是下一代互聯網體系結構。設計和實現基于命名數據網絡的應用程序有很好應用前景和研究價值。

參考文獻:

[1] Zhehao Wang, Zening Qu, Jeff Burke. Matryoshka: Design of

NDN Multiplayer Online Game[J]. ICN14, September 24-26,2014, Paris, France.

[2] L. Zhang.Named Data Networking (NDN) Project. PARC, Tech.

Rep. NDN-0001,October 2010.

[3] Z. Zhu, A. Afanasyev. ChronoSync: Decentralized dataset state

synchronization in Named Data Networking. ICNP 2013, Oct. 2013.

[4] Z. Zhu, C. Bian, A. Afanasyev, V. Jacobson, L.Zhang. Chronos:

Serverless multi-user chat over ndn. Technical report, NDN-0008,2012.

[5] Project CCNx. http://www.ccnx.org.

[6] V. Jacobson , K. Smetters, D. Thornton, F. Plass . Networking

Named Content. CoNEXT09, December 1-4, 2009, Rome, Italy.

[7] M. F.Bari, S. R.Chowdhury, R.Ahmed. A survey of naming and

routing in information-centric networks[J]. IEEE,2012.50(12):44-53

[8] CCNx Protocol.http://www.ccnx.org/releases/latest/doc/technical/

CCNxProtocol.html.

[9] Ccnx synchronization protocol. http://www.ccnx.org/releases/

latest/doc/technical/SynchronizationProtocol.html.

[10] D. Smetters, V. Jacobson. Securing Network Content. Technical

report, PARC,2009.

[11] A. Afanasyev, I. Moiseenko, and L. Zhang. ndnSIM: NDN

simulator for NS-3. NDN Technical Report NDN-0005, October 2012.http://named-data.net/techreports.html.

[12] Gary R. Wright, W.Richard Stevens. TCP/IP詳解(卷2):實現[M].

機械工業出版社,2000.

[13] N. Spring, R. Mahajan, D. Wetherall, and T. Anderson.

Measuring ISP topologies with Rocketfuel[J]. IEEE/ACM Transactions on Networking, vol. 12, no. 1, 2004.

主站蜘蛛池模板: 99久久人妻精品免费二区| 国产一级小视频| 精品少妇人妻无码久久| 伊人无码视屏| 欧美日韩精品一区二区在线线| 精品成人一区二区三区电影| 看国产毛片| 国产成人精品无码一区二 | 国产在线麻豆波多野结衣| 国产福利免费视频| 日本国产在线| 精品久久久久久中文字幕女| 亚洲一区二区在线无码| 亚洲天堂网视频| 国产精品欧美激情| 国产伦片中文免费观看| 波多野结衣在线se| 国产成人精品免费视频大全五级| 欧美日韩国产成人高清视频| 首页亚洲国产丝袜长腿综合| 99在线视频精品| 尤物午夜福利视频| 无码一区18禁| 高清精品美女在线播放| 亚洲国产精品无码久久一线| 午夜福利无码一区二区| 亚洲日韩在线满18点击进入| 亚洲区视频在线观看| 色欲综合久久中文字幕网| 国产亚卅精品无码| 2020精品极品国产色在线观看| 日韩av无码DVD| 欧美自拍另类欧美综合图区| 日本久久久久久免费网络| 亚洲va在线∨a天堂va欧美va| 高清亚洲欧美在线看| 欧美日韩亚洲国产主播第一区| 中文字幕日韩视频欧美一区| 欧美日韩在线观看一区二区三区| 99re热精品视频国产免费| 青草娱乐极品免费视频| 无码专区国产精品一区| 免费观看亚洲人成网站| 亚洲国产天堂久久综合| 在线看AV天堂| 国产精品jizz在线观看软件| 在线视频亚洲欧美| 欧美色视频网站| 欧美中文字幕在线播放| 亚洲无线国产观看| 亚洲中文字幕无码爆乳| 亚洲日本韩在线观看| 国产丝袜第一页| 一本一道波多野结衣av黑人在线| 亚洲欧美极品| 综合社区亚洲熟妇p| 91人妻日韩人妻无码专区精品| 视频一本大道香蕉久在线播放| 色色中文字幕| 永久免费精品视频| 国内精品视频| аv天堂最新中文在线| 乱系列中文字幕在线视频| 五月婷婷激情四射| 亚洲人在线| 久久精品日日躁夜夜躁欧美| 中文字幕在线欧美| 日韩精品一区二区三区免费在线观看| 婷婷色在线视频| 国产精品极品美女自在线网站| 欧美在线黄| 欧美不卡视频在线| 欧亚日韩Av| 日本三级精品| 国产情侣一区| 91精品综合| 国产精品免费电影| 亚洲欧美色中文字幕| 天堂成人av| 男女性午夜福利网站| 欧美日韩另类在线| 精品国产亚洲人成在线|