ISO网络七层结构
应用层: 为应用程序进程(如电子邮件,文件传输和终端仿真),提供网络服务。提供用户身份验证
表示层: 确保接收系统可以读出该数据,格式化数据,构建数据,协商用于应用层的数据传输语法,提供加密
会话层: 建立、管理和终止在应用程序之间的会话
传输层: 确保数据传输的可靠性。建立、维护和终止虚拟电路,通过错误检测和恢复,信息流控制来保障可靠性
网络层: 路由数据包,选择传递数据的最佳路径,支持逻辑寻址和路径选择
数据链路层: 定义如何格式化数据以便进行传输以及如何控制对网络的访问。支持错误的检测
物理层: 为启动、维护以及关闭物理连接定义了电气规范、机械规范、过程规范和功能
三次握手
在 TCP/IP 协议中,TCP 协议提供可靠的连接服务,采用三次握手建立一个连接
第一次握手:建立连接时,客户端发送 syn 包(syn=j)到服务器,并进入 SYN_SEND 状态,等待服务器确认
第二次握手:服务器收到 syn 包,必须确认客户的 SYN(ack=j+1),同时自己也发送一个 SYN 包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态
第三次握手:客户端收到服务器的 SYN+ACK 包,向服务器发送确认包 ACK(ack=k+1),此包发送完毕,客户端和服务器进入 ESTABLISHED 状态,完成三次握手
四次挥手:TCP连接是全双工的,因此每个方向都必须单独进行关闭
第一次挥手:客户端 A发送一个 FIN,用来关闭客户 A 到服务器 B 的数据传送
第二次挥手:服务器 B 收到这个 FIN,它发回一个 ACK,确认序号为收到的序号加 1。和 SYN 一样,一个 FIN 将占用一个序号
第三次挥手:服务器 B 关闭与客户端 A 的连接,发送一个 FIN 给客户端 A
第四次挥手:客户端 A 发回 ACK 报文确认,并将确认序号设置为收到序号加 1
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90260