网络七层协议 OSI开放式互联参考模型
- 解决两台物理机之间的通信需求:机器A往机器B发送比特流,机器B能收到这些比特流,这就是物理层要做的事情。物理层主要定义了物理设备的标准,如网线的类型,光纤的接口类型,各种传输介质的传输速率等。它的主要作用是传输比特流,将0101数据转换为电流强弱来进行传输,到达目的机器后再转换为0101的机器码,即数模转换与模数转换。这一层的数据叫做比特,网卡就是工作在这一层的。
- 在传输比特流的时候,会产生错传或者数据传输不完整的可能,因此数据链路层应运而生。数据链路层定义了如何格式化数据以进行传输,以及如何控制对物理介质的访问,这一层通常还提供错误检测和纠正,以确保数据传输的可靠性。本层将比特数据组成帧,其中交换机工作在这一层,对帧解码,并根据帧中包含的信息,把数据发送到正确的接收方。
- 随着网络节点的不断增加,点对点通信的时候,是需要经过多个节点的,那么如何找到目标节点,如何选择最佳路径,便成为了首要需求。此时便有了网络层。其主要功能是将网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方。网络层通过综合考虑发送优先权、网络的拥塞程度、服务质量以及可选路由的花费,来决定从一个网络中的节点A到另一个网络中的节点B的最佳路径。由于网络层处理并智能指导数据传送,路由器连接于网络各段,所以路由器属于网络层。此层的数据,我们称为数据包。
- 随着网络通信需求的进一步扩大,通信过程中需要发送大量的数据,如海量文件传输等,可能需要很长时间,而网络层在通信的过程中会中断好多次,此时为了保证传输大量文件时的准确性,需要对发出的数据进行切分,切割为一个一个的段落及SMG进行发送,那么一个段落丢失了怎么办,要不要重传,每个段落要按照顺序到达吗?这个便是传输层需要考虑的问题了。传输层解决了主机间的数据传输、数据间的传输可以是不同网络的,并且传输层解决了传输质量的问题,该层是OSI模型中最重要的一层。传输协议或者进行流量控制,或是基于接收方可接收数据的快慢程度规定适当的发送速率。除此之外,传输层按照网络能够处理的最大尺寸,将较长的数据包进行强制分割。例如,以太网无法接收大于1500字节的数据包,发送方节点的传输层将数据分割成较小的数据片,同时对每一数据片,安排***,以便数据到达接收方节点的传输层时,能以正确的顺序进行重组,该过程称为排序。传输层需要我们关注的协议有TCP协议和UDP协议。
- 会话层的作用是建立和管理应用程序的通信,保证应用程序自动收发包和寻址。
- 表示层。解决不同系统之间的通信语法问题。在表示层,数据将按照网络能够理解的方案进行格式化,这种格式化也因所使用网络的类型不同而不同。
- 应用层。应用层的网络协议规定接收方和发送方必须使用一个固定长度的消息头,消息头必须使用某种固定的组成,而且消息头里必须记录消息长度等一系列信息,以方便接收方能够正确的解析发送方发送的数据。应用层旨在让你更方便的应用到网络发送的数据。至于数据的传递,没有该层你也可以直接在两台电脑间开干,只是传来传去只是一堆0和1组成的字节数组。该层需要关注HTTP协议。
网络数据处理的整个流程:
从应用层开始对要传输的数据头部进行处理,加上本层的一些信息,最终由物理层通过以太网电缆等介质,将数据解析成比特流,在网络中传输。数据传递到目标地址,并自底而上的将先前对应层的头部给解析分离出来。