tcp-shaker:在Go中不带ACK的情况下执行TCP握手,对健康检查很有用,即SYN,SYN-ACK,RST

时间:2024-05-30 17:13:52
【文件属性】:

文件名称:tcp-shaker:在Go中不带ACK的情况下执行TCP握手,对健康检查很有用,即SYN,SYN-ACK,RST

文件大小:18KB

文件格式:ZIP

更新时间:2024-05-30 17:13:52

go linux golang tcp packets

TCP检查器 :beating_heart: 该软件包用于执行不带ACK的TCP握手,这对于TCP健康状况检查很有用。 HAProxy完全相同,即: 同步 同步确认 RST 多年来,这种实现已在成千上万的生产服务器上运行。 为什么我必须这样做 在大多数情况下,当您建立TCP连接(例如通过net.Dial )时,这些是客户端和服务器之间的前三个数据包( ): 客户端->服务器:SYN 服务器->客户端:SYN-ACK 客户端->服务器:ACK 该软件包在进行握手时尝试避免最后的ACK。 通过发送最后一个ACK,可以认为已建立连接。 但是,对于TCP健康状况检查,服务器在发送回SYN-ACK之后就可以认为它仍然处于活动状态, 在某些情况下,使最后的ACK变得不必要甚至有害。 好处 通过避免最后一个ACK 更少的数据包提高效率 健康检查不太明显 第二个是必不可少的,因为它减少了服务器的麻烦。 这意


【文件预览】:
tcp-shaker-master
----.travis.yml(189B)
----result_pipes_sync_map.go(604B)
----err.go(826B)
----checker_test.go(3KB)
----socket_linux.go(3KB)
----checker_linux.go(5KB)
----result_pipes_linux_test.go(2KB)
----doc.go(1KB)
----pipe_pool.go(88B)
----pipe_pool_sync_pool.go(512B)
----pipe_pool_dummy.go(241B)
----LICENSE(1KB)
----app()
--------tcp-checker()
----CONTRIBUTING.md(511B)
----.gitignore(266B)
----result_pipes_mu.go(736B)
----event.go(55B)
----go.sum(207B)
----pipe_pool_linux_test.go(1KB)
----socket.go(1KB)
----README.md(3KB)
----result_pipes.go(147B)
----check_linux_test.go(2KB)
----go.mod(106B)
----checker_nonlinux.go(2KB)

网友评论