Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7173163
  • 博文数量: 3857
  • 博客积分: 6409
  • 博客等级: 准将
  • 技术积分: 15948
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-02 16:48
个人简介

迷彩 潜伏 隐蔽 伪装

文章分类

全部博文(3857)

文章存档

2017年(5)

2016年(63)

2015年(927)

2014年(677)

2013年(807)

2012年(1241)

2011年(67)

2010年(7)

2009年(36)

2008年(28)

分类: LINUX

2013-05-03 16:09:23

原文地址:tcp/ip协议新认识(四) 作者:liuzan_abc

     tcp/ip协议中存在一些基本的术语,如MSL,TTL,RTT等。
     MSL(max segment lifetime) 表示报文的最大生存时间,即包在网络上存在的最长时间,超过这个时间的包将被丢弃,这个值实际应用中是30s,1min,2 min等。
     TTL(time to live) 表示包经过的最大的路由器的个数,这个值有源主机设置,每当包经过一个路由器,它的计数就减1,当为0时,这个包被丢弃,同时ICMP通知源主机。
      在效果上MSL要比TTL大。
      RTT(round-trip time) 表示client 到server的往返时间,TCP含有动态估算RTT的算法。
      TCP连接关闭的发起者在收到对端的关闭请求,并发出关闭确认后进入time_wait后有一个等待时间,这个时间就是2MSL,主要是端口的占用的时间,如果设置了SO_ADDRREUSE就没有关系,close_wait是被关闭的一侧的状态。
       基于上面的一些概念,当网络出现异常时,就会出现半开连接和半闭连接,以及rst命令的出现。
       例如:
             server重启后,先前已经建立连接的client在毫不知情地情况下,发送数据,这就是半闭连接,此时server就会发送rst命令。
             半开连接就是在连接连接的过程中,没有及时收到响应,半开连接与半闭连接的最大区别就是半闭连接不能用,半开连接可以用。
              client发送syn到server,但是server的端口并为打开,此时server也会发送rst。
       在server抓包如果出现rst命令,可以尝试使用netstat查看连接的状态,以确认问题的原因。
阅读(535) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~