pastry演算法
Ⅰ 求助NS2下如何模擬P2P裡面的chord演算法,現在十分迷茫
P2P的一個常見問題是如何高效的定位節點,也就是說,一個節點怎樣高效的知道在網路中的哪個節點包含它所尋找的數據,如下圖:
對此,有三種比較典型的來解決這個問題。
Napster:使用一個中心伺服器接收所有的查詢,伺服器告知去哪下載其所需要的數據。存在的問題是中心伺服器單點失效導致整個網路癱瘓。
Gnutella:使用消息洪泛(message
flooding)來定位數據。一個消息被發到系統內每一個節點,直到找到其需要的數據為止。當然,使用生存時間(TTL)來限制網路內轉發消息的數量。存在的問題是消息數與節點數成線性關系,導致網路負載較重。
SN型:現在大多數採用所謂超級節點(Super
Node),SN保存網路中節點的索引信息,這一點和中心伺服器類型一樣,但是網內有多個SN,其索引信息會在這些SN中進行傳播,所以整個系統的崩潰幾率就會小很多。盡管如此,網路還是有崩潰的可能。
現在的研究結果中,Chord、Pastry、CAN和Tapestry等常用於構建結構化P2P的分布式哈希表系統(Distributed Hash
Table,DHT)。
DHT的主要思想是:首先,每條文件索引被表示成一個(K,
V)對,K稱為關鍵字,可以是文件名(或文件的其他描述信息)的哈希值,V是實際存儲文件的節點的IP地址(或節點的其他描述信息)。所有的文件索引條目(即所有的(K,
V)對)組成一張大的文件索引哈希表,只要輸入目標文件的K值,就可以從這張表中查出所有存儲該文件的節點地址。然後,再將上面的大文件哈希表分割成很多局部小塊,按照特定的規則把這些小塊的局部哈希表分布到系統中的所有參與節點上,使得每個節點負責維護其中的一塊。這樣,節點查詢文件時,只要把查詢報文路由到相應的節點即可(該節點維護的哈希表分塊中含有要查找的(K,V)對)。
這里介紹的Chord演算法就是解決網路內節點定位問題的一種P2P協議。它通過多個節點跳轉找到我們所查找的資源:
我們先看看它是如何進行的,隨後再總結其特點和操作特徵,以及一些實現。
1.Chord裡面的基本要素
節點ID:NID(node
identifier),表示一個物理機器,m位的一個數字(m要足夠大以保證不同節點的NID相同的幾率小的可以忽略不計),由節點機器的IP地址通過哈希操作得到。
資源ID;KID(key
identifiers),原為鍵ID,其實際表示一個資源(因為Key與一個資源value哈希綁定),故在本文中統稱資源ID(這樣比較直觀),m位的一個數字(m要足夠大以保證不同資源的KID相同的幾率小的可以忽略不計),由Key通過哈希操作得到。
常哈希函數:較之一般哈希函數,節點的加入和離開對整個系統影響最小,另外還有一些優勢在此不贅述。在Chord中使用SHA-1來進行常哈希計算。
Chord環:Chord
Ring,NID和KID被分配到一個大小為2^m的環上,用於資源分配(給某一個節點)和節點分布,以及資源定位(註:在這個環上的ID為0--2^m-1)。首先我們說資源分配,資源被分配到NID>=KID的節點上,這個節點成為k的後繼節點,是環上從k起順時針方向的第一個節點,記為successor(k)。而節點分布則順時針將節點N由大到小放在這個環上。例如下邊這幅圖:
這是一個m=6的環,其中有10個節點,5個資源,K10的後繼節點為N14,也就是說K10被分配給了N14。
2.Chord資源定位(Key
Location)
資源定位是Chord協議的核心功能,為了便於理解,我們先介紹一個簡單的資源定位方法,然後再介紹這個可伸縮的資源定位方法。
簡單方法:
考慮如下場景:節點n尋找KID為id的資源,此時節點n首先問詢是否在下一個節點上(find_successor),這要看資源k的KID是否在該節點NID和下一個節點的NID之間,若在則說明資源k被分配給了下一個節點,若不在則在下一個節點上發起同樣的查詢,問詢下下一個點是否有該資源。如此迭代下去,用偽代碼定義這個操作:
n.find_successor(id)
if (id є (n; successor])
return
successor;
else
// 將查詢沿著環進行下去
return
successor.find_successor(id);
例如下圖:
節點N8尋找K54這個資源,N8.find_successor(K54)發現下一個節點N14不合符54є (8;
14],於是N14發起同樣的搜索,然後一跳一跳後直到節點N56滿足54є (51; 56],於是得知資源K54在N56這個節點上。
在一個有N個節點的環上,這樣的查找方法顯然在最壞的時候要查找N次才能得到所需資源的位置,查找次數與節點個數成線性關系。顯然,這樣的效率不給力,所以Chord使用了可伸縮資源定位的方式來提高效率。
可伸縮方法:
在每個節點N上都維護了最多有m項(m為ID的位數)的路由表(稱為finger
table),用來定位資源。這個表的第i項是該節點的後繼節位置,至少包含到2^(i-1)後的位置。還是延續上邊的例子:
節點N8的路由表中,左邊那一欄包含了N8+1到N8+32(2^5-1)的位置,右邊那一欄每個位置對應的實際存在的節點。比如N8+1-N14,表示在N8後的第一個位置上的資源由N14來負責。這樣記錄有以下優勢:
每個節點只包含全網中一小部分節點的信息。
每個節點對於臨近節點負責的位置知道的更多,比如N8節點對於N14負責的位置知道3處,而對N21負責的位置只知道1處。
路由表通常不包含直接找到後繼節點的信息,往往需要詢問其他節點來完成。
當在某個節點上查找資源時,首先判斷其後繼節點是不是就持有該資源,若沒有則直接從該節點的路由表從最遠處開始查找,看哪一項離持有資源的節點最近(發現後跳轉),若沒有則說明本節點自身就有要尋找的資源。如此迭代下去。
例如:節點N8尋找K54這個資源
首先,在N8上查找後繼節點為N14,發現K54並不符合54є (8;
14]的要求,那麼直接在N8的路由表上查找符合這個要求的表項(由遠及近查找),此時N8的路由表為:
我們發現路由表中最遠的一項N8+32--N42滿足42є (8;
54],則說明N42這個點離持有K54這個資源的節點最近(因為N42在該路由表中離N8這個節點最遠),那麼此時跳到N42這個節點上繼續查找。N42的後繼節點為N48,不符合54є
(42; 48]的要求,說明N48不持有資源54,此時,開始在N42的路由表上查找:
N42節點的路由表為:
我們由遠及近開始查找,發現N42+8--N51滿足51є (42;
54],則說明N51這個點離持有K54這個資源的節點最近,那麼此時跳到N51這個節點上繼續查找。N51節點的後繼節點為N56,符合54є (51;
56],此時定位完成,N56持有資源節點K54。
用偽代碼表示:
// 查詢節點n後繼節點。
n.find_successor(id)
if (id є (n;
successor])
return successor;
else n0 =
closest_preceding_node(id);
return n0.find successor(id);
// search
the local table for the highest
// predecessor of
id
n.closest_preceding_node(id)
for i = m downto 1
if (finger[i] є
(n; id))
return finger[i];
return n;
經證明,最多經過O(log N)次查找就能找到一個資源。
3.Chord的節點加入
Chord通過在每個節點的後台周期性的進行stabilization詢問後繼節點的前序節點是不是自己來更新後繼節點以及路由表中的項。
有三個操作:
join(n0) :n加入一個Chord環,已知其中有一個節點n0.
Stabilize():
n查詢其後繼節點的前序節點P來決定P是否應該是n的後續節點,也就是說當p不是n本身時,說明p是新加入的,此時將n的後繼節點設置為p。
Notify(n0): n0通知n它的存在,若此時n沒有前序節點或,n0比n現有的前序節點更加靠近n,則n將其設置為前序節點。
Fix_fingers(): 修改路由表。
具體的,例如:
這是原先的結構:
現在N26節點要加入系統,首先它指向其後繼N32,然後通知N32,N32接到通知後將N26標記為它的前序節點(predecessor)。如下圖:
然後N26修改路由表,如下圖:
下一次N21運行stabilize()詢問其後繼節點N32的前序節點是不是還是自己,此時發現N32的前序節點已經是N26:
於是N21就將後繼節點修改為N26,並通知N26自己已經將其設置為後繼節點,N26接到通知後將N21設置為自己的前序節點。
這個加入操作會帶來兩方面的影響:
1)正確性方面:當一個節點加入系統,而一個查找發生在stabilization結束前,那麼此時系統會有三個狀態:
A.所有後繼指針和路由表項都正確時:對正確性沒有影響。
B.後繼指針正確但表項不正確:查找結果正確,但速度稍慢(在目標節點和目標節點的後繼處加入非常多個節點時)。如下圖:
C.後繼指針和路由表項都不正確:此時查找失敗,Chord上層的軟體會發現數據查找失敗,在一段時間後會進行重試。
總結一下:節點加入對數據查找沒有影響。
2)效率方面:當stabilization完成時,對查找效率的影響不會超過O(log N)
的時間。當stabilization未完成時,在目標節點和目標節點的後繼處加入非常多個節點時才會有性能影響。可以證明,只要路由表調整速度快於網路節點數量加倍的速度,性能就不受影響。
4.Chord節點失敗的處理
我們可以看出,Chord依賴後繼指針的正確性以保證整個網路的正確性。但如圖,若N14, N21,
N32同時失效,那麼N8是不會知道N38是它新的後繼節點。為了防止這樣的情況,每個節點都包含一個大小為r的後繼節點列表,一個後續節點失效了就依次嘗試列表中的其他後繼節點。可以證明,在失效幾率為1/2的網路中,尋找後繼的時間為O(log
N) 。
5.Chord的特徵和應用
特徵:去中心化,高可用度,高伸縮性,負載平衡,命名靈活。
應用:全球文件系統、命名服務、資料庫請求處理、互聯網級別的數據結構、通信服務、事件通知、文件共享。
http://blog.csdn.net/foreverdengwei/article/details/6179438
Ⅱ 求用java寫的chord演算法完整代碼,謝謝了!
P2P的一個常見問題是如何高效的定位節點,也就是說,一個節點怎樣高效的知道在網路中的哪個節點包含它所尋找的數據,如下圖:
對此,有三種比較典型的來解決這個問題。
Napster:使用一個中心伺服器接收所有的查詢,伺服器告知去哪下載其所需要的數據。存在的問題是中心伺服器單點失效導致整個網路癱瘓。
Gnutella:使用消息洪泛(message
flooding)來定位數據。一個消息被發到系統內每一個節點,直到找到其需要的數據為止。當然,使用生存時間(TTL)來限制網路內轉發消息的數量。存在的問題是消息數與節點數成線性關系,導致網路負載較重。
SN型:現在大多數採用所謂超級節點(Super
Node),SN保存網路中節點的索引信息,這一點和中心伺服器類型一樣,但是網內有多個SN,其索引信息會在這些SN中進行傳播,所以整個系統的崩潰幾率就會小很多。盡管如此,網路還是有崩潰的可能。
現在的研究結果中,Chord、Pastry、CAN和Tapestry等常用於構建結構化P2P的分布式哈希表系統(Distributed Hash
Table,DHT)。
DHT的主要思想是:首先,每條文件索引被表示成一個(K,
V)對,K稱為關鍵字,可以是文件名(或文件的其他描述信息)的哈希值,V是實際存儲文件的節點的IP地址(或節點的其他描述信息)。所有的文件索引條目(即所有的(K,
V)對)組成一張大的文件索引哈希表,只要輸入目標文件的K值,就可以從這張表中查出所有存儲該文件的節點地址。然後,再將上面的大文件哈希表分割成很多局部小塊,按照特定的規則把這些小塊的局部哈希表分布到系統中的所有參與節點上,使得每個節點負責維護其中的一塊。這樣,節點查詢文件時,只要把查詢報文路由到相應的節點即可(該節點維護的哈希表分塊中含有要查找的(K,V)對)。
這里介紹的Chord演算法就是解決網路內節點定位問題的一種P2P協議。它通過多個節點跳轉找到我們所查找的資源:
我們先看看它是如何進行的,隨後再總結其特點和操作特徵,以及一些實現。
1.Chord裡面的基本要素
節點ID:NID(node
identifier),表示一個物理機器,m位的一個數字(m要足夠大以保證不同節點的NID相同的幾率小的可以忽略不計),由節點機器的IP地址通過哈希操作得到。
資源ID;KID(key
identifiers),原為鍵ID,其實際表示一個資源(因為Key與一個資源value哈希綁定),故在本文中統稱資源ID(這樣比較直觀),m位的一個數字(m要足夠大以保證不同資源的KID相同的幾率小的可以忽略不計),由Key通過哈希操作得到。
常哈希函數:較之一般哈希函數,節點的加入和離開對整個系統影響最小,另外還有一些優勢在此不贅述。在Chord中使用SHA-1來進行常哈希計算。
Chord環:Chord
Ring,NID和KID被分配到一個大小為2^m的環上,用於資源分配(給某一個節點)和節點分布,以及資源定位(註:在這個環上的ID為0--2^m-1)。首先我們說資源分配,資源被分配到NID>=KID的節點上,這個節點成為k的後繼節點,是環上從k起順時針方向的第一個節點,記為successor(k)。而節點分布則順時針將節點N由大到小放在這個環上。例如下邊這幅圖:
這是一個m=6的環,其中有10個節點,5個資源,K10的後繼節點為N14,也就是說K10被分配給了N14。
2.Chord資源定位(Key
Location)
Ⅲ 09年 9月三級網路技術筆試重點概括
第一章 計算機基礎
1.1 計算機系統的組成
<1>年份事件:
1946 ENIAC 第一台計算機誕生
1969 ARPNET產生 互聯網的誕生
1971 微處理器晶元4004產生 微機的誕生
1981 微處理器晶元Intel8088產生 IBM首推PC
1991.6 中科院高能所接入斯坦福大學 中國人上網
1994年 採用TCP/IP協議實現國際互聯網全功能連接
1.2 計算機硬體組成
<1>計算機現實的分類
Sevrer、workstation、台式機、筆記本、手持設備
Server具有相對性、不需專門特定的處理器
<2>基本單位換算:
速率或帶寬:T、G、M、K之間進率1000,單位bps
容量:T、G、M、K、B之間進率1024,單位位元組
<3>英文簡寫:
MIPS、MFLOPS、MTBF、MTTR
<4>奔騰晶元的特點
32位、超標量、超流水、分支預測、哈佛結構、PCI匯流排
<5>安騰晶元特點
64位、EPIC
<6>主板的分類:
<7>網卡兩層性:物理層+數據鏈路層
1.3 計算機軟體組成
<1>軟體=程序+數據+文檔
<2>常用軟體的分類:
<3>瀑布模型:
計劃----定義、可行性
開發:初期----需求分析、總體設計、詳細設計
後期----編碼、測試
運行:運維
1.4 多媒體基本概念
<1>壓縮標準的區別:
JPEG 靜止圖像
MPEG 動態圖像
<2>超文本:非線性、跳躍性;
唇同步;
流媒體:邊下邊看
<3>壓縮方法分類:
熵編碼(無損壓縮)----哈弗曼、算術、遊程編碼
源編碼(有損壓縮)----預測、矢量量化編碼
混合編碼
<4>流媒體:邊下邊看
技術特點:連續性、實時性、時序性(同步性)
---------------------------------------------------------------------------------
第二章 網路基本概念
2.1 計算機網路的形成與發展
<1>三網融合:計算機網路、電信通信網、廣播電視網
2.2 計算機網路的基本概念
<1>定義:獨立、自治、共享資源、信息傳輸
<2>計算機網路地理范圍分類:LAN、WAN、MAN
<3>拓撲的定義:幾何關系表示的網路結構 通信子網的抽象
<4>與網路拓撲相關的指標:
網路性能、系統可靠性、通信費用
<5>點對點網路不可能有匯流排型拓撲;
廣播式網路中不可能有網狀型拓撲
<6>點對點網路中星形、環形、樹形、網狀型拓撲各自特點;
<7>公式的計算----奈奎斯特准則與香農定理
<8>兩定理基本原理:
Nyquist 理想低通 有限帶寬
Shannon 有隨機雜訊的低通
<9>關於誤碼率:
是統計值,樣本越大越精確;
不是越低越好,考慮實際需求;
二進制碼元
2.3 分組交換技術的基本概念
<1>電路交換:
過程:線路建立、數據傳輸、線路釋放
特點:優點----實時性高、適宜互動式會話類通信 模擬通信
不足----設備利用率底、不具備差錯控制、流量控制
不適宜突發式通信
<2>存貯轉發:
(1)Message----將發送數據作為一個邏輯單位轉發 出錯重傳麻煩
(2)Packet----限定分組最大長度 如TCP/IP 最大64KB
含分組號 目的端需排序重組
<3>分組交換技術分:
(1)DG ----無需預先建立鏈路、需進行路由選擇、目的結點需排序重組、
傳輸延遲大、適宜突發式通信
(2)VC----需預先建立鏈路、不需進行路由選擇、適宜長報文傳輸
每個結點可同時和其他結點建立多條虛電路、
2.4 網路體系結構與網路協議
<1>協議三要素及其定義
語法----結構和格式
語義----控制信息、動作與響應
時序----實現順序
<2>OSI七層結構
<3>Datalink、Transport、Network功能;
Datalink----建立無差錯的數據鏈路、傳送數據幀
Network----定址、路由、擁塞控制
Transport----端到端可靠透明地傳送報文
<4>TCP、UDP協議特點
TCP----可靠、面向連接、全雙工、復雜、速度慢、傳控制信息
UDP----不可靠、面向無連接、簡單、速度快、傳數據
<5>TCP/IP與OSI模型的對應關系
<6>TCP/IP協議中傳輸層、互聯層的功能
傳輸層----建立用於會話的端到端的連接
互聯層----將源報文發送至目的主機
<7>常見應用層協議
2.5 互聯網的應用與發展(了解)
<1>p2p----非集中式、平等、獨立路由、自治
2.6 無線網路應用的發展(了解)
<1>802.16----WMAN,無線城域網
<2>802.11----WLAN,無線區域網
Ad hoc----無線自組網
(1)WSN----無線感測器網路
(1)WMN----無線網格網
--------------------------------------------------------------------------------
第三章 區域網基礎
3.1 區域網與城域網基本概念
<1>區域網技術三要素:
網路拓撲、傳輸介質與介質訪問控制方法
<2>區域網介質訪問控制方法:
CSMA/CD、Token bus、Token ring
<3>IEEE對Datalink劃分為LLC和MAC層
<4>IEEE802標准中.1 .2 .3 .4 .5 .11 .16 所述內容
3.2 乙太網
<1>CSMA/CD特點:
共享介質、廣播、會聽、平等競爭、隨機、沖突、退避、
傳輸效率不穩定、 實時性差、低負荷、易實現
<2>CSMA/CD發送流程:
先聽後發、邊聽邊發、沖突停止、延遲重發
<3>理解乙太網數據收發過程:
<4>沖突窗口2D/V 51.2微秒、 乙太網幀長度64B--1518B
<5>乙太網的實現:網卡、收發器、收發電纜線
網卡作用----編解碼、幀拆裝、CRC校驗
<6>MAC地址的唯一性:
48 bit,廠商ID + 產品SN ,各佔3個位元組
<7>CSMA/CD、Token bus和Token ring的區別:
CSMA/CD----隨機、實時性差、低負荷、易實現
Token----確定、實時、重負荷、實現困難
3.3 高速區域網的工作原理
<1>快速乙太網及千兆乙太網特點:
相同----幀格式、介質訪問控制方法CSMA/CD、介面
不同:快速乙太網----發送間隔10ns、MII介質獨立介面、
雙絞線及光纖 802.3u
千兆乙太網----發送間隔1ns、GMII介質獨立介面、
雙絞線及光纖 802.3z
<2>萬兆位乙太網特點:
光纖、全雙工、sonet/net、STM-64模式、10GMII
幀格式相同、不用CSMA/CD
3.4 交換式區域網與虛擬區域網
<1>交換式區域網的概念及特點:
概念----多埠之間建立多個並發連接
特點----低延遲、高帶寬
支持不太速率和工作模式
支持VLAN
<2>交換式區域網埠和MAC映射表:
埠號與MAC地址 地址學習
<3>幀轉發方式:
直通、存貯轉發、改進的直通
<4>VLAN組網方式及特點:
組網方式----埠號、MAC地址、網路地址、IP廣播組
特點式----管理方便、安全、服務質量高
3.5 無線區域網
<1>無線區域網的分類及特點:
紅外----視距,包括定向、全方位、漫反射
安全、抗干擾、簡單、傳輸距離短
擴頻---- DSSS、FHSS、抗干擾能力強
<2>802.11b (1、2、5.5、11Mbps)與802.11a (54Mbps)速率
<3>802.11層次模型結構:
物理層+MAC
MAC----爭用型 DCF+CSMA/CA
非爭用型 PCF
3.6 區域網互聯與網橋工作原理
<1>網橋的作用、工作過程及分類
作用----數據接受、地址過濾、數據轉發,分割流量、連接區域網和區域網
工作過程----接受、存貯、地址過濾、幀轉發
分類----源路由網橋 + 透明網橋
<2>各種網路連接所用的設備:
區域網互聯----網橋
區域網與廣域網、廣域網與廣域網----用路由器或網關
<3>網路設備工作的對應層次
Hub集線器----Physical
Bridge、Switch----Datalink
Router路由器----Network,分組存貯轉發、路由選擇、擁塞控制
Gateway網關----Application
-------------------------------------------------------------------------------------
第四章 網路操作系統
4.1 網路操作系統的特點
<1>單機操作系統的基本功能:
進程管理、內存管理、文件系統、設備I/O
<2>單機OS的組成及結構:
組成----驅動、內核、介面庫及外圍組件
結構----簡單、層次、微內核、垂直和虛擬機結構
<3>OS啟動進程的機制:
DOS---->EXEC
Windows---->CreatProcess
<4>常見文件系統:
DOS---->FAT
Windows---->VFAT
OS/2---->HPFS
NT---->FAT32、NTFS
<5>網路OS的基本任務:
屏蔽差異性、提供網路服務、實現資源共享管理、保證安全
4.2 網路操作系統的演變(無考點)
4.3 網路操作系統的類型與功能
<1>網路操作系統的分類:
專用型、通用型(變形級、基礎級系統)
<2>NOS的發展:對等---->非對等 C/S
硬碟Server----文件Server----應用Server(DB、Web、ftp、DNS、通信)
<3>文件伺服器的功能:
為用戶提供完善的數據、文件和目錄服務
<4>網路管理服務功能:
網路性能分析、狀態監控、存貯管理
<5>NOS功能:
文件、列印、DB通信、信息、分布式目錄、網路管理、Internet/Intranet服務
<6>DB中傳送信息所用的語言:SQL(Structured Query Language,結構化查詢語言)
4.4 Windows NOS的發展
<1>Windows NT域的概念:
域同目錄,NT只有一個主域,可有多個備份域
<2>NT的特點(4個)
<3>Windows 2000的特點及其理解:
特點----活動目錄服務
樹狀、組織單元
主域、備份域----域間平等
主從式----多主機復制
用戶全局、本地組----信任可傳遞、單點登陸
<4>Windows 2000 Server的版本及Server 2008的虛擬化技術。
4.5 NetWare NOS
<1>NetWare文件系統的基本單位及訪問方式
<2>NetWare四類用戶
<3>NetWare四級安全機制
<4>NetWare三級容錯 SFT1、2、3
<5>IntranetWare特點:
支持IP和IPX、Web、Ftp
4.6 UNIX NOS
<1>UNIX的發展
1969 AT&T----Unix V1 匯編
1973 AT&T----Unix V5 C
1981 AT&T----Unix SV R4.0
1969 加州大學伯克利分校----BSD4.3
<2>UNIX特點:
可移植性強、shell語言,樹形文件系統
<3>UNIX標準的演進:
POSIX--->UI、OSF--->COSE--->蒙特雷計劃
<4>UNIX的版本及公司
IBM---->AIX
sun---->solaris
HP---->HP-UX、Digital unix
SCO---->OpenServer、UnixWare
<5>Unix solaris 10、AIX 5L、HP11 iV3等的新特性,特別是第一點。
4.7 Linux NOS
<1>Linux 起源----芬蘭,赫爾辛基大學
<2>Linux特點----開源、自由軟體
<3>各公司的Linux版本:
Red Hat----Red Hat Linux9.0、Red Hat Enterprise Linux 5.0
Novell----SUSE Linux、SUSE Enterprise Linux 11
第五章 Internet基礎
5.1 Internet的構成
<1>網際網路的概念:
設計者----互聯網路的一個實例
用戶----信息資源網
<2>網際網路的組成部分:
伺服器客戶機、信息資源、通信線路、路由器
5.2 Internet的接入
<1>Internet的接入:
電話網----Modem D/A A/D 56kbps
ADSL----上行16-640kbps 下行1.5M-9Mbps
HFC----上行10Mbps 下行10M-40Mbps
數據通信網----DDN、ATM、幀中繼網 速率64kbps----2Mbps
5.3 IP協議與互聯層服務
<1>IP協議內容:
IP數據報格式、定址、路由、分片、重組、差錯控制和處理
<2>互聯層服務及IP地址唯一性:
互聯層服務----無連接、不可靠、盡力傳送
唯一性----Internet中任一台計算機均有IP地址
任兩台主機IP地址不同
5.4 IP地址
<1>IP地址的構成:
32位,網路號+主機號,點分十進制記法,合法IP范圍0--255
<2>單播A、B、C三類IP地址的網路位、主機為及判別:
判別:看第一個十進制數的范圍,
A類(1-126)、B類(128-191)、C類(191-223)
<3>判斷兩台主機是否在同一網段:
看網路號是否相同,相同則在同一網路,否則不在同一網路
<4>特殊的IP地址:
網路地址----網路地址.0
有限廣播地址----255.255.255.255
直接廣播----網路地址.255
回送地址----127.x.x.x
私有地址---->10.x.x.x、192.168.x.x、
172.16.x.x--172.31.x.x
<5>IP地址與子網掩碼關系:
子網掩碼----1(網路及子網位).0(主機位)
IP地址與子網掩碼相與得到網路地址,進而可計運算元網號、主機號
<6>IP地址與MAC地址的轉換:
IP---->MAC ARP 廣播、高速緩沖表
MAC---->IP RARP
5.5 IP數據報
<1>對IP數據報格式及其相關欄位的理解:
總長度最長64KB、報頭最長長60B、TTL、源地址及目的地址
標識、標志、片偏移、選項、版本及協議類型等
5.6 差錯與控制報文
ICMP報文分為:
<1>控制報文:
擁塞控制----源抑制,緩沖區存滿
路由控制----重定向,選擇最佳路徑
<2>差錯報文:
目的地不可達----網路、主機、協議及埠不可達
超時----TTL超期
參數錯誤
<3>請求/應答報文對:
回應請求/應答----測試目的主機或路由器的可達性
時戳請求/應答----同步時鍾
掩碼請求/應答----請求告知子網掩碼
5.7 路由器與路由選擇
<1>理解(N,R)對序偶、(M、N,R)三元組:
到目標網路最近的路由器的較近的埠地址(下一跳路由器)
<2>統一路由選擇演算法:(M、N,R)三元組+
特定主機M=255.255.255.255
默認路由M=0.0.0.0
A類IP地址M=255.0.0.0
B類IP地址M=255.255.0.0
C類IP地址M=255.255.255.0
<3>路由表建立:
靜態路由表,手工維護
動態路由表,路由協議,自動維護
<4>理解RIP和OSPF路由協議:
<5>選擇路由協議:
靜態路由----小型、單路徑、靜態IP (網路數<10)
RIP----中型、多路徑、動態IP (10<網路數<50)
OSPF----大型、多路徑、動態IP (網路數>50)
5.8 IPV6協議
<1>IPV6基本知識:
128位,64位網路前綴+64網路介面標識符,冒號16進製表示法,8位段
零壓縮,雙冒號表示,缺位補零
<2>IPV6地址類型:
單播地址----可聚類全球單播、鏈路本地地址
組播地址----該多播地址表示的所有網路介面
任播地址----該多播地址表示的所有網路介面中的任一個
特殊地址----全零地址、回送地址(0::1)
映射到IPV4和IPV4兼容的IPV6地址
<3>IPV6數據報格式:
基本頭(40B)+擴展頭+數據單元
5.9 TCP與UDP
<1>TCP與UDP服務的特點
TCP----可靠、面向連接、全雙工、流介面、
連接的可靠建立與優雅關閉
UDP----不可靠、無連接、簡單、高效
<2>理解TCP三次握手和流量控制過程:
<3>常見應用程序對應的埠號
TCP埠:
FTP--20 21、Telnet--23、SMTP--25、DNS--53
HTTP--80、POP3--110
UDP埠:
DNS--53、TFTP--69、SNMP--161
第六章 Internet基本服務
6.1 客戶機/伺服器模型
<1>C/S定義及特性:
定義----客戶機進程啟動請求通信、伺服器進程守護並響應
特性----互聯網應用程序間同步、適應資源分配不均
<2>伺服器的實現方法:
重復Server----面向無連接、請求處理時間已定,時間較短
並發Server----面向連接、請求處理時間不定,實時、靈活
<3>埠號----標識特點的服務
6.2 域名系統
<1>域名體系特點:
樹狀層次結構(倒樹)、分布式
<2>傳統的7個頂級域名
<3>域名解析的兩種方法:
遞歸解析、反復解析,均有本地域名伺服器完成
6.3 遠程登陸服務
<1>Telnet採用C/S模式,NVT來屏蔽鍵盤的差異性、
屏蔽雙方數據格式的差異性
6.4 FTP服務
<1>FTP通過C/S建立雙重連接
控制連接(21)
Data連接(20) 建立方式----主動模式、被動模式
傳輸方式----文本文件、二進制文本
<2>FTP訪問方式:
FTP命令行、瀏覽器、FTP下載工具
<3>FTP匿名服務:用戶名anonymous 口令guest
6.5 電子郵件系統
<1>發送郵件用SMTP(25),接受用pop3(110)、IMAP
郵件的發送與接受均要經過郵件伺服器,因SMTP和pop3均用C/S模式
<2>郵件地址格式:用戶名@郵件伺服器
<3>RFC822----郵件頭+郵件體
MIME----郵件體多媒體化
6.6 WWW服務
<1>Web服務使用的傳送協議HTTP,網頁使用語言HTML
<2>URL協議類型:
HTTP、ftp、telnet、file、gopher
<3>web瀏覽器組成及工作原理:
控制單元、客戶單元、解釋單元
<4>Web伺服器的安全級別
IP地址限制、用戶驗證、web許可權、NTFS許可權
<5>SSL作用及工作流程
驗證客戶機和伺服器雙方身份、加密傳輸數據
會話密鑰有瀏覽器產生
第七章 網路安全技術
7.1 網路管理
<1>網路管理的5個功能:
配置、故障、性能、計費、安全管理
<2>管理者--代理模型:
通信方式----操作、通知
管理模式----集中式、分布式網路管理
<3>SNMP模型組成:
管理者、代理、SNMP、MIB(在被關節點內部)
<4>SNMP與CMIP的特點:
共同點----應用層協議、均採用管理者代理模型
不同點:SNMP用輪詢監控、協議簡單、安全性差
CMIP用委託監控、實時性強、安全性好
協議復雜、代理負荷重
7.2 信息安全技術概述
<1>信息安全的概念及目標:
概念----
目標----真實、完整、保密、可用、防抵賴、可控制、可審查
<2>安全准則TCSEC:
分四類7級,由D、C、B至A安全性逐步增強
<3>常見OS符合那個級別的安全要求:
D1----Dos、Win95
C2----Windows NT、Netware、Unix、Linux
<4>GB安全准則:
自主保護級---->不危害國家安全、社會秩序、經濟建設、公共利益
指導保護級---->造成一定損害
監督保護級---->造成較大損害
強制保護級---->造成嚴重損害
專控保護級---->造成特別嚴重損害
7.3 網路安全分析與安全策略
<1>網路安全的概念、要素和目的:
概念----
要素----真實、完整、保密、可用、防抵賴
目的----信息存貯安全、信息傳輸安全
<2>常見的安全威脅及其影響的安全要素:
監聽、信息泄露---->保密性
偽裝、假冒---->真實性
篡改---->完整性
重放---->可控性
DOS---->可用性
否認---->防抵賴
<3>網路攻擊的分類:
被動攻擊----信息內容泄露、流量分析
難發現、可預防、加密
主動攻擊----偽裝、篡改、重放、DOS、DDOS
易檢測、難預防
服務攻擊----針對特定的網路服務
非服務攻擊----針對網路底層協議
利用協議或OS漏洞實現
7.4 加密技術
<1>密碼的分類:
轉換類型----代換、置換(易位)
密鑰個數----對稱、非對稱
明文處理方法----分組、流(序列)
<2>代換和置換演算法基本原理及凱撒演算法
<3>常見加密演算法分類
對稱----DES、IDEA、TDEA、AES、RC5、Blowfish
其中DES 數據64b、密鑰56b
非對稱----RSA、Elgamal、背包
<4>密鑰管理:
KDC----對稱密鑰及私鑰的分發
CA----公鑰的認證,含在數字證書中
<5>理解非對稱加密過程:
(發送方)加密----接收方公鑰
(接受方)解密----接收方私鑰
7.5 認證技術
<1>認證的目的及種類:
目的----信源識別、完整性驗證
種類----消息認證、數字簽名、身份認證
<2>常見認證演算法及協議:
認證演算法----MD5、SHA-1
一致、惟一、隨機、單向不可逆
簽名演算法----RSA、Elgamal、橢圓曲線數字簽名
身份認證協議----S/Key、X.509、Kerberos
<3>身份認證方法:
口令、個人持證、生物識別
<4>理解消息認證和數字簽名的流程
7.6 安全技術應用
<1>電子郵件安全:
PGP、S/MIME,可實現簽名和加密
<2>IPSec包含:
AH----源身份認證、數據完整性
ESP----身份認證、數據完整性、加密
7.7 入侵檢測與防火牆
<1>入侵檢測技術分類:
統計異常檢測----閥值檢測、基於輪廓
基於規則的檢測----異常檢測、滲透檢測
<2>防火牆的分類:
包過濾路由器----簡單、透明、處理速度快
應用級網關----代理伺服器、針對特定應用、開銷大
電路網關
堡壘主機
<3>防火牆的執行控制策略
服務、方向、用戶、行為控制
<4>防火牆不足
不能防:繞過它的連接、內部的攻擊、病毒
<5>防火牆的使用范圍:
VLAN之間、外網與內網之間、總部網與分支機構網路之間
7.8 計算機病毒問題與防護
<1>病毒常識:
破壞性、傳染性、潛伏性、復制能力
<2>常見病毒及防治:
木馬、蠕蟲、宏病毒、電子郵件病毒
檢測、標識、清除
<3>掃描器的組成:
CPU模擬器、病毒簽名掃描器、模擬控制模塊
第八章 網路應用技術
8.1 組播技術
<1>理解單播、廣播和組播:
<2>組播相關協議:
(a)組播組管理協議----IGMP、CGMP、IGMP Snooping
交換機監聽發送主機發送的Router-port GMP形成
組成員和介面的對應關系,此後僅向有組成員的介面
轉發組播報文,解決數據鏈路層中組播報文泛濫的問題
(b)組播路由協議
域間路由協議----MBGP、MSDP
域內路由協議:
密集模式----DVMRP、MOSPF、PIM-DM
稀疏模式----CBT、PIM-SM
8.2 P2P網路
<1>P2P網路結構
集中式拓撲----中心化、Server保留索引信息、快速檢索
中心結點易受攻擊、Napster、Maze
分布式非結構化----配置簡單、洪泛搜索、隨機轉發、
可適應網路動態變化、支持復雜查詢、
擴展性好、小網路效率高、GNUtella
分布式結構化----DHT、非中心化、自組織、良好的擴展性
健壯性、維護較復雜、Pastry、Tapestry
混合式結構----快速檢索、可擴展、抗攻擊 Skype、BT
eDonkey、PPLive
<2>混合式結構的P2P網路中結點分為:
用戶結點、搜索結點、索引結點
<3>P2P應用:
分布式科學計算、文件共享、協同工作、流媒體直播、分布式搜索引擎
8.3 即時通信系統
<1>IM模式:
P2P(C/C)----傳文件
中轉(C/S)----文本消息
<2>了解IM協議----SIMPLE、XMPP
<3>SIP的組成及消息:
組成----用戶代理、代理Server、重定向Server、注冊Server
A消息----Request、Response
<4>XMPP採用C/S結構、由XMPP客戶端、伺服器、協議網關構成
8.4 IPTV
<1>IPTV基本業務
VOD----包括節目製作中心、專業視頻伺服器、視頻節目庫
VOD管理伺服器、客戶端播放設備
直播電視----IP網作傳輸網、機頂盒(信號轉換)、組播
時移電視----時間軸根據用戶需求而動、存貯媒體文件、點播
<2>IPTV構成及關鍵技術理解
構成----節目採集、存貯與服務、節目傳送、用戶終端設備、相關軟體
理解----視頻數字化、傳輸IP化、播放流媒體化
8.5 VoIP
<1>VoIP實現方法及構成
實現方法----PC-to-PC、PC-to-Phone、Phone-to-Phone
構成----終端設備、網關、網守、MCU
<2>VoIP網關作用
號碼查詢、建立通信連接、信號調制、信號解壓縮、路由定址
8.6 網路搜索技術
<1>全文搜索引擎組成
搜索器、索引器、檢索器、用戶介面
<2>google、網路各自技術特點
Ⅳ 點對點技術的現狀
國外開展P2P研究的學術團體主要包括P2P工作組(P2PWG) 、全球網格論壇(Global Grid Forum ,GGF) 。P2P工作組成立的主要目的是希望加速P2P計算基礎設施的建立和相應的標准化工作。P2PWG成立之後,對P2P計算中的術語進行了統一,也形成相關的草案,但是在標准化工作方面工作進展緩慢。P2PWG已經和GGF合並,由該論壇管理P2P計算相關的工作。GGF負責網格計算和P2P計算等相關的標准化工作。
從國外公司對P2P計算的支持力度來看,Microsoft公司、Sun公司和Intel公司投入較大。Microsoft公司成立了Pastry項目組,主要負責P2P計算技術的研究和開發工作。Microsoft公司已經發布了基於Pastry的軟體包SimPastry/ VisPastry。Rice大學也在Pastry的基礎之上發布了FreePastry軟體包。
在2000年8月,Intel公司宣布成立P2P工作組,正式開展P2P的研究。工作組成立以後,積極與應用開發商合作,開發P2P應用平台。2002年Intel發布了. Net基礎架構之上的Accelerator Kit (P2P加速工具包) 和P2P安全API軟體包,從而使得微軟. NET開發人員能夠迅速地建立P2P安全Web應用程序。
Sun公司以Java技術為背景,開展了JXTA項目。JXTA是基於Java的開源P2P平台,任何個人和組織均可以加入該項目。因此,該項目不僅吸引了大批P2P研究人員和開發人員,而且已經發布了基於JXTA的即時聊天軟體包。JXTA定義了一組核心業務:認證、資源發現和管理。在安全方面,JXTA加入了加密軟體包,允許使用該加密包進行數據加密,從而保證消息的隱私、可認證性和完整性。在JXTA核心之上,還定義了包括內容管理、信息搜索以及服務管理在內的各種其它可選JXTA服務。在核心服務和可選服務基礎上,用戶可以開發各種JXTA平台上的P2P應用。 · 北京大學—Maze
Maze 是北京大學網路實驗室開發的一個中心控制與對等連接相融合的對等計算文件共享系統,在結構上類似Napster,對等計算搜索方法類似於Gnutella。網路上的一台計算機,不論是在內網還是外網,可以通過安裝運行Maze的客戶端軟體自由加入和退出Maze系統。每個節點可以將自己的一個或多個目錄下的文件共享給系統的其他成員,也可以分享其他成員的資源。Maze支持基於關鍵字的資源檢索,也可以通過好友關系直接獲得。
· 清華大學—Granary
Granary是清華大學自主開發的對等計算存儲服務系統。它以對象格式存儲數據。另外,Granary設計了專門的結點信息收集演算法PeerWindow的結構化覆蓋網路路由協議Tourist。
· 華中科技大學—AnySee
AnySee是華中科大設計研發的視頻直播系統。它採用了一對多的服務模式,支持部分NAT和防火牆的穿越,提高了視頻直播系統的可擴展性;同時,它利用近播原則、分域調度的思想,使用Landmark路標演算法直接建樹的方式構建應用層上的組播樹,克服了ESM等一對多模式系統由聯接圖的構造和維護帶來的負載影響。
更詳細介紹見[中國計算機學會通訊Page 38-51鄭緯民等對等計算研究概論]