• Linux 半连接队列,全连接队列


    socket 中 listen api中参数backlog指定的是 全队列大小

    accept api是从全队列中获取, 没有就阻塞了, 直到有新连接进来.

    listen中指定的值大小,有一个最大上限, 

    这个上限是系统内核中设定的. 在配置文件中: /proc/sys/net/core/somaxconn

    这个值默认是128.   

    三次握手:

    客户端发一个syn包,

    服务器发一个包(syn+ack),

    客户端发一个ack确认包. 至此连接完成

    半连接是是未完成队列:

    /proc/sys/net/ipv4/tcp_syncookies  是否缓存syn

    这个值操作系统内部设定的, 在 /proc/sys/net/ipv4/tcp_max_syn_backlog 文件中. 默认是1024

    [root@118 ipv4]# cat tcp_timestamps
    1
    [root@118 ipv4]# cat tcp_thin_linear_timeouts
    0
    [root@118 ipv4]# cat tcp_fin_timeout
    60
    [root@118 ipv4]# cat /proc/sys/net/ipv4/tcp_syncookies 
    1
    [root@118 ipv4]# cat tcp_synack_retries
    2
    [root@118 ipv4]# cat tcp_syn_retries
    6

    一个连接的完成需要经过3次握手,   只经过了2次握手,如果第三次握手一直不完成,  服务器会怎么处理?

  • 相关阅读:
    比特币的加密算法
    区块链项目-Lisk
    以太坊(二)
    以太坊的货币发行模式
    以太坊(一)
    前端er们如何最快开发h5移动端页面?
    jQuery Ajax常用总结
    js中变量作用域
    网页引入特殊字体的几种方案
    几个有趣的WEB设备API(二)
  • 原文地址:https://www.cnblogs.com/dzqdzq/p/11781340.html
Copyright © 2020-2023  润新知