TWI260880B - Peer-to-Peer communication method capable of penetrating fire wall - Google Patents

Peer-to-Peer communication method capable of penetrating fire wall Download PDF

Info

Publication number
TWI260880B
TWI260880B TW94112836A TW94112836A TWI260880B TW I260880 B TWI260880 B TW I260880B TW 94112836 A TW94112836 A TW 94112836A TW 94112836 A TW94112836 A TW 94112836A TW I260880 B TWI260880 B TW I260880B
Authority
TW
Taiwan
Prior art keywords
host
packet
peer
firewall
udp
Prior art date
Application number
TW94112836A
Other languages
Chinese (zh)
Other versions
TW200638703A (en
Inventor
Shau-Hua Huang
Original Assignee
Univ Nat Taipei Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Univ Nat Taipei Technology filed Critical Univ Nat Taipei Technology
Priority to TW94112836A priority Critical patent/TWI260880B/en
Application granted granted Critical
Publication of TWI260880B publication Critical patent/TWI260880B/en
Publication of TW200638703A publication Critical patent/TW200638703A/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

The present invention provides a peer-to-peer (P2P) communication method capable of penetrating fire wall. This communication protocol is applicable on internet, and comprises: a login/alive session; a port predictive session; a time-synchronized session; and a media alive session; in which the login/alive session, the port predictive session, and the time-synchronized session are assisted by a location server of a real IP network to perform virtual peer to virtual peer direct communication. The media alive session performs direct data packet exchange between two virtual IP network points, completely without the need of the assistance through a proxy server. Therefore, a large amount of data can be directly exchanged between two virtual points over a long period of time.

Description

,1260880 五、發明說明(1) 一 【發明所屬之技術領域】 本發明係有關一種在網際網路(Internet)上直接傳 輸封包的通訊方法,特別是關於一種可穿越防火牆且在虛 擬網路間點對點(Peer t〇 Peer,p2p)直接互通之通訊 法。 【先前技術】 隨著網路之蓬 (Client-Server) to Peer, P2P)通 牆或虛擬I P環境下 通訊之重大瓶頸, 均無法有效解決防 在網際網路之 牆會擋下來自外界 料給位於防火牆内 内的使用者建立一 將不會收到其要求 藉由代理伺服器( 但在兩端媒體連線 傳送上,因其資料 伺服器代傳並不是 乃私有且不合法之 位址;目前解決虛 勃發展與固網之普及,使得傳統主從式 之網路連線架構漸漸轉向點對點(Peer 訊架構’但因為大量使用者均位於防火 ,因此防火牆及虛擬IP環境成為點對點 過去兩大網路電話通訊協定Η·32 3與SIP 火牆與虛擬I P間直接通訊之問題。 通訊協定上,網路位址轉換(NAT)防火 的封包’也就是說外界無法直接傳送資 的使用者’假設欲使用S I P協定向防火牆 通網路電話’則位於防火牆内的使用者 ’使得整個程序失敗;且Sip協定雖然可 Proxy Server)來傳送SIp指令或訊息, (Media Session)之建立與語音封包之 量與所需頻寬运相當大,所以透過代理 一個好的解決辦法。再加上虛擬IP位址 網址’真實I P位址無法主動連線虛擬J p 擬I P位址之間通訊的方式係利用一代理, 1260880 V. INSTRUCTION DESCRIPTION (1) A technical field of the invention belongs to the present invention relates to a communication method for directly transmitting a packet on the Internet, in particular to a traversable firewall and between virtual networks Point-to-point (Peer t〇Peer, p2p) direct communication method. [Prior Art] With the network bottleneck (Client-Server) to Peer, P2P), the major bottleneck of communication under the wall or virtual IP environment can not effectively solve the problem of preventing the Internet from being blocked by the Internet. A user located in the firewall will not receive the request from the proxy server (but at the two ends of the media connection, because the data server is not a private and illegal address; At present, the development of virtual development and fixed network has gradually turned the traditional master-slave network connection architecture to peer-to-peer (Peer architecture), but because a large number of users are located in the fire, the firewall and virtual IP environment become peer-to-peer in the past two The VoIP protocol Η·32 3 and the direct communication between the SIP firewall and the virtual IP. In the communication protocol, the network address translation (NAT) fire-proof packet 'that is, the outside world cannot directly transmit the user's assumptions' To use the SIP protocol to make a network call to the firewall 'the user inside the firewall' causes the entire program to fail; and the Sip protocol can be passed to the Proxy Server. The establishment of the SIp command or message, (Media Session) and the amount of voice packets and the required bandwidth are quite large, so a good solution through proxy. Plus the virtual IP address URL 'real IP address can not be actively connected Line virtual J p The way to communicate between IP addresses is to use a proxy

IEH ,1260880IEH, 1260880

五、發明說明(2) 伺服器(Proxy Server)來傳送封~ , 限制之缺點;另一方式則是結合#上二旦此方式卻有頻寬 並增設-些軟體來處理,但此種;服器及NAT路由器, 器並不提供外掛代理伺服器,這二插且有時NAT路由 位址之問題,但卻無法應用於虛擬铜^雖可解決虛擬IP 訊。 虛擬網路間之點對點直接通 於 93年7月1日公開的專利公 t ^ A T敍床l、2芬咨Μ古4立^ 種藉由且入程 而為了解決上述之問題 告號20 04 1 2 1 0 1所提出之「虛擬網路,:7:吉叩的寻矛 訊協定I中,已針#上诚之ϋ!播.通 序、測試NAT程序以及資料直接互通 aW系 防火牆與虛擬I P所帶來之問題。钬品汁心一、私序來解決 較嚴謹之防火膽,例如Pcclln(芯科= 35: ίο!/ ' .〇勤科技之1 P刀予器),將無法成功實施, =f T场上,類似zyxel之產品市場佔有率卻很高,而且因 f年來網路病毒肆虐,許多軟體防火牆被採用,甚至在 W^dow-XP上已有内建式軟體防火牆,這些因素使得前案專 引實施之成功率有限。 有鑑於此,本發明即在針對上述問題,提出一種可穿 越防火牆之點對點通訊方法。 【發明内容】 ,發明之主要目的係在提供_種可穿越防火牆之點對 ·、、I汛方法,其係使虛擬網路間點對點封包可以直接互V. Description of the invention (2) The server (Proxy Server) is used to transmit the shortcomings of the seals and restrictions; the other way is to combine the #2's in this way but there is bandwidth and add some software to handle, but this; The server and the NAT router do not provide a plug-in proxy server. These two plug-in and sometimes NAT routing address problems, but can not be applied to the virtual copper ^ can solve the virtual IP message. The point-to-point between the virtual networks is directly related to the patents published on July 1, 1993. The patents are published on the basis of the patents, and the two companies are used to solve the above problems. 1 2 1 0 1 proposed "virtual network,: 7: Ji Yun's search for the spears agreement I, has been pin # #诚诚ϋ! broadcast. General procedures, test NAT procedures and data directly interoperate with aW system firewall and The problem brought by virtual IP. The product is one, the private order to solve the more rigorous fire prevention, such as Pcclln (core = 35: ίο! / '. Successful implementation, =f T field, the market share of zyxel-like products is very high, and because of the network virus raging in the past year, many software firewalls have been adopted, and even built-in software firewalls on W^dow-XP These factors make the success rate of the previous case specific implementation limited. In view of this, the present invention is directed to the above problem, and proposes a point-to-point communication method that can traverse a firewall. [Summary] The main purpose of the invention is to provide The point that can pass through the firewall, the I, the method, the virtual network Direct interaction between point to point packet

1260880 五、發明說明(3) 通,進而達到 通訊的傳送聲 本發明之 點通訊方法, 網路電信局等 本發明所 包含四道程序 序、時間同步 序、通訊埠預 網路之定位伺 才能在媒體連 位於防火牆或 完全不需透過 直接進行通訊 底下藉由 容易瞭解本發 效0 具有即時、直接且可穿越 音二影像封包之功效者趣防火牆从及互動式 另 目的係在提供一種可穿M p方、μ u+ 其係可廣泛應用於網路n 0點對 領域。 〜彳冢電話以及 揭示之通訊協定乃實施於網際網 ’分別為··登入六表綠β^ 其係 ^ ^ 丑八/連線轾序、通訊埠預測炉 私序以及媒體連線程序,其中,登入查^ 測程序、時間同步程序需透過位於真實網j程 服器協助,並偵測NAT路由器參數程序之際 線程序進行資料互通程序,此程序係由兩t ’ NAT内之主機端能夠直接進行資料封包互雨 代理(P r ο X y)伺服器之協助,即可赴丄、 。 g彌對點來1260880 V. INSTRUCTIONS (3) Passing, and then achieving the communication sound of communication. The point communication method of the present invention, the network telecommunications bureau and the like, the four programs, the time synchronization sequence, the communication pre-network positioning service By having the media connected to the firewall or not having to communicate directly through the communication, it is easy to understand the effect. The user has an instant, direct and traversable audio and video package. M p square, μ u+ can be widely used in the field of network n 0 point pair. ~ 彳冢 phone and reveal the communication protocol is implemented on the Internet 'different · · · login six tables green β ^ its system ^ ^ ugly eight / connection order, communication 埠 prediction furnace private order and media connection procedures, which The login and test program and the time synchronization program need to be assisted by the real-time network server and detect the NAT router parameter program. The program is executed by the host side of the two t'NATs. With the assistance of the data packet mutual rain agent (P r ο X y) server, you can go to 丄, . g is coming to the point

具體實施例配合所附的圖式詳加說明,I 明之目的、技術内容、特點及其所達成@更 功DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT With the accompanying drawings, the purpose, technical content, features and achievements of the invention are achieved.

I 【實施方式】 第一圖為本發明於虛擬網路點對點進行通訊之示音 圖,如圖所示,第一虛擬網路1 0及第二虛擬網路1 2係^ 屬於不同之虛擬網路,且第一網路位址轉換(NAT)路77 14為第一虚擬網路1〇與真實之公共網路(Publ ic 裔 network) 16間轉換通訊之橋標’第二ΝΑ T路由器1 $則為第I [Embodiment] The first figure is a sound diagram of the present invention for communicating on a virtual network point-to-point. As shown in the figure, the first virtual network 10 and the second virtual network 1 2 belong to different virtual networks. The first network address translation (NAT) road 77 14 is the first virtual network 1 and the real public network (Publ ic network) 16 conversion communication bridge 'second ΝΑ T router 1 $ is the first

,1260880 五、發明說明(4) 一虛擬網路丨2與公共網路丨6間的轉換通訊橋樑,且第一虛 擬網路1 0與第二虛擬網路1 2中之主機端A、B兩點之封包可 以經由公共網路1 6直接互相傳送,此種通訊方法係可廣泛 應用於網路電話、影像電話、點對點通訊系統以及網路電 信局等領域。 請在參閱第一圖所示,第一虛擬I P,如圖所示之A點 /以下稱之為A)係代表位於第一虛擬網路1 〇内之通訊點, 第一虛擬I P,如圖所示之B點(以下稱之為b)代表位於第 二巧擬網路1 2内之通訊點,第一 NAT路由器丨4與第二NAT路 由器1 8則分別為第一虛擬網路1 0與第二虛擬網路1 2對外界 公共網路16通訊之路由器,一定位伺服器(Location Server) 2 0係位於公共網路丨6内,且為一協助A、B二點建 立通訊之飼服器。第一虛擬網路丨〇内之A欲主動與第二虛擬 声罔路1 2内之B直接互通需歷經複數道步驟,底下將分為:登 入/連線程序、通訊埠預測程序、時間同步程序以及媒體連 線程序等四大部份,並配合第一圖所示之流程來詳細說明 本發明之各個步驟。 一、登入 /連線程序(L〇gin/Alive Session): 由於A、B係受到防火牆或NAT的保護,所以須先透過定 -位伺服器20建立一個傳輸控制協定(Transmissi〇n Control Protocol,TCP)連線,詳細請參閱第一圖之步 1至步驟2。 w 步驟1 ·主機端A係使用TCP向定位伺服器2 〇建立並保持連, 1260880 V. Description of the invention (4) A communication bridge between the virtual network 丨2 and the public network ,6, and the host interfaces A and B of the first virtual network 10 and the second virtual network 12 Two-point packets can be directly transmitted to each other via the public network 16. This communication method can be widely used in the fields of Internet telephony, video telephony, point-to-point communication systems, and network telecom offices. Please refer to the first figure, the first virtual IP, as shown in point A / hereinafter referred to as A) represents the communication point located in the first virtual network 1 ,, the first virtual IP, as shown in the figure The point B shown (hereinafter referred to as b) represents a communication point located in the second virtual network 12, and the first NAT router 丨4 and the second NAT router 18 are respectively the first virtual network 1 0 A router that communicates with the external public network 16 with the second virtual network 12, a location server (Location Server) 20 is located in the public network 丨6, and is a feed for assisting the establishment of communication between the two points A and B. Server. The direct interaction between the A in the first virtual network and the B in the second virtual voice channel is subject to multiple steps, which are divided into: login/connection procedure, communication/prediction program, time synchronization. The program and the media connection program are four parts, and the steps shown in the first figure are used to explain the steps of the present invention in detail. First, the login/connection procedure (L〇gin/Alive Session): Since the A and B systems are protected by a firewall or NAT, a transmission control protocol (Transmissi〇n Control Protocol) must first be established through the fixed-bit server 20. TCP) connection, please refer to step 1 to step 2 of the first figure for details. w Step 1 · Host A uses TCP to establish and maintain connection to the positioning server 2

1260880 五 線 步 線 發明說明(5) 驟 必 值 利 閉 機端B係使用Tcp向定位伺服器2 0建立並保持連 由於NAT路由哭、! / 1 n ; _ 須每隔一段時σ 、1 8的連線時間限制,所以TCP連線 係稱為連線暫二Ϊ進行更新以保持連線,此連線的暫停 用一更新演曾、、1 ί 度(AliVe Timeout Length,ATL)。 時間,並確二測試NAT路由器(防火牆)之閒置/關 ATL值,且、P維持連線值。此更新演算法會自動估計 個測試週期i f八初#始值係設定為5分鐘,此設定值會在每一 態。在此i定^7〜遞增或遞減,直到其達到一個穩定的狀 ATL時間後,、^以得到最理想的ATL值’並可在每一 度和頻寬是二女舌?連線更新。在此登入/連線程序中,可靠 I ϋ is A h 一大重要課題,因此,此TCP連線之功效較用戶 - 疋(User Datagram Protocol,UDP)連線更好。 通几埠預測程序(port pre(jictive Session): 、s在此程序中,定位伺服器由一用戶端接收到一要求, 並f 一些服務給用戶端,首先,定位伺服器會回覆含有來 ,知I P位址及通訊埠號碼之封包,並允許位於虛擬網路的 母 用戶^可透過定位伺服器傳遞資訊,且只有通訊埠號 碼=I P位址會在用戶端間傳遞,使得位於虛擬網路内之用 戶端I以透過登入/連線程序所建立的TCp連線來傳遞資 机。#細請參閱第一圖之步驟3至步驟丨2所示之通訊埠預測 程序。1260880 Five-line step line Description of invention (5) Steps must be closed. Terminal B uses Tcp to establish and maintain connection to the positioning server 20. / 1 n ; _ must be limited to the connection time of σ and 18 at intervals. Therefore, the TCP connection is called the connection and the second is updated to keep the connection. The suspension of this connection is updated with an update. , 1 ί (AliVe Timeout Length, ATL). Time, and indeed test the idle/off ATL value of the NAT router (firewall), and P maintains the connection value. This update algorithm automatically estimates the test period i f eight initial # initial value is set to 5 minutes, this setting will be in each state. Here, the value is incremented or decremented until it reaches a stable ATL time, to obtain the most ideal ATL value' and can be updated every time and bandwidth. In this login/wiring procedure, reliable I ϋ is a major issue, so the TCP connection is better than the User - User Datagram Protocol (UDP) connection. Port pre(jictive Session): s In this program, the location server receives a request from a client, and f some services to the client. First, the location server will reply to it. Know the IP address and communication port number packet, and allow the parent user located in the virtual network to transmit information through the location server, and only the communication port number = IP address will be transmitted between the users, so that the virtual network is located The client I in the client transmits the TCp connection through the TCp connection established by the login/connection procedure. #Please refer to the communication 埠 prediction program shown in steps 3 to 2 of the first figure.

12608801260880

五、發明說明(6) 步驟3 :主機端A使用UDP向定位伺服器20送出測試封包。 定位飼服器20從測試封包中取得來源端ip位址與 訊埠參數(IPA,X)並將其回覆給主機端a。 、 =驟5 ·主機端a使用UDP再度向定位伺服器2 0送出另一組測 試封包。 、、 步驟6 :定位伺服器2〇再度從測試封包中取得來源端ιρ位址 與通訊埠參數(IPA,x + dx)回覆給主機端A。 步驟7 :主機端八透過步驟1所建立之Tcp連線將位址與通訊 埠參數(IPA,x,dx)傳送給定位伺服器2〇。 步驟8:定位伺服器2〇將這些參數(ΙρΑ,χ,dx)透過步驟 2建立之TCP連線傳送給主機端b。 步驟9 ··主機端B使用UDP向定位伺服器2 0送出一組測試封 包。 歩驟1 0 :定位伺服器2 〇從測試封包中取得來源端I p位址與 通訊埠參數(IPA,y)並將其回覆給主機端b。 步驟1 1 ··主機端B使用UDP再度向定位伺服器2 0送出另一組 測試封包。 步驟1 2 :定位伺服器2 0再度從測試封包中取得來源端I p位 址與通訊埠參數(IPA,y + dy)回覆給主機端B。 三、時間同步程序(Time-Synchronized Session): 此時間同步程序係用來克服在NAT内之控制資訊協定 (Internet Control Massage Protocol, ICMP)封包活動 的行為。位於二不同NAT路由器内之二虛擬用戶端必須在第V. INSTRUCTIONS (6) Step 3: The host A sends a test packet to the positioning server 20 using UDP. The positioning feeder 20 obtains the source ip address and the signal parameter (IPA, X) from the test packet and returns it to the host terminal a. ==5. The host side a sends another set of test packets to the positioning server 20 again using UDP. Step 6: Position the server 2 to retrieve the source ι address and the communication 埠 parameter (IPA, x + dx) from the test packet to the host A. Step 7: The host side 8 transmits the address and communication parameters (IPA, x, dx) to the location server 2 through the Tcp connection established in step 1. Step 8: The positioning server 2 transmits these parameters (ΙρΑ, χ, dx) to the host terminal b through the TCP connection established in step 2. Step 9 · Host B sends a set of test packets to the location server 20 using UDP. Step 1 0: The positioning server 2 obtains the source I p address and the communication parameter (IPA, y) from the test packet and returns it to the host b. Step 1 1 · Host B sends another set of test packets to the location server 20 using UDP. Step 1 2: The positioning server 2 returns the source I p address and the communication parameter (IPA, y + dy) from the test packet to the host B again. Time-Synchronized Session: This time synchronization program is used to overcome the behavior of the Internet Control Massage Protocol (ICMP) packet activity within the NAT. Two virtual clients located in two different NAT routers must be in the first

第10頁 1260880 五、發明說明(7) 日守間同步傳送向外去的程序(outbound session),因 此’利用此時間同步程序使該二虛擬用戶端同步化。詳細 ,參閱第一圖之步驟丨3至步驟丨8所示之時間同步程序,在 第一圖中,步驟1 3至步驟1 6間的間隔時間係為封包在二虚 擬用戶端間來回旅行一趟的時間(round trip time),其 係可在虛擬用戶之主機端B處輕易估算出來的值T;而在步 =)7至步驟丨8間之時間間隔為未知數,但其可預測為來回 旅行一趟時間的一半值,因此,虛擬用戶之主機端Β係在步 驟1 7後會延遲〇 · 5Τ,以便與主機端a同步,並在後續之步驟 2〇中傳送向外去的程序。 步驟1 3 :主機端B透過步驟2所建立之TCP連線將位址與通訊 埠參數(IPB,y,dy)傳送給定位伺服器20。 步驟14 :定位伺服器20將這些參數(IPB,y,dy)透過夕 鄲1所建立之TCP連線傳送給主機端a。 步驟1 5 :主機端A透過步驟2所建立之TCP連線將確認封包 -(acknowledge packet)傳送給定位伺服器20。 步驟1 6 :定位伺服器2 0透過步驟1所建立之τ C P連線將該確 認封包傳送給主機端B。 步驟1 7 :主機端B透過步驟2所建立之τ C P連線將再確認封包 (re-acknowledge packet)傳送給定位伺服器 2〇。 步驟1 8 :定位伺服器2 0 -則透過步驟1所建立之Tcp連線將再 確認封包傳送給主機端A。 本發明之點對點通訊方法之每一封包的詳細描述請同 時參閱第二圖所示’ UDP封包之袼式係利用(SA, sp)Page 10 1260880 V. INSTRUCTIONS (7) The day-to-day spoofing synchronously transmits the outbound session, so the two virtual clients are synchronized using this time synchronization program. For details, refer to the time synchronization procedure shown in step 至3 to step 丨8 of the first figure. In the first figure, the interval between step 13 and step 16 is a packet traveling between the two virtual users. The round trip time, which is a value T that can be easily estimated at the host B of the virtual user; and the time interval between step =) 7 to step 为 8 is unknown, but it can be predicted to be back and forth. Traveling half the time of the trip, therefore, the host side of the virtual user is delayed by 〇·5Τ after step 17 to synchronize with the host a, and the outgoing program is transmitted in the subsequent step 2〇. Step 1 3: The host B transmits the address and communication parameters (IPB, y, dy) to the location server 20 through the TCP connection established in step 2. Step 14: The positioning server 20 transmits these parameters (IPB, y, dy) to the host terminal a through the TCP connection established by the 郸1. Step 1 5: The host A transmits the acknowledge packet - (acknowledge packet) to the location server 20 through the TCP connection established in step 2. Step 1 6: The positioning server 20 transmits the acknowledgement packet to the host B through the τ C P connection established in step 1. Step 1 7: The host B transmits the re-acknowledge packet to the positioning server through the τ C P connection established in step 2. Step 1 8: Locating the server 2 0 - transmitting the reconfirmed packet to the host A through the Tcp connection established in step 1. For a detailed description of each packet of the point-to-point communication method of the present invention, please refer to the second figure shown in the second figure. UDP packet utilization (SA, sp)

第11頁 1260880 五、發明說明(8) ” Data” (DA, DP)的方式來描述每一個封包,其中,SA、 SP、” Data”、DA、DP分別代表UDI^封包的來源端ip位址、 源埠號碼、傳輸資料、目的埠號碼及目的端I p位址。在通 訊埠預測程序中,係利用之方程式來計算通訊埠,其中、 ,在第11+ 1次的預測通訊埠號碼,為在第n次的確實&訊 號碼。在上述步驟3中,新的UDP封包係傳送給定位伺服器 2 0,此目的端I p位址與通訊埠號碼為(〗p 3,6 〇 〇 〇 ),來°、 I P位址與通訊埠號碼係為(I P A,s p a i ),傳輸資料則7、 以” TEST”代表一個服務要求。此定位伺服器2〇係在步驟 回覆一具有來源端I P位址與通訊埠號馬(I p 1,X)給 端A,且不斷重複步驟3及步驟4,直至取得NAT路由器i 4、、 1 8之來源埠號碼的分配規則為止。從步驟3到步驟6, 汁异出位於第一 NAT路由器1 4當前的來源埠χ與進階來源 再者’ (y,dy)值係可在步驟9至步驟12計算得到, 值係用來在第二NAT路由器1 8的當前來源埠號碼,dy值則 第二NAT路由器1 8之進階的來源埠尺寸。 四、媒體連線程序: 在媒體連線程序中’第一圖及第二圖所示之步驟丨9至 步驟21係用來穿越NAT/防火牆,以藉此達到在二虛擬用戶 端之間的點對點直接通訊。UDP封包之格式係利用(SA,sp) Data (DA, DP)的方式來描述每一個封包,'且sa、 SP、"Data”、DA、DP分別代表UDP封包的來源端Ip位址、來 源埠號碼、傳輸資料、目的埠號碼及目的端I p位址。請同Page 11 1260880 V. Invention Description (8) "Data" (DA, DP) describes each packet, where SA, SP, "Data", DA, DP represent the source ip bit of the UDI^ packet, respectively. Address, source number, transmission data, destination number, and destination IP address. In the communication 埠 prediction program, the equation is used to calculate the communication 埠, where, in the 11th + 1th prediction communication number, is the nth true & In the above step 3, the new UDP packet is transmitted to the positioning server 20, and the destination IP address and the communication port number are (〗 〖p 3,6 〇〇〇), and the IP address and communication are transmitted. The number is ( (IPA, spai), and the data is transmitted. 7. “TEST” stands for a service request. The positioning server 2 replies with a source IP address and a communication port number (I p 1,X) to the terminal A, and repeats steps 3 and 4 until the NAT router i 4 is obtained. The allocation rule of the source number of 1 8 is as follows. From step 3 to step 6, the juice is located in the first NAT router 1 4 current source 进 and advanced source again ' (y, dy) value can be calculated in steps 9 to 12, the value is used At the current source 埠 number of the second NAT router 18, the dy value is the advanced source size of the second NAT router 18. 4. Media connection procedure: In the media connection procedure, steps 丨9 to 21 shown in the first diagram and the second diagram are used to traverse the NAT/firewall to achieve the relationship between the two virtual clients. Point-to-point direct communication. The format of the UDP packet is to describe each packet by means of (SA, sp) Data (DA, DP), and 'sa, SP, " Data', DA, DP respectively represent the source Ip address of the UDP packet, Source number, transmission data, destination number and destination IP address.

第12頁 1260880 五、發明說明(9) 時參閱第一、二圖所示,此媒體連線程序之詳細步驟如下 所述: 步驟19-a:主機端A係建立一個新埠口,並傳送一個對應 U D P封包給第二路由器1 8,此U D P封包格式為u D P [ I P A, 30&3,〇8七&,1?2,丫 + 2(17],且30&3值為主機端八自動分配 給封包的來源埠號碼。 步驟1 9 - b :此封包之來源端I P位址I P A與來源埠號碼s p a 3係 被第一路由器1 4修改,使其封包格式變為u D P [ I P1, X + 2 d X, Data, IP2,y + 2dy],再傳送至第二路由器18,此封包之來 源埠為未知,但可預期具有x + 2dx值。 步驟19-c:由於步驟19及步驟20須同步進行,此種具有格 式 UDP[IP1,x + 2dx,Data, IP2,y + 2dy]之 UDP封包係可穿 越NAT/防火牆之第二路由器1 8 ;此外,此封包係可修正為 格式 UDP[IP1,x + 2dx,Data, IPB,spb3],並將其再傳送 至主機端B,故可使主機端縯B之間成功建立直接通訊。 步驟20-a:在步驟18後經過〇· 5T的延遲時間之後,主機端b 係建立一個新埠口 ,並傳送一個對應UDP封包給第一路由器 14’ 此 UDP封包格式為 UDp[IpB,spb3,Data, IP1,x + 2dx ]’且spa3值為主機端b自動分配給封包的來源埠號碼。 步,20-b:此封包之來源端ip位址IpB與來源埠號碼叩…係 被第二路由器18修改,使其封包格式變為UDP[ IP2,y + 2dy, Data: IP1,x + 2dx],再傳送至第一路由器14,此封包之來 源埠號碼為未知,但可預期具有y + 2dy值。 步驟20-c:由於步驟19及步驟2〇須同步發生,第二路由器Page 12 1260880 V. Invention Description (9) Refer to the first and second diagrams. The detailed steps of this media connection procedure are as follows: Step 19-a: Host A establishes a new port and transmits A corresponding UDP packet is sent to the second router 18. The UDP packet format is u DP [IPA, 30&3, 〇87 &,1?2, 丫+ 2(17], and the value of 30&3 is the host side. The source number is automatically assigned to the packet. Step 1 9 - b: The source IP address IPA of the packet and the source port number spa 3 are modified by the first router 1 4 to change the packet format to u DP [ I P1, X + 2 d X, Data, IP2, y + 2dy], and then transmitted to the second router 18, the source of this packet is unknown, but can be expected to have a value of x + 2dx. Step 19-c: due to step 19 And step 20 must be synchronized, such a UDP packet with the format UDP [IP1, x + 2dx, Data, IP2, y + 2dy] can traverse the second router 1 of the NAT/firewall; in addition, the packet can be corrected Format UDP[IP1, x + 2dx, Data, IPB, spb3] and transfer it to host B, so that the host can play between B The direct communication is established. Step 20-a: After the delay time of 〇·5T after step 18, the host b establishes a new port and transmits a corresponding UDP packet to the first router 14'. The UDP packet format is UDp[IpB, spb3, Data, IP1, x + 2dx ]' and the spa3 value is the source number that the host side b automatically assigns to the packet. Step, 20-b: The source IP address of the packet IpB and the source number叩... is modified by the second router 18 to change its packet format to UDP[IP2, y + 2dy, Data: IP1, x + 2dx], and then to the first router 14, the source number of the packet is unknown. However, it is expected to have a y + 2dy value. Step 20-c: Since steps 19 and 2 do not need to occur synchronously, the second router

第13頁 1260880 五、發明說明Go) 18會打開,使步驟19所建立之格式UDP[ IP1,x + 2dx,Data, IP2,y + 2dy]封包進來;步驟20之目的埠號碼值則預期為y + 2打,使得具有[jDpfjpL y + 2dy,Data,IP1,x + 2dxj格式 I之UDP封包亦可穿越NAT/防火牆之第一路由器14。 步驟2卜a ··假如主機端b成功的接收到在步驟1 9中建立的 UDP封包,其格式為 UDP[IP1, x + 2dx, Data, IPB, spb3], 則具有格式 UDP[IPB, spb3,Data, IP1,x + 2dx]之封包將 I被回傳至第一路由器1 4。Page 13 1260880 V. Invention Description Go) 18 will open, so that the format UDP[IP1, x + 2dx, Data, IP2, y + 2dy] established in step 19 is encapsulated; the destination 埠 number value of step 20 is expected to be y + 2, so that the UDP packet with [jDpfjpL y + 2dy, Data, IP1, x + 2dxj format I can also traverse the first router 14 of the NAT/firewall. Step 2: If the host side b successfully receives the UDP packet created in step 19. The format is UDP[IP1, x + 2dx, Data, IPB, spb3], and the format UDP[IPB, spb3 The packet of Data, IP1, x + 2dx] will be passed back to the first router 14.

步驟2卜b:回應資料會被第二路由器ι8修正為具有UDPStep 2 b: The response data will be corrected by the second router ι8 to have UDP

[IP2,y + 2dy,Data, IP1, x + 2dx]格式之 UDP封包,並回傳 |至第一路由器1 4。 步驟2卜c :此UDP封包將會穿越第一路由器i 4,此外,此封 包格式會被修正為 UDP[IP2,y + 2dy,Data,IPA,spa3], I輿回傳給主機端B,以達到主機端績B間的直接通訊。 因此,在媒體連線程序中,使用者可 •m立址與連接4資訊直接“聲音㈣ Ϊ Ϊ ί 3 3將會直接穿越MT防火牆,且網際網路流量 1亦可被有效分散。 據上所述,本發明提中> ^ -Γ ^ ^ rr , I通訊方法,其不但牆之點對點[IP2, y + 2dy, Data, IP1, x + 2dx] format UDP packet, and backhaul | to the first router 1 4. Step 2: c: This UDP packet will traverse the first router i 4, in addition, the packet format will be corrected to UDP [IP2, y + 2dy, Data, IPA, spa3], I 舆 back to host B, In order to achieve direct communication between the host end B. Therefore, in the media connection program, the user can directly address the information (4) Ϊ Ϊ ί 3 3 will directly traverse the MT firewall, and the Internet traffic 1 can be effectively dispersed. According to the present invention, the method of communication is not only ^ ^ Γ ^ ^ rr , I communication method, which is not only the point-to-point of the wall

第14頁 互動式通訊的傳送聲音/景彡像封"穿越防火牆以及 k _路雷%ί二像封包之功效外,亦可廣泛應用 於網路電忐、衫像電話以及網路電信局 丨以解決現有網路電話標準盔、土、总^ #上 貝Α Τ 以解/秀 I ’、旱…、去適用於虛擬網路環境之問 1260880 五、發明說明(π) 以上所述之實施例僅係為說明本發明之技術思想及特 點,其目的在使熟習此項技藝之人士能夠瞭解本發明之内 容並據以實施,當不能以之限定本發明之專利範圍,即大 凡依本發明所揭示之精神所作之均等變化或修飾,仍應涵 蓋在本發明之專利範圍内。On page 14 of the interactive communication, the sound/view image is “passed through the firewall and the function of the k _ _ % ί ί ί ί ί , 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可 亦可丨To solve the existing Internet telephony standard helmet, soil, total ^ #上贝Α Τ to solve / show I ', drought..., to apply to the virtual network environment 1260880 V. Invention description (π) The embodiment is only for explaining the technical idea and the features of the present invention, and the purpose of the present invention is to enable those skilled in the art to understand the contents of the present invention and to implement the invention, and the scope of the patent of the present invention cannot be limited thereto. Equivalent variations or modifications made by the spirit of the invention should still be included within the scope of the invention.

第15頁 1260880 圖式簡單說明 【圖式簡單說明】 第一圖為本發明於虛擬網路點對點間直接互通之示意圖。 第二圖為本發明於虛擬網路點對點間直接互通之詳細封包 傳送示意圖。 【主要元件符號說明】 10 第一虛擬網路 12 第二虛擬網路 14 第一 NAT路由器 16 真實網際網路 18 第二NAT路由器 20 定位伺服器Page 15 1260880 Simple description of the diagram [Simple description of the diagram] The first diagram is a schematic diagram of the direct interconnection between the virtual network and the point-to-point in the virtual network. The second figure is a schematic diagram of detailed packet transmission of the present invention for direct inter-point communication between virtual networks. [Main component symbol description] 10 First virtual network 12 Second virtual network 14 First NAT router 16 Real Internet 18 Second NAT router 20 Location server

第16頁Page 16

Claims (1)

1260880 六、申請專利範圍 1、一種可穿越防火牆之點對點通訊方法,其係使位於防火 牆或網路位址轉換器(NAT)内之至少二主機端,第一主機 端與第二主機端可相互進行通訊,該點對點通訊方法包括 下列程序: (A)登入/連線程序,該二主機端係分別與一定位伺服器 保持一連線狀態; (B )通訊埠預測程序,包含: (B 1 )該第一主機端係透過該定位伺服器,取得其所在 地之第一路由器的來源端通訊埠資訊,並透過該TCP連線將 該來源端通訊埠資訊經該位伺服器傳送給該第二主機端; 以及 (B 2 )該第二主機端係透過該定位伺服器,取得其所在 地之第二路由器的來源端通訊埠資訊; • (C)時間同步程序,包含: (C 1 )透過該TCP連線將該第二主機端之來源端通訊埠資 訊經該定位伺服器傳送給該第一主機端; (C2)第一主機端透過該TCP連線將一確認封包經該定位 伺服器傳送給第二主機端;以及 (C3)第二主機端透過該TCP連線將一再確認封包經該定 位伺服器傳送給第一主機端;以及 (D )媒體連線程序,包含: (D 1 )該第一主機端建立一新埠口,並傳送出一個對應 封包,此對應封包經該第一路由器修改該來源端通訊埠資 訊後即可穿越該第二路由器而傳送至該第二主機端;以及1260880 VI. Patent Application Scope 1. A point-to-point communication method that can traverse a firewall, which is to enable at least two host terminals located in a firewall or a network address translator (NAT), and the first host end and the second host end can mutually For communication, the peer-to-peer communication method includes the following procedures: (A) login/connection procedure, the two host terminals are respectively connected to a positioning server; (B) the communication prediction program includes: (B 1 The first host transmits the source communication information of the first router in the location through the positioning server, and transmits the source communication information to the second through the TCP server through the TCP connection. The host side; and (B 2) the second host end obtains the source communication information of the second router in the location through the positioning server; (C) the time synchronization program, including: (C 1 ) The TCP connection transmits the source communication information of the second host to the first host through the positioning server; (C2) the first host transmits the acknowledgement packet through the TCP connection. The server transmits the second host to the second host; and (C3) the second host transmits the reconfirmed packet to the first host through the TCP connection; and (D) the media connection program, including: D1) the first host establishes a new port, and transmits a corresponding packet, and the corresponding packet is transmitted to the second router through the second router after modifying the source communication information by the first router. Host side; 第17頁 1260880 六、申請專利範圍 (D 2 )與該步驟(D 1 )同步進行,該該第二主機端建立一 新埠口,並傳送出一個對應封包,此對應封包經該第二路 由器修改該來源端通訊埠資訊後即可穿越該第一路由器而 傳送至該第一主機端,以達到該第一主機端與該第二主機 端間的直接通訊。 2、 如申請專利範圍第1項所述之可穿越防火牆之點對點通 訊方法,其中該二主機端係使用傳輸控制協定(TCP)向該 定位伺服器建立並保持連線。 3、 如申請專利範圍第2項所述之可穿越防火牆之點對點通 訊方法,其中該TCP連線必須每隔一段時間就進行更新以保 持連線,其係利用一更新演算法來測試NAT或防火牆之閒 置/關閉時間,以確保TCP維持連線值。 4、 如申請專利範圍第1項所述之可穿越防火牆之點對點通 rn方法,其中在該步驟(B 1 )中之取得該第一主機端之來源 端通訊埠資訊更包括: •第一主機端向該定位伺服器送出測試封包,該定位伺服 器從該測試封包中取得來源端通訊埠資訊(I P A,X)並將 其回覆給該第一主機端;以及 第一主機端再度向該定位伺服器送出另一組測試封包, 該定位伺服器再度從測試封包中取得來源端通訊埠資訊 (IPA,x + dx)並回覆給該第一主機端。 5、 如申請專利範圍第4項所述之可穿越防火牆之點對點通 訊方法,其中該第一主機端係利用一用戶數據報協定 (UDP)向該定位伺服器送出測試封包。Page 17 1260880 6. The patent application scope (D 2 ) is synchronized with the step (D 1 ), the second host establishes a new port, and transmits a corresponding packet, and the corresponding packet passes through the second router. After modifying the source communication information, the first router can be transmitted to the first host to achieve direct communication between the first host and the second host. 2. A peer-to-peer communication method traversing a firewall as described in claim 1 wherein the two hosts establish and maintain a connection to the location server using a Transmission Control Protocol (TCP). 3. A peer-to-peer communication method capable of traversing a firewall as described in claim 2, wherein the TCP connection must be updated at intervals to maintain connectivity, and an update algorithm is used to test the NAT or the firewall. The idle/closed time to ensure that TCP maintains the connection value. 4. The point-to-point rn method of traversing a firewall as described in claim 1 of the patent application, wherein the source communication of the first host in the step (B 1 ) further includes: • the first host Sending a test packet to the positioning server, the positioning server obtains source communication information (IPA, X) from the test packet and returns it to the first host; and the first host again redirects to the positioning The server sends another set of test packets, and the positioning server obtains the source communication information (IPA, x + dx) from the test packet and replies to the first host. 5. The peer-to-peer communication method of traversing a firewall as described in claim 4, wherein the first host sends a test packet to the location server by using a User Datagram Protocol (UDP). 第18頁 1260880 六、申請專利範圍 6、 如申請專利範圍第1項所述之可穿越防火牆之點對點通 訊方法,其中該該步驟(B 2 )中之取得該第二主機端之來源 端通訊埠資訊更包括: 第二主機端向該定位伺服器送出一組測試封包,該定位 伺服器從該測試封包中取得來源端通訊埠資訊(I PA,y) 並將其回覆給該第二主機端;以及 第二主機端再度向該定位伺服器送出另一組測試封包, 該定位伺服器再度從測試封包中取得來源端通訊埠資訊 (IPA,y + dy)並回覆給該第二主機端。 7、 如申請專利範圍第6項所述之可穿越防火牆之點對點通 訊方法,其中該第二主機端係利用一用戶數據報協定 (UDP)向該定位伺服器送出測試封包。 8、 如申請專利範圍第1項所述之可穿越防火牆之點對點通 訴方法,其中該時間同步程序係用來使該第一主機端與該 第二主機端同步化。 9、 如申請專利範圍第1項所述之可穿越防火牆之點對點通 訊方法,其中該第一主機端所傳送之對應封包為UDP封包, 且該 U D P封包格式為 UDP[IPA,spa3,Data, IP2,y + 2dy], 其中該spa3值為第一主機端自動分配給該封包的來源埠號 碼。 1 0、如申請專利範圍第9項所述之可穿越防火牆之點對點通 訊方法,其中該第一路由器將該封包之格式修改為UDP [IP1,x + 2dx,Data, IP2,y + 2dy],再傳送至該第二路由 器0Page 18 1260880 VI. Application for Patent Scope 6. The point-to-point communication method of the traversable firewall as described in claim 1 of the patent application, wherein the source communication of the second host is obtained in the step (B 2 ) The information further includes: the second host sends a set of test packets to the positioning server, and the positioning server obtains the source communication information (I PA, y) from the test packet and returns the reply to the second host And the second host again sends another set of test packets to the positioning server, and the positioning server obtains the source communication information (IPA, y + dy) from the test packet and replies to the second host. 7. The peer-to-peer communication method of traversing a firewall according to claim 6, wherein the second host sends a test packet to the location server by using a User Datagram Protocol (UDP). 8. The peer-to-peer method for traversing a firewall as described in claim 1, wherein the time synchronization program is configured to synchronize the first host with the second host. 9. The peer-to-peer communication method capable of traversing a firewall according to claim 1, wherein the corresponding packet transmitted by the first host is a UDP packet, and the UDP packet format is UDP [IPA, Spa3, Data, IP2). , y + 2dy], where the spa3 value is the source number that the first host automatically assigns to the packet. 10. A peer-to-peer communication method capable of traversing a firewall as described in claim 9 wherein the first router modifies the format of the packet to UDP [IP1, x + 2dx, Data, IP2, y + 2dy], Then transferred to the second router 0 第19頁 1260880 六、申請專利範圍 1卜如申請專利範圍,10χ員所述之可穿越防火牆之點對點 通訊方法,其中该第一路由器更可將該封包修正格 Μ [IP1,x + 2dx,Data’ IPB, spb3],並將其再傳送'' 機端。 、主弟一王 1 2、如申請專利範圍第1 1項所述之可穿越防火牆之點對點 通訊方法,其中該第二主機端所傳送之對應封包為UDp封 包,且該 UDP封包格式為 UDP[IPB,spb3,Data/'IP1,x + 2dx],其中該spa3值為第二主機端自動分配給該封包的來 源埠號碼。 1 3、如申請專利範圍第1 2項所述之可穿越防火牆之點對點 通訊方法’其中该弟一路由恭將封包格式修改為u D p [ I p 2 y + 2dy, Data, IP1, x + 2dx],再傳送至該第一路由器。 1 4、如申請專利範圍第1 3項所述之可穿越防火牆之點對點 通訊方法,其中該第二主機端成功的接收到格式為UDP [IP1,x + 2dx,Data, IPB, spb3]之 UDP封包,則具有格式 ’UDP[IPB,spb3,Data, IP1,x + 2dx]之 UDP封包將被回傳穿 越該第一路由器而傳至該第一主機端,且該UDP封包格式會 被修正為 UDP[IP2,y + 2dy, Data, IPA,spa3],並回傳給 第二主機端。 1 5、如申請專利範圍第1項所述之可穿越防火牆之點對點通 訊方法,其中為使該步驟(D1)與步驟(D 2 )同步進行,在完 成步驟(C 3 )之後,須先經過一延遲時間後,該第二主機才 可建立該新埠口。 1 6、如申請專利範圍第1 5項所述之可穿越防火牆之點對點Page 19 1260880 VI. Application for patent scope 1 If the scope of application for patents is 10, the peer-to-peer communication method that can pass through the firewall, wherein the first router can correct the packet [IP1, x + 2dx, Data 'IPB, spb3] and re-transmit it to the '' machine side. 2. The first brother of the master 1 2. The peer-to-peer communication method that can traverse the firewall as described in claim 11 of the patent scope, wherein the corresponding packet transmitted by the second host is a UDp packet, and the UDP packet format is UDP [ IPB, spb3, Data/'IP1, x + 2dx], where the spa3 value is the source port number automatically assigned to the packet by the second host. 1 3. The peer-to-peer communication method that can traverse the firewall as described in item 12 of the patent application scope, wherein the brother-and-pass route changes the packet format to u D p [ I p 2 y + 2dy, Data, IP1, x + 2dx], then transferred to the first router. 1 4. A point-to-point communication method capable of traversing a firewall as described in claim 13 of the patent scope, wherein the second host successfully receives the UDP of the format UDP [IP1, x + 2dx, Data, IPB, spb3] Packet, the UDP packet with the format 'UDP[IPB, spb3, Data, IP1, x + 2dx] will be transmitted back to the first router and passed to the first host, and the UDP packet format will be corrected to UDP[IP2, y + 2dy, Data, IPA, spa3] and pass it back to the second host. 1 5. A point-to-point communication method capable of traversing a firewall as described in claim 1 wherein, in order to synchronize the step (D1) with the step (D 2 ), after completing the step (C 3 ), After a delay time, the second host can establish the new port. 1 6. Point-to-point through the firewall as described in item 15 of the patent application scope 第20頁 1260880Page 20 1260880 第21頁Page 21
TW94112836A 2005-04-22 2005-04-22 Peer-to-Peer communication method capable of penetrating fire wall TWI260880B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW94112836A TWI260880B (en) 2005-04-22 2005-04-22 Peer-to-Peer communication method capable of penetrating fire wall

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW94112836A TWI260880B (en) 2005-04-22 2005-04-22 Peer-to-Peer communication method capable of penetrating fire wall

Publications (2)

Publication Number Publication Date
TWI260880B true TWI260880B (en) 2006-08-21
TW200638703A TW200638703A (en) 2006-11-01

Family

ID=37874882

Family Applications (1)

Application Number Title Priority Date Filing Date
TW94112836A TWI260880B (en) 2005-04-22 2005-04-22 Peer-to-Peer communication method capable of penetrating fire wall

Country Status (1)

Country Link
TW (1) TWI260880B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055771B2 (en) 2009-09-02 2011-11-08 Industrial Technology Research Institute Network traversal method for establishing connection between two endpoints and network communication system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055771B2 (en) 2009-09-02 2011-11-08 Industrial Technology Research Institute Network traversal method for establishing connection between two endpoints and network communication system

Also Published As

Publication number Publication date
TW200638703A (en) 2006-11-01

Similar Documents

Publication Publication Date Title
US11019117B2 (en) Conferencing server
US10855654B2 (en) Session identifier for a communication session
TWI408936B (en) Network traversal method and network communication system
US7907525B2 (en) Method of communicating packet multimedia to restricted endpoints
US20130308628A1 (en) Nat traversal for voip
EP1692844B1 (en) Methods and devices for traversing firewalls and network address translation (nat) installations
EP2449749B1 (en) Method and apparatus for relaying packets
JP5312672B2 (en) Access node comprising a VoIP card having a common IP address and a MAC address
JP2004515164A (en) Communications system
WO2007036160A1 (en) An apparatus, system and method for realizing communication between the client and the server
JP2006081177A (en) System for communication, communication method between two or more computers located on at least two private networks, method for conducting communication between systems existing on individual private networks, method for establishing communication link between the same systems, integrated circuit chip for establishing data exchange between the systems, and computer-readable medium having program command for establishing data exchange between the systems
TWI260880B (en) Peer-to-Peer communication method capable of penetrating fire wall
EP2234365A1 (en) Method and system for distributing the local transport address and media gateway and media gateway controller
WO2011044810A1 (en) Method, device and system for implementing multiparty communication
WO2019094103A1 (en) Session moderator for turn-pattern tcp-packet relay with websocket instantiation
KR100660123B1 (en) Vpn server system and vpn terminal for a nat traversal
Rosenberg Interactive connectivity establishment: NAT traversal for the session initiation protocol
Caminati et al. Fast Session Resumption in DTLS for Mobile Communications
KR20090002391A (en) Method for providing voip service in private network and terminal unit thereof
Georgescu Best practices for SIP NAT traversal
Topal et al. Enabling peer-to-peer communication for hosts in private address realms using IPv4 LSRR option and IPv4+ 4 addresses
McLeod Dispatch Working Group C. Eckel Internet-Draft T. Kristensen Intended status: Informational M. Thompson Expires: May 3, 2012 G. Sandbakken
Khirul et al. An efficient approach for NAT traversal problem on security of voice over internet protocol
Ott et al. The Binary Floor Control Protocol (BFCP) draft-ietf-bfcpbis-rfc4582bis-06
CONSTANTINESCU et al. Session borders controllers: next step in full deployment of voice over IP services