ISO是“国际标准化组织”的英文简称,其全称是International Organization for Standardization。ISO成立于1947年2月23日,是世界上最大的国际化标准组织。
OSI模型(Open System Interconnection Model)是一个由ISO提出得到概念模型,试图提供一个使各种不同的的计算机和网络在世界范围内实现互联的标准框架。
1、物理层
-
简单的说,物理层(Physical Layer)确保原始的数据可在各种物理媒体上传输。在这一层上面规定了激活、维持、关闭通信端点之间的机械特性、电气特性、功能特性以及过程特性,为上层协议提供了一个传输数据的物理媒体。这一层传输的是bit流。
-
机械性能:接口的型状,尺寸的大小,引脚的数目和排列方式等。
电气性能:接口规定信号的电压、电流、阻抗、波形、速率及平衡特性等。
工程规范:接口引脚的意义、特性、标准。
工作方式:确定数据位流的传输方式,如:单工、半双工或全双工。
物理层协议有:
美国电子工业协会(EIA)的RS232,RS422,RS423,RS485等;
国际电报电话咨询委员会(CCITT)的X.25、X.21等;
物理层的数据单位是位(BIT),典型设备是集线器HUB。
这层主要和硬件有关,与软件关系不大。
2、数据链路层
-
数据链路层(Data Link Layer)在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。这一层中将bit流封装成frame帧。
-
链路层屏蔽传输介质的物理特征,使数据可靠传送。
内容包括介质访问控制、连接控制、顺序控制、流量控制、差错控制和仲裁协议等。链路层协议有:
协议有面向字符的通讯协议(PPP)和面向位的通讯协议(HDLC)。
仲裁协议:802.3、802.4、802.5,即:
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)、Token Bus、Token Ring链路层数据单位是帧,实现对MAC地址的访问,典型设备是交换机Switch。
3、网络层
1) 主要功能:负责点到点(point-to-point)的传输(这里的“点”指主机或路由器)
网络层是为传输层提供服务的,传送的协议数据单元称为数据包或分组。该层的主要作用是解决如何使数据包通过各结点传送的问题,即通过路径选择算法(路由)将数据包送到目的地。另外,为避免通信子网中出现过多的数据包而造成网络阻塞,需要对流入的数据包数量进行控制(拥塞控制)。当数据包要跨越多个通信子网才能到达目的地时,还要解决网际互连的问题。
2) 网络地址: 网络层地址由两部分地址组成:网络地址和主机地址。网络地址是全局唯一的。
3)路由寻址:
1.通过路由选择算法为分组通过通信子网选择最佳路么.
2.实现路由选择,拥塞控制以及网络互联等.
网络层的主要协议:IP,ARP、RARP
ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息。数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息。
主要功能:确定计算机的位置,怎么确定?IPv4,IPv6!
4、传输层
-
传输层
传输层是第一个端到端,即主机到主机的层次。传输层负责将上层数据分段并提供端到端的、可靠的或不可靠的传输。此外,传输层还要处理端到端的差错控制和流量控制问题。在这一层,数据的单位称为数据段(segment)。 -
提供端到端的服务。可以实现流量控制、负载均衡。
传输层信息包含端口、控制字和校验和。
传输层协议主要是TCP和UDP。
传输层位于OSI的第四层,这层使用的设备是主机本身。 -
主要功能:每一个应用程序都会在网卡注册一个端口号,该层就是端口与端口的通信!常用的(TCP/IP)协议;
注意:传输层协议为不同主机上运行的进程提供逻辑通信,而网络层协议为不同主机提供逻辑通信。这个区别很微妙,但却非常重要。
5、会话层
OSI会话层,主要功能是用来管理网络设备的会话连接,细分为三大功能:
- 建立会话:A、B两台网络设备之间要通信,要建立一条会话供他们使用,在建立会话的过程中也会有身份验证,权限鉴定等环节;
- 保持会话:通信会话建立后,通信双方开始传递数据,当数据传递完成后,OSI会话层不一定会立刻将两者这条通信会话断开,它会根据应用程序和应用层的设置对该会话进行维护,在会话维持期间两者可以随时使用这条会话传输局;
- 断开会话:当应用程序或应用层规定的超时时间到期后,OSI会话层才会释放这条会话。或者A、B重启、关机、手动执行断开连接的操作时,OSI会话层也会将A、B之间的会话断开。
举例:Windows系统下的共享文件夹
参考资料:https://blog.youkuaiyun.com/weixin_42859280/article/details/86512490
6、表示层
表示层位于OSI分层结构的第六层,它的主要作用之一是为异种机通信提供一种公共语言,以便能进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。与第五层提供透明的数据运输不同,表示层是处理所有与数据表示及运输有关的问题,包括转换、加密和压缩。每台计算机可能有它自己的表示数据的内部方法,例如,ASCII码与EBCDIC码,所以需要表示层协定来保证不同的计算机可以彼此理解。
例如,IBM主机使用EBCDIC编码,而大部分PC机使用的是ASCII码。在这种情况下,便需要表示层来完成这种转换。如果您想要用尽量少的词语来记住这第6层,那就是“一种通用的数据格式”。
表示层为应用层提供的服务有三项内容
- 语法转换:语法转换涉及代码转换和字符集的转换,数据格式的修改、数据结构操作的适配、数据压缩、数据加密等。
- 语法选择:语法选择是提供初始选择的一种语法和随后修改这种选择的手段。
- 联接管理:利用会话层提供的服务建立表示联接,管理在这一联接之上的数据运输和同步控制,以及正常或非正常地终止联接。
7、应用层
应用层的任务是通过应用进程间的交互来完成特定的网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中引用层协议很多,入域名系统DNS,支持万维网应用的HTTP协议,支持电子邮件的SMTP协议等等。我们把应用层交互的数据单元称为报文。
应用层协议都是为了解决某一类应用问题,而问题的解决又必须通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用进程之间的这种通信必须遵守严格的规则,应用层的具体内容就是精确定义这些通信规则,应用层协议应当定义:
- 应用进程交换的报文类型,如请求报文和响应报文
- 各种报文类型的语法,如报文中的各个字段及其详细描述
- 字段的语义,即包含在字段中的信息的含义。
- 进程何时、如何发送报文,以及对报文进行响应的规则。
参考资料:https://blog.youkuaiyun.com/ChenGuiGan/article/details/80963507