lwip C/S模型调试 抓包看到常见的错误状态

tcp协议数据报头格式:


其中标志位flag:

  • URG: 紧急指针有效
  • ACK:确认序号有效
  • PSH:接收方应尽快将这个报文段交给应用层
  • RST:重建连接
  • SYN:同步序号用来发起一个连接
  • FIN: 发端完成发送任务(主动关闭)
其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应,如果只是单个的一个SYN,它表示的只是建立连接。TCP的几次握手就是通过这样的ACK表现出来的。但SYN与FIN是不会同时为1的,因为前者表示的是建立连接,而后者表示的是断开连接。RST一般是在FIN之后才会出现为1的情况,表示的是连接重置。一般地,当出现FIN包或RST包时,我们便认为客户端与服务器端断开了连接;而当出现SYN和SYN+ACK包时,我们认为客户端与服务器建立了一个连接。PSH为1的情况,一般只出现在 DATA内容不为0的包中,也就是说PSH为1表示的是有真正的TCP数据包内容被传递。TCP的连接建立和连接关闭,都是通过请求-响应的模式完成的。

tcp常见错误状态

  • Tcp previous segment lost/not captured  [SYN,ACK](tcp先前的分片丢失)
  • Tcpacked lost segment(tcp应答丢失)
  • Tcp window update(tcp窗口更新)
  • Tcp dup ack  [ACK](tcp重复应答)
  • Tcp keep alive(tcp保持活动)
  • Tcp retransmission(tcp重传)
  • Tcp ACKed unseen segument (tcp看不见确认应答)
  • tcp port numbers reused(tcp端口重复使用)
    在线调试的时候发生过:
    1、MDK---在线调试--debug,先跑起来一次,连接ok后.......
    2、点击RST按钮,这里 按理说 跟掉电重新上电一样子,然 不一样,好像并没有释放掉之前的RAM..-
    3、过程中抓包,就会看到这类现象..
  • tcp retransmission(tcp重传)
  • tcp fast retransmission (tcp快速重传)
  • TCP  Previoussegment lost(发送方数据段丢失)
  • tcp spurious retransmission   /  spurious retransmission timeouts  (tcp伪重传)[SYN]
    spurious retransmission timeouts理解 
  • TCP ACKed unseen segment  [RST,ACK]
  •  spurious retransmission timeouts

/*----------—————————————待续————————-----------*/



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值