zoukankan      html  css  js  c++  java
  • 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次握手,如果第三次握手一直不完成,  服务器会怎么处理?

  • 相关阅读:
    jvm详解
    JVM堆外内存
    Guava基本使用
    Mondrian开源OLAP引擎详解
    Java8新特性简明教程
    TCP/IP协议三次握手和四次挥手详解
    Go 方法与函数区别
    Go 通道 Chan 详解
    kylin详细介绍
    计数排序
  • 原文地址:https://www.cnblogs.com/dzqdzq/p/11781340.html
Copyright © 2011-2022 走看看