我是靠谱客的博主 大胆路灯,最近开发中收集的这篇文章主要介绍三次握手相关的几个数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

查看网络的连接状态常用的文件是/proc/net/snmp及/proc/net/netstat文件,当你打开这两个文件时,你会出现格式比较乱,因为它里面包含的数据比较多,我们一般用以下两个命令来查看相应的网络状态,其命令为:netstat -s和nstat -az

    这两个文件中包含的信息较多,这里只简单的写出了几个与三次握手相关的几个参数,并简单地分析了它的含义:

TcpAttemptFails:(连接尝试失败数)

1. 试图和一个不存在的套接口建立连接时,连接失败,而TcpAttemptFails同时会加1

2. 被动连接(SYN_SEND)等待第三次握手的ack应答信号超时或者为其它的错误应答时,连接将会失败,且同时TcpAttemptFails的值将加1

MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0

TcpExtListenDrops(监听队列连接丢弃数) 和TcpListenOverflows(监听队列连接溢出数)

1. 首先是查看现有的连接数是否大于设置的backlog,如果大于就丢弃,并相应的参数值加1。其中backlog是由程序和系统参数net.core.somaxconn共同设置,当backlog的值大于系统设置的net.core.somaxconn时则取net.core.somaxconn的值,否则取程序设置的backlog值。这种出错的方式也被记录在TcpListenOverflows中(其只记录了连接个数不足而产生溢出错误的次数!)。

2. 接收到连接的应答信号时,但它的源地址和目标不同,或者为空时,这个连接将被丢弃。而TcpListenDrops 值也会加1

3. 当连接没有问题时,系统将会分配必要的资源,而此时没有足够的资源时则会错,此时的连接也会被丢弃,同时TcpListenDrops 值也会加1

4. 最后在新建绑定端口的时候如果出现资源的不足时TcpListenDrops 值也会加1

SyncookiesFailed

net.ipv4.tcp_syncookies = 1开启时, SyncookiesFailed是通过tcp_v4_hnd_req调用子函数cookie_v4_check做一系列的合法性校验主要工作是在半连接队列中看是否存在当前的socket连接,如果存在则说明这个是错误的应答,其值加1


其它的数据含义可以参考:http://blog.chinaunix.net/uid-20695170-id-3073945.html

最后

以上就是大胆路灯为你收集整理的三次握手相关的几个数据的全部内容,希望文章能够帮你解决三次握手相关的几个数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部