Mr.WyjJanuary 20, 2023About 27 min

TCP 协议在哪一层?IP 协议在那一层?HTTP 在哪一层?

TCP 协议在传输层,IP 协议在网络层,HTTP 在应用层。

OSI 七层模型

参考 1open in new window

参考 2open in new window

OSI 七层模型。将网络的协议划分为 7 个层,从低到高排序是:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。但是这个模型仅停留在理论阶段。因为该模型过于庞大、复杂,以至于无法被广泛应用。

TCP/IP 协议栈一共分为 4 个层次。从低到高依次排序是:数据链路层、网络层、传输层、应用层。

  • 物理层:通过物理手段把电脑连接起来,中间的物理链接可以是光缆、电缆、双绞线、无线电波。中间传的是电信号,即 010101...这些二进制位。

  • 数据链路层:

    • 概念:对电信号来做分组的,确定了二进制电信号 0 和 1 的分组方式。
    • 以太网协议:一组电信号构成一个数据包,叫做“帧(Frame)”;每一帧分成两个个部分:标头(Head)和数据(Data)。“标头”包含数据包的一些说明项,比如发送者、接受者、数据类型等
    • MAC 地址:每块网卡出厂时都被烧录上一个实际上唯一的 MAC 地址。数据包必须是从一块网卡,传送到另一块网卡,网卡的地址,就是数据包的发送地址和接受地址,也叫 MAC 地址
    • 广播:互联网就是由一个个局域网组成,局域网内的计算机不管是对内还是对外都是通过广播的形式发送数据。它不是把数据包准确送到接收方,而是向本网络(局域网)内所有计算机发送,让每台计算机自己判断,找到其中发送方的 MAC 地址,然后与自身的 MAC 地址进行比对,如果两者相同,说明就是要发给自己的,然后接受这个包并做出进一步的处理,否则丢弃这个包。这种发送方式就叫“广播”,主要通过分组交换机或者网络交换机进行。
  • 网络层

    • 概念:引入一套新的地址,使我们能够区分哪些计算机属于同一个子网(局域网),这个套机制就叫做“网络地址”,也就是“IP 地址” 。两台计算机是否遭同一个子网中,如果在,则采用广播+MAC 寻址的的方式发送数据包,如果不是,则要采用“路由”的方式。

    • IP 协议:网络地址由 32 个二进制位组成,习惯上,我们分成四段十进制数表示 IPV4 地址,从 0.0.0.0 到 255.255.255.255。

      image

      互联网上的每一台计算机,都会被分配到一个 IP 地址,这个地址由两部分组成,前一部分代表网络,后一部分代表主机(又称终端系统,end system)。比如,IP 地址 172.16.254.1,这是一个 32 位的地址,假定它的网络部分是前 24 位(172.16.254),那么主机部分就是后 8 位(最后的那个 1)。处于同一个子网络的电脑,它们 IP 地址的网络部分必定是相同的,也就是说 172.16.254.2 应该与 172.16.254.1 处在同一个子网络,而后面的“2”与“1”则是同一子网内两台不同电脑(主机)的编号。

    • 子网掩码:表示子网络特征的一个参数。它在形式上等同于 IP 地址,也是一个 32 位二进制数字,它的网络部分全部为 1,主机部分全部为 0。比如:IP 地址 172.16.254.1,如果已知网络部分是前 24 位,主机部分是后 8 位,那么子网络掩码就是 11111111.11111111.11111111.00000000,写成十进制就是 255.255.255.0

    • 路由:作用是是将信息从源地址传输到目的地址,比较特殊的是,源地址和目标地址是在两个不同的子网中的。

    • 路由器:实现路由功能的机器,路由器连接两个或多个网络并提供路由功能。一台计算机可以有不只一个网卡,比如笔记本就有一个以太网卡和一个 WiFi 网卡,路由器(router)可以通俗理解为一台配备有多个网卡的专用电脑,它让网卡接入到不同的网络中。

    • 网关:网络层使用的路由器称为网关,通常指的网关就是路由器的 IP,虽然路由器上面有 MAC 地址和 IP 地址,但它并不能通过 MAC 地址工作,必须通过 IP 寻址。因此它是工作在网络层的设备。

    • ARP 协议:地址解析协议。基本功能就是通过目标设备的 IP 地址,查询目标设备的 MAC 地址,以保证通信的顺利进行。

      任何时候,当主机需要找出这个网络中的另一个主机的物理地址时,它就可以发送一个 ARP 请求报文,这个报文包好了发送方的 MAC 地址和 IP 地址以及接收方的 IP 地址。因为发送方不知道接收方的物理地址,所以这个查询分组会在网络层中进行广播。

      局域网中的每一台主机都会接受并处理这个 ARP 请求报文,然后进行验证,查看接收方的 IP 地址是不是自己的地址,只有验证成功的主机才会返回一个 ARP 响应报文,这个响应报文包含接收方的 IP 地址和物理地址。这个报文利用收到的 ARP 请求报文中的请求方物理地址以单播的方式直接发送给 ARP 请求报文的请求方

  • 传输层

    • 端口号:当一个数据包从网上发送过来的时候,我们需要一个参数来区分,他到底是提供哪个进程使用的——这个参数就叫做“端口号”,他其实就是每一个使用网卡的程序的编号。端口范围 0-65535,0-1023 为系统占用端口

      传输层的功能,就是建立“端口到端口”之间的通信。相比之下,“网络层”的功能是建立“主机到主机"的通信

    • Socket:进程间通信分为两种:一种是主机内部(或终端内部)进程间通信;另一种是跨主机进程间通信或者网络进程间通信,也叫“socket 通信”。

    • UDP/TCP 协议:UDP 和 TCP 协议都是传输层的协议,他们的主要作用就是在应用层的数据包标头加上端口号(或者在 IP 协议的数据包中插入端口号)

      TCP 协议主要的确认机制是"三次握手,四次挥手"。

  • 会话层

  • 表示层

  • 应用层

    • 概念:就是规定应用程序的数据格式。TCP 协议可以为各种各样的程序传递数据,比如 Email、WWW、FTP 等等。那么,必须有不同协议规定电子邮件、网页、FTP 数据的格式,这些应用程序协议就构成了”应用层”。

    • DNS 解析: 它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

      网络中的数据包,是通过 “端口号 + IP 地址 + MAC 地址”来识别目的地址的,我们输入 www.google.comopen in new window 并按下回车的时候,本机服务器先是请求 DNS 服务器,DNS 服务器根据我们发送的域名,根据 DNS 协议,解析成该域名对应的 IP 地址并返回给本机,这样,我们就可以进行下面几层的地址封装了

    • 报文:网络中交换与传输的数据单元,即站点一次性要发送的数据块。如 HTTP 请求报文和 HTTP 响应报文。

    • 应用层协议:DHCP(动态主机配置协议)、DNS(域名和 IP 地址映射协议)、TELNET(远程登陆服务标准协议)、TFTP(简单文件传输协议)

A 往 B 发一个消息:从五层网络架构分析下这个过程

发送端:

  1. 应用层:假设 A 向 B 发送了一封电子邮件,因此主机 A 会使用 SMTP 协议来处理该数据,即在数据前加上 SMTP 的标记,以便使对端在收到后知道使用什么软件来处理该数据。
  2. 传输层:建立端到端之间的通信,在应用层的数据包标头加上源端口号和目的端口号
  3. 网络层:对传输层中处理完的数据再次封装,使用 IP 协议添加上 32 位的源 IP 地址和目的 IP 地址封装好 IP 数据报, 使用 ARP 协议把 IP 地址解析成物理地址(MAC 地址)。
  4. 数据链路层:将网络层的数据 (IP 数据报)封装成帧,添加能唯一标识每台设备的地址信息(MAC 地址)
  5. 物理层:将控制帧在物理信道上转化成电流进行传输

接收端:

  1. 物理层、数据链路层:B 将物理层接收到的电信号转化成数据链路层的数据,数据链路层去掉本层的帧头帧尾信息上交给网络层
  2. 网络层:网络层去掉对端网络层添加的内容后交给传输层
  3. 传输层:传输层去掉对端传输层添加的内容后交给应用层
  4. 应用层:应用层最终看到数据使用 SMTP 协议封装,之后使用相应的电子邮件的软件来处理

TCP 有哪些应用场景

tcp 为什么可靠?拥塞控制?流量控制?

为什么说 TCP 协议是可靠的?open in new window

ACK 回复:

在每收到一个正确的、符合次序的片段之后,就向发送方(也就是连接的另一段)发送一个特殊的 TCP 片段,用来知会(ACK,acknowledge)发送方:我已经收到那个片段了。这个特殊的 TCP 片段 叫做 ACK 回复。如果一个片段序号为 L,对应 ACK 回复有回复号 L+1,也就是接收方期待接收的下一个发送片段的序号。

TCP 协议为了减少了 ACK 回复所消耗的流量,采用的是累计 ACK 回复。

重新发送机制:

如果发送方在一定时间等待之后,还是没有收到 ACK 回复,那么它推断之前发送的片段一定发生了异常。发送方会重复发送(retransmit)那个出现异常的片段,等待 ACK 回复,如果还没有收到,那么再重复发送原片段… 直到收到该片段对应的 ACK 回复(回复号为 L+1 的 ACK)

流量控制:

TCP 采用大小可变的滑动窗口进行流量控制,窗口大小的单位是字节。 发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。

为什么要设置窗口? 我们可以把窗口理解为缓冲区(但是有些窗口和缓冲区又不太一样)。 如果没有这些“窗口”,那么 TCP 每发送一段数据后都必须等到接收端确认后才能发送下一段数据,这样做的话 TCP 传输的效率实在是太低了。解决的办法就是在发送端等待确认的时候继续发送数据。

拥塞控制:

TCP 通过一个定时器(timer)采样了 RTT 并计算 RTO,但是,如果网络上的延时突然增加,那么,TCP 对这个事做出的应对只有重传数据,然而重传会导致网络的负担更重,于是会导致更大的延迟以及更多的丢包,这就导致了恶性循环,最终形成“网络风暴”。

TCP 的拥塞控制机制就是用于应对这种情况,为了在发送端调节所要发送的数据量,定义了一个“拥塞窗口”(Congestion Window),在发送数据时,将拥塞窗口的大小与接收端 ack 的窗口大小做比较,取较小者作为发送数据量的上限。

拥塞控制主要是四个算法:

  1. 慢启动:意思是刚刚加入网络的连接,一点一点地提速,不要一上来就把路占满。
  2. 拥塞避免:当拥塞窗口 cwnd 达到一个阈值时,窗口大小不再呈指数上升,而是以线性上升,避免增长过快导致网络拥塞。
  3. 进入慢启动过程:在收到 3 个 duplicate ACK 时就开启重传,而不用等到 RTO 超时。
  4. 快速恢复:至少收到了 3 个 Duplicated Acks,说明网络也不那么糟糕,可以快速恢复。
  • RTT:一个连接的往返时间,即数据发送时刻到接收到确认的时刻的差值;
  • RTO:重传超时时间,即从数据发送时刻算起,超过这个时间便执行重传。

阐述 https 三次握手,4 次挥手,为什么是三次握手?

  • 建立连接协议,三次握手:
  1. 第一次握手:建立连接时,客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SENT 状态,等待服务器确认;SYN 表示同步序列编号(Synchronize Sequence Numbers);

  2. 第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个 SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态;

  3. 第三次握手:客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED(TCP 连接成功)状态,完成三次握手

    image-20230120120450809

  • 连接终止协议,四次挥手:
  1. 首先,客户端发送一个 FIN = 1 的连接释放报文,序列号为 seq = u,用来关闭客户端到服务器的数据传送,然后等待服务器的确认。其中终止标志位 FIN=1,序列号 seq = u;客户端此时进入 FIN-WAIT-1 状态
  2. 服务器收到这个 FIN 释放报文,它发送一个 ACK = 1 的确认报文, ack = u + 1,seq = v;服务端此时进入 CLOSE_WAITE 状态
  3. 客户端收到服务端的确认请求之后,进入 FIN-WAIT-2 状态
  4. 服务器将最后的数据发送完毕之后,向客户端发送一个连接释放报文 FIN = 1,ack = u + 1,seq = w。服务端此时进入 LAST-ACK 状态
  5. 客户端收到 FIN 后,并发回一个 ACK = 1 的确认报文,ack = w + 1,seq = u + 1。此时客户端进入 TIME-WAIT 状态。此时 TCP 连接还没有释放,必须经过 2MSL(最大报文段生存时间)才能返回到 CLOSE 状态
  6. 服务端收到了客户端发出的确认之后,立即进入 CLOSED 状态。
  • 三次握手原因:

    客户端和服务端通信前要进行连接,“三次握手”的作用就是双方都能明确自己和对方的收、发能力是正常的。

    第一次握手:客户端发送网络包,服务端收到了。这样服务端就能得出结论:客户端的发送能力、服务端的接收能力是正常的。

    第二次握手:服务端发包,客户端收到了。这样客户端就能得出结论:服务端的接收、发送能力,客户端的接收、发送能力是正常的。

    第一、二次握手后,服务端并不知道客户端的接收能力以及自己的发送能力是否正常

    四次握手的话最后一次纯属浪费资源

  • 为什么连接的时候是三次,关闭的时候却是四次?

    因为当 Server 端收到 Client 端的 SYN 连接请求报文后,可以直接发送 SYN+ACK 报文。其中 ACK 报文是用来应答的,SYN 报文是用来同步的。

    但是关闭连接时,当 Server 端收到 FIN 报文时,很可能并不会立即关闭 SOCKET,所以只能先回复一个 ACK 报文,告诉 Client 端,"你发的 FIN 报文我收到了"。只有等到我 Server 端所有的报文都发送完了,我才能发送 FIN 报文,因此不能一起发送。故需要四步握手。

为什么客户端在 TIME-WAIT 状态必须等待 2MSL 的时间

2MSL:最大报文段生存时间

  1. 为了保证客户端发送的最后一个 ACK 报文段能够达到服务器。

这个 ACK 报文段可能丢失,因而使处在 LAST-ACK 状态的服务器收不到确认。如果 ACK 报文丢失的话,服务器会超时重传 FIN+ACK 报文段,客户端就能在 2MSL 时间内收到这个重传的 FIN+ACK 报文段,接着客户端重传一次确认,重启计时器。最后,客户端和服务器都正常进入到 CLOSED 状态。如果客户端在 TIME-WAIT 状态不等待一段时间,而是再发送完 ACK 报文后立即释放连接,那么就无法收到服务器重传的 FIN+ACK 报文段,因而也不会再发送一次确认报文。这样,服务器就无法按照正常步骤进入 CLOSED 状态。

  1. 防止已失效的连接请求报文段出现在本连接中。

客户端在发送完最后一个 ACK 确认报文段后,再经过时间 2MSL,就可以使本连接持续的时间内所产生的所有报文段都从网络中消失。这样就可以使下一个新的连接中不会出现这种旧的连接请求报文段。

讲一下浏览器从接收到一个 URL 到最后展示出页面,经历了哪些过程。

  1. DNS 域名解析
  2. 建立 TCP 连接
  3. 发送 HTTP 请求
  4. 服务器处理请求
  5. 返回响应结果
  6. 关闭 TCP 连接
  7. 浏览器解析渲染页面

http 和 https 的区别

  1. HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议;
  2. HTTP 和 HTTPS 使用的是完全不同的连接方式,使用的端口也不一样,http 是 80,https 时 443,
  3. http 是无状态的连接,https 是 SSL+HTTP 协议构建的可进行加密传输,比 HTTP 协议安全。

HTTP 状态码

常见状态码:

  • 200 返回正常。服务器成功返回网页,请求已正常处理
  • 204 请求处理成功,但没有任何资源可以返回给客户端
  • 304 未修改,自从上次请求后,请求的网页未修改过。服务端资源无变化,可使用缓存资源

  • 400 请求参数不合法。服务器端无法理解客户端发送的请求,请求报文中可能存在语法错误

  • 401 未认证。发送的请求需要有通过 HTTP 认证(BASIC 认证,DIGEST 认证)的认证信息。

  • 403 服务端禁止访问该资源。不允许访问那个资源。该状态码表明对请求资源的访问被服务器拒绝了。

  • 404 服务端未找到该资源。请求的网页不存在

  • 500 内部服务器错误
  • 503 服务器超时

HTTPS 的过程?服务端伪造怎么处理,怎么知道是不是真正的服务端?CA 证书行不行?

HTTPS 的过程:

  1. 客户端发起 HTTPS 请求,然后连接到服务器端的 443 端口

  2. 双方协商并交换参数

    • 客户端消息参数包括:客户端随机生成的随机数 RNc,支持的 SSL/TLS 协议版本以及支持的加密算法
    • 服务端响应客户端消息参数包括:服务端生成的随机数 RNs,确认使用的 SSL/TLS 协议版本,确认使用的加密算法
    • 生成的随机数后面用来生成“会话密钥”
  3. 双方交换并验证证书

    证书包含自己的名称、受信任的证书颁发机构(CA)和自己的公钥

    • 服务端:向客户端发送服务端证书(证书中包含服务端公钥),并向客户端索要客户端证书;
    • 客户端:收到服务端证书后,验证其身份有效性(可信机构颁发、域名一致、未过期等),如验证失败则握手失败,如成功则从中取出服务端公钥;
    • 客户端:向服务端发送客户端证书(证书中包含客户端公钥);
    • 服务端:收到客户端证书后,验证其身份真实性,如验证失败则握手失败。
  4. 双方生成主密钥

  5. 完成握手并开始交互

https 和 tls 机制,非对称加密,为什么 tls 要使用非对称加密?这里面有对称加密吗?

参考网址 1open in new window

参考网址 2open in new window

在对称加密中,相同的密钥用于加密和解密,一旦该密钥被盗,所有数据都将消失,因此 TLS 要使用非对称加密。通过非对称加密技术,客户端和服务器生成一个对称加密的密钥,之后的通讯便是用这一套密钥进行的,此过程是对称加密。

对称加密:

加密和解密都用一个密钥。优点是速度快;缺点是密钥容易被截获,不够安全。

非对称加密:

有一对密钥,即有公钥也有私钥。公钥随便发,私钥不会发出去,各自保管,用一个加密的话,解密就只能用另外一个。优点是非常安全;缺点是消耗资源,速度极慢,所以要有限使用。不能无节制使用。

https 机制:

客户端和服务器端通过协商机制得到一个对称加密算法,就此双方使用该算法进行加密解密。从而解决了客户端与服务器端之间的通信安全问题。

  • 协商机制采用非对称加密保证安全
  • 使用数字证书签发机构颁发的证书来保证非对称加密过程本身的安全
  • 之后使用对称加密、解密传输数据

SSL/TLS 协议:

  • 概念:

    SSL “安全套接层” 协议,TLS “安全传输层” 协议,都属于是加密协议,在其网络数据传输中起到保护隐私和数据的完整性

    HTTPS 其实是有两部分组成:HTTP + SSL / TLS,也就是在 HTTP 上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过 TLS 进行加密,所以传输的数据都是加密后的数据。

  • 作用:

  1. 认证用户和服务器,确保数据发送到正确的客户机和服务器;
  2. 加密数据以防止数据中途被窃取;
  3. 维护数据的完整性,确保数据在传输过程中不被改变。
  • 流程:
  1. 双方协商交换参数
  2. 双方交换并验证证书
  3. 双方生成主密钥
  4. 完成握手并开始交互
  • 详细流程:
  1. 客户端首先发起 clientHello 消息。包含一个客户端随机生成的 random1 数字,客户端支持的加密算法,以及 SSL 信息;
  2. 服务器收到客户端的 clientHello 消息以后,取出客户端法发来的 random1 数字,并且取出客户端发来的支持的加密算法, 然后选出一个加密算法,并生成一个随机数 random2,发送给客户端 serverhello;
  3. 服务端通过将自己的公钥通过数字证书的方式发送给客户端,客户端对服务器进行身份校验;
  4. 客户端收到服务端传来的证书后,先从 CA 验证该证书的合法性,验证通过后取出证书中的服务端公钥,再生成一个随机数 Random3,再用服务端公钥非对称加密 Random3 生成 PreMaster Key。并将 PreMaster Key 发送到服务端,服务端通过私钥将 PreMaster Key 解密获取到 Random3,此时客户端和服务器都持有三个随机数 Random1 Random2 Random3,双方在通过这三个随机数生成一个对称加密的密钥。双方根据这三个随机数经过相同的算法生成一个密钥,而以后应用层传输的数据都使用这套密钥进行加密。
  5. Change Cipher Spec:告诉客户端以后的通讯都使用这一套密钥来进行。

http1.1 和 1.0 的区别

http1.1:

  1. 默认支持长连接;
  2. 带宽优化,并支持断点续传;
  3. 新增例如 ETag,If-None-Match 等更多的缓存控制策略;
  4. Host 头域;
  5. 新增了 24 个错误状态响应码,如 409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除;

HTTP 协议和 TCP 协议区别和联系

HTTP(超文本传输协议)是浏览器和服务器之间的应用层通信协议。

TCP 是传输层,而 http 是应用层,HTTP 协议是建立在 TCP 协议之上的一种应用。

Get 和 Post 区别

get:请求指定页面信息,并返回实体主体 Post:向指定资源提交数据进行处理请求(提交表单、上传文件)

GET 和 POST 是 HTTP 请求的两种基本方法。

  1. get 用于获取数据,post 用于提交数据
  2. get 提交参数追加在 url 后面,post 参数可以通过 http body 提交
  3. get 的 url 会有长度上的限制,则 post 的数据则可以非常大
  4. get 提交信息明文显示在 url 上,不够安全,post 提交的信息不会在 url 上显示
  5. get 提交可以被浏览器缓存,post 不会被浏览器缓存

TCP 和 UDP 的区别

TCP 和 UDP 的区别open in new window

概念:

传输层协议,TCP 传输控制协议,提供端到端的字节流通信协议;UDP 用户数据报协议,不需要建立连接

区别:

  1. TCP 面向连接,UDP 是无连接的,即发送数据之前不需要建立连接;
  2. TCP 提供可靠的服务,UDP 不保证可靠交付;
  3. UDP 具有较好的实时性,工作效率比 TCP 高,适用于对高速传输和实时性有较高的通信或广播通信;
  4. 每一条 TCP 连接只能是点到点的;UDP 支持一对一,一对多,多对一和多对多的交互通信
  5. TCP 对系统资源要求较多,UDP 对系统资源要求较少。

适用场景以及对应应用层的协议:

TCP:对数据传输的质量有较高要求,但对实时性要求不高。比如 HTTP(超文本传输协议),HTTPS,FTP(文件传输协议)等协议以及 POP3(接收邮件)、SMTP(发送邮件)等邮件传输的协议,应选用 TCP 协议。

UDP:只对数据传输的实时性要求较高,但不对传输质量有要求。比如视频传输、实时通信等,应选用 UDP 协议。常用协议 DNS(域名解析协议)、TFTP(简单网络管理协议),SNMP 协议(简单网络管理协议)

长连接、短连接,

HTTP 长连接、短连接究竟是什么?open in new window

短连接

在 HTTP/1.0 中默认使用短连接。也就是说,客户端和服务器每进行一次 HTTP 操作,就建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个 HTML 或其他类型的 Web 页中包含有其他的 Web 资源(如 JavaScript 文件、图像文件、CSS 文件等),每遇到这样一个 Web 资源,浏览器就会重新建立一个 HTTP 会话。

长连接

而从 HTTP/1.1 起,默认使用长连接,用以保持连接特性。使用长连接的 HTTP 协议,会在响应头加入这行代码:

Connection:keep-alive

在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输 HTTP 数据的 TCP 连接不会关闭,客户端再次访问这个服务器时,会继续使用这一条已经建立的连接。Keep-Alive 不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如 Apache)中设定这个时间。实现长连接需要客户端和服务端都支持长连接。

HTTP 协议的长连接和短连接,实质上是 TCP 协议的长连接和短连接。

arp 协议, arp 攻击

ICMP 协议

讲一下路由器和交换机的区别?

DNS 寻址过程

负载均衡反向代理模式优点及缺点

Comments
  • Latest
  • Oldest
  • Hottest
Powered by Waline v2.13.0