OSI七层模型
一、计算机网络体系结构
开放系统互连参考模型(Open System Interconnect 检查 OSI) 是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参考模型,为开放式互连信息系统提供了一种功能结构的框架。其目的是为了异种计算机互连提供一个共同的基础和标准框架,并为保持相关标准的一致性和兼容性提供共同的参考。这里所说的开放系统,实质上指的是遵循OSI参考模型和相关协议能够实现互连的具有各种应用目的的计算机系统。
OSI采用分层的结构化技术,分为七层,从下向上为物理层、数据链路层、传输层、网络层、会话层、表示层、应用层。
二、OSI 七层模型各层的作用
1.物理层
物理层并不是物理媒体本身,它只是开放系统中利用物理媒体实现物理链接的功能描述和执行链接的规程。
物理层的媒体包括架空明线,平衡电缆,光纤,无线信道等。通信用的互连设备指DTE(Data Terminal Equipment) 和 DCE(Data Communications Equipment)间的互连设备。DTE即 数据终端设备,又称物理设备,比如计算机,终端等都包括在内。而DCE则是数据通信设备或电路链接设备,如调制解调器等。数据传输通常是经过DTE-DCE,在经过DCE-DTE的路径。互连设备指将DTE,DCE连接起来的装置,如各种插头,插座。LAN中的各种粗、细同轴电缆、T型接头、插头、接收器、发送器、中继器等都属于物理层的媒体和连接器。
物理层的主要功能如下:
- 为数据端设备提供传送数据的通路,数据通路可以是一个物理媒体,也可以是多个物理媒体链接而成。一次完整的数据传输,包括激活物理链接、传送数据和终止物理连接。所谓激活,就是不管多少物理媒体参与,都要在通信的两个数据终端设备间连接起来,形成一条通路。
- 传输数据。物理层要形成适合数据传输需要的实体,为数据传送服务。一是要保证数据能在其上正确通过,二是要提供足够的带宽(指每秒钟能通过的比特bit数),以减少信道上的拥塞。传输数据的方式能满足点到点,一点到多点,串行和并行,半双工或全双工,同步或异步传输的需要。
2.数据链路层
数据链路可以粗略的理解为数据通道。物理层要为终端设备间的数据通信提供传输介质及其连接,介质是长期的,连接是有生存期的。在连接生存期内,收发两端可以进行不等的一次或多次通信。每次通信都要经过通信联络和拆除通信联络两个过程。这种建立起来的数据收发关系就叫做数据链路。而在物理媒体上传输的数据难免受到各种不可靠因素的影响而产生差错,为了弥补物理层上的不足,为上层提供无差错的数据传输,就要能对数据进行检错和纠错。链路层应具备如下功能:
- 链路连接的建立,拆除和分离
- 差错检测和修复。还有链路标识,流量控制等等。
独立的链路产品中最常见的是网卡,网桥也是链路产品。
3.网络层
当数据终端增多时。他们之间有中继设备相连,此时会出现一台终端要求不只是与唯一的一台而是能和多台终端通信的情况,这就产生了把任意两台数据终端设备的数据链接起来的问题,也就是路由或者叫寻址。另外,当一条物理信道建立之后,被一对用户使用,往往有许多空闲时间被浪费掉。人们自然会希望让多对用户公用一条链路,为解决这一问题就出现了逻辑信道技术和虚拟电路技术。
4.传输层
传输层有一个既存事实,即世界上各种通信子网在性能上存在着很大差异。例如电话交换网,分组交换网,公用数据交换网,局域网等通信子网都可以互连,但他们提供的吞吐量,传输速率,数据演出通信费用各不相同。对于会话层来说,却要求有一性能恒定的界面。传输层就是承担了这一功能。
5.会话层
会话层是会话单位的控制层,其主要功能是按照在应用进程之间约定的原则,按照正确的顺序收,法数据,进行各种形态的会话。会话层规定了会话服务用户间会话连接的建立和拆除规程以及数据传送规程。
会话层提供的服务是应用建立和维持会话,并能使会话获得同步。会话层使用检验点可使通过会话在通信失效时从检验点恢复通信。这种能力对于传送大的文件极为重要。
6.表示层
表示层主要功能时把应用层提供的信息变换为能够共同理解的形式,提供字符代码、数据格式、控制信息格式、加密等的统一表示。表示层的作用之一是为异种通信提供异种公共语言,以便能够进行互操作。这种类型的服务之所以需要,是因为不同的计算机体系结构使用的数据表示法不同。例如,IBM主机使用EBCDIC编码,而大多数PC机使用ASCII吗。在这种情况下,便需要表示层来完成这种转换。
7.应用层
应用层向应用程序提供服务,这些服务按其向应用程序提供的特性分组,并成为服务元素。有些可为多种应用程序共同使用,有些则为较少的一类应用程序使用。应用层是开放系统的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程互相通信的同时,完成一系列业务处理所需的服务。
总结
OSI七层结构作为网络编程的基础,是我们必须要理解的知识,这边文章主要介绍OSI七层模型的各层作用来帮助大家理解七层模型。后续会编写TCP的三次握手和四次挥手,以及netty的相关知识。