免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: m4a1
打印 上一主题 下一主题

SOCKET TIME_WAIT问题? [复制链接]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
11 [报告]
发表于 2003-07-11 18:10 |只看该作者

SOCKET TIME_WAIT问题?

[quote]原帖由 "m4a1"]但是,仅仅连接不WRITE,就不会出现TIME_WAIT,[/quote 发表:
     

这个状态的出现是由tcp分节引起的,与应用数据无关。

下面是个例子,自己看看具体的过程


  1. from CLOSE_WAIT based on whether the application issues a close or a
  2.    close_swap.

  3.    The current passive close path is:


  4.       server                            client
  5.       -----------------------------------------------------------
  6.       ESTABLISHED                       ESTABLISHED
  7.       (get application close)
  8.       goto FIN_WAIT_1
  9.       send FIN           ---FIN--->;
  10.                                         goto CLOSE_WAIT
  11.                         <---ACK---      send ACK
  12.       goto FIN_WAIT_2
  13.                                         (get application close)
  14.                                         goto LAST_ACK

  15.                         <---FIN---      send FIN
  16.       goto TIME_WAIT
  17.       send ACK           ---ACK--->;
  18.                                         goto CLOSED


  19.    This solution adds this branch from CLOSE_WAIT on the client side:


  20.       server                            client
  21.       -----------------------------------------------------------
  22.       ESTABLISHED                       ESTABLISHED
  23.       (get application close)
  24.       goto FIN_WAIT_1
  25.       send FIN           ---FIN--->;
  26.                                         goto CLOSE_WAIT
  27.                         <---ACK---      send ACK
  28.       goto FIN_WAIT_2
  29.                                         (get application close_swap)
  30.                                         goto LAST_ACK_SWAP
  31.                         <---FIN---      send FIN
  32.       goto TIME_WAIT
  33.       send ACK           ---ACK--->;
  34.                                         goto TIME_WAIT
  35.                         <---RST---      send RST
  36.       goto CLOSED

复制代码

论坛徽章:
0
12 [报告]
发表于 2003-07-11 22:35 |只看该作者

SOCKET TIME_WAIT问题?

我的意思是:
client一连接server会首先出现状态(server端被动关闭):
tcp 0 0 scosysv.4444 scosysv.1097 TIME_WAIT
过一会为什么会变为:
tcp 0 0 scosysv.1100 sco_client.6800 SYN_SENT
我是有个DNS。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
13 [报告]
发表于 2003-07-12 11:28 |只看该作者

SOCKET TIME_WAIT问题?

??
没看明白。
这是两个连接呀?
主动关闭的一端是会有Time_out状态的,存在2MSL的时间。

论坛徽章:
0
14 [报告]
发表于 2003-07-12 11:52 |只看该作者

SOCKET TIME_WAIT问题?

是两个连接,不知道为什么会出现?难道是DNS搞的?
应该之主动,和CLOSE_WAIT搞反啦。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
15 [报告]
发表于 2003-07-13 10:13 |只看该作者

SOCKET TIME_WAIT问题?

你看看scosysv.1100 sco_client.6800 这两个端口分别是哪些进程的,
就知道在干嘛了。

用netstat -anp或lsof可以查

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
16 [报告]
发表于 2003-07-14 09:48 |只看该作者

SOCKET TIME_WAIT问题?

tcp 0 0 scosysv.4444 scosysv.1097 TIME_WAIT
过一会为什么会变为:
tcp 0 0 scosysv.1100 sco_client.6800 SYN_SENT


这个因该是两个不同的连接,估计楼主搞混淆了,呵呵

论坛徽章:
0
17 [报告]
发表于 2003-07-21 17:17 |只看该作者

SOCKET TIME_WAIT问题?

其实在连接断开时,只要谁先断(服务端与客户端) 是服务器主动断开,服务器就会出现TIME_WAIT状态,你可以改成由客户端先断,但是客户端也会出现TIME_WAIT,只是客户端都是一些随机的端口!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP