硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3722|回复: 1
收起左侧

[RL-TCPnet] 群友整理的RL-TCPnet中几个关键参数解释,非常不错

[复制链接]

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115472
QQ
发表于 2019-5-10 18:27:39 | 显示全部楼层 |阅读模式
1、TCP_ENABLE :
启动TCP

2、TCP_NUM_SOCKS:
可用TCP socket的数量

3、TCP_MAX_RETRY:
TCP socket send()失败时,  最大重传次数

4、TCP_RETRY_TOUT:
TCP socket send()失败时,首次重传时间间隔

5、由图1~图4可以看到,TCP_MAX_RETRY和TCP_RETRY_TOUT决定的是send失败后重传的次数和首次重传时间间隔  重传时间可以看出,每次重传时间间隔是上一次的两倍,具体可以百度“TCP RTT”(时间在毫秒级别上有点不准,可能是我定时器不够准?不要太在意 :) )

图 1 TCP socket 连接正常和send正常
1.png

图 2 TCP socket 连接正常和send失败 TCP_MAX_RETRY=3 TCP_RETRY_TOUT=1
2.png

图 3 TCP socket连接正常和send失败 TCP_MAX_RETRY=3 TCP_RETRY_TOUT=3
3.png

图 4 TCP socket 连接正常和send失败 TCP_MAX_RETRY=5 TCP_RETRY_TOUT=1
4.png

6、TCP_DEFAULT_TOUT:  
TCP socket 启动 keepalive 属性,在此参数设置时间内,无任何数据包发送,则会发送keepalive 包 如下图

图 5 TCP socket 连接正常和 send()数据包后,长时间无数据包,keilalive 包维持此链接连接 TCP_DEFAULT_TOUT=60
5.png

7、TCP_MAX_SEG_SIZE:
TCP socket 单个数据包内最多包含字节数

8、TCP_RECEIVE_WIN_SIZE:
TCP socket 接收窗口大小

9、TCP_INITIAL_RETRY_TOUT:
TCP socket 端口号首个SYN包与首个重连SYN包时间间隔

10、TCP_SYN_RETRY_TOUT:
TCP socket 开始发送重连SYN包后,SYN包时间间隔

11、TCP_CONNECT_RETRY:
TCP socket 发送重连SYN包的最大数量(在到达最大次数后,端口号+1继续尝试)

上面三个参数共同决定SYN包重发的机制,包括开始重传时间,重传时间间隔,重发的次数

图 6 TCP_INITIAL_RETRY_TOUT=1 TCP_SYN_RETRY_TOUT=1 TCP_CONNECT_RETRY=6
6.png

图 7 TCP_INITIAL_RETRY_TOUT=5 TCP_SYN_RETRY_TOUT=1 TCP_CONNECT_RETRY=6
7.png

图 8 TCP_INITIAL_RETRY_TOUT=1 TCP_SYN_RETRY_TOUT=2 TCP_CONNECT_RETRY=6
8.png

图 9 TCP_INITIAL_RETRY_TOUT=1 TCP_SYN_RETRY_TOUT=2 TCP_CONNECT_RETRY=3
9.png

12、TCP_DYN_PORT_START:
TCP socket 端口号开始值

13、TCP_DYN_PORT_END:
TCP socket 端口号结束值(接着会从开始值重新开始)


回复

使用道具 举报

39

主题

1503

回帖

1625

积分

至尊会员

积分
1625
发表于 2019-5-10 19:05:17 | 显示全部楼层
总结的非常不错
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-4-27 17:33 , Processed in 0.221549 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表