伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一文讀懂p2p實現原理和NAT的類型

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

掃碼添加小助手

加入工程師交流群

p2p實現原理

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

由于Internet的快速發展 IPV4地址不夠用,不能每個主機分到一個公網IP 所以使用NAT地址轉換。

下面是我在網上找到的一副圖

一文讀懂p2p實現原理和NAT的類型

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

下面是NAT的幾種類型

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

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

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


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • P2P
    P2P
    +關注

    關注

    0

    文章

    152

    瀏覽量

    28498
  • NAT
    NAT
    +關注

    關注

    0

    文章

    168

    瀏覽量

    17209

原文標題:p2p實現原理及打洞技術介紹

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    解析NVTFS015P03P8Z:款高性能P溝道MOSFET

    解析NVTFS015P03P8Z:款高性能P溝道MOSFET 在電子設計領域,MOSFET作為關鍵的功率器件,其性能直接影響著整個系統的效率和穩定性。今天我們就來深入剖析安森美(onsemi
    的頭像 發表于 04-02 14:45 ?95次閱讀

    華潤微 CRTE280P06L2-G -60V Trench P-MOSFET 技術參數與應用解析

    CRTD050P03L2-G 是款采用 CRM 先進 Trench 工藝、-30V 高耐壓、4.2mΩ 超低導通電阻、-125A 大電流承載、TO-252 通用封裝的高性能 P-MOSFET,在導
    的頭像 發表于 04-01 09:26 ?74次閱讀
    華潤微 CRTE280<b class='flag-5'>P06L2</b>-G -60V Trench <b class='flag-5'>P</b>-MOSFET 技術參數與應用解析

    Onsemi FQD2P40 P-Channel MOSFET:性能與應用解析

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

    安森美FQD2P40 P溝道MOSFET:性能與應用解析

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

    全自動劃片機與半自動劃片機怎么選?讀懂選型關鍵

    全自動劃片機與半自動劃片機怎么選?讀懂選型關鍵在半導體封裝、LED制造、光伏電池加工等精密加工領域,劃片機作為實現晶圓、芯片等材料高精度切割的核心設備,其選型直接決定生產效率、產品
    的頭像 發表于 03-16 20:54 ?417次閱讀
    全自動劃片機與半自動劃片機怎么選?<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>讀懂</b>選型關鍵

    1P、1P+N與2P斷路器的區別與應用

    在家庭和工業用電系統中,斷路器是保障電路安全的關鍵設備。常見的斷路器類型包括1P、1P+N和2P,它們在結構、功能和應用場景上存在顯著差異。正確選擇斷路器
    的頭像 發表于 03-05 17:08 ?1057次閱讀

    AWR2944P/AWR2E44P等雷達傳感器芯片詳解

    AWR2944P/AWR2E44P等雷達傳感器芯片詳解 在汽車雷達應用領域,高精度、高性能的傳感器是實現智能駕駛功能的關鍵。TI推出的AWR2944P、AWR
    的頭像 發表于 01-26 09:30 ?2093次閱讀

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

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

    RAA2P3200評估套件快速上手:硬件與軟件設置全解析

    (RTKA2P3200S00000BE)為工程師們提供了個便捷的平臺,用于快速設置和評估設備的性能。本文將根據Renesas提供的快速入門指南,詳細介紹該評估套件的硬件和軟件設置步驟。 文件下載: Renesas
    的頭像 發表于 12-26 15:45 ?449次閱讀

    單納秒激光P1/P2/P3刻劃實現&amp;gt;99.3%GFF的倒置鈣鈦礦模組

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

    IXTY2P50PA MOSFET:高性能P溝道增強型器件的深度解析

    。今天,我們就來詳細探討款名為IXTY2P50PA的MOSFET,看看它有哪些獨特之處和應用場景。 文件下載: Littelfuse IXTY2P50PA PolarP? MOSFET.pdf 產品概述
    的頭像 發表于 12-16 09:45 ?520次閱讀

    ?onsemi NTMFS003P03P8Z P溝道MOSFET技術解析與應用指南

    onsemi NTMFS003P03P8Z P溝道MOSFET是種單通道、-30V MOSFET,尺寸為5mmx6mm,可節省空間并具有出色的熱傳導性能。這款P溝道MOSFET具有1
    的頭像 發表于 11-24 15:54 ?891次閱讀
    ?onsemi NTMFS003<b class='flag-5'>P03P</b>8Z <b class='flag-5'>P</b>溝道MOSFET技術解析與應用指南

    risc-v P擴展() P指令集簡介

    P擴展簡介: 數字信號處理(DSP)已成為現代電子系統的重要技術。廣泛的現代應用都采用DSP算法來解決其特定領域的問題,包括傳感器融合、伺服電機控制、音頻解碼/編碼、語音合成和編碼、MPEG4
    發表于 10-23 07:40

    如何使用ipv4_nat模塊實現SNAT轉發?

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

    P2P技術——數據采集系統高效存儲的關鍵

    P2P技術憑借其直連高效、低延遲的特點,已成為數據采集系統實現高效數據存儲的關鍵技術。作為專業的數據采集與存儲方案提供商,度緯科技的ASMC-PXIe-8016存儲卡,不僅完美融合了P2P技術優勢
    的頭像 發表于 07-24 17:24 ?788次閱讀
    <b class='flag-5'>P2P</b>技術——數據采集系統高效存儲的關鍵