sinokor 2008-2-28 11:14
跨网段的连接空闲会断开
设备:netscreen ssg550
环境:oracle数据库服务器 在192.168.1.0的网段
客户端 在192.168.0.0的网段
问题描述:有时客户端的应用程序闲置时(VB写的),过半小时或1小时 连接就会断开
在客户端用TOAD(数据库连接软件)连接到服务器也是差不多的情况
ORACLE服务器在同一个网段的时候没有发生过这样的问题,把服务器划到另一个网段的时候才开始有以上问题的
在现在这个情况如何才能解决这个问题呢? 谢谢高手们的指点。
jjjhappy 2008-2-29 09:41
TCP会话最多只能保持30分钟,这是根据国际标准制定的,但某些应用程序在开发时,开发人员并不懂得这个道理,所以就出现了LZ这样的问题。
解决办法,在SSG550上可以修改协议超时的时间,把对应ORACLE服务的超时时间改的足够大就可以了
wzknet 2008-2-29 10:33
[b]啥也不说了,看图吧(标双红色线方框那就是定义TIMEOUT的):[/b]
[[i] 本帖最后由 wzknet 于 2008-2-29 10:35 编辑 [/i]]
sinokor 2008-2-29 13:47
不好意思,我已经把那个改过了 上图的那个 custom 里的TIME 我改成720(相当于12小时),还是没用的
有人告诉我,防火墙内部有个默认的规则就是,连接空闲多长时间以后会把它认为空闲的session断开
而且这个时间不能更改,不知道是不是真的有这种规则 准确是多长时间?
[[i] 本帖最后由 sinokor 于 2008-2-29 13:48 编辑 [/i]]
sinokor 2008-2-29 17:26
回复 WZKNET:
你好,我在你的BLOG里看了一会儿
好像没有找到跟应用程序层面的技术文章
你可以讲一下大概的思路吗?
因为这个问题,我苦恼了很长时间
也请人看过,还是没有得到答案
sinokor 2008-3-7 13:25
策略里面也应用过了,好像没有有起做用
问题一直存在,如果没有在策略里的话,连接也会连不上的.
[[i] 本帖最后由 sinokor 于 2008-3-7 13:27 编辑 [/i]]
hj28 2008-3-7 13:34
连接空闲期间是否一点儿流量也没有,也就是说空闲期间是否一个包都没有啊?我觉得会有几个原因产生这个问题。1,arp过期,你可以持续的ping着这两台机器,让他们的arp一直有效或者做成静态的。顺便看看丢包不。2,tcp seession time out ,或者其它地方有设置timeout。3,应用层问题。对于后两种情况,如果流量不是很大,我建议你抓包抓几个小时,直到故障重现。抓通信两端的服务器。然后分析一下看看有没有什么有价值的数据。遇到疑难杂症,还得抓包分析。