linux端口timewait设置,为什么linux重用’time_wait’端口?

据我所知,’time_wait’stat中的tcp端口不能使用.但是,在我的实验中,服务器重用’time_wait’端口?为什么?

首先,在客户端机器中,键入命令ehco 40000 40001>的/ proc / SYS /网/的IPv4 / ip_local_port_range.因此,TCP端口的最大数量为2.

服务器代码

while (1) {

int len = sizeof(struct sockaddr);

fd = accept(sfd,&remote,&len);

read(fd,buf,sizeof(buf));

close(fd);

}

客户代码

for (i = 0; i < 3; i++)

{

sleep(1);

pid_t pid = fork();

if (pid == 0)

{

handler();

exit(0);

}

}

void handler()

{

* ............. */

res = connect(sfd,result->ai_addr,result->ai_addrlen);

if (res == -1) {

perror("error");

exit(1);

}

printf("connect\n");

}

节目

[root@livecd ~]# ./client

connect

[root@livecd ~]# connect

connect

最多3个连接.我想,最多2个连接.为什么?

服务器有2个timewait连接.

[root@livecd ~]# netstat -anp | grep TIME

tcp 192.168.88.131:2016 192.168.88.132:40000 TIME_WAIT

tcp 192.168.88.131:2016 192.168.88.132:40001 TIME_WAIT

环境

Linux livecd.centos 2.6.32-642.el6.i686 #1 SMP Tue May 10 16:13:51 UTC 2016

服务器配置

[root@livecd ~]# cat /proc/sys/net/ipv4/tcp_fin_timeout

60

[root@livecd ~]# cat /proc/sys/net/ipv4/tcp_tw_recycle

0

[root@livecd ~]# cat /proc/sys/net/ipv4/tcp_tw_reuse

0

客户端配置

[root@livecd ~]# cat /proc/sys/net/ipv4/ip_local_port_range

40000 40001

重要

我也尝试ubuntu服务器14.04,但得到了相同的结果.

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值