计算机网络

物理层

几种信道复用技术

  1. 时分复用:所有的用户在不同的时间占用同样的频带宽度
  2. 统计时分复用:改进时分复用,明显提高信道利用率
  3. 频分复用:所有的用户在同样的时间占用不同的带宽资源
  4. 码分复用:用户使用经过特殊挑选的不同码型,因此各用户之间不会造成干扰。这种系统发送的信号有很强的抗干扰能力,其频谱类似于白噪声,不易被敌人发现
  5. 波分复用:波分复用就是光的频分复用

数据链路层

PPP:点对点协议。是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。设计的目的主要用来通过拨号或专线方式简历点对点连接发送数据,使其传给各种主机、网桥和路由器支架简单连接的一种共通的解决方案。PPP协议有以下功能:

  1. PPP具有动态分配IP地址的能力,允许在连接时刻协商IP地址;
  2. PPP具有多种网络协议,比如TCP/IP等
  3. PPP具有错误检查能力,但不具备纠错能力,所以PPP是不可靠传输协议
  4. 无重传机制,网络开销小,速度快
  5. PPP具有身份验证功能
  6. PPP可以用于多种类型的物理介质上,包括串口线、电话线、移动电话等。PPP也用于Internet接入。

MAC地址:媒体控制访问,物理地址、硬件地址。用来定义网络设备的位置。在OSI模型中,第三层网络负责IP地址,第二层数据链路层负责MAC地址。因此每个主机会有一个MAC地址,而每个网络位置会有一个专属于它的IP地址。地址是识别某个系统的重要标识符,“名字指出我们要寻找的资源,地址指出资源所在的地方,路由告诉我们要如何到达”

数据链路层的三个基本问题:封装成帧透明传输差错检测
透明传输:数据链路层“看不见”有什么妨碍东西
字符技术
字符填充(转义字符)
零比特填充 5’1’ 10 头是五个1
违规编码法(高-高 低-低界定起始点)

循环冗余检验 CRC是一种检错方法,而帧检验序列FCS是添加在数据后面的冗余码

**载波监听多点接入CSM/CD:**协议的特点,发送前先监听,边发送边监听,一旦发现总线上出现碰撞,就立即停止发送。然后按照退避算法等待一段随机时间后再发送。

数据链路层的点对点通信和广播信道的特点,以及这两种信道所使用的的协议PPP和载波监听多点接入协议

网络层

**IP:**网际协议IP是TCP/IP体系中最主要的协议之一,是TCP/IP体系结构网际层的核心。配套的有ARP\PARP,ICMP,IGMP

**APR(address resolution Protocol ): 地址解析协议。**地址解析协议ARP把IP地址解析为硬件地址

ICMP(Itnternet Control Message Protocol)网际控制报文协议(ICMP允许主机或路由器报告差错情况和提供有关异常的报告)

**子网掩码:**它是一种用来指明一个IP地址的哪些位标识是主机所在的子网以及哪些位标识是主机的位掩码。子网掩码不能单独存在,必须结合IP地址一起使用

IP地址由网络号字段(指明网络)和主机号段(指明主机)组成。网络号字段最前面的类别指明IP地址的类别。IP地址是一种分等级的地址结构。IP地址管理机构分配IP地址时只分配网络号,主机号由得到该网络号的单位自自行分配。路由根据目的主机所连接的网络号来转发分组。一个路由至少连接到两个网络,所以一个路由至少应当有两个不同的IP地址

IP数据报分成首部和数据两部分,首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的(源地址,目的地址,总长度等重要信息都固定到首部)。一些长度可变的可选字段固定在首部后面。IP首部的生存时间给出了IP数据报在网络中所能经过的最大路有数。

地址解析协议 ARP 把 IP 地址解析为硬件地址。ARP 的高速缓存可以大大减少网络上的通信量。因为这样可以使主机下次再与同样地址的主机通信时,可以直接从高速缓存中找到所需要的硬件地址而不需要再去广播方式发送 ARP 请求分组

网际控制报文协议是 IP 层的协议。ICMP 报文作为 IP 数据报的数据,加上首部后组成 IP 数据报发送出去。使用 ICMP 数据报并不是为了实现可靠传输。ICMP 允许主机或路由器报告差错情况提供有关异常情况的报告。ICMP 报文的种类有两种 ICMP 差错报告报文和 ICMP 询问报文。

传输层
TCP(Transmission Control Protocol):传输控制协议
UDP(User Datagram Protocol):用户数据报协议

**停止等待协议(stop anfd wait):**指发送方每发送完一个分组就停止发送,等待对方确认,在收到确认之后在发送下一个分组。

流量控制 : 就是让发送方的发送速率不要太快,既要让接收方来得及接收,也不要使网络发生拥塞。端到端。滑动窗口控制

**拥塞控制 :**防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。丢包 。全局性的过程,涉及所有的主机、路由器以及与降低网络性能有关的因素。慢开始、拥塞避免、快重传和快恢复

UDP特点:① 无连接 ② 尽最大努力交付 ③ 面向报文 ④ 无拥塞控制 ⑤ 支持一对一,一对多,多对一和多对多的交互通信 ⑥ 首部开销小(只有四个字段:源端口,目的端口,长度和检验和)
TCP特点: ① 面向连接 ② 每一条 TCP 连接只能是一对一的 ③ 提供可靠交付 ④ 提供全双工通信 ⑤ 面向字节流

TCP 用主机的 IP 地址加上主机上的端口号作为 TCP 连接的端点。这样的端点就叫做套接字(socket)或插口。套接字用(IP 地址:端口号)来表示。每一条 TCP 连接唯一被通信两端的两个端点所确定。

应用层

**域名系统DNS:**将人类可读的域名转换为机器可读的IP地址。可以理解为专为互联网涉及的电话簿

**文件传输协议FTP:**用于Internet上控制文件的双向传输。同时,它也是一个应用程序。基于不同操作系统有不同的FTP应用程序,而这些应用程序都遵守同一种协议以传输文件。FTP中的两个概念:上传和下载。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用 Internet 语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。

简单文件传输协议(TFTP) :TFTP(Trivial File Transfer Protocol,简单文件传输协议)是 TCP/IP 协议族中的一个用来在客户机服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为 69。

万维网(WWW) :分为 Web 客户端和 Web 服务器程序。WWW 可以让 Web 客户端(常用浏览器)访问浏览 Web 服务器上的页面。是一个由许多互相链接的超文本组成的系统,通过互联网访问。在这个系统中,每个有用的事物,称为一样**“资源”;并且由一个全局“统一资源标识符”(URI)标识**;这些资源通过超文本传输协议(Hypertext Transfer Protocol)传送给用户,而后者通过点击链接来获得资源。

**超文本传输协议(HTTP) :**超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的 WWW 文件都必须遵守这个标准。设计 HTTP 最初的目的是为了提供一种发布和接收 HTML 页面的方法。1960 年美国人 Ted Nelson 构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了 HTTP 超文本传输协议标准架构的发展根基。

代理服务器(Proxy Server) : 代理服务器(Proxy Server)是一种网络实体,它又称为万维网高速缓存。 代理服务器把最近的一些请求和响应暂存在本地磁盘中。当新请求到达时,若代理服务器发现这个请求与暂时存放的的请求相同,就返回暂存的响应,而不需要按 URL 的地址再次去互联网访问该资源。代理服务器可在客户端或服务器工作,也可以在中间系统工作。

简单邮件传输协议(SMTP) : SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。 通过 SMTP 协议所指定的服务器,就可以把 E-mail 寄到收信人的服务器上了,整个过程只要几分钟。SMTP 服务器则是遵循 SMTP 协议的发送邮件服务器,用来发送或中转发出的电子邮件。

HTTPS TLS handshake

握手流程概述:
第一步 协议协商
client和server将协商要是用的协议版本。例如:决定使用 TLSv1.1 协议,还是 TLSv1.3 协议
第二步 选择算法
选择加密算法。
第三步 证书验证
通过 Server 的公钥 和 SSL 证书的 CA 的数字签名 来验证 Server 的身份。
第四步 数据传输
使用「非对称加密」技术生成「共享密钥」,避免密钥分发问题。然后使用「共享密钥」进行消息的「对称加密」,因为「对称加密」比「非对称加密」更快。

两种类型握手
第一种、基本TLS握手(Basic TLS handshake)
这种最常见的,在建立 HTTPS 连接中使用“基本 TLS 握手”。
第二种、认证客户端的TLS握手(Client-authenticated TLS handshake)
这种握手需要客户端持有证书,例如在使用证书连接 MySQL 数据库、访问 K8S API Server 时,会使用“认证客户端的 TLS 握手”。
基本TLS握手
Client say hello
通过发送 Client Hello 消息,Client 发起握手,消息包含如下内容:
1)Client 支持的 TLS 版本
2)Client 支持的加密方法(Cipher Suite);
3)被称为 ** Client Random** 的随机字节串(由 Client 生成)

Server say hello
为响应 Client Hello 消息,Server 发送 Server Hello 消息,消息内容如下:
1)Server 的 SSL Certificate
2)Server 选择的加密方法(从 Client 支持的加密算法中选择)
3)被称为 Server Random随机字节串(由 Server 生成)

Authentication
Client 使用颁发 Server SSL Certificate 的 CA 验证证书,以确定服务器身份。

The premaster secret
Client 再发送一个随机的字节字符串Premaster Secret,并使用公钥(来自 SSL Certificate 内部)加密,并且这只能由拥有私钥的 Server 解密。

Private key used
Server 解密 Premaster Secret

Session keys created
利用 Client Random / Server Random / Premaster Secret 字节串,Client 与 Server 会计算出相同的 Session Key

Client is ready
Client 使用 Session Key 发送 Finished 消息

Server is ready
Server 使用 Session Key 发送 Finished 消息

Secure symmetric encryption achieved
至此,握手已经完成,后续通信使用 Session Key 进行对称加密

TCP报文

在这里插入图片描述
1、端口号:用来标识同一台计算机的不同的应用进程。
1)源端口:源端口和IP地址的作用是标识报文的返回地址。
2)目的端口:端口指明接收方计算机上的应用程序接口。
2、序号和确认号:是TCP可靠传输的关键部分。序号是本报文段发送的数据组的第一个字节的序号。在TCP传送的流中,每一个字节一个序号。e.g.一个报文段的序号为300,此报文段数据部分共有100字节,则下一个报文段的序号为400。所以序号确保了TCP传输的有序性。确认号,即ACK,指明下一个期待收到的字节序号,表明该序号之前的所有数据已经正确无误的收到。确认号只有当ACK标志为1时才有效。比如建立连接时,SYN报文的ACK标志位为0。
3、数据偏移/首部长度:4bits。由于首部可能含有 可选项内容,因此TCP报头的长度是不确定的,报头不包含任何任选字段则长度为20字节,4位首部长度字段所能表示的最大值为1111,转化为10进制为15,15*32/8 = 60,故报头最大长度为
60字节
。首部长度也叫数据偏移,是因为首部长度实际上指示了数据区在报文段中的起始偏移值。
4、保留:为将来定义新的用途保留,现在一般置0。
5、控制位: URG ACK PSH RST SYN FIN,共6个,每一个标志位表示一个控制功能。(UAP RSF)
1)URG:紧急指针标志,为1时表示紧急指针有效,为0则忽略紧急指针。
2)ACK:确认序号标志,为1时表示确认号有效,为0表示报文中不含确认信息,忽略确认号字段。
3)PSH:push标志,为1表示是带有push标志的数据,指示接收方在接收到该报文段以后,应
尽快将这个报文段交给应用程序
,而不是在缓冲区排队。
4)RST:重置连接标志,用于重置由于主机崩溃或其他原因而出现错误的连接。或者用于拒绝非法的报文段和拒绝连接请求。
5)SYN:同步序号,用于建立连接过程,在连接请求中,SYN=1和ACK=0表示该数据段没有使用捎带的确认域,而连接应答捎带一个确认,即SYN=1和ACK=1。
6)FIN:finish标志,用于释放连接,为1时表示发送方已经没有数据发送了,即关闭本方数据流。
6、窗口:滑动窗口大小,用来告知发送端接受端的缓存大小,以此控制发送端发送数据的速率,从而达到流量控制。窗口大小时一个16bit字段,因而窗口大小最大为65535。
7、校验和:奇偶校验,此校验和是对整个的 TCP 报文段,包括 TCP 头部和 TCP 数据,以 16 位字进行计算所得。由发送端计算和存储,并由接收端进行验证。
8、紧急指针:只有当 URG 标志置 1 时紧急指针才有效。紧急指针是一个正的偏移量,和顺序号字段中的值相加表示
紧急数据最后一个字节的序号
。 TCP 的紧急方式是发送端向另一端发送紧急数据的一种方式。
9、选项和填充:最常见的可选字段是最长报文大小,又称为
MSS
(Maximum Segment Size),每个连接方通常都在通信的
第一个报文段
(为建立连接而设置SYN标志为1的那个段)中指明这个选项,它表示
本端所能接受的最大报文段的长度
。选项长度不一定是32位的整数倍,所以要加填充位,即在这个字段中加入额外的零,以保证TCP头是32的整数倍。
10、数据部分: TCP 报文段中的数据部分是可选的。在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。如果一方没有数据要发送,也使用没有任何数据的首部来确认收到的数据。在处理超时的许多情况中,也会发送不带任何数据的报文段。

伪首部:源IP地址、目的IP地址、保留字段、协议类型、TCP或UDP数据报长度
TCP校验和:
1.填充伪首部, 将检验和字段置为0
2. 把伪首部、TCP报头、TCP数据分为16位的字,如果总长度为奇数个字节,则最后增添一个位都为0的字节
3. .如果和的高16bit不为0,则将和的高16bit和低16bit反复相加,直到和的高16bit为0,从而获得一个16bit的值;
4. 将该16bit的值取反,存入校验和字段。

1.对于UDP协议,如果不想计算的话,可以把校验和的两个字节置0,根据RFC的规定,这样上层UDP协议就不会计算校验和了

IP数据报

IP数据包
1)版本号:占用4位二进制数,表示该IP数据报使用的IP协议版本。目前Internet中使用的主要是TCP/IP协议族中版本号为4的IP协议。
2)头长度:占用4位二进制位,此域指出整个报头的长度(包括选项),该长度是以32位二进制数为一个计数单位的,接收端通过此域可以计算出报头在何处结束及从何处开始读数据。普通IP数据报(没有任何选项)该字段的值是5(即20个字节的长度)。
3)服务类型(TOS、type of service):占用8位二进制位,用于规定本数据报的处理方式。服务类型字段的8位分成了5个子域:
在这里插入图片描述
(1)—优先权(0-7)数越大,表示该数据报优先权越高。网络中路由器可以使用优先权进行拥塞控制,如当网络发生拥塞时可以根据数据报的优先权来决定数据报的取舍。
(2)—短延迟位 D(Delay):该位置1时,数据报请求以
短延迟信道传输
,0表示正常延时。
(3)— 高吞吐量位 T(Throughput):该位置1时,数据报请求以
高吞吐量信道传输
,0表示普通。
(4)—高可靠位R (Reliability):该位置1时,数据报请求以
高可靠性信道传输
,0表示普通。
(5)—保留位。

4)总长度:占用16位二进制位,总长度字段是指整个IP数据报的长度(报头区+数据区),以字节为单位。利用头部长度字段和总长度字段就可以计算出IP数据报中数据内容的起始位置和长度。由于该字段长度为16位二进制数,因此理论上IP数据报最长可达65536个字节(事实上受物理网络的限制,要比这个数值小很多)。
5)**生存时间(TTL,time to live):**占用8位二进制位,它指定了数据报可以在网络中传输的最长时间。实际应用中把生存时间字段设置成了数据报可以经过的最大路由器数。TTL的初始值由源主机设置(通常为32、64、128或256),一旦经过一个处理它的路由器,它的值就减1。当该字段为0时,数据报就丢弃,并发送ICMP报文通知源主机,因此可以防止进入一个循环回路时,数据报无休止地传输下去。
6)上层协议标识:占用8位二进制位,IP协议可以承载各种上层协议,目标端根据协议标识就可以把收到的IP数据报送到TCP或UDP等处理此报文的上层协议了。
常用网际协议编号:
在这里插入图片描述
7)校验和:占用16位二进制数,用于协议头数据有效性的校验,可以保证IP报头区在传输时的正确性和完整性。头部检验和字段是根据IP协议头计算出的检验和,它不对头部后面的数据进行计算。
原理:发送端首先将检验和字段置0,然后对头部中每16位二进制数进行
反码求和
的运算,并将结果存在校验和字段中。 由于接收方在计算过程中包含了发送方放在头部的校验和,因此,如果头部在传输过程中没有发生任何差错,那么
接收方计算的结果应该是全1

8)源地址:占用32位二进制数,表示发送端IP地址。
9)目的地址:占用32位二进制数,表述目的端IP地址。

IP数据报因为最大网络传输单元的限制,需要进行分片。
目标端主机重组数据报的原理是:
(1)—根据**“标识”字段可以确定收到的分片属于原来哪个IP数据报;
(2)—根据
“标志”字段的“片未完MF”子字段可以确定分片是不是最后一个分片**;
(3)—根据**“偏移量”**字段可以确定分片在原数据报中的位置。

IP数据报**“选项”主要有两大功能:
1)用来实现对
数据报传输过程中的控制**,如规定数据报要经过的路由
2)进行网络测试,如一个数据报传输过程中经过了哪些路由器。

IP首部校验和计算
1.把校验和字段置为0;
2.对IP头部中的每16bit进行二进制求和;
3.如果和的高16bit不为0,则将和的高16bit和低16bit反复相加,直到和的高16bit为0,从而获得一个16bit的值;
4.将该16bit的值取反,存入校验和字段。

接收方(校验):
IP包头按16比特分成多个单元,如包头长度不是16比特的倍数,则用0比特填充到16比特的倍数;
对各个单元采用反码加法运算,检查得到的和是否符合是全1(有的实现可能对得到的和会取反码,然后判断最终值是不是全0);
如果是全1则进行下步处理,否则意味着包已变化从而丢弃之。需要强调的是反码和是采用高位溢出加到低位的,如3比特的反码和运算:100b+101b=010b(因为100b+101b=1001b,高位溢出1,其应该加到低位,即001b+1b(高位溢出位)=010b)。

HTTP1.0 1.1 2.0区别

1.HTTP的基本优化:带宽和延迟
带宽:
延迟:浏览器阻塞、DNS查询、建立连接

2.HTTP1.0和HTTP1.1的一些区别
1. 缓存处理,在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略。
2. 带宽优化及网络连接的使用, HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1则在请求头引入了range头域它允许只请求资源的某个部分,即返回码是206(Partial Content),这样就方便了开发者自由的选择以便于充分利用带宽和连接。
3. 错误通知的管理,在HTTP1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。
4. Host头处理,在HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名(hostname)。但随着虚拟主机技术的发展,在
一台
物理服务器上可以存在
多个
虚拟主机(Multi-homed Web Servers),并且它们共享一个IP地址HTTP1.1的请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域会报告一个错误(400 Bad Request)。
5. 长连接 ,HTTP 1.1支持 长连接(PersistentConnection)和请求的流水线(Pipelining)处理 ,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启Connection: keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点。

2.SPDY:HTTP1.x的优化
1. 降低延迟,针对HTTP高延迟的问题,SPDY优雅的采取了多路复用(multiplexing)。多路复用通过多个请求stream共享一个tcp连接的方式,解决了HOL blocking的问题,降低了延迟同时提高了带宽的利用率。
2. 请求优先级(request prioritization)。多路复用带来一个新的问题是,在连接共享的基础之上有可能会导致关键请求被阻塞。SPDY允许给每个request设置优先级,这样重要的请求就会优先得到响应。比如浏览器加载首页,首页的html内容应该优先展示,之后才是各种静态资源文件,脚本文件等加载,这样可以保证用户能第一时间看到网页内容。
3. **header压缩。**前面提到HTTP1.x的header很多时候都是重复多余的。选择合适的压缩算法可以减小包的大小和数量。
4. **基于HTTPS的加密协议传输,**大大提高了传输数据的可靠性。
5. **服务端推送(server push),**采用了SPDY的网页,例如我的网页有一个sytle.css的请求,在客户端收到sytle.css数据的同时,服务端会将sytle.js的文件推送给客户端,当客户端再次尝试获取sytle.js时就可以直接从缓存中获取到,不用再发请求了。SPDY构成图:

3. HTTP2.0:SPDY的升级版
1.新的二进制格式(Binary Format),HTTP1.x的解析是基于文本。基于文本协议的格式解析存在天然缺陷,文本的表现形式有多样性,要做到健壮性考虑的场景必然很多,二进制则不同,只认0和1的组合。基于这种考虑HTTP2.0的协议解析决定采用二进制格式,实现方便且健壮。
2. 多路复用(MultiPlexing),即连接共享,即每一个request都是是用作连接共享机制的。一个request对应一个id,这样一个连接上可以有多个request,每个连接的request可以随机的混杂在一起,接收方可以根据request的 id将request再归属到各自不同的服务端请求里面。
3. header压缩,如上文中所言,对前面提到过HTTP1.x的header带有大量信息,而且每次都要重复发送,HTTP2.0使用encoder来减少需要传输的header大小,通讯双方各自cache一份header fields表,既避免了重复header的传输,又减小了需要传输的大小。
4. 服务端推送(server push),同SPDY一样,HTTP2.0也具有server push功能。

HTTP2.0的多路复用和HTTP1.X中的长连接复用有什么区别?
1. HTTP/1.* 一次请求-响应,建立一个连接,用完关闭;每一个请求都要建立一个连接;
2. HTTP/1.1 Pipeling解决方式为,若干个请求排队串行化单线程处理,后面的请求等待前面请求的返回才能获得执行机会,一旦有某请求超时等,后续请求只能被阻塞,毫无办法,也就是人们常说的线头阻塞;
3. HTTP/2 多个请求可同时在一个连接上并行执行。某个请求任务耗时严重,不会影响到其它连接的正常执行;
具体如图:
在这里插入图片描述

服务器推送:
服务端推送能把客户端所需要的资源伴随着index.html一起发送到客户端,省去了客户端重复请求的步骤。正因为没有发起请求,建立连接等操作,所以静态资源通过服务端推送的方式可以极大地提升速度。具体如下:
1. 普通的客户端请求过程:
在这里插入图片描述
2 服务端推送的过程: 在这里插入图片描述
** 为什么需要头部压缩?**
假定一个页面有100个资源需要加载(这个数量对于今天的Web而言还是挺保守的), 而每一次请求都有1kb的消息头(这同样也并不少见,因为Cookie和引用等东西的存在), 则至少需要多消耗100kb来获取这些消息头。**HTTP2.0可以维护一个字典,差量更新HTTP头部,大大降低因头部传输产生的流量。**具体参考:HTTP/2 头部压缩技术介绍

HTTP2.0多路复用有多好?
HTTP 性能优化的关键并不在于高带宽,而是低延迟。TCP 连接会随着时间进行自我「调谐」,起初会限制连接的最大速度,如果数据成功传输,会随着时间的推移提高传输的速度。这种调谐则被称为 TCP 慢启动。由于这种原因,让原本就具有突发性和短时性的 HTTP 连接变的十分低效。
HTTP/2 通过让所有数据流共用同一个连接,可以更有效地使用 TCP 连接,让高带宽也能真正的服务于 HTTP 的性能提升。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值