个人简介

Echo Blog


江湖无名 安心练剑
  • NET 网络专题汇总-06-10-已建立连接的TCP,收到SYN会发生什么?
    已建立连接的TCP,收到SYN会发生什么? 大概意思是,一个已经建立的 TCP 连接,客户端中途宕机了,而服务端此时也没有数据要发送,一直处于 Established 状态,客户端恢复后,向服务端建立连接,此时服务端会怎么处理? 看过我的图解网络的读者都知道,TCP 连接是由「四元组」唯一确认的。 然后这个场景中,客户端的 IP、服务端 IP、目的端口并没有变化,所以这个问题关键要看客...
    2023-02-22 00:00:00 | Net
  • NET 网络专题汇总-06-09-SYN 报文什么时候情况下会被丢弃?
    SYN 报文什么时候情况下会被丢弃? 之前有个读者在秋招面试的时候,被问了这么一个问题:SYN 报文什么时候情况下会被丢弃? 好家伙,现在面试都问那么细节了吗? 不过话说回来,这个问题跟工作上也是有关系的,因为我就在工作中碰到这么奇怪的时候,客户端向服务端发起了连接,但是连接并没有建立起来,通过抓包分析发现,服务端是收到 SYN 报文了,但是并没有回复 SYN+ACK(TCP 第二次握...
    2023-02-22 00:00:00 | Net
  • NET 网络专题汇总-06-08-为什么 TCP 每次建立连接时,初始化序列号都要不一样呢?
    为什么 TCP 每次建立连接时,初始化序列号都要不一样呢? 接下来,我一步一步给大家讲明白,我觉得应该有不少人会有类似的问题,所以今天在肝一篇! 为什么 TCP 每次建立连接时,初始化序列号都要不一样呢? 主要原因是为了防止历史报文被下一个相同四元组的连接接收。 TCP 四次挥手中的 TIME_WAIT 状态不是会持续 2 MSL 时长,历史报文不是早就在网络中消失了吗? 是的,如...
    2023-02-22 00:00:00 | Net
  • NET 网络专题汇总-06-06-如何优化 TCP?
    如何理解是 TCP 面向字节流协议? 有个读者问我,这么个问题: TCP 是面向字节流的协议,UDP 是面向报文的协议? 这里的「面向字节流」和「面向报文」该如何理解。 如何理解字节流? 之所以会说 TCP 是面向字节流的协议,UDP 是面向报文的协议,是因为操作系统对 TCP 和 UDP 协议的发送方的机制不同,也就是问题原因在发送方。 先来说说为什么 UDP 是面向报文的协议...
    2023-02-22 00:00:00 | Net
  • NET 网络专题汇总-06-06-如何优化 TCP?
    如何优化 TCP? TCP 性能的提升不仅考察 TCP 的理论知识,还考察了对于操作系统提供的内核参数的理解与应用。 TCP 协议是由操作系统实现,所以操作系统提供了不少调节 TCP 的参数。 $ ls -l /proc/sys/net/ipv4/tcp* 如何正确有效的使用这些参数,来提高 TCP 性能是一个不那么简单事情。 我们需要针对 TCP 每个阶段的问题来对症下...
    2023-02-22 00:00:00 | Net
  • NET 网络专题汇总-06-05-TCP 半连接队列和全连接队列
    说明 网上许多博客针对增大 TCP 半连接队列和全连接队列的方式如下: 增大 TCP 半连接队列的方式是增大 /proc/sys/net/ipv4/tcp_max_syn_backlog; 增大 TCP 全连接队列的方式是增大 listen() 函数中的 backlog; 这里先跟大家说下,上面的方式都是不准确的。 “你怎么知道不准确?” ...
    2023-02-22 00:00:00 | Net
  • NET 网络专题汇总-06-04-TCP 实战抓包分析
    TCP 实战抓包分析 为了让大家更容易「看得见」 TCP,我搭建不少测试环境,并且数据包抓很多次,花费了不少时间,才抓到比较容易分析的数据包。 接下来丢包、乱序、超时重传、快速重传、选择性确认、流量控制等等 TCP 的特性,都能「一览无余」。 没错,我把 TCP 的”衣服扒光”了,就为了给大家看的清楚,嘻嘻。 显形“不可见”的网络包 网络世界中的数据包交互我们肉眼是看不见的,它...
    2023-02-22 00:00:00 | Net
  • NET 网络专题汇总-06-TCP 重传、滑动窗口、流量控制、拥塞控制
    TCP 相信大家都知道 TCP 是一个可靠传输的协议,那它是如何保证可靠的呢? 为了实现可靠性传输,需要考虑很多事情,例如数据的破坏、丢包、重复以及分片顺序混乱等问题。如不能解决这些问题,也就无从谈起可靠传输。 那么,TCP 是通过序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输的。 今天,将重点介绍 TCP 的重传机制、滑动窗口、流量控制、拥塞控制。 重传...
    2023-02-22 00:00:00 | Net