随笔分类 -  Web

摘要:网络是一种把不同计算机或网络设备连接到一起的技术,它本质上是一种进程间通信方式,特别是跨系统的进程间通信,必须要通过网络才能进行。随着高并发、分布式、云计算、微服务等技术的普及,网络的性能也变得越来越重要。 网络模型 为了解决网络互联中异构设备的兼容性问题,并解耦复杂的网络包处理流程,OSI 模型把 阅读全文
posted @ 2022-05-09 11:45 林锅 阅读(1193) 评论(0) 推荐(0) 编辑
摘要:HTTP/1.1 的队头阻塞 问题:HTTP/1.1 是一个纯文本协议,它只在有效荷载(payload)的前面附加头(headers),在资源块(resource chunks)之间不使用分隔符。它不会进一步区分单个资源与其他资源。HTTP 规定报文必须是“一发一收”,这就形成了一个先进先出的串行队 阅读全文
posted @ 2022-03-31 18:14 林锅 阅读(1329) 评论(0) 推荐(0) 编辑
摘要:HTTP/3原理 HTTP/3的来源 由于TCP和UDP两者在运输层存在一定差异,TCP的传递效率与UDP相比有天然劣势,于是Google基于UDP开发出了新的协议QUIC(Quick UDP Internet Connections),希望取代TCP提高传输效率,后经过协商将QUIC协议更名为HT 阅读全文
posted @ 2022-03-05 23:10 林锅 阅读(766) 评论(0) 推荐(0) 编辑
摘要:TCP协议保证数据传输可靠性的方式主要有: 校验和 序列号 确认应答 超时重传 连接管理 流量控制 拥塞控制 校验和 计算方式:在数据传输的过程中,将发送的数据段都当做一个16位的整数。将这些整数加起来。并且前面的进位不能丢弃,补在后面,最后取反,得到校验和。 发送方:在发送数据之前计算检验和,并进 阅读全文
posted @ 2022-02-13 18:56 林锅 阅读(192) 评论(0) 推荐(0) 编辑
摘要:什么是KeepAlive? 首先,我们要明确我们谈的是TCP的 KeepAlive 还是HTTP的 Keep-Alive。TCP的KeepAlive和HTTP的Keep-Alive是完全不同的概念,不能混为一谈。实际上HTTP的KeepAlive写法是Keep-Alive,跟TCP的KeepAliv 阅读全文
posted @ 2022-01-12 19:56 林锅 阅读(963) 评论(0) 推荐(0) 编辑
摘要:拥塞控制与流量控制 拥塞控制:防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提:网络能够承受现有的网络负荷。拥塞控制是一个全局性的过程,涉及到所有的主机、路由器,以及与降低网络传输性能有关的所有因素。 流量控制:指点对点通信量的控制,是端到端正的问题。 阅读全文
posted @ 2021-12-19 14:27 林锅 阅读(547) 评论(0) 推荐(2) 编辑
摘要:TCP的滑动窗口机制 如果每次传输数据都只能发送一个MSS,就需要等待接收方的ACK,这显然会极大的影响传输的速率。在发送数据的时候,最好的方式是一下将所有的数据全部发送出去,然后一起确认。 但是现实中确实会存在一些限制: 接收方的缓存(接收窗口)可能已经满了,无法接收数据。 网络的带宽也不一定足够 阅读全文
posted @ 2021-12-18 23:20 林锅 阅读(1695) 评论(2) 推荐(0) 编辑
摘要:在socket网络编程中,都是端到端通信,由客户端端口+服务端端口+客户端IP+服务端IP+传输协议组成的五元组可以明确的标识一条连接。在TCP的socket编程中,发送端和接收端都有成对的socket。发送端为了将多个发往接收端的包,更加高效的的发给接收端,于是采用了优化算法(Nagle算法),将 阅读全文
posted @ 2021-12-17 15:17 林锅 阅读(246) 评论(0) 推荐(0) 编辑
摘要:1. 讲下TCP三次握手流程 开始客户端和服务器都处于CLOSED状态,然后服务端开始监听某个端口,进入LISTEN状态 第一次握手(SYN=1, seq=x),发送完毕后,客户端进入 SYN_SEND 状态 第二次握手(SYN=1, ACK=1, seq=y, ACKnum=x+1), 发送完毕后 阅读全文
posted @ 2021-12-15 15:07 林锅 阅读(125) 评论(0) 推荐(0) 编辑
摘要:UDP的传输方式:面向报文 面向报文的传输方式决定了UDP的数据发送方式是一份一份的,也就是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。那么UDP的报文大小由哪些影响因素呢?UDP数据包的理论长度是多少,合适的UDP数据包应该是多少呢? (1)UDP报文大小的影响因素,主要有以 阅读全文
posted @ 2021-12-14 20:11 林锅 阅读(524) 评论(0) 推荐(0) 编辑
摘要:概念 面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率。若太短,会是IP太小。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这也就是说,应用层交给UDP多长的报 阅读全文
posted @ 2021-12-14 18:02 林锅 阅读(335) 评论(0) 推荐(0) 编辑
摘要:TCP快速打开(TCP Fast Open,TFO) TCP快速打开(TCP Fast Open,TFO)是对TCP的一种简化握手手续的拓展,用于提高两端点间连接的打开速度。简而言之,就是在TCP的三次握手过程中传输实际有用的数据。这个扩展最初在Linux系统实现,Linux服务器,Linux系统上 阅读全文
posted @ 2021-12-10 15:09 林锅 阅读(712) 评论(0) 推荐(0) 编辑
摘要:TIME_WAIT 表示客户端主动关闭socket。 原因: 大量的短连接存在 特别是 HTTP 请求中,如果 connection 头部取值被设置为 close 时,基本都由服务端发起主动关闭连接 TCP 四次挥手关闭连接机制中,为了保证 ACK 重发和丢弃延迟数据,设置 time_wait 为 阅读全文
posted @ 2021-12-05 23:55 林锅 阅读(2182) 评论(0) 推荐(0) 编辑
摘要:标志位 在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN(synchronous建立联机),ACK(acknowledgement 确认),PSH(push传送),FIN(finish结束),RST(reset重置),URG(urgent紧急)。其中,对于我们日常的分析有用的就是前面的 阅读全文
posted @ 2021-12-02 00:06 林锅 阅读(403) 评论(0) 推荐(0) 编辑
摘要:TCP状态 linux查看tcp的状态命令: netstat -nat 查看TCP各个状态的数量 lsof -i:port 可以检测到打开套接字的状况 sar -n SOCK 查看tcp创建的连接数 tcpdump -iany tcp port 9000 对tcp端口为9000的进行抓包 网络测试常 阅读全文
posted @ 2021-12-01 00:06 林锅 阅读(208) 评论(0) 推荐(0) 编辑
摘要:一、什么是websocket Websocket是应用层第七层上的一个应用层协议,它必须依赖 HTTP 协议进行一次握手 ,握手成功后,数据就直接从 TCP 通道传输,与 HTTP 无关了。即:websocket分为握手和数据传输阶段,即进行了HTTP握手 + 双工的TCP连接。 下面我们分别来看一 阅读全文
posted @ 2021-10-05 12:25 林锅 阅读(353) 评论(0) 推荐(0) 编辑
摘要:在 HTTP/2 的规范中定义了许多帧类型,每个帧类型由唯一的 8 位类型代码标识。每种帧类型在建立和管理整个连接或单个 stream 流中起到不同的作用。 特定的帧类型的传输可以改变连接的状态。如果端点无法维持连接状态的同步视图,则无法在连接内继续成功通信。因此,重要的是端点必须共享的理解状态,在 阅读全文
posted @ 2021-06-14 18:13 林锅 阅读(513) 评论(0) 推荐(0) 编辑
摘要:HTTP 的基本优化 影响一个 HTTP 网络请求的因素主要有两个:带宽和延迟。 带宽:如果说我们还停留在拨号上网的阶段,带宽可能会成为一个比较严重影响请求的问题,但是现在网络基础建设已经使得带宽得到极大的提升,我们不再会担心由带宽而影响网速,那么就只剩下延迟了。 延迟: 浏览器阻塞(HOL blo 阅读全文
posted @ 2021-06-14 15:47 林锅 阅读(1526) 评论(0) 推荐(0) 编辑
摘要:一、安装 Mac:brew install tcpdump 二、格式 tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ] [ -s snaplen ] [ -w file ] [ expression 阅读全文
posted @ 2021-04-15 15:02 林锅 阅读(156) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2020-04-23 14:38 林锅 阅读(7) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示