`
gaojingsong
  • 浏览: 1211519 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【TCP/IP的状态图解决Cannot assign requested address】

阅读更多

系统出现:Cannot assign requested address

 

网上找了下原因,大致上是由于客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端 口号,所以新的连接没办法绑定端口,即“Cannot assign requested address”。是客户端的问题不是服务器端的问题。通过netstat,的确看到很多TIME_WAIT状态的连接。

 

client端频繁建立连接,而端口释放较慢,导致建立新连接时无可用端口。

 

网上的解决方法:

 

执行命令修改如下2个内核参数 (需要root权限) 

sysctl -w net.ipv4.tcp_timestamps=1  开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用

sysctl -w net.ipv4.tcp_tw_recycle=1  表示开启TCP连接中TIME-WAIT sockets的快速回收

 

 



 

 

 

linux内核中存在两个参数:

      net.ipv4.tcp_tw_reuse = 1表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;

      net.ipv4.tcp_tw_recycle = 1表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。

    在/etc/sysctl.conf文件中加入上述参数,然后执行/sbin/sysctl -p让参数生效。

    但是由于我们项目在docker中运行,并且很难单纯通过增加机器进行横向扩展。当时从网上找到了docker调整网络内核参数的方式,但是经过试验,没有效果。

  • 大小: 33.6 KB
0
0
分享到:
评论

相关推荐

    Tomcat Cannot assign requested address: JVM_Bind 非端口占用冲突

    主要介绍了 Tomcat Cannot assign requested address: JVM_Bind 非端口占用冲突的相关资料,需要的朋友可以参考下

    gorm golang 并发连接数据库报错的解决方法

    底层报错 error:cannot assign requested address 原因 并发场景下 client 频繁请求端口建立tcp连接导致端口被耗尽 解决方案 root执行即可 sysctl -w net.ipv4.tcp_timestamps=1 开启对于TCP时间戳的支持,若该项...

    maven 3.5.0 Cannot assign configuration entry 'pluginArtifacts' with value '${pl

    标题 "maven 3.5.0 Cannot assign configuration entry 'pluginArtifacts' with value '${pl" 描述了一个在使用 Maven 3.5.0 版本时遇到的问题,该问题涉及到配置项 'pluginArtifacts' 的赋值错误,错误信息显示尝试...

    TcpIp Architcture, Protocols, and Implementation With Ipv6 and Ip Security

    This book is intended to be a practical guide to TCP/IP and contains detailed information on how to get started on a real network—how to tie together existing local and wide area networks, how to ...

    ros2.9x 4线负载均衡脚本

    :set assign-address [/ip address get [/ip address find dynamic=no interface=("pppoe-out" . $i)] address] :set assign-address [:pick $assign-address 0 ([:len $assign-address] -3)] :if ($assign-...

    三大框架详解

    然而,随着技术的发展,Spring Boot和Spring MVC的流行,现在的趋势更多是采用Spring全家桶,因为它提供了更为全面且现代化的解决方案。 在学习三大框架时,开发者需要理解它们的核心理念和使用方法,包括配置文件...

    Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#Object‘的解决方法

    当你遇到“Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'”这样的错误,通常是因为在同一个模块中混用了CommonJS(`require`和`module.exports`)和ES6模块(`import`...

    Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#<Object>‘的解决

    在Vue开发过程中,有时会遇到一个常见的错误:`Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'`。这个错误通常发生在使用Webpack打包Vue应用时,由于模块导入导出规范的...

    字符串内的替换之SyntaxError: cannot assign to literal

    问题描述: 当想替换字符串内的部分习惯表述时报错,源码如下: num1 = int(input(请输入起始序数n1:)) num2 = int(input(请输入结束序数n2:)) fuc = input(请输入以n为变量的通项公式(eg:2*n+1):) ...

    运维必备!linux查看端口占用情况

    Mar 21 21:25:02 VM_0_9_centos httpd: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80 Mar 21 21:25:02 VM_0_9_centos httpd: (98)Address already in use: AH00072: make_...

    ios-JoanKing灵活的瀑布流.zip

    @property(nonatomic,assign) UIEdgeInsets sectionInset; /** * 每一列之间的间距 */ @property(nonatomic,assign) CGFloat columnMargin1; /** * 每一行之间的间距 */ @property(nonatomic,...

    object-assign_Objectassign_

    例如,在React中,当需要创建一个新的组件状态时,可以使用`Object.assign`来避免直接修改原有状态,从而遵循不可变数据的原则: ```jsx this.setState(Object.assign({}, this.state, {newKey: newValue})); ``` ...

    Golang你一定要懂的连接池实现

    首先,连接池的引入主要是为了解决资源管理和性能优化问题。在Golang中,由于其goroutine并发模型,可能导致大量的连接在同一时刻被创建,如果没有有效的管理,可能会导致连接数过多,占用系统资源,甚至引起服务端...

    使用NanoHttpd在Android项目中搭建服务器

    NanoHTTPD是一个免费、轻量级的(只有一个Java文件) HTTP服务器,可以很好地嵌入到Java程序中。支持 GET, POST, PUT, HEAD 和 DELETE 请求,支持文件上传,占用内存很小。

    一个仿安卓ViewPager的库开源 - iOS版ViewPager高级库.zip

    默认支持 */@property (nonatomic, assign) BOOL enabledScroll;/** * 当前选择的菜单索引 */@property (nonatomic, assign) NSInteger selectIndex;/** * 菜单按钮背景属性 */@property (nonatomic, strong) ...

    dubbo-2.5.8

    基于dubbo2.5.8,修改了服务提供者protocol:host 属性,用于docker容器 -p 绑定端口 使用主机IP时,或者虚拟网络环境,解决网卡绑定错误问题 BindException: Can't assign requested address,慎用有不安全性,配置...

    Tomcat---servlet的重要设置.doc

    如果`address`属性设置为不正确的IP,Tomcat启动时可能会报错,如"cannot assign requested address: JVM_BIND:8080"。默认情况下,`address`属性未设定,Tomcat会监听所有IP地址的指定端口。 2. **Coyote ...

    MCSE2003教程之70-270

    It introduces you to the Domain Name System (DNS), which is an Internet and TCP/IP standard name service, and is required for Microsoft Windows 2000 domains and directory services based on Active ...

    S7-300 与第三方的 TCP 通信_Server(STEP7)

    - 在“IP address”处输入 IP 地址 192.168.0.1,在“Subnet mask”处输入 255.255.255.0,点击“Assign IP Configuration”。 **创建 PLC 项目** 1. **在 STEP7 V5.5 中创建项目**: - 在“File”菜单中选择...

Global site tag (gtag.js) - Google Analytics