欢迎光临
我们一直在努力

TCP

TCP的拥塞控制(详解)-IT技术资讯

TCP的拥塞控制(详解)

admin阅读(1992)评论(0)赞(6)

在某段时间,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络性能就要变坏,这种情况就叫做网络拥塞。 在计算机网络中数位链路容量(即带宽)、交换结点中的缓存和处理机等,都是网络的资源。 若出现拥塞而不进行控制,整个网络的吞吐量将随...

解Bug之路-记一次调用外网服务概率性失败问题的排查-IT技术资讯

解Bug之路-记一次调用外网服务概率性失败问题的排查

admin阅读(1909)评论(0)赞(4)

前言 和外部联调一直是令人困扰的问题,尤其是一些基础环境配置导致的问题。笔者在一次偶然情况下解决了一个调用外网服务概率性失败的问题。在此将排查过程发出来,希望读者遇到此问题的时候,能够知道如何入手。 起因 笔者的新系统上线,需要PE执行操作...

从Linux源码看TIME_WAIT状态的持续时间-IT技术资讯

从Linux源码看TIME_WAIT状态的持续时间

admin阅读(1606)评论(0)赞(5)

前言 笔者一直以为在Linux下TIME_WAIT状态的Socket持续状态是60s左右。线上实际却存在TIME_WAIT超过100s的Socket。由于这牵涉到最近出现的一个复杂Bug的分析。所以,笔者就去Linux源码里面,一探究竟。 ...

/proc/net/tcp中各项参数说明-IT技术资讯

/proc/net/tcp中各项参数说明

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

/proc/net/tcp中的内容由tcp4_seq_show()函数打印,该函数中有三种打印形式,我们这里这只列出状态是TCP_SEQ_STATE_LISTENING或TCP_SEQ_STATE_ESTABLISHED的情况,如下所示:

Nginx TCP Fast Open Issue

admin阅读(2438)评论(0)赞(3)

我在我的一台服务器上配置了Nginx和Apache. nginx服务器在端口81上侦听端口80和Apache.Nginx用作反向代理.在nginx中,我配置了TCP Fast Open:   server { listen 107...

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

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

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

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

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

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

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

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

TCP传输慢问题分析

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

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

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

TCP拥塞控制机制之慢启动

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

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

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

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

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

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

TCP滑动窗口-IT技术资讯

TCP滑动窗口

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

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

TCP 滑动窗口-IT技术资讯

TCP 滑动窗口

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

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

关于FIN_WAIT2-IT技术资讯

关于FIN_WAIT2

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

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

浅谈CLOSE_WAIT-IT技术资讯

浅谈CLOSE_WAIT

admin阅读(1557)评论(0)赞(2)

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

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

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

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

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

TCP/IP重传超时--RTO

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

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

SYN和RTO

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

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

SYN丢包的几个例子

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

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

Where SLOW-IT技术资讯

Where SLOW

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

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

关于FIN_WAIT1-IT技术资讯

关于FIN_WAIT1

admin阅读(1247)评论(0)赞(2)

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

一次优化引发的血案

admin阅读(1075)评论(0)赞(3)

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

监控Netstat中的TCP数据

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

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

大端小端-IT技术资讯

大端小端

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

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

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

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

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

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