各位大佬,小弟有个问题.............

xiaoduan 2001-07-01 05:06:12
我们公司内部局域网各ip为192.168.0.1~192.168.0.255,代理服务器连入internet,
那么请问:上网时代理服务器ip为isp动态分配,其他机器呢?其他机器能否与
其他internet上机器建立基于tcp的点对点的连接?如果能,如何做?如果不能,为什么?

另请熟读<<tcp/ip详解1~3卷>>并有感触的大牛留下QQ、mail,小子登门照访:)
...全文
161 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoduan 2001-07-04
  • 打赏
  • 举报
回复
呀呀,csdn给分功能不对劲
alter_ck 2001-07-03
  • 打赏
  • 举报
回复
它建立一个地址对到地址对映射关系
private source ip + source port private ip <--> public ip ( for napt ) + public port on public ip 当报文穿过nat设备时进行替换

to duuyuu(冰河)大虾 可以讲一下http隧道技术吗,谢谢
leonqin 2001-07-03
  • 打赏
  • 举报
回复
duuyuu(冰河)兄:“当这个特殊的数据包到达另一端的隧道口网关后剥离出ip分组后继续向前传递若干跳到达服务器。”。这里ip包的源地址是不是应该修改成网关的ip?这里的网关应该是个PAT的特殊实现吧?
duuyuu 2001-07-03
  • 打赏
  • 举报
回复
http隧道的系统结构如下:

客户机<--隧道口网关(伪装成浏览器)<-->http代理(本地出口防火墙)<-->隧道口
网关(伪装的web-server)-->服务器
隧道口网关将从客户机(服务器)得到的ip分组封装到http请求中,
因为基于http的数据传输可以在应用层经过http代理服务器,这样就能穿
过防火墙,当这个特殊的数据包到达另一端的隧道口网关后剥离出ip分组后继续向前传递
若干跳到达服务器。
由于隧道对客户机软件透明,所以客户机和服务器可以建立端到端连接。
这仅仅是一个基本的模型,具体实现可以有很多种变化,比如:客户机<--隧道口网关以及
隧道口网关-->服务器 可以分别集成到一个软件中,可以简化结构并增加灵活性,由于此时
隧道口和目标机之间不用经过路由,所以不必封装ip分组,可以直接封装高层协议增加传输
效率。

xiaoduan 2001-07-03
  • 打赏
  • 举报
回复
谢谢各位大虾乐
xiaoduan 2001-07-03
  • 打赏
  • 举报
回复
to duuyuu(冰河):
给分!!!!!
很少哦,不好意思
另:给个mail吧:-)
duuyuu 2001-07-03
  • 打赏
  • 举报
回复
to leonqin(BATZ_MARU) :
对,应该修改,否则服务器的回应包就回不到隧道口了。
to xiaoduan(一个梦想) :
你要透过什么代理呢?如果是透明代理的话,没有任何不同。
如果是socks5,你要用for socks5的socket开发包,里面每
一个库函数都作了修改以支持socks5代理,但对你编程来说,
区别也很小,几乎是透明的。
至于如何得到这个开发包,你可以到网上搜一下看看。
如果不用socks的开发包的话,就比较痛苦了,你要了解socks5的
详细规范,呵呵,慢慢看rfc吧!
如果要通过应用层代理,唯一的办法是详细了解该代理规程。
xiaoduan 2001-07-03
  • 打赏
  • 举报
回复
up
xiaoduan 2001-07-03
  • 打赏
  • 举报
回复
to duuyuu(冰河):
如果我要写一个能透过代理服务器的tcp/ip应用,与一般的tcp/ip程序有什么不一样?
谢谢你的指教
xiaoduan 2001-07-02
  • 打赏
  • 举报
回复
to alter_ck:
谢谢
>>首先你门都向服务器注册一个ip地址和udp端口号,
服务器是我公司的代理服务器还是isp的服务器

>>然后服务器将向把你作为好友的计算机通告
>>你的ip和端口号,以后你们就用这个ip地址和udp端口号通信
如果是我公司的代理服务器,那么我的ip是如果分配的?好友的计算机能找到吗?
如果是isp服务器......那好象不可能吧

duuyuu 2001-07-02
  • 打赏
  • 举报
回复
伪的连接就是实际上并没有连接,但是给你的感觉是建立了连接,而且,你
丝毫觉察不出来它和真正建立了连接有什么不同。
举个例子,就举透明代理吧,当你要求tcp握手的时候,syn信号被发到默认
网关(同时也是代理服务器),它将这个包的源ip地址和端口映射到自己的internet
全局地址和端口上,并以此为源地址和端口转发出去,当syn-ack回应到来时,它
依照先前的映射关系将它的目的地址,端口转为你的ip和端口转发到你的机子,如此以往
连接就建立起来了,但是和你“连接”的对方纪录的并不是你的ip地址,而是代理服务器
得全局地址,所以这不能算真正的连接。
xiaoduan 2001-07-02
  • 打赏
  • 举报
回复
谢谢duuyuu(冰河)大虾
继续麻烦一下:)
>>就可以和对方建立一个伪的端对端的tcp连接
此时我的机器有internet的ip吗
>>伪的端对端
能给我阐述一下是什么概念吗

duuyuu 2001-07-02
  • 打赏
  • 举报
回复
如果你们走的代理是socks5,透明,NAT/PAT,就可以和对方建立一个伪的端对端
的tcp连接,虽然是伪的,但是对你来说是透明的,和真的一样。
如果是应用级代理(如http proxy)就不能和对方建立tcp连接。
在http代理的环境下,oicq用http隧道技术实现通信, 这时候,是基于http隧道的
端对端连接。

xiaoduan 2001-07-02
  • 打赏
  • 举报
回复
tq
alter_ck 2001-07-01
  • 打赏
  • 举报
回复
不是,是通过点对点的udp协议
首先你门都向服务器注册一个ip地址和udp端口号,然后服务器将向把你作为好友的计算机通告
你的ip和端口号,以后你们就用这个ip地址和udp端口号通信
xiaoduan 2001-07-01
  • 打赏
  • 举报
回复
各位感兴趣的朋友帮忙提前提前帖子
谢谢!!!!!!!!!
xiaoduan 2001-07-01
  • 打赏
  • 举报
回复
to wwwunix(木易):
是的

另:
CSDN的大牛们帮帮忙阿
wwwunix 2001-07-01
  • 打赏
  • 举报
回复
Sorry,QQ我没认真研究过。但肯定是让数据通过了代理。
QQ通过代理也能传文件吗?
xiaoduan 2001-07-01
  • 打赏
  • 举报
回复
to wwwunix(木易):
那我用QQ与别人交换文件时QQ是如何实现的呢?用广播吗?
wwwunix 2001-07-01
  • 打赏
  • 举报
回复
1、其它机器因为是通过代理上的internet,所以不可能直接用socket地址对来进行曲联接,因为要通过代理。
2、正在研究此书。

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧