导航:首页 > 操作系统 > linux心跳检测

linux心跳检测

发布时间:2022-12-25 09:01:28

㈠ Windows、linux和路由器的网络子接口-虚拟IP

    前段时间在调试时,将外网接入内部局域网,然后使用向日葵远程连接调试。Windows一个网络适配器只能设置一个IP地址,后面才发现可以通过网络子接口来设置虚拟IP,内部网络通过正常的IP地址通信,外部网络通过子接口来进行通信,即一个物理网口上连接两个子网。Windows可以设置网络子接口,笔者就延申到Linux系统上,总结在不同平台设置网络子接口的方法。需要明确的是,虚拟IP的数据还是经过真实的物理网络接口。简而言之,网卡设备都有一个MAC地址,但是却可以有多个网络层IP地址。

    本文以Windows10和CentOS8为例。

  Windows平台上:

    微软官网对于网络子接口有这样的描述:

1)一个逻辑IP网络正在使用中,并且此计算机需要使用多个IP地址才能在该网络上进行通信。

2)正在使用多个逻辑IP网络,并且此计算机需要一个不同的IP地址才能与每个不同的逻辑IP网络进行通信。

    当不使用“常规”选项卡上的“自动获取IP地址”时,才可以使用“高级TCP/IP设置”进行此网络连接,来完成高级IP寻址。在设置里面,Interface metric 接口度量标准(跃点数)可以设置该接口的优先级,接口度量标准的值越小,表示使用该接口的优先级越高。自动度量标准(自动跃点),最高速度的接口具有最低的接口度量值,优先级越高。

Linux平台上:

    Linux平台上虚拟ip基本上都用于高可用的架构上,比如keepalived就是通过托管VIP里完成飘逸,可以参考笔者以前的文章-Keepalived让树莓派也可以VIP漂移。其实这一篇文章对于keepalived也会有很好的理解了。看一下文章里面的Keepalived后通过ip addr查看的结果。

    VRRP协议来通信完成心跳检测,然后使用辅助IP的ip addr add 来添加虚拟IP地址,主用不在线就del掉VIP,然后在从机上add 同样的VIP。为什么不是ifconfig命令呢,那就需要你仔细看看关键信息找区别了,如果你安装了的话可以使用ifconfig来确定是否能够查看到VIP。

    接下里我们就看看在Linux中创建虚拟IP有两种方法,分别是:别名IP(IP aliases)和辅助IP(secondary IP addresses)。

    1、别名IP是通过ifconfig命令去创建和操作的虚拟ip。

sudo ifconfig enp0s3:1 192.168.31.5 broadcast 192.168.31.255 netmask 255.255.255.0 up

    删除别名IP,将up改为down。

sudo ifconfig enp0s3:1 192.168.31.5 broadcast 192.168.31.255 netmask 255.255.255.0 down

    如果开机就需要别名IP地址的话,需要到/etc/sysconfig/network-scripts目录下新建一个子接口来永久性修改配置文件。将原ifcfg-enp0s3文件复制后,然后修改其中的IP地址信息。

    cp ifcfg-enp0s3 ifcfg-enp0s3:1

    为了方便也可以将ifconfig命令去创建和操作的虚拟ip的命令加入到开机启动中,详情参考笔者以前的文章-Linux设置脚本开机启动的四种方法。

2、辅助IP是由linux的ip命令去创建和操作的。

sudo  ip addr add 192.168.31.5/24 brd 192.168.31.255 dev enp0s3 label enp0s3:1

    设置完成后,也可以通过ifconfig来查看。但是如果在命令后面不添加label enp0s3:1的话,那么ifconfig就不能查看了。

    删除辅助IP,将add替换成del即可。

sudo  ip addr del 192.168.31.5/24 brd 192.168.31.255 dev enp0s3 label enp0s3:1

    辅助IP需要持久化的话,只能将ip命令去创建和操作的虚拟ip的命令加入到开机启动中了。

    路由器通信设备:

    路由器接口有限, 一个物理接口可以配置子接口(逻辑接口)的方式来实现一当多的功能。具体配置参考笔者的文章-eNSP模拟实验-单臂路由实现VLAN间通信。

㈡ 两台linux如何测试心跳

要想实现这样的功能必须自己写心跳程序,一般是用socket实现,并且两台服务都必须是双网卡才有意义。
首先,将两台服务直连。
其次,建立心跳程序服务端和客户端,分别安装在主备服务上,主服务器一直发alive信息给备服务器,一单收不到信息,【就停止主服务器】,备用服务器启动。
最后,发警告信息。

㈢ Linux系统纳柚肨CP心跳机制Keepalive为什么总是无效果


于一个已经建立的tcp连接。如果在keepalive_time时间内双方没有任何的数据包传输,则开启keepalive功能的一端将发送
keepalive数据包,若没有收到应答,则每隔keepalive_intvl时间再发送该数据包,发送keepalive_probes次。一直没有
收到应答,则发送rst包关闭连接。若收到应答,则将计时器清零。

㈣ linux c 语言怎么实现心跳包

看你是怎么定义(一般根据网络环境定义),比如说你的心跳包时间间隔为5分钟,那服务器可以检测下客户端6分钟内有没有发心跳包上来,有的话,重新计时6分钟,如果6 分钟内没有上报心跳包的话,就把这客户端的连接断开.

㈤ ha什么情况下切换 linux

HA全称High Availability,翻译过来叫做高可用,当心跳检测失败时,也就是互相之间检测到连通性有问题时,会发生你说的切换

㈥ linux多线程 心跳机制怎么实现

开一个线程每10秒发一次固定包啊,服务端收到次心跳包,固定回复吧!

㈦ 怎么样设备的心跳报文 在linux中的嵌入式设备中

心跳包类似于看门狗,一段时间内收不到信号,就认为设备挂了,设备挂了就重启设备,或者重新连接设别。至于报文的内容无所谓,随便定义就行了。

㈧ redhat linux6.2集群 如何添加心跳

心跳线就是二个服务器有二个网口。用跳线接上。配成一个段的ip地址、这就成了心跳线

㈨ 求linux c语言的心跳包程序

首先,心跳包一般是30秒或者1分钟一次才正常,3秒一次太频繁,耗损资源,降低效率,心跳包其实就是你自己定义一条数据send给服务器,服务器recv到这条数据做下判断就行了,如果1分钟没收到这条数据,就断开此客户端的socket连接,返回socket值,根据返回的值确定此客户端掉线了.

㈩ 【tcp】心跳检测,保活机制

为什么要心跳检查?

因为目前讨论的数据连接场景,都是无源连接,排除NAT的情况,连接就是存在于src和dest两端OS中的状态机,为什么会要用无源连接呢,有源是连接建立带宽就分配好了,不传有效数据这个带宽也被占用着,这不就浪费了,虚拟信号时代的电话就是有源的。

心跳检查是两端都要做的,不做的那一端一样存在状态不对而不自知的情况。

状态机在两端是有可能不一致的,比如一端认为这条连接已经销毁,另外一端可能认为仍有效。心跳机制的作用之一就是解决这种不一致的情况,类似“校对”的作用。

在浏览器上请求一个需要长时间才得到结果的请求,最后返回超时错误。

你说的情况我们经常遇到,我估计你说的就是客户端自己的超时设置,也就是如果http响应无法在限定时间内完成(比如1秒内),那么客户端应用程序自己会报timeout错误。

这应该不是中间设备做了reset,因为如果是那样,这个中间设备应该会给客户端和服务端都发TCP RST,然后客户端报错会变成ECONNRESET这种(ECONNRESET是linux的网络协议栈报给用户空间程序的报错)。

心跳消息显示push ack是为何呢?

按照TCP协议(参考RFC793)规定,操作系统收到有PSH标志位的报文后,这些报文不会被驻留在接收缓冲区,而是要立即通知用户空间程序来接收。这样对于用户空间程序及时收发处理心跳报文是有利的。

AWS的nlb keep-alive最大是350s,我们的服务端keep-alive是默认配置,客户端使用了连接池,也进行了探测,但是有个骚操作是随机选取池子里面的一个链接进行探测,然后那些超过350s还没探测的链接,再次使用就出问题了。

你说的“随机选取池子里面的一个链接进行探测”,我判断是健康检查,就是业务健康性(类似k8s的readiness probe),而不是keepalive。

如果是这样的话,这个健康检查确实不是为保活而生的,也很难达到保活的目的。建议这样做设置:client idle timeout < LB idle timeout < server idle timeout,这样可以尽可能的保证不出现连接失效的情况。

这里说的“保活时间”,不是心跳包的间隔,而是空闲保活时间,idle timeout。

保活机制:心跳包异常导致应用重启?

https://time.geekbang.org/column/article/482610

如何解决 Keep-Alive 导致 ECONNRESET 的问题

https://zhuanlan.hu.com/p/86953757

解决使用 KeepAlive Agent 遇到的 ECONNRESET

https://zhuanlan.hu.com/p/34147188

阅读全文

与linux心跳检测相关的资料

热点内容
单片机的原理概述 浏览:506
火控pdf 浏览:267
如何复制云服务器centos环境 浏览:984
债权pdf 浏览:299
红色番字的app怎么下载 浏览:876
云服务器流程教课 浏览:702
中国农业银行app怎么没有网 浏览:997
几率表算法 浏览:902
程序员理工科 浏览:708
企业邮箱登录收件服务器地址 浏览:558
计算机思维与算法设计的重要性 浏览:664
linux刷新磁盘命令 浏览:76
我的世界如何查看服务器种子pc 浏览:284
linuxlamp编译安装 浏览:609
枚举算法ppt 浏览:184
cmd查看进程命令 浏览:956
手机内怎么删除APP 浏览:834
鱼群和鸟群算法区别 浏览:93
pdf尺寸设置 浏览:211
android访问本地服务器 浏览:512