P2P 之 UDP穿透NAT的原理與實(shí)現(xiàn)(附源代碼) 原創(chuàng):shootingstars 參考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt baidu 論壇上經(jīng)常有對(duì)P2P原理的討論,但是討論歸討論,很少有實(shí)質(zhì)的東西產(chǎn)生(源代碼)。呵呵,在這里我就用自己實(shí)現(xiàn)的一個(gè)源代碼來說明UDP穿越NAT的原理。 首先先介紹一些基本概念: NAT(Network Address Translators),網(wǎng)絡(luò)地址轉(zhuǎn)換:網(wǎng)絡(luò)地址轉(zhuǎn)換是在IP地址日益缺乏的情況下產(chǎn)生的,它的主要目的就是為了能夠地址重用。NAT分為兩大類,基本的NAT和NAPT(Network Address/Port Translator)。 最開始NAT是運(yùn)行在路由器上的一個(gè)功能模塊。 最先提出的是基本的NAT,它的產(chǎn)生基于如下事實(shí):一個(gè)私有網(wǎng)絡(luò)(域)中的節(jié)點(diǎn)中只有很少的節(jié)點(diǎn)需要與外網(wǎng)連接(呵呵,這是在上世紀(jì)90年代中期提出的)。那么這個(gè)子網(wǎng)中其實(shí)只有少數(shù)的節(jié)點(diǎn)需要全球唯一的IP地址,其他的節(jié)點(diǎn)的IP地址應(yīng)該是可以重用的。 因此,基本的NAT實(shí)現(xiàn)的功能很簡單,在子網(wǎng)內(nèi)使用一個(gè)保留的IP子網(wǎng)段,這些IP對(duì)外是不可見的。子網(wǎng)內(nèi)只有少數(shù)一些IP地址可以對(duì)應(yīng)到真正全球唯一的IP地址。如果這些節(jié)點(diǎn)需要訪問外部網(wǎng)絡(luò),那么基本NAT就負(fù)責(zé)將這個(gè)節(jié)點(diǎn)的子網(wǎng)內(nèi)IP轉(zhuǎn)化為
標(biāo)簽: draft-ford-midcom shootingstars sourceforge midcom-p
上傳時(shí)間: 2015-12-08
上傳用戶:kernaling
ECHNICAL COMMITTEE No. 65: INDUSTRIAL-PROCESS MEASUREMENT AND CONTROL WORKING GROUP 6 VOTING DRAFT - PUBLICLY AVAILABLE SPECIFICATION - FUNCTION BLOCKS FOR INDUSTRIAL-PROCESS MEASUREMENT AND CONTROL SYSTEMS
標(biāo)簽: INDUSTRIAL-PROCESS MEASUREMENT COMMITTEE ECHNICAL
上傳時(shí)間: 2014-10-28
上傳用戶:源弋弋
ECHNICAL COMMITTEE No. 65: INDUSTRIAL-PROCESS MEASUREMENT AND CONTROL WORKING GROUP 6 VOTING DRAFT - PUBLICLY AVAILABLE SPECIFICATION - FUNCTION BLOCKS FOR INDUSTRIAL-PROCESS MEASUREMENT AND CONTROL SYSTEMS
標(biāo)簽: INDUSTRIAL-PROCESS MEASUREMENT COMMITTEE ECHNICAL
上傳時(shí)間: 2015-02-11
上傳用戶:baiom
ECHNICAL COMMITTEE No. 65: INDUSTRIAL-PROCESS MEASUREMENT AND CONTROL WORKING GROUP 6 VOTING DRAFT - PUBLICLY AVAILABLE SPECIFICATION - FUNCTION BLOCKS FOR INDUSTRIAL-PROCESS MEASUREMENT AND CONTROL SYSTEMS
標(biāo)簽: INDUSTRIAL-PROCESS MEASUREMENT COMMITTEE ECHNICAL
上傳時(shí)間: 2013-12-27
上傳用戶:frank1234
H.263 文檔 DRAFT ITU-T Recommendation H.263 VIDEO CODING FOR LOW BITRATE COMMUNICATION
標(biāo)簽: Recommendation COMMUNICATION 263 BITRATE
上傳時(shí)間: 2013-12-14
上傳用戶:cursor
Bellman-Ford算法 是最短路徑算法的一種
標(biāo)簽: Bellman-Ford 算法 最短路徑
上傳時(shí)間: 2015-03-20
上傳用戶:ywqaxiwang
本程序是利用Ford和Fulkerson迭加算法,求最小費(fèi)用最大流
標(biāo)簽: Fulkerson Ford 程序 算法
上傳時(shí)間: 2013-12-27
上傳用戶:com1com2
Document type: Recommended Practice Document subtype: Document stage: Draft Recommended Practice Document language: English
標(biāo)簽: Document Recommended Practice subtype
上傳時(shí)間: 2013-12-24
上傳用戶:saharawalker
用C語言實(shí)現(xiàn)最短路徑算法中的Bellman-Ford算法,這個(gè)算法可以用來解決信號(hào)處理中的一些問題。bellman_ford.c為源程序;distance.txt文件存放各界點(diǎn)之間的距離,以99999表示無窮大;bellman_ford.txt文件是輸出文件,存放每輪循環(huán)得到的中間值,以及最后得到的到各個(gè)節(jié)點(diǎn)的最短距離,如果圖包含負(fù)回路,文件中返回FALSE。
標(biāo)簽: Bellman-Ford 算法 C語言 最短路徑
上傳時(shí)間: 2013-12-31
上傳用戶:陽光少年2016
Ford-Fulkerson關(guān)于有向連通圖的最小路徑算法。
標(biāo)簽: Ford-Fulkerson 路徑 算法
上傳時(shí)間: 2015-08-04
上傳用戶:開懷常笑
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1