随笔分类 -  TCP

摘要:困惑很多人的并发问题 在网络开发中,我发现有很多同学对一个基础问题始终是没有彻底搞明白。那就是一台服务器最大究竟能支持多少个网络连接?我想我有必要单独发一篇文章来好好说一下这个问题。 很多同学看到这个问题的第一反应是65535。原因是:“听说端口号最多有65535个,那长连接就最多保持65535个了 阅读全文
posted @ 2020-12-14 09:23 苍青浪 阅读(503) 评论(0) 推荐(1) 编辑
摘要:Transfer-Encoding,是一个 HTTP 头部字段,字面意思是「传输编码」。实际上,HTTP 协议中还有另外一个头部与编码有关:Content-Encoding(内容编码)。Content-Encoding 通常用于对实体内容进行压缩编码,目的是优化传输,例如用 gzip 压缩文本文件, 阅读全文
posted @ 2020-10-28 15:21 苍青浪 阅读(550) 评论(0) 推荐(0) 编辑
摘要:Google近日正式公布了TFO的paper,地址:http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/zh-CN/us/pubs/archive/37517.pdf Goog 阅读全文
posted @ 2020-10-16 09:54 苍青浪 阅读(982) 评论(0) 推荐(0) 编辑
摘要:HTTPS的主要缺点是需要设置连接,每次新的TLS连续都需要握手,以便创建共享的加密密钥,这个握手过程在标准TCP的握手过程之上还需要两个额外的来回过程,用这样一个高延时的连接,在网站第一个字节传输之前需要三个来回就让人感觉这个网站有点慢。 TLS有几个特征可以用来消除额外的来回,比如重用一个会话s 阅读全文
posted @ 2020-10-15 18:27 苍青浪 阅读(1159) 评论(0) 推荐(1) 编辑
摘要:TCP头部的最后一个选项字段(options)是可变长的可选信息。这部分最多包含40字节,因为TCP头部最长是60字节(其中还包含前面讨论的20字节的固定部分)。典型的TCP头部选项结构如图所示。 选项的第一个字段kind说明选项的类型有的TCP选项没有后面两个字段,仅包含1字节的kind字段 第二 阅读全文
posted @ 2020-10-14 20:28 苍青浪 阅读(2419) 评论(0) 推荐(1) 编辑
摘要:在TCP可选项字段中为TCP预留有时间戳功能。 1、TCP可选项格式: 关于TCP可选项字段的详细内容可以查看我的另一篇博客:浅析TCP头部可选项 时间戳选项占10个字节= kind(1字节) + length(1字节) + info (8字节),其中kind=8,length=10,info由ti 阅读全文
posted @ 2020-10-13 19:53 苍青浪 阅读(6308) 评论(0) 推荐(1) 编辑
摘要:有很多文章出于各种“性能调优”或“安全性”原因,建议禁用 TCP 扩展,本文提供了这些扩展功能的背景,为什么会默认启用,它们之间是如何关联的,以及为什么通常情况下将它们关闭是个坏主意。 • 来源:linux.cn • 作者:Florian Westphal • 译者:XianLei Gao • (本 阅读全文
posted @ 2020-10-13 09:27 苍青浪 阅读(915) 评论(0) 推荐(0) 编辑
摘要:接下来以下图较简单的网络拓扑模型作为例子,探究探究其间发生了什么? 简单的网络模型 01 孤单小弟 —— HTTP 浏览器做的第一步工作是解析 URL 首先浏览器做的第一步工作就是要对 URL 进行解析,从而生发送给 Web 服务器的请求信息。 让我们看看一条长长的 URL 里的各个元素的代表什么, 阅读全文
posted @ 2020-06-28 09:54 苍青浪 阅读(2314) 评论(0) 推荐(1) 编辑
摘要:一、TCP连接状态简介 TCP协议规定,对于已经建立的连接,网络双方要进行四次挥手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。 网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP 阅读全文
posted @ 2020-06-24 09:20 苍青浪 阅读(8847) 评论(0) 推荐(0) 编辑
摘要:tcp服务端和客户端建立连接后会长时间维持这个连接,用于互相传递数据,tcp是以流的方式传输数据的,就像一个水管里的水一样,从一头不断的流向另一头。理想情况下,发送的数据包都是独立的, 现实要复杂一些,发送方和接收方都有各自的缓冲区。发送缓冲区:应用不断的把数据发送到缓冲区,系统不断的从缓冲区取数据 阅读全文
posted @ 2020-06-19 10:08 苍青浪 阅读(508) 评论(0) 推荐(0) 编辑
摘要:TCP的优势从传输数据来讲,TCP/UDP以及其他协议都可以完成数据的传输,从一端传输到另外一端,TCP比较出众的一点就是提供一个可靠的,流控的数据传输,所以实现起来要比其他协议复杂的多,先来看下这两个修饰词的意义: 1. Reliability ,提供TCP的可靠性,TCP的传输要保证数据能够准确 阅读全文
posted @ 2020-06-17 10:10 苍青浪 阅读(1557) 评论(0) 推荐(1) 编辑
摘要:一、滑动窗口流量控制基本原理 发送窗口: 在任意时刻,发送发都维持一组连续的允许发送的帧的序号,称为发送窗口。 接收窗口: 发送窗口用来对发送方进行流量控制,而发送窗口的大小 W 代表在还没有收到对方确认信息的情况下发送方最多还可以发送多少个数据帧。 在接收端设置接收窗口是为了控制可以接受哪些数据帧 阅读全文
posted @ 2020-06-16 09:45 苍青浪 阅读(506) 评论(0) 推荐(1) 编辑
摘要:一、流量控制 1.什么是流量控制 Sender won’t overflow receiver’s buffer by transmitting too much, too fast. (防止发送方发的太快,耗尽接收方的资源,从而使接收方来不及处理) 2.流量控制的一些知识点 接收端抑制发送端的依据 阅读全文
posted @ 2020-06-16 09:38 苍青浪 阅读(887) 评论(0) 推荐(0) 编辑
摘要:TCP 为了防止发送方无脑的发送数据,导致接收方缓冲区被填满,所以就有了滑动窗口的机制,它可利用接收方的接收窗口来控制发送方要发送的数据量,也就是流量控制。 接收窗口是由接收方指定的值,存储在 TCP 头部中,它可以告诉发送方自己的 TCP 缓冲空间区大小,这个缓冲区是给应用程序读取数据的空间: 如 阅读全文
posted @ 2020-06-07 09:20 苍青浪 阅读(666) 评论(0) 推荐(0) 编辑
摘要:今天工作的时候刚好有客户对我说 :“包”和“帧”有啥区别,你咋一会说“包”,一会说“帧”呢? 太不讲究了!这说的让我有点脸红,工作中我们通常会把“包”和“帧“混着说,两者在大部分场景中都代表着相同的意思。但是严格说起来两者是完全不同的,它们代表着不同的网络层次,作为一个专业的人,咱们还是要分开说的! 阅读全文
posted @ 2019-09-28 09:08 苍青浪 阅读(4907) 评论(2) 推荐(1) 编辑
摘要:在socket网络编程中,都是端到端通信,由客户端端口+服务端端口+客户端IP+服务端IP+传输协议组成的五元组可以明确的标识一条连接。在TCP的socket编程中,发送端和接收端都有成对的socket。发送端为了将多个发往接收端的包,更加高效的的发给接收端,于是采用了优化算法(Nagle算法),将 阅读全文
posted @ 2019-09-10 21:27 苍青浪 阅读(16772) 评论(0) 推荐(8) 编辑
摘要:很多人总觉得学习TCP/IP协议没什么用,觉得日常编程开发只需要知道socket接口怎么用就可以了。如果大家定位过线上问题就会知道,实际上并非如此。如果应用在局域网内,且设备一切正常的情况下可能确实如此,但如果一旦出现诸如中间交换机不稳定、物理服务器宕机或者其它异常情况时,此时引起的问题如果只停留在 阅读全文
posted @ 2019-05-17 08:16 苍青浪 阅读(1583) 评论(0) 推荐(0) 编辑
摘要:进行程序开发的同学,无论Web前端开发、Web后端开发,还是搜索引擎和大数据,几乎所有的开发领域都会涉及到网络编程。比如我们进行Web服务端开发,除了Web协议本身依赖网络外,通常还需要连接数据库,而数据库连接通常是通过网络连接数据库服务器,或者数据库集群,如果负载太高还要搞个缓存集群。 我们在上学 阅读全文
posted @ 2019-05-17 08:14 苍青浪 阅读(2852) 评论(0) 推荐(0) 编辑
摘要:在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG. 其中,对于我们日常的分析有用的就是前面的五个字段。 它们的含义是: SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DATA数据传输, RST表示连接重置。 阅读全文
posted @ 2018-10-19 14:18 苍青浪 阅读(1364) 评论(0) 推荐(0) 编辑
摘要:1、三次握手 (1)三次握手的详述 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源。Client端接收到ACK报文后也向Server段发生ACK报文,并分配资源,这样TCP连接就建立了。 最初两端的TCP进程都处于CLOSED关闭状态,A主动打开连接 阅读全文
posted @ 2018-10-19 14:14 苍青浪 阅读(229) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
哥伦布
03:14发布
哥伦布
03:14发布
7°
多云
西南风
3级
空气质量
相对湿度
64%
今天
多云
-1°/10°
周三
小雨
2°/12°
周四
中雨
2°/14°