关于跨网段建立TCP连接的思考

来源:互联网 发布:nginx ip会话保持 编辑:程序博客网 时间:2024/05/23 19:13


最近学习计算机网络,想弄个程序练习一下,于是就想到了在局域网内部传输文件练练手,在网上down了个程序,很快就可以跑通了,可以实现同一网段互相传输文件,但这个工作似乎很多软件已经做得很好了,比如IP信使、飞鸽传书什么的,于是就想到可以不可以跨网段传输文件呢。

       另一方面,由于我一个台式机一个笔记本,经常需要在两者之间传文件,而我只有一个QQ,所以还是有实现的必要的。最开始由于传文件的需要,以台式机为服务器,笔记本可以像台式机传文件,我还测估计了一下速度,接近2M/s,后来同样是由于传文件需要,将二者反过来(笔记本作为服务器,台式机向笔记本传文件),却发现不行,后来ping了一下,也不行,开始找原因了。

        首先,实验室的网络拓扑如下所示:


经过测试,笔记本可以ping通台式机,而台式机却不能ping通笔记本的ip。

       然后做出以下尝试:

(a)加路由。考虑到台式机的路由,于是在台式机上加一跳路由 route add 192.168.2.0 mask 255.255.255.0 192.168.1.31 metric 1,(这里的metirc 1,2,20我都试过),问题依旧。

        (b)比较奇怪的是,台式机可以ping通192.168.2.1,却ping不通192.168.2.100。

        (c)经过一个哥们的耐心帮忙,他提出了一种解决思路,就是把无线路由器的输入端的网线插到输出端(即把路由器当交换机用),然后把笔记本的ip改为自动获取(也可以手动设置到192.168.1.0网段内)。 这样就可以让台式机ping通笔记本了,而且笔记本也可以ping通台式机,虽然这两者之间的ping都偶尔会丢包,延时也在3~60多ms波动,但毕竟是可以通信了,成功率不是0%了。这样就可以实现文件的传输了。

         开始还发现这样设置笔记本不能联网了,后来不知道又怎么折腾的(把无线路由器的设置改了好几遍),又可以联网了,算是可完成所需的目标了。

          但是,这跟本文标题不符,我是想实现跨网段的文件传输,现在改了这么多改到一个网段里面去了,实际上还是在一个网段里面传输,有点不懂了,我在想QQ是怎么传文件的呢,QQ传文件应该不会都需要经过QQ的服务器,总不会像我这样的拓扑的两个主机传文件还要从QQ的服务器上绕一圈吧。

        未解,求帮助。

原创粉丝点击