在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文讀懂p2p實(shí)現(xiàn)原理和NAT的類型

C語言專家集中營 ? 來源:feiyan ? 2018-12-09 10:50 ? 次閱讀

p2p實(shí)現(xiàn)原理

什么是打洞,為什么要打洞

由于Internet的快速發(fā)展 IPV4地址不夠用,不能每個主機(jī)分到一個公網(wǎng)IP 所以使用NAT地址轉(zhuǎn)換。

下面是我在網(wǎng)上找到的一副圖

一文讀懂p2p實(shí)現(xiàn)原理和NAT的類型

一般來說都是由私網(wǎng)內(nèi)主機(jī)(例如上圖中“電腦A-01”)主動發(fā)起連接,數(shù)據(jù)包經(jīng)過NAT地址轉(zhuǎn)換后送給公網(wǎng)上的服務(wù)器(例如上圖中的“Server”),連接建立以后可雙向傳送數(shù)據(jù),NAT設(shè)備允許私網(wǎng)內(nèi)主機(jī)主動向公網(wǎng)內(nèi)主機(jī)發(fā)送數(shù)據(jù),但卻禁止反方向的主動傳遞,但在一些特殊的場合需要不同私網(wǎng)內(nèi)的主機(jī)進(jìn)行互聯(lián)(例如P2P軟件、網(wǎng)絡(luò)會議、視頻傳輸?shù)龋琓CP穿越NAT的問題必須解決。

下面是NAT的幾種類型

NAT設(shè)備的類型對于TCP穿越NAT,有著十分重要的影響,根據(jù)端口映射方式,NAT可分為如下4類,前3種NAT類型可統(tǒng)稱為cone類型。(1)全克隆( Full Clone) : NAT把所有來自相同內(nèi)部IP地址和端口的請求映射到相同的外部IP地址和端口。任何一個外部主機(jī)均可通過該映射發(fā)送IP包到該內(nèi)部主機(jī)。(2)限制性克隆(Restricted Clone) : NAT把所有來自相同內(nèi)部IP地址和端口的請求映射到相同的外部IP地址和端口。但是,只有當(dāng)內(nèi)部主機(jī)先給IP地址為X的外部主機(jī)發(fā)送IP包,該外部主機(jī)才能向該內(nèi)部主機(jī)發(fā)送IP包。(3)端口限制性克隆( Port Restricted Clone) :端口限制性克隆與限制性克隆類似,只是多了端口號的限制,即只有內(nèi)部主機(jī)先向IP地址為X,端口號為P的外部主機(jī)發(fā)送1個IP包,該外部主機(jī)才能夠把源端口號為P的IP包發(fā)送給該內(nèi)部主機(jī)。(4)對稱式NAT ( Symmetric NAT) :這種類型的NAT與上述3種類型的不同,在于當(dāng)同一內(nèi)部主機(jī)使用相同的端口與不同地址的外部主機(jī)進(jìn)行通信時, NAT對該內(nèi)部主機(jī)的映射會有所不同。對稱式NAT不保證所有會話中的私有地址和公開IP之間綁定的一致性。相反,它為每個新的會話分配一個新的端口號。

先假設(shè):有一個服務(wù)器S在公網(wǎng)上有一個IP,兩個私網(wǎng)分別由NAT-A和NAT-B連接到公網(wǎng),NAT-A后面有一臺客戶端A,NAT-B后面有一臺客戶端B,現(xiàn)在,我們需要借助S將A和B建立直接的TCP連接,即由B向A打一個洞,讓A可以沿這個洞直接連接到B主機(jī),就好像NAT-B不存在一樣。

實(shí)現(xiàn)過程如下:1、 S啟動兩個網(wǎng)絡(luò)偵聽,一個叫【主連接】偵聽,一個叫【協(xié)助打洞】的偵聽。2、 A和B分別與S的【主連接】保持聯(lián)系。3、 當(dāng)A需要和B建立直接的TCP連接時,首先連接S的【協(xié)助打洞】端口,并發(fā)送協(xié)助連接申請。同時在該端口號上啟動偵聽。注意由于要在相同的網(wǎng)絡(luò)終端上綁定到不同的套接字上,所以必須為這些套接字設(shè)置 SO_REUSEADDR 屬性(即允許重用),否則偵聽會失敗。4、 S的【協(xié)助打洞】連接收到A的申請后通過【主連接】通知B,并將A經(jīng)過NAT-A轉(zhuǎn)換后的公網(wǎng)IP地址和端口等信息告訴B。5、 B收到S的連接通知后首先與S的【協(xié)助打洞】端口連接,隨便發(fā)送一些數(shù)據(jù)后立即斷開,這樣做的目的是讓S能知道B經(jīng)過NAT-B轉(zhuǎn)換后的公網(wǎng)IP和端口號。6、 B嘗試與A的經(jīng)過NAT-A轉(zhuǎn)換后的公網(wǎng)IP地址和端口進(jìn)行connect,根據(jù)不同的路由器會有不同的結(jié)果,有些路由器在這個操作就能建立連接,大多數(shù)路由器對于不請自到的SYN請求包直接丟棄而導(dǎo)致connect失敗,但NAT-A會紀(jì)錄此次連接的源地址和端口號,為接下來真正的連接做好了準(zhǔn)備,這就是所謂的打洞,即B向A打了一個洞,下次A就能直接連接到B剛才使用的端口號了。7、 客戶端B打洞的同時在相同的端口上啟動偵聽。B在一切準(zhǔn)備就緒以后通過與S的【主連接】回復(fù)消息“我已經(jīng)準(zhǔn)備好”,S在收到以后將B經(jīng)過NAT-B轉(zhuǎn)換后的公網(wǎng)IP和端口號告訴給A。8、 A收到S回復(fù)的B的公網(wǎng)IP和端口號等信息以后,開始連接到B公網(wǎng)IP和端口號,由于在步驟6中B曾經(jīng)嘗試連接過A的公網(wǎng)IP地址和端口,NAT-A紀(jì)錄了此次連接的信息,所以當(dāng)A主動連接B時,NAT-B會認(rèn)為是合法的SYN數(shù)據(jù),并允許通過,從而直接的TCP連接建立起來了。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • P2P
    P2P
    +關(guān)注

    關(guān)注

    0

    文章

    152

    瀏覽量

    27357
  • NAT
    NAT
    +關(guān)注

    關(guān)注

    0

    文章

    149

    瀏覽量

    16605

原文標(biāo)題:p2p實(shí)現(xiàn)原理及打洞技術(shù)介紹

文章出處:【微信號:C_Expert,微信公眾號:C語言專家集中營】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    LC-DC01P2 LC-DC01P2

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)LC-DC01P2相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有LC-DC01P2的引腳圖、接線圖、封裝手冊、中文資料、英文資料,LC-DC01P2真值表,LC-DC01
    發(fā)表于 03-25 18:40
    LC-DC01<b class='flag-5'>P2</b> LC-DC01<b class='flag-5'>P2</b>

    LC-AC01P2 LC-AC01P2

    電子發(fā)燒友網(wǎng)為你提供AIPULNION(AIPULNION)LC-AC01P2相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有LC-AC01P2的引腳圖、接線圖、封裝手冊、中文資料、英文資料,LC-AC01P2真值表,LC-AC01
    發(fā)表于 03-24 18:50
    LC-AC01<b class='flag-5'>P2</b> LC-AC01<b class='flag-5'>P2</b>

    讀懂:LED 驅(qū)動電路二極管挑選要點(diǎn)

    讀懂:LED 驅(qū)動電路二極管挑選要點(diǎn)
    的頭像 發(fā)表于 02-06 14:47 ?502次閱讀

    請問TSC2014IYZGT和TSC2017IYZGR是否可以P2P替換?

    您好,請問TSC2014IYZGT和TSC2017IYZGR是否可以P2P替換?
    發(fā)表于 11-21 08:00

    P2link內(nèi)網(wǎng)穿透兩大亮點(diǎn)—不限速使用—多設(shè)備集中管理

    引言 P2link是款采用了P2P技術(shù)和穿透協(xié)議,面向高性能需求的內(nèi)網(wǎng)穿透工具,各節(jié)點(diǎn)(用戶或設(shè)備)可以直接進(jìn)行數(shù)據(jù)傳輸和通信,而不需要通過中心服務(wù)器,能夠實(shí)現(xiàn)局域網(wǎng)內(nèi)部設(shè)備與外網(wǎng)的
    的頭像 發(fā)表于 11-11 14:28 ?672次閱讀

    讀懂單燈控制器工作原理

    讀懂單燈控制器工作原理
    的頭像 發(fā)表于 11-11 13:13 ?1165次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>讀懂</b>單燈控制器工作原理

    款高性能內(nèi)網(wǎng)穿透工具——P2link

    P2link是款面向高性能需求的內(nèi)網(wǎng)穿透工具,采用了P2P技術(shù)和穿透協(xié)議,各節(jié)點(diǎn)(用戶或設(shè)備)可以直接進(jìn)行數(shù)據(jù)傳輸和通信,而不需要通過中心服務(wù)器,能夠實(shí)現(xiàn)局域網(wǎng)內(nèi)部設(shè)備與外網(wǎng)的快速、
    的頭像 發(fā)表于 11-08 10:59 ?1531次閱讀
    <b class='flag-5'>一</b>款高性能內(nèi)網(wǎng)穿透工具——<b class='flag-5'>P2</b>link

    讀懂MSA(測量系統(tǒng)分析)

    讀懂MSA(測量系統(tǒng)分析)
    的頭像 發(fā)表于 11-01 11:08 ?1500次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>讀懂</b>MSA(測量系統(tǒng)分析)

    打破網(wǎng)絡(luò)邊界:P2Link助力實(shí)現(xiàn)高效遠(yuǎn)程訪問與內(nèi)網(wǎng)穿透

    ,解決內(nèi)網(wǎng)穿透難題,讓用戶輕松實(shí)現(xiàn)遠(yuǎn)程訪問和管理。以下是些典型的應(yīng)用場景: 遠(yuǎn)程辦公與文件訪問: 在遠(yuǎn)程辦公場景中,員工常常需要從外部網(wǎng)絡(luò)訪問公司內(nèi)網(wǎng)中的文件服務(wù)器、數(shù)據(jù)庫或辦公系統(tǒng)。通過P2
    發(fā)表于 10-31 11:54

    臺電新品P50 AI平板電腦即將上市

    本次P50AI平板電腦誕生過程得益于臺電與全志科技再次深度聯(lián)袂合作,并在臺電新品P50AI上首發(fā)搭載全志A733處理器。賦能AI,提高消費(fèi)者使用體驗(yàn)!功能性前瞻,
    的頭像 發(fā)表于 10-24 10:23 ?1183次閱讀

    讀懂新能源汽車的功能安全

    電子發(fā)燒友網(wǎng)站提供《讀懂新能源汽車的功能安全.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 09:22 ?3次下載

    光伏互感器p1p2正確接線法

    光伏互感器是種用于測量和保護(hù)光伏系統(tǒng)中電流的設(shè)備。正確接線對于確保光伏系統(tǒng)安全、穩(wěn)定和高效運(yùn)行至關(guān)重要。 、光伏互感器P1P2接線原理 光伏互感器P1P2的作用 光伏互感器
    的頭像 發(fā)表于 08-22 09:12 ?4207次閱讀

    互感器p2朝上會影響計量嗎

    互感器P2朝上確實(shí)可能會對計量產(chǎn)生影響。通常情況下,互感器的P1P2朝向是固定的,即次側(cè)的電壓引腳P1朝上,二次側(cè)的電壓引腳P2朝下。這種
    的頭像 發(fā)表于 08-21 18:17 ?4046次閱讀

    互感器p1p2穿反了有什么影響

    互感器是種用于測量高電壓或大電流的儀器,它通過將高電壓或大電流轉(zhuǎn)換為低電壓或小電流來實(shí)現(xiàn)測量。在互感器的使用過程中,P1和P2是兩個重要的端子,它們分別代表互感器的輸入端和輸出端。如
    的頭像 發(fā)表于 08-21 18:13 ?8818次閱讀

    BC電池座系列2P-8P2.0間距圖紙

    電子發(fā)燒友網(wǎng)站提供《BC電池座系列2P-8P2.0間距圖紙.pdf》資料免費(fèi)下載
    發(fā)表于 08-01 17:10 ?0次下載
    主站蜘蛛池模板: 日本一区二区三区四区在线观看 | 18满xo影院视频免费体验区 | 日本一区二区三区视频在线 | 在线免费观看黄色小视频 | 久久就是精品 | 美女操出水 | 色综合综合网 | 丁香六月欧美 | 深爱五月综合网 | 最新国产精品视频免费看 | 日本午夜色 | 婷婷国产成人久久精品激情 | 很狠操 | 国产在线97色永久免费视频 | 久久青草精品一区二区三区 | xxxx大片| 欧美伦理影院 | 久久riav国产精品 | 黄色自拍偷拍 | 国产午夜精品理论片久久影视 | 粗又长好猛好爽 | 高h细节肉爽文bl1v1 | 久久99精品久久久久久久野外 | 天堂在线www | 伊人久久大香线蕉综合bd高清 | 中文字幕av一区二区三区 | 在线观看高清视频 | 好黄好猛好爽好痛的视频 | 一级欧美视频 | 卡一卡二卡三国色天香永不失联 | 性做久久久久久网站 | 日本在线一本 | 中文字幕日本一区波多野不卡 | 99久久精品免费精品国产 | 最新亚洲人成网站在线影院 | 99久久久精品 | 国产在线97色永久免费视频 | 天天干天天操天天爽 | 91黄色视屏| 男女交性视频播放视频视频 | 免费h视频网站 |