NDN与TCP/IP
搬運(yùn)自http://blog.csdn.net/programmer_at/article/details/49203241
?當(dāng)前TCP/IP協(xié)議存在哪些問題?如何改進(jìn)?
當(dāng)時沒有回答好,然后提到了NDN可以針對TCP/IP做出改進(jìn),但是在行家面前就漏 洞百出,一是對TCP/IP網(wǎng)絡(luò)理解不夠深入,另外一方面是自己對NDN比較陌生。趁著這段時間比較得閑,在網(wǎng)上搜了《Named Data Networking(NDN) Project》(2010.10)和初略看了看北大出版的《信息中心網(wǎng)絡(luò)與命名數(shù)據(jù)網(wǎng)絡(luò)》(雷凱老師編著),對我當(dāng)時的回答進(jìn)行補(bǔ)充和完善吧。
有需求才有探索與實(shí)踐,所以,首先,要理解一下當(dāng)前的互聯(lián)網(wǎng)的發(fā)展背景,才知道TCP/IP為什么逐漸無法滿足我們的需求了。
一.當(dāng)今互聯(lián)網(wǎng)發(fā)展趨勢與特征
1.隨著用戶接入網(wǎng)絡(luò)的物理帶寬的提高,互聯(lián)網(wǎng)應(yīng)用主題已經(jīng)轉(zhuǎn)向文字信息和多媒體音視頻等內(nèi)容的獲取,信息內(nèi)容服務(wù)已經(jīng)成為網(wǎng)絡(luò)服務(wù)的主體。2.手機(jī)網(wǎng)民規(guī)模日益擴(kuò)大,對移動性網(wǎng)絡(luò)的需求在增強(qiáng)
3.互聯(lián)網(wǎng)應(yīng)用習(xí)慣出現(xiàn)顯著變化,包括新型即時通信(微信),微博,云視頻,云存儲等在內(nèi)的新興互聯(lián)網(wǎng)內(nèi)容應(yīng)用迅速擴(kuò)散,說明用戶越來越依賴互聯(lián)網(wǎng)來進(jìn)行內(nèi)容的傳播和分發(fā),對于內(nèi)容共享需求日益強(qiáng)烈。
二.TCP/IP協(xié)議
1.目的
在兩個實(shí)體之間端到端的數(shù)字?jǐn)?shù)據(jù)交換2.優(yōu)勢
在數(shù)據(jù)幀的設(shè)計上簡單,標(biāo)準(zhǔn)統(tǒng)一,兼容異構(gòu)的網(wǎng)絡(luò)互聯(lián)互通,良好的破壞恢復(fù)機(jī)制,低數(shù)據(jù)開銷3.問題
(1)安全性
基于IP網(wǎng)絡(luò)安全需要對終端和連接同時信任。IP網(wǎng)絡(luò)接受任何人發(fā)送的任何內(nèi)容,不管數(shù)據(jù)包的內(nèi)容,只要發(fā)送者看似合法,這種情況導(dǎo)致惡意信息發(fā)送到接收者,這是IP網(wǎng)站容易被攻擊的根源。(2)移動性和多網(wǎng)址
IP地址網(wǎng)絡(luò)層尋址器和傳輸層定位標(biāo)識符的雙重作用限制了移動性和多網(wǎng)址的靈活性。特別是,傳輸協(xié)議綁定地址以確定通信會話,如果地址變化就會中斷會話,需要重新建立連接。這種語義重載又導(dǎo)致IP網(wǎng)絡(luò)中不允許存在回路,也不能同一時刻具有多個網(wǎng)絡(luò)地址。(3)組播傳輸
IP組播協(xié)議是事后添加到原有的點(diǎn)對點(diǎn)通信模型,以提供將信息發(fā)送到一組接收者的能力,然而因?yàn)槠渫卣剐苑矫娴娜秉c(diǎn),組播從未在局域網(wǎng)之外的環(huán)境中大規(guī)模使用過。(4)可拓展性和服務(wù)質(zhì)量的保證
(5)資源浪費(fèi)
互聯(lián)網(wǎng)上發(fā)生了大量的重復(fù)冗余傳輸(6)帶寬競爭和擁塞會導(dǎo)致骨干網(wǎng)壓力,網(wǎng)絡(luò)出入口壓力大
針對TCP/IP網(wǎng)絡(luò)的這些問題,NDN做出如下的改進(jìn)或者革命(其實(shí)NDN的提出是想要替代IP網(wǎng)絡(luò)的主體地位)
三.NDN網(wǎng)絡(luò)
1.數(shù)據(jù)和網(wǎng)絡(luò)安全性高——安全性
通過檢查IP數(shù)據(jù)包頭部或有效載荷來推測數(shù)據(jù)包的內(nèi)容,通過檢查目的地址可以得出誰(來自哪 里)在請求該數(shù)據(jù)。NDN明確的命名數(shù)據(jù),無疑使網(wǎng)絡(luò)更容易監(jiān)控什么樣的數(shù)據(jù)被請求,然而,NDN通過簽名加密了關(guān)于數(shù)據(jù)請求者的信息,除非點(diǎn)對點(diǎn)鏈路直 接連接到發(fā)出請求的主機(jī),否則路由器將只知道有人請求某些數(shù)據(jù),但不知道是誰發(fā)起請求。2.內(nèi)容中心的位置無關(guān)傳輸機(jī)制——移動性
采用名字來標(biāo)識數(shù)據(jù)包,NDN不再包含明確的主機(jī)或接口地址等位置信息,其通信是 由數(shù)據(jù)請求驅(qū)動的,主要是拉數(shù)據(jù)模式,一旦Interest到達(dá)一個有請求數(shù)據(jù)的節(jié)點(diǎn),那么就會返回一個數(shù)據(jù)包。無論請求包還是數(shù)據(jù)包,都沒有攜帶任何主 機(jī)或接口位置信息(如IP地址),請求包只依據(jù)自身攜帶的內(nèi)容進(jìn)行路由,而數(shù)據(jù)包則延Interest原路返回。3.原路返回的反饋式流量平衡機(jī)制——流量,負(fù)載均衡;組網(wǎng)傳播
NDN中只有Interest包被路由器轉(zhuǎn)發(fā),任何接收到該Interest包的路由節(jié)點(diǎn), 如果擁有可以滿足這個Interest包的數(shù)據(jù),就回復(fù)一個Data包,而Data包沿著各個節(jié)點(diǎn)PIT中所記錄的接口信息按“原路返回”:不進(jìn)行路由轉(zhuǎn) 發(fā),只簡單沿著Interest包被傳輸?shù)南喾绰窂椒祷亍?br /> IP路由采用單一的最佳路徑以防止循環(huán),不能形成網(wǎng)絡(luò)回路;而NDN中Interest包是不會形成環(huán)路的,,其關(guān)鍵設(shè)計是Interest包中的 Nonce字段,該字段是個隨機(jī)數(shù),根據(jù)它可以很容易地判斷出重復(fù)的Interest包,及時地丟棄,而Data包沿著Interest包被傳輸?shù)南喾绰?徑返回,不形成環(huán)路,從而解決了組播的問題。4.基于名字路由的可拓展性更優(yōu)
NDN解決了TCP/IP網(wǎng)絡(luò)中的IP地址耗盡問題,內(nèi)網(wǎng)穿透問題,移動性問題,可擴(kuò)展地址管理問題,打破傳統(tǒng)的C/S結(jié)構(gòu),解決了TCP/IP網(wǎng)絡(luò)下熱門服務(wù)器負(fù)載過重的問題。5.基于逐跳的報文包轉(zhuǎn)發(fā)——減少冗余傳輸
請求數(shù)據(jù)時,請求方發(fā)出Interest包(含標(biāo)識目標(biāo)數(shù)據(jù)的數(shù)據(jù)命名),請求包 可以在任意的連接無關(guān)的中間節(jié)點(diǎn)上被轉(zhuǎn)發(fā),一個Internet包經(jīng)過每一跳都有可能從不同數(shù)據(jù)源(包括緩存)得到匹配的的Data包,不一定要走完路徑 到達(dá)數(shù)據(jù)源的終點(diǎn)。一旦data包在回傳的路徑上丟包,只需在丟包的節(jié)點(diǎn)斷點(diǎn)續(xù)傳。這樣,就消除了對終端主機(jī)執(zhí)行擁塞控制和傳輸確認(rèn)的依賴。6.傳輸層的嵌入式緩存——減輕帶寬壓力
NDN路由器可以對內(nèi)容緩存,而且這個緩存直接建立在網(wǎng)絡(luò)傳輸層,節(jié)省了帶寬,提高了內(nèi)容共 享率,無論IP路由器轉(zhuǎn)發(fā)后不能重用該數(shù)據(jù),而NDN路由器能夠重用該數(shù)據(jù),因?yàn)樗鼈兊拿遣蛔兊?#xff0c;而且不包含代表位置相關(guān)的IP地址信息,數(shù)據(jù)可以在 傳輸路徑中間任意節(jié)點(diǎn)緩存,復(fù)制或者移動,盡可能長時間地保存接收到的數(shù)據(jù),將數(shù)據(jù)緩存自身以滿足未來潛在的請求。四.NDN網(wǎng)絡(luò)工作機(jī)制簡介
NDN中的通信是由接收端(即數(shù)據(jù)消費(fèi)者)驅(qū)動的。為了接收數(shù)據(jù),一個消費(fèi)者發(fā)出一條興趣(Interest)報文,該報文攜帶一個名字,由名字識別期望的數(shù)據(jù)(見1)。例如,一個消費(fèi)者可請求/parc/videos/WidgetA.mpg。一臺路由器記住請求到達(dá)的接口,之后通過在其轉(zhuǎn)發(fā)信息表(FIB)(是由一種基于名字的路由協(xié)議傳播的)中查找該名字而轉(zhuǎn)發(fā)興趣報文。一旦興趣到達(dá)擁有被請求數(shù)據(jù)的一個節(jié)點(diǎn),則發(fā)回一條數(shù)據(jù)(Data)報文,它攜帶數(shù)據(jù)的名字和內(nèi)容,還有生產(chǎn)者密鑰的一個簽名(圖1)。這條數(shù)據(jù)報文經(jīng)興趣報文所產(chǎn)生的反向路徑到達(dá)消費(fèi)者。注意興趣或數(shù)據(jù)報文都沒有攜帶任何主機(jī)或接口地址(例如IP地址);依據(jù)興趣報文中攜帶的名字,興趣報文向數(shù)據(jù)生產(chǎn)者路由,而數(shù)據(jù)報文依據(jù)在每個路由跳處由興趣所建立的狀態(tài)信息得以返回(圖2)。
?
NDN路由器在一段時間內(nèi)保持興趣和數(shù)據(jù)。當(dāng)從下游接收到相同數(shù)據(jù)的多條興趣報文時,僅有第一條興趣報文朝向數(shù)據(jù)源發(fā)送到上游。之后路由器將興趣存儲在未決興趣表(PIT)之中,其中每個表項(xiàng)包含興趣的名字以及由之接收到匹配興趣的接口集合。當(dāng)數(shù)據(jù)報文到達(dá)時,路由器查找匹配PIT表項(xiàng),并將數(shù)據(jù)轉(zhuǎn)發(fā)到PIT表項(xiàng)中列出的所有接口。之后路由器清除相應(yīng)的PIT表項(xiàng),并在內(nèi)容存儲(Content?Store)中緩存數(shù)據(jù),內(nèi)容存儲基本上是受限于緩存替換策略的路由器緩沖內(nèi)存。數(shù)據(jù)采取與請求數(shù)據(jù)的興趣報文相同的路徑,但方向相反。一個數(shù)據(jù)沿每跳滿足一個興趣,取得逐跳的流平衡。
轉(zhuǎn)載于:https://www.cnblogs.com/junglefish/p/5874183.html
總結(jié)
以上是生活随笔為你收集整理的NDN与TCP/IP的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谈谈React
- 下一篇: 深入了解 Oracle Flex ASM