⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_21228.htm

📁 一些关于vc的问答
💻 HTM
📖 第 1 页 / 共 4 页
字号:
<hr size=1>
<blockquote><p>
回复者:和风 回复日期:2002-12-09 10:42:51
<br>内容:第一次是A通过代理a向代理b发送了一个包之后,b根据接收的源地址(即代理a的地址)和端口号(代理a为A分配的端口)回发,这样代理a就可以把数据转发给A。<BR>第二种情况只有在B上向代理a发送,并且应把目标地址设为代理b接收A数据包时的源地址(即代理a的地址)和端口号(代理a为A分配的端口),这样从B发送的数据A就可以收到了。<BR><BR>另本人有一个问题:<BR>在代理过程中,代理服务器用(ip,port)对来表示一个代理,因端口数有限,最多65536个,这样每台代理服务器所能代理的个数是不是就是有限个数,不考虑机器的处理能力。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:老天啊!! 回复日期:2002-12-11 20:00:44
<br>内容:&nbsp;&nbsp;&nbsp;&nbsp;我看了一遍大家的讨论,redspider最后一次所说的实验<BR>是正确的。ttkttk说的也就是这个意思。<BR>&nbsp;&nbsp;&nbsp;&nbsp;你们可能没有看到 IEFT 的Transport Area 中的 MIDCOMM 小组<BR>写的一个Internet draft, STUN - Simple Traversal of UDP Through Network Address Translators,它还没成为一个正式协议,<BR>还属于草稿。<BR>&nbsp;&nbsp;&nbsp;&nbsp;它里面说的非常清楚的,是OK的,实际确实如此,我试过。<BR>&nbsp;&nbsp;&nbsp;&nbsp;就是:代理服务器有四种情况,其中就有这种情况:A通过代理a<BR>向外部某个IP发送过东西后,外部这个IP向这个代理IP和端口发送的<BR>东西才能到达A。<BR>&nbsp;&nbsp;&nbsp;&nbsp;具体可以看资料,我们可以探讨一下,<BR>&nbsp;&nbsp;&nbsp;&nbsp;我也有些问题在这一方面。<BR>&nbsp;&nbsp;&nbsp;&nbsp;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:和风 回复日期:2002-12-12 13:11:10
<br>内容:请问另外三种情况了?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:老天啊!! 回复日期:2002-12-12 14:04:05
<br>内容:文档有说。<BR>The four types defined in [6] are:<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Full Cone: A full cone NAT is one where all requests from the<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; same internal IP address and port are mapped to the same<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; external IP address and port. Furthermore, any external<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; host can send a packet to the internal host, by sending a<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; packet to the mapped external address.<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Restricted Cone: A restricted cone NAT is one where all requests<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from the same internal IP address and port are mapped to<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the same external IP address and port. Unlike a full cone<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NAT, an external host (with IP address X) can send a packet<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to the internal host only if the internal host had<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; previously sent a packet to IP address X.<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Port Restricted Cone: A port restricted cone NAT is like a<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; restricted cone NAT, but the restriction includes port<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; numbers. Specifically, an external host can send a packet,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with source IP address X and source port P, to the internal<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; host only if the internal host had previously sent a packet<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to IP address X and port P.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Symmetric: A symmetric NAT is one where all requests from the<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; same internal IP address and port, to a specific<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; destination IP address and port, are mapped to the same<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; external IP address and port. If the same host sends a<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; packet with the same source port, but to a different<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; destination, a different mapping is used. Furthermore, only<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; the external host that receives a packet can send a UDP<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; packet back to the internal host.<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:和风 回复日期:2002-12-13 11:11:16
<br>内容:谢谢你的解答,原来如此呀!!<BR>其实关于代理是有很多东西值得探讨探讨的:比如,这样一个问题。<BR>A(局域网内)通过代理a向代理b发送UDP包之后,B(局域网内)通过代理b向A回传UDP包,此时A是可以收到UDP数据包的。但若出现这样的情况:在A与B之间可以通信之后,代理a重新启动,此时B按照原来的地址和端口向A发送UDP数据,A还能收到吗?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:老天啊!! 回复日期:2002-12-13 17:58:02
<br>内容:代理重新启动以后,得重来了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Redspider 回复日期:2002-12-13 19:18:22
<br>内容:谢谢pj13的解答,一切都明白了。我现在基本可以判定公司那台机器(也就是a)所用的代理应该属于后两种了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:和风 回复日期:2002-12-17 16:17:26
<br>内容:又有一个问题,在用QQ时经常会看到有注释(通过服务器中转),客户端如何知道该直接发送给对方,还是发送给服务器,通过服务器中转,当然当客户端知道对方不在线时会这样做,但很多时候对方在线时也会这么做。为什么呀????
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:和风 回复日期:2002-12-18 11:18:07
<br>内容:能不能再介绍一些支持这四类代理的软件?????
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Redspider 回复日期:2002-12-18 14:06:45
<br>内容:服务器中转的问题我是这样理解的,你可以仔细看一下我截获的oicq报文,发送方将消息发给接收方后,还必须等待对方的应答报文,如果等不到就重发。每次发送,发三个相同的udp包,然后等待,3秒内未得到回应就再重发三个相同的包,一共尝试6次,18个包,如果还没有回应,就发给服务器,也就出现那个“服务器中转”的标记了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:和风 回复日期:2002-12-23 11:19:38
<br>内容:有一个问题,在我们局域网中用QQ时,双方是直接传递UDP包的(没有通过服务器中转),但我也做了和redspider<BR>相似的试验,结果是:不能直接收到对方的数据包,而必须通过服务器中转。为什么呢,好像即使通信双方可以直接传递信息,但有时也会失败,是那些原因造成的呢???
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Redspider 回复日期:2002-12-23 12:13:40
<br>内容:因为即使是在同一个局域网里,但是由OICQ的服务器来传递对方的地址的,服务器得到的是代理服务器的地址和端口,而不是局域网里的。而在局域网里照着代理服务器的公网地址发报文,代理服务器一般是不会理你的,所以,就会出现那个服务器中转。例如,同一局域网里的机器192.168.1.3和192.168.1.4通过网关192.168.1.1上网,网关的公网地址为202.96.111.111,那么,1.3和1.4得到的对方的地址都是202.96.111.111 + 代理端口,以这个为目标地址发送报文,代理服务器(192.168.1.1)一般都不会反应的。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:和风 回复日期:2002-12-23 18:08:46
<br>内容:那OICQ服务器得到的IP和Port可能是什么样的呢。<BR>不过我做试验不是在局域网内,而是一个类似OICQ的聊天软件做的,这个软件做的相当不错。界面和OICQ完全相同,功能也很完善,要不有兴趣的话,我发一个给你,咱俩试试???!!可好?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Redspider 回复日期:2002-12-23 21:37:49
<br>内容:oicq服务器得到的地址和端口,就是代理服务器的地址和映射后的端口。同一局域网里的两个用户,OICQ服务器将得到同样的地址和不同的端口。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:流流 回复日期:2002-12-24 13:36:22
<br>内容:谢谢redspider给大家提供这么好的试验结果,我想问一下<BR>现在大多数局域网用的代理服务器象wingate,sygate,等<BR>都是属于那种类型的,还有我也想作这样的实验,但是我想<BR>自己做一个服务器端的程序用来纪录访问的ip和port<BR>我怎样才能得到udp数据报的ip和port呢?期待您的回答。。。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:和风 回复日期:2002-12-24 15:55:32
<br>内容:细细看了看有关代理的情况:发现有些混淆不清了,就以下问题请教各位。<BR>就概念来说代理可分为:<BR>1、NAT代理:即上面讨论了这么多的端口重定向代理。其缺点可能就在于有时对UDP可能只有指定的外部IP可以回发。<BR>2、socks4代理:只能代TCP连接。问题1:其实现原理是不是就是用NAT的原理?<BR>3、socks5代理:可代理TCP、UDP。问题同上。<BR>4、http代理:应用层代理,把数据封装成http协议后进行传输,基本上只要能浏览网,就可以和外界进行通信。缺点是速度可能有点慢。<BR><BR>表述不正确的地方欢迎指正,若有对细节了解更多者请予以补充,谢谢!!!<BR><BR>最后一个问题:是不是用非NAT代理(socks5和http代理)就不存在上面讨论的问题,即不需要通过服务器中转,而直接将UDP数据传输给对方?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Redspider 回复日期:2002-12-25 21:22:58
<br>内容:我们上面讨论的那么多,其实应该都是NAT类的代理。原因很简单,我们在用OICQ的时候没有设置任何代理服务器,就可以被代理。也就是传说中的透明代理,即应用程序不需要知道任何有关代理的设置信息。而后三种都必须在应用程序中设置。<BR><BR>如果用SOCKS代理的话,我估计问题就不一样了。对SOCKS代理了解不多,不敢妄言。
<br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -