编辑
2024-03-15
八股文
00
请注意,本文编写于 65 天前,最后修改于 65 天前,其中某些信息可能已经过时。

目录

TCP/IP的三次握手和四次挥手
三次握手
四次挥手
三次握手的原因
四次挥手的原因
网络模型
TCP与UDP的区别
HTTP 与 HTTPS的区别
DNS的工作原理

TCP/IP的三次握手和四次挥手

三次握手

  1. 第一步:客户端发送SYN请求
    • 客户端向服务器发送一个带有 SYN 标志的数据包,请求建立连接。

  1. 第二步:服务器响应SYN+ACK
    • 服务器接收到客户端的 SYN 请求后,会回复一个带有 SYN 和 ACK 标志的数据包,表示同意建立连接。

  1. 第三步:客户端发送ACK确认
    • 客户端接收到服务器的 SYN+ACK 响应后,会再次向服务器发送一个带有 ACK 标志的数据包,表示连接已建立。

通过三次握手,客户端和服务器就建立了可靠的连接,可以开始进行数据传输。


四次挥手

  1. 第一步:客户端发送FIN请求
    • 客户端发送一个带有 FIN 标志的数据包,请求断开连接。

  1. 第二步:服务器响应ACK确认
    • 服务器接收到客户端的 FIN 请求后,会回复一个带有 ACK 标志的数据包,表示已收到断开请求。

  1. 第三步:服务器发送FIN请求
    • 服务器在准备断开连接时,也会发送一个带有 FIN 标志的数据包给客户端。

  1. 第四步:客户端响应ACK确认
    • 客户端接收到服务器的 FIN 请求后,会回复一个带有 ACK 标志的数据包,表示已收到断开请求。

5c3a36f910e844b29e6a6b35978c2a7f.png


三次握手的原因

  1. 可以阻止重复历史连接的初始化(主要原因)。

  2. 可以同步双方的初始序列号。

  3. 可以避免资源的浪费。


img

如果采用两次握手:(*中间绿色的服务端发送数据就被浪费,并且需要进行连接的销毁*


四次挥手的原因

四次挥手过程的目的是确保数据在关闭过程中能够被完整传输,同时也允许延迟的数据包在关闭后仍然能够被接收。如果采用三次挥手,可能会导致数据包的丢失或混淆,从而影响连接的可靠性和完整性。因此,四次挥手是为了更可靠地关闭TCP连接。

该协议工作在应用层


网络模型

七层模型


TCP与UDP的区别

UDP:对网络通讯质量要求不高时,要求网络通讯速度要快的场景

  • 无连接,发送数据之前不需要建立连接。
  • 尽最大努力交付,不保证可靠交付,不使用拥塞控制。
  • 面向报文,适合多媒体通信。
  • 支持一对一,一对多,多对一,多对多的交互通信。
  • 首部开销小,8个字节。

TCP:当对网络通讯质量有要求时,比如HTTP、HTTPS、FTP等传输文件的协议

  • 面向连接。
  • 每一条TCP有且只有两个端点,为一对一关系。
  • 提供可靠交付。
  • 全双工通信,全双工为即可传输又可接收。
  • 面向字节流。

img


HTTP 与 HTTPS的区别

一、传输信息安全性不同

  1. HTTP:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。
  2. HTTPS:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全

二、连接方式不同

  1. HTTP:http的连接很简单,是无状态的。
  2. HTTPS:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。

三、证书申请方式不同

  1. HTTP:免费申请。
  2. HTTPS:需要申请SSL证书,一般免费证书很少,需要交费。

四、端口不同

  1. HTTP:默认端口为80
  2. HTTPS:默认端口为443

HTTP的特点

1、支持客户/服务器模式。(C/S模式)


2、简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。


3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。


4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。


5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。


HTTPS的特点

相比于http,https可以提供更加优质保密的信息,保证了用户数据的安全性,此外https同时也一定程度上保护了服务端,使用恶意攻击和伪装数据的成本大大提高。

总的来说,HTTPS相比于HTTP更加安全,适合用于需要保护数据隐私和安全的网站


DNS的工作原理

访问www.baidu.com,DNS是怎么工作的

  1. 你的电脑首先会发出请求解析域名www.baidu.cm的报文。

  1. 本地域名服务器收到请求后,会先查询本地缓存,假设没有该记录, 则本地域名服务器就会向根域名服务器发出请求解析域名www.baidu.cm(即(你的电脑)本地域名服务器让根服务器帮其代理完成任务)

  1. 根域名服务器收到请求后,会进行一个判断(从右往左进行扫描),判断出该域名属于.com域,随后给出相应记录(这里的记录是属于com域的记录),并返回给(你的电脑)本地域名服务器

  1. (你的电脑)本地域名服务器收到根域名服务器那边的答复后,先缓存其答复的记录,再向其给出的记录中逐一请求解析

  1. 之后便不断递归上述的4、5过程,当然域名等级会随着次数变多逐渐降低(毕竟范围也是越来越小,从顶级域名到二级再到三级。。。)

  1. 最后找到www.baidu.com的域名后,就可获取到其IP地址了,同时将结果缓存进本地缓存,方便下次请求解析时可以直接从本地缓存中找到了。


DNS的主配置文件在etc/named.conf

本文作者:春天y

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!