chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

C語言專家集中營(yíng) ? 來源:feiyan ? 2018-12-09 10:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

下面是NAT的幾種類型

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

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

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


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

    關(guān)注

    0

    文章

    152

    瀏覽量

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

    關(guān)注

    0

    文章

    169

    瀏覽量

    17217

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    深入剖析 FDFS2P753Z:集成 P 溝道 PowerTrench MOSFET 與肖特基二極管

    ,我們就來詳細(xì)剖析款名為 FDFS2P753Z 的產(chǎn)品,它是集成了 P 溝道 PowerTrench MOSFET 和肖特基二極管的器件。 文件下載: FDFS2P753Z-D.pd
    的頭像 發(fā)表于 04-21 11:10 ?158次閱讀

    深入解析 onsemi NTJS4151P P 溝道 MOSFET

    的 NTJS4151P 這款 P 溝道 MOSFET,探討它的特性、參數(shù)以及應(yīng)用場(chǎng)景。 文件下載: NTJS4151P-D.PDF 產(chǎn)品概述 NTJS4151P 是 onsemi 公司
    的頭像 發(fā)表于 04-19 17:05 ?996次閱讀

    Onsemi P溝道雙MOSFET NTMD3P03和NVMD3P03的特性與應(yīng)用

    03和NVMD3P03這兩款P溝道雙MOSFET,以其出色的性能和廣泛的應(yīng)用場(chǎng)景,受到了工程師們的關(guān)注。下面我們就來詳細(xì)了解下這兩款器件。 文件下載: NTMD3P03R2-D.PD
    的頭像 發(fā)表于 04-19 16:45 ?545次閱讀

    探索 onsemi NTMS10P02R2 P 溝道 MOSFET:特性、參數(shù)與應(yīng)用分析

    我們就來詳細(xì)探討 onsemi 推出的 NTMS10P02R2 P 溝道增強(qiáng)型 MOSFET,起分析它的特性、參數(shù)以及適用的應(yīng)用場(chǎng)景。 文件下載: NTMS10P02R2-D.PDF
    的頭像 發(fā)表于 04-19 16:25 ?583次閱讀

    深入解析 onsemi NTS4101P P 溝道 MOSFET

    溝道 MOSFET,了解它的特點(diǎn)、參數(shù)以及應(yīng)用場(chǎng)景。 文件下載: NTS4101P-D.PDF 產(chǎn)品概述 NTS4101P 是 onsemi 推出的P 溝道功率 MOSFET,
    的頭像 發(fā)表于 04-19 15:15 ?70次閱讀

    探索 onsemi NTLJS7D2P02P8Z P 溝道 MOSFET 的卓越性能

    深入探討 onsemi 公司推出的 NTLJS7D2P02P8Z P 溝道 MOSFET,了解其特點(diǎn)、應(yīng)用以及各項(xiàng)電氣特性。 文件下載: NTLJS7D2P02P8Z-D.PDF
    的頭像 發(fā)表于 04-14 09:25 ?412次閱讀

    安森美P溝道MOSFET:NVTFS012P03P8Z與NVTFWS012P03P8Z解析

    小尺寸的特點(diǎn),非常適合對(duì)空間要求較高的緊湊型設(shè)計(jì)。對(duì)于那些需要在有限空間內(nèi)實(shí)現(xiàn)高性能的電子設(shè)備來說,這種小尺寸封裝無疑是個(gè)不錯(cuò)的選擇。大家在設(shè)計(jì)小型化設(shè)備時(shí),是否會(huì)
    的頭像 發(fā)表于 04-07 13:55 ?140次閱讀

    Onsemi FQD2P40 P-Channel MOSFET:性能與應(yīng)用解析

    。今天,我們將深入探討 Onsemi 公司的 FQD2P40 P - 通道增強(qiáng)型功率 MOSFET,了解其特性、參數(shù)及應(yīng)用場(chǎng)景。 文件下載: FQD2P40-D.pdf 、產(chǎn)品概述
    的頭像 發(fā)表于 03-30 11:25 ?214次閱讀

    安森美FQD2P40 P溝道MOSFET:性能與應(yīng)用解析

    安森美FQD2P40 P溝道MOSFET:性能與應(yīng)用解析 在電子設(shè)計(jì)領(lǐng)域,MOSFET作為關(guān)鍵的功率器件,廣泛應(yīng)用于各類電路中。今天我們就來深入探討安森美(onsemi)的FQD2P40 P
    的頭像 發(fā)表于 03-29 15:25 ?586次閱讀

    1P、1P+N與2P斷路器的區(qū)別與應(yīng)用

    在家庭和工業(yè)用電系統(tǒng)中,斷路器是保障電路安全的關(guān)鍵設(shè)備。常見的斷路器類型包括1P、1P+N和2P,它們?cè)诮Y(jié)構(gòu)、功能和應(yīng)用場(chǎng)景上存在顯著差異。正確選擇斷路器
    的頭像 發(fā)表于 03-05 17:08 ?1482次閱讀

    AWR2944P/AWR2E44P等雷達(dá)傳感器芯片詳解

    AWR2944P/AWR2E44P等雷達(dá)傳感器芯片詳解 在汽車?yán)走_(dá)應(yīng)用領(lǐng)域,高精度、高性能的傳感器是實(shí)現(xiàn)智能駕駛功能的關(guān)鍵。TI推出的AWR2944P、AWR
    的頭像 發(fā)表于 01-26 09:30 ?2648次閱讀

    C語言指針p、*p、&p、*&p、&*p分別代表什么

    的數(shù)據(jù)類型。例如,int *p; 定義了個(gè)指向int類型變量的指針變量p。 *p:解引用操作符
    發(fā)表于 01-07 07:34

    單納秒激光P1/P2/P3刻劃實(shí)現(xiàn)>99.3%GFF的倒置鈣鈦礦模組

    是通過P1、P2P3激光刻劃實(shí)現(xiàn)子電池間的電學(xué)串聯(lián),以減少互連損耗。鈣鈦礦P1激光劃線測(cè)試儀是
    的頭像 發(fā)表于 12-22 09:03 ?558次閱讀
    單納秒激光<b class='flag-5'>P</b>1/<b class='flag-5'>P2</b>/<b class='flag-5'>P</b>3刻劃<b class='flag-5'>實(shí)現(xiàn)</b>&amp;gt;99.3%GFF的倒置鈣鈦礦模組

    如何使用ipv4_nat模塊實(shí)現(xiàn)SNAT轉(zhuǎn)發(fā)?

    ;, 0}; cmd_ifconfig(5,argument_list1); 問題:在自己的PC機(jī)器上設(shè)置了個(gè)路由 route ADD -p 172.16.100.59mask
    發(fā)表于 09-29 06:08

    P2P技術(shù)——數(shù)據(jù)采集系統(tǒng)高效存儲(chǔ)的關(guān)鍵

    P2P技術(shù)憑借其直連高效、低延遲的特點(diǎn),已成為數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)高效數(shù)據(jù)存儲(chǔ)的關(guān)鍵技術(shù)。作為專業(yè)的數(shù)據(jù)采集與存儲(chǔ)方案提供商,度緯科技的ASMC-PXIe-8016存儲(chǔ)卡,不僅完美融合了P2P技術(shù)優(yōu)勢(shì)
    的頭像 發(fā)表于 07-24 17:24 ?823次閱讀
    <b class='flag-5'>P2P</b>技術(shù)——數(shù)據(jù)采集系統(tǒng)高效存儲(chǔ)的關(guān)鍵