欢迎光临
我们一直在努力

TCP

Go语言使用TCP_NODELAY控制发包流量

admin阅读(48)评论(0)赞(0)

编写健壮且高性能的网络服务需要付出大量的努力。提高服务性能的方式有很多种,比如优化应用层的代码,更进一步,还可以看看垃圾回收器,操作系统,网络传输,以及部署我们服务的硬件是否有优化空间。 TCP/IP协议栈中的一些算法会影响到服务性能。本文...

一篇带你读懂TCP之“滑动窗口”协议-IT技术资讯

一篇带你读懂TCP之“滑动窗口”协议

admin阅读(41)评论(0)赞(0)

前言 你现在的努力,是为了以后有更多的选择。 在上一篇文章通过“表白”方式,让我们快速了解网络七层协议 了解了网络七层协议。 接下来我们要把重心放在网络传输的可靠性上面。一起来看TCP协议,它是如何解决网络传输不可靠的问题。这其中有个很关键...

TCP传输慢问题分析-IT技术资讯

TCP传输慢问题分析

admin阅读(35)评论(0)赞(0)

对于网络传输慢问题的处理一直是一个难题,一来可能和配置有关二来可能和网络环境有关,很多时候只是从防火墙这方面去定位网络传输慢的现象着实不容易,下面就这类问题,我整理了一些解决思路,以后各位看官在遇到这样的问题的时候可以参考。 在提出解决方案...

TCP拥塞控制机制之慢启动-IT技术资讯

TCP拥塞控制机制之慢启动

admin阅读(34)评论(0)赞(0)

什么是慢启动 最初的TCP的实现方式是,在连接建立成功后便会向网络中发送大尺寸的数据包,假如网络出现问题,很多这样的大包会积攒在路由器上,很容易导致网络中路由器缓存空间耗尽,从而发生拥塞。因此现在的TCP协议规定了,新建立的连接不能够一开始...

解析TCP之滑动窗口(动画演示)-IT技术资讯

解析TCP之滑动窗口(动画演示)

admin阅读(45)评论(0)赞(0)

概述 滑动窗口实现了TCP流控制。首先明确滑动窗口的范畴:TCP是双工的协议,会话的双方都可以同时接收和发送数据。TCP会话的双方都各自维护一个发送窗口和一个接收窗口。各自的接收窗口大小取决于应用、系统、硬件的限制(TCP传输速率不能大于应...

TCP滑动窗口-IT技术资讯

TCP滑动窗口

admin阅读(39)评论(0)赞(0)

  滑动窗口协议(Sliding Window Protocol),属于TCP协议的一种应用,用于网络数据传输时的流量控制,以避免拥塞的发生。该协议允许发送方在停止并等待确认前发送多个数据分组。由于发送方不必每发一个分组就停下来等...

TCP 滑动窗口-IT技术资讯

TCP 滑动窗口

admin阅读(36)评论(0)赞(0)

作用: 提供TCP可靠性:对发送的数据进行确认 流量控制:窗口大小随链路变化 一、TCP窗口机制 TCP中窗口大小是指tcp协议一次传输多少个数据。因为TCP是一个面向连接的可靠的传输协议,既然是可靠的就需要传输的数据进行确认。TCP窗口机...

关于FIN_WAIT2-IT技术资讯

关于FIN_WAIT2

老王阅读(34)评论(0)赞(0)

前些天,有朋友问我关于 FIN_WAIT2 的问题:如果主动关闭的一方在进入 FIN_WAIT2 状态后没有收到被动关闭的一方发送的 FIN 包,那么会怎样?   让我们热热身,通过一张旧图来回忆一下 TCP 关闭连接时的情况: ...

浅谈CLOSE_WAIT-IT技术资讯

浅谈CLOSE_WAIT

老王阅读(43)评论(0)赞(0)

TCP 有很多连接状态,每一个都够聊十块钱儿的,比如我们以前讨论过 TIME_WAIT 和 FIN_WAIT1,最近时不时听人提起 CLOSE_WAIT,感觉有必要梳理一下。   所谓 CLOSE_WAIT,借用某位大牛的话来说应...

arp缓存超时 网络问题追查记录 unres_qlen-IT技术资讯

arp缓存超时 网络问题追查记录 unres_qlen

admin阅读(61)评论(0)赞(0)

起因 事情的起因是我们给线上的一个服务新加了30台服务器,然后就有用户反馈说我们的查询性能开始变得不稳定,一些平时很快的请求经常要卡好久才能返回。照理说加机器服务应该变得更快才是,怎么会变得更不稳定呢,这让我们一开始也不是很愿意相信这个事实...

TCP/IP重传超时–RTO

admin阅读(45)评论(0)赞(0)

概述:本文讨论主机在发送一个TCP数据包后,如果迟迟没有收到ACK,主机多久后会重传这个数据包。主机从发出数据包到第一次TCP重传开始,RFC中这段时间间隔称为retransmission timeout,缩写做RTO。本文会先看看RFC中...

SYN和RTO

老王阅读(38)评论(0)赞(0)

前两天,我在微博上推荐了一篇朝花夕拾的文章:The story of one latency spike,文章中介绍了 cloudflare 工程师如何一步一步 debug 网络延迟问题,细细读来受益良多,不过我并不打算详细介绍那篇文章的细...

SYN丢包的几个例子

老王阅读(43)评论(0)赞(0)

如果出现 SYN 丢包,那么将导致严重的性能问题,如果没有严重到完全连不上,那么在延迟时间上会表现出明显的时间特征,比如:1秒,3秒,7秒,15秒,31秒,具体可以参考:「SYN和RTO」,本文不说这个,就说说哪些情况会出现 SYN 丢包。...

Where SLOW-IT技术资讯

Where SLOW

老王阅读(48)评论(0)赞(0)

前些天翻了翻「Wireshark数据包分析实战」,总结了一下汇聚成本文。   所谓慢,通常只是整体的主观感受,我们真正应该关心的是哪个环节最耗时? Where Slow 判断原则按上图所示: 如果 TCP 握手或 ACK 耗时长,...

关于FIN_WAIT1-IT技术资讯

关于FIN_WAIT1

老王阅读(39)评论(0)赞(0)

前些天,一堆人在 TCPCopy 社区里闲扯蛋,有人提了一个问题:FIN_WAIT1 能持续多久?引发了一场讨论,期间我得到斌哥和多位朋友的点化,受益良多。   让我们热热身,通过一张旧图来回忆一下 TCP 关闭连接时的情况: T...

一次优化引发的血案

老王阅读(36)评论(0)赞(0)

前些天一个Nginx+PHP项目上线后遭遇了性能问题,于是打算练练手,因为代码并不是我亲自写的,所以决定从系统层面入手看看能否做一些粗线条的优化。   首先,我发现服务的Backlog设置过小,可以通过ss命令查询Send-Q来确...

监控Netstat中的TCP数据

老王阅读(53)评论(0)赞(0)

通过netstat命令,我们能获取TCP数据,监控它们有助于了解系统。   如果netstat版本比较老的话,那么运行时可能会遇到下面的错误信息: error parsing /proc/net/netstat: Success ...

大端小端-IT技术资讯

大端小端

admin阅读(37)评论(0)赞(0)

//这个问题一直我众多不甚清楚的问题之一,今天正好又碰到这个,花一些时间整理下。然后从未解之谜的小本本上划掉【:-D】; 0x01 为什么会有大小端 对于跨越多个字节的程序对象(比如,变量,结构体,程序二进制代码,等),我们必须建立两个统一...

用动图解释 TCP 四次分手过程-IT技术资讯

用动图解释 TCP 四次分手过程

admin阅读(34)评论(0)赞(0)

1 为何要进行 TCP 三次握手/四次分手? TCP 的三次握手和四次分手和你恋爱是一模一样的,从相识到相恋到分手,然后认识另一个女孩再不管重复这个过程就是数据传输在网络中不断建立起三次握手和四次分手过程。 恋爱就恋爱吧,分手就分手吧,握手...

用动图解释 TCP 三次握手过程-IT技术资讯

用动图解释 TCP 三次握手过程

admin阅读(39)评论(0)赞(0)

TCP 三次握手过程对于面试是必考的一个,所以不但要掌握 TCP 整个握手的过程,其中有些小细节也更受到面试官的青睐。 对于这部分掌握以及 TCP 的四次挥手,小鹿将会以动画的形式呈现给每个人,这样将复杂的知识简单化,理解起来也容易了很多,...

TCP keepalive time_wait-IT技术资讯

TCP keepalive time_wait

admin阅读(39)评论(0)赞(0)

TCP是一个有状态通讯协议,所谓的有状态是指通信过程中通信的双方各自维护连接的状态。 一、TCP keepalive 先简单回顾一下TCP连接建立和断开的整个过程。(这里主要考虑主流程,关于丢包、拥塞、窗口、失败重试等情况后面详细讨论。) ...

为什么 TCP 建立连接需要三次握手 · Why's THE Design?-IT技术资讯

为什么 TCP 建立连接需要三次握手 · Why’s THE Design?

admin阅读(74)评论(0)赞(0)

为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面...

为什么 TCP 协议有性能问题 · Why's THE Design?-IT技术资讯

为什么 TCP 协议有性能问题 · Why’s THE Design?

admin阅读(45)评论(0)赞(0)

为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面...

为什么 TCP/IP 协议会拆分数据 · Why's THE Design?-IT技术资讯

为什么 TCP/IP 协议会拆分数据 · Why’s THE Design?

admin阅读(39)评论(0)赞(0)

为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面...

为什么 TCP 协议有粘包问题 · Why's THE Design?-IT技术资讯

为什么 TCP 协议有粘包问题 · Why’s THE Design?

admin阅读(43)评论(0)赞(0)

为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面...

为什么 TCP 协议有 TIME_WAIT 状态 · Why's THE Design?-IT技术资讯

为什么 TCP 协议有 TIME_WAIT 状态 · Why’s THE Design?

admin阅读(35)评论(0)赞(1)

为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。 在这个系列前面的文章中,我们已经多次...

什么是TCP拥塞控制算法?-IT技术资讯

什么是TCP拥塞控制算法?

admin阅读(46)评论(0)赞(0)

最近花了些时间在学习TCP/IP协议上,首要原因是由于本人长期以来对TCP/IP的认识就只限于三次握手四次分手上,所以希望深入了解一下。再者,TCP/IP和Linux系统层级的很多设计都可以用于中间件系统架构上,比如说TCP 拥塞控制算法也...