目录
1.OSI介绍
OSI 七层模型通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯,因此其最主要的功能就是帮助不同类型的主机实现数据传输。
2.OSI与TCP/IP对应层次
3.OSI各层功能与应用
层次 | 协议数据单元 | 如何寻址 | 作用 | 例子 |
应用层 | APDU | 端口 | 用户接口,提供应用程序间通信 | telnet、http |
表示层 | PPDU | 端口 | 数据格式化,加密解密等 | ASCII、JPEG、EPCDIC |
会话层 | SPDU | 端口 | 建立维护管理会话连接,保证不同应用间的数据区分 | operating system、 Application access、 Scheduling |
传输层 | 数据段segment | 端口 | 建立PC端到端连接,可靠或不可靠的数据传输,数据重传前的错误纠正 | TCP、UDP、SPX |
网络层 | 数据包packet | IP地址 | 寻址和路由选择 | |
数据链路层 | 数据帧frame | MAC地址 | 提供介质访问。链路管理等,错误发现但不能纠正 | 802.3、802.2、HDLC |
物理层 | 比特流bit | 端口 | 比特流传输 | EIA/TIA-232、v.35 |
3.1应用层(Application Layer)
用户接口
应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系。
实现各种服务
该层具有的各种应用程序可以完成和实现用户请求的各种服务。
应用层为用户提供的服务和协议
文件服务、目录服务、文件传输服务(FTP)、远程登录服务(Telnet)、电子邮件服务(E-mail)、打印服务、安全服务、网络管理服务、数据库服务等。
3.2表示层(Presentation Layer)
保证一个 系统应用层发出的信息能被另一个 系统的应用层读出。如有必要,表示层用一种通用的数据表示格式在多种数据表示格式之间进行转换,它包括数据格式变换、数据加密与解密、数据压缩与恢复等功能。
OSI环境的底5层提供透明的数据传输,应用层负责处理语义,而表示层则负责处理语法。
3.3会话层(Session Layer)
实现建立、管理和终止应用程序进程之间的会话和数据交换,这种会话关系是由两个或者多个表示层实体之间的对话构成的
3.4传输层(Transport Layer)
1.功能
传输层是通信子网和资源子网的接口和桥梁,起到承上启下的作用。向用户提供无差错可靠的端到端的服务,提供端到端的差错回复和流量控制,保证报文的正确传输。他向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。
2.传输连接管理与处理传输差错
提供建立、维护和拆除传输连接的功能,传输层在网络层的基础上为高层提供“面向连接(虚电路)”和“面向无连接(数据报)”的两种服务。提供数据传输差错控制(校验和恢复)和流量控制。在提供“面向连接”服务时,通过这一层传输的数据将由目标设备确认,如果在指定的时间内未收到确认信息,数据将被重发。传输层与网络层部分服务有重叠交叉,如何平衡取决于两者的功能划分。
应用进程间的逻辑通信
3.5网络层(Network Layer)
1.功能
通过IP寻址来建立两个节点之间的连接,为源端的传输层送来的报文进行分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的传输层。通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。该层控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接。
2)逻辑地址寻址
数据链路层的物理地址只是解决了同一网络内节点之间的通信,而网络层主要解决不同子网间的通信。
3)路由功能
一般两个节点之间都会有多条路径选择,这是存在选择最佳路由的问题。路由选择根据一定的原则和算法选出一条去往目的地址的最佳路径。
4)拥塞控制
当到达通信子网时,部分的分组数高达一定程度,网络来不及处理,就可能导致这部分甚至整个网络的性能下降
5)流量控制
用来保证发送端不会以高于接受者能承受的速率传输数据,一般涉及接受者向发送者的反馈。与数据链路层流量控制不同的是,前者控制的是网络相邻节点间的流量,后者控制的是从源节点到目的节点间的流量。他的目的在于防止阻塞,并进行差错检测。
3.6数据链路层(Data Link Layer)
1.功能
该层负责建立和管理节点间的链路。通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路,保证点对点可靠的数据传输。
在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。
2.MAC与LLC子层
该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。
MAC子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制;
LLC子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。
数据链路层的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层;并且,还负责处理接收端发回的确认帧的信息,以便提供可靠的数据传输。
3.7物理层(Physical Layer)
1.功能
利用传输介质为数据链路层提供物理连接,实现比特流的透明传输,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。
2.物理层对通信设备和传输介质之间使用的接口规定(了解)
1)机械特性
2)电气特性
3)功能特性
4)规程特性
4.OSI模型对应的PDU
上三层 | data |
传输层 | 数据段 |
网络层 | 数据包、分组 |
数据链路层 | 数据帧 |
物理层 | 比特流 |
5.下四层如何寻址
传输层 | 端口 |
网络层中 | ip地址; |
数据链路层 | MAC地址; |
物理层 | 物理接口 |
6.TCP/IP各层的功能
6.1网络接口层
TCP/IP没有详细定义网络接口层的功能,只是指出通信主机必须采用某种协议连接到网络中,其本身也并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行连接。
6.2网际层
相当于OSI的网络层,提供的是一个可靠、无连接的数据报传递服务。该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
主要功能
(1)处理来自传输层的分组发送请求。在收到分组发送请求之后,将分组进行封装,选择发送路径,然后将其发送到相应的网络接口。
(2)处理接收的数据报。首先检查其合法性,然后进行路由选择。在接收到其他主机发送的数据报之后,检查目的地址,如需要转发,则选择发送路径,转发出去;如目的地址为本节点IP地址,则除去报头,将分组送交传输层处理。
(3)处理ICMP报文、路由、流量控制与拥塞问题。
6.3传输层
主要功能负责应用进程之间的端到端通信,设计传输层的主要目的是在网际层的源主机和目的主机的对等实体之间建立用于会话的端到端连接。保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)
6.4应用层
为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等。
7.TCP/IP模型对应的PDU
8.OSI与TCP/IP的比较
- 无论是OSI参考模型还是TCP/IP参考模型都不是完美的,都存在某些缺陷。OSI参考模型的主要问题是定义复杂、实现困难,有些同样的功能(如流最控制与差错控制等在多层重复出现,效率低下等。而TCP/IP参考模型的缺陷是网络接口层本身并不是实际的一层,每层的功能定义与其实现方法没能区分开来,从而使TCP/IP参考模型不适合于其他非TCP/P协议簇。
- 人们普遍希望网络标准化,但OSI迟迟没有成熟的网络产品。因此,OSI 参考模型与协议没有像专家们所预想的那样风靡世界。TCP/IP 参考模型与协议在Internet中经受了几十年的风风雨雨,得到了IBM、Microsoft、 Novell及Oracle等大型网络公司的支持,成为计算机网络中的主要标准体系。
- 总结两者的区别主要如下。
(1)法律上的国际标准OSI并没有得到市场的认可,非国际标准TCPIP现在获得了最广泛的应用,TCP/IP 常被称为事实上的国际标准。
(2) OSI的专家们在完成OSI标准时没有商业驱动力。
(3) OSI的协议实现起来过分复杂,且运行效率很低。
(4) OSI标准的制定周期太长,因而使得按OSI标准生产的设备无法及时进入市场。
(5) OSI的层次划分不太合理,有些功能在多个层次中重复出现。
(6) OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建模。
9.为什么OSI模型没有被网络大规模采用并应用
OSI模型过于繁杂,实现困难。OSI中的会话层和表示层几乎是空的,而数据链路层和网络层包含了太多东西。它做制定的标准和协议极其复杂且很多功能重复(如流控和差错控制)OSI参考模型更偏重理论,给实践以指导,TCP/IP参考模型更实用在OSI被ISO定为标准时,TCP/IP已经被广泛应用,已经被公认为事实上的工业标准。