TCP

我要报错
传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793[1]定义。
  • 再谈 TCP 拥塞控制!

    大家好,我是小林。很早之前跟大家图解过TCP的拥塞控制:你还在为TCP重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了但是没有提及到谷歌的BBR拥塞控制算法,我们之前讲的都是传统的拥塞控制算法,传统的拥塞控制是基于丢包反馈的方式来做控制的,而谷歌的BBR 拥塞控制算法就...

  • QUIC 是如何解决TCP 性能瓶颈的?

    ↓推荐关注↓文章目录一、QUIC如何解决TCP的队头阻塞问题?1.1TCP为何会有队头阻塞问题1.2QUIC如何解决队头阻塞问题1.3QUIC没有队头阻塞的多路复用二、QUIC如何优化TCP的连接管理机制?2.1TCP连接的本质是什么2.2QUIC如何减少TCP建立连接的开销2....

    CPP开发者
    2021-10-25
    TCP
  • TCP数据粘包的处理

    1.背锅侠TCP在前面介绍套接字通信的时候说到了TCP是传输层协议,它是一个面向连接的、安全的、流式传输协议。因为数据的传输是基于流的所以发送端和接收端每次处理的数据的量,处理数据的频率可以不是对等的,可以按照自身需求来进行决策。TCP协议是优势非常明显,但是有时也会给我们造成困...

  • 知乎千赞的 TCP 文章,我写错了一个点。。。

    ‍‍大家好,我是小林。之前我在「实战!我用“大白鲨”让你看见TCP」这篇文章里做了TCP三次握手的三个实验:实验一:模拟TCP第一次握手的SYN丢包;实验二:模拟TCP第二次握手的SYN、ACK丢包;实验三:模拟TCP第三次握手的ACK包丢;这篇文章在知乎还挺高赞的,超过1000...

    小林coding
    2021-10-19
    TCP
  • 再谈 TCP 拥塞控制!

    大家好,我是小林。很早之前跟大家图解过TCP的拥塞控制:你还在为TCP重传、滑动窗口、流量控制、拥塞控制发愁吗?看完图解就不愁了但是没有提及到谷歌的BBR拥塞控制算法,我们之前讲的都是传统的拥塞控制算法,传统的拥塞控制是基于丢包反馈的方式来做控制的,而谷歌的BBR 拥塞控制算法就...

  • TCP 连接中客户端的端口号是如何确定的?

    在TCP连接中,客户端在发起连接请求前会先确定一个客户端端口,然后用这个端口去和服务器端进行握手建立连接。那么在Linux上,客户端的端口到底是如何被确定下来的呢?事实上很多我们平时遇到的问题都和这个端口选择过程相关,如果能深度理解这个过程,将有助于我们对这些问题的深刻理解。Ca...

    CPP开发者
    2021-10-11
    端口 TCP
  • TCP 连接中客户端的端口号是如何确定的?

    在TCP连接中,客户端在发起连接请求前会先确定一个客户端端口,然后用这个端口去和服务器端进行握手建立连接。那么在Linux上,客户端的端口到底是如何被确定下来的呢?事实上很多我们平时遇到的问题都和这个端口选择过程相关,如果能深度理解这个过程,将有助于我们对这些问题的深刻理解。Ca...

    CPP开发者
    2021-09-26
    端口 TCP
  • 万万没想到,TCP/IP 协议会有这么多漏洞!

    据2020年上半年中国互联网网络安全监测数据分析报告显示,恶意程序控制服务器、拒绝服务攻击(DDoS)等网络攻击行为有增无减。时至今日,网络攻击已经成为影响网络信息安全、业务信息安全的主要因素之一。网络攻击是指利用网络存在的漏洞和安全缺陷对网络系统的软硬件及其系统数据进行攻击的行...

    21ic电子网
    2021-09-24
    TCP
  • 收到RST,就一定会断开TCP连接吗?

    想必大家已经知道我的niao性,搞个标题,就是不喜欢立马回答。就是要搞一大堆原理性的东西,再回答标题的问题。说这个是因为我这次会把问题的答案就放到开头吗?不!我就不!但是大家可以直接根据目录看自己感兴趣的部分。之所以要先铺垫一些原理,还是希望大家能先看些基础的,再慢慢循序渐进,这...

    小林coding
    2021-09-24
    ST RS TCP
  • TCP 为什么是三次握手,而不是两次或四次?

    三次握手两次握手(情况1)两次握手(情况2)OK,下面正经地来回答下这个问题,要搞清楚这个问题,首先得了解TCP究竟是如何保证可靠传输的。PS:TCP协议中,主动发起请求的一端称为『客户端』,被动连接的一端称为『服务端』。不管是客户端还是服务端,TCP连接建立完后都能发送和接收数...

    架构师社区
    2021-09-14
    TCP
  • 深入解析常见 TCP 三次握手异常

    今天跟大家说说TCP三次握手期间存在的异常现象,了解这个有助于我们在工作中排查疑难杂症。在后端接口性能指标中一类重要的指标就是接口耗时。具体包括平均响应时间TP90、TP99耗时值等。这些值越低越好,一般来说是几毫秒,或者是几十毫秒。如果响应时间一旦过长,比如超过了1秒,在用户侧...

    小林coding
    2021-09-06
    TCP
  • TCP 才不傻!

    大家好,我是小林。之前收到个读者的问题,对于TCP三次握手和四次挥手的一些疑问:第一次握手,如果客户端发送的SYN一直都传不到被服务器,那么客户端是一直重发SYN到永久吗?客户端停止重发SYN的时机是什么?第三次握手,如果服务器永远不会收到ACK,服务器就永远都留在Syn-Rec...

    小林coding
    2021-09-06
    TCP
  • TCP 的 FIN_WAIT1 状态理解:深入理解 TCP

    近期遇到一个问题,简单点说,主机A上显示一条ESTABLISHED状态的TCP连接到主机B,而主机B上却没有任何关于主机A的连接信息,经查明,这是由于主机A和主机B的发送/接收缓冲区差异巨大,导致主机B进程退出后,主机A暂时憋住,主机B频繁发送零窗口探测,FIN_WAIT1状态超...

    CPP开发者
    2021-09-03
    AI TCP
  • 来自Google的TCP BBR拥塞控制算法深度解析

    今天推荐一篇在TCPBBR技术里面分析非常透彻的文章,希望大家可以学习到一些真正的知识,理解其背后的设计原理,才能应对各种面试和工作挑战!宏观背景下的BBR1980年代的拥塞崩溃导致了1980年代的拥塞控制机制的出炉,某种意义上这属于见招拆招的策略,针对1980年代的拥塞,提出了...

  • 面试必备!TCP协议经典十五连问!

    前言TCP协议是大厂面试必问的知识点。整理了15道非常经典的TCP面试题,希望大家都找到理想的offer呀公众号:捡田螺的小男孩1. 讲下TCP三次握手流程开始客户端和服务器都处于CLOSED状态,然后服务端开始监听某个端口,进入LISTEN状态第一次握手(SYN=1,seq=x...

    程序喵大人
    2021-08-19
    TCP
  • 我跟面试官聊 TCP 三次握手源码,他夸我真棒!

    大家好,我是小林。之前我的图解网络系列,写了很多关于TCP的图解文章,很多同学看完后都跟我说,每次面试的时候,TCP部分都能聊跨面试官。但是对于TCP三次握手的源码分析,我还没写过。今天就跟大家来唠嗑下,TCP三次握手的源码,看看他到底做什么?在后端相关岗位的入职面试中,三次握手...

    小林coding
    2021-08-19
    源码 TCP
  • TCP 和 UDP 的区别及流量控制,拥塞控制,快重传,快恢复算法详解

    UDP和TCP的区别在上一则文章中,对TCP的三次握手建立连接和四次挥手释放连接进行了详细地阐述,本节教程针对于TCP的其他内容进行讲解,首先是同处于传输层协议的UDP协议,这两者有什么区别与联系呢?相同点那就是说:UDP 和 TCP 是 TCP/IP 体系结构运输层中的两个重要...

  • 最多能创建多少个 TCP 连接?

    我是一个Linux服务器上的进程,名叫小进。老是有人说我最多只能创建65535个TCP连接。我不信这个邪,今天我要亲自去实践一下。我走到操作系统老大的跟前,说:"老操,我要建立一个TCP连接!"老操不慌不忙,拿出一个表格递给我,"小进,先填表吧"我一看这个表,这不就是经典的soc...

    CPP开发者
    2021-08-19
    TCP
  • 我跟面试官聊 TCP 三次握手源码,他夸我真棒!

    大家好,我是小林。之前我的图解网络系列,写了很多关于TCP的图解文章,很多同学看完后都跟我说,每次面试的时候,TCP部分都能聊跨面试官。但是对于TCP三次握手的源码分析,我还没写过。今天就跟大家来唠嗑下,TCP三次握手的源码,看看他到底做什么?在后端相关岗位的入职面试中,三次握手...

    小林coding
    2021-08-19
    源码 TCP
  • 深入解析常见 TCP 三次握手异常

    今天跟大家说说TCP三次握手期间存在的异常现象,了解这个有助于我们在工作中排查疑难杂症。在后端接口性能指标中一类重要的指标就是接口耗时。具体包括平均响应时间TP90、TP99耗时值等。这些值越低越好,一般来说是几毫秒,或者是几十毫秒。如果响应时间一旦过长,比如超过了1秒,在用户侧...

    小林coding
    2021-08-19
    TCP