网路协议相关内容
OSI 7层参考模型

理解:OSI参考模型采用了分层结构技术,把一个网络系统分成若干层,每一层都去实现不同的功能,每一层的功能都以协议的形式规范描述,协议定义了某层同远程一个对等层通信所使用的一套规范和标准。每一层向相邻上层提供一套确定的服务,并且使用与之相邻的下层所提供的服务;
- 物理层:
(1).物理层是参考模型中的最底层,主要定义了系统的电压、物理数据速率、最大传输距离、物理联接器等功能标准;
(2).物理层的主要功能是利用传输介质为数据链路层提供物理联接,负责数据流的物理传输工作;
(3).物理层传输的基本单位是比特流,即0和1,也就是最基本的电信号或光信号,是最基本的物理传输特征; - 数据链路层:
(1).数据链路层是在通信实体间建立数据链路联接,传输的基本单位为“帧”,并为网络层提供差错控制和流量控制服务; - 网络层:
(1).网络层主要为数据在节点之间传输创建逻辑链路,通过路由选择算法为分组选择最佳路径,从而实现拥塞控制、网络互联等功能; - 传输控制层:
(1).传输控制层是网络体系结构中高低层之间衔接的一个接口层。常见的TCP/UDP协议就是该层具体的协议实现; - 会话层:
(1).会话层的主要功能是负责维护两个节点之间的传输联接,确保点到点传输不中断,以及管理数据交换等功能; - 表示层:
(1).表示层为在应用过程之间传送的信息提供表示方法的服务 - 应用层:
(1).应用层是OSI模型中的最高层,是直接面向用户的一层,用户的通信内容要由应用进程解决,这就要求应用层采用不同的应用协议来解决不同类型的应用要求.需要注意的是应用层并不是应用程序,而是为应用程序提供服务,可以理解为Tomcat,浏览器器等应用程序提供服务 - 协议:我们常见的Http/Https是应用层协议,TCP/UDP是传输控制层协议;
三次握手
理解:三次握手是一个客户端与服务端建立连接前确认双方发送数据和接受数据的能力是否正常的一个过程,三次握手常应用于传输控制层TCP协议建立连接阶段,TCP是一个面向连接的,可靠的传输控制层协议,三次握手在一定程度上保证了TCP建立连接的可靠性,为什么使用三次握手,客户端向服务端发送连接信息,服务端接受信息并向客户端回复确认信息,在这两次握手的过程中客户端是可以确认到自己发送信息和接受信息的能力是没有问题的,但是服务端只是回复了确认信息给客户端,它并没有收到客户端的回复,他无法确认到自己发送数据的能力是否正常,所以这里还需要第三次握手,客户端回复确认信息给服务端,服务端接受信息就可以确认到自己发送数据和接受数据的能力是没有问题的,但是这样还是无法保证协议100%可靠,因为在三次握手之后还是会出现一些意外导致无法建立连接,但是即使是四次握手,五次握手同样无法保证协议100%可靠,所以三次握手就够了;
四次分手
理解:三次握手之后,客户端和服务端会开辟相应的资源进行数据传输(例如:创建socket,开放端口等),当某一端想断开连接时会进行四次挥手
(1).客户端进程发出连接释放报文,并且停止发送数据;
(2).服务器收到连接释放报文,发出确认报文,此时服务端就进入了CLOSE-WAIT(关闭等待)状态;
(3).客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文;
(4).服务器将最后的数据发送完毕后,就向客户端发送连接释放报文;
(5).客户端收到服务器的连接释放报文后,必须发出确认,此时客户端就进入了TIME-WAIT(时间等待)状态,注意此时TCP连接还没有释放,必须经过2∗∗MSL(最长报文段寿命)的时间后,当才进入CLOSED状态
(6).服务器只要收到了客户端发出的确认,立即进入CLOSED状态