Skip to content
On this page

计算机网络

网络协议

网络协议是一种规定了计算机网络中数据传输通信规则和约定的规范
作用是确保数据能够在网络中正确高效传输交换

传输协议

  • TCP(传输控制协议):提供可靠的、面向连接的数据传输,确保数据的完整性和顺序。
  • UDP(用户数据报协议):无连接的传输协议,不保证数据的可靠性和顺序。

TCP的三次握手与四次挥手

三次握手: TCP建立了可靠的连接,确保数据的可靠传输。 四次挥手: TCP安全地关闭连接,释放资源

  1. 三次握手(Three-way Handshake):
    • 第一步:客户端向服务器发送一个SYN(同步)包,其中包含自己的初始序列号。
    • 第二步:服务器收到SYN包后,回复一个SYN+ACK(同步+确认)包,其中包含自己的初始序列号确认号(客户端的初始序列号+1)。
    • 第三步:客户端收到服务器的SYN+ACK包后,回复一个ACK(确认)包,其中包含确认号(服务器的初始序列号+1)。

总结: 这样,双方都确认了对方的初始序列号,并建立了可靠的双向通信

  1. 四次挥手(Four-way Handshake):
    • 第一步:当客户端想要关闭连接时,发送一个FIN(结束)包,表示不再发送数据
    • 第二步:服务器收到FIN包后,回复一个ACK包,确认收到了客户端的关闭请求
    • 第三步:服务器完成自己的数据发送后,发送一个FIN(结束)包,表示自己也准备关闭连接。
    • 第四步:客户端收到服务器的FIN包后,回复一个ACK包,确认收到了服务器的关闭请求

这样,双方都确认了对方的关闭请求,并完成了连接的关闭。

网络层协议

  • IP(互联网协议):负责将数据包从源主机发送到目标主机,并通过路由器进行转发。

应用层协议

  • HTTP(超文本传输协议):定义了Web应用程序之间的通信规则
  • HTTPS(安全超文本传输协议):在HTTP的基础上增加了加密身份验证机制,用于安全地传输网页和敏感数据。
  • FTP(文件传输协议):用于在网络上进行文件传输。
  • DNS(域名系统):用于将域名转换为对应的IP地址
  • SMTP(简单邮件传输协议):用于电子邮件的传输。
  • SSH(安全外壳协议):用于在网络上安全地远程登录和执行命令。

数据链路层协议

  • 以太网协议(Ethernet):定义了数据在物理链路上的传输方式。
  • Wi-Fi协议:无线网络的数据链路层协议。

HTTP与TCP的关系

二者共同协作,实现了Web页面的请求和响应。

  • TCP协议:
    • 提供了可靠的数据传输
    • (例如三次握手,四次挥手)
  • HTTP协议:
    • 定义了应用程序之间的通信规则
    • (例如规定请求头,请求体,响应体,状态码),

HTTP与HTTPS的区别

它们在数据传输的安全性加密方式上有所区别。
倾向于使用HTTPS, 安全且有利于SEO优化。 HTTP一般用于内网。

  • 安全性:
    • HTTP: 明文传输协议,不加密,容易被解析和篡改。
    • HTTPS: 基于HTTP, 通过SSL/TSL协议,对数据加密和身份验证。
  • 端口号:
    • HTTP: 默认80端口
    • HTTPS: 默认443端口
  • 证书:
    • HTTP: 不需要证书
    • HTTPS: 需要使用SSL/TLS证书,用于验证服务器的身份和加密通信。

一个陪你成长的前端博客 - XDocs