OSI七层模型
OSI是Open SystemInterconnection 的所缩写,意思是“开放式系统互联”。
OSI模型把网络通信的工作分为7层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
OSI只是存在于概念和理论上的一种模型,它的缺点是分层太多,增加了网络工作的复杂性,所以没有大规模应用。后来人们堆OSI进行的简化,合并了一些层,最终只保留的4层,从下到上分别是接口层、网络层、传输层和应用层,这就是大名鼎鼎的TCP/IP模型。
![](https://i-blog.csdnimg.cn/blog_migrate/298e6ebb0a7869a9d3a0045409d70edf.png)
OSI七层模型各层的工作内容:
物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫比特。
数据链路层:定义了如何让格式化数据以帧为单位进行传输,以及如何控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。如:串口通信中使用到的115200、8、N、1。
网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Inter的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。
传输层:定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大大数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。
会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要是在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。
表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。
应用层:是最靠近用户的OSI层。这一层为用户的应用程序提供网络服务。
TCP/IP四层模型
TCP/IP网络协议栈分为应用层(Appliaction)、传输层(Transport)、网络层(Network)和链路层(Link)四层。
![](https://i-blog.csdnimg.cn/blog_migrate/94aa8371903acd7177de1d1e6f9a40a0.png)
两台计算机进行通信时,必须遵守以下原则:
必须是同一层次进行通信,比如,A计算机的应用层和B计算机的传输层就不能通信,因为它们不在一个层次,数据的拆包会遇到问题。
每一层的功能都必须相同,也就是拥有完全相同的网路模型。如果网络模型都不同,那就乱套了。数据只能逐层传输,不能跃层。
每一层可以使用下层提供的服务,并向上层提供服务。