导航

上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 37 下一页

2012年4月8日

摘要: 通常所见的的TCP服务器都 是并发实现的,即服务同时处理多个请求,而不是等待前一个完成再处理下一个请求,这个实现得益于TCP的listen()与connect()的分工处理 机制。具体为,服务器监听来自客户的连接,当一个请求到来时,服务器fork()一个子进程,处理该请求,然后父进程继续监听外部请求。 但在UDP中,没有这种监听和连接机制,所以它必须等待前一处理完成才能继续处理下一个客户的请求。但并不是说UDP实现并发服务器是不可能的,只是与 上面的实现稍有不同。原理如下:服务器(知名端口)等待一下客户的到来,当一个客户到来后,记下其IP和port,然后同理,服务器fork一个子进程, 建.. 阅读全文

posted @ 2012-04-08 21:45 网名还没想好 阅读(1510) 评论(0) 推荐(0) 编辑

2012年4月6日

摘要: 转载请注明来源:http://hi.baidu.com/phpsinet_aton,inet_addr和inet_ntoa在点分十进制数串(如,“192.168.1.10")与他的32位网络字节二进制值之前转换IPV4地址,有2个比较新的函数inet_pton和inet_ntop,这2个对IPV4和IPV6地址都能处理 #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int inet_aton(const char *cp, struct in_addr 阅读全文

posted @ 2012-04-06 10:53 网名还没想好 阅读(486) 评论(0) 推荐(0) 编辑

2012年4月5日

摘要: 这个标题用了两个顿号三个名称,其实说得是同一个东西,只是网上有不同的说法罢了,另外好像还有人叫TCP打孔(我的朋友小妞听说后问“要打孔啊,要不要我帮你去借个电钻过来啊?”“~!·¥%……·!”)。 闲话少说,我们先看一下技术背景: Internet的迅速发展以及IPv4 地址数量的限制使得网络地址翻译(NAT,Network Address Trans2lation)设备得到广泛应用。NAT设备允许处于同一NAT后的多台主机共享一个公网(本文将处于同一NAT后的网络称为私网,处于NAT前的网络称为公网) IP 地址。一个私网IP 地址通过NAT设备与公网的其他主机通信。公网 阅读全文

posted @ 2012-04-05 22:31 网名还没想好 阅读(462) 评论(0) 推荐(0) 编辑

摘要: P2P的NAT研究第一部分:NAT介绍第二部分:NAT类型检测第一部分: NAT介绍各种不同类型的NAT(according to RFC)Full Cone NAT:内网主机建立一个UDP socket(LocalIP:LocalPort) 第一次使用这个socket给外部主机发送数据时NAT会给其分配一个公网(PublicIP:PublicPort),以后用这个socket向外面任何主机发送数据都将使用这对(PublicIP:PublicPort)。此外,任何外部主机只要知道这个(PublicIP:PublicPort)就可以发送数据给(PublicIP:PublicPort),内网的主机 阅读全文

posted @ 2012-04-05 22:14 网名还没想好 阅读(362) 评论(0) 推荐(0) 编辑

摘要: 内容概述:在p2p通信领域中,由NAT(Network Address Translation,网络地址转换)引起的问题已经众所周知了,它会导致在NAT内部的p2p客户端在无论以何种有效的公网ip都无法访问的问题。虽然目前已经发展出多种穿越NAT的技术,但相关的技术文档却很少,用来证明这些技术的稳定性和优点的实际数据更少。本文的目的在于描述和分析在实际中运用得最广泛、最可靠同时也是最简单的一种NAT穿越技术,该技术通常被称为“打洞”技术。目前,“打洞”技术已经在UDP通信领域中得到了广泛的理解和应用,在此,也将讨论如何利用它实现可靠的p2p的TCP流通信。在收集了大量的“打洞”技术可以穿... 阅读全文

posted @ 2012-04-05 21:40 网名还没想好 阅读(550) 评论(0) 推荐(0) 编辑

摘要: 结论1:只要单侧NAT属于Full Cone NAT,即可实现双向通信。结论2:只要两侧NAT都不属于Symmetric NAT,也可双向通信。换种说法,只要两侧NAT都属于Cone NAT,即可双向通信结论3:一侧NAT属于Symmetric NAT,另一侧NAT属于Restricted Cone,也可双向通信。结论4,两个都是Symmetric NAT或者一个是Symmetric NAT、另一个是Port Restricted Cone,则不能双向通信。STUNU协议(Rfc3489、详见http://www.ietf.org/rfc/rfc3489.txt) 提出了4种NAT类型的定义及 阅读全文

posted @ 2012-04-05 21:22 网名还没想好 阅读(5723) 评论(0) 推荐(0) 编辑

2012年4月4日

摘要: 一、公钥加密 假设一下,我找了两个数字,一个是1,一个是2。我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥。我有一个文件,不能让别人看,我就用1加密了。别人找到了这个文件,但是他不知道2就是解密的私钥啊,所以他解不开,只有我可以用数字2,就是我的私钥,来解密。这样我就可以保护数据了。我的好朋友x用我的公钥1加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但是别人解不开,因为别人不知道2就是我的私钥,只有我才能解密,解密后就得到a。这样,我们就可以传送加密的数据了。二、私钥签名如果我用私钥加密一段数据(当然只有我可以用私钥加密,因为只有我知道2是我的私钥 阅读全文

posted @ 2012-04-04 21:46 网名还没想好 阅读(11088) 评论(1) 推荐(2) 编辑

摘要: P2P 之 UDP穿透NAT的原理与实现(附源代码)原创:shootingstars参考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理。首先先介绍一些基本概念: NAT(Network Address Translators),网络地址转换:网络地址转换是在IP地址日益缺乏的情况下产生的,它的主要目的就是为了能够地址重用。NAT分为两大类,基本 的NAT和NAPT(Net 阅读全文

posted @ 2012-04-04 21:05 网名还没想好 阅读(393) 评论(0) 推荐(0) 编辑

摘要: NAT的完全分析及其UDP穿透的完全解决方案一:基本术语防火墙防火墙限制了私网与公网的通信,它主要是将(防火墙)认为未经授权的的包丢弃,防火墙只是检验包的数据,并不修改数据包中的IP地址和TCP/UDP端口信息。网络地址转换(NAT)当有数据包通过时,网络地址转换器不仅检查包的信息,还要将包头中的IP地址和端口信息进行修改。以使得处于NAT之后的机器共享几个仅有的公网IP地址(通常是一个)。网络地址转换器主要有两种类型.P2P应用程序P2P应用程序是指,在已有的一个公共服务器的基础上,并分别利用自己的私有地址或者公有地址(或者两者兼备)来建立一个端到端的会话通信。P2P防火墙P2P防火墙是一个 阅读全文

posted @ 2012-04-04 16:40 网名还没想好 阅读(453) 评论(0) 推荐(0) 编辑

摘要: 1、什么是p2p:P2P是peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。这样一来,P2P也就可以理解为“伙伴对伙伴”的意思,或称为对等联网。目前人们认为其在加强网络上人的交流、文件交换、分布计算等方面大有前途。。。。具体参见:http://www.kuqin.com/p2p/20080411/6476.html 我们平时所说的对等网,就是指P2P网络,P2P的概念弱化了互联网中服务器的地位,使得每台计算机都成为服务器,同时又是使用者,大家来共享自己所需要的资源。2、什么是NAT:要了解P2P就必须了解NAT,我们写一般的套接字程序时都知 阅读全文

posted @ 2012-04-04 11:30 网名还没想好 阅读(848) 评论(0) 推荐(0) 编辑

上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 37 下一页