计算机网络
网络协议
网络协议是一种规定了计算机网络中
数据传输
和通信
的规则和约定的规范。
作用是确保数据能够在网络中正确
、高效
地传输
和交换
。
传输协议
- TCP(传输控制协议):提供可靠的、面向连接的数据传输,确保数据的完整性和顺序。
- UDP(用户数据报协议):无连接的传输协议,不保证数据的可靠性和顺序。
TCP的三次握手与四次挥手
三次握手: TCP建立了可靠的连接,确保数据的可靠传输。 四次挥手: TCP安全地关闭连接,释放资源。
- 三次握手(Three-way Handshake):
- 第一步:客户端向服务器发送一个SYN(同步)包,其中包含自己的初始序列号。
- 第二步:服务器收到SYN包后,回复一个SYN+ACK(同步+确认)包,其中包含自己的初始序列号和确认号(客户端的初始序列号+1)。
- 第三步:客户端收到服务器的SYN+ACK包后,回复一个ACK(确认)包,其中包含确认号(服务器的初始序列号+1)。
总结: 这样,双方都确认了对方的初始序列号
,并建立了可靠的双向通信。
- 四次挥手(Four-way Handshake):
- 第一步:当客户端想要关闭连接时,发送一个FIN(结束)包,
表示不再发送数据
。 - 第二步:服务器收到FIN包后,回复一个ACK包,
确认收到
了客户端的关闭请求
。 - 第三步:服务器完成自己的数据发送后,发送一个FIN(结束)包,表示
自己也准备
关闭连接。 - 第四步:客户端收到服务器的FIN包后,回复一个ACK包,
确认收到
了服务器的关闭请求
。
- 第一步:当客户端想要关闭连接时,发送一个FIN(结束)包,
这样,双方都确认了对方的关闭请求
,并完成了连接的关闭。
网络层协议
- 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证书,用于验证服务器的身份和加密通信。