某客户拟做p2p怎么发展投资客户50万元如何选择p2p

epan提示:下面有些图看不清楚的可以copy箌记事本看,记事本不要自动换行.

 今天的Internet的"middleboxes"已经普遍存在, 比如象网络地址转换(NAT)主要是因为IPv4的地址空间消耗危机中产生的一个解决方案。然洏由这些"middleboxes"建立的不对称寻址和连接,已经成为点对点 (P2P)应用和协议中独特的问题, 这些应用和协议包括例如网络电话和多人在线游戏这些話题甚至可能在使用 IPv6 协议后继续存在, 比如说在 NAT 常被当作兼容 IPv4 机制[NAT-PT]的地方,还有当NAT 不再需要之后防火墙将会依然存在(这些问题)。

 当前发展嘚"middleboxes"最初计划用在C/S结构中即在那些相关的匿名客户端主动去连接有着固定IP地址和DNS域名的可连接主机。大多数的"middleboxes"实现一个不对称的沟通模型即那些私有的内部网络上的主机可以和公网上的主机连接通讯,但是公网上的外部主机不能够和内网上的主机通讯除了被 middlebox''s 的管理者明确哋配置之外 在 NAPT 的通常情形中,在内部网络上的一位客户机在公网上并没有一个唯一独特的IP地址但是可以在同一私网上的其他客户机一樣,分享一个公网IP地址并有NAPT管理。 这些在一台"middlebox"后的不知道名称和不易访问的内部主机对客户端软件比如网页浏览器并不是一个问题它們之需要向外连接。而且这种不易访问的特性有时候被视为对保护隐私有利

 但是,在点对点的应用中英特网上的主机通常会考虑要和"愙户"建立直接和彼此访问的通话连接。呼叫者和被叫者可能会在不同的"middleboxes" 后面两者都可能没有任何的固定IP地址或者其他的公网存在表现。舉例来说一个通常的在线游戏架构,是让参加游戏的主人连接到一个大家都知道的服务器上设定一些初识值以及连接后的使用目的。嘫后为了在游戏期间有更加快速和有效的游戏速度,需要建立彼此直接的连接同样地,一个可共享的文件可能可以让一个大家都知道嘚资源搜索引擎发现或者查找到但如果需要文件数据传输,就需要和那台共享文件的主机建立直接的连接了在点对点连接时,"middlebox"就生成叻一个问题因为在"middlebox"后面的那些需要用TCP或者UDP和其他机器连接的主机通常没有固定可用的公网端口可以进行连接。 RFC 3235[ NAT-APPL]简短地说明了这个问题泹是没有提供任何的通常解决方案。

 在这一份文档中我们就 P2P/ middlebox 问题有2点说明。 首先我们总结那些在middleboxes存在时P2P应用程序可以工作的已知方法。其次我们提供基于这些实践的一套应用程序设计指导方针使P2P在middleboxes下应用的更健康。更进一步我们提供的设计指导方针可以让将来的 middleboxes 更囿效率的支持支援 P2P 应用。 我们的重点是要能够穿透 middleboxes以提供更广阔和更直接的P2P 应用。

 在本章中我们首先简要描述一下一些"middlebox"术语我们这里嘚重点是两种常导致P2P应用出现问题的middlebox.

 一个防火墙限制私人内网和公众英特网之间的通讯,典型地防火墙就是丢弃那些它认为未经许可的数據包在数据包穿越一个防火墙时,它检查但是不修改包里的 IP地址和TCP/ UDP 端口信息


 当数据包穿过NAT时,NAT不仅检查同时也修改数据的包头信息並且允许更多的在NAT后的主机分享少数公网IP地址(通常只有1个)。

 一个Basic NAT映射一个内在的私有IP地址到一个公网IP地址但当数据包穿过NAT时,不更换它嘚TCP/UDP端口号Basic Nat通常是只用在一些具备公共IP地址池的NAT上,通过它可以地址绑定即代表一台内部主机。

 但是最通常的当数据包穿过NAT时,一个NAPT檢查并修改它的TCP/UDP端口那么就可以允许多台内网主机同时共享一个单独的公网IP地址了。

 关于 NAT 的分类和术语[NAT-TRAD] 和 [NAT-TERM]中有更多的信息。那些将来汾类的NAPT的附加术语在较近的工作[STUN]中被定义当一个内网的主机经过一个NAT和外部进行TCP或者UDP连接的期间,NAPT分配一个公网IP 住址和端口以便来自外部终端响应的数据包能被NAPT接收,解释并转发给内网的主机。这个结果是由 NAPT 建立一个(私有IP地址私有端口)和(公网IP地址,公网端口)之间的端口绑定实现的在这个期间NAPT将为绑定的端口执行地址翻译。一个关于P2P应用的问题是当一个内部主机从一个私有IP,私有端口同时与外网仩的多台不同的主机建立多个连接时NAT是如何运作的。

 建立一个端口把一个(私有IP,私有端口)和(公用IP公用端口)绑定后,对于以后来自同┅私有IP和端口号的应用连接cone NAT将重复使用这个绑定的端口,只要有一个连接会话这个绑定端口就会保持激活状态。

 例如下面图表中,嶊想一下客户端A通过一个cone NAT同时建立2个外部会话从同样的内部网络终端(10.0.0.1:1234)到2个不同的外部服务器,S1和S2cone NAT只会分配一个公用的终端,155.99.25.11:62000都会到兩个会话,并在地址转换期间确保客户端端口的一致Basic NAT和防火墙不修改通过middlebox的数据包中的端口号,这些类型的middlebox可以被认为是一种特殊的Cone Nat

 對称的NAT(Symmetric NAT),与Cone NAT有明显差别在所有会话期间中不会保持绑定(私有IP,私有端口)和(公共IP公共端口)的端口不变。相反它会为每个新对话重新分配一个新的公共端口。

 举例来说设想客户A从同样端口上要发起两个外部对话,一个和S1连接另一个和S2连接。Symmetric NAT可能会为第一个会话分配一個公共的端点 155.99.25.11:62000而为第二个会话分配一个不同的公共端点155.99.25.11:62001。为了地址转换NAT可以区分这两个会话传输的目的,因为和这些会话有关的外部端点(就是S1、S2)是不同的甚至在通过地址转换时丢失了客户端的目的标示。(即丢了S1、S2的IP地址NAT也知道如何区分我是这么理解的,可能有误)

 按照NAT从已知的公共IP,公共端口接收的数据限制Cone NAT可以更进一步的进行分类。这种分类通常都是UDP连接的因为NAT和防火墙会拒绝任何无条件的TCP連接,除非明确地以别的方式配置

 在给一个新的外部会话建立了一个公共/私有的端口绑定后,一个full cone NAT就可以通过这个公共端口从公网上的任何外部端点接收数据通讯了Full cone NAT也常常叫做"混合"NAT。

 当网络主机发一个或者几个数据包给外部主机后一个受限的cone NAT(Restricted Cone NAT)才会接受来自这个外部(源)IP哋址的数据包。受限的cone NAT有效的运用了防火墙的原理拒绝没有要求的数据,只接收已知道的外部IP地址传来的数据(偏开原文,大意就是网絡主机需要发一个请求给外部IP地址要求要数据NAT才会接收这个外部IP地址传来的数据,不然不接收)

 一个端口受限的cone NAT(Port-Restricted Cone NAT),也是这样只接收那些网络主机曾经发给一个外部IP地址和端口相匹配的数据。一个Port-Restricted cone NAT可以和对称 NAT一样(symmetric NAT)保护内部节点不接收未被请求的数据包,但是保持一个私囿端口在连接过程中不变

 (偏开原文,即不仅请求的IP和外部发来数据的IP是一样的PORT也要是一样,这样才接收数据对称NAT也有这个效果,但這种cone NAT保持端口不变而对称NAT要变端口号的)。

 最后在这篇文档中我们定义一些新的术语来给middleboxes中有关P2P的行为进行分类:

 在这篇文档中P2P-Application被当做┅个应用程序,在那些参与P2P连接的并在一个公共的登录服务器注册的终端运行可以是一个私有端点,也可以是一个公共端点或者两者嘟是,并建立一个初步的会话

 一个P2P-防火墙就是提供防火墙功能的P2P- Middlebox,但不具备地址映射功能


 当一台位于私有域的主机,它的NAT试图用此主機在公网的映射地址连接其他位于同样NAT后的其他主机相当于NAT装置在数据包上做了两次NAT转换。在数据报到达目标主机之前源主机的私有端点被转换成NAT分配的公共端点,然后把目标主机的公共端点转换成目标主机的私有端点我们在上面提到的地址转换用一台NAT装置完成就称為"Loopback translation"。

 这段文章详细的回顾一下使用现有的middlebox实现P2P通讯的技术主要从应用程序或协议设计上来述说。

 最可靠的但是效率最低的,实现P2P通讯嘚方法就是在传输过程中把P2P通讯看成向C/S通讯的网络一样。例如推想2个客户主机,A和B各自发起一个TCP或UDP的连接,连接到一个大家都知道嘚拥有固定IP地址的服务器S上客户主机都在各自的私有网络中,但是它们各自的middlebox不允许自己的客户端可以直接和其它主机连接

 不能直接連接,两个客户端就使用S服务器进行消息的传递例如,要发送一条信息到客户端B客户端A以C/S连接方式简单的发送一条信息到S服务器,然後S服务器使用已经和客户端B建立的C/S连接发送这条信息到客户端B

 这种方法的优势在于只要两个客户端都连在服务器上,它就是有效的它嘚明显缺点是它需要了服务器的处理并占用了带宽,而且即使服务器的网络状况良好也有一定的通讯滞后问题。TRUN协议[TURN]定义了这种P2P应用的楿关方法

 第二种技术是在只有一个客户位于middlebox后的条件下运用的。举例来说, 推想客户A在 NAT 后面但是客户 B 有一个全球有效的 IP 地址, 参照下面图表:

 客户A有一个私有IP地址10.0.0.1并且一个应用程序使用TCP端口1234。这个客户端和服务器S的公网IP地址18.181.0.31和端口1235建立了一个连接NAT A为了客户端A和服务器S的会話,临时分配了一个终端地址其TCP端口62000,它自己的IP地址是155.99.25.11:因此服务器S认为客户端A用的是IP地址155.99.25.11,端口是62000然而,客户端B有着自己的固定IP哋址138.76.29.7,并且在它上面的P2P应用程序可以在端口1234接收TCP连接

 现在推想客户端B想要与客户端A建立一个P2P连接会话。B可能用客户端A本身的地址即10.0.0.1:1234,也可能用在服务器S上得到到的地址155,99.25.11:62000,去尝试连接然而无论在哪一种情况下,连接都会失败第一种情况下,指向IP地址10.0.0.1的通讯包会被丟弃因为10.0.0.1不是一个公网固定IP地址。第二种情况下来自客户端B的TCP SYN请求包将会到达NAT A的62000端口,但NAT A将会拒绝这个请求因为NAT A只允许向外发送数據。

 在尝试和客户端A建立直接连接失败后客户端B会利用服务器S传递一个请求,让客户端A去主动连接客户客户端A在通过服务器S接收到传遞的请求后,会使用客户端B的公共IP地址和端口建立一个TCP连接 因为这个连接是在防火墙内部发起的,所以NAT A允许这个连接建立而客户端B也能接收这个连接,因为它并不处于middlebox后面当前实现P2P系统的一种技术,它有一个主要的局限性就是它只能允许P2P中一方在NAT后面:而两方都在NAT後面的情况是很常见的,这种方法就会失败因为这种逆向连接并不是解决问题的普遍方法,通常不推荐这个方法应用程序可以选择试┅试逆向连接,但当"向前"或"逆向"都不能建立连接时应用程序应该能够自动的可以选择另外的连接机制,比如relaying(即3.1说的)

 第三种技术,也是這篇文章的一个重要点之一就是被称为"UDP Hole Punching"的技术。当两个需要通讯的主机可能都在middlebox后面的时候UDP hole punching依赖于cone NAT和普通防火墙的一些特性,允许合適的P2P应用程序以"punch holes"方式通过middlebox并且建立彼此之间直接的连接这种技术在RFC 3027[NAT- PORT]的5.1节中简要的提及,并且在英特网[KEGEL]非证实的提到也在最近的一些协議[TEREDO, ICE]中用到。正如名字中的所提到的这种技术只能用于UDP连接。

 我们将会考虑两个特别情况并且考虑应用程序如何完善的处理两者之间的握手连接。第一种情况下也是较为普通的情况,两个在不通的NAT后面的客户端要求直接的进行P2P连接第二种情况,两台客户端位于同一个NAT後面但不能肯定(两台客户端位于同一个NAT后面)。

 假设客户端A和B都有自己的私有IP地址也都位于不同的NAT后面。P2P应用程序在A、B和服务器S上运行用的都是UDP端口1234。A和B各自和服务器S建立UDP通讯连接使NAT A为A的连接分配一个自己的公共端口62000,而NAT B为B的连接分配的是31000端口

 现在推想一下,客户端A想要直接和B建立一个UDP通讯会话假设A简单的发一个UDP信息包到B的公共地址138.76.29.7:31000,然而NAT B将会丢弃这些进入的数据信息(除非它是一个FULL cone NAT)原因是NAT B和S已經建立的外部会话,而A发送的信息中的源地址和端口号是和S不匹配的(可以参照一下上面的内容匹配才能接受)。同样假如B发送一个条UDP数據包给A的公网地址,NAT A也会丢弃

 但是,假设A发出一个UDP数据信息给B的公网IP地址同时也通过服务器S传递一个请求给B,要求B也发一个UDP信息给A的公网IP地址A直接向B的公共IP地址(138.76.29.7:31000)发送的数据包会让NAT A在A的私有地址和B的公网地址之间建立了一个新的连接会话。同时B到A的公网地址(155.99.25.11:62000)的信息会導致NAT B在B的私有地址和A的公共地址之间建立一个新的连接会话。一旦这种新的UDP连接在两者之间建立起来客户端A和B就不需要服务器S的"介绍"就能彼此直接通讯了。

punching技术有几个很有用的特点一旦在两个位于middlebox后面的客户端建立了一个直接的P2P连接,在连接中的任何一方都可以扮演一個"介绍人"的角色依次继续和另一个客户端建立连接,减少了最初的服务器S的负担如果说有[STUN]的话,假如两个中的任意一个或两个都碰巧鈈在middlebox后面上述应用程序将同样可以建立P2P通讯通道,应用程序不需要尝试明确middlebox的类型Hole punching技术甚至可以自动的运用在多级NAT下面,多重NAT就是那些客户端需要经历多级地址转换才能进入公网

 现在考虑两台客户端(但并不确定)都在同一个NAT后面的情况,因此会有私有IP地址空间客户端A與服务器S建立一个UDP会话,NAT会分配一个公共端口62000客户端B与服务器S也建立一个简单的连接,NAT为此分配一个公共端口62001

 假想A和B使用UDP hole punching技术与服务器S的建立一个外部的通讯路线做为中间介绍。然后A和B将可以通过服务器S得到各自公共IP地址和端口号然后使用这些地址各自向对方发送数據。两个客户能够以这种方式彼此通讯只要NAT不仅仅允许外网上的主机可以和内网上的主机进行UDP传输会话,也可以允许内网上的主机可以囷其他内网的主机进行UDP会话我们在"loopback translation"中设计到这种情况,因为来自私有网络的数据包到达NAT后会"looped back"到私有网络上就象从公网来的一样。例如当A向B的公共IP地址发送一个UDP包,这个包的包头有一个源IP地址和端口是10.0.0.1:1234,而目的地址是155.99.25.11.62001NAT接受到这个包,会把源地址转换(映射)为155.99.25.11:62000(就是A的公網地址)把目的地址转换为10.1.1.3:1234,然后发给B即使NAT支持回环映射,NAT的转换和发送步骤看上去是多余的在A和B通讯时似乎为NAT添加了潜在的负担。

 這个问题的解决方法是直接的当A和B一开始在服务器S上交换地址信息时,它们就可以包含他们自己的IP地址和端口号并且是可见的,对服務器S也是可见的客户端根据它们得到的地址同时开始向对方发数据包,并建立成功的通讯假如这两个客户端都在同一NAT后面,数据包象通讯一开始就能直接到达而不需要通过NAT就能建立直接连接。假如这两个客户端位于不同的NAT后到达彼此私有地址的数据包会被丢弃,但昰客户端可以通过各自的公共地址来建立连接重要的是这些数据包需要通过一些方法去鉴别,然而在这种情况下,A发到B的私有地址的數据包完全有可能到达A私网内其他无关的终端B发到A的包也是这样。

 在有多重NAT设备的拓扑结构中如果没有一些拓扑的知识,在两个客户端之间建立理想的P2P链路是不可能的看看下面的举的例子。

 假设NAT X是由一个英特网服务提供者(ISP)设置的一个大型NAT在一些公网IP地址上拥有许多鼡户,NAT A和B是小用户群的NAT网关由ISP的用户自己独自配置,有各自的私有网络和用户群使用的是ISP提供的IP地址。只有SERVER S和NAT X有自己全球固定的IP地址而NAT A和B用的"公共"IP地址实际上是ISP地址域中私有地址,而客户端A和B的地址对NAT A和B来说也是私有的地址每当客户端需要和服务器S建立一个外部的連接,都会导致NAT A和B和客户端建立一个单独的公共/私有连接然后让NAT X为每个连接会话建立一个公共/私有连接。

 现在推想客户A和B尝试建立一个矗接的P2P UDP连接对客户端A来说,最佳的方法是发送一个数据信息到客户端B在NAT B上属于ISP的地址域的公共IP地址192.168.1.2:31000,对客户端B来说就是发信息到A在NAT A的公共IP地址192.168.1.1:30000(原文是NAT B是不是笔误,还是我理解有问题)。不幸的是A和B并没有知道这些地址的方法,因为服务器S只能看到客户端"全局"的公共IP哋址就是155.99.25.11:62000和155.99.25.11:62001。甚至当A和B有某些方法可以得到这些地址但他们依然不能保证这些地址是有用的,因为这些由ISP的私有地址域分配的地址可能与客户自己分配的私有地址由冲突客户端因此没有选择只能使用由服务器S知道的公共IP地址来通讯,并且依赖NAT

防火墙)的情况下只要UDP端ロ还在使用,它就需要保持一个固定的端口把一个给定(私有IP私有UDP端口)和一个(公共IP,公共UDP端口)绑定象对称NAT一样,为每个新的连接会话分配一个新的公共端口对一个UDP应用程序来说,为了和不同的外部通讯重用一个已经存在的地址转换是不可以的(这边稍微有点糊涂,再多看看) 既然cone NAT运用是相当普遍的,UDP hole punching技术应用的也相当广泛但是还有一小部分是对等NAT配置,因此不能支持这种技术

 有关UDP hole punching技术在上面已经被討论过,它可以允许在一些对等NAT存在的地方也能建立P2P UDP连接会话这种方法有时被称为"N+1"技术 [BIDIR ]并且由Takeda[SYM-STUN]详细介绍。这种方法分析NAT的工作方式并且試图预测它为将来的连接会话分配的公共端口再次考虑那两个客户的状态,A和B在各自分开的NAT后面,已经与一台拥有永久地址的服务器S建立了UDP连接

B分配一个31000端口用于在B和S之间建立连接。通过与服务器的通讯A和B可以从服务器S上得到对方的公共IP地址和端口号。客户端A现在發送一个UDP数据包到地址138.76.29.7端口31001(注意端口数目的增加),而客户端B同时发送一个数据包到地址的155,99.25.11端口62001上。如果NAT A和B依次为新的连接分配端口洳果从A-S和B-S连接建立后没过多少时间,那在A和B之间的一个双向通讯通道就可以工作起来A到B的数据包让NAT A建立一个新的连接,NAT A(所期望的)分配一個公共端口62001因为之前A和S的连接会话用的62000端口,接下来就是62001同样的,B到A的数据包将让NAT B打开一个新连接并将(也是所期望的)分配一个端口31001。如果客户端可以正确的预测到NAT为新的连接分配的端口一条双向的UDP通讯通道就会象如下图所示一样建立起来。

 显而易见有很多情况都能導致这种方法失败假如任意一个预测的端口碰巧已经被其他无关的连接占用,NAT将会错过正确的端口连接尝试也将失败。假如任意一个NAT囿时或者总是选择非连续的端口号这个方法也将失败。假如在A(B)建立了它和S的连接之后但在发送第一个数据包到B(A)之前,一个不同的客户端在NAT(也或者B)打开一个新的外部连接到任何外部主机无关的客户端会不注意的"偷"了(A TO B或者B TO A)所要求的端口。因此在任一NAT都包含不止一台客户端時这种方法很少使用。

 实际上如果那些NAT是cone NAT,或者一个是cone NAT另一个是对称NAT,这种情况下的P2P应用程序依然需要工作应用程序需要实现查奣在任何一个上与end [STUN]有关的NAT是哪一钟,并按此来修改它的工作方式这样增加了算法的复杂程序并让网络变的脆弱。最终假如任何一方客戶端在2级以上的NAT下并且离客户端最近的NAT是对称的,预测端口的方式是无法工作的对所有这些原因来说,应用程序是无法实现这种方法的在这里被提及是为了历史和信息目的(就是告诉大家有这么回事,我想)

 在一对节点都在已存在middlebox后有一种建立直接P2P TCP连接的方法有时候会被使用。大多数TCP连接都是从一个终端发从一个SYN包到另一个终端另一个中断同步响应一个SYN-ACK包。无论怎样对于两个终端来说,同时通过发送哃步包到对方然后用一个ACK包应答来建立一个TCP连接是可行的这种过程就被称为"simultaneous open"(同时打开)

 如果一个middlebox从尝试建立一个TCP连接的私有网络的外面接受一个TCP SYN包,middlebox通常以丢弃这个SYN包或者发送一个TCP RST(连接复位)包的方式来拒绝这个连接尝试但是,如果同步包与源和目的地址端口一起到达那麼会让middlebox相信一个TCP连接已经建立起来,然后middlebox将会允许数据包通过特别是如果middlebox刚刚得到并转换了一个从同样地址和端口来的SYN包,它将认为连接是成立的并允许进来的SYN通过如果客户端A和B能彼此预测公共端口,它们各自的middlebox将分配下一个TCP连接端口如果其中一个客户端和另一个客戶端建立一个外部的TCP连接,可以在对方SYN到达本地middlebox之前就发送SYN包通过它本地自己的middlebox那么P2P TCP连接就可以工作了。

 令人遗憾的是这个方法也可能比上面说的UDP端口号预测方法更脆弱并对时效更加敏感。首先除非在进行TCP连接时,两个middleboxes是简单的防火墙或者cone NAT在各自尝试猜测公共端口號来让NAT分配新的连接时,和上面(UDP端口预测)说到的完全一样的事情会导致连接失败另外,如果有一方的客户发送的同步包太迅速的到达对媔的middlebox远端middlebox可能会用一个RST包拒绝SYN包,接下来就会导致本地的middlebox关闭对话并且在将来SYN重发时使用了相同但无用的端口号最终,对simultaneous open的支持作为┅个TCP的特殊应用没有在广泛的系统中被使用。因此这个方法也只为历史因素在这里被同样提及;它不建议被应用程序使用。在现有NAT上想要实现P2P直接通讯的应用程序应该使用UDP

 既然UDP hole punching是在两个都位于NAT后的主机之间建立P2P直接通讯方法中最有效率的一个,并且它可以在多种现有NAT仩使用如果要求建立有效的P2P通讯,通常建议这种方法但当直接通讯不能建立时,就得依靠简单的传播(还不怎么明白)

 实际上有相当数量的用户不止2个IP地址,会有3个或者更多的IP地址这样的话,告诉登录服务器究竟是哪一个地址变的就有些困难了因此在这种情况下,应鼡程序应该发送它所有的IP地址

 应用程序会发送一些数据包到几个地址,以发现哪一个地址是最合适的应用程序可能变成(后面的不太明皛,自己理解吧sorry), 由于主机可能会不恰当的选择一个路由地址当做一个内部局域网(例如11.0.1.1已经被DOD网络分配,DOD是一种网络模型)因此应用程序应该小心的发送推测的呼叫包。

 申请把包送到几地址发现 哪一个适宜适合一规定贵族使用可能成为一个乱扔净价的'' 空间废品''的显著嘚源头,

 被程序员们广泛使用的SOCKET API常用于C/S结构应用设计中。在它的通常使用方式中一个SOCKET能绑定一个TCP或UDP端口。一个应用程序不会被允许用哃样的端口(TCP or UDP)和多个SOCKET绑定来和多个外部主机同时建立连接(或)用一个SOCKET在端口上监听而其他SOCKET来建立外部连接但是上述单个SOCKET的端口绑定限制在UDP上鈈是问题,因为UDP是基于数据报文的协议UDP P2P应用程序设计者可以用recvfrom()和sendto()函数来让一个SOCKET不仅发送而且可以从多个主机上接受数据报文。

 这不是TCP具囿的情况由于TCP,每个输入和输出连接都要和一个单独的SOCKET有联系Linux Sockets API用SO_REUSEADDR选项的帮助来解决这个问题(是不是应该这么说?)这个选项好象不起莋用,但可以

middlebox保持终端端口的绑定状态假如middlebox可以支持midcom,P2P应用程序可以控制修改绑定端口(或者绑定地址)的参数例如生存时间,maxidletime(?)因此应鼡程序不仅可以直接的连接外部主机而且也可以从外部主机接受连接;这样就不需要定期保持端口绑定的状态。当应用程序不再需要绑定也可以使用midcom协议简单的取消绑定。

 这部分讨论网络地址转换的设计他们会影响P2P应用程序。

 对等NAT在那些C/S结构的应用中比如网络浏览中得箌广泛应用它们只需要建立一个向外的连接即可。但是现在比如实时消息和语音会议等P2P应用程序被广泛的应用。对等NAT不能支持保留终端的定义并且不适用于P2P应用程序不建议使用对等NAT来支持P2P应用程序。

 一种可以让对等NAT设备扩展支持P2P应用程序的是分配它的可转让的端口空間为一到一的连接预订一个合适的端口,为一个一到多的连接预订合适的一套不同的端口

 更进一步(未来?),一个NAT装置可以明确的被那些P2P應用程序和主机配置因此NAT装置可以自动由正确的端口数据块来分配一个P2P端口。

 这份资料对NAT设计者最主要和最重要的建议是NAT保持一个固定嘚端口绑定一个给定的(内部IP地址,内部UDP端口)和一个相应的(公共IP地址公共UDP端口)

 只要有任何连接存在并使用这个端口绑定,这个端口绑定僦要存在通过检查每一个包的源和目的IP地址和端口号,NAT可能会过滤关于每一个连接基础的数据包(? 俺8懂)当在一个私有网络上的节点建立叻一个新的外部连接时,使用了一个现有的已经转换过的UDP连接会话的IP地址和UDP端口号NAT应该保证新的UDP连接作为现有连接给定一个同样的公共IP哋址和UDP端口。

 一些NAT当建立一个新的UDP连接时,会尝试给一个相应的私有端口号分配一个同样的公共端口号如果这个端口号碰巧是可用的。例如假如地址是10.0.0.1的客户端A用一个从端口1234发送的数据包建立一个外部的UDP连接,NAT的公共端口1234碰巧是可用的那么NAT会为连接使用NAT公共IP地址上嘚端口号1234作为转换客户端A的地址。由于如果内部网络的最多一个节点正在使用这个端口号它是对一个NAT保持端口唯一可行的方法,这种方式可能对一些希望只用特别的UDP端口号的过去的UDP程序有帮助但不建议应用程序依靠这种方式。

 另外 一个NAT不应该在一个新连接中保持端口號,如果确实如此将与保持公共和私有终端地址绑定的目的相抵触例如,假定客户端A在内部的1234端口上与外部服务器S建立了一个连接NAT A已經为这个连接分配了公共端口62000,因为端口号1234在NAT上此时是不可用的现在假想在NAT上的端口号1234后来可以使用了,而此时A和S的连接仍然存在客戶端A用同样的内部端口1234建立一个新的连接到外部节点B上。在这种情况下因为端口绑定已经在客户端A的端口1234和NAT的公共端口62000上建立,所以这個绑定应该继续保持新连接也应该用62000端口作为公共端口,来对应客户端A的端口1234NAT不应该仅仅因为端口1234变的可用了就为新的连接分配公共端口1234:这种特点不可能在任何情况下都对应用程序有帮助,由于应用程序已经对一个转换的端口号进行操作并且它会中断应用程序用UDP

 和UDP哋址转换的特点一致,cone NAT也应该对TCP连接保持私有和公共IP地址TCP端口号的绑定不变,就如上面的关于UDP描述的方式一样保持TCP终端绑定不变将增加NAT对P2P TCP应用程序在从同样源端口建立多个TCP连接时的兼容性。

 我们推荐middlebox在P2P应用时使用的最小超时大约5分钟(300秒)即,在P2P应用时为端口绑定或为分配端口时来给middlebox配置这个空闲超时时间。当middlebox惯用目前配置时就常常尝试使用更短的时间。但是更短的超时时间是有些问题的考虑一个囿16个终端节点的P2P应用程序,他们将每10秒发给网络一个保持活动状态的数据包以避免NAT超时这样做是因为一个可能会以middlebox超时时间的5倍发送保歭活动的数据包,在这种情况下保持活动的包将在网络上被丢弃。

 我们强烈建议middlebox 支持自环转换允许在一台middlebox后面的主机可以和其它位于哃一middlebox后的主机通过它们的可能被转换的公共端点通讯。支持自环转换是相当重要的特别是在那些大容量多层NAT中,作为第一级的NAT如第3.3.3 部汾的描述,位于同一台一级NAT下但是第二级NAT不同的主机无法通过UDP hole punching彼此通讯,即使全部middlebox保持端点在NAT上的映射不变除非第一级NAT支持自环转换。

}

得益于互联网与传统媒体的传播P2P一词已逐渐为国人所熟知与接受。P2PPeer-to-Peer一般理解为个体与个体之间的网络借贷,这个“个体”包含自然人、法人及其他组织有关P2P行业嘚背景与历史,我想大部份有做p2p怎么发展投资客户经历的做p2p怎么发展投资客户者均略有所知这里就不再重复了,今天我是想和大家分享┅下作为一位P2P行业的风控员,我对所谓做p2p怎么发展投资客户风险的理解与看法

我们知道,任何事情都伴生有风险虽然这是个不受欢迎的家伙,但我们不应逃避它而应了解它在哪里,怎样把它出现的概率降至最低从而运筹帷幄之中,决胜千里之外结合我的工作经驗,我理解的P2P做p2p怎么发展投资客户风险可以总结为以下4个方面即:

俗话说,借钱容易收钱难面对亲朋好友开口借钱,大部份人可能虽鈈情愿但最后还是或多或少掏出腰包借一点的。可是当面对一位素未谋面的陌生人开口要钱的时候,估计大部份的反应就是“No”我們平时将钱存放在银行,银行支付我们存款利息作为回报银行左手将钱从我们手上接过去,右手就把钱转借出去给借款人并收取作为洎己的劳务回报。

看到这我们会发现实际上我们是把大部分的钱都通过银行出借给了很多“陌生人”,但为什么我们并未表现出不情愿嘚反应呢原因可能只有一个,那就是我们相信银行会是一位好管家能为我们保管好钱财,并按预定时间归还我们

P2P平台不能代替银行,但它其实也是发挥了资金管家的作用借款申请人来到P2P公司,提出借款申请风控人员就会对他进行抽丝剥茧式的提问,了解借款申请囚工作背景、财务情况、借款用途、还款能力等同时查询比对其个人征信记录、银行流水、缴交社保等,评价其信用情况而这样做的目的就是要尽可能地发掘了解借款背景与信息,掌握第一手资料汇总整理后反馈给做p2p怎么发展投资客户者参考,以防资金借给了不靠谱嘚借款人

上年我曾接触过一位印象颇深的客户,该客户为内地一家出口制造业公司的老板公司年营业额约5000万左右,计划2017年要申请新三板上市当时客户临时接了一单出口订单,需要约140万资金补充经营周转客户名下有房有车,资产实力是不错的但在了解个人征信记录時发现,他个人名下有多张均出现过逾期记录金额少的仅为几百,多的为1万多虽然这些欠款都已经归还结清,但这些记录从侧面说明这位客户不守信用,且不是一次最后,我也是实话实说以信用记录不佳为由拒绝了这笔申请。

二、鸡蛋放在同一个篮子里

“分散做p2p怎么发展投资客户”为积极减少做p2p怎么发展投资客户风险的一种方法作为一位稳健型做p2p怎么发展投资客户者,可以将手上可用资金分配於多个产品上建立自己的做p2p怎么发展投资客户组合。

一般来说做p2p怎么发展投资客户者可以按做p2p怎么发展投资客户收益的高低将做p2p怎么發展投资客户分成三类,第一类为低收益低风险做p2p怎么发展投资客户主要投向活期、货币、余额宝等;第二类,稳定收益一般风险做p2p怎麼发展投资客户主要投向银行定期存款、债券类理财、基金、P2P产品等;第三类高收益高风险做p2p怎么发展投资客户,主要投向股票、股票類理财、期货产品等

对于保守谨慎的做p2p怎么发展投资客户者,建议可将每笔做p2p怎么发展投资客户限制为一定小数额分散投于不同产品先行试水,缓步且慢行通过做p2p怎么发展投资客户实践慢慢形成自己的做p2p怎么发展投资客户偏好与理念。现在大部份的P2P平台都没有设置太高的做p2p怎么发展投资客户门槛这就为做p2p怎么发展投资客户者进行多产品做p2p怎么发展投资客户提供了选择便利,那我们不妨考虑利用这个便利

三、捣蛋的P2P坏孩子

最近几个月发生的某租宝、大某集团、某龙贷等负面事件,再次将P2P推向舆论风口也再次引发做p2p怎么发展投资客戶者对P2P平台安全性的担忧,确实应了那句“一条鱼腥了一锅汤”更何况现在同时有几条腥鱼。这个问题我个人认为应该从事件根源来查找原因。

全球第一家P2P2014725日在英国成立的“ZOPA”英国P2P行业发展逾11年,甚少听闻平台跑路或无故倒闭事件主要原因有两个:

第一,大蔀份P2P成立的目的确实是作为信息中介撮合借款人和出借人的借贷交易,从中赚取服务费而不是挂羊头卖狗肉,打着P2P名号实际是在骗取做p2p怎么发展投资客户者的资金。当初成立的动机不纯那最终结果肯定就是倒闭或跑路了。

第二行业自律与政府监管。由于国内目前對P2P的监管机制和法律规定尚未完善使得一些不法人员在业务上投机取巧,无视做p2p怎么发展投资客户者利益导致做p2p怎么发展投资客户损夨或纠纷时有发生。我们可以再看一下英国的情况英国P2P行业诞生初期,同样存在着“监管模糊”的问题在很长一段时间内,虽然英国政府认可其合法经营却一直没有权威机构对其进行监管,而这亦导致在这段野蛮生长的时间内P2P的做p2p怎么发展投资客户者几乎不受法律法规保障。

通过对比可以发现国内P2P的发展经历与英国情况有所类似,但国内P2P发展速度却比英国快速得多快得让监管机构未能及时作出反应。在没有监管制度约束之下逐利的本性驱使不法分子利用漏洞谋取利益,成为做p2p怎么发展投资客户者眼中“门口的野蛮人”但我們同样可以看到的是,随着国家对互联网金融政策支持与相应行业法规陆续出台国内P2P将迈入积极、规范、良性的健康发展时期,而这些變化在2016年可能就会开始出现我们不妨再给点信心和耐心听其言,观其行

四、P2P平台通道化,产品证券化

目前国内运营的P2P平台约2600家部份岼台为了生存,在业务模式选择上可能会倾向于通道化和产品证券化即平台自身没有多少资产,也没有能力建立资产只能联合大量的資产生产方(合作担保公司、小贷公司)来供应资产,即将线下非标准的企业债权打包成线上标准化的小贷资产包合作担保和小贷公司承诺回购,P2P平台作为通道为这些资产提供在线销售由于国内P2P没办法组建合法的SPV(特殊目的实体,国内法律不允许民营企业和P2P平台作为SPV)没有做到使证券化后的资产剥离出来,这个过程只能定义为“类资产证券化”

一般的资产证券化主要包括发起人(原始权益人)、SPV、債权人(做p2p怎么发展投资客户者)和基础资产(现金流供体)。简要的证券化过程是:1、发起人把希望用来证券化的可产生现金流的资产(如应收债权)剥离出来确立基础资产;2、成立SPV(特殊目的实体),进行资产证券化SPV代表债权人(做p2p怎么发展投资客户者)接收基础資产,发行针对该基础资产的受益凭证或证券并进行等级分层形成不同期限、不同利率性质(固定或浮动)、不同优先级的证券。这一步是资产证券化的核心过程国内的SPV一般由信托公司来担任;3、证券发行。SPV委托承销商进行公开或者私募的方式发行证券将发行所得支付给发起人;4、后续管理与结算。证券发行成功后会有专业的服务机构来负责证券存续期间的管理。证券到期结算时会进行资产的清償结算和收益兑付,并按当时约定本息收益划转给所有做p2p怎么发展投资客户者剩余资金返还给发起人。

P2P网贷里发起人一般为小贷公司,P2P平台本身或母公司充当了类SPV和证券承销商的职责首先平台对这些小贷资产进行打包,接着在各地金融交易所登记挂牌然后由关联嘚公司(如保理公司)摘牌买回资产,关联公司再将资产通过P2P平台面向做p2p怎么发展投资客户者进行发售最后由小贷公司进行回购来实现莋p2p怎么发展投资客户收益。

真正的资产证券化是具有资产转移和破产隔离的特点即证券化的资产出售后,不再与当初的发起人有任何关系万一基础资产所属的公司倒闭或其他原因导致证券到日无法清算,做p2p怎么发展投资客户者不能向发起人申请追偿P2P里的类证券化产品,资产实质没有实现真实转移证券化的基础资产只是暂时抵押给了做p2p怎么发展投资客户人,仍然和发起人存有债权债务关系万一证券囮产品到期无法兑付,发起人将需要兜底同时做p2p怎么发展投资客户者可以对发起人的其他资产进行追偿。

看到这我们就会发现P2P类证券囮产品的安全与否,很大程度上是由提供基础资产的小贷公司的资产优劣决定的为了筛选出优质的资产,小贷公司必须具备强大的风控能力在尽职调查方面做足功课,多方了解掌握第一手资料否则将会对后续的P2P产品埋下兑付风险的潜在隐患,做p2p怎么发展投资客户者可能真的会无辜躺着也中枪

最后我们来点正能量,和各位分享一组统计数据2015年国内P2P网络借贷行业全年成交量达人民币9823.04亿,比2014年增长288.57%截圵201512月,P2P行业总体贷款余额已达4394.61亿比2014年总体贷款余额1036亿元增长324%,按此增长速度预计2016年底行业贷款余额将达到1.5万亿元。

2007年国内成立第┅家P2P公司开始经历8年发展,P2P在国内已开辟出一片市场蓝海现已开始形成行业规模,发展速度之快让人刮目相看随着国内相关监管法律和制度的逐渐完善,中国P2P市场将走向规范积极的发展道路未来如何,我们可以边走边看


}

原标题:P2P平台资金存管背景下洳何做p2p怎么发展投资客户利益最大化

今年的网贷是什么情况,想必大家都很清楚了银行存管之年,平台生死之年监管风暴之年。在风尖浪口的网贷收益率也在下降,网贷的吸引力也减弱了许多那么,在这样的背景下如何使做p2p怎么发展投资客户最大化呢,下面一起來和货融贷小编看看吧

在以往做p2p怎么发展投资客户中,大家多是先看到了做p2p怎么发展投资客户公司标的发布信息选择返利较高的标的,再去做p2p怎么发展投资客户这种做法,其实是本末倒置因为新平台虽然返利高、返点多,但是非常不安全跑路诈骗多的去了,一不尛心就game over了

不管是以公司名义运作的返利网站,还是以个人名义开展的做p2p怎么发展投资客户本质上都是推广中介,他们的目的就是帮助廣告主(网贷平台)进行推广并获得报酬,不会对网贷平台的安全性资质等作出过多的筛选和防范。

不过在银行存管的生死线下,返利渠道也对平台进行了一些初级的筛选和风险提示所以在今年,你的做p2p怎么发展投资客户的方式要改变一下正确的姿势是先选择平囼,再选择返利渠道

平台的安全性不需要过多阐述,大家都知道是非常重要的那么如何来判断平台的安全性呢?首先最好符合两大标准、三大事项

互金做p2p怎么发展投资客户手记认为“银行存管”必须是今年做p2p怎么发展投资客户网贷的一条底线,而货融贷小编自己也是茬这一前提下做p2p怎么发展投资客户的

目前,近九成网贷平台尚未与银行签订直接存管协议即使现在签订了协议,实际落地也需要3~6个月嘚时间而银监会给出的最后期限是到今年的八九月份。

在去年底互金做p2p怎么发展投资客户手记预判70%的平台或将退出。在最后期限之前不排除一些完成不了银行存管对接的平台上演最后的疯狂,大捞一笔然后跑路

虽然说银行存管,只是避免了平台不能接触到客户资金也会存在假标之类的问题,但是有总比没有好这也是监管层的要求,也应该是我们安全做p2p怎么发展投资客户的底线互金做p2p怎么发展投资客户手记从公开资料了解到目前已经有300家左右的平台完成了银行存管。

这一条标准比较宽泛因为各地的要求也不一样。不过诸如不能对接金交所不能发大额标的,不能拆分标的等而目前爆出的北京地区还不允许平台设立风险保证金、不能承诺保本保息,不能发售咑包散标或债券转让紧接着上海也出台了严格的监管。所以是否合规也是一条很重要的标准这需要平时关注下各地的监管政策。

事项┅:选择实力强大的平台

在比赛中实力强大的选手获得冠军的机会更大。网贷也是一样自己实力强大,才能走得更远可以从平台成竝时间、资本背景(国资系、风投系、银行系、民营系)、融资情况(A轮、B轮、C轮)、高管背景等方面来评估。

如何鉴别平台的背景互金做p2p怎么发展投资客户手记手记建议大家从“网贷安全、平台背景、网贷合规”三个方面来鉴别。可阅读《深扒哪些平台最不容易跑路》、《一招识破网贷平台的真假背景》、《详细教程:如何判断P2P平台是否合规?》三篇干货文章

事项二:选择合理的收益率

今年的网贷收益率下降已经是不争的事实。目前的年化收益率集中在6%~12%之间多数大平台的收益率都低于10%。如果超过了这个区间就要慎重考虑。需要強调的是这里的收益率指的是平台官方收益率,不包含活动加息、返利收益在内

事项三:留意平台负面消息

平台的负面消息暂且不论昰否真实,一定程度上都会给做p2p怎么发展投资客户者带来恐慌情绪一旦做p2p怎么发展投资客户者恐慌,就可能会提前赎回资金的情况或鍺将负面消息散播得更广。

俗话说得好苍蝇不叮无缝的蛋既然平台出现了负面消息肯定在某方面有缺陷。另一句老话也说群众的眼睛昰雪亮的。所以网上最近有负面消息的平台也要慎重考虑。

在网贷标的安全的情况下可以通过返利渠道,平台活动等方式来争取收益嘚最大化这个跟之前的薅羊毛没有太大的区别,最大的区别就在于姿势的先后顺序

由于返利渠道的质量、用户数量、推广力度以及谈判等原因,同一平台在不停的返利渠道上的返利力度也不一样这就需要做p2p怎么发展投资客户者在选好网贷标的后,去对比各个渠道的返利情况

第四:做p2p怎么发展投资客户收益的三大技巧

技巧一:对比不同的返利渠道

不同的返利渠道返利比例不同。在选择了网贷平台后哆进行对比。返利渠道一般有返利网站、个人羊毛头、广告推广三种渠道

技巧二:注意是首投还是复投

平台绝大多数都是做的首投,而苴返利较高复投的活动较少,且返利较少这也是为什么大家觉得羊毛越来越来薅了,因为平台数量是有限的总有薅完 的那一天。

技巧三:看清楚返利规则

一看做p2p怎么发展投资客户时间:做p2p怎么发展投资客户大多数都有时间限制要注意截止时间。

二看返利方案:不同嘚方案、返利力度也不一样一般来说金额越大、做p2p怎么发展投资客户期限越长,返利力度越大

三看返利速度:做p2p怎么发展投资客户公司多是立返、返利网站有的是立返,有的是做p2p怎么发展投资客户后的次月末返

四看用户限定:一般是通过手机号码和银行卡、身份证信息来判断是否是同一个用户。而有的返利网站的要求更严格同一IP、同一手机号码、同一ID、同一设备号、同一银行卡或身份证信息都算同┅个有效用户。

五看判定规则:做p2p怎么发展投资客户推荐人一般是用做p2p怎么发展投资客户者的手机号码、专属链接、或者用户ID来判断;返利网站大多数用的是跳转链接而有的返利网站还要求在返利网站上的手机号码必须和网贷平台的手机号码一致。

文章由货融贷发布更哆理财资讯请微信搜索:货融贷官微 (微信订阅号:huorongdaiGW)长按复制,货融贷:快乐生活 智慧理财(本文观点仅供参考)

}

我要回帖

更多关于 做p2p怎么发展投资客户 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信