一.OSI简介
OSI参考模型是ISO(国际标准化组织)提出的一个抽象的模型。在实际通信中并不会用到这个模型,用的更多的是TCP/IP模型,甚至有些组织会自己使用一些自己设计的参考模型。
OSI参考模型是一个分层架构,每一层各司其职,互不干扰,协助整个网络通信的完成。
OSI采用垂直分层,上层使用下层的服务,下层向上层提供接口。只有相邻层可以通信,不能跨层访问。各层实现细节对上层都是透明的。
#注:透明:在计算机中指的是看不到也不需要看到的。
二.OSI模型各层简介
OSI模型从下到上分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
物联网淑慧试用(口诀来源:王道)
(1)物理层(physical layer)
在物理层定义信号的传输形式,以及传输介质、硬件信息等。物理层传输数据的单位是比特。
物理层相当于为信号的传输建立一条物理链路。
物理层的相关设备有:网卡、网线、集线器、中继器、调制解调器。
(2)数据链路层(data link layer)
一组的二进制数才有实在的意义,单纯的0和1没有任何意义,所以用数据链路层来定义电信号的分组方式。数据链路层传输数据的单位是帧。将上层数据加上源和目的方的物理(MAC)地址封装成数据帧。
数据链路层相当于是为信号传输建立一条逻辑链路,为网络层提供差错控制和流量控制服务。
该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。
MAC子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制;
LLC子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。
数据链路层相关设备有:网桥、交换机。
数据链路层是解决同一网络内节点之间的通信,而网络层主要解决不同子网间的通信。
(3)网络层(network layer)
网络层负责将数据包加上源ip地址和目的ip地址,进行逻辑寻址,进行路由选择等,实现通信。(就是为了实现不同网络之间的通信,就研究出了ip地址。也起划分广播域的作用)网络层传输数据的基本单位为包。
网络层的一些概念:
ipv4:点分十进制,42亿的数据量;ipv6:冒号分隔的八个十六进制数
私有ip:无法上网;公网ip:全世界唯一,实现与其他网络之间的通信。
网络层相关设备:路由器。
(4)传输层(transport layer)
传输层定义发送数据包的方式。将上层应用数据分片并加上端口号封装成数据段,通过对报文头中的端口识别实现数据的传输。
传输层实现了网络中不同主机上的用户进程之间(通过端口号,精准投递信息)的数据通信,为用户提供了端到端的服务。传输层起到了承上启下的作用,承接上层软件应用,下启网络数据传输。
传输层两个重要的协议:
TCP:可靠传输,传输速度慢;需要连通,要有回应;数据包较大,就会分段。只要网络没有问题,一般不会丢包。单个数据包大小:最小为64B,最大为1500B。
UDP:不可靠传输,传输速度慢;不需要连通,不需要回应,发送方可以一直发。
传输层为端到端通信,而网络层以下为点对点通信
OSI下3层的主要任务是数据通信,上3层的任务是数据处理。传输层起呈上启下的作用
(5)会话层(session layer)
会话层是用户应用程序和网络之间的接口,就是我们应用的各类软件之间通信协议,定义如何通信等。会话层的任务就是组织和协调两个会话进程之间的通信。
#我的理解是传输层负责把数据精准地送到各个端口,下一步的通信(具体显示什么窗口,提供什么服务)就由会话层来完成。
会话层用于建立、管理、中止会话。会话层的主要功能是负责维护两个节点之间的传输联接,确保点到点传输不中断,以及管理数据交换等功能。会话层还可以通过对话控制来决定使用何种通信方式,比如我们比较熟悉的全双工通信或半双工通信。
(6)表示层(presentation layer)
表示层用于进行数据格式声明,数据加密,解压缩;描述文件类型(方便接收方读取数据)等等。
(7)应用层(application layer)
是网络服务和用户通信的一个接口。
发送数据探测包,检查网络等是否连通。会话的建立和断开。提供人机交互的窗口。